Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Delphi noob braucht Hilfe (Schleifen)
ZeroJoker - Fr 24.03.06 15:20
Titel: Delphi noob braucht Hilfe (Schleifen)
Hallo,
ich bin ein Neuling in Delphi und brächte eine Hilfestellung bei folgendem Problem:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| type VArray= Array [1..6] of integer; ...
procedure TForm1.Bu_StartClick(Sender: TObject); var i:integer; tipp:VArray; begin for i:= 1 to 6 do Tipp[i]:=form1.spinedit(>><<).value; end; end; |
Ich möchte, dass an der Stelle (>><<) die Variable i eingesetzt wird, sodass im 1. Schleifendurchlauf Spinedit
1.value ansgelesen wird, im 2. Duchlauf dann Spinedit
2.value,...
Ist das möglich?
Danke
ZeroJoker
Moderiert von
Gausi: Code- durch Delphi-Tags ersetzt
Moderiert von
Tino: B- durch Highlight-Tags ersetzt
Born-to-Frag - Fr 24.03.06 15:25
Schau dir mal FindComponent(); an ;)
greetz
ZeroJoker - Fr 24.03.06 16:20
Hi,
danke schonmal, brauche aber nochmal Hilfe.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Bu_StartClick(Sender: TObject); var i:integer; tipp:VArray; spineditname:string; begin spineditname:='Spinedit'+inttostr(i); for i:= 1 to 6 do begin Tipp[i]:=strtoint (form1.FindComponent(spineditname)as TSpinEdit.value); end; end; |
Ich bekomme als Fehlermeldung: "Methodenbezeichner erwartet".
Danke
ZeroJoker
Moderiert von
Gausi: Code- durch Delphi-Tags ersetzt
Delete - Fr 24.03.06 16:42
Hi ZeroJoker. :wave:
Ich bin mir nicht sicher, aber vielleicht klappts, wenn du noch eine Klammer um den
As-Ausdruck setzt.
Außerdem solltest du das setzen von
spineditname in die Schleife verschieben, da
spineditname sonst immer
'Spinedit0' enthält.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Bu_StartClick(Sender: TObject); var i : integer; tipp : VArray; spineditname : string; begin for i := 1 to 6 do begin spineditname := 'Spinedit' + IntToStr(i); Tipp[i] := (Form1.FindComponent(spineditname) as TSpinEdit).Value; end; end; |
Edit@Born-To-Frag: :oops: Das kommt davon, wenn man vor dem Posten nicht in die Onlinehilfe schaut... :oops: Habs korrigiert.
Born-to-Frag - Fr 24.03.06 16:54
Waldteufel hat folgendes geschrieben: |
Hi ZeroJoker. :wave:
Ich bin mir nicht sicher, aber vielleicht klappts, wenn du noch eine Klammer um den As-Ausdruck setzt.
Außerdem solltest du das setzen von spineditname in die Schleife verschieben, da spineditname sonst immer 'Spinedit0' enthält.
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| procedure TForm1.Bu_StartClick(Sender: TObject); var i : integer; tipp : VArray; spineditname : string; begin for i := 1 to 6 do begin spineditname := 'Spinedit' + IntToStr(i); Tipp[i] := StrToInt((Form1.FindComponent(spineditname) as TSpinEdit).value); end; end; | |
Stimmt auch nicht nicht ganz:
Value ist schon ein Integer, also ist
StrToInt(); überflüssig ;)
Wenn du es in eine Zeile schreiben willst kannst du auch
Delphi-Quelltext
1: 2:
| for i := 1 to 6 do Tipp[i] := TSpinEdit(Form1.FindComponent('SpinEdit' + IntToStr(i))).Value; |
schreiben.. mit
As geht natürlich auch in eine Zeile ..
@Waldteufel: Wenn er i ganz oben schreibt ist i nicht unbedingt 0 ;)
greetz
ZeroJoker - Fr 24.03.06 17:27
Hi,
japs, geht wunderbar, ich danke für die schnelle Hilfe.
Danke
ZeroJoker
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!