Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TInifile (https://www.delphipraxis.net/6175-tinifile.html)

Illuminator-23-5 2. Jul 2003 09:56


TInifile
 
Ich wollte jetzt mal mit IniFiles arbeiten, und hab auch versucht, die möglichkeiten die delphi zur verfügung stellt, ausschöpfen, dabei bin ich nicht weit gekommen:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  Datei: TIniFile;
begin
  Datei.Create(ExtractFilePath(Application.ExeName) + 'test.ini');
end;
aber bereits hier kommt eine Fehlermeldung (obwohl die Datei existiert):
Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 00403E8C in modele 'Project1.exe'. Write of address 00000004'. Process stopped. Use Step or Run to continue

Ist das schon mal jemandem Passiert? kann mir jemand sagen was hier falsch ist?

sakura 2. Jul 2003 09:57

Die Lösung heisst:
Delphi-Quellcode:
Datei := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'test.ini');
try

....

finally
  Datei.Free;
end;
...:cat:...

sakura 2. Jul 2003 10:00

Re: TInifile
 
Zitat:

Zitat von Illuminator-23-5
Ist das schon mal jemandem Passiert?

Jedem :!: Wirklich :?
Zitat:

Zitat von Illuminator-23-5
Kann mir jemand sagen was hier falsch ist?

Als Erklärung: Datei ist eine Objekt-Variable vom Klassen-Typ TIniFile. Als erstes musst Du ein Objekt der Klasse TIniFile erstellen (was Du auch tun wolltest). Das gibt es die constructor Methoden, welche direkt über die Klasse angesprochen werden. Das dadurch erstellte Objekt wird anschließend der Objektvariablen zugewiesen, wie im obigen Beitrag zu sehen.

...:cat:...

Illuminator-23-5 2. Jul 2003 10:00

danke für die schnelle Antwort, es funktioniert!!!! :coder:

Carbrögen 7. Sep 2003 11:18

Re: TInifile
 
So nochma für ganz blöde:

Ich möchte Optionen aus meinem eigenen Optionen menü in eine Ini Datei schreiben.

Also belege ich den Button "Speichern" mit diesem Code:
Delphi-Quellcode:
Datei := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'test.ini');
try

....

finally
  Datei.Free;
end;
und schreibe zwischen try und finally die Variablen rein oder wie!?
Und wie greife ich dann auf diese Dateien zu!?
Also wie schreibe ich die Optionen nieder, oder Änder sie und wie greif ich im Programm (zum Beispiel wenn ich ein Edit Feld den vorrausgestellten Text "name" haben sooll und der aus der ini datei kommen soll (in den Optionen festgestellt)!?

Mfg

Mirilin 7. Sep 2003 11:25

Re: TInifile
 
:hi:

ini-tutorial


aloa re mirilin

Carbrögen 7. Sep 2003 12:00

Re: TInifile
 
K trhx

Carbrögen 7. Sep 2003 13:13

Re: TInifile
 
K nun hab ich das gerallt...


Jetzt hab ich nur ne Frage wie ich das Optionen Menü ab besten machen könnte.

Ich denke mal das es am sinnvollsten wäre ich verfahre wie folgt:
Ich erstelle die Ini Datei mit den Variablen im Vorraus.
Also habe ich eine Datei "optionen.ini".

So, diese wird beim Programmstart mit eingebunden, so dass ich über alles Hinweg automatisch zugreifen kann - habe also die Variablen in der ini datei global gemacht.

Im Optionen Menü. Ich habe ja nicht nur Edit Felder, ich habe ja auch Reiterlisten (Comboboxen) und Listboxen und andere Komponenten. Ich möchte aber alle änderungen mit einem Klick auf den Button "Speichern" speichern. Wie realisiere ich das?

Schreiben tu ich mit
[source]
ini.WriteString('Benutzer', 'Name', 'edit1.text');
[/source]

Wenn das so überhaupt funktioniert...

Wie aber wenn ich NUR änderungen bzw andere Komponenten abspeichern möchte??

Und wie verwende ich diese dan!?

Mfg

Christian Seehase 7. Sep 2003 13:23

Re: TInifile
 
Moin Carbrögen,

Zitat:

Zitat von Carbrögen
Ich erstelle die Ini Datei mit den Variablen im Vorraus.

Das musst Du gar nicht.
Wenn Du Werte aus einer Ini einliest, so musst Du immer auch einen Defaultwert angeben, der genommen wird, wenn der entsprechende Eintrag nicht vorhanden ist.

Das übersichtlichste wird sein, wenn Du Dir ein Objekt für die Optionen erstellst, bei dem dann die verschiedenen Einstellungen als property deklariert werden.

In jedem Falle benötigst Du für das Speichern eine Routine, die alle Deine Einstellungen der Reihe nach in die Datei schreibt.

Carbrögen 7. Sep 2003 13:44

Re: TInifile
 
Hm also muss ich eine Unit schreiben in der die Optionen Deklariert werden und hintenraus nur ein "property" rausgeben.


Gibts für ein Optionen Fenster irgendwo ein Tutorial, solangsam wirds komplex =)


Da wäre mir ein Tut am liebsten.

mfg


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:52 Uhr.
Seite 1 von 2  1 2      

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