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.