html parse ile ilgili

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
barutali
Üye
Mesajlar: 297
Kayıt: 02 Tem 2007 02:30

html parse ile ilgili

Mesaj gönderen barutali »

arkadaşlar suan bi arkadaşım için radyo programı yapıyorum.
Stream Bilgileri okuyabilmek için
Dj adı çalan şarkı dinleyici sayısı vs.vs bi php kod hazırladım
sayfada bilgileri gösteriyor.

sayfa kaynağını Tmemo ya aktarıyorum fakat parselemede sorun yasıyorum.

Sayfa kaynağı aşağıdaki gibi sitedeki html parseleme ile ilgili bütün konuların bütün cevaplarını konularda verilen linkleri ve bazı 3. parti bileşenleri kullandım ama beceremedim
benim beceriksizliğimden kaynaklanan bi durum biliyorum.
Embarassed

Mesela Şu Kısımdaki : AnTiSePTiC i nasıl alabilirim.

Kod: Tümünü seç

<td width="91%"><span class="yayin2">: AnTiSePTiC</span></td>
Yardımcı olabilcek arkadaşlara teşekkürler.

Kod: Tümünü seç

<style type="text/css">
<!--
.yayin {color: #333333; font-weight: bold; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; }
.yayin2 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: #333333;}
-->
</style>

                                                                                                      <table width="400"  border="0" cellpadding="0" cellspacing="2">
    <tr valign="top">
    <td width="9%" nowrap><span class="yayin">Yayındaki DJ </span></td>
    <td width="91%"><span class="yayin2">: AnTiSePTiC</span></td>
  </tr>    <tr valign="top">
    <td nowrap><span class="yayin">Yayın Kalitesi </span></td>

    <td class="yayin2">: >Stream is up at 24 kbps with <B>780 of 1500 listeners (754 unique)</td>
  </tr>    <tr valign="top">
    <td nowrap><span class="yayin">En çok dinleyen sayisi </span></td>
    <td class="yayin2">: >976</td>
  </tr>    <tr valign="top">
    <td nowrap><span class="yayin">&Ccedil;alan Parça </span></td>

    <td class="yayin2">: dus sokagÿ sakÿnlerÿ - Gayret Et Guzelim</td>
  </tr></table>
:oops: :oops: [/code]
amatör küme programcı :D
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Mesaj gönderen unicorn64 »

sanırım DJ adından önceki Yayındaki DJ ifadesi sabit olmalı.
<tr valign="top">
<td width="9%" nowrap><span class="yayin">Yayındaki DJ </span></td>
<td width="91%"><span class="yayin2">: AnTiSePTiC</span></td>
</tr>
buna göre bu ifadeden sonraki ilk ":" ve "<" karakterleri arasındaki değer DJ adı olacaktır. önce "Yayındaki DJ" ifadesini bulup ondan sonraki ilk ":" ve "<" arasını alır ve trim yaparsanız sanırım DJ adını elde etmiş olursunuz...
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Merhaba...

Kod: Tümünü seç

<td width="91%"><span class="yayin2">: AnTiSePTiC</span></td>
gibi bir koddan çıktı almak için tekil olan en uzun karakter katarını etüd edin. Mesela burada şöyle bir fonksiyon kullanabilirsiniz.

Kod: Tümünü seç

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;
Kullanımı şöyle olabilir.

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
Var
  Metin, Sonuc : String;
begin
  Metin := '<td width="91%"><span class="yayin2">: AnTiSePTiC</span></td>';
  Sonuc := AradanSec( Metin, '">:', '<' );
  ShowMessage( Sonuc );
end;
Resim
Resim ....Resim
Kullanıcı avatarı
barutali
Üye
Mesajlar: 297
Kayıt: 02 Tem 2007 02:30

Mesaj gönderen barutali »

@mrmarman hocam gerçekten cennetlik bi insansınız.

Çok teşekkür ederim. @Unicorn64 hocam ilgin için ayrıca sanada teşekkür ederim.
amatör küme programcı :D
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Mesaj gönderen unicorn64 »

benimkisi spesifik bi cevaptı ama @mrmarman hocam sağolsun genel bi prosedürle işi halletmiş
Cevapla