| Autor |
Beitrag |
PhilGo
      
Beiträge: 315
Win 98, Win Longhorn ;-)
|
Verfasst: Do 09.10.03 18:10
Moin erstmal, ich hab mal aus Testzwecken eine Dat-Datei erstellt mit 3 Zeilen in den immer was anderes steht. Nun mein Problem:
- Wie kann ich die einzelnen Zeilen auslesen?
- Wie kann ich in die Dat-Datei mehrere Zeilen speichern?
Danke im voraus.
Mfg PhilGo
_________________ Sie werden dich finden und töten... Söhne der großen Bärin!
|
|
barfuesser
      
Beiträge: 324
|
Verfasst: Do 09.10.03 18:14
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7:
| MyFile := TStringList.Create; MyFile.LoadFromFile('myfile.dat'); for i:=0 to MyFile.Count - 1 do MyFile[i] := MyFile[i] + ' ein bisschen Text'; MyFile.SaveToFile('myfile.dat'); MyFile.Free;
barfuesser |
|
|
Klabautermann
      

Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: Do 09.10.03 18:34
Hallo,
kommt immer drauf an, was du in deiner Datei sthen haben willst.
Soll es wirklich nur Text sein?
Gruß
Klabautermann
|
|
PhilGo 
      
Beiträge: 315
Win 98, Win Longhorn ;-)
|
Verfasst: Fr 10.10.03 14:29
@barfuesser: Danke erstmal für den Quelltext, daß bringt mich schon weiter.  Kann man mit der Stringlist dann auch den Text auslesen, also Delphi-Quelltext 1: 2: 3: 4:
| ... MyFile.LoadFromFile('myfile.dat'); Label1.Caption := MyFile[i].text; ... |
@Klabautermann: Kann Text, aber auch Zahlen sein. Aber warum?
Mfg PhilGo
_________________ Sie werden dich finden und töten... Söhne der großen Bärin!
|
|
barfuesser
      
Beiträge: 324
|
Verfasst: Fr 10.10.03 14:34
|
|
PhilGo 
      
Beiträge: 315
Win 98, Win Longhorn ;-)
|
Verfasst: Fr 10.10.03 14:42
Hi, fangen die Zeilen beim Index 0 oder 1 an (@barfuesser)?
Mfg PhilGo
_________________ Sie werden dich finden und töten... Söhne der großen Bärin!
|
|
Klabautermann
      

Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: Fr 10.10.03 15:05
Hallo,
| PhilGo hat folgendes geschrieben: | | @Klabautermann: Kann Text, aber auch Zahlen sein. Aber warum? |
um abschätzen zu können ob du Textdateien, Typisierte oder Untypisierte Dateien verwenden solltest.
Wenn du die Zahlen tatsächlich als Zahl und nicht als Folge von Chars abspeichern Willst kannst du nämlich keine Textdateien verwenden.
Wenn also ein Longint nur 4 Byte in der Datei einnehmen soll auch wenn da -2147483648 drinsteht (als Folge von Char währen es 11 Byte) dann musst du dir ein anderes Format aussuchen. Ob Typisiert oder untypisiert hängt davon ab, ob die Datein eine Feste Struktur (Ein Record) haben oder Beliebigsein können.
| PhilGo hat folgendes geschrieben: | | Hi, fangen die Zeilen beim Index 0 oder 1 an (@barfuesser)? |
Bei 0.
Gruß
Klabautermann
|
|
PhilGo 
      
Beiträge: 315
Win 98, Win Longhorn ;-)
|
Verfasst: So 12.10.03 15:02
Hi, also muss ich, wenn ich Text und Zahlen speichern (bzw. laden) will, eine Typisierte nehmen?
Mfg PhilGo
_________________ Sie werden dich finden und töten... Söhne der großen Bärin!
|
|
obbschtkuche
Gast
Erhaltene Danke: 1
|
Verfasst: So 12.10.03 15:46
wenn du strings speichern willst, würde ich eine untypisierte nehmen, weil es sonst probleme gibt.
Wenn du zwischendurch auch noch anderes speicherst, kommt sowieso nur eine untypisierte in frage.
|
|
Klabautermann
      

Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: Mo 13.10.03 10:49
Hi,
| PhilGo hat folgendes geschrieben: | Hi, also muss ich, wenn ich Text und Zahlen speichern (bzw. laden) will, eine Typisierte nehmen? |
also wenn du z.B. solche Strukturen Seichern willst:
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| Type tSollGespeichertWerden = packed record Name : String [50]; Schugroesse : Integer; GebTag : tDataTime; end; |
Dann solltest du Typisierte Dateinen nehmen. Also immer dann wenn es um Gleichartige Daten geht.
Wenn du soetwas speichern willst:
Delphi-Quelltext 1:
| 'Udo ist vor 8 Jahren in unsere Stadt gezogen.' |
Dann speicherst du troz der 8 keine Zahl sondern lässt diese als Zeichen. Dann sind Textdateien deine lösung.
Wenn es wilkührlich wird, deine Datei also im endeffekt so aussehen könnte:
Delphi-Quelltext 1:
| ['Hier steht eine String'][4711]['Hier noch ein String']['Hier ein Dritter String'][28.05.1996] |
Dann musst du dich mit Untypisierten Dateien beschäftigen.
Wenn du also sagst, du willst Zahlen und Text Speichern, dann kommt es drauf an, wie diese im verhältnis zueinander stehen.
Gruß
Klabautermann
|
|
PhilGo 
      
Beiträge: 315
Win 98, Win Longhorn ;-)
|
Verfasst: Do 16.10.03 11:19
Danke für eure Hilfe. Ich meinte halt Zustände von meinem Formular(wie z.Bleistift die Größe des Formulars oder die Caption des Formulars, ...) Ich wollte halt meine Daten in Dat-Datei speichern, nicht in Ini-Dateien.
Aber mit eurer Hilfe kann ich das nu machen.
Mfg PhilGo
_________________ Sie werden dich finden und töten... Söhne der großen Bärin!
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Do 16.10.03 11:24
Was spricht gegen Ini-Dateien? gerade dafür sind sie gemacht worden.
|
|
Klabautermann
      

Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: Do 16.10.03 11:25
Und natürlich kannst du INIs auch die Endung *.dat verpassen  .
Gruß
Klabautermann
|
|
PhilGo 
      
Beiträge: 315
Win 98, Win Longhorn ;-)
|
Verfasst: Do 16.10.03 12:00
@Luckie: Nichts spricht gegen Ini-Dateien, aber ich will halt meine Daten in Dat-Dateien speichern und wenn man das nicht kann, darf man doch fragen oder?
@Klabautermann: Wie kann man das den machen? Einfach nur umbenennen oder noch was anderes?
Mfg PhilGo
_________________ Sie werden dich finden und töten... Söhne der großen Bärin!
|
|
Klabautermann
      

Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: Do 16.10.03 12:18
Hallo,
| PhilGo hat folgendes geschrieben: | @Klabautermann: Wie kann man das den machen? Einfach nur umbenennen oder noch was anderes? |
einfach beim erzeugen des Objektes den gewünschten Namen angeben. Also z.B. so:
Delphi-Quelltext 1: 2: 3: 4:
| VAR INI : tMEMIniFile; begin INI := tMemIniFile.Create(ExtractFilePath(ParamStr(0)) + 'Config.dat'); |
Das legt eine INI-Datei mit den Namen Config.dat im Programmverzeichnis an.
Gruß
Klabautermann
|
|
PhilGo 
      
Beiträge: 315
Win 98, Win Longhorn ;-)
|
Verfasst: So 19.10.03 14:19
Danke, ich wusste gar nicht das das so einfach ist  .
Mfg PhilGo
_________________ Sie werden dich finden und töten... Söhne der großen Bärin!
|
|