
21.05.2015, 12:50
|
Новичок
|
|
Регистрация: 21.05.2015
Сообщения: 55
Версия Delphi: Rad Studio 10
Репутация: 10
|
|
Помогите разобраться в цикле While
Добрый день. Начал недавно учить delphi, затянуло) читаю уроки и практикуюсь, застрял на цикле while, не могу понять как правильно его написать, помогите пожалуйста, вот код:
Код:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdCookieManager, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdHTTP, StdCtrls, IdAntiFreezeBase, IdAntiFreeze;
type
TForm2 = class(TForm)
Button1: TButton;
IdHTTP1: TIdHTTP;
IdCookieManager1: TIdCookieManager;
Edit1: TEdit;
IdAntiFreeze1: TIdAntiFreeze;
Memo1: TMemo;
Memo2: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
function Pars(T_, ForS, _T: string): string;
var a, b:integer;
begin
Result := '';
if (T_='') or (ForS='') or (_T='') then Exit;
a:=Pos(T_, ForS);
if a=0 then Exit else a:=a+Length(T_);
ForS:=Copy(ForS, a, Length(ForS)-a+1);
b:=Pos(_T, ForS);
if b>0 then
Result:=Copy(ForS, 1, b - 1);
end;
procedure TForm2.Button1Click(Sender: TObject);
var
vs1, game, arena, vhod:string;
pars1:string;
post: Tstringlist;
begin
try
vhod:=IDHTTP1.get(edit1.Text);
game:=IDHTTP1.get('юрл');
if Pos('arena', game)<>0 then
while (vs1 = 'Восстановить') do
begin
try
arena:=IDHTTP1.get('юрл');
Pars1:=Pars('от', vs1, 'до');
vs1:=IDHTTP1.get('юрл'+pars1);
Memo1.Lines.Add('Бой '+pars1 +'завершён');
finally
Memo1.Lines.Add('Закончилась энергия.');
end;
end
else
Memo1.Lines.Add('Не вошли в игру.');
except
end;
begin
Memo1.Lines.Add('Готово');
end;
end;
end.
Пытаюсь написать что бы цикл повторялся до тех пор, пока в исходнике страницы vs1 не появится слово "Восстановить", но не получается. Цикл пропускается.
Уверен написал бред, но пытался как мог(
Последний раз редактировалось lmikle, 21.05.2015 в 18:32.
|