Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Datenbank mit dynArray und Record
Herbert - Fr 27.12.02 20:24
Titel: Datenbank mit dynArray und Record
Ich habe mir eine Datenbank mit dyn.Arrays und Records geschrieben.
Wie kann ich jetzt diese mit dem Entsprechenden Dialogen diese öffnen bzw. speichern.
Würde mich über jede Hilfe freuen!
Christian S. - Sa 28.12.02 20:16
Was genau verstehst Du denn unter den "entsprechenden Dialogen"? Beschreibe doch mal genauer, was Du eigentlich machen willst!
Herbert - Sa 28.12.02 21:44
Ich möchte, dass ich, wenn ich die Datenbank speichere, ein Speicherndialog kommt. Wenn ich lade, dann der öffnen dialog. Die Datenbank habe ich geschafft zu schreiben, jetzt möchte ich aber, dass ich es öffnen und speichern kann. Nur ich weiß nicht wie :oops: :( :cry:
Keldorn - Sa 28.12.02 22:21
Hallo
hast du dir schon mal die Registerkarte Dialoge und dort Open und Savedialog angeschau?
schau in der onlinehilfe opendialog.execute nach dort ist auch ein kleines Besipiel
Mfg Frank
Christian S. - Sa 28.12.02 22:23
Ach so!
Also, zuerst einmal musst Du Dir eine Datei definieren, in der Du Dein Record speichern kannst. Also, wenn Dein Recordtyp TDaten heißt, kannst Du Dir so einen Dateitypen definieren, der diese Daten aufnehmen kann:
Quelltext
1:
| VAR datei : File of TDaten; |
Das Lesen einer Datei geht so:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| VAR daten : ARRAY OF TDaten; begin AssignFile(datei,'c:\test.dat'); {$I-} Reset(datei); {$I+} IF IOResult = 0 THEN while not EOF(datei) DO begin SetLength(daten, Length(daten)+1); ReadLn(datei,daten[High(daten)]); end; CloseFile(datei); end; |
So, das Schreiben einer Datei geht eigentlich fast genauso:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| VAR daten : ARRAY OF TDaten; i : INTEGER; begin AssignFile(datei,'c:\test.dat'); ReWrite(datei); //ACHTUNG! Bereits in der Datei vorhandene Daten //gehen verloren! IF IOResult = 0 THEN for i:=0 TO High(daten) do Write(datei,daten[i]); CloseFile(datei); end; |
Den OpenDialog und den SaveDialog zu benutzen, ist nicht schwer. Mit Execute rufst Du beide aus, diese Funktion gibt dir mit einem Boolean auch direkt zurück, ob er erfolgreich zu Ende gebracht wurde, oder ob der Benutzer abgebrochen hat. In der Eigenschaft Filename ist nach Erfolg der Dateiname zum Öffnen oder Speichern hinterlegt.
MfG,
Peter
P.S.: Die Quelltexte sind nicht getestet und ich habe das schon lange nicht mehr gemacht. Also können noch Fehler drin sein. Bei gravierenden einfach nachfragen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!