Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Text (ASCII) Datei (https://www.delphipraxis.net/60316-text-ascii-datei.html)

jo1234 5. Jan 2006 11:58

Re: Text (ASCII) Datei
 
@mkinzler

Hallo

ich bräuchte nochmals Deine Hilfe:

Es kommt bei der Ausführung der Zeile

sl2.ValueFromIndex[0] := sl1.ValueFromIndex[2];

die Fehlermeldung "Listenindex überschreitet das Maximum(0)"

Was kann ich hier tun?

Danke!!

Klaus01 5. Jan 2006 12:05

Re: Text (ASCII) Datei
 
Kann es sein, daß sl2 nach dem create noch keinen String auf Indexposition 0 liegen hat?
sl2[0] := sl1.ValueFromIndex[2];

könnte vielleicht besser sein.

Grüße
Klaus

mkinzler 5. Jan 2006 12:08

Re: Text (ASCII) Datei
 
Ersetze die Zeile
Delphi-Quellcode:
sl2.DelimitedText := '';
durch
Delphi-Quellcode:
sl2.DelimitedText := ';;;;;;';
oder
benzutze
Delphi-Quellcode:
 sl2.Add(  sl1.ValueFromIndex[2]);
usw.

Problem liegt daran das durch das Setzen das Textes auf '' die Anzahl der Einträge der Stringliste auf 0 gesetzt wird.

mkinzler 5. Jan 2006 12:11

Re: Text (ASCII) Datei
 
Du kannst natürlich das Ganze auch vereinfachen auf die 2. Strinliste sl2 verzichten und den String s2 direkt setzten mit
Delphi-Quellcode:
 s2 := sl1.ValueFromIndex[2] + ';'+sl1.ValueFromIndex[1]+';'+ ...

Catbytes 5. Jan 2006 12:27

Re: Text (ASCII) Datei
 
Zitat:

Zitat von markusj
Hallo @ all

Ich denke, hier könnte man auch einfach mit einem Stream arbeiten, der Zeichenweise nach einem " " sucht und es durch ein ";" ersetzt ...

Das war auch meine erste Idee - bis mir als Straßenname z.B. "Am Bahnhof" oder sowas einfiel... :-/

Oder als Stadtname "Frankfurt am Main" etc...

Der Urheber der "Urdatei" hat sich keine großen Gedanken über die weitere Verarbeitung gemacht :-(

jo1234 5. Jan 2006 14:39

Re: Text (ASCII) Datei
 
@All

Der Urheber der "Urdatei" hat sich tatsächl. keine großen Gedanken gemacht.
Ich muß jetzt aus der Exportdatei (Urdatei) eines alten Warenwirtschaftsprogrammes
ein File erstellen, das die Datev-Buchhaltung als ASCII-Datei importieren kann.
In der Exportdatei sind nur Leerzeichen als Trenner zugelassen (warum auch immer).

Da aber manchmal zwischen zwei Felder kein Trennzeichen (Leerzeichen) ist, habe ich es doch
mit readln,copy,writeln realisiert, da ich hier die Position und die Länge angeben kann.
Es funktioniert soweit auch ganz gut.
Ich kann somit auch die Problematiik von @Catbytes umgehen ('Am Bahnhof').

Besten Dank nochmals für die super Hilfe.
Ich werde dem Forum treu bleiben.

Reiner


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:58 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz