Entwickler-Ecke
Delphi Tutorials - Ini-Dateien
XPert - Sa 31.08.02 11:44
Titel: Ini-Dateien
Sorry, ich hab erst nach dem Posten gemerkt, dass es schon ein IniTutorial gab!!!!!!!!!!!!!!
Ini-Dateien sind erst einmal nur normale Textdateien, die die Endung *.ini statt der Endung *.txt haben.
Ini-Dateien haben aber im Gegensatz zu Textdateien eine feste Gliederung. Die Gliederung erfolgt mit Abschnitten und Werten. Eine Ini-Datei sähe zunächst einmal so aus:
Quelltext
1: 2: 3: 4: 5: 6:
| [Fensterposition] Left=50 Top=38
[Vorbelegung] LetzteBenutzung=20.02.2002 |
Schreibzugriff:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| Uses IniFiles;
procedure TForm1.Button1Click(Sender: TObject); var ini: TIniFile; begin ini:=TIniFile.Create('einstellungen.ini'); try ini.WriteInteger('Fensterposition','Left','12'); ini.WriteInteger('Fensterposition','Top','26'); finally ini.free; end; end; |
Lesezugriff:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| Uses IniFiles;
procedure TForm1.Button2Click(Sender: TObject); var ini: TIniFile; begin ini:=TIniFile.Create('einstellungen.ini'); try ini.ReadInteger('Fensterposition','Left',0); ini.ReadInteger('Fensterposition','Top',0); finally ini.free; end; end; |
Schreibzugriff erfolgt also über:
Delphi-Quelltext
1:
| ini.WriteInteger('Fensterposition','Top','26'); |
Hier wird in die Ini-Datei ein Integer geschrieben. Das sähe in der Ini-Datei dann so aus:
Quelltext
1: 2: 3:
| [Fensterposition] Left=12 Top=26 |
Lesezugriff erfolgt über:
Delphi-Quelltext
1:
| ini.ReadInteger('Fensterposition','Top',0); |
Hier wird aus der Ini-Datei ein Integer gelesen. Ist die Ini-Datei nicht vorhanden, oder ist der zu lesende Abschnitt oder Wert nicht vorhanden, wird automatisch das Fenster auf 0 verschoben!
Dies kann man natürlich auch so verändern:
Delphi-Quelltext
1:
| if ini.SectionExists('Fensterpesition') then ... |
Man kann auch alles in einer ListBox auflisten:
Delphi-Quelltext
1:
| ini.ReadSextions(ListBox1.Items); |
Oder die Werte auflisten:
Delphi-Quelltext
1:
| ini.ReadSectionValues('Abschnitt1', ListBox2.Items); |
Es ist jedoch besser wenn die Rigistry den Ini-Dateien vorgezogen wird.
Ich hoffe dieses Tutorial hat dir geholfen! Viel Spaß noch mit den ini-Dateien!
Bei Fragen oder Problemen postet bitte
hier.
Moderiert von
Tino: Code- durch Delphi-Tags ersetzt.
KeinePanik - So 01.09.02 02:30
Als Tutorial zu INI-Dateien finde ich das Tutorial allerdings etwas unverständlich formuliert ... Jemand, der sich noch nie mit INI oder der Registry beschäftigt hat, wird meiner Meinung nach nicht so richtig schlau daraus ...
XPert - So 01.09.02 15:27
ich habs erst damit kapiert.... *g* wenns mehr net können schreib ich das tutorial eben etwas um!!! aber die müssen erstmal posten das sies net kapieren!!!!
kampfkoloss23 - So 12.01.03 00:45
Ich find das auch als tutorial ok, ich hab nämlich noch nie was
von ini files gehört.
Gleich verstanden und umgesetzt. Das andere Tutorial ist natürlich
schöner, aber man muss ja nicht alles so perfekt umschrieben werden
ShiKai - Mo 05.05.03 14:50
ich weiß zwar nicht, ob du das wirklich glaubst, aber
die endung für ini's muss nicht immer .ini sein.
genauso, wie die endung für textdateien nicht immer .txt
sein muss.
z.b. erstelle ich für jedes programm immer selber eine endung,
obwohl, der aufbau dann der einer ini ist.
das ist so ziemlich *mist*egal...
Delete - Mo 05.05.03 15:27
Titel: Re: Ini-Dateien
XPert hat folgendes geschrieben: |
Es ist jedoch besser wenn die Rigistry den Ini-Dateien vorgezogen wird. |
Kannst du das irgendwie begründen?
Die Benutzung der Regitry macht nur dann Sinn, wenn verschiedene Programm auf irgendwelche Einstellungen zurückgreifen müssen. Ansonsten müllt ein Programm die Registry nur unnötig zu, weil man die Einträge nicht mehr findet, um sie zur Not von Hand zu löschen (was eigentlich auch eien Zumutung ist).
Nimmst du eine Ini-Datei, wird das Verzeichnis gelöscht und weg ist der ganze Rotz.
Klabautermann - Mo 05.05.03 15:33
Hallo,
Regestry Einträge sind immer dann nützlich wenn man man die Daten Windows-Benutzerabhängig speichern möchte.
In den allermeisten Fällen würde ich aber auch INI-Dateien vorziehen.
Gruß
Klabautermann
Delete - Mo 05.05.03 15:39
Das ist auch ein Argument, stimmt.
Chatfix - Mo 24.11.03 12:50
Ich ziehe Ini-Files auch vor...
bei regisrty kann es auch sein das man Admin-Rechte haben muss, ne Ini-File anlegen ist aber meist auch mit normalen benutzerechten möglich...
Delete - Mo 24.11.03 16:58
Nope. Hast du keine Schreibrechte im Programmordner, dann kannst du auch keine Ini-Datei anlegen.
Aber Tutorial nennt sich das? Ist ja nur ein etwas ausführlicheres Posting. :roll:
Chatfix - Mo 24.11.03 18:48
jo nur das mit der registry is wahrscheinlicher ;-)
wer sperrt ein anwendungsverzeichnis einer anwendung...
lucki dann währe ja mein "tutorial" auch keins...
Delete - Mo 24.11.03 21:05
Jeder gute Admin, der nicht will das jeder x beliebige Benutzer im Windows Programm Verzeichnis rumwurschtelt, wie es ihm genehm ist und mal eben sein lieblings Filesharing Tool installiert?
Chatfix - Di 25.11.03 13:00
meist installiert ein admin ja das programm und gibt dann dem entsprechenden programm schreibrechte ... aber egal, des passt hier nich zum thema
Delete - Di 25.11.03 14:23
Chatfix hat folgendes geschrieben: |
meist installiert ein admin ja das programm und gibt dann dem entsprechenden programm schreibrechte ... aber egal, des passt hier nich zum thema |
Wenn der Admin das Programm installiert, dann hat meist nur er (oder ein User mit gleich- oder höherrangigen Rechten) Vollzugriff. Mitglieder der Gruppe "Benutzer" haben dagegen meist nur Lesezugriff.
Das ist das ganze Problem.
Man sollte es nicht unbedingt auf den Admin schieben. Man könnte auch das Setup so gestalten, dass die angelegten Ordner (sofern nötig) mit entsprechenden Rechten ausgestattet werden.
Als Beispiel: soll deine Anwendung die Konfigurationsdaten zwar benutzerabhängig speichern, allerdings im Ordner der Anwendung, dann bietet sich ein Unterordner an ("config", oder wie auch immer), der entweder für alle Mitglieder der Gruppe "Benutzer" oder generell für Alle veränderbar ist. Dadurch bleibt der Ordner der Anwendung selbst ja geschützt, nur in diesem Unterordner könnten die Benutzer schalten und walten.
Das
kann der Admin einstellen, besser wär´s aber, das Setup würde das gleich machen.
Chatfix - Di 25.11.03 15:30
ich sagte ja, das es meist wahrscheinlicher ist das ein verzeichnis freigegeben ist (oder halt die schreib/leserechte hat).
mit welchen rechten die einzelnen schlüssel usw der registry ausgestattet sind weiss ich jetzt nich, weil ich in der registry nur selten zu tun habe...
man muss übrigrens nich unbedingt nen extra verzeichnis anlegen, man kann auch nur die datei freigeben....
ptronick - Mi 01.09.04 15:17
kann ich also ne txt-Datei erstellen und das ".txt" durch ".ini" ersetzen oder hab ich da was falsch verstanden?
Chatfix - Mi 01.09.04 15:23
Ja, INI-Dateien sind reine Textdateien, nur mit anderer Endung.
ptronick - Mi 01.09.04 15:52
cool, danke!
ptronick - Mi 01.09.04 16:47
Super pdf!!!! Respekt!
Chatfix - Do 02.09.04 07:28
Danke
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!