Einzelnen Beitrag anzeigen

Benutzerbild von LoW_FloW
LoW_FloW

Registriert seit: 29. Nov 2003
117 Beiträge
 
Delphi 7 Professional
 
#10

Re: Problem mit einer Variable

  Alt 21. Dez 2003, 22:37
Das wird einfach nicht aus der INI gelöscht...nur aus der ValueList!
Hier der volle Source:
Code:
unit uDatenbank;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, ValEdit, ExtCtrls, StdCtrls, Inifiles;

type
  TForm1 = class(TForm)
    cbSperren: TCheckBox;
    lblSperren: TLabel;
    Panel1: TPanel;
    Label2: TLabel;
    ValueList: TValueListEditor;
    Edit1: TEdit;
    btnListe: TButton;
    Button2: TButton;
    Edit2: TEdit;
    Button3: TButton;
    Panel2: TPanel;
    Label1: TLabel;
    Label3: TLabel;
    procedure btnListeClick(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  Ini : TIniFile;
  Sections: TStringlist;
implementation

{$R *.dfm}

procedure TForm1.btnListeClick(Sender: TObject);
var
i : integer ;
begin

if (Edit1.Text <>'') AND (Edit2.Text <> '') then begin
    ValueList.InsertRow(Edit1.Text,Edit2.Text, True);
    Edit1.Text := '';
    Edit2.Text := '';
    ini := TIniFile.Create('.\daten.ini');
    // Schleife, um alle Werte der Value-List in die Ini zu schreiben
    // warum for i := 1? Bei Null würde auch der Tabellenkopf mit
    // mit gespeichert werden!
    for i := 1 to (ValueList.RowCount - 1) do begin
       // Zuerst den Key, logisch, und dann den dazugehörigen Wert,
       // den wir leider nicht über den Index sondern über den
       // Key direkt rausfinden! 
       ini.WriteString('Sektion1', ValueList.Keys[i],
                        ValueList.Values[ValueList.Keys[i]]);
    end;
    ini.Free;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
i : integer ;
// j, help : integer ;
begin
//    for j := 0 to (ValueList.RowCount - 1) do
//     ValueList.DeleteRow(i);
  Sections := TStringList.Create;
  ini := TIniFile.Create('.\daten.ini');
  ini.ReadSection('Sektion1', Sections);
  ini.ReadSectionValues('Sektion1', Sections);
  for i := 0 to Sections.Count - 1 do
     ValueList.InsertRow(Sections.Names[i],Sections.Values
               [Sections.Names[i]],True);
  ini.Free;
  Sections.Free;
end;

[b]procedure TForm1.Button3Click(Sender: TObject);
begin
  // hier brauch man glaub ich nicht viel erklären, hier wird einfach
  // der Wert aus der Ini gelöscht, der im Moment in der ValueList
  // markiert ist
  ini := TIniFile.Create('.\daten.ini');
  ini.DeleteKey('Daten', ValueList.Keys[ValueList.Row] );
  ini.Free;

  // Und erst danach können wir den Wert selber auch aus der
  // Valuelist entfernen
  ValueList.DeleteRow(ValueList.Row);

end;[/b]

end.
Für Hilfe wäre ich dankbar
  Mit Zitat antworten Zitat