AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

INI Dateien lesen und schreiben

Ein Thema von Z32 · begonnen am 24. Jan 2007 · letzter Beitrag vom 24. Jan 2007
Antwort Antwort
Z32
(Gast)

n/a Beiträge
 
#1

INI Dateien lesen und schreiben

  Alt 24. Jan 2007, 18:32
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:
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;
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.

Delphi-Quellcode:
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;
So, das wärs, über antworten würde ich mich sehr freuen
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.310 Beiträge
 
Delphi XE7 Professional
 
#2

Re: INI Dateien lesen und schreiben

  Alt 24. Jan 2007, 18:34
Hallo,

Zitat:
edit2.Text:=ini.ReadString('Benutzer','Name',<<nam e>>);
Das was bei Dir in << >> steht, das ist der Defaultwert der zurückgegeben wird
wenn Dein Eintrag in der Ini nicht gefunden wurde.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Z32
(Gast)

n/a Beiträge
 
#3

Re: INI Dateien lesen und schreiben

  Alt 24. Jan 2007, 18:38
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
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#4

Re: INI Dateien lesen und schreiben

  Alt 24. Jan 2007, 18:39
Und nenn die Variable bitte nicht name !
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.310 Beiträge
 
Delphi XE7 Professional
 
#5

Re: INI Dateien lesen und schreiben

  Alt 24. Jan 2007, 18:41
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
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#6

Re: INI Dateien lesen und schreiben

  Alt 24. Jan 2007, 18:43
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:
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;
4. Solltest du dir vllt. eine bessere Code formatierung überlegen ... so ist es nicht gerade übersichtlich

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
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
Z32
(Gast)

n/a Beiträge
 
#7

Re: INI Dateien lesen und schreiben

  Alt 24. Jan 2007, 18:49
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
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#8

Re: INI Dateien lesen und schreiben

  Alt 24. Jan 2007, 18:52
Hallo,

hast Du in Deiner Version keine Hilfe?

Delphi-Referenz durchsuchenTIniFile.ReadString und Delphi-Referenz durchsuchenTIniFile.WriteString erläutert die Parameter.
Delphi-Referenz durchsuchenDie Anweisung try...except
Delphi-Referenz durchsuchenDie Anweisung try...finally

Gruß Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#9

Re: INI Dateien lesen und schreiben

  Alt 24. Jan 2007, 19:12
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
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf