Thema: Delphi Beliebiges Edit ändern

Einzelnen Beitrag anzeigen

Samufi

Registriert seit: 27. Nov 2008
Ort: Güstrow
93 Beiträge
 
Turbo Delphi für Win32
 
#1

Beliebiges Edit ändern

  Alt 1. Dez 2008, 16:37
Hallo,
ich habe beliebig viele Editfelder und zu jedem einen RadioButton. Ich möchte, dass 'Inhalt' in das Edit geschrieben wird, dessen RadioButton angeklickt ist. Ist es möglich das ohne ein Ausschreiben mit 'if' hinzubekommen, wenn ja, ist das auch für eine unbegrenzte Anzahl Edits machbar? Zur besseren Verständlichkeit ist hier der Quellcode, mit dem die Edits erstellt werden:
Delphi-Quellcode:
unit Ausgabe;

interface

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

type
  TFrame1 = class(TFrame)
    Button1: TButton;
    Edit1: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
var frame1:Tframe1;

implementation

{$R *.dfm}
uses HauptUnit;
procedure TFrame1.Button1Click(Sender: TObject);

VAR I:Integer; newEdit, newEdit2:TEdit; newRadioButton:TRadioButton;
BEGIN
I:=Strtoint(HauptUnit.Form1.EditNR.text);
      newEdit2 := TEdit.Create(Self);
      newEdit2.Name := 'eCode'+IntToStr(I);
      newEdit2.Parent:=Self;
      newEdit2.Visible:=false;
      newRadioButton:=TRadioButton.Create(Self);
      newRadioButton.Name:='Markiere'+InttoStr(I);
      newRadioButton.Parent:=Self;
      newRadioButton.top:= I * 30 + 8;
      newRadioButton.Left:=4;
      newRadioButton.checked:=true;
      newRadioButton.caption:='';
      newRadioButton.Visible:=true;
      newRadioButton.Show;
      newEdit := TEdit.Create(Self);
      newEdit.Name := 'eAusgabe'+IntToStr(I);
      newEdit.Parent := Self;
      newEdit.Top := I * 30 + 8; {Abstand in Abhängikeit von I}
      newEdit.Left := 30;
      newEdit.Width := 500;
      newEdit.Ctl3D:=false;
      newEdit.borderstyle:=bsnone;
      newEdit.ReadOnly:=true;
      newEdit.Text:='';
      newEdit.Show;
HauptUnit.Form1.EditNR.text:=inttostr(I+1);
end;

end.
Es würde mir schon reichen, wenn man schreibt, wie man das Edit der Nr '?' bearbeiten kann, wenn man Nr zur Laufzeit eingeben kann.
Vielen Dank für alles Nachdenken!
Treuergebenst
Samufi
  Mit Zitat antworten Zitat