Newsgroup: it.comp.lang.delphi
Titolo: Mi sono arenato su un file CSV

Vi espongo subito il problema:
L'ambiente di lavoro e' Win98 / Delphi6 upgradato / Office 97
Prima domanda: dove trovo la documentazione dei componenti della palette
"servers" (TWordApplication, TExcelApplication eccetera)? Insieme a Delphi
non c'erano e su web si trovano solo siti "indipendenti" di sviluppatori che
sanno come funzionano, ma non danno una panoramica completa. Esiste un
riferimento su Web con documentazione ufficiale completa?
Quindi vi espongo il problema: Ho cercato di utilizzare i componenti di
Excel per aprire un file CSV, senza successo. Lo stesso file aperto
direttamente da Excel funziona, se invece uso il metodo
"TExcelApplication.Workbooks.Open", come illustrato da tutti i documenti che
ho letto, il file viene trattato come un semplice file di testo, con una
sola cella in ogni riga contenente tutti i dati virgole comprese.
Sicuramente esiste il modo di far aprire il documento ad Excel nel modo
giusto, magari e' uno di quegli "EmptyParam" di cui non conosco il
significato (e che non trovo documentato da nessuna parte)
Ultima domanda (non fondamentale): sul CD di Delphi 6 si trova anche un
driver ODBC per Interbase, ma sembra essere solo una versione trial.
Sbaglio?

 Sbaglio?
usare ODBC con ib6 avendo delphi6 non conviene.
Il bde è sul viale del tramonto.
Per ib6 puoi usare il dbexpress oppure gli IBX.
Gli accessi via ODBC sono notoriamente + lenti.
Bye
A.

 A.
Muchas gracias, y hasta la vista! :)

 quando ci sara' il tempo di farlo, si potra' eliminare ODBC.
Dipende dal DB: quale usi attualmente?
Bye
A.

 Dipende dal DB: quale usi attualmente?
Abbastanza ovviamente (e tristemente) Microsoft Ac-Cess.
L'idea sarebbe: lascio stare l'applicazione, cambio l'origine ODBC e creo il
DB su Interbase. Poi quando avro' tempo cambiero' anche l'applicazione.
Intanto mi libero di un peso.

 direttamente da Excel funziona, 
ho provato e sul mio Excel97 i file CSV vengono salvati delimitati non da 
virgole ma da punti e virgola. 
Tentando di aprire un file CSV dal VBA di Excel con
    	Application.Workbooks.Open "cartel1.csv"
il file appare per esempio così
12;;
;;2
;;44
anche con tutti i vari parametri indicati dalla guida per Open e OpenText 
tipo:
    	Application.Workbooks.Open "cartel1.csv",,,4
    	Application.Workbooks.Open "cartel1.csv",,,6,,,,,";"
    	Application.Workbooks.OpenText "cartel1.csv",,,,,,,,,,True,";"
    	Application.Workbooks.OpenText "cartel1.csv",,,,,,,True
anche se in teoria dovrebbe funzionare, in realtà non funziona ma quello che 
è peggio è che NON ESSENDO SOFTWARE OPEN SOURCE non puoi guardarci dentro 
per capire meglio dove andare a intervenire....come in tutte le cose M$ 
Per giunta scopro che il metodo Open supporta un parametro Coverter così 
descritto:
"Argomento facoltativo di tipo Variant. Specifica l'indice del primo 
convertitore di file da provare all'apertura del file. Il convertitore di 
file specificato viene provato per primo e, se non riconosce il file, 
verranno provati gli altri. L'indice del convertitore è costituito dai 
numeri di riga dei convertitori restituiti dalla proprietà FileConverters."
Peccato solo che sul mio PC
    	?UBound(Application.FileConverters) 
restituisca un misero
    	1
e
    	?Application.FileConverters (1,1)
restituisca
    	Quattro Pro per Windows (*.wb1)
Quindi la domanda è: "come fa Excel a convertire correttamente il file CSV 
quando viene aperto?"
Siccome non ho tempo di cercare su Google la risposta, ho provato ad aprire 
il file CSV con Notepad e sostituire tutti i punti e virgola in virgole.
Adesso il comando
	Application.Workbooks.Open "cartel1.csv"
fa il suo dovere.
Non so se tutto ciò ti può essere utile visto che il tuo problema era che 
non apriva correttamente i file separati da virgole.
Conclusione: sono felice di lavorare con software Open Source, com'è 
Delphi!!!!!!!!!!!!!!!!!!!
-- 
Mauro Falzari.
"Se guardi nell'abisso, anche l'abisso guarda in te."
(Friedrich Nietzsche)

 Delphi!!!!!!!!!!!!!!!!!!!
Delphi e' Open Source? Da quando?
Anche a me piacerebbe lavorare con software Open Source, ma sono ancora
troppe le cose che i clienti chiedono, nel mondo reale, che non possono
essere fatte cosi'...

 Delphi e' Open Source? Da quando?
dal momento che il 99% del codice è visionabile e/o modificabile si può 
considerare Open Source


 può considerare Open Source
Il codice delle VCL, forse...
Il codice di Delphi non mi risulta sia Open Source.
E comunque per "Open Source" io intendo un tipo di licenza, non il fatto di
poter vedere i sorgenti dopo che ho comprato il prodotto. Se fosse per
quello anche Vi$ual $tudio e' Open Source, pensa che ti danno anche i
sorgenti delle MFC (e non sono mica noccioline...)
A proposito, mi sorge spontanea la considerazione (gia' fatta un po' di
tempo fa, comunque...). Ammesso che io abbia:
- 1 Licenza Delphi 6 Enterprise.
- Sorgenti dei componenti VCL e compagnia.
- 1 Licenza Delphi 6 Personal.
E' *tecnicamente* possibile ricompilare tutti i componenti in D6 Personal e
avere un ambiente di sviluppo completo equivalente all'Enterprise?
E' ovvio che con "tecnicamente" intendo "trascurando tutti i cavilli della
licenza che ti impediscono di farlo".
Sicuramente non e' possibile usare i componenti gia' compilati,
semplicemente prendendo i files .bpl e spostandoli. Esiste un controllo
interno che riconosce i componenti come appartenenti a un'altra versione.
Pero' ricompilandoli non dovrebbe dare problemi. Non ho mai provato a farlo
e mi piacerebbe che mi rispondeste senza provare, solo dicendomi se "secondo
voi" e' possibile oppure no. Poi quando ho raccolto un po' di risposte,
provero' a farlo e a smentirvi tutti. :)

"Mauro Falzari" ha scritto nel messaggio
| > Delphi e' Open Source? Da quando?
|
| dal momento che il 99% del codice è visionabile e/o modificabile si può
| considerare Open Source
|
Se con 'codice' intendi i sorgenti della VCL, credo che tu stia sbagliando.
Tutte le unit della VCL hanno questo header (nota il copyright):
{**********************************************}
{       Borland Delphi Visual Component                          }
{  Copyright (c) 1995-2001 Borland Software Corporation }
{**********************************************}
La licenza della vers. 4 inoltre dice:
<inizio>
All Inprise libraries, source code, Redistributables and other
files remain Inprise's exclusive property.  Regardless of any
modifications that you make, you may not distribute any
files (particularly Inprise source code and other
non-executable files) except those that Inprise has expressly
designated as Redistributables.  Nothing in the License
Agreement permits you to derive the source code of files
that Inprise has provided to you in executable form only, or
to reproduce, modify, use, or distribute the source code of
such files.  You are not, of course, restricted from
distributing source code or byte code that is entirely your
own.
<fine>
Il significato mi sembra chiaro.
--
Ciao.
ACSH
[D4]
---------------------------
Chi fa da se'
fatica il doppio