Autor |
Beitrag |
XPert
Beiträge: 129
Windows 98/00/Me/XP
D6 Pers
|
Verfasst: Sa 31.08.02 11:44
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.
_________________ MfG Fabian Schweers
|
|
KeinePanik
Beiträge: 131
|
Verfasst: 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 ...
_________________ Es gibt keine dummen Fragen ... Nur blöde Antworten !!!
|
|
XPert
Beiträge: 129
Windows 98/00/Me/XP
D6 Pers
|
Verfasst: 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!!!!
_________________ MfG Fabian Schweers
|
|
kampfkoloss23
Beiträge: 96
|
Verfasst: 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
Beiträge: 56
|
Verfasst: 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...
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 05.05.03 15:27
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
Beiträge: 6366
Erhaltene Danke: 60
Windows 7, Ubuntu
Delphi 7 Prof.
|
Verfasst: 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
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: Mo 05.05.03 15:39
Das ist auch ein Argument, stimmt.
|
|
Chatfix
Beiträge: 1583
Erhaltene Danke: 10
Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
|
Verfasst: 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...
_________________ Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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.
|
|
Chatfix
Beiträge: 1583
Erhaltene Danke: 10
Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
|
Verfasst: 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...
_________________ Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
|
|
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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
Beiträge: 1583
Erhaltene Danke: 10
Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
|
Verfasst: 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
_________________ Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
|
|
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1
|
Verfasst: 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
Beiträge: 1583
Erhaltene Danke: 10
Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
|
Verfasst: 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....
_________________ Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
|
|
ptronick
Beiträge: 22
win xp prof.
D5 Stand
|
Verfasst: 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
Beiträge: 1583
Erhaltene Danke: 10
Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
|
Verfasst: Mi 01.09.04 15:23
Ja, INI-Dateien sind reine Textdateien, nur mit anderer Endung.
_________________ Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
|
|
ptronick
Beiträge: 22
win xp prof.
D5 Stand
|
Verfasst: Mi 01.09.04 15:52
|
|
Chatfix
Beiträge: 1583
Erhaltene Danke: 10
Win 10, Win 8, Win 7, Win Vista, Win XP
VB.net (VS 2015), MsSQL (T-SQL), HTML, CSS, PHP, MySQL
|
Verfasst: Mi 01.09.04 16:00
Kein Problem, hier übrigens mein umfangreicherer Tutorial: www.kuknet.de/tutorial1.pdf
_________________ Gehirn: ein Organ, mit dem wir denken, daß wir denken. - Ambrose Bierce
|
|
ptronick
Beiträge: 22
win xp prof.
D5 Stand
|
Verfasst: Mi 01.09.04 16:47
|
|