AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TInifile

Offene Frage von "Carbrögen"
Ein Thema von Illuminator-23-5 · begonnen am 2. Jul 2003 · letzter Beitrag vom 9. Sep 2003
Antwort Antwort
Seite 1 von 2  1 2   
Illuminator-23-5
(Gast)

n/a Beiträge
 
#1

TInifile

  Alt 2. Jul 2003, 09:56
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?
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 2. Jul 2003, 09:57
Die Lösung heisst:
Delphi-Quellcode:
Datei := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'test.ini');
try

....

finally
  Datei.Free;
end;
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: TInifile

  Alt 2. Jul 2003, 10:00
Zitat von Illuminator-23-5:
Ist das schon mal jemandem Passiert?
Jedem Wirklich
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.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Illuminator-23-5
(Gast)

n/a Beiträge
 
#4
  Alt 2. Jul 2003, 10:00
danke für die schnelle Antwort, es funktioniert!!!!
  Mit Zitat antworten Zitat
Carbrögen

Registriert seit: 25. Aug 2003
57 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: TInifile

  Alt 7. Sep 2003, 11:18
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
  Mit Zitat antworten Zitat
Benutzerbild von Mirilin
Mirilin

Registriert seit: 21. Dez 2002
Ort: Lenzburg
861 Beiträge
 
Delphi 6 Professional
 
#6

Re: TInifile

  Alt 7. Sep 2003, 11:25


ini-tutorial


aloa re mirilin
Tobias
Die Physik ist für die Physiker eigentlich viel zu schwer.
  Mit Zitat antworten Zitat
Carbrögen

Registriert seit: 25. Aug 2003
57 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: TInifile

  Alt 7. Sep 2003, 12:00
K trhx
  Mit Zitat antworten Zitat
Carbrögen

Registriert seit: 25. Aug 2003
57 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: TInifile

  Alt 7. Sep 2003, 13:13
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
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: TInifile

  Alt 7. Sep 2003, 13:23
Moin Carbrögen,

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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Carbrögen

Registriert seit: 25. Aug 2003
57 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: TInifile

  Alt 7. Sep 2003, 13:44
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 01:23 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