Youtube Arama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
doktoraltun
Üye
Mesajlar: 73
Kayıt: 06 Oca 2012 06:56

Youtube Arama

Mesaj gönderen doktoraltun »

Selamun aleykum arkadaşlar şöyle 3 adet problemim var, yol gösterebilirmisiniz acaba şimdiden teşekurler
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
doktoraltun
Üye
Mesajlar: 73
Kayıt: 06 Oca 2012 06:56

Re: Youtube Arama

Mesaj gönderen doktoraltun »

3. sorumu hal ettim
function uTurkceHarfYokEt(pDeger: string): string;
var
lintSayac, lintUzunluk: Integer;
lstrUretilen: string;
begin
lstrUretilen := '';
lintUzunluk := length(pDeger);
for lintSayac := 1 to lintUzunluk do
begin
case pDeger[lintSayac] of
'ğ': lstrUretilen := lstrUretilen + 'g';
'ü': lstrUretilen := lstrUretilen + 'u';
'ı': lstrUretilen := lstrUretilen + 'i';
'ç': lstrUretilen := lstrUretilen + 'c';
'ş': lstrUretilen := lstrUretilen + 's';
'ö': lstrUretilen := lstrUretilen + 'o';
'İ': lstrUretilen := lstrUretilen + 'I';
'Ğ': lstrUretilen := lstrUretilen + 'G';
'Ü': lstrUretilen := lstrUretilen + 'U';
'Ç': lstrUretilen := lstrUretilen + 'Ç';
'Ş': lstrUretilen := lstrUretilen + 'S';
'Ö': lstrUretilen := lstrUretilen + 'O';
' ': lstrUretilen := lstrUretilen + '+';
else
lstrUretilen := lstrUretilen + pDeger[lintSayac];
end;
end;
Result := lstrUretilen;
end;
türkçe karakter sorunumuda hal etmiş oldum

kaldı iki sorun yardımlarınızı bekliyorum arkadaşlar teşekkürler şimdiden.
doktoraltun
Üye
Mesajlar: 73
Kayıt: 06 Oca 2012 06:56

Re: Youtube Arama

Mesaj gönderen doktoraltun »

1. sorumuda çözdum
adres1:=ListBox1.Items.Strings[ListBox1.ItemIndex];
WebBrowser1.Navigate(adres1);
Cevapla