link almak ?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ready4die
Üye
Mesajlar: 40
Kayıt: 04 Eki 2007 10:17

link almak ?

Mesaj gönderen ready4die »

s.a
idhttp ile sitenin kaynak kodlarını alıyorum
o kaynak kodlarından site linklerini alıyorum (<a href=""> "" arasındakileri alabilyiorum fakat ben sadece site isimlerini nasıl ayırabilirim ? yani http://www.site.com/abcd bu /abcd 'yi nasıl atabilirim yani görüntülemek istediğim sadece http://www.site.com yardımcı olursanız sevinirim teşekkürler..
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: link almak ?

Mesaj gönderen conari »

Delphi karşılığını bilmiyorum, excel formülleri belki bir akıl verebilir.

Kod: Tümünü seç

=SOLDAN(A5;BUL("*";YERİNEKOY(A5;"/";"*";UZUNLUK(A5)-UZUNLUK(YERİNEKOY(A5;"/";""))))-1)
text A5 de olduğu varsayıldı.

tam link
http://www.deneme.com/deneme
sonuç
http://www.deneme.com
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
Search
Üye
Mesajlar: 74
Kayıt: 01 Oca 2008 01:03
Konum: Konya

Re: link almak ?

Mesaj gönderen Search »

Kod: Tümünü seç

procedure TForm1.FormCreate(Sender: TObject);
begin
  Memo1.lines.Text:=IdHTTP1.Get('http://www.google.com.tr');
end;

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
aranan:array[1..40] of integer;
dongu:integer;
begin
     try
       aranan[2]:=1;
           for  dongu:=1 to length(Memo1.Text) do
             begin
               aranan[dongu]:=FastPos(Memo1.Text,'href=',length(Memo1.text),5,aranan[dongu+1]);
                 if aranan[dongu]>0 then
                    begin
                       aranan[dongu+1]:=FastPos(Memo1.Text,'http://',length(memo1.Text),7,aranan[dongu+1]);
                         if aranan[dongu+1]>0 then
                           begin
                              aranan[dongu+2]:=FastPos(Memo1.Text,'/',length(Memo1.text),1,aranan[dongu+1]+7);
                                if aranan[dongu+2]>0 then
                             begin
                        memo2.lines.add(copy(Memo1.Text,aranan[dongu+1],aranan[dongu+2]-(aranan[dongu+1])));
                     end;
                 end;
             end;
          end;
        except
     end;
  end;
end.
Sitede Arama yaparsan Faststring hakkında bilgiye ulaşabilirsin...
Kolay gelsin...
procedure TForm1.FormCreate(Sender: TObject);
begin
showmessage('Dehanın %1 i ilham %99u terdir.');
end;
end.
ready4die
Üye
Mesajlar: 40
Kayıt: 04 Eki 2007 10:17

Re: link almak ?

Mesaj gönderen ready4die »

s.a
search arkadaşımteşekkürler fakat faststrings i çözemedim tam + hata veriyor bazen farklı bir yöntem söylerseniz sevinirim..
teşekkürler
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: link almak ?

Mesaj gönderen Battosai »

Bu işler için delphinin "copy" ve "pos" fonksiyonrından yararlanıp kendi fonksiyonunu yazmalısım...

deger:=copy(text,1,pos('/',text)); kodu biliyondur muhtemelen '/' işaretine kadarki kısımdaki text içeriğini alır...eeee ben bunu zaten biliyom diyorsan...biraz akıl yürüterek...istediğini elde edebilirsin....örneğin bir url de http:// den sonra alt dizinlere kadar '/' işareti olmaz...yani...sen url deki üçüncü '/' işaretin indexini alarak meseleyi çözebilirsin...
Cevapla