Hallo,
ich möchte mit Delphi aus der Datei ‚Einstellungen.SET‘ lesen.
Die Datei hat folgenden Text:
***
Name=Maier
Vorname=Hans Joachim
***
Es soll dann im fenster oben (form1.caption) ‚Guten Tag Hans Joachim Maier‘ stehen.
Ferner gibt es den Button ‚Setup‘, der Form2 öffnet. Hier hat man das Feld ‚editname‘ und ‚editvorname‘ (beide Tedit) und den Button ‚Speichern‘.
Beim klick auf den Button soll in ‚Einstellungen.SET‘ geschrieben werden:
Hinter ‚Name=‘ soll editname.text sthen und hinter ‚Vorname=‘ soll editforname.text stehen.
Wie kann ich auf die Datei ‚Einstellungen.SET‘ zugreifen? (Liegt im selbenordner wie meine exe Datei)
Hallo,
***
Name=Maier
Vorname=Hans Joachim
***
Ferner gibt es den Button ‚Setup‘, der Form2 öffnet. Hier hat
man das Feld ‚editname‘ und ‚editvorname‘ (beide Tedit) und
den Button ‚Speichern‘.
Beim klick auf den Button soll in ‚Einstellungen.SET‘
geschrieben werden:
Hinter ‚Name=‘ soll editname.text sthen und hinter ‚Vorname=‘
soll editforname.text stehen.
Wie kann ich auf die Datei ‚Einstellungen.SET‘ zugreifen?
(Liegt im selbenordner wie meine exe Datei)
das ist ein einfacher Dateizugriff. Du öffnest die Datei und schreibst was rein. Wenn die Datei bereits existiert, so wird sie überschrieben.
procedure TForm1.MyButtonClick(Sender: TObject);
var
Datei: TextFile;
begin
AssignFile(Datei, ExtractFilePath(Application.ExeName) + 'Einstellungen.SET');
Rewrite(Datei);
try
WriteLn(Datei, 'Name=' + 'editname.text);
WriteLn(Datei, 'Vorname=' + 'editvorname.text);
finally
CloseFile(Datei);
end;
end;
Für Dateien, in denen Infos in der Art „X=Y“ steht, kann man aber auch die Objekte TIniFile oder TStringList nehmen.
Und jetzt verrate deiner Lehrerin nicht, dass du das von mir hast und mach deine Hausaufgaben nächstes mal selber
)
Gruss, Niels
Und jetzt verrate deiner Lehrerin nicht, dass du das von mir
hast und mach deine Hausaufgaben nächstes mal selber
)
1.Hab ich einen Informatik Lehrer und keine Lehrerin.
2.Hab ich ihn gefragt, wie man das macht und er wußtes selber nicht.
3. Vielen dank für die Hilfe!
Gruß Thomas
1.Hab ich einen Informatik Lehrer und keine Lehrerin.
aber der unterrichtet doch nicht etwa Delphi, oder? Weil das von mir geschriebene würde ich mal als alltägliche Aufgabe bezeichnen, die ein Lehrer wissen sollte, wenn er sich nur irgendwie mit Pascal beschäftigt.
Gruss, Niels
Ich habe Probleme aus der Datei zu lesen,
wie kann ich wenn in irgend einer Zeile der Datei ‚Name=Maier‘ ist eine Stringvariable kreieren die dann den Wert Maier hat?
Das mit ‚Writeln‘ klappt. Ich hab auch mit Readln und read das auslesen der Datei versucht. klappt aber nicht! Absturz! (E/A Fehler 148 laut delphi)
Der Lehrer kennt sich schon gut aus, besonders mit Datenbankprogramierung, Sql und co… aber man kann nicht alles können 
Ich habe Probleme aus der Datei zu lesen,
wie kann ich wenn in irgend einer Zeile der Datei ‚Name=Maier‘ ist eine Stringvariable kreieren die dann den Wert Maier hat?
Das mit ‚Writeln‘ klappt. Ich hab auch mit Readln und read das auslesen der Datei versucht. klappt aber nicht! Absturz! (E/A Fehler 148 laut delphi)
Das mit ‚Writeln‘ klappt. Ich hab auch mit Readln und read das
auslesen der Datei versucht. klappt aber nicht! Absturz! (E/A
Fehler 148 laut delphi)
da hilft eine Abwandlung des Programms:
procedure TForm1.MyButtonClick(Sender: TObject);
var
Datei: TextFile;
MyString: String;
begin
AssignFile(Datei, ExtractFilePath(Application.ExeName) + 'Einstellungen.SET');
Reset(Datei);
try
ReadLn(Datei, MyString);
editvorname.text := copy(MyString, pos('=', MyString), length(MyString));
ReadLn(Datei, MyString);
editname.text := copy(MyString, pos('=', MyString), length(MyString));
finally
CloseFile(Datei);
end;
end;
dieser code setzt voraus, dass immer erst der vorname, dann der nachname in der Datei steht. Eine alternative ist die Verwendung des TStringList-Objekts, welches Methoden speziell für diese Fälle enthält.
procedure TForm1.MyButtonClick(Sender: TObject);
var
MyList: TStringList;
begin
MyList := TStringList.Create; //erzeugt das Objekt
try
MyList.LoadFromFile(ExtractFilePath(Application.ExeName));
editname.text :=MyList.Values[MyList.IndexOfName('name')];
editvorname.text :=MyList.Values[MyList.IndexOfName('vorname')];
finally
MyList.Free; //zerstört das Objekt
end;
end;
Gruss, Niels