Webbrowser'dan programa veri gönderme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
AliRiza
Üye
Mesajlar: 172
Kayıt: 24 Kas 2004 10:57
Konum: İstanbul/Avcılar
İletişim:

Webbrowser'dan programa veri gönderme

Mesaj gönderen AliRiza »

Arkadaşlar benim şöyle bir sorunum var.
Html şeklinde 5 adet katalog var.Bu kataloglar kendi içinde sayfalara bölünmüş.Ben bu html'deki resimleri res dosyasına gömdüm.
Delphi içerisinde webbrowser1.navigate ile ana katalogları açtırırken webbrowser'ın navigate2 olayında res dosyasından hangi katalogsa resmini çağırıyorum.Delphi içinden res dosyasına gömülen resimler webbrowser'da açılıyor.Çıkıştada siliniyor.
Ana katalog'un alt katalog numarasına tıklayıp veya ileri deyip alt kataloglara geçmek için linklere tıkladığımda alt sayfadaki resimler res dosyasından yüklenmiyor.
Webbrowser içindeki html sayfasında linke tıklandığında alt katalogdaki resimleri nasıl çağırırım.webbrowser'ın hangi olayını kullanmam lazım.

Kod: Tümünü seç

procedure Tform2.LoadJPEGfromEXE;
var
 MyJPG : TJPEGImage; 
 ResStream : TResourceStream; 
 son1,baslangic,bitis,y,si:integer;
 cresim,sresim:string;
 ri:word;
 begin

        for si:=1 to (sbitis-sbaslangic) do
         begin
          if (si>9) and (si<100) then
           begin
            sresim:='\image0'+inttostr(si)+'.jpg';
           end;
if si<10 then
           begin
            sresim:='\image00'+inttostr(si)+'.jpg';
          end;
           if si>99 then
           begin
            sresim:='\image'+inttostr(si)+'.jpg';
           end;
            deletefile(eddir.Text+son2+sresim);
          end;
 sbaslangic:=baslangic;
    sbitis:=bitis+1;
    sbf1:=sbaslangic;
    sbitisf1:=sbitis;
 son1:=pos('.',lburl.Caption);
      son2:=copy(lburl.Caption,1,son1-1);
      son2:=son2+'_files';
      jpgresim:=son2;
      if son2='debriyajbilyasi-1_files' then
       begin
       baslangic:=1;
       bitis:=4;

       end;
        if son2='debriyajbilyasi-2_files' then
       begin
       baslangic:=5;
       bitis:=11;

       end;
        if son2='debriyajbilyasi-3_files' then
       begin
       baslangic:=12;
       bitis:=17;

       end;    
MyJPG := TJPEGImage.Create;
    y:=1;


    try

     for ri:=baslangic to bitis do
     begin
   ResStream := TResourceStream.CreateFromID(HInstance, ri, RT_RCDATA);

      MyJPG.LoadFromStream(ResStream); // What!? Yes, that easy!
       if y<10 then
       begin
       cresim:='image00'+inttostr(y)+'.jpg';
       end;
       if (y>9) and (y<100) then
       begin
        cresim:='image0'+inttostr(y)+'.jpg';
       end;
       if y>99 then
       begin
         cresim:='image'+inttostr(y)+'.jpg';
        end;
      y:=y+1;

    
    end;
     finally
     MyJPG.Free;
     ResStream.Free;
  end;


  end;  

procedure TForm2.WebBrowser1BeforeNavigate2(Sender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin
loadjpegfromexe;
end;

Bilginin efendisi olmak için çalışmanın uşağı olmak şarttır...
BALZAC
Bana bir harf öğretenin kulu kölesi olurum..
HZ.ALİ
Cevapla