![]() |
FindComponent =>Für Variablen?
Irgendwie hab ich mah wieder keinen plan, wie ich sowas anstelle:
Das ist der Ausgangscode, der funktioniert
Delphi-Quellcode:
Und so gehts nicht:('Felder[y][x]'Hier liegt wohl eindeutig das Problem)
Form1.Name[x]:= Round(100*(Form2.FindComponent('Name'+IntToStr(x)) as TJvSpinEdit).Value);//Form1.Name:Array[1..12] of Integer
Delphi-Quellcode:
Irgendwie ist mir im Moment nicht so richtig klar, wie ich hier die Variable(Form1.Felder[y][x) eigenlich Form1.Name[x]) ansteuere, wenn diese den gleichen namen hat, wie die Komponente? :drunken:
Felder[1]:='Name';////Array [1..12]of WideString
for y:= 1 to 1 do for x := 1 to 12 do Form1.Felder[y][x]:= Round(100*(Form2.FindComponent(Felder[y]+IntToStr(x)) as TJvSpinEdit).Value); Unter was muss ich da suchen???Wie geht datt?? |
Re: FindComponent mit Variablen kombinieren ?
Gewöhn Dir einfach ab, dieses bescheuerte 'FindComponent' zu verwenden. Pack die Controls, über die Du iterieren willst, in ein Array und gut ist. Dann kannst Du den Komponenten endlich ordendliche Namen verpassen, z.B. 'edTolerance', oder 'sedToleranz' (sed=Spin edit)...
|
Re: FindComponent mit Variablen kombinieren ?
@alzaimar
Genau das will ich ja für die Programmberechnung tun, doch dafür muss den Variablen erst mal datt Value aus dem JVSpinedit zuweisen oder??? Zitat:
|
Re: FindComponent =>Für Variablen?
Ha, ha. Immer wenn ich 'FindComponent' sehe, reagiere ich so. Pavlov eben.
Wie ist 'Form1.Felder' denn definert? Egal wie, Du schreibst einerseits
Delphi-Quellcode:
und danach
Felder[1]:='Name'; // Felder ist also ein Array of String
Delphi-Quellcode:
Und Komponenten in Arrays packen geht ganz einfach:
Felder[y]{[x] := Round (irgendwas); // Felder ist also ein Array of Array of Integer
Delphi-Quellcode:
Dein Problem ist aber die Deklaration von Form1.Felder
Type
TMyForm = Class (TForm) ... Private fMySpinEdits : Array of TJvSpinEdit; ... End; Procedure TMyForm.FormCreate (Sender : TObject); Begin SetLength (fMySpinEdits,10); // Wenn Du 10 Spin Edits hast fMySpinEdits[0] := SomeSpinEdit; fMySpinEdits[1] := sedTolerance; ... End; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:44 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