![]() |
Schleife für Label-Zuweisung
hallo,
ich hab ein Array, aus dem die Werte der Reihe nach ausgelesen werden und dann auf dazugehörige Labels geschrieben werden.
Delphi-Quellcode:
usw...
OutA.Caption:= IntToStr(countArray[65]);
OutB.Caption:= IntToStr(countArray[66]); OutC.Caption:= IntToStr(countArray[67]); Wie kann ich daraus eine Schleife machen, sodass ich nicht alle einzeln angeben muss? Danke im Voraus MfG the_source |
Re: Schleife für Label-Zuweisung
Such mal nach Findcomponent und chr/ord. Damit kannst du alles in einen Ausdruck schreiben.
|
Re: Schleife für Label-Zuweisung
Willst Du es so?
Procedure MeinVorschlag; VAR I:integer; Begin for I=65 to 67 do Form1.OutC.Caption:= IntToStr(countArray[i]); END; GotoEits |
Re: Schleife für Label-Zuweisung
Was würde das denn bringen? Die Schleife ist nutzlos. Im Endeffekt hast du nur im C-Label den passenden Wert stehen und die anderen beiden überhaupt nicht angesprochen.
|
Re: Schleife für Label-Zuweisung
@Toxman
Habe ich auch gerade gesehen... |
Re: Schleife für Label-Zuweisung
Findcomponent würd ich da nicht hernehmen! ich würd die in einen array stecken:
Delphi-Quellcode:
var Labels: array[0..xxx] of TLabel;
procedure Labelset; begin Labels[0] := LabelA; Labels[1] := LabelB; ... ... end; procedure Labelwrite; var i: Integer; begin for i := 0 to high(Labels) do Labels[i].Caption := cpations[i]; end; |
Re: Schleife für Label-Zuweisung
Zitat:
Aber, wie wäre es, die Labels einfach zur Laufzeit zu erzeugen? |
Re: Schleife für Label-Zuweisung
Wieso zurückkommen? LabelA ist nichts anderes als ein 32bit-Speicherbereich, in dem die Adresse einer TLabel-Instanz steht. Du kannst gerne auch so machen:
Delphi-Quellcode:
var labels: array['A'..'Z'] of TLabel;
labels['A'].Caption := blablabla.... |
Re: Schleife für Label-Zuweisung
Ich hatte mal ein ähnliches Problem. Ich habe die Labels dann zur Laufzeit generiert. Das ganzeim Array. Im Prinzip ist es wie die Zuweisung in ein Array, nur das man auch die Initialisierung in einer Schleife ausführen kann. Genauen Code habe ich leider nicht zur Hand.
|
Re: Schleife für Label-Zuweisung
Hai,
wenn eh ein Array da ist kann ich dort doch auch gleich die Werte und die Labels ablegen.
Delphi-Quellcode:
type
TCounterRecord = record Counter: Integer; CounterLabel: TLabel; end; var CounterArray: array[1..10] of TCounterRecord; procedure TDemoForm.btn_testClick(Sender: TObject); var ndx: Integer; begin for ndx := Low(CounterArray) to High(CounterArray) do begin with CounterArray[ndx] do begin CounterLabel.Caption := IntToStr(CounterArray[ndx].Counter); end; end; end; procedure TDemoForm.FormCreate(Sender: TObject); var ndx: Integer; begin CounterArray[1].CounterLabel := Label1; CounterArray[2].CounterLabel := Label2; CounterArray[3].CounterLabel := Label3; CounterArray[4].CounterLabel := Label4; CounterArray[5].CounterLabel := Label5; CounterArray[6].CounterLabel := Label6; CounterArray[7].CounterLabel := Label7; CounterArray[8].CounterLabel := Label8; CounterArray[9].CounterLabel := Label9; CounterArray[10].CounterLabel := Label10; for ndx := 1 to 10 do CounterArray[ndx].Counter := ndx; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:01 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