Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Daten in Datei schreiben. (https://www.delphipraxis.net/39188-daten-datei-schreiben.html)

smart 30. Jan 2005 08:47


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.

ereetzer 30. Jan 2005 09:35

Re: Daten in Datei schreiben.
 
Zitat:

Zitat von smart
Wie kann man so Daten in einer Datei schreiben und wieder auslesen.

Date1 Date2 Date3
Date4 Date5 Date6

Also wie in einer Tabelle.

Hallo,

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.

Nikolas 30. Jan 2005 09:47

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:
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
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.

Nils_13 30. Jan 2005 10:01

Re: Daten in Datei schreiben.
 
Hi,

z.B. Text kännte man doch eigentlich nehmen?!

jim_raynor 30. Jan 2005 10:14

Re: Daten in Datei schreiben.
 
Vielleicht reicht dir auch eine TStringList in Verbindung mit SaveToFile und LoadFromFile.

smart 30. Jan 2005 10:35

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).

edosoft 30. Jan 2005 10:45

Re: Daten in Datei schreiben.
 
warum wie ne tabelle muss das der user mit notepad oder so sehen/bearbeiten können?

Jelly 30. Jan 2005 10:49

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.

Hador 30. Jan 2005 10:55

Re: Daten in Datei schreiben.
 
Du kannst dafür auch einfach 'ne ini benutzen

edosoft 30. Jan 2005 11:00

Re: Daten in Datei schreiben.
 
machs doch mit nem tfilestream, des ists beste.

Delphi-Quellcode:
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;
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.
(man kanns dafür nur noch mit nem hex-editor gscheit lesen)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:12 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz