Delphi-PRAXiS
Seite 1 von 3  1 23   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Textdatei in Stringgrid wandeln - wie geht das??? (https://www.delphipraxis.net/1918-textdatei-stringgrid-wandeln-wie-geht-das.html)

lima 30. Dez 2002 17:34


Textdatei in Stringgrid wandeln - wie geht das???
 
Hi @ll!

Hab mir grad ein kleines Proggie gemacht, daß verschiedene Daten in Tabellenform in eine Textdatei speichert.

So sieht das aus:

Name [5] Anschrift [5] Ort -> bedeutet, 5 Leerzeichen sind dazwischen
.
.
.
.
.
Name [5] Anschrift [5] Ort -> bedeutet, 5 Leerzeichen sind dazwischen

Jetzt will ich die Textdatei in einen Stringgrid laden, um mir das in dem Programm in einem Memo anzuzeigen.

Kann mir da jemand weiterhelfen???

Sebastian Nintemann 30. Dez 2002 18:02

Hallo und herzlich willkommen!

Also nun in ein StringGrid oder ein Memo, oder beides?
In ein Memo kannst du die Datei ganz leicht mit
Code:
Memo.Lines.LoadFromFile('C:\test.txt')
laden.
In ein StringGrid wirds schon schwieriger, da musst du dann den text "auseinandernehmen" :mrgreen: (sprich nach Leerzeichen als Seperatoren trennen). Unter Umständen wäre es dann wahrscheinlich einfacher du speicherst die Daten gleich in eine Ini Datei, mit der kann man komfortabel auf die Daten zugreifen. Dafür gibts auch schon jede Menge Codebeispiele hier im Forum einfach mal suchen (TIniFile, ReadString, WriteString).

Gruß, Sebastian

lima 30. Dez 2002 18:12

Jo, ich hatte mich vielleicht etwas komisch ausgedrückt. Ich will das nicht in ein Memo angezeigt bekommen, sondern in einem Stringgrid. Die Laderoutinen - damit das geladen wird - hab ich schon, aber eben das Umwandeln von dieser Textdatei in das Strunggrid fehlt mir noch. Oder ich könnte vielleicht auch versuchen die Daten gleich als Stringgrid abzuspeichern, hat da vielleicht jemand ne Idee???

So was in der Art -> nur als Beispiel

Delphi-Quellcode:
assignfile(f,'c:\text.txt');
append(f);
writeln(f,'Name'+'    '+'Anschrift'+'    '+'Ort');
closefile(f);
Nur eben als Stringgrid.

Sebastian Nintemann 30. Dez 2002 18:29

Nur mal so als Tipp, du kannst dir Arbeit ersparen wenn du die Klasse TStringList für deine Textdatei verwendest, damit kanst du sowohl einfach auf die Strings in jeder einzelnen Zeile als auch auf den Text als ganzes zugreifen, Lade und Speicherroutienen sind auch enthalten. Ich würde dir trotzdem eine Ini empfehlen, wenn du Daten in Plaintext speichern willst, das könnte dann so aussehen:

Code:
[id1]
name=Gerhard Schröder
anschrift=bundeskanzleramt
ort=berlin

[id2]
name=emma eulenschwanz
anschrift=blümchenstraße 1
ort=neustadt

[id3]
...
...
...
So könntest du direkt auf die einzelnen Daten zugreifen, ohne "auseinandernehmen". Auch das Speichern wär nicht das Problem. Wenn du dich zu einer Ini durchringen (:mrgreen:) kannst würd ich dir auch einen Beispielcode basteln.

Gruß, Sebastian

lima 30. Dez 2002 18:32

Eine INI wäre nicht das Problem. Im Endeffekt ja egal, ob ich das als INI oder als TXT abspeichere. Könntest Du mir da mal so einen BeispielCode rüberschicken???

Sebastian Nintemann 30. Dez 2002 18:36

Der Unterschied besteht lediglich in dem einfacheren (weil vorgefertigten) Zugriff auf die Datei :mrgreen:
Beispiel kommt sofort

Gruß, Sebastian

lima 30. Dez 2002 18:38

Aha, hmm - hab ein ganz kleines Problem. Wo finde ich die Komponente für die TStringlist, kann die einfach nicht finden, Delphi 7.

sakura 30. Dez 2002 18:40

Auf der zweiten Palettenseite, das 4. Icon

lima 30. Dez 2002 18:42

@sakura

Hab ich, aber das zeigt bei mir Stringgrid an. Ist das dasselbe - bin noch net der Profi????

sakura 30. Dez 2002 18:49

Oops, ich hatte StringGrid gelesen :oops: StringList ist keine Komponente. Die StringList kannst Du nur im Quelltext ansprechen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:52 Uhr.
Seite 1 von 3  1 23   

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