| Autor |
Beitrag |
hibbert
      
Beiträge: 1007
WinServer2003, Win XP, Linux
D6 Pers, D05
|
Verfasst: Mo 05.04.04 21:25
Hi,
ich habe ein Record mit 2 String in eine .dat - Datei gespeichert.
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| type klasse=record name,vorname:string[255]; end; ... liste: array [1..35] of klasse; |
Nun habe ich insgesamt 20 Werte gespeichert.
Beim Programmstart sollen nun die Werte von Vorname in eine Combobox geladen werden.
Das gleiche soll mit den Werten von nachname passieren, nur in eine andere Combobox.
Das laden eines einzelnen Strings ist ja kein Problem
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| var f:file of klasse; ds:klasse; begin AssignFile(F,'11 Klasse.dat'); Reset(F); Seek(F,0); Read(F,DS); CloseFile(F); edit1.Text:=ds.vorname; edit2.Text:=ds.name; |
Doch wie bringe ich das ganze in eine schleife und wie findere ich heraus, wieviele Datensätze in dem Record gespeichert sind?
thx hibbert
Moderiert von tommie-lie: Topic verschoben
_________________ I kunnen väl svara endast ja eller nej
Om i viljen eller nej
|
|
rokdd
      
Beiträge: 329
Win XP
D6
|
Verfasst: Mo 05.04.04 21:30
hallo,
wieviele das sind ist unwichtig, denn du musst nur auf das dateiende warten. der befehl dafür ist eof
Robert
|
|
hibbert 
      
Beiträge: 1007
WinServer2003, Win XP, Linux
D6 Pers, D05
|
Verfasst: Mo 05.04.04 21:38
Ok Danke, das ist nun mein qt:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| procedure LoadKlasse(klasse:string); var f:file of klasse; ds:klasse; x:integer; begin AssignFile(F,'data\'+klasse+'.dat'); for x:=0 to 40 do begin AssignFile(F,'data\'+klasse+'.dat'); Reset(F); Seek(F,x); if eof=true then break; Read(F,DS); CloseFile(F); form1.nachname.Items.Add(ds.name); form1.vorname.Items.Add(ds.vorname); end; end; |
doch nun kommt diese "nette" meldung:
| Fehlermeldung hat folgendes geschrieben: |
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project1.exe ist eine Exception der Klasse EInOutError aufgetreten. Meldung: 'E/A-Fehler 6'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------
|
wie muss meine schleife richtig aussehen?
thx hibbert
_________________ I kunnen väl svara endast ja eller nej
Om i viljen eller nej
|
|
rokdd
      
Beiträge: 329
Win XP
D6
|
Verfasst: Mo 05.04.04 21:47
also...
deine variante:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| for x:=0 to 40 do begin AssignFile(F,'data\'+klasse+'.dat'); Reset(F); Seek(F,x); if eof=true then break; Read(F,DS); CloseFile(F); form1.nachname.Items.Add(ds.name); form1.vorname.Items.Add(ds.vorname); end; |
1. du durchläufst assign 40 mal
2. warum 40 mal?
3. du öffnest die datei 40 mal!
4. habe keine delphihilfe hier deswegen ganz grob:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| AssignFile(F,'data\'+klasse+'.dat'); Reset(F); Seek(F,x); repeat Read(F,DS); form1.nachname.Items.Add(ds.name); form1.vorname.Items.Add(ds.vorname); until(eof(F)); CloseFile(F); end; |
hoffe es funzt
robert
|
|
hibbert 
      
Beiträge: 1007
WinServer2003, Win XP, Linux
D6 Pers, D05
|
Verfasst: Mo 05.04.04 22:13
| rokdd hat folgendes geschrieben: |
hoffe es funzt
|
Jo es funzt so gut, dass ich damit arbeiten werde
Nun mal im ernst:
Es funzt so, wie ich mir das vorgestellt habe.
Danke für deine Hilfe.
Hibbert
_________________ I kunnen väl svara endast ja eller nej
Om i viljen eller nej
|
|
rokdd
      
Beiträge: 329
Win XP
D6
|
Verfasst: Mo 05.04.04 22:18
freut mich! hoffe du hast deine fehler auch verstanden und nicht nur abgetippt...
Gute nacht!
robert
|
|
hibbert 
      
Beiträge: 1007
WinServer2003, Win XP, Linux
D6 Pers, D05
|
Verfasst: Mo 05.04.04 22:22
| rokdd hat folgendes geschrieben: | freut mich! hoffe du hast deine fehler auch verstanden und nicht nur abgetippt...
robert |
mhh, also ich habe den QT nicht abgetippt  ich habe ihn kopiert
Im grunde habe ich das schon verstanden, ich wusste nur nicht wie ich das machen sollte, also das mit der schleife, denn ich arbeite erst seit ein paar tagen mit records.
Hibbert
_________________ I kunnen väl svara endast ja eller nej
Om i viljen eller nej
|
|
maximus
      
Beiträge: 896
Win XP, Suse 8.1
Delphi 4/7/8 alles prof
|
Verfasst: Di 06.04.04 09:20
_________________ mfg.
mâximôv
|
|
hibbert 
      
Beiträge: 1007
WinServer2003, Win XP, Linux
D6 Pers, D05
|
Verfasst: Di 06.04.04 11:09
ok danke, das "normale" vorgehen hab ich bis jetzt noch nicht gebraucht, aber das brauche ich später betimmt nochmal
danke.
MfG hibbert
_________________ I kunnen väl svara endast ja eller nej
Om i viljen eller nej
|
|