Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2011, 09:12   #1
Poman
Новичок
Джуниор
 
Регистрация: 05.02.2011
Сообщений: 1
Вопрос PascalABC.Net Открытие html страниц

Помоги те мне. Есть код. Программа должна открывать страницы нужного мне сайта и при открытии одной страницы, переходить на следующую. Страница открывается, но на следующую не переходит. В чем ошибка?

Код:
#apptype windows
#reference 'System.Windows.Forms.dll'
#reference 'System.Drawing.dll'
 
uses System.Windows.Forms;
 
var MyForm: Form; web1: WebBrowser;  urls: array of string; i: integer;
 
procedure ReadInfo(sender: object; args: System.Windows.Forms.WebBrowserDocumentCompletedEventArgs);
var s: string;
begin
 
var f := new System.IO.StreamWriter(application.StartupPath+'\Temp.txt');
  f.Write(web1.DocumentText);
  f.Close;
var f2 := new System.IO.StreamReader(application.StartupPath+'\Temp.txt');
  s:= f2.ReadToEnd;
  f2.Close;
 
  var startindex:=pos('price_num',s);
  var endindex:=pos('span',s);
  var str:=copy(s,startindex+11,endindex-startindex-11);
  var st:=StrToInt(str);
  MessageBox.Show(st);
 
  inc(i);                     //здесь увеличиваем i
    web1.Url:= new System.Uri(urls[i]);  //и вызываем тоже с индексом i
    web1.ResetBackColor;
  end;
 
begin
  MyForm:= new Form;
 
  web1:= new WebBrowser;
  web1.Dock:= dockstyle.Fill;
  web1.DocumentCompleted+= ReadInfo;
 
  SetLength(urls,1000000);
  for i:= 0 to 100000 do      //здесь считаем с помощью i
  urls[i]:= 'http://www.example.com/user?id='+IntToStr(100000+i);
      //и индекс здесь тоже должен быть i, и прибавляем к 100000 тоже i, чтобы элементы разными были
 
  MyForm.Controls.Add(web1);
 
  web1.Url:= new System.Uri(urls[0]); //здесь 0 должен быть, так как переходит на первую страницу
  web1.ResetBackColor;
 
  Application.Run(myForm);
end.
Poman вне форума Ответить с цитированием
Старый 05.02.2011, 09:41   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

дык у вас всего один переход, вот и переходит на последнюю.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процедура с C# на PascalABC.NET(можно просто на язык Pascal) EMILSKI Помощь студентам 1 14.11.2010 17:39
PascalABC.net *stRong* Помощь студентам 2 10.06.2010 17:50
PascalABC.NET, windows.forms *stRong* Помощь студентам 0 03.06.2010 21:47
Создание теста на PascalABC.NET *stRong* Паскаль, Turbo Pascal, PascalABC.NET 1 03.06.2010 19:41
Графика PascalABC.NET Ученик. Помощь студентам 6 04.02.2010 15:24