hab da ein formular (siehe anhang) in dem befinden sich einige editfelder checkboxen und radiobotten. wie kann ich die einstellungen speichern bevor der user sie verändert, um sie dann wiederherzustellen wenn der user auf abbrechen drückt?
hab da ne möglichkeit gefunden aber die war ziehmlich lang(siehe unten)
wäre echt gut wenn mir da jemand eine ein wenig schnellere lösung hat
procedure TTfrm_kanaele.bt_abbrechenClick(Sender: TObject);
begin
(*alte werte wiederherstellen, in die editfelder Kanal schreiben
und formular schließen*)
Tfrm_kanaele.ed_e1.Text:=bu_ed_e1;
Tfrm_kanaele.ed_e2.Text:=bu_ed_e2;
...
Tfrm_kanaele.ed_e20.Text:=bu_ed_e20;
Tfrm_kanaele.ed_a1.Text:=bu_ed_a1;
Tfrm_kanaele.ed_a2.Text:=bu_ed_a2;
...
Tfrm_kanaele.ed_a10.Text:=bu_ed_a10;
Hi. Geh in einer Schleife alle Komponenten des Arrays Form1.Components[] durch. Bei jedem Durchlauf speicherst du in einer Ini in einer Section mit dem Namen der aktuellen Komponente (Form1.Components[x].Name). In diese Section schreibst du zum einen einen Wert "Typ", der abhängig davon, ob ein boolscher Wert (true oder false) oder aber ein Text gespeichert werden soll, entweder z.B. "1" oder "0" ist. Der zweite Wert jeder Section ist dann der eigentliche Boolsche Wert (z.B. 0 für checked = false und 1 für checked = true oder "Test" für Text = "Test"). Beim Laden kannst du dann das Ganze einfach rückwärts wieder laden.
Beispiel, wie die Ini Datei später aussehen könnte:
leider häge ich jetzt an einer anderen stelle.
ich habe ein formular(siehe anhang) und darin habe ich einen botton1 und eine groupbox1 die 4 eingabefelder enthält.
ich möchte nun alle inhalte die der user in die 4 textboxen eingibt durch eine while-schleife in ein array speichern. hab aber nur die möglichkeit gefunden den namen der textbox zu speichern.
hier mal mein versuch erst mal den den text in eine variable zu speichern:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
s:string;
begin
i:=0;
s:=form1.GroupBox1.Controls[i].Text; //hier mein problem
showmessage(s);
end;
das resultat ist eine fehlermeldung: undeclared indentifier:'Text'
da ich erst vor kurzem mit delphi begonnen habe weiß ich nun nicht wie ich auf die fehlermeldung reagieren soll.
for z := 0 to GroupBox1.ControlCount-1 do begin if GroupBox1.Controls[z] is TEdit then
showmessage(TEdit(GroupBox1.Controls[z]).Text); if GroupBox1.Controls[z] is TCheckBox then if TCheckBox(GroupBox1.Controls[z]).Checked then
showmessage(TCheckBox(GroupBox1.Controls[z]).Name+' ist aktiviert'); //was sonst noch enthalten sein kann end;
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )