Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.12.2010, 19:16
Аватар для ***
*** *** вне форума
Прохожий
 
Регистрация: 20.06.2010
Сообщения: 47
Репутация: 0
Вопрос Помогите с IDHTTP

Вот мне нужно получить капчу с данной ссылки:
http://webmaster.yandex.ru/addurl.xml

Вот у меня получился такой код

Код:
implementation

var zKey, s:string;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
var
FS:TFileStream;
begin
s:= idhttp1.Get('http://webmaster.yandex.ru/addurl.xml'); // Заходим на строничку
zKey:=Copy(S, Pos('zKey', S)+16, 32);
FS:=TFileStream.Create('capcha.jpg',FMCreate);
idhttp1.Get('http://u.captcha.yandex.net/'+zKey+'.jpg', FS); // Получение капчи и сохранение в файл жпег
FS.Free; // Освобождение переменной FS
image1.Picture.LoadFromFile('capcha.jpeg'); // Загружаем картинку с капчей
end;

end.

Вроде код правельный
Но проверьте

нажимаю на кнопку и заместо того чтобы получить капчу зависает приложение в чем ошибка подскажите плиз

заранее спасибо
Ответить с цитированием
  #2  
Старый 12.12.2010, 19:38
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

там же gif файл
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  s: String;
  i: Integer;
  filestream: TFileStream;
begin
  s:=IdHTTP1.Get('http://webmaster.yandex.ru/addurl.xml');
  Memo1.Text:=s;
  Memo1.Lines.SaveToFile('capcha.htm');
  i:=Pos('image?key=', s);
  if i>0 then
  begin
    s:=Copy(s, i-28, Length(s));
    i:=Pos('"', s);
    s:=Copy(s, 1, i-1);
    Caption:=s;
    filestream:=TFileStream.Create('capcha.gif', fmCreate);
    try
      IdHTTP1.Get(s, filestream);
    finally
      filestream.Free;
    end;
  end;
end;
__________________
Пишу программы за еду.
__________________

Последний раз редактировалось NumLock, 12.12.2010 в 19:45.
Ответить с цитированием
  #3  
Старый 12.12.2010, 22:06
Аватар для ***
*** *** вне форума
Прохожий
 
Регистрация: 20.06.2010
Сообщения: 47
Репутация: 0
Вопрос

Цитата:
Сообщение от NumLock
там же gif файл
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  s: String;
  i: Integer;
  filestream: TFileStream;
begin
  s:=IdHTTP1.Get('http://webmaster.yandex.ru/addurl.xml');
  Memo1.Text:=s;
  Memo1.Lines.SaveToFile('capcha.htm');
  i:=Pos('image?key=', s);
  if i>0 then
  begin
    s:=Copy(s, i-28, Length(s));
    i:=Pos('"', s);
    s:=Copy(s, 1, i-1);
    Caption:=s;
    filestream:=TFileStream.Create('capcha.gif', fmCreate);
    try
      IdHTTP1.Get(s, filestream);
    finally
      filestream.Free;
    end;
  end;
end;



А в чем прикол та мне не код стронички нужен а картинку вывести
Ответить с цитированием
  #4  
Старый 13.12.2010, 08:40
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

да нет никакого прикола, просто TImage не умеет работать с gif. ищи того, кто умеет!
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 10:14.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter