Autor |
Beitrag |
t3h
      
Beiträge: 20
|
Verfasst: So 14.10.07 15:38
Hallo geschätzte Community ich möchte in ein Programm eine .txt Datei einlesen der Aufbau der .txt-Datei sieht so aus:
Quelltext 1: 2: 3: 4:
| Wert1 | ZugehörigerWert1 Wert2 | ZugehörigerWert2 ... Wert(n)| ZugehörigerWert(n) |
Ich hab einen eigenen Variablen-Typ geschrieben:
Delphi-Quelltext 1: 2: 3: 4: 5:
| type TDaten = record AbfrageWert: string; ZugehörigerWert: string; end; |
und habe einen Array der aus diesem Variablen-Typ besteht
Delphi-Quelltext 1: 2:
| var DatenDynArray : Array of TDaten; |
jetzt möchte ich zB DatenDynArray[1].AbfrageWert := Wert1 zuweisen,
später dann die "AbfrageWerte" in eine Liste schreiben so das wenn man draufklickt den "ZugehörigenWert" angezeigt bekommt. Später soll noch eine SuFu hinzu kommen und man soll zufällig Werte herraussuchen können wie krieg ich das jetzt am besten hin? Wenn ihr QuellCode postet bitte kommentieren da ich nicht besonders erfahren im Umgang mit Delphi bin.
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: So 14.10.07 15:49
Hi,
Datei auslesen 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure ReadFile(FileName: String); var TextFile: Text; S: String; begin Assign(TextFile,FileName); ReSet(TextFile); while not EoF(TextFile) do begin ReadLn(TextFile,S); end; CloseFile(TextFile); end; |
Xion
//EDIT: guck dich mal nach TIniFile um, damit wäre das ganze wesentlich einfacher 
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
t3h 
      
Beiträge: 20
|
Verfasst: So 14.10.07 16:05
Titel: Ich weiss
Leider hab ich genau mit dem aufteilen bzw dem schreiben in den Array ein Problem 
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: So 14.10.07 17:00
das sind eigentlich nur einfache String-Operationen
Datei auslesen 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure ReadFile(FileName: String); var TextFile: Text; S: String; begin Assign(TextFile,FileName); ReSet(TextFile); while not EoF(TextFile) do begin ReadLn(TextFile,S); SetLength(Arr,Length(Arr)+1); Arr[High(Arr)].Wert:=Copy(S,1,Pos(' | ',S)-1); Arr[High(Arr)].Wert2:=Copy(S,Pos(' | ',S)+Length(' | '),Length(S)); end; CloseFile(TextFile); end; |
Xion
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
t3h 
      
Beiträge: 20
|
Verfasst: So 14.10.07 17:14
ah ich kannte den Pos befehl nicht, vielen dank
|
|
t3h 
      
Beiträge: 20
|
Verfasst: So 14.10.07 17:44
Titel: mhm
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure ReadFile(FileName: String); var TextFile: Text; S: String; begin Assign(TextFile,FileName); ReSet(TextFile); while not EoF(TextFile) do begin ReadLn(TextFile,S); SetLength (VokabelListe,Length(VokabelListe)+1); VokabelListe[High(VokabelListe)].Fremdwort:=Copy(S,1,Pos(' | ',S)-1); VokabelListe[High(VokabelListe)].Bedeutung:=Copy(S,Pos(' | ',S)+Length(' |'),Length(S)); end; CloseFile(TextFile); end; |
aus irgendeinem grund schreibt er nix in den array?
|
|
Xion
      

Beiträge: 1952
Erhaltene Danke: 128
Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
|
Verfasst: So 14.10.07 17:52
das ist komisch...ruft er die while schleife nie auf?
_________________ a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
|
|
t3h 
      
Beiträge: 20
|
Verfasst: So 14.10.07 18:07
Titel: fehler
Tut mir leid war ein Fehler in der Datei funktioniert soweit super vielen dank, kann mir jetzt noch vielleicht einer sagen wie das event heisst wenn man ein ListBox eintrag makiert bzw man den "Index" der markierten datei herrausfinden kann?
|
|
|