AGB  ·  Datenschutz  ·  Impressum  







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

Komponoentennamen in Schleifen

Ein Thema von nick-xyz- · begonnen am 31. Mär 2006 · letzter Beitrag vom 31. Mär 2006
Antwort Antwort
nick-xyz-

Registriert seit: 31. Mär 2006
11 Beiträge
 
Delphi 7 Personal
 
#1

Komponoentennamen in Schleifen

  Alt 31. Mär 2006, 19:57
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-
Wer Rechtschreibfehler findet, darf sie behalten.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Komponoentennamen in Schleifen

  Alt 31. Mär 2006, 19:58
Hallo

Suche mal im Forum nach Hier im Forum suchenFindComponent
Thomas
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Komponoentennamen in Schleifen

  Alt 31. Mär 2006, 19:59
Such mal nach "FindKomponent", oder deklariere die Labels von vonerein als Array.

gruss
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#4

Re: Komponoentennamen in Schleifen

  Alt 31. Mär 2006, 20:03
Hallo,

umd die vorherigen Beiträge zu kombinieren:

Delphi-Quellcode:
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;
Diesen Code würde ich aber nur verwenden, wenn wirklich so viele Labels auf dem Formular sind wie die Konstante LabelZahl ist.

Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
nick-xyz-

Registriert seit: 31. Mär 2006
11 Beiträge
 
Delphi 7 Personal
 
#5

Re: Komponoentennamen in Schleifen

  Alt 31. Mär 2006, 20:27
Wenn ich den Quelltext eingebe wie vorgegeben kommt die Fehlermeldung :
'Zugriffsverletzung bei Adresse 0042FCAF in Modul 'Project1.exe'. Lesen von Adresse 00000057.'

nick-xyz-
Wer Rechtschreibfehler findet, darf sie behalten.
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Komponoentennamen in Schleifen

  Alt 31. Mär 2006, 20:31
Dann poste mal deinen Quellcode, bzw. häng ihn an mal als Anhang an.
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
nick-xyz-

Registriert seit: 31. Mär 2006
11 Beiträge
 
Delphi 7 Personal
 
#7

Re: Komponoentennamen in Schleifen

  Alt 31. Mär 2006, 20:38
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;
Wer Rechtschreibfehler findet, darf sie behalten.
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Komponoentennamen in Schleifen

  Alt 31. Mär 2006, 20:44
Und wo ist da der Quelltext von ManuMF ?
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
nick-xyz-

Registriert seit: 31. Mär 2006
11 Beiträge
 
Delphi 7 Personal
 
#9

Re: Komponoentennamen in Schleifen

  Alt 31. Mär 2006, 20:49
Tut mir Leid ich war zu blöd alles abzupinseln. Jetze klappts dankeschön.

nick-xyz-
Wer Rechtschreibfehler findet, darf sie behalten.
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz