Entwickler-Ecke

Dateizugriff - problem bei edit-feld in datei schreiben


arminho - Do 19.06.08 16:54
Titel: problem bei edit-feld in datei schreiben
hallo leute,
ich habe ein kleines problem, finde aber keine lösung trotz suche...

ich möchte einen eingegebenen Text aus Edit-Feldern in eine Datei speichern... soweit so gut, jedoch fängt er mir für jedes Edit-Feld eine neue Zeile in der Datei an. Wie kann ich angeben dass er jeweils edit1.text und edit2.text hintereinander schreiben soll statt edit2.text unten drunter?

hier der entsprechende Teil:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm3.Button1Click(Sender: TObject);
var StringList: TStringList;
begin
  StringList := TStringList.Create;
  try
    StringList.Add(edit1.text);
    StringList.Add(edit2.text);
    StringList.SaveToFile('C:\Users\Armin\Documents\Spielerdatenbank.txt');
    showmessage('Fertig');
  finally
    StringList.Free;
  end;


danke für die Hilfe


Xentar - Do 19.06.08 16:56

Indem du nur einmal StringList.Add() verwendest


arminho - Do 19.06.08 17:08

user profile iconXentar hat folgendes geschrieben:
Indem du nur einmal StringList.Add() verwendest



also so hab ich es auch schon probiert, funzt aber nicht... zu viele parameter.
muss die trennung anders aussehen (statt dem Komma)?

Delphi-Quelltext
1:
StringList.Add(edit1.text, edit2.text);                    


arminho - Do 19.06.08 17:12

okay, habs jetzt einfach mit variablen gelöst... weiß nicht ob es das praktischste ist, aber es funktioniert ;)


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TForm3.Button1Click(Sender: TObject);
var StringList: TStringList;
a: string;
b: string;
begin
  StringList := TStringList.Create;
  try
  a:= edit1.Text;
  b:= edit2.Text;
    StringList.Add(a+b);
    StringList.SaveToFile('C:\Users\Armin\Documents\Spielerdatenbank.txt');
    showmessage('Fertig');
  finally
    StringList.Free;
  end;


Xentar - Do 19.06.08 17:25

Und genau so kannst du auch direkt die beiden Edit Felder angeben - ohne Variablen.


arminho - Do 19.06.08 17:31

hast recht ja, habs vorhin versucht ging aber nicht... komisch...
jetzt gehts auch ohne variablen.
danke

wo ich jetzt ein bisschen aufm schlauch steh ist dass er mir jedes mal meinen inhalt der datei überschreibt... komme net auf den befehl für das ende der datei... also dass er die daten ans ende der datei dazu setzen soll.

stringlist.position gibt es ja nicht...


Xentar - Do 19.06.08 17:39

In deinem obigen Quellcode steht nen Komma, statt einem Plus, damit geht das nicht ja ;)

Normalerweise gilt hier ja, neue Frage neues Thema..
aber da es recht simpel ist, schmeiß ich hier noch eine Antwort rein:
Ist-Zustand:
Neue Stringliste erzeugen -> Daten reinschreiben -> speichern

Soll-Zustand:
Neue Stringliste erzeugen -> Stringliste laden -> Neue Daten hinzufügen -> speichern


arminho - Do 19.06.08 17:44

danke, ich bin ein hohlkopp... :)

hier der fertige code:



Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm3.Button1Click(Sender: TObject);
var StringList: TStringList;

begin
  StringList := TStringList.Create;
  try
    StringList.LoadFromFile('C:\Users\Armin\Documents\Spielerdatenbank.txt');
    StringList.Add(edit1.Text + ' ' + edit2.Text);
    StringList.SaveToFile('C:\Users\Armin\Documents\Spielerdatenbank.txt');
    showmessage('Fertig');
  finally
    StringList.Free;
  end;