Witam w Nowym Roku 2008 ;-P
Prosiłbym bardzo o pomoc i odpowiedź na kilka moich pytań dotyczących WebBrowser'a, a dokładniej OleOject. Szukałem na ten temat w sieci i nie mogę nic konkretnego znaleźć...
Problem polega na tym, że chciałbym, aby moja przeglądarka umożliwiała zapisywanie obrazków (JPG, GIF, itp.) znajdujących się na stronie WWW. Coś na wzór przeglądarki np. FireFox, w której po kliknięciu prawym klawiszem myszki na dowolnym obiekcie graficznym pojawia się PopUp Menu z którego można wybrać opcję Zapisz obrazek lub podobną. W związku z tym mam kilka pytań:
-
Jak odwołać się do poszczególnego elementu graficznego na stronie, np. po jego kliknięciu prawym klawiszem myszy ?
-
Jak pobrać adres obrazka znajdującego się na stronie WWW po kliknięciu na nim prawym klawiszem myszy ?
-
Czy znacie może jakąś stronę z pełnym opisem dostępnych funckji dla OleObject ?
Próbowałem zmodyfikować poniższy kod tak, żeby po kliknięciu na obiekcie graficznym, obrazek został zapisany na dysk, ale niestety nie mogę sobie z tym poradzić. Oto ten kod:
//...save all images of a TWebbrowser?
uses
UrlMon;
function DownloadFile(SourceFile, DestFile: string): Boolean;
begin
try
Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0, nil) = 0;
except
Result := False;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
k, p: Integer;
Source, dest, ext: string;
begin
for k := 0 to WebBrowser1.OleObject.Document.Images.Length - 1 do
begin
Source := WebBrowser1.OleObject.Document.Images.Item(k).Src;
p := LastDelimiter('.', Source);
ext := UpperCase(Copy(Source, p + 1, Length(Source)));
if (ext = 'GIF') or (ext = 'JPG') then
begin
p := LastDelimiter('/', Source);
dest := ExtractFilePath(ParamStr(0)) + Copy(Source, p + 1,
Length(Source));
DownloadFile(Source, dest);
end;
end;
end;
Za wszelką pomoc bardzo dziękuję
[browar]