AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi Ini Tutorial © Toenn
Tutorial durchsuchen
Ansicht
Themen-Optionen

Ini Tutorial © Toenn

Ein Tutorial von Toenn · begonnen am 29. Jun 2004 · letzter Beitrag vom 15. Dez 2007
Antwort Antwort
Seite 2 von 2     12   
Toenn
Registriert seit: 4. Okt 2003
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

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:
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;
Ein Edit kann man so schreiben:
WriteString('Text', 'Edit1', Edit1.Text); Wie kann ich das ganze jetzt wieder laden?
Das geht fast genauso:
Delphi-Quellcode:
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;
Das Editfeld laden geht so:
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.
 
Benutzerbild von Sharky
Sharky

 
Delphi 2006 Professional
 
#11
  Alt 24. Nov 2007, 07:58
Hihi.... ihr habt aber schon darauf geachtet von wann das Tutorial ist?
Stephan B.
  Mit Zitat antworten Zitat
Elvis

 
Delphi 2010 Professional
 
#12
  Alt 24. Nov 2007, 08:16
Zitat von Sharky:
Hihi.... ihr habt aber schon darauf geachtet von wann das Tutorial ist?
ich habe mich schon gewundert wer heute noch was mit Inis anfängt.
Macht plötzlich mehr sinn...
Robert Giesecke
  Mit Zitat antworten Zitat
Benutzerbild von Alien426
Alien426

 
Turbo Delphi für Win32
 
#13
  Alt 10. Dez 2007, 21:07
Ich arbeite eigentlich ganz gerne mit einer INI für Einstellungen. So kann man einfach Programme gesamt kopieren (und z.B. auch auf einem USB-Stick einsetzen) und die Registry wird nicht verschmutzt.

Es gibt aber mehrere Punkte, die gegen INI-Dateien sprechen:
Why are INI files deprecated in favor of the registry?
  Mit Zitat antworten Zitat
MrKnogge

 
Delphi 2007 Professional
 
#14
  Alt 10. Dez 2007, 21:19
@ Alien426
Wobei man heute aber eher XML-Dateien verwendet.

Gruß
Christian Bootz
  Mit Zitat antworten Zitat
Mokuba01

 
Delphi XE2 Professional
 
#15
  Alt 15. Dez 2007, 08:16
Hi, dein Tutorial is sehr gut aber ich hätte da noch eine Frage:
angenommen ich schreib einen eigenen Typ z.B.:
Delphi-Quellcode:
type Zahlen = record
a:integer;
b:integer;
Dann schreibe ich eine Variable:
Delphi-Quellcode:
var
irgendwas:Zahlen
Gibt es nun irgendeine Möglichkeit die Variable 'irgendwas' als ini zu speichern.
Und wenn ja, Wie?
Danke im Vorraus
Gruß Mokuba01
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

 
Delphi 2009 Professional
 
#16
  Alt 15. Dez 2007, 08:19
Hi,

Du könntest eine Hier im Forum suchentypisierte Datei verwenden.

Und btw. wie schon erwähnt: Benutze lieber XML anstatt Inis
Manuel
  Mit Zitat antworten Zitat
Progman

 
Delphi 10.1 Berlin Starter
 
#17
  Alt 15. Dez 2007, 10:51
Zitat von Mokuba01:
Hi, dein Tutorial is sehr gut aber ich hätte da noch eine Frage:
angenommen ich schreib einen eigenen Typ z.B.:
Delphi-Quellcode:
type Zahlen = record
a:integer;
b:integer;
Dann schreibe ich eine Variable:
Delphi-Quellcode:
var
irgendwas:Zahlen
Gibt es nun irgendeine Möglichkeit die Variable 'irgendwas' als ini zu speichern.
Und wenn ja, Wie?
Danke im Vorraus
Gruß Mokuba01
Einfach:
Delphi-Quellcode:
IniFile.WriteInteger('blah','teil1',Irgendwas.a);
IniFile.WriteInteger('blah','teil2',Irgendwas.b);
Karl-Heinz
  Mit Zitat antworten Zitat
Mokuba01

 
Delphi XE2 Professional
 
#18
  Alt 15. Dez 2007, 11:44
Zitat von Progman:
Zitat von Mokuba01:
Hi, dein Tutorial is sehr gut aber ich hätte da noch eine Frage:
angenommen ich schreib einen eigenen Typ z.B.:
Delphi-Quellcode:
type Zahlen = record
a:integer;
b:integer;
Dann schreibe ich eine Variable:
Delphi-Quellcode:
var
irgendwas:Zahlen
Gibt es nun irgendeine Möglichkeit die Variable 'irgendwas' als ini zu speichern.
Und wenn ja, Wie?
Danke im Vorraus
Gruß Mokuba01
Einfach:
Delphi-Quellcode:
IniFile.WriteInteger('blah','teil1',Irgendwas.a);
IniFile.WriteInteger('blah','teil2',Irgendwas.b);
Nein ich meine das 'irgendwas' gespeichert wird und nicht das alle einzelteile gespeichert werden
  Mit Zitat antworten Zitat
Progman

 
Delphi 10.1 Berlin Starter
 
#19
  Alt 15. Dez 2007, 12:20
TiniFile hat von Haus aus nur ein paar festgelegte Typen:
ReadString(), ReadInteger(), ReadBool(), ReadTime(), ReadDateTime(), ReadFloat() und ReadBinaryStream().
Entweder machst du eine neue Klasse, die von TIniFile abgeleitet ist und implementierst das
oder du greifst auf File of Record oder ähnliches zurück
oder nimmst lieber doch XML (obwohl du da auch die einzelnen Werte trennen müsstest)
Karl-Heinz
  Mit Zitat antworten Zitat
Benutzerbild von jmit
jmit

 
Turbo Delphi für Win32
 
#20
  Alt 15. Dez 2007, 14:45
Zitat von MrKnogge:
...
Wobei man heute aber eher XML-Dateien verwendet.
...
Also ich würde XML-Dateien vorziehen.

Gruß Jörg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 08:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz