Entwickler-Ecke
Sonstiges (Delphi) - Prozedur x-fach ausführen
tmkb - Di 25.06.02 17:25
Titel: Prozedur x-fach ausführen
Hallo,
wie kann ich es realisieren, dass ich eine bestimmte Prozedur so oft ausführe, wie es in edit1.text bestimmt ist?
thx
TMKB
Teutobod - Di 25.06.02 17:38
Hi,
ich würde statt Edit eine SpinEdit-Komponente verwenden
(mit Edit halt strtoint(Edit1.text))
Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.Button1Click(Sender: TObject); var i : Integer; begin for i:=0 to SpinEdit1.Value-1 do showmessage('hallo'); end; |
mfg Teutobod
Ice - Di 25.06.02 21:35
Hi !
ich würde es ähnlich machen :
1. mit strtoint(Edit1.text) wert ermitteln
2. for i=0 to Wert do
Prozeduraufruf
end;
jetzt müsste die schleife bis zum gewünschten wert durchlaufen.
Marco
Torsten - Di 25.06.02 22:53
Moinsen!
Die Variante mit SpinEdit ist sicherlich besser, da hier nicht die Eingabe abgefragt werden muss.
Das ist zwar bei einem TEdit auch nicht viel, aber immerhin.
Grüße
Torsten
Arakis - Mi 26.06.02 01:10
Titel: spin.dcu
Also ich habe eine schlechte Erfahrung mit der SpinEdit-Komonente gemacht: Alle Programme, die ich damals in Delphi 6 Personal geschrieben und ein SpinEdit benutzt haben, beschweren sich in der Delphi 6 Enterprise, es fände die Datei Spin.dcu nicht. Grrr.
Bis dann
Torsten - Mi 26.06.02 06:57
Moinsen!
Hmm, eigenartig. Das müsste man glatt mal testen.
Es spricht aber auch nix gegen andere Komponenten. Man muss nur eben aufpassen, dass man eine vernünftige Fehlerbehandlung einbaut.
Grüße
Torsten
Alfons-G - Mi 26.06.02 10:14
Am einfachsten ist immer noch
Quelltext
1: 2: 3: 4: 5: 6: 7:
| try intZahl := StrToInt(Trim(Edit1.Text)); except intZahl := 0; Beep; // evtl. mit Dialogbox Fehler anzeigen end; |
Alternativ kann man natürlich im OnKeyPress-Ereignis des TEdit gleich die Tasten abfangen, um unzulässige Zeichen zu vermeiden. Das ist dann die elegantere Methode.
:idea:
Torsten - Mi 26.06.02 10:30
Ja, genau.
Beispielsweise so:
Quelltext
1: 2: 3: 4: 5:
| procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if not (Key in['0' .. '9' ]) xor (Key=Char(VK_BACK))then Key:=#0; end; |
Grüße
Torsten
L.E.A. - Do 27.06.02 11:37
Hallo.
Das geht auch ohne try-except oder OnKey...:
Quelltext
1:
| intZahl := StrToIntDef(Edit1.Text, defaultZahl); |
Wobei du hier als defaultZahl entweder einen Standardwert nehmen kannst oder darüber die Fehlerbehandlung machst.
z.B.:
Quelltext
1: 2: 3: 4:
| intZahl := StrToIntDef(Edit1.Text, -1); if intZahl = -1 then Fehlerbehandlung; |
Ciao
L.E.A.
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!