AGB  ·  Datenschutz  ·  Impressum  







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

Abhakliste

Ein Thema von CUBEstorm · begonnen am 7. Jun 2007 · letzter Beitrag vom 10. Jun 2007
Antwort Antwort
Benutzerbild von Alexander Roth
Alexander Roth

Registriert seit: 17. Mai 2004
Ort: Kenn
574 Beiträge
 
Turbo Delphi für Win32
 
#1

Re: Abhakliste

  Alt 10. Jun 2007, 17:33
Also ich habe 2 Procedures zum lesen und schreiben in/aus Inis:
Delphi-Quellcode:
{-----------------------------------------------------------------------------
  Description:  Schreibt in eine INI
  Procedure:    schreibeini
  Arguments:    pfad:string
  Result:      None
  Detailed description:
-----------------------------------------------------------------------------}

procedure schreibeini(pfad:string);
const endung='.ini';
var ini:TInifile;
     i:integer;


    procedure writeValues(comp:Tcomponent);
    var i:integer;
    begin
      with comp do
        for i:=0 to ComponentCount -1 do
          begin
          if Components[i] is TCheckBox then
            ini.WriteBool(comp.Owner.Name+' '+comp.Name+' '+Components[i].ClassName,Components[i].Name,TCheckBox(Components[i]).Checked);
          end;
    end;
begin
  try
    if pfad='then
      pfad:=ExtractFilePath(Application.ExeName)+dateToStr(now)+' '+inttostr(hourof(now))+' Uhr und '+inttostr(minuteof(now))+' Minuten'+endung
    else //macht doppelte endungen weg
      DelDubbleExtension(pfad,endung);

  //hier schreibt er alle Einstellungen in die Ini Datei,
  // egal ob die Datei vorher schon Existiert hat, es wird einfach überschrieben
  //hier in der ersten zeile wird die Ini datei mit create kreiert
    ini:=tinifile.Create(pfad);

    //hier läuft er alle Komponenten von Form1 durch und speichert die Werte
    writeValues(form1);

  except
    showmessage('Es konnte keine Datei erstellt werden!'+chr(13)+
          'Falls Sie das Programm von CD Starten kopieren Sie bitte die *.exe auf ihre Festplatte und starten Sie erneut!');
  end;
  ini.Free;
end;





{-----------------------------------------------------------------------------
  Description:  Liest aus einer INI
  Procedure:    leseini
  Arguments:    pfad:string
  Result:      None
  Detailed description:
-----------------------------------------------------------------------------}

procedure leseini(pfad:string);
var ini:TInifile;
     i:integer;


    procedure readValues(comp:Tcomponent);
    var i:integer;
    begin
      with comp do
        for i:=0 to ComponentCount -1 do
          begin
          if Components[i] is TCheckBox then
            TCheckBox(Components[i]).Checked:=ini.readBool(comp.Owner.Name+' '+comp.Name+' '+Components[i].ClassName,Components[i].Name,TCheckBox(Components[i]).Checked);
          end;
    end;
begin
  ini:=tinifile.Create(pfad);
  try
    if fileexists(pfad) then
      begin
      //hier läuft er alle Komponenten durch und liest die Werte
      readValues(form1);
      end;
  except
    showmessage('Es konnte keine Datei erstellt werden!'+chr(13)+
          'Falls Sie das Programm von CD Starten kopieren Sie bitte die *.exe auf ihre Festplatte und starten Sie erneut!');
  end;
  ini.Free;
end;
So jetzt musst du nur die Procedure aufrufen, einen Pfad angeben und die Sacher ist gegessen.
Im OnShow und im OnClose würde ich die Procedure leseini, bzw. schreibeini ausführen.

Gruß Alexander
Alexander Roth
Ich bin umgestiegen auf: Lazarus und Ubuntu! Alles OpenSource!

Besuch doch mal: www.roth.us.ms
  Mit Zitat antworten Zitat
Antwort Antwort


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