Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> download image and show 
:(
    Опции темы
muratboy31
Дата 4.3.2010, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



i am trying to download an image file on the internet and show in in image1 object but it doesnt work!!! what am i doing wrong ?

Код

procedure TForm1.btnRefreshClick(Sender: TObject);
var
  ADPLocalFile : TFileName;
  StartItemNode, StartItemNode2 : IXMLNode;
  ANode, ANode2 : IXMLNode;
  STitle, sDesc, sLink, ADPXMLBLOG, imgdown : widestring;
  Num:integer;
  OleGraphic: TOleGraphic;
  fs: TFileStream;

begin
  ADPXMLBLOG := Combobox1.Text;
  if ADPXMLBLOG <> '' then
 begin
  ADPLocalFile := 'rss.xml';
  try
    if not DownloadURLFile(ADPXMLBLOG, ADPLocalFile)  then
    begin
      Raise Exception.CreateFmt('Adresin Rss Linki Olduğuna Emin Olun !',[]);
      Exit;
    end;
     if not FileExists(ADPLocalFile) then
    begin
      raise exception.Create('Başlıklar Alınamadı !');
      Exit;
    end;
    lv.Clear;

    XMLDoc.FileName := ADPLocalFile;
    XMLDoc.Active:=True;

    StartItemNode:=XMLDoc.DocumentElement.ChildNodes.First.ChildNodes.FindNode('item');
    ANode := StartItemNode;
    repeat
      STitle := ANode.ChildNodes['title'].Text;
      sLink := ANode.ChildNodes['link'].Text;
      sDesc := ANode.ChildNodes['description'].Text;
      with LV.Items.Add do
      begin
        Caption := STitle;
        SubItems.Add(sLink);
        SubItems.Add(sDesc);
      end;
       ANode := ANode.NextSibling;
    until ANode = nil;

    StartItemNode2:=XMLDoc.DocumentElement.ChildNodes.First.ChildNodes.FindNode('image');
    ANode2 := StartItemNode2;
      imgdown := ANode.ChildNodes['url'].Text;
      DownloadURLFile(imgdown, 'c:\img.gif');
      finally
      try
    OleGraphic := TOleGraphic.Create;
    fs := TFileStream.Create('C:\img.gif', fmOpenRead or fmSharedenyNone);
    OleGraphic.LoadFromStream(fs);
    Image1.Picture.Assign(OleGraphic);
    finally
  
    fs.Free;
    OleGraphic.Free;

    DeleteFile(ADPLocalFile);
     XMLDoc.Active:=false;
    end;
  end; 
end;


Это сообщение отредактировал(а) muratboy31 - 4.3.2010, 14:44
PM MAIL   Вверх
muratboy31
Дата 4.3.2010, 19:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



how can i download an image from internet and show it in the project ?
PM MAIL   Вверх
Frees
Дата 4.3.2010, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



Код


uses Wininet

function GetInetFile(const fileURL, FileName: String): boolean;
const BufferSize = 1024;
var hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
f: File;
sAppName: string;
begin
   Result:=False;
   sAppName := ExtractFileName(Application.ExeName);
   hSession := InternetOpen(sAppName, INTERNET_OPEN_TYPE_PRECONFIG,
         nil, nil, 0);
   try
      hURL := InternetOpenURL(hSession,
          PChar(fileURL),nil,0,0,0);
      if hURL = nil then
        Exit;
      try
         AssignFile(f, FileName);
         Rewrite(f,1);
         repeat
            InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
            BlockWrite(f, Buffer, BufferLen)
         until BufferLen = 0;
         CloseFile(f);
         Result:=True;
      finally
      InternetCloseHandle(hURL)
      end
   finally
   InternetCloseHandle(hSession)
   end
end;

function GetTempDir: String;
var
  Buf: array[0..1023] of Char;
begin
  SetString(Result, Buf, GetTempPath(Sizeof(Buf)-1, Buf));
end;

procedure TForm1.Button1Click(Sender: TObject);
var s: string;
begin
  Randomize;
  s := GetTempDir+IntToStr(Random(10000)) + '.bmp';
  if GetInetFile('url',s) then
  begin
    Image1.Picture.LoadFromFile(s);
    DeleteFile(s);
  end;
end;



--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
muratboy31
Дата 4.3.2010, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



thanks for answer frees
but i got error 


user posted image
PM MAIL   Вверх
Frees
Дата 4.3.2010, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



Код

 hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG,
         nil, nil, 0);



--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
muratboy31
Дата 4.3.2010, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



thanks for the code 
can i download gif or png or jpeg or anything else and show it
or just bmp files ???
PM MAIL   Вверх
Proxin
Дата 7.3.2010, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 363
Регистрация: 21.6.2008

Репутация: 1
Всего: 3



anything.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0832 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.