Webbrowser
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 1
- Kayıt: 03 Ara 2013 02:15
Webbrowser
iyi çalışmalar,
Delphi içerisene bir form oluşturduksan sonra Webbrowser ekleyerek eklemiş olduğum webbrowser ın içerisende açan setinin bir butonuna (Anasayfa) belirli zaman dilemlerini gösterir (3-5-10 dakika) yenileme yapılabilir mi?
yapılabilirliği var ise nasıl bir yol izlemem gerekir.Şimdiden ilginiz için teşekkür ederim.
Delphi içerisene bir form oluşturduksan sonra Webbrowser ekleyerek eklemiş olduğum webbrowser ın içerisende açan setinin bir butonuna (Anasayfa) belirli zaman dilemlerini gösterir (3-5-10 dakika) yenileme yapılabilir mi?
yapılabilirliği var ise nasıl bir yol izlemem gerekir.Şimdiden ilginiz için teşekkür ederim.
Re: Webbrowser
Merhaba..
- Türkçe konusunda sıkıntınız var ya da soruyu telefon üzerinden yazdınız sanırım. Cümleleriniz net anlaşılmıyor.
1. Form'a (1) adet TWebBrowser koyduk. Burası tamam..
2.
- Ekran yenileme zaman dilimlerini seçme işini, Web Browser içerisinde ekleyeceğiniz butonlar ile mi yapılması gerekiyor. Neden ?! Zaten bir formunuz varken bunu özellikle neden istiyorsunuz açıklar mısınız.
- Yenileme yapılabilir mi evet
1. Form koyacağınız bir Timer ile aynı sayfayı yeniden refresh ettirirsiniz.
2. HTML sayfanın <HEAD> kısmına aşağıdaki kodu (sayfa size ait ise) kaynağından ekleyebilirsiniz.
saniye cinsinden yenileme aralığını verirsiniz, örneğin5 dakika için 300 değeri verirsiniz. (5 * 60 = 300 değeri verirsiniz gibi.)
3. HTML sayfanın <HEAD> kısmını bu forumda paylaştığım bu linkteki gibi site yüklenirken daha web sayfası render edilmeden önce müdahale edip ekleyebilirsiniz.
- Türkçe konusunda sıkıntınız var ya da soruyu telefon üzerinden yazdınız sanırım. Cümleleriniz net anlaşılmıyor.
1. Form'a (1) adet TWebBrowser koyduk. Burası tamam..
2.
işte burada anlamada takıldım...@Cankus2535 yazdı:eklemiş olduğum webbrowser ın içerisende açan setinin bir butonuna (Anasayfa) belirli zaman dilemlerini gösterir (3-5-10 dakika) yenileme yapılabilir mi?
- Ekran yenileme zaman dilimlerini seçme işini, Web Browser içerisinde ekleyeceğiniz butonlar ile mi yapılması gerekiyor. Neden ?! Zaten bir formunuz varken bunu özellikle neden istiyorsunuz açıklar mısınız.
- Yenileme yapılabilir mi evet
1. Form koyacağınız bir Timer ile aynı sayfayı yeniden refresh ettirirsiniz.
2. HTML sayfanın <HEAD> kısmına aşağıdaki kodu (sayfa size ait ise) kaynağından ekleyebilirsiniz.
Kod: Tümünü seç
<meta http-equiv="refresh" content="5" >
3. HTML sayfanın <HEAD> kısmını bu forumda paylaştığım bu linkteki gibi site yüklenirken daha web sayfası render edilmeden önce müdahale edip ekleyebilirsiniz.
Re: Webbrowser
Merhaba .Bu Konuyla İlgili Bende Şunu Sormak İstiyorum.
Bilgisayarda Açık Olan Bir Explorer Sayfasını 10 dk da Bir Refresh Yaptıracak Bir Proğram Yapılabilir mi?
Bilgisayarda Açık Olan Bir Explorer Sayfasını 10 dk da Bir Refresh Yaptıracak Bir Proğram Yapılabilir mi?
Re: Webbrowser
@Hakem50 Merhaba.
- Tabii ki mümkün. Başka bir yazılımın ekranını bulmak, butonuna basmak veya bir property'sine erişmek gibi kontroller Delphi'den API'ler ile kolaylıkla yapılabilir.
- Benim size bu cevabım üzerine başka bir önerim olacak. Explorer dediniz ya, bir explorer penceresini kendini açtırıp bunun dizginlerini elinizde sanki formunuz üzerindeki bir TWebBrowser'mış gibi kullanabilirsiniz. (bu başka bir konu başlığı ama...) Nasıl mı ?
- Örnekleyim :
- Aşağıdaki örnek yeni bir Explorer sayfası açar ve bu sayfada DelphiTurkiye forumunu navigate ederek, Arama alanına "Webbrowser" kelimesini yazar ardından da arama butonuna (aslında submit eder)
- İşin özü (diğer kod örneklerinden farkı) size bir tane Explorer Penceresi açar dedik ya, bunun kontrolünü projeniz içerisinden dilediğiniz yerden erişebileceğiniz xIExplore isimli bir global değişkende tutar.
- WinApi ile FindWindow, FindWindowEx vs. gerek kalmaz. Kısaca çerçevesi belli olan bir adrese teslim çözümdür.
Başarılar.

- Tabii ki mümkün. Başka bir yazılımın ekranını bulmak, butonuna basmak veya bir property'sine erişmek gibi kontroller Delphi'den API'ler ile kolaylıkla yapılabilir.
- Benim size bu cevabım üzerine başka bir önerim olacak. Explorer dediniz ya, bir explorer penceresini kendini açtırıp bunun dizginlerini elinizde sanki formunuz üzerindeki bir TWebBrowser'mış gibi kullanabilirsiniz. (bu başka bir konu başlığı ama...) Nasıl mı ?
- Örnekleyim :
- Aşağıdaki örnek yeni bir Explorer sayfası açar ve bu sayfada DelphiTurkiye forumunu navigate ederek, Arama alanına "Webbrowser" kelimesini yazar ardından da arama butonuna (aslında submit eder)
- İşin özü (diğer kod örneklerinden farkı) size bir tane Explorer Penceresi açar dedik ya, bunun kontrolünü projeniz içerisinden dilediğiniz yerden erişebileceğiniz xIExplore isimli bir global değişkende tutar.
- WinApi ile FindWindow, FindWindowEx vs. gerek kalmaz. Kısaca çerçevesi belli olan bir adrese teslim çözümdür.

Kod: Tümünü seç
USES ComObj;
Var
xIExplore : variant;
xIEHandle : HWnd;
xExitThr : boolean = False;
function DelphiTurkiye_ARAMA(strUrl, strAra: string): boolean;
var
lResult : boolean;
begin
xExitThr := False;
try
if (VarIsEmpty(xIExplore)) or (FindWIndow('IEFrame', nil) = 0) then
begin
xIExplore := CreateOleObject('InternetExplorer.Application');
xIExplore.Visible := True;
end
else
begin
xIEHandle := FindWIndow('IEFrame', nil);
SetForegroundWindow(xIEHandle);
end;
xIExplore.Navigate( strUrl );
while (Cardinal(xIExplore.ReadyState) <> 4) and (xExitThr = False) do
begin
Application.ProcessMessages;
Sleep(100);
end;
xIExplore.Document.GetElementById('keywords').Value := strAra;
xIExplore.Document.forms[0].Submit();
lResult := True;
except
lResult := False;
end;
Result := lResult;
end;
Kod: Tümünü seç
procedure TForm1.BitBtn1Click(Sender: TObject);
Var
strUrl, strAra : String;
begin
strUrl := 'http://www.delphiturkiye.com/forum';
strAra := 'Webbrowser';
DelphiTurkiye_ARAMA( strUrl, strAra );
end;

Re: Webbrowser
Merhaba mrmarman,
Size Çok Teşekkür Ederim . Eğer Verdiğiniz Örneği Becerebilirsem Beni Büyük Birdertten Kurtarmış Olacaksınız. İnternetten Download Yaparken Oturumumun Kapanmaması İçin Sayfayı 10 Dakikada Bir Yenilemem Gerekiyordu Yenilemessem İndirme İşlemim Yarıda Kalıyordu. Tekrar Teşekkürler.
Size Çok Teşekkür Ederim . Eğer Verdiğiniz Örneği Becerebilirsem Beni Büyük Birdertten Kurtarmış Olacaksınız. İnternetten Download Yaparken Oturumumun Kapanmaması İçin Sayfayı 10 Dakikada Bir Yenilemem Gerekiyordu Yenilemessem İndirme İşlemim Yarıda Kalıyordu. Tekrar Teşekkürler.

Re: Webbrowser
Merhaba @mrmarman ,
öncelikle çok güzel bir örnek, teşekkürler ,
anlamadığım bir nokta oldu mümkünse bir aydınlatma rica edeceğim ;
kodda , eğer açık bir IEFrame yoksa bir ole nesnesi oluşturup xIExplore a atıyoruz eğer varsa kısmını anlamadım
bu kısımda xIExplore a atamayla ilgili bir işlem yok bir eksiklik olabilir mi ? yada nasıl oluyor.
Teşekkürler.
öncelikle çok güzel bir örnek, teşekkürler ,
anlamadığım bir nokta oldu mümkünse bir aydınlatma rica edeceğim ;
kodda , eğer açık bir IEFrame yoksa bir ole nesnesi oluşturup xIExplore a atıyoruz eğer varsa kısmını anlamadım
Kod: Tümünü seç
xIEHandle := FindWIndow('IEFrame', nil);
SetForegroundWindow(xIEHandle);
Teşekkürler.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
Re: Webbrowser
@vkamadan merhaba.
- Soruda belirli saniyelerde aynı sayfa refresh ettirmek isteniyor...
- Yani her seferinde yeni sayfa açmak değil de var olan sayfayı yenilecek ya o bakımdan.
- Şimdi
(1) Aynı sorduğun blok içine ekle
(2) Navigate ettirdiğin butona bas (daha sonra timer içine girecek ya, elle deneme yapmış olursun)
(3) ilk seferinde bu mesaj gelmeyecektir.
(4) Sayfa tamamlandıktan sonra yeniden bas
(5) Bu eklediğin mesaj gelecek.
(6) Yeni TAB aç oraya google vs. taraması yap,
(7) yeniden butona bas,
(8) önceki açtığın sayfa güncellenecek
... gibi. Soruya istinaden yazdım yani...
- Soruda belirli saniyelerde aynı sayfa refresh ettirmek isteniyor...
- Yani her seferinde yeni sayfa açmak değil de var olan sayfayı yenilecek ya o bakımdan.
- Şimdi
(1) Aynı sorduğun blok içine
Kod: Tümünü seç
ShowMessage('Hala Varım');
(2) Navigate ettirdiğin butona bas (daha sonra timer içine girecek ya, elle deneme yapmış olursun)
(3) ilk seferinde bu mesaj gelmeyecektir.
(4) Sayfa tamamlandıktan sonra yeniden bas
(5) Bu eklediğin mesaj gelecek.
(6) Yeni TAB aç oraya google vs. taraması yap,
(7) yeniden butona bas,
(8) önceki açtığın sayfa güncellenecek
... gibi. Soruya istinaden yazdım yani...

Re: Webbrowser
Hızlı cevabınız için teşekkürler ,
bu kod ilk çalıştırıldığında masaüstünde başka bir amaçla açılmış bir IE Penceresi varsa sorun olur mu ? demek istemiştim aslında.
kodu şimdi denedim ilgili durumda herhangi bir sorun çıkmadı.
İyi çalışmalar dilerim.
bu kod ilk çalıştırıldığında masaüstünde başka bir amaçla açılmış bir IE Penceresi varsa sorun olur mu ? demek istemiştim aslında.
kodu şimdi denedim ilgili durumda herhangi bir sorun çıkmadı.
İyi çalışmalar dilerim.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
Re: Webbrowser
Özetle
- Yani her seferinde yeni sayfa açmak değil de var olan sayfayı yenilecek ya o bakımdan.
- Sadece bizim oluşturduğumuz pencere yoksa yani explorer penceresi kapatılmışsa yeniden xIExplore ataması olacak, Zaten varsa ve buna rağmen yeniden bu procedure çalıştırırsa atama yapılmamalı değil mi ?
- Kurguyu kendinize göre özelleştirin. Ben MEB'in ilsis'ine login olmak için düzenlemiştim.
- Kullanıcılar bir delphi formu içerisinden WebBrowser'a login bilgilerini girmekten rahatsız oldular, ben de dışarıdan böyle bir explorer açtırtıp, login oldurtup sonra raporlama için veri transferlerini delphi cephesinde gerçekleştirmiştim.
- Son kullanıcıya saygıdan yani..
- Yani her seferinde yeni sayfa açmak değil de var olan sayfayı yenilecek ya o bakımdan.
- Sadece bizim oluşturduğumuz pencere yoksa yani explorer penceresi kapatılmışsa yeniden xIExplore ataması olacak, Zaten varsa ve buna rağmen yeniden bu procedure çalıştırırsa atama yapılmamalı değil mi ?
- Kurguyu kendinize göre özelleştirin. Ben MEB'in ilsis'ine login olmak için düzenlemiştim.
- Kullanıcılar bir delphi formu içerisinden WebBrowser'a login bilgilerini girmekten rahatsız oldular, ben de dışarıdan böyle bir explorer açtırtıp, login oldurtup sonra raporlama için veri transferlerini delphi cephesinde gerçekleştirmiştim.
- Son kullanıcıya saygıdan yani..
Re: Webbrowser
kodu denemeden önce
API sinin bana bizim oluştuğumuz IE penceresi haricinde ki başka bir IE penceresinin de Handle ının döndürebilceğini düşündüğümden yanılgıya düşmüştüm kodu deneyip sıkıntı olmadığı görmüş oldum.
Açıklamalar için tekrar teşekkürler.
Kod: Tümünü seç
FindWIndow('IEFrame', nil);
Açıklamalar için tekrar teşekkürler.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
Re: Webbrowser
Tekrar merhaba...
- Aslında sorduğun soruyu gördüğümde bunu düşündüğünü anlamıştım zaten
- Ancak... açılacak pencerenin TITLE'ının takdir edersin ki ne olduğu (site tasarımcısını saymıyorum) belli değil. Ama şunu biliyoruz, Windows alanındaki Create Order döngüsünde ilk olacağı karinesini geçerli sayıyoruz. Biz bu fenomeni kullandık...
- Bilmem anlatabildim mi
- Aslında sorduğun soruyu gördüğümde bunu düşündüğünü anlamıştım zaten



- Ancak... açılacak pencerenin TITLE'ının takdir edersin ki ne olduğu (site tasarımcısını saymıyorum) belli değil. Ama şunu biliyoruz, Windows alanındaki Create Order döngüsünde ilk olacağı karinesini geçerli sayıyoruz. Biz bu fenomeni kullandık...
- Bilmem anlatabildim mi

Re: Webbrowser
Windows API ile Pencere işlevleri konusundaki yetersizliğimle ilgiliydi, karşılaştıkça aydınlanıyoruz bizde sayenizde
Teşekkürler ,
iyi çalışmalar.

Teşekkürler ,
iyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
Re: Webbrowser
- Hocam ne demek, bu sözü kabul etmiyorum.
- Mesajlarını görmediğimi sanma, hiç de o kadar mütevazi olmaya gerek yok.
- Bu arada bu forumda yaratıcı sorular gelmediğinden midir, bir sessizlik var. Güzel soruydu teşekkürler.

- Mesajlarını görmediğimi sanma, hiç de o kadar mütevazi olmaya gerek yok.
- Bu arada bu forumda yaratıcı sorular gelmediğinden midir, bir sessizlik var. Güzel soruydu teşekkürler.

Re: Webbrowser
Estağfirullah hocam ,
İyi bir noktaya değindiniz aslında neredeyse sizin kadar eskiyim bu forumda ilk zamanlardaki canlılık kalmadı maalesef buralarda , kendimce her ne kadar Delphi de gelecek olduğunu yürekten inanıp savunsam da sanırım kan kaybıyla ilgili bu sakin haller.
İyi bir noktaya değindiniz aslında neredeyse sizin kadar eskiyim bu forumda ilk zamanlardaki canlılık kalmadı maalesef buralarda , kendimce her ne kadar Delphi de gelecek olduğunu yürekten inanıp savunsam da sanırım kan kaybıyla ilgili bu sakin haller.
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr