AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

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 2 von 2     12   
Christian Seehase
(Co-Admin)

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

Re: TInifile

  Alt 7. Sep 2003, 15:44
Moin Carbögen,

hier mal ein einfaches Beispiel, was ich mit Objekt für die Optionen meinte. Statt, wie üblich, Felder im Objekt anzulegen, werden die Daten immer direkt in die Inidatei geschrieben, bzw. aus ihr gelesen.

Delphi-Quellcode:
unit MyOptions;

interface
uses inifiles;

TcsOptions = class(TObject)
private
  FiniFile : TIniFile;
  procedure SetStringOption(Value: string);
  function GetStringOption : string;
public
  procedure Create(const AsFilepath : string); override;
  procedure Destroy;
  property StringOption : string read GetStringOption write SetStringOption;
end;

//....

implementation

procedure TcsOptions.Create(const AsFilepath : string);
begin
  inherited;
  FiniFile := TIniFile.Create(AsFilePath);
end;

procedure TcsOptions.Destroy;
begin
  FreeAndNil(FiniFile);
  inherited;
end;

procedure TcsOptions.SetStringOption(Value: string);
begin
  FiniFile.WriteString('Irgendeine Section','StringOption',Value);
  FiniFile.UpdateFile;
end;

function TcsOptions.GetStringOption : string;
begin
  Result := FiniFile.ReadString('Irgendeine Section','StringOption','Standardwert wenn nichts in der Ini steht');
end;
end.
Wie jetzt die jeweiligen Getxxx und Setxxx Methoden ausgestaltet sind, bzw. sein müssen, hängt von den Daten ab. Hier hab' ich das mal mit einem Stringwert gemacht.

Das Beispiel ist ungetestet, ich hab's hier direkt reingeschrieben.

Jetzt kannst Du dir, z.B. in Deinem Hauptformular, eine Eigenschaft für die Optionen hinzufügen.

Delphi-Quellcode:
interface
uses MyOptions,inifiles;

TForm1 = class(TForm)
//...
private
  FOptions : TcsOptions;
public
  property Options : TcsOptions read FOptions;
end;

//...

implementation

procedure TForm1.Form1Create(...);
begin
  FOptions := TInifile.Create(ExtractFilePath(paramstr(0))+'Options.ini');
end;
end;

procedure TForm1.Form1Destroy(...);
begin
  FreeAndNil(FOptions);
end;
Jetzt hast Du Zugriff auf Deine Optionen, und brauchst Dich nicht mehr darum zu kümmern, wie die nun gespeichert bzw. gelesen werden, nachdem Du für jede Option die Lese- und Schreibroutinen einmal festgelegt hast.
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
 
#12

Re: TInifile

  Alt 7. Sep 2003, 16:42
Uff .


Das' Kompliziert....

Und das waren ein paar Informationen zu viel für mich... ein richtiges Tut wäre doch das beste...

danke trotzdem
  Mit Zitat antworten Zitat
Carbrögen

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

Re: TInifile

  Alt 8. Sep 2003, 18:15
Hab nochmal nachgedacht. Ginge auch folgende Lösung:

Ich schreib eine Unit. In der Unit schreibe ich in die Ini file die Strings.

So, in der unit sind funktionen - klar. Den Output realisiere ich mit 'result :=', den Input (also das ändern der Variablen in der Ini) mit Globalen Variablen aus der Unit sofern möglich.


Ist das auch ne lösung?

Mfg
  Mit Zitat antworten Zitat
Carbrögen

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

Re: TInifile

  Alt 9. Sep 2003, 12:30
Keine Antworten ?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

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

Re: TInifile

  Alt 9. Sep 2003, 12:41
Moin Carbrögen,

Zitat von Carbrögen:
Ist das auch ne lösung?
Im Prinzip ja, nur unterscheidet sich diese nicht wesentlich von meiner, ausser dass ich alles in einem Objekt zusammenfassen will.
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
 
#16

Re: TInifile

  Alt 9. Sep 2003, 13:13
cool thx
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#17

Re: TInifile

  Alt 9. Sep 2003, 14:01
Zitat von sakura:
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.

......
Mir noch nicht
PS: Du brauchst die Datei vorher nicht zu erstellen
PS @ sakura: Danke für
Code:
ExtractFilePath(Application.ExeName)
Sowas such ich schon die ganze Zeit
Sebastian
  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 09:58 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