Yapmak istediğiniz işle ilgili doğru bileşeni bulmak için burayı kullanabilirsiniz. Sadece bulmak için, diğer sorular Programlama forumuna lütfen.
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
bu işlemi kodla pek çok yoldan yapabilirsin.
öncelikle ilk bilmen gereken almak istediğin sayfa nasıl bir yapıda. Metodu nedir.
bu yollardan birincisi ve en sağlam olanı wininet kullanarak bulmak. ama biraz zahmetli olduğunu belirtmem gerek. daha önce wininet ile internetopen yaptıysan bunu kolaylıkla yapabilirsin. bir mantığı var HINTERNET ile sadece biraz fazla haşır neşir oluyorsun.
Ama benim tavsiyem fastnet veya indy de de bulunan http componentlerini kullanman olur. Her ikisiylede rahatlıkla kodları çekebilirsin. Get metodu ile veri alırken:
degiskenin:=component.get(URL);
component=http componentin.
yada degiskenin:=component.body;
post metodundan dönen bilgileri almak istiyorsan öncelikle post olayını yakalaman lazımdırki bunu webbrowser ile yapabilirsin. daha sonra bilgileri post indy yada fastnet komponentlerinden biri ile post edip body den kodları alabilirsin.
diğer bir yol ise TWebBrowser nesnesini kullanmaktır. Fakat bunun işi biraz daha derin. hiç tavsiye etmem. hele formunda webbrowserda yoksa boşu boşuna ekleme. yapman gereken şu şekilde başlamak:
theDoc variant tipindedir. PersistFile olarak bu dosyayı textFile olarak kaydedebilir ve kodunu görebilirsiniz.
yollardan bazıları hakkında fikir vermek istedim sadece.
eğer daha kesin bir şekilde hangi yolda takıldığınızı söylerseniz bende daha kesin bir şekilde yardım edebilirim.
saygılar kolay gelsin
function WB_SaveHTMLCode(WebBrowser: TWebBrowser; const FileName: TFileName): Boolean;
var
ps: IPersistStreamInit;
fs: TFileStream;
sa: IStream;
begin
ps := WebBrowser.Document as IPersistStreamInit;
fs := TFileStream.Create(FileName, fmCreate);
try
sa := TStreamAdapter.Create(fs, soReference) as IStream;
Result := Succeeded(ps.Save(sa, True));
finally
fs.Free;
end;
end;
function WB_GetHTMLCode(WebBrowser: TWebBrowser; ACode: TStrings): Boolean;
var
ps: IPersistStreamInit;
ss: TStringStream;
sa: IStream;
s: string;
begin
ps := WebBrowser.Document as IPersistStreamInit;
s := '';
ss := TStringStream.Create(s);
try
sa := TStreamAdapter.Create(ss, soReference) as IStream;
Result := Succeeded(ps.Save(sa, True));
if Result then ACode.Add(ss.Datastring);
finally
ss.Free;
end;
end;
procedure TForm1.btn_siteyigetirClick(Sender: TObject);
begin
WebBrowser1.Navigate(www.siteadresim.com/index.html);
end;
procedure TForm1.btn_memmoyatClick(Sender: TObject);
begin
WB_GetHTMLCode(Webbrowser1, Memo1.Lines);
end;