Mi correggo... avevo capito male... non hanno ancora risolto...
In realtà avevano convertito un file lavorando un po' con perl e un po'
con sed... in passaggi successivi che non riescono ancora ad accodare
in uno script.

Quindi siamo ancora in corsa... :-)



Emanuele ha scritto:
..zot...

Beh, ad ogni modo prova a vedere se il codice nel txt in allegato fa quello che ti serve. A me sembra di sì.

Si, ma precisando meglio quanto dicevo, fa "quasi" tutto.  :-)

Nel senso che la macro funziona egregiamente, legge e scrive
perfettamente... ma rimane da chiarire come deve elaborare la
slineaDaScrivere.... ovvero quello che dicevi è racchiuso nel ciclo fi
while....

La questione (già nell'input) è complessa, più di quanto ti avevo
accennato...

Avrei bisogno di capire alcune cose per tentare di metterci mano...
perché questa parte del codice non fa esattamente quello che servirebbe.
Adesso mi rifunziona xray e sto guardando bene le proprietà e i
metidi... ma quel Loop While Not messo in quel modo in forma contratta
mi sta facendo venire il mal di testa...



Do While Not oInputStream.IsEOF sLineaDaScrivere = "" Do sLineaLetta
= oInputStream.ReadLine sLineaDaScrivere = sLineaDaScrivere & "@" &
right(sLineaLetta, len(sLineaLetta) - 2) Loop While Not
(Left(sLineaLetta, 2) = "@V")

oOutputStream.WriteString(sLineaDaScrivere & sCRLF) Loop
(Ovviamente qui è ancora più criptico... ma anche prelevandolo dall'allegato lo capisco poco...)


Potresti mettere questa parte del codice in una forma più "didattica" ?

Ti ripeto (cercando di essere più chiaro) cosa andrebbe fatto:

Il file di input è un database con un campo per riga,
e ogni riga ha un codice all'inizio che consente di identificare il Campo.
Il codice è composto da una @ seguita da lettere (es @G), che consente
di identificare il campo.
Il codice @V identifica l'inizio di un nuovo record.

esempio della struttura:
@V campo1_codice
@C campo2_descrizione
@D campo3_prezzo

esempio del file di input:
@V A.1.1
@C Patate
@D 3,00 €
@V A.1.2
@C Limoni
@D 2,00 €
@V A.1.3
@C sardine
@D 8,50 €
@V A.2.1
@ etc....


Lo scopo è quello di trasformare il file di input in un file.csv, dove
ci sia un record per riga... e i codici siano ridotti al solo @ che si userà come delimitatore di campo.

Esempio del file di Output:

@ A.1.1 @ Patate @ 3,00 €
@ A.1.2 @ Limoni @ 2,00 €
@ A.1.3 @ sardine @ 8,50 €
@ A.2.1 @ etc....


Concludendo potresti risistemarmi il "while" sopra in modo "didattico" e in modo che faccia queste cose?

grazie Emanuele per la tua disponibilità
e non farti fretta..anche se ho detto che siamo in
corsa... :-)

Ciao

Bart

PS
In realtà la cosa è un pochino più complicata... perché ci sono delle righe di input con codice @; che contengono commenti... e non so ancora come giocarmeli... ma l'ultimo record di input è esattamente:
@; fine dl file PWE
ed è comodissimo per individuare la fine del file... e credo sia utile...
Poi all'interno di alcuni campi ci sono dei caratteri | (ASCI 124) che l'importazione in CSV interpreta come separatori di campo...

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Rispondere a