Pliki i obrazki z internetu

0

Mam nastepujace pytania:

  1. jak sprawdzic czy plik w internecie istnieje (najlepiej bez proby zalpisania go na dysku - po prostu chodzi mi o to zeby sprawdzic czy pod podanym przeze mnie adresie cos sie znajduje [chodzi o pliki *.jpg, *.gif itd. - bo moze ma to znaczenie] a jezeli nie to reagowac inaczej)?
  2. kiedy juz okaze sie ze dany obrazek pod podanym adresem juz istnieje to jak moge sprawdzic jego rozdzielczosc bez zapisywania go na dysku?
  3. czy da sie jakos sprawic zeby strony w webbrowsera nie zapisywaly sie w pamieci IE? ew. jezeli nie to jakiego innego komponentu do wyswietlania www uzyc?
  4. jezeli chodzi o webbrowsera (lub inna zaproponowana 'przegladarke') to jak moge zmusic ja do otwierania stron NIE z pliku a generownych przez moj program ale BEZ zapisu na dysku? (czy to w ogole mozliwe)
    Z GORY DZIEKI ZA POMOC!
0

Raczej musisz zapisać na dysk..

chociażby HTTPGet`em (komponent).
Nie ma raczej mośliwości sprawdzenia rozmiaru i pliku w necie..

0

ad 1

Jeżeli przez HTTP to wysyłasz zapytanie nie POST czy GET a HEAD
które zwraca sam nagłówek, jesli przyjdzie 200 OK to jest a jak
404 czy co tam innego to raczej nie ma...

ad 4

WebBrowser.OleObject -> a dalej jak w JavaScript
np. WebBrowser.OleObject.document.write(string)
albo WebBrowser.OleObject.document.body.innerHTML = string;

0

Nie wiem czy robie blad (i ew. gdzie) ale kiedy korzystam z WebBrowser.OleObject.document.write(string)
albo WebBrowser.OleObject.document.body.innerHTML = string; to po prostu wsykakuje blad o tresci: 'Access violotation at address 0045E2B7 in module (...) Read of address 00000000'. Czy ktos sie orientuje co jest nie tak (ps. D7)

To znow ja :P Ale musze sie pochwalic bo rozwiazalem problem nr 2 (naturalnie nie sam tylko na podstawie http://www.swissdelphicenter.ch :P) i o to o co chodzi. Caly trik tego co tam jest to sprawdzanie wszystkich obrazkow ktore znajduja sie w dokumencie - nie bede kopiowal tylko podam adres: http://www.swissdelphicenter.ch/torry/showcode.php?id=1601
ALE UWAGA! Ja napotkalem maly problem - otoz moje Delphi nie posiada komponentu ktory w Uses na tej stronie wpisany jest jako 'MSHTML_TLB'. Rozwiazelem ten problem kasujac nastepujace linijki:

w var:
Document: IHtmlDocument2;
w begin
ImageFileSize := (Document.Images.Item(i, 0) as IHTMLImgElement).FileSize; 
// Retrieves the entire URL that the browser uses to locate the image 
ImageHref := (Document.Images.Item(i, 0) as IHTMLImgElement).Href; 
// Retrieves a text alternative to the graphic. 
ImageTextAlternative := (Document.Images.Item(i, 0) as IHTMLImgElement).alt; 
// Show image information in a TListbox
a takze nalezy poprawic ta linijke:
ListBox1.Items.Add(Format('%s : %d x %d Pixels; %s Bytes; %s', 
      [ImageHref, ImageWidth, ImageHeight, ImageFileSize, ImageTextAlternative])); 

PS. celowo nie kasowalem komentarzy

Ale moze ktos wie jak rozwiazac problem pobierania rozmiaru itd. - tego czego wykorzysac nie moge a teraz tak sobie mysle ze by sie przydalo :P Chodzi glownie o komponent ktory musialem usunac z Uses (jak juz wspominalem D7)

0

Ja napotkalem maly problem - otoz moje Delphi nie posiada komponentu ktory w Uses na tej stronie wpisany jest jako 'MSHTML_TLB'.

Nie wiem jak to jest w innych wersjach Delphi, ale myślę, że tak samo :)

W edycji PERSONAL musisz zaimportować kontrolkę WebBrowser z ActiveX - wtedy zyskujesz plik MSHTML_TLB, który jest tu wymagany.
W edycji ENTERPRISE nie musisz niczego importować, bo WebBrowsera masz w standardzie. Dlatego nie korzystasz z MSHTML_TLB ale z MSHTML

czyli spróbuj skasować "_TLB"...

1 użytkowników online, w tym zalogowanych: 0, gości: 1