Autor Beitrag
Ottchen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 43



BeitragVerfasst: Mi 11.12.02 20:08 
Hallo Liste,

also die Repeat-Until-Schleife muss doch irgendwie mit dem Button "zusammenpassen". Eure Vorschläge funktionieren bei mir leider nicht. Mit einer IF-Bedingung klappts, aber wie mit Repeat-Until? Ich habe hier nur Abstürze bzw. Endlosschleifen.

Hier der Code mit IF
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
procedure TForm1.Button1Click(Sender: TObject);

begin

zahl:=strtoint(edit1.text);
  if zahl>=0 then
    begin
      summe:=summe+zahl;
      panel1.Caption:=inttostr(summe);
    end
   ELSE showmessage('Negative Zahl');          //Umständlich? immer auf Button1 klicken
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  summe:=0;
  edit1.text:='';
  panel1.Caption:='';

end;



Habt ihr noch eine Idee?

(12.12. 09:24 Tino) Titel geändert & Topic verschoben.

_________________
See you.
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Mi 11.12.02 20:46 
hallo

was soll das? ich seh keinen Sinn drin.Du willst solange Zahlen addieren, die in einem Editfeld eingegeben werden, bis die Zahl negativ ist. Prüfen tust du aber nur einmal beim Buttonklick, dann wird sturr weiteraddiert, da sich die Zahl innerhalb einer Repaet-Schleife beim Buttonklick nie wieder ändern wird zumahl in deiner geposteten Repaetschleife nur 1xaußerhalb der schleife auf die Zahl gerüft wird... das haben aber schon die anderen versucht, dir zu verklickern

Warum muß es denn der Button klick sein?
Probiers doch mal mitr einem Enterdruck beim Stringgrid

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure TForm1.Button1Click(Sender: TObject);
begin
  //initialisieren
  label1.caption:='0';
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
Var Zahl:integer;
begin
  //return im Editfeld gedrückt, Zahl addieren
  if Key=chr(vk_return) then
    begin
      Zahl:=strtoint(edit1.text);
      //nur positive Zahlen zulassen
      if zahl>=0 then label1.caption:=inttostr( strtoint(label1.caption)+Zahl );
    end;
end;


Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: Mi 11.12.02 21:04 
Sinn=0:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure TForm1.Button2Click(Sender: TObject);
Var Zahl:integer;
    Abbruch:boolean;

begin
  Abbruch := false;
  repeat
    try
      Zahl:=strtoint(edit2.text);
      if zahl>=0 then label2.caption:=inttostr( strtoint(label2.caption)+Zahl );
    except
      Abbruch:=true;
    end;
    application.ProcessMessages;
    Sleep(50);
  until (zahl<0) or (abbruch);
end;

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)