Questione : Delfi: Importando la lima di CSV che ha nuova linea caratteri

Posso importare la lima di CSV utilizzando la proprietà del commatext degli stringlist, il
However, nel mio caso che i miei valori del campo inoltre hanno linea il carattere in del new esso lista dell'annotazione ended.

String di //secondo del
ajgfhjg dell'annotazione ended

di // del dell'annotazione started
abcd di c6/2 //primo„ del
" “di indirizzo " del
" del
e.g. TelNo ", “1„, prima " 2„, “abcd, di //secondo l'annotazione started
bbdggzsdh,„ non posso riconoscere la nuova linea carattere,
quindi, io non posso importare tali file.
class= > " libero " del
soluzioni >Related class= il title= " del href= " /Programming/Languages/Pascal/Delphi/Q_23215032.html di Delphi qRelatedParent analizza un csv

Risposta : Delfi: Importando la lima di CSV che ha nuova linea caratteri

@prakashmote

* Sono questo la nuova linea caratteri colonnare un singolo carattere, il CR o il LF?
* fa l'estremità di annotazioni di CSV con un doppio carattere CRLF?

=============
Se le nuove linee colonnari sono un singolo carattere ed i delimitatori record sono doppi caratteri, quindi potete fare una versione del metodo del Geert (HTTP: #32696374).

1. leggere l'intero soddisfare nella memoria (filestream.loadfromfile)
2. sostituire tutta l'estremità dei doppietti del carattere dell'annotazione con una certa stringa che non si presenta altrove nei dati. (non deve comprendere i caratteri di LF o del CR, il #D o il #A)
3. sostituire tutta la nuova linea caratteri colonnare con una stringa differente (che punto 2)
4. Disfare punto 2
5. trasferire le linee ad una struttura di dati di tstringlist, di modo che ogni linea è un articolo nel tstringlist.

Per ogni annotazione,
6. analizzare i dati colonnari
7. per ogni colonna analizzata, disfare punto 3, ristabilente la nuova linea caratteri.
8. aggiungere l'annotazione alla base di dati.

Note:
* potreste saltare punto 7 e fare il rimontaggio dopo che le file sono nella base di dati.
* poiché i dati colonnari contengono i virgole, non potrete usare la caratteristica del testo delimitata tstringlist per fare l'analisi.
Altre soluzioni  
 
programming4us programming4us