Knight Online Private Serverlar
Knight Online Private Serverlar

Knight Online Private Serverlar Hakkındaki Tüm Paylaşımlar.
 
AnasayfaTakvimSSSAramaÜye ListesiKullanıcı GruplarıKayıt OlGiriş yap

Paylaş | 
 

 Delphi'den TC Kimlik No Sorgulaması Yapma

Aşağa gitmek 
YazarMesaj
Corleone
Administrator
Administrator
avatar

Tuttuğu Takım : Beşiktaşlı
Ruh Hâli : Neşeli
Mesaj Sayısı : 1541
Kullanıcı Puanı : 35001
Saygınlık : 10381
+500 Repliler
Üyelik Tarihi : 24/07/09
Yaş : 23
Şubesi : Ä°stanbul

MesajKonu: Delphi'den TC Kimlik No Sorgulaması Yapma   Çarş. Ağus. 12, 2009 3:09 pm

Delphi'den TC Kimlik No Sorgulaması Yapma

--------------------------------------------------------------------------------

Delphi'den TC Kimlik No Sorgulaması Yapma Burada TC Kimlik No'yu Web Servis'lerini kullanarak nasıl alabileceğimizi göstermeye çalışacağım.

TC kimlik no sayfasının Web Servis'lerini kullanmaya başlaması ve bize bu şekilde sorgu yapabilme imkanı vermesi çok hoş. Bizi HTML veya XML parse işleminden kurtarıyor.

Sayfanın HTML kodunun değişmesi ve bizim parse algoritmamızın kırılması ihtimalini de ortadan kaldırıyor.

Bu makale Delphi 7 için yazılmıştır. Bende Enterprise sürümü mevcut. Diğer sürümlerde Web Servisleri için gerekli SOAP bileşenleri olmayabilir!

Öncelikle Delphi'yi açıyoruz (tabii ki ) Menuden File->New->Other'ı seçiyoruz. Çıkan dialog'da "Web Services" sekmesini buluyoruz (sizinkinde yoksa çok üzgünüm, Delphi 7 Enterprise sürümü edinmeye çalışın). Burada "WSDL Importer"ı seçin ve "OK"'e basın.

Delphi bize farklı bir Dialog kutusu açacak. Bu bölüm, Web Servisleri için gerekli olan interface tanımlamalarını otomatik olarak yapmak için konulmuş (harika bir özellik, yoksa manuel kod yazarak yapacaktınız ). Dialog, WSDL tanımlamalarının bulunduğu sayfayı internet'ten alıyor (tabii ki internet bağlantısı açık olmalı) veya isterseniz
bu XML dosyasını internet'ten çekip biryere kaydedebilirsiniz. Böylece bu dosyayı seçerek, offline olarak da interface tanımlamaları yapılabilir.

İlk bölümde WSDL tanımlamalarının bulunduğu sayfanın URL'sini girmeniz veya bu dosyayı zaten indirdiyseniz dosyayı göstermeniz gerekli.

Eğer URL ile çalışacaksanız buraya:
[Linkleri görebilmek için üye olun veya giriş yapın.] yazın ve "Next"'e basın. Eğer bir proxy arkasındaysanız "Options" düğmesine basarak açılan dialog'da gerekli proxy tanımlamalarını yapabilirsiniz.

Bundan sonra Delphi size oluşturulan kodun bir öngörünümünü sunar. Burayı inceleyin! Çünkü kodlamada bu interface ve property'lerden faydalanacağız.

"Finish"'e basarak bitirin. Delphi, interface ve object tanımlamalarından oluşan bir dosya yaratacak. Bu unit'i programımızda kullanacağız.

Burada önemli olan function "GetKPSPublicWebServiceSoap". Bu function, interface'i create edip gerekli ayarlamaları yapar. Hiç parametre vermeden de kullanabilirsiniz ki ben öyle yaptım.

Programınızda "KPS: KPSPublicWebServiceSoap" ile bir değişken tanımlayın. Sonra "KPS:= GetKPSPublicWebServiceSoap;" ile interface'in oluşturulmasını ve Web Servisinin ayarlanmasını sağlayın. Bunu yapmazsanız programınız çalışmaz. Yani:

var
KPS: KPSPublicWebServiceSoap;
begin
KPS:= GetKPSPublicWebServiceSoap;
end;


yapmamız gerekir. Programdan çıkışta KPS bir interface olduğu için Free etmemize gerek yok. Hatta yapmamalıyız! Delphi hafıza boşaltma işini kendi yapacaktır. Ama en iyisi programdan çıkarken "KPS:= nil;" deyin ki garanti olsun.

Delphi'nin oluşturduğu dosyayı iyi inceleyin. Kullanacağınız object ve property'ler hep burada tanımlı. Mesela interface içinde:

function TCKimlikNoDogrula(const tcKimlikNo: Int64): TCKimlikNoDogrulamaSonucu; stdcall;


diye bir function var. Bu function ile girdiğiniz TC Kimlik no geçerli mi, değil mi öğrenebilirsiniz. Function geriye, TCKimlikNoDogrulamaSonucu isimli bir objenin pointer'ini döndürür. Kullanmak için:

var
Kimlik: TCKimlikNoDogrulamaSonucu;
begin
Kimlik:= KPS.TCKimlikNoDogrula(12345678912);
end;


ile sorguyu yolluyoruz. Eğer kimlik numarası yanlışsa/geçersizse "TC kimlik no XXX geçersizdir" hatası verir.

Numara sistemde kayıtlı ve geçerliyse dönen "Kimlik" objesinden TCKimlikNo, Ad, Soyad, DogumYil property'lerini okuyabiliriz.

Bu işlemleri yapmak için internet bağlantısının açık olması gerektiğini söylemeye gerek yok herhalde. Çünkü sorgulamalar internet aracılığıyla yapılıyor.

Geri kalan sorgulama türlerinin nasıl yapılacağı bu kodlarda gösterilmiştir. Programın kusuruna bakmayın ve estetik aramayın. Ayrıca hata kontrolü içermiyor. "Item index out of bounds" hatası alırsanız İl-İlçe seçmemişsiniz demektir.
Sayfa başına dön Aşağa gitmek
Kullanıcı profilini gör http://k2private.lforum.biz
 
Delphi'den TC Kimlik No Sorgulaması Yapma
Sayfa başına dön 
1 sayfadaki 1 sayfası

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
Knight Online Private Serverlar :: Programlama :: Görsel Programlama-
Buraya geçin: