Felder

Hallo!
Folgender Code erzeugt ein Integerfeld der Größe 10, legt dan einen Wert fest (letzte Zeile dient nur der Überprüfung):

procedure TForm1.FormCreate(Sender: TObject);
var A: array of Integer;
begin
SetLength(A, 10);
A[5] := 9;
Form1.Caption := IntToStr(A[5]);
end;

Was muss ich schreiben, um ein Feld von TButtons der Größe 10 zu erzeugen?

hi,
ich hab mal was aus (m)einem alten delphi3 programm kopiert:
sind TEdit statt TButton. ob du das meinst?

edField : array of TEdit;
for i := 0 to FAnzWerte-1 do
begin
edField := TEdit.Create(RadioGroup_Werte); { neues Editierfeld wird erzeugt, }
edField.Parent := ScrollBox_Werte; { und dem Formular zugeordnet }
edField.Name := ‚ed_‘ + IntToStr(i);
edField.SetBounds(links, oben + i * (hoch + FeldAbstand), breit, hoch); {Position und Abmessungen neu setzen }
edField.Text := ‚‘;
edField.{OnClick}OnKeyPress := EditHandler;
edField.Hint := Beschreibung_lang[j, 2];
end
Bei Parent evtl. das Formular oder die Application setzen.

procedure TForm_Child_Werte.EditHandler(Sender: TObject; var Key: Char);
{ Event-Handler für Editierfelder.
. wird zu Vereinheitlichung in , umgewandelt. }
begin
edField := TEdit(Sender); { auf dieses Feld wurde geklickt }

end;

ciao chris

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

weiter unten steht ein hilfreicher artikel
„mehrere tedit verwalten“

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var edField : array of TButton;
var i: integer;
begin

for i := 0 to 10 do
begin
edField := TButton.Create(RadioGroup_Werte);
edField.Parent := ScrollBox_Werte; { und dem Formular zugeordnet }
edField.Name := ‚ed_‘ + IntToStr(i);
edField.SetBounds(links, oben + i * (hoch + FeldAbstand), breit, hoch); {Position und Abmessungen neu setzen }
edField.{OnClick}OnKeyPress := EditHandler;
edField.Hint := Beschreibung_lang[j, 2];
end
end;

procedure TForm_Child_Werte.EditHandler(Sender: TObject; var Key: Char);
begin
edField := TButton(Sender);
//…
end;

end.

// Ergibt eine Fehlermeldung.