![]() |
Daten in Datei schreiben.
Wie kann man so Daten in einer Datei schreiben und wieder auslesen.
Date1 Date2 Date3 Date4 Date5 Date6 Also wie in einer Tabelle. |
Re: Daten in Datei schreiben.
Zitat:
ich würde vorschlagen, das ganze mit Assignfile, Readln, Writeln etc.. zu machen. Such mal in der OH bei Delphi, das ist ein Beispiel dazu. Dazu überlegst Du dir, wie Du Date1 Date2 etc trennst (meinetwegen mit einem ";". Beim auslesen suchst Du dir dann das TRennzeichen und liest entsprechend die Daten aus. |
Re: Daten in Datei schreiben.
Wenn die Tabelle rechteckig ist [immer die gleiche Anzahl von Einträgen pro Zeile] könntest du dir ein eigenes Datenformat überlegen:
Delphi-Quellcode:
So sparst du dir die Trennzeichen und ein aufwändiges rumgespiele mit pos/copy/delete. Wenn die Tabelle nicht rechteckig ist, kannst du ja einfach eine '0' oder '_' eintragen. Diese Dateien kannst du dann auch recht einfach mit einem normalen Editor anschauen und sie überprüfen.
Tabelle:
1 2 3 a b c Deine Datei: 2 //Anzahl der Spalten 3 //Anzahl der Einträge pro Spalte 1 2 3 a b c |
Re: Daten in Datei schreiben.
Hi,
z.B. Text kännte man doch eigentlich nehmen?! |
Re: Daten in Datei schreiben.
Vielleicht reicht dir auch eine TStringList in Verbindung mit SaveToFile und LoadFromFile.
|
Re: Daten in Datei schreiben.
Ich möchte ganz einfach, Festertittel und Position, von 4 Fenstern in einer Datei schreiben. Möglichst 1 Zeile 1 Fenster. zB.
Fenster1 250 100 Fenster2 410 1255 Fenster3 45 125 ... Das schreiben bekomme ich hin, aber das lesen nicht mehr, bzw. das Auswerten (Trennen der Daten in einer Zeile). |
Re: Daten in Datei schreiben.
warum wie ne tabelle muss das der user mit notepad oder so sehen/bearbeiten können?
|
Re: Daten in Datei schreiben.
Wenns dir nur drum geht, die Fensterpostionen bei einem neuen Start wieder herzustellen, kannst du dafür auch die JvFormStorage Komponente benutzen, aus der JVCL.
|
Re: Daten in Datei schreiben.
Du kannst dafür auch einfach 'ne ini benutzen
|
Re: Daten in Datei schreiben.
machs doch mit nem tfilestream, des ists beste.
Delphi-Quellcode:
der vorteil hier ist natürlich der dasses erstens schnell ist und zweitens wenig speicherplatz braucht, für jeden integer-wert den du speicherst werden lediglich 4 byte belegt.
fs := tfilestream.create('dateiname', fmcreate);
fs.write(form1.left, sizeof(integer)); fs.write(form1.top, sizeof(integer)); fs.write(form2.left, sizeof(integer)); {usw.} fs.free; //lesen: fs := tfilestream.create('dateiname', fmOpenRead or fmShareDenyNone); fs.seek(0, soFromBeginning); //musst mal teste vielleicht isses auch beim öffnen schon an anfang gespult dann kannst des weglassen. fs.read(form1.left, sizeof(integer)); fs.read(form1.top, sizeof(integer)); fs.read(form2.left, sizeof(integer)); //ich habs net getestet, kann sein dass du so dem "form1.top" kein wert zuweisen kannst, in dem fall muss du halt: fs.read(I{<- integer-variable}, sizeof(integer)); form1.left := I; //schreiben. fs.free; (man kanns dafür nur noch mit nem hex-editor gscheit lesen) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 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