![]() |
Komponoentennamen in Schleifen
Ich möchte mehrere Komponenten (Labels) die gleiche anweisung erteilen, am liebsten in einer for to schleife die die Nummer (LabelI) als Variable deklariert. Da das aber nicht geht wollte ich fragen ob jemand eine Ausweichmöglichkeit kennt.
nick-xyz- |
Re: Komponoentennamen in Schleifen
|
Re: Komponoentennamen in Schleifen
Such mal nach "FindKomponent", oder deklariere die Labels von vonerein als Array.
gruss |
Re: Komponoentennamen in Schleifen
Hallo,
umd die vorherigen Beiträge zu kombinieren: ;-)
Delphi-Quellcode:
Diesen Code würde ich aber nur verwenden, wenn wirklich so viele Labels auf dem Formular sind wie die Konstante LabelZahl ist.
const LabelZahl = 5; // Kannst du festlegen
var Labels: Array[1..LabelAnzahl] of TLabel; (********************) // onFormCreate: var N: Cardinal; begin for N := 1 to LabelAnzahl do Labels[N] := (Form.FindControl('Label' + IntToStr(N)) as TLabel); end; (********************) // irgendeine Prozedur: var N: Cardinal; begin for N := 1 to LabelZahl do Labels[N].Caption := 'XYZ'; end; Gruß, ManuMF |
Re: Komponoentennamen in Schleifen
Wenn ich den Quelltext eingebe wie vorgegeben kommt die Fehlermeldung :
'Zugriffsverletzung bei Adresse 0042FCAF in Modul 'Project1.exe'. Lesen von Adresse 00000057.' nick-xyz- |
Re: Komponoentennamen in Schleifen
Dann poste mal deinen Quellcode, bzw. häng ihn an mal als Anhang an.
|
Re: Komponoentennamen in Schleifen
Ich bin vorher von Labeln ausgegangen und jetze auf Edits umgestiegen.
Delphi-Quellcode:
const EditAnzahl = 6;
var Form1: TForm1; ZZahl : Integer; Wert : Array[1..6] of Integer; Edit : Array[1..EditAnzahl] of TEdit; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Randomize; end; procedure TForm1.Button1Click(Sender: TObject); var I : Integer; begin I := StrToInt(Edit7.Text); Repeat ZZahl := Random(6)+1; Case ZZahl of 1 : Inc(Wert[1]); 2 : Inc(Wert[2]); 3 : Inc(Wert[3]); 4 : Inc(Wert[4]); 5 : Inc(Wert[5]); 6 : Inc(Wert[6]); end; Dec(I); Until I = 0; Label7.Caption := 'Es wurden '+IntToStr(Wert[1])+' '+Edit1.Text+'en gewürfelt.'; Label8.Caption := 'Es wurden '+IntToStr(Wert[2])+' '+Edit2.Text+'en gewürfelt.'; Label9.Caption := 'Es wurden '+IntToStr(Wert[3])+' '+Edit3.Text+'en gewürfelt.'; Label10.Caption := 'Es wurden '+IntToStr(Wert[4])+' '+Edit4.Text+'en gewürfelt.'; Label11.Caption := 'Es wurden '+IntToStr(Wert[5])+' '+Edit5.Text+'en gewürfelt.'; Label12.Caption := 'Es wurden '+IntToStr(Wert[6])+' '+Edit6.Text+'en gewürfelt.'; end; procedure TForm1.RadioGroup1Click(Sender: TObject); var I : Cardinal; begin Case RadioGroup1.ItemIndex of 0 : For I := 2 to 6 do Edit[I].visible := false; end; end; |
Re: Komponoentennamen in Schleifen
Und wo ist da der Quelltext von ManuMF ?
|
Re: Komponoentennamen in Schleifen
Tut mir Leid ich war zu blöd alles abzupinseln. Jetze klappts dankeschön.
nick-xyz- |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:35 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