![]() |
INI Dateien lesen und schreiben
Hallo zusammen,
ich habe mich ein wenig mit ini-dateien beschäftigt und habe aber noch eine frage. Undzwar möchte ich mit dieser Prozedure den in editfeld1 eingegebenen namen in die ini-datei schreiben. Das klappt auch, aber ist das programier-technisch richtig?
Delphi-Quellcode:
uses: inifile;
procedure TForm1.Button1Click(Sender: TObject); var name: string; var ini: tinifile; begin ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+'einstellungen.ini'); name:=edit1.Text; ini.WriteString('Benutzer','Name',name); ini.Free; end; Mit dieser Prozedure möchte ich den namen aus der ini-datei auslesen und in das editfeld2 schreiben. Das klappt ebenfalls auch, aber ist das programmier-technisch richtig und was muss normalerweise an die makierte (<<x>>) stelle. Das was ich dahin geschrieben habe klappt zwar, aber ich weiß nicht warum und das stört mich *grins*
Delphi-Quellcode:
Was ich noch erwähnen möchte ist, dass ich in einem Tutorial auch schonmal diese Prozedure zum laden aus der ini-datei gesehen habe. Aber bei mir hat die nicht funktioniert.
uses: inifile;
procedure TForm1.Button2Click(Sender: TObject); var ini: tinifile; begin ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+'einstellungen.ini'); edit2.Text:=ini.ReadString('Benutzer','Name',<<name>>); ini.Free; end;
Delphi-Quellcode:
So, das wärs, über antworten würde ich mich sehr freuen :thumb:
uses: inifile;
procedure TForm1.Button2Click(Sender: TObject); var ini: tinifile; begin ini:=TIniFile.create('namederini.ini'); edit2.Text:=ini.ReadString('Benutzer','Name',name); ini.Free; end; |
Re: INI Dateien lesen und schreiben
Hallo,
Zitat:
wenn Dein Eintrag in der Ini nicht gefunden wurde. Grüße Klaus |
Re: INI Dateien lesen und schreiben
oh, eine sehr schnell antwort.
wenn ich die richtig verstanden habe heißt das, wenn mein wert, also ('Benutzer','Name') nicht gefunden wird, schreibt er "name" in das editfeld? Und ich glaube name gibt ja den formnamen zurück. Jetzt wird mir das klar. Vielen dank für die antwort |
Re: INI Dateien lesen und schreiben
Und nenn die Variable bitte nicht name !
|
Re: INI Dateien lesen und schreiben
Vielleicht solltest Du die Variable name auch umbennen, da sie ja schon von Delphi vorbelegt ist.
Ansonsten, hast Du das richtig verstanden. Grüße Klaus |
Re: INI Dateien lesen und schreiben
Hi
1. Nenne niemals eine varible "name". Das hat mir früher oft Schwierigkeiten bereitet. Und warum? weil ich öfters den komponenten name dadurch verändert habe. 2. Kannst du es ohne die variable machen: ini.WriteString('Benutzer','Name',edit1.Text); 3. Solltest du bei inis immer einen try finally block verwenden:
Delphi-Quellcode:
4. Solltest du dir vllt. eine bessere Code formatierung überlegen ... so ist es nicht gerade übersichtlich
procedure TForm1.Button1Click(Sender: TObject);
var ini: tinifile; begin ini := TIniFile.create(ExtractFilePath(ParamStr(0))+'einstellungen.ini'); try ini.WriteString('Benutzer','Name',edit1.Text); finally ini.Free; end; end; und 5. weil ich es gerade sehe du musst nicht für jede variable ein "var" davor schreiben. Einmal langt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var ini: tinifile; nocheineVarible : integer; undnocheine : String; begin |
Re: INI Dateien lesen und schreiben
ok, danke für die vielen tipps.
Das mit der variablen name ist ausversehen pssiert, weil ich das beispielprogramm so schnell gemacht habe. Ist mir aber auch erst eben klar geworden. Jetzt habe ich aber noch eine frage zu try...finally. Was genau macht das. Ich kenne den try...except Block zum fehler abfangen. Funktioniert der try...finally genauso oder gibt es da einen unterschied? Ich weis das meine Code formatierung schlimm ist, aber ich selbst blicke das so besser durch :wink: |
Re: INI Dateien lesen und schreiben
Hallo,
hast Du in Deiner Version keine Hilfe? ![]() ![]() ![]() ![]() Gruß Jürgen |
Re: INI Dateien lesen und schreiben
try except = der except code wird bei einem fehler ausgeführt
try finally = der finally code wird AUCH bei einem fehler ausgeführt d.h. es wird immer frei gegeben auch wenn ein fehler auftritt |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:51 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 by Thomas Breitkreuz