implementation
{$R *.dfm}
Function aradansec( text, ilk, son:String ): String;
begin
Delete(Text, 1, pos(ilk, Text) + Length(ilk)-1);
Result := Copy(Text, 1, Pos(Son, Text)-1);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
arama:string;
tmpstr,s : String;
i:Integer;
const
adrilk:String='http://www.youtube.com/results?search_query=';
youtube:string='http://www.youtube.com/watch?v=';
begin
ListBox1.Items.Clear;
arama:=edit1.Text;
WebBrowser1.Navigate(adrilk+arama);
Memo1.Text := IdHTTP1.Get(adrilk+arama);
for i := 0 to memo1.Lines.Count - 1 do
begin
tmpstr := Memo1.Lines;
s := aradansec(tmpstr,'<h3 id="video-long-title-','"><a href="/watch?v=');
//s := aradansec(tmpstr,'" >','</a></h3>');
s := s;
s := StringReplace(s,'<b>','', [rfReplaceAll]);
s := StringReplace(s,'</b>','', [rfReplaceAll]);
if Length(s) > 1 then
ListBox1.Items.Add(youtube+s);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate('');
end;
procedure TForm1.ListBox1Click(Sender: TObject);
begin
Caption := ListBox1.Items.Strings[ListBox1.ItemIndex]
end;
procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
Memo1.Text := IdHTTP1.Get(WebBrowser1.LocationURL);
end;
end.
bu programcıkta youtubeden arama yaptıgımda linkleri alabiliyorum
1. sorum bu çekmiş olduğum linklere tıkladığımda ayrı bir form daki webbrowsere nasıl gönderebilirim ne yapmam gerekiyor
2. sorum bu linklerin isimleri ni tek fonksiyonla çekebilirimyim çekilebiliyorsa ben yapamadım bi turlu ikinici bir fonksiyonmu eklemem lazım
3. sorum edit1.text te arama yaptıgımda kelimelerin arasına boşluk koydugumda hata veriyor bunun için #39 kullanmaya çalıştım nereye denediysem olmadı
şimdiden çok teşekür ediyorum arkadaşlar