| 
| 
 | Вопрос # 5 775/ вопрос открыт / | 
 |  Здравствуйте,уважаемые эксперты! Прошу помочь с задачей, которую я не в силах решить.Программа должна перебирать числа в адресной-строке(например: www.lm/n125412 от 000000 до 999999) затем сканировать код страницы и искать какое-то слово и так до конца.
 1) Как в паскале можно написать программу для перебора чисел в адресной строке, просто не представляю.
 2) Как задать, чтобы он сканировал именно код страницы, тоже для меня вопрос.
 
 Заранее спасибо!
 
|  |   Вопрос задал: Archer (статус: Посетитель)Вопрос отправлен: 23 ноября 2011, 11:52
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 11; последнее сообщение — 23 ноября 2011, 15:08; участников в обсуждении: 3. 
|   | Вадим К (статус: Академик), 23 ноября 2011, 12:05 [#1]:На паскале чистом - никак. А вот в делфи, если использовать indy/sinapse, то никаких проблем. Уточняйте. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | Archer (статус: Посетитель), 23 ноября 2011, 13:04 [#2]:Есть часть кода на delphi, друг написал, но так как я не владею delphi, не могу с ним разобраться(точнее с компилятором,скачал delphi7, а синтаксис вообще не знаком), вот код: 
 procedure TForm1.Button1Click(Sender: TObject);
 var LoadStream: TMemoryStream; i:integer; str:string;
 begin
 progressbar1.Max:=strtoint(edit1.Text);
 progressbar1.Min:=strtoint(edit2.Text);
 assignfile(f,'c:\st.txt');
 rewrite(f);
 closefile(f);
 
 for i := strtoint(edit2.Text) to strtoint(edit1.Text) do
 begin
 rewrite(f);
 closefile(f);
 str:='http://www.lm/n'+inttostr(i);;
 LoadStream := TMemoryStream.Create; // выделение памяти под переменную
 idHTTP1.Get(str, LoadStream); // загрузка в поток данных из сети
 LoadStream.SaveToFile('c:\st.txt'); // сохраняем данные из потока на жестком диске
 LoadStream.Free; // освобождаем память
 form1.Refresh;
 progressbar1.Position:=i;
 label1.Caption:=inttostr(i)+'/'+edit1.Text;
 progressbar1.Repaint;
 end;
 end;
 |  
|   | min@y™ (статус: Доктор наук), 23 ноября 2011, 13:09 [#3]:Я писал когда-то такую программу. Но, судя по 
 Цитата (Archer): но так как я не владею delphi исходник тебе тут не поможет.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Archer (статус: Посетитель), 23 ноября 2011, 13:13 [#4]:Я понимаю алгоритм, но оформить не могу. Можешь скинуть исходник пожалуйста,я в нем покопаюсь, мне нужно срочно сделать эту программу. |  
|   | min@y™ (статус: Доктор наук), 23 ноября 2011, 13:31 [#5]: Цитата (Archer): Я понимаю алгоритм, но оформить не могу. Можешь скинуть исходник пожалуйста,я в нем покопаюсь, мне нужно срочно сделать эту программу.  Сомневаюсь, что тебе поможет исходник.
 Вот ссылка.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Archer (статус: Посетитель), 23 ноября 2011, 14:13 [#6]:Ваша программа слишком сложная.Мне нужно только исходный код вытащить, можете подсказать пожалуйста, где ошибка? unit progr;
 
 interface
 
 uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdHttp;
 
 type
 TForm1 = class(TForm)
 private
 procedure TForm1.Button1Click(Sender: TObject);
 var LoadStream: TMemoryStream; i:integer; str:string;
 begin
 progressbar1.Max:=strtoint(edit1.Te xt);
 progressbar1.Min:=strtoint(edit2.Te xt);
 assignfile(f,'c:\st.txt');
 rewrite(f);
 closefile(f);
 
 for i := strtoint(edit2.Text) to strtoint(edit1.Text) do
 begin
 rewrite(f);
 closefile(f);
 str:='http://www.lm/n'+inttostr(i);;
 LoadStream := TMemoryStream.Create;
 idHTTP1.Get(str, LoadStream);
 LoadStream.SaveToFile('c:\st.txt');
 LoadStream.Free;
 form1.Refresh;
 progressbar1.Position:=i;
 label1.Caption:=inttostr(i)+'/'+edit1.Text;
 progressbar1.Repaint;
 end;
 end;
 end.
 |  
|   | min@y™ (статус: Доктор наук), 23 ноября 2011, 14:29 [#7]: Цитата (Archer): Ваша программа слишком сложная. Я предупреждал.
 
 Цитата (Archer): можете подсказать пожалуйста, где ошибка? А что за ошибка-то?
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Archer (статус: Посетитель), 23 ноября 2011, 14:44 [#8]:Мне нужно чтобы он перебирал страницы и сохранял код в файл, а там я сделаю поиск нужных слов. при запуске выдает ошибки: [Error] Unit1.pas(1): Unit identifier 'progr1' does not match file name [Fatal Error] Unit1.pas(6): File not found: 'progressbar.dcu'
 |  
|   | Archer (статус: Посетитель), 23 ноября 2011, 14:46 [#9]:в uses я еще добавил progressbar 1, edit 1, label 1 |  
|   | min@y™ (статус: Доктор наук), 23 ноября 2011, 15:01 [#10]: Цитата (Archer): Unit identifier 'progr1' does not match file name Идентификатор модуля должен быть именем файла этого модуля, только без расширения.
 
 Цитата (Archer): Unit1.pas(6): File not found: 'progressbar.dcu'  TProgressBar находится в модуле ComCtrls.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Archer (статус: Посетитель), 23 ноября 2011, 15:08 [#11]:Я добавил модуль ComCtrls, все равно file progressbar1.dcu not found |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |