AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Erstellen eines Eingabeformulars

Ein Thema von davar · begonnen am 1. Apr 2006 · letzter Beitrag vom 2. Apr 2006
 
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#20

Re: Erstellen eines Eingabeformulars

  Alt 2. Apr 2006, 15:13
Warum überhaupt Verweise auf die Checkboxen in einem Array speichern? Wenn man beim Erzeugen einer Checkbox einen Owner übergibt, übernimmt der doch die komplette Verwaltung. Durch einen geschickte Benennung der Komponenten kann man sie bei Bedarf über die Methode FindComponent des Owners suchen.

Wir benötigen zunächst eine Routine zum Erzeugen eines Namens für die Checkbox in Reihe aRow, Spalte aCol:
Delphi-Quellcode:
function TForm1.GetCheckboxName (aRow, aCol: Integer): string;
begin
  Result := Format('cxR%.3dC%.3d', [aRow, aCol]);
end;
Die folgende Routine liefert einen Zeiger auf die Checkbox in Reihe aRow, Spalte aCol:
Delphi-Quellcode:
function TForm1.FindCheckbox (aRow, aCol: Integer): TCheckBox;
begin
  Result := FindComponent(GetCheckboxName(aRow, aCol)) AS TCheckBox;
end;
Nun kann man die Checkboxen erzeugen:
Delphi-Quellcode:
var row, col : Integer;
    box : TCheckBox;

begin
  for row := 0 to 9 do
    for col := 0 to 9 do
    begin
      box := TCheckBox.Create(Self);
      box.Parent := Self;
      box.Name := GetCheckboxName(row, col);
      box.SetBounds (8 + 16 * col, 8 + 16 * row, 14, 14);
      box.Caption := '';
    end;
end;
Der Zugriff auf die Checkbox in Zeile row, Spalte col erfolgt dann z. B. so:
FindCheckbox(row, col).Checked := True; Zusätzlich könnte man die Funktion FindCheckbox noch als Getter-Methode für ein Array-Property benutzen.
Für den produktiven Einsatz sollte natürlich noch eine Überprüfung der Parameter in FindCheckbox eingebaut werden.

Gruß Hawkeye
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz