Zur allergrössten Not mit 2 Stringgrids arbeiten.
Beide mit Loadfromcsvfile füllen und dann den Inhalt des 2. Grids in das
1. Grid kopieren/hinzufügen.
BB
Dynamisches Array oder StringGrid
Re: Dynamisches Array oder StringGrid
Nach allen Non-Gui-Optionen, die hier beschreiben wurden, erstaunt mich diese Antwort jetzt schon ein wenig.BoraBora hat geschrieben: Mi 29. Jun 2022, 14:42 Zur allergrössten Not mit 2 Stringgrids arbeiten.
Beide mit Loadfromcsvfile füllen und dann den Inhalt des 2. Grids in das
1. Grid kopieren/hinzufügen.
- BoraBora
- Beiträge: 50
- Registriert: So 11. Apr 2021, 16:00
- OS, Lazarus, FPC: FPC 3..2.2, L 2.2.0 , Linux Mint, WIN 10&11, Android,
- CPU-Target: xxBit
Re: Dynamisches Array oder StringGrid
"zur allergrössten Not" = fast and dirty.
Dass das weder elegant, noch im Sinne von NON-GUI ist steht auf einem anderen Blatt.
BB
Dass das weder elegant, noch im Sinne von NON-GUI ist steht auf einem anderen Blatt.
BB
Re: Dynamisches Array oder StringGrid
Habe gerade den wiki-Artikel aktualisiert und den Hinweis auf CCR deutlich zurückgesetzt (weglassen kann man ihn meiner Meinung nach nicht, weil manche Linux-Leute immer noch mit einem FPC aus der Zeit vor v3 unterwegs sind). Habe mir auch erlaubt, theos Beispiel in leicht modifizierter Form einzubauen, denn das im Artikel gezeigte Code-Beispiel ist zwar sehr gut, aber für den Normal-User abschreckend.af0815 hat geschrieben: Mi 29. Jun 2022, 10:41 Der Grund, das Paket ist im fpc enthalten und zwar unter fpcsrc/packages/fcl-base/src/csvdocument.pas .
Der Artikel in der Wiki https://wiki.freepascal.org/CsvDocument dürfte nicht mehr ganz taufrisch sein, da dort als Ort noch das Lazarus-CCR angegeben ist und noch nicht, das es auch im fpc enthalten ist.
Der Disclaimer, dass der Artikel "out-dated" sei, wurde entfernt.
Re: Dynamisches Array oder StringGrid
Das kann schon sein. Aber wieso soll ich mir zum Lesen einer Wald-und-Wiesen-Zahlenkolonne über 1000 zusätzliche Zeilen Code für alle möglichen Sonderfälle und eine Abhängigkeit von einem Autor, der nicht mehr erreichbar ist (*), mit ins Projekt ziehen, wenn es mit einer einfachen StringList, die wohl in jedem Projekt vorkommt, bei kaum höherem Aufwand auch geht? Wenn jemand mit einer StringList umgehen kann, wird sich die Frage, warum das erste Dokument beim Einlesen eines zweiten überschrieben wird, gar nicht stellen. Bei einer Black-Box-Lösung a la CSVDocument schon eher.theo hat geschrieben: Di 28. Jun 2022, 14:19Das sehe ich nicht so. TCSVDocument ist eine saubere Lösung ohne wenn-und-aber, mit einem sehr vertretbaren Overhead.wp_xyz hat geschrieben: Di 28. Jun 2022, 13:35 Absolut! Aber auch TCSVDocument wäre mir zuviel Aufwand und Overhead, solange die Datei keine problematischen Fälle wie Zeilenumbruch oder Anführungs- oder Spaltentrennzeichen im Zell-Text o.ä. enthält. Für Quick-and-dirty reichen ein paar Zeilen mit TStringList. Ungetestet:
Was dabei der "Aufwand" sein soll, erschliesst sich mir nicht. Einfacher geht's doch nicht?
Man muss heute auf einem PC ja nun wirklich nicht jedes Byte mehr einzeln zählen, sonst kommt man nirgends hin.
Auf gewissen Microcontrollern mag das noch sein.
(*) Ich gebe zu, dass CSVDocument jetzt nicht gerade extrem komplizierten Code enthält, so dass wahrscheinlich jeder FPC-Entwickler Support leisten kann. Das Problem ist nur: Fühlt sich jemand zuständig? Wenn ich die vielen Leichen in FPC/Lazarus sehe, erscheint mir diese Frage berechtigt.
- stoffel_hessen
- Beiträge: 66
- Registriert: Sa 18. Jun 2022, 12:27
- OS, Lazarus, FPC: Windows 11 (Version 2.2.2, FPC 3.2.2)
- CPU-Target: x86 64Bit
- Wohnort: Riedstadt
Re: Dynamisches Array oder StringGrid
Ich bin kein gelernter Entwickler und programmiere auch nur gelegentlich, habe mir alles selbst angeeignet.wp_xyz hat geschrieben: Mi 29. Jun 2022, 17:06 Wenn jemand mit einer StringList umgehen kann, wird sich die Frage, warum das erste Dokument beim Einlesen eines zweiten überschrieben wird, gar nicht stellen. Bei einer Black-Box-Lösung a la CSVDocument schon eher.
Ich habe es nun so gelöst, auch wenn ihr mich hierfür wahrscheinlich steinigt (kleine Steine, goße Steine, Kieselsteine, ist hier Weibsvolk anwesend?

Code: Alles auswählen
Files_zusammenfuehren := TStringList.Create;
Files_zusammenfuehren.LoadFromFile(ExtractFilePath(ParamStr( 0 )) + '\' + Datei1);
Zwischenspeicher_Load := Files_zusammenfuehren.Text;
Files_zusammenfuehren.LoadFromFile(ExtractFilePath(ParamStr( 0 )) + '\' + Datei2);
Files_zusammenfuehren.text := Files_zusammenfuehren.Text + Zwischenspeicher_Load;
Files_zusammenfuehren.SaveToFile(GetTempDir + 'Datei1_und_Datei2.txt');
Files_zusammenfuehren.Free;
SG_VerfuegbareCorePorts.LoadFromCSVFile(GetTempDir + 'Datei1_und_Datei2.txt', ';');
DeleteFile (GetTempDir + 'Datei1_und_Datei2.txt');
Außerdem muss ich dann das Ganze Projekt umbauen, das werde ich mir anschauen, wenn ich mal viel Zeit und Muse habe.
Gruß Christopher
Re: Dynamisches Array oder StringGrid
Ach komm, wp_xyz, jetzt wird es aber langsam zu so einem Alphatierchen Ding.
Ich weiss, dass du weisst, dass ich recht habe.

Ich weiss, dass du weisst, dass ich recht habe.
