Einzelnen Beitrag anzeigen

Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Konfigurationen speichern in DB

  Alt 18. Mär 2005, 14:11
Ich habe mir jetzt mal testweise etwas gebastelt und alle WinControls einer Form zu finden. Eine Testform und eine zweite mit 2 Listboxen (1. alle Controls, 2. nur die mit Namen "SV_") zur Anzeige(da werde ich später Stringlisten draus machen).

Delphi-Quellcode:
procedure TForm1.ToolButton1Click(Sender: TObject);
var
  ix: Integer;
begin
  Form2.LB1.Items.Add('PageControl1'); // Initialisierung, wo welchem WinControl aus gestartet werden soll
  ix:=0;
  bbreak:=false;
  While bbreak<>True do
  begin
  ListControls(Form2.LB1.Items[ix]);
  inc(ix);
  if ix > Form2.LB1.Items.Count-1 then
    bbreak:=true;
  end;
end;
Delphi-Quellcode:
procedure TForm1.ListControls(aComponent: String);
var
  ic: Integer;
begin
 for ic:=0 to TWinControl(FindComponent(aComponent)).ControlCount-1 do
  begin
    if Pos('SV_',TWinControl(FindComponent(aComponent)).Controls[ic].Name)>0 then
       Form2.LB2.Items.Add(TWinControl(FindComponent(aComponent)).Controls[ic].Name)
    else
       Form2.LB1.Items.Add(TWinControl(FindComponent(aComponent)).Controls[ic].Name);
  end;
end;
In LB2 stehen dann nur die Controls, die mit "SV_" beginnen und Systemwerte beinhalten. Zum Schreiben in die DB wird diese Liste dann noch einmal durchlaufen, die Werte geholt und in die DB geschrieben.

Delphi-Quellcode:
// Werte holen
  for ix:=0 to Form2.LB2.Items.Count-1 do
  begin
  if TWinControl(FindComponent(Form2.LB2.Items[ix])) is TEdit then
    ShowMessage((TWinControl(FindComponent(Form2.LB2.Items[ix])) As TEdit).Text);
  if TWinControl(FindComponent(Form2.LB2.Items[ix])) is TCheckBox then
    ShowMessage(booltostr((TWinControl(FindComponent(Form2.LB2.Items[ix])) As TCheckBox).Checked));
  if TWinControl(FindComponent(Form2.LB2.Items[ix])) is TRadioButton then
    ShowMessage(booltostr((TWinControl(FindComponent(Form2.LB2.Items[ix])) As TRadioButton).Checked));
  end;
Wenn jemand eine Idee hat, wie ich das noch "schöner" machen kann, bitte immer her damit

Gruß Igotcha
  Mit Zitat antworten Zitat