Ntv'nin Döviz kurlarını almak...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
AhmetNuri
Üye
Mesajlar: 262
Kayıt: 02 Tem 2007 07:55
Konum: ist
İletişim:

Re: Ntv'nin Döviz kurlarını almak...

Mesaj gönderen AhmetNuri »

Arkaadaşlar rapit linkleri ölmüş
acaba başka bir yere programı koyabilirmisiniz?
Ahmet DENİZ
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Ntv'nin Döviz kurlarını almak...

Mesaj gönderen mrmarman »

Bir tane hazırladım. Buyrun
Resim

http://rapidshare.com/files/172475351/H ... VMSNBC.rar

Parse işlemini kavramak için en basit yaklaşım, tüm bloğu ardışık karakterler gibi düşünmek ve ihtiyaç olunan tekil/benzersiz noktaları tespit ederek adım adım silerek asıl veriye yaklaşmak. Bir ipe dizili boncuk taneleri gibi düşünün. (örnekteki ARA değişkeni aranarak bulunur, Gelen katarda bu değişkendeki veri de dahil olmak üzere ondan önce gelen tüm veri silinir.)

Kod: Tümünü seç

Type tHava_ntvmsnbc = Record
  ta1, ta2, ta3,
  is1, is2, is3,
  an1, an2, an3,
  iz1, iz2, iz3 : String;
End;

procedure TForm1.Button1Click(Sender: TObject);
Const
  NTVHava = 'http://www.ntvmsnbc.com/inc/cover_box_weather.asp';
Var
  Gelen, Ara : String;
  Hava  : tHava_ntvmsnbc;
begin
  Try
    Gelen := Trim( IdHttp1.Get( NTVHava ) );
  Except
    Exit;
  End;

  ZeroMemory( @Hava, SizeOf(Hava) );
  if Gelen <> '' then begin
    // üç gün ( tarihler )
    Ara := 'nowrap><b>';

    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Hava.ta1 := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );

    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Hava.ta2 := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );

    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Hava.ta3 := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );

    // İstanbul hava durumu
    Ara := '<b>İSTANBUL</b>';
    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );

    Ara := 'align=''absmiddle''>';

    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Hava.is1 := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );

    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Hava.is2 := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );

    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Hava.is3 := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );

    // Ankara hava durumu
    Ara := '<b>ANKARA</b>';
    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );

    Ara := 'align=''absmiddle''>';

    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Hava.an1 := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );

    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Hava.an2 := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );

    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Hava.an3 := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );

    // İzmir hava durumu
    Ara := '<b>İZMİR</b>';
    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );

    Ara := 'align=''absmiddle''>';

    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Hava.iz1 := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );

    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Hava.iz2 := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );

    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Hava.iz3 := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );
  end;

  With ListView1.Items.Add do begin
    Caption := 'Tarihler' ;
    SubItems.Add( Hava.ta1 );
    SubItems.Add( Hava.ta2 );
    SubItems.Add( Hava.ta3 );
  end;

  With ListView1.Items.Add do begin
    Caption := 'Ankara';
    SubItems.Add( Hava.an1 );
    SubItems.Add( Hava.an2 );
    SubItems.Add( Hava.an3 );
  end;

  With ListView1.Items.Add do begin
    Caption := 'İstanbul';
    SubItems.Add( Hava.iz1 );
    SubItems.Add( Hava.iz2 );
    SubItems.Add( Hava.iz3 );
  end;

  With ListView1.Items.Add do begin
    Caption := 'İzmir';
    SubItems.Add( Hava.is1 );
    SubItems.Add( Hava.is2 );
    SubItems.Add( Hava.is3 );
  end;
end;

Kod: Tümünü seç

Type tDoviz_ntvmsnbc = Record
  imkb100,
  imkb100fark,
  imkb30,
  imkb30fark,
  USD,
  USDfark,
  EURO,
  EUROfark     : String;
End;

procedure TForm1.Button2Click(Sender: TObject);
Const
  NTVMSNBC = 'http://www.ntvmsnbc.com.tr';
Var
  Gelen, Ara : String;
  Doviz  : tDoviz_ntvmsnbc;
begin
  Try
    Gelen := Trim( IdHttp1.Get( NTVMSNBC ) );
  Except
    Exit;
  End;

  ZeroMemory( @Doviz, SizeOf(Doviz) );
  if Gelen <> '' then begin
    // PARA PİYASA VERİLERİ
    Ara := 'PARA PİYASA VERİLERİ';

    Ara := '<p><strong>İMKB 100</strong></p><p>';
    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Doviz.imkb100 := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );

    Ara := '>%';
    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Doviz.imkb100fark := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );

    Ara := '<strong>İMKB 30</strong></p><p>';
    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Doviz.imkb30 := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );

    Ara := '>%';
    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Doviz.imkb30fark := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );

    Ara := '<strong>USD</strong></p><p>';
    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Doviz.USD := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );

    Ara := '>%';
    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Doviz.USDfark := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );

    Ara := '<strong>EURO</strong></p><p>';
    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Doviz.EURO := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );

    Ara := '>%';
    Delete( Gelen, 1, Pos(Ara, gelen) + length(Ara)-1 );
    Doviz.EUROfark := Trim( Copy(Gelen, 1, Pos('<', Gelen)-1) );
  end;

  With ListView2.Items.Add do begin
    Caption := 'IMKB 100' ;
    SubItems.Add( Doviz.imkb100 );
    SubItems.Add( Doviz.imkb100fark );
  end;

  With ListView2.Items.Add do begin
    Caption := 'IMKB 30' ;
    SubItems.Add( Doviz.imkb30 );
    SubItems.Add( Doviz.imkb30fark );
  end;

  With ListView2.Items.Add do begin
    Caption := 'USD' ;
    SubItems.Add( Doviz.USD );
    SubItems.Add( Doviz.USDfark );
  end;

  With ListView2.Items.Add do begin
    Caption := 'EURO' ;
    SubItems.Add( Doviz.EURO );
    SubItems.Add( Doviz.EUROfark );
  end;
end;
Resim
Resim ....Resim
Cevapla