PDA

Просмотр полной версии : Бесконечный цикл для бота не срабатывает


Вова28
02.09.2013, 16:31
Гружу страницу, событие -при полной загрузке извлекаю исходный код в мемо, в мемо ищет необходимые данные на странице и извлекает в нужные мне label.
затем нужно чтобы бот сражался на арене, я это все написал функциями, но не хочет воспроизводить процедуру бесконечно по таймеру((
вот пример исходника

procedure TForm1.Button1Click(Sender: TObject);
var X, A, B, Y, V, Z, C: Real;
var

i : Integer;
begin

A:=StrToFloat(Label4.Caption);
B:=StrToFloat(Label6.Caption);
C:=StrToFloat(Label8.Caption);
X:=StrToFloat(Label10.Caption);
Y:=StrToFloat(Label12.Caption);
Z:=StrToFloat(edit1.Text) ;
V:=round(A+B+C+Y+X)/5;
begin

while WebBrowser1.ReadyState<READYSTATE_COMPLETE do

for i:= 0 to (webbrowser1.OleObject.document.links.length-1) do
if webbrowser1.OleObject.document.links.item(i).inner text='Арена' then
begin
webbrowser1.Navigate(webbrowser1.OleObject.documen t.links.item(i).href);
end;
for i:= 0 to (webbrowser1.OleObject.document.links.length-1) do
if webbrowser1.OleObject.document.links.item(i).inner text='Старшие' then
begin
webbrowser1.Navigate(webbrowser1.OleObject.documen t.links.item(i).href);
end;
if V<Z then begin

end;
for i:= 0 to (webbrowser1.OleObject.document.links.length-1) do
if webbrowser1.OleObject.document.links.item(i).inner text='Сражаться' then
begin
webbrowser1.Navigate(webbrowser1.OleObject.documen t.links.item(i).href);
end;
if V>Z then begin for i:= 0 to (webbrowser1.OleObject.document.links.length-1) do
if webbrowser1.OleObject.document.links.item(i).inner text='Следующий' then
begin
webbrowser1.Navigate(webbrowser1.OleObject.documen t.links.item(i).href);
end;
end;
end;

end;



end.

Sinyss
02.09.2013, 17:22
1) Загрузка данных в memo в случае если он не используется пользователем это просто штамп *****кода.
2) Слетело форматирование кода и теперь это просто пипец....

Вова28
02.09.2013, 18:32
нет, код использую, и форматирование не слетает. не работает цикл..если на кнопку нажимать -делает следующие шаги, но надо чтобы циклично было

Добавлено через 1 час 16 минут
помогли) надо был привязать к таймер в событие -при щелчке на батон 1, и поставить в процедуре батона на первое место

NebesaBag
02.09.2013, 23:39
На заметку: между объявлением процедуры(procedure TForm1....) и её началом(begin...) можно писать 1 раз слово var, в начале.

VeTaL_UA
03.09.2013, 00:42
можно писать 1 раз слово var, в начале.
Прогиб не засчитан. Пиши хоть миллион раз, это не есть ошибкой.