Вернуться   Форумы Якутск Онлайн > Образовательный > Учебная литература, полезные программы
Ответ
 
Опции темы Опции просмотра

кто знает дельфи, прошу помочь
Старый 13.08.2008, 16:47   #1
LegeN
Местный житель
 
LegeN вне форума
Регистрация: 17.07.2008
Сообщений: 2,559
LegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутацию
По умолчанию кто знает дельфи, прошу помочь

хочу чтобы программа сохраняла исходник php страницы в формате txt. как сделать? нужно для одной своей программы

п.с. ссылка например вот так www.какой-то-сайт.ru/блабла/нужная_страница.php
  Ответить с цитированием

Старый 13.08.2008, 17:01   #2
Googleman
Постоялец
 
Аватар для Googleman
 
Googleman вне форума
Регистрация: 12.08.2008
Сообщений: 762
Googleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутацию
По умолчанию

для этого наверное все в ручняк придется делать. тоесть HTTP-заголовки попробуй.
  Ответить с цитированием

Старый 13.08.2008, 18:11   #3
LegeN
Местный житель
 
LegeN вне форума
Регистрация: 17.07.2008
Сообщений: 2,559
LegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутацию
По умолчанию

вот нашол на Delphi Russian Knowledge Base, думаете прокатит? чо то ваще не понял, куда он сохраняет, как сохраняет и.т.д.




Как скачать любой URL используя стандартные настройки сети?

Начиная с Internet Explorer 3, Microsoft поддерживает очень полезные API, Wininet. Эти функции позволяют использовать все возможности IE, такие как настройки прокси, кэширование файлов и т.д.
Ниже приведён пример использования этих функций для скачивания файла с нужного URL. Это может быть любой доступный URL, ftp://, http://, gopher://, и т.д.
Более подробную информацию об этих функция можно посмотреть в MSDN - Win32 Internet API Functions.

Code:

function DownloadFile(const Url: string): string;
var
NetHandle: HINTERNET;
UrlHandle: HINTERNET;
Buffer: array[0..1024] of char;
BytesRead: cardinal;
begin
Result := '';
NetHandle := InternetOpen('Delphi 5.x', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
if Assigned(NetHandle) then
begin
UrlHandle := InternetOpenUrl(NetHandle, PChar(Url), nil, 0, INTERNET_FLAG_RELOAD, 0);
if Assigned(UrlHandle) then
{ UrlHandle правильный? Начинаем загрузку }
begin
FillChar(Buffer, SizeOf(Buffer), 0);
repeat
Result := Result + Buffer;
FillChar(Buffer, SizeOf(Buffer), 0);
InternetReadFile(UrlHandle, @Buffer, SizeOf(Buffer), BytesRead);
until BytesRead = 0;
InternetCloseHandle(UrlHandle);
end
else
begin
{ UrlHandle неправильный. Генерируем исключительную ситуацию. }
raise Exception.CreateFmt('Cannot open URL %s', [url]);
end;
InternetCloseHandle(NetHandle);
end
else
{ NetHandle недопустимый. Генерируем исключительную ситуацию }
raise Exception.Create('Unable to initialize Wininet');
end;


©Drkb::03577 Взято из http://forum.sources.ru

Последний раз редактировалось LegeN, 15.08.2008 в 03:05. Причина: хз
  Ответить с цитированием

Старый 16.08.2008, 15:27   #4
LegeN
Местный житель
 
LegeN вне форума
Регистрация: 17.07.2008
Сообщений: 2,559
LegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутацию
По умолчанию

ну ладно, сам нашол что делать, исходник php сохраняет через webbrowser, минусы, долго грузится ie6.0, зато код простой ;)

теперь еще одна проблема: как дельфи дать понять что загрузка страницы в webrowser окончена? delphi используется 7
  Ответить с цитированием

Старый 23.08.2008, 19:17   #5
Googleman
Постоялец
 
Аватар для Googleman
 
Googleman вне форума
Регистрация: 12.08.2008
Сообщений: 762
Googleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутацию
По умолчанию

попробуй использовать событийную модель виндоус. имхо самое простое.
  Ответить с цитированием

Старый 23.08.2008, 19:18   #6
LegeN
Местный житель
 
LegeN вне форума
Регистрация: 17.07.2008
Сообщений: 2,559
LegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутацию
По умолчанию

и как это сделать? можеш подсказать? ;)
  Ответить с цитированием

Старый 23.08.2008, 21:07   #7
wchk
Постоялец
 
wchk вне форума
Регистрация: 15.08.2005
Сообщений: 953
wchk имеет наиславнейшую репутациюwchk имеет наиславнейшую репутациюwchk имеет наиславнейшую репутациюwchk имеет наиславнейшую репутациюwchk имеет наиславнейшую репутациюwchk имеет наиславнейшую репутациюwchk имеет наиславнейшую репутациюwchk имеет наиславнейшую репутациюwchk имеет наиславнейшую репутациюwchk имеет наиславнейшую репутациюwchk имеет наиславнейшую репутацию
Отправить сообщение для wchk с помощью ICQ
По умолчанию

если тег <html> закрылся значит страница кончилась.
  Ответить с цитированием

Старый 23.08.2008, 21:47   #8
LegeN
Местный житель
 
LegeN вне форума
Регистрация: 17.07.2008
Сообщений: 2,559
LegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутацию
По умолчанию

не, не в том смысле. просто прога при нажатии на кнопку "вычислить" делает порядок действий:
1) в спрятанном webbrowser, открывает там нужную страницу,
2) |и нужно узнать тут что загрузка страницы закончилась|,
3) и сохраняет его исходник в txt или в спрятанный memo или в переменную какую нибудь,
4) потом ищет там данные в исходнике,
5) выводит на экран результат .

самое обломное чтобы проверить что там чтото есть, если например соед. с инетом нету, там пусто окажется и программа выдаст ошибку, если не успеет ничего не загрузить, то тоже ошибка... если сделать через определенное время, например после нажатия на кнопку 10секунд, возможно тоже нету соед с инетом, или не успеет ничего загрузить (всякое может быть, нагруженный инет, медленная скорость, и т.п.)...
  Ответить с цитированием

Старый 24.08.2008, 02:27   #9
Googleman
Постоялец
 
Аватар для Googleman
 
Googleman вне форума
Регистрация: 12.08.2008
Сообщений: 762
Googleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутациюGoogleman имеет наиславнейшую репутацию
По умолчанию

property OnDocumentComplete: TWebBrowserDocumentComplete;

создай обработчик для этошо события. после выполнения навигэйт в браузере и окончания загрузки оно сгенерируется. толкьо учти, если документ содержит много фреймов, то вызван обработчик будет для каждого фрейма.
  Ответить с цитированием

Старый 24.08.2008, 09:53   #10
LegeN
Местный житель
 
LegeN вне форума
Регистрация: 17.07.2008
Сообщений: 2,559
LegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутациюLegeN имеет наиславнейшую репутацию
По умолчанию

спасибо. а блин, много там фреймов кажется... а пофигу, можно их и посчитать )) сегодня вечером буду пытать и отпишусь о результатах!
  Ответить с цитированием
Ответ


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +9, время: 06:24.


vBulletin skin developed by: eXtremepixels
Powered by vBulletin® Version 3.6.3
Copyright ©2000 - 2024, Якутск-Online. Перевод: zCarot