"while" Or "repeat ... Until"

  • Автор темы Snuppy
  • Дата начала
S

Snuppy

Как переобразоватъ етот код чтобы был изполъзован цыкл "While" or "Repeat ... Until"?
Kод:


Код:
procedure TForm2.Button1Click(Sender: TObject); 
var s:string; 
i,count:integer; 
begin 
s:=edit1.Text; 
count:=0; 
if Pos('111111', Edit1.Text) <> 0 then 
label2.caption:='Ir 6 vieninieki pēc kārtas!' 
else 
label2.caption:='Nav 6 vieninieki pēc kārtas!'; 
end;

Cпасибо !
 
E

etc

Никак, тут цыклы нафик не нужны, как впррочем и сам "код"ю :(
 
S

Snuppy

Я знаю
Но мне надо с этим циклом "while" Or "repeat ... Until" :)
 
E

etc

ну тогда както так:
Код:
count := 0;
while (length(s) > 0) do begin
if s[1] = '1' then count := count + 1;
delete(s, 1, 1);
end;
label2.caption:=Format('Ir %d vieninieki pēc kārtas!', [count]);

писал тут, необессудте за ошибки.
 
S

Snuppy

Так правильнo? :
Код:
procedure TForm2.Button1Click(Sender: TObject);
var s:string;
i,count:integer;
begin
s:=edit1.Text;
count:=0;
While pos('111111', s) < 0 Do
Begin
if s[1] = '1' then
count := count + 1;
delete(s, 1, 1);
end;
If Pos('111111', edit1.text)<>0 then
label2.caption:=('Are six 1 in succession!')
else
label2.caption:=('Tt is not six 1 in succession!');
End;
 
E

etc

Вы по русски скажите, что надо в результате получить? А этот код, это какойто бред ;)
 
S

Snuppy

все порядок

Код:
var 
i,s:integer; 
Flag:bool; 
begin 
i:=1;S:=0;
Flag:=false;
while(i<=Length(Edit1.Text)) do
begin
if(Edit1.Text[i]='1') then
inc(S)
else
S:=0;
if(S=6) then
begin
Flag:=true;
break;
end;
inc(i);
end;
if(Flag) then
result.caption:='Ir 6 vieninieki pec kartas!'
else
result.caption:='Nav 6 vieninieki pec kartas!';
end;

спасибо
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!