Autor Beitrag
tmkb
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 59



BeitragVerfasst: Di 25.06.02 17:25 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 55



BeitragVerfasst: Di 25.06.02 17:38 
Hi,

ich würde statt Edit eine SpinEdit-Komponente verwenden
(mit Edit halt strtoint(Edit1.text))

ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 114



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 160



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 344



BeitragVerfasst: 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
user defined image

_________________
Mit dem Computer löst man Probleme, die man ohne ihn nicht hätte.
Entwickler von SpaceTrek: The New Empire - Siehe Hompage!
Torsten
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 160



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 307

Win XP Prof, Linux, Win 7
D5 Prof, D7 Architect, D2005 Architect, D2007 Architect
BeitragVerfasst: Mi 26.06.02 10:14 
Am einfachsten ist immer noch
ausblenden 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:

_________________
Alfons Grünewald
Torsten
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 160



BeitragVerfasst: Mi 26.06.02 10:30 
Ja, genau.

Beispielsweise so:

ausblenden 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.
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 27.06.02 11:37 
Hallo.
Das geht auch ohne try-except oder OnKey...:


ausblenden 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.:
ausblenden Quelltext
1:
2:
3:
4:
 
intZahl := StrToIntDef(Edit1.Text, -1);
if intZahl = -1 then
  Fehlerbehandlung;


Ciao
L.E.A.