s.a
ben webbrowser.navigate('www.site.com');
ile siteyi açıyorum fakat bu sitenin kodları arasında istediğim stringi nasıl çıkartabilirim ?
mesela sitede 'Selam Naber Nasılsın' stringi var bu stringteki 'Selam Naber' i nasıl alabilirim ?
Webbrowser soru
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
html parse olarak aratın. bu konuda birçok örnek var
ancak derdiniz sadece metinleri almaksa > < arasındaki metinler bile ilk etapta işinizi görür... (büyük küçük doru sıradadır)
ancak derdiniz sadece metinleri almaksa > < arasındaki metinler bile ilk etapta işinizi görür... (büyük küçük doru sıradadır)
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
aşağıdaki kod işini görürü sanırım
var
yer,i:integer;
begin
i:=0;
Memo1.Text:=IdHTTP1.Get('http://www.havaizleme.gov.tr/StationInfo.aspx?ST_ID=91');
for i:=0 to length(memo1.Text) do
begin
if copy(Memo1.Text,i,24) = 'Hava Kalitesi İndeksi :' then
begin
Edit1.Text:=copy(Memo1.Text,i+33,2);
end ;
end;
end;
var
yer,i:integer;
begin
i:=0;
Memo1.Text:=IdHTTP1.Get('http://www.havaizleme.gov.tr/StationInfo.aspx?ST_ID=91');
for i:=0 to length(memo1.Text) do
begin
if copy(Memo1.Text,i,24) = 'Hava Kalitesi İndeksi :' then
begin
Edit1.Text:=copy(Memo1.Text,i+33,2);
end ;
end;
end;
şöyle yapabilirsin
var
aranacakyer:WideString; -->webbrowserdaki sayfanın kodunu bu değişkene çekicez
bulunacak:integer; --> bulmak istediğin kelimeyi buna yazıcan
kopyala:ansistring;
begin
aranacakyer:=WebBrowser1.OleObject.document.body.innerHTML;
bulunacak:=pos('selam naber ',aranacakyer);---> arıyacağın kelime ve arayacağın yeri yazarsın
kopyala:=copy(aranacakyer,bulunacak,11);-->aranacakyerde,buluncak kelimenin başından 11 karakter kopyala
memo1.text:=kopyala;
end;
Açıklama;
bulunacak:=pos('selam naber ',aranacakyer);
burda kullanılan ' bulunacak ' integer bir değer çünkü 'pos' arama yaparken bulduğu yerin rakamsal değerini verir yani 'selam naber' kelimesinin ilk harfi, aradığın yerde kaçıncı harf olduğunu bulur.
Örnek
selam naber
burda naber kelimesin ilk harfi, soldan sağa doğru sayınca 7 nci harf pos ile ararsan sana 7 rakamını verir.
kolay gelsin
var
aranacakyer:WideString; -->webbrowserdaki sayfanın kodunu bu değişkene çekicez
bulunacak:integer; --> bulmak istediğin kelimeyi buna yazıcan
kopyala:ansistring;
begin
aranacakyer:=WebBrowser1.OleObject.document.body.innerHTML;
bulunacak:=pos('selam naber ',aranacakyer);---> arıyacağın kelime ve arayacağın yeri yazarsın
kopyala:=copy(aranacakyer,bulunacak,11);-->aranacakyerde,buluncak kelimenin başından 11 karakter kopyala
memo1.text:=kopyala;
end;
Açıklama;
bulunacak:=pos('selam naber ',aranacakyer);
burda kullanılan ' bulunacak ' integer bir değer çünkü 'pos' arama yaparken bulduğu yerin rakamsal değerini verir yani 'selam naber' kelimesinin ilk harfi, aradığın yerde kaçıncı harf olduğunu bulur.
Örnek
selam naber
burda naber kelimesin ilk harfi, soldan sağa doğru sayınca 7 nci harf pos ile ararsan sana 7 rakamını verir.
kolay gelsin
Lord_Ares yazdı:şöyle yapabilirsin
var
aranacakyer:WideString; -->webbrowserdaki sayfanın kodunu bu değişkene çekicez
bulunacak:integer; --> bulmak istediğin kelimeyi buna yazıcan
kopyala:ansistring;
begin
aranacakyer:=WebBrowser1.OleObject.document.body.innerHTML;
bulunacak:=pos('selam naber ',aranacakyer);---> arıyacağın kelime ve arayacağın yeri yazarsın
kopyala:=copy(aranacakyer,bulunacak,11);-->aranacakyerde,buluncak kelimenin başından 11 karakter kopyala
memo1.text:=kopyala;
end;
Açıklama;
bulunacak:=pos('selam naber ',aranacakyer);
burda kullanılan ' bulunacak ' integer bir değer çünkü 'pos' arama yaparken bulduğu yerin rakamsal değerini verir yani 'selam naber' kelimesinin ilk harfi, aradığın yerde kaçıncı harf olduğunu bulur.
Örnek
selam naber
burda naber kelimesin ilk harfi, soldan sağa doğru sayınca 7 nci harf pos ile ararsan sana 7 rakamını verir.
kolay gelsin
buna yakın bir mantıkla yaptım..
Bir başka sorum var oda aynı açtığım sayfada '' karakterleri arasındaki string'i nasıl alabilirim ? yani ; 'string' ' ' arasındaki string yazısını almak istiyorum bunu nasıl yapabilirim ?
var
aranacakyer:WideString; -->webbrowserdaki sayfanın kodunu bu değişkene çekicez
bulunacak1,bulucak2 :integer; --> bulmak istediğin diyelim ki şöyle "selam> burda çift tırnak işaretinden başla, büyüktür işaretine kadar al demek için iki tane karakter arıyacaksın biri " işareti biri > işareti bu yüzden bulunacak1 " işaretini, bulunacak2 ile > işaretine konumlanıcaz
kopyala:ansistring;
begin
aranacakyer:=WebBrowser1.OleObject.document.body.innerHTML;
bulunacak1:=pos(' '' ',aranacakyer);---> arıyacağın kelime ve arayacağın
yeri yazarsın
bulunacak2:=pos(' > ',aranacakyer);--->
kopyala:=copy(aranacakyer,bulunacak1, bulunacak2);-->aranacakyerde,buluncak1 'den ( yani " işaretinden) bulunacak2 ye ( > karakterine kadar) kopyala değişkenine al demiş oluyoruz burdaki bulunacak2 değişkenine şöyle yaparsan kopyala:=copy(aranacakyer,bulunacak1, bulunacak2-1) dersen > işaretinden önceki karaktere kadar kopyala demiş olursun
memo1.text:=kopyala;
end;
bu konu ile ilgili sayın mrmarman hocamın bana bir örneği var çok güzel bir kod istersen bunu dene viewtopic.php?t=22005
burda diğer arkadaşlarında bana vermiş olduğu güzel fikirler var tekrar teşekkür ediyorum onlara .
aranacakyer:WideString; -->webbrowserdaki sayfanın kodunu bu değişkene çekicez
bulunacak1,bulucak2 :integer; --> bulmak istediğin diyelim ki şöyle "selam> burda çift tırnak işaretinden başla, büyüktür işaretine kadar al demek için iki tane karakter arıyacaksın biri " işareti biri > işareti bu yüzden bulunacak1 " işaretini, bulunacak2 ile > işaretine konumlanıcaz
kopyala:ansistring;
begin
aranacakyer:=WebBrowser1.OleObject.document.body.innerHTML;
bulunacak1:=pos(' '' ',aranacakyer);---> arıyacağın kelime ve arayacağın
yeri yazarsın
bulunacak2:=pos(' > ',aranacakyer);--->
kopyala:=copy(aranacakyer,bulunacak1, bulunacak2);-->aranacakyerde,buluncak1 'den ( yani " işaretinden) bulunacak2 ye ( > karakterine kadar) kopyala değişkenine al demiş oluyoruz burdaki bulunacak2 değişkenine şöyle yaparsan kopyala:=copy(aranacakyer,bulunacak1, bulunacak2-1) dersen > işaretinden önceki karaktere kadar kopyala demiş olursun
memo1.text:=kopyala;
end;
bu konu ile ilgili sayın mrmarman hocamın bana bir örneği var çok güzel bir kod istersen bunu dene viewtopic.php?t=22005
burda diğer arkadaşlarında bana vermiş olduğu güzel fikirler var tekrar teşekkür ediyorum onlara .