kleines TStringList Problem



  • Servus Liebe Gemeinde,

    Ich hab ein kleines Problem mit der TStringList. Ich hab eine ASCII Datei in der tonnenweise Messreihen stehen. Die einzelnen Werte sind durch '\t' (Tab) voneinander getrennt.
    So eine Zeile sieht in etwa so aus

    500'\t'75'\t'< 3500'\t'18'\t'39'\t'60'\t'160'\t'nicht zulässig'\n'
    

    Nun meine Frage, weil Ich mal wieder total aufm Schlauch stehe und ausserdem mein Abend ein bissl lang war. 😉 Wie komm ich am einfachsten an die einzelnen Werte innerhalb der einzelnen Zeile?

    Für eure Mühen bedanke ich mich schon mal im voraus..... 🙂



  • Hallo

    Mittels AnsiString::Pos nach

    '\t'
    

    suchen und alles dazwischen sind deine Werte.

    bis bald
    akari



  • Bei einer TStringList könnte er doch '\t' als Delimiter eintragen und dann über DelimitedText automatisch trennen.



  • Hallo

    Ah ich vergesse immer diese Neuen Sachen die nicht in meinen BCB5 drin sind 😃

    bis bald
    akari



  • Braunstein schrieb:

    Bei einer TStringList könnte er doch '\t' als Delimiter eintragen und dann über DelimitedText automatisch trennen.

    wobei zu beachten ist, daß DelimitedText zusätzlich auch noch bei den Leerzeichen trennt und außerdem der Delimiter nur ein Zeichen sein darf, also nur \t (im Quelltext wird zwar '\t' geschrieben, aber nur \t wird verarbeitet)

    eventuell ist es hier besser mit StringReplace zu arbeiten, einfach alle "'\t'" durch "\r\n" ersetzen und dann den String der Eigenschaft Text der StringList zuweisen und schon hat man alles Zeilenweise



  • Danke Jungs und Mädels!!!!! Das wars was ich gesucht hatte......

    Vielen Dank für den geistigen Anschubser 😉

    MfG
    der_ric



  • Linnea schrieb:

    wobei zu beachten ist, daß DelimitedText zusätzlich auch noch bei den Leerzeichen trennt

    Dagegen hilft die Eigenschaft "StrictDelimiter" - zumindest ab BCB 2006

    Gruß

    Alexander


Anmelden zum Antworten