![]() |
Array in externe Datei ein- und auslesen
Tagchen,
ich hab zwar schon die komplette Code-Liberary durchsucht, zu dem thema aber zumindest für meinen Verwendungszweck nichts gefunden, aber ich hoffe ihr könnt mir weiterhelfen. Ich möchte folgendes machen: Ich habe ein Array von der Größe 1-32.000 und in jeder Position des Arrays befindet sich ein Integer auch von 1-32.000. Ich möchte nun das komplette Array in eine externe Datei laden, in eine .ini oder .cfg Datei z.B. oder was natürlich am besten wäre, ne komplett neue Dateiendung verwenden damit Verwechslungen ausgeschlossen sind. Zum entsprechenden speichern in solche Datein fehlt natürlich auch das auslesen wieder ein ein neues Array. Hat da jemand vielleicht ein keines Tutorial oder ne gute Anweisung wie ich das Realisieren kann. Wichtig wäre halt auch, dass beim öffnen und beim speichern jeweils das typische Windows-Dateinfenster kommt, sodass man den Pfad und den Namen der zu speichernden bzw. zu ladenden Datei selbst angeben kann. Gruß Scharfrichter |
Re: Array in externe Datei ein- und auslesen
Erstelle dir einen eigenen Array Type und speichere diesen danach in eine Typisierten Datei.
Ich kann dir am Abend noch ein Beispiel posten, wenn bis dann nicht schon zig lösungen geposted worden sind, wovon ich aber ausgehe. grz zer00 |
Re: Array in externe Datei ein- und auslesen
Hilft mir so erstmal leider nicht wirklich weiter, hab noch nie irgendwie mit externen Datein gearbeitet.
|
Re: Array in externe Datei ein- und auslesen
Ganz einfach:
Delphi-Quellcode:
type
TMyArray = array[1..32000] of Integer; procedure Speichern; var myArray: TMyArray; f: file of TMyArray; begin // Array befüllen {...} // Array abspeichern AssignFile(f, 'C:\test.xyz'); ReWrite(f); Write(f, myArray); CloseFile(f); end; procedure Laden; var myArray: TMyArray; f: file of TMyArray; begin // Array laden AssignFile(f, 'C:\test.xyz'); Reset(f); Read(f, myArray); CloseFile(f); // irgendwas mit dem Array machen {...} end; |
Re: Array in externe Datei ein- und auslesen
Super funktioniert wunderbar und für meine Zwecke genau richtig, nur gibt es die Möglichkeit auch nen Fenster sich öffnen zu lassen, wo dann der Anwender zu Laufzeit einen Namen für die zu speicherende Datei auswählt und beim laden die Datei auch suchen kann und so mehrere Dateien eines Typs gleichzeitig bestehen können?
|
Re: Array in externe Datei ein- und auslesen
Dafür gibt es die Komponente
![]() |
Re: Array in externe Datei ein- und auslesen
Perfekt genau das brauchte ich, danke =)
|
Re: Array in externe Datei ein- und auslesen
Danke idontwantaname, ich glaube Du kannst gedankenlesen.
grz zer00 |
Re: Array in externe Datei ein- und auslesen
ich habe gerade diesen Thread gefunden, der genau mein problem beschreibt.
Ich habe es natürlich gleich ausprobiert doch er zeigt mir den fehler -> [Fehler] Unit1.pas(60): E2155 Typ 'TSchuelerFeld' benötigt Finalization - nicht im Dateityp erlaubt veilleicht kann mir ja jemand helfen
Delphi-Quellcode:
type
tSchueler = record nachname : String[25]; vorname : String[20]; stufe : Byte; klasse : string; end; TSchuelerFeld = array[1..200] of TSchueler; var Form1: TForm1; x: integer; SchuelerFeld : TSchuelerFeld; f: file of TSchuelerFeld; {array wird gefüllt ...} procedure TForm1.ButtonespeichernClick(Sender: TObject); begin {Array abspeichern} AssignFile(f, 'C:\Sportunterricht.xyz'); ReWrite(f); Write(f, SchuelerFeld); CloseFile(f); end; procedure TForm1.ButtonladenClick(Sender: TObject); begin {Array laden} AssignFile(f, 'C:\Sportunterricht.xyz'); Reset(f); Read(f, SchuelerFeld); CloseFile(f); end; |
Re: Array in externe Datei ein- und auslesen
Das Problem wird
Delphi-Quellcode:
sein. Dies ist ein String mit variabler Länge, was für typisierte Dateien nicht geht.
klasse : string;
Ändere es z.B. in
Delphi-Quellcode:
klasse : string[255];
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz