Autor Beitrag
ebs
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 213

Suse Linux 9.2, Win 98, Win NT, Win XP, Win for Workgroups, Win XP SP2, Dos 6.1
D3 Prof, D2005 PE, Delphi 2006 Prof.
BeitragVerfasst: Di 22.03.05 18:47 
Hallo!
Mein Programm muss mit extrem vielen Dateiformaten arbeiten. Diesmal habe ich folgende Frage:
So sieht die Datei aus:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
 
    0       0.00    20.0    20.0    20.0     2     203.94   602.0  1021.9   887.9     3     419.03  1059.2  1222.1  1178.9
    1       0.80    20.0    20.0    20.0     2     205.86   606.2  1024.6   891.5     3     420.94  1061.8  1223.6  1180.7
    1       1.60    20.0    20.0    20.0     2     207.77   610.4  1027.3   895.0     3     422.86  1064.5  1225.1  1182.6
    1       2.40    20.0    20.0    20.0     2     209.69   614.6  1029.9   898.6     3     424.77  1067.1  1226.6  1184.4
    1       3.20    20.0    20.0    20.0     2     211.60   618.9  1032.5   902.2     3     426.69  1069.7  1228.2  1186.3

Jede Zahl einer Reihe sollte als eigener String in einer Stringliste stehen.
Beispiel:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
zeile1[0]=0,80;
zeile1[0]=20,00;
zeile1[0]=20,00;
zeile1[0]=20,00;
zeile1[0]=3,00;
usw.

Wenn einer eine Idee hat schreib mir!
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 22.03.05 19:27 
Was spricht dagegen, die Datei in eine StringListe zu laden? Und dann das ganze zu parsen. Ein eindeutige Trennzeichen wäre dann natürlich sehr hilfreich.
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Di 22.03.05 19:45 
Das sieht aber extrem nach FixedFormat aus.
Da hilft nun wirklich ein einfaches Copy(AString, AbWelcherStelle, WievielZeichen).
Auszählen musst du das aber schon selbst.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Di 22.03.05 20:18 
Trennzeichen haben wir schon:

Zum Lesen kannst Du:
ausblenden Delphi-Quelltext
1:
Zeilendaten.CommaText := Datei[Zeilennummer];					


Zum Schreiben der Daten:

ausblenden Delphi-Quelltext
1:
Datei[Zeilennummer] := Format('%5d %7.2f %5.1f %5.1f %5.1f %5d %7.2f %5.1f %5.1f %5.1f %5d %7.2f %5.1f %5.1f %5.1f', [Var1, Var2, Var3, Var4, ...]);					


Zum Anfügen einer Neuen Zeilen einfach das Ergebnis von Format an Datei.Add übergeben:
ausblenden Delphi-Quelltext
1:
Datei.Add(Format('%5d %7.2f %5.1f %5.1f %5.1f %5d %7.2f %5.1f %5.1f %5.1f %5d %7.2f %5.1f %5.1f %5.1f', [Var1, Var2, Var3, Var4, ...]));					


Zum Veständnis würde ich dir mal die Format-Befehle empfehlen, damit kann man viel machen ^^

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.