![]() |
Ini Tutorial © Toenn
Hi,
dies ist mein erstes Tutorial und ich hoffe, dass es leicht verständlich ist. 1. Was sind INI's 2. Welche Vorteile haben INI's 3. Wie kann ich Einstellungen in INI's speichern 4. Wie kann ich Einstellungen aus INI's lesen _______________________ Was sind INI's ? INI's sind Dateien, um viele Einstellungen in einer Datei zu speichern. Welche Vorteile haben INI's ? -Können viele Einstellungen speichern -Sind übersichtlich -Viel mehr :D Welche Nachteile haben INI's ? -Haben laut S2B nur eine begrenzte Größe -Können bei sehr vielen Einstellungen langsam werden Wie kann ich Einstellungen in INI's speichern? Das kommt ganz darauf an, was man speichern will. Wenn wir die Position Left und Top von einer Form speichern wollen, müssen wir den Befehl WriteInteger verwenden. Das geht so (In die Uses-Klausel muss IniFiles eingefügt werden):
Delphi-Quellcode:
Ein Edit kann man so schreiben:
procedure TForm1.Button1Click(Sender: TObject);
begin //TIniFile wird geladen with TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'data.ini') do try //Top wird geschrieben, Left wird geschrieben WriteInteger('Position', 'TOP', Form1.Top); WriteInteger('Position', 'Left', Form1.Left); finally //Ini wird freigegeben Free; end; end;
Delphi-Quellcode:
Wie kann ich das ganze jetzt wieder laden?
WriteString('Text', 'Edit1', Edit1.Text);
Das geht fast genauso:
Delphi-Quellcode:
Das Editfeld laden geht so:
procedure TForm1.FormCreate(Sender: TObject);
begin //TIniFile wird geladen with TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'data.ini') do try //Top wird geladen, Left wird geladen Form1.Top := ReadInteger('Position', 'TOP', 0); Form1.Left := ReadInteger('Position', 'Left', 0); finally //Ini wird freigegeben Free; end; end;
Delphi-Quellcode:
Edit1.Text := ReadString('Text', 'Edit1', '');
Das wars für heute. Morgen oder Übermorgen gibts die Fortsetzung wie man z.B. speichern kann ob die Checkbox gecheckt ist. |
Re: Ini Tutorial © Toenn
:thuimb:
Endlich konnte ich mein Ini-File-Wissen wieder auffrischen, nachdem ich 3 Monate nix mehr damit gemacht hatte :-) Ääh, und was du dringend ausbessern solltest: Schreib oben nicht "Letztes Wort" sondern besser "Nachwort" oder sowas. :wink: |
Re: Ini Tutorial © Toenn
Ich selber habe mal versucht KeyWords für Compiler und Compiler Informationen in einer Ini Datei zu speichern. Ich habe viel Zeit damit verbracht um Stringlisten nicht mit Komma in einen String zu verwandeln, sondern mit einem "|". Das Komma hatten die KeyWords selber, darum konnte ich kein Komma verwenden. Als ich dann gemerkt habe, das man nur bestimmt lange Strings in Ini's speichern kann, wurde mir klar, dass die ganzen Funktionen umsonst waren. :mrgreen: Moral der Geschichte: Speichere nie lange Strings in Ini's. :warn:
|
Re: Ini Tutorial © Toenn
Liste der Anhänge anzeigen (Anzahl: 1)
Und weiter gehts.
5. Wie kann ich denn jetzt speichern, ob eine Checkbox gecheckt ist? 5. Boolean Das geht ganz einfach, mit der Funktion WriteBool und ReadBool:
Delphi-Quellcode:
Laden kann man das ganze so:
...
begin with TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'data.ini') do try WriteBool('Data', 'Checkbox1', CheckBox1.Checked); finally Free; end; end;
Delphi-Quellcode:
Dazu gibts auch noch eine Demoanwendung im Anhang.
...
begin with TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'data.ini') do try CheckBox1.Checked := ReadBool('Data', 'Checkbox1', False); finally Free; end; end; So viel Spaß. Bald gibts dann noch wie man Sections löscht, das Datum und die Uhrzeit in INI's speichert. Bis Später |
Re: Ini Tutorial © Toenn
ja das tut ist wirklich gut :thuimb: :thuimb:
|
Re: Ini Tutorial © Toenn
|
Re: Ini Tutorial © Toenn
Und ich hab
![]() |
Re: Ini Tutorial © Toenn
Ich brauchte es für ein Projekt und da hat es mir nen Kumpel empfohlen.. und eig bin ich nur durch dies Tutorial richtig schlau geworden und es funzt alles wie gewünscht...
ALSO: DANKE DANKE DANKE für das Tutorial ;) :angel: |
Re: Ini Tutorial © Toenn
Gaaanz wichtig: Einen Abschnitt zu TMemIniFile erstellen!! :) Ist gerade beim Speichern größerer Datenmengen der herkömlichen TIniFile weit überlegen.
|
Re: Ini Tutorial © Toenn
Ich hätte ein paar Anmerkungen:
1. Verwende in dem Code bitte nicht die Form1 Variable. Einfach samt dem Punkt weglassen, schliesslich befindest du dich in einer Methode. Der Code würde nie mit mehr als einer TForm1 Instanz funktionieren. 2. Bitte den Code ordentlich einrücken bzw. formatieren. Die jetzige Codeformatierung suggeriert einem, dass das "End" zum "With" gehört, was nicht der Fall ist. Das End gehört zum try/finally und with do ist ohne Blockdefinition genutzt (also nur für die nächste Anweisung gültig, und das ist hier das komplette try/finally/end Konstrukt). 3. Erwähne nochmal wo die INI abgelegt wird, wenn man keinen absoluten Pfad angibt sondern nur einen Dateinamen. Dies ist eine häufige Fehlerursache und kann durch das Tutorial auch gleich mal mit behandelt werden. Ansonsten eine schön einfache Darstellung bzw. Beschreibung zur INI. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:15 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-2025 by Thomas Breitkreuz