Announcement

Collapse
No announcement yet.

Komponenteneigenschaften zur Laufzeit speichern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Komponenteneigenschaften zur Laufzeit speichern

    Ich benutze mehrere BitBtn mit möglicher Farbänderung.Durch ein Popupmenu ändere ich zur Laufzeit die Buttonfarbe und symbolisiere somit verschiedene Funktionen.Bei erneutem Programmstart sollen die Buttons die Farbeinstellung der letzten Sitzung erhalten um dem Anwender seine letzten Aktionen deutlich zu machen.Wie ist diese Farbspeicherung am besten durchzuführen?Danke!

  • #2
    Hallo
    Zum speichern gibt es mehrere Möglichkeiten z.B. Registry oder eine INI Datei.<br>
    Ich persönlich ziehe eine INI Datei vor, da das auch unter Windows 3.1 läuft.<br>
    <br><br><br>

    <b>Lesen der INI Datei:</b><br>
    const<br>
    MainSection = 'MainSection';<br>
    DescSection = 'Description';<br>

    NameInd = 'Name';<br>
    AgeInd = 'Age';<br>
    MarInd = 'Marryed';<br>
    RegInd = 'Region';<br>
    CountInd = 'Count';<br>
    {$R *.DFM}<br>
    <br>
    procedure TForm1.FormCreate(Sender: TObject);<br>
    Var<br>
    fst : String;<br>
    begin<br>
    fst := Copy (Application.ExeName, 1, Pos('.', Application.ExeName) -1) + '.ini';<br>
    Inif := TIniFile.Create(fst);<br>
    with Inif do begin<br>
    Edit1.Text := ReadString(MainSection, NameInd, '');<br>
    MaskEdit1.Text := ReadString(MainSection, AgeInd, '25');<br>
    CheckBox1.Checked := ReadBool(MainSection, MarInd, True);<br>
    RadioGroup1.ItemIndex := ReadInteger(MainSection, RegInd, 3);<br>
    Count := ReadInteger(DescSection, CountInd, 0);<br>
    end;<br>
    end;<br>
    <br><br>

    <b>Schreiben der INI Datei:</b><br>
    procedure TForm1.FormDestroy(Sender: TObject);<br>
    Var<br>
    i : Integer;<br>
    begin<br>
    with Inif do begin<br>
    WriteString(MainSection, NameInd, Edit1.Text);<br>
    WriteString(MainSection, AgeInd, MaskEdit1.Text);<br>
    WriteBool(MainSection, MarInd, CheckBox1.Checked);<br>
    WriteInteger(MainSection, RegInd, RadioGroup1.ItemIndex);<br>
    WriteInteger(DescSection, CountInd, Memo1.Lines.Count);<br>
    end;<br>
    Inif.Free;<br>
    end;<br><br><br>

    Du mußt noch IniFiles in die uses aufnehmen!<br><br>

    MfG<br>
    Irfa

    Comment

    Working...
    X