webmaster
 
›
Konu Kilitli
24-12-2007 14:02:54
 

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:
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.

Bir önceki yazı Delphi de Yararlı Kodlar hakkında bilgi vermektedir.

19-07-2009 11:21:32
 
yardımm
kardesim acil yardıma ihtiyacım var delphi de girilen t.c. kimlik nosundan
online sorgulama yapıp icra borcu olup olmadıgını cıkaran kodu yazabilirmisiniz ?

Konu Kilitli

"Delphi'den TC Kimlik No Sorgulaması Yapma" konusu hakkında etiketler
acilmiyor alanda alma almak arama baglanma baglanmak baglantisi begin bilgi bilgisi birden borc borcu calisma cbuilder cok delhi deliphi delphi delphi7 delphide delphiden DelphiTC deplhide dogrulama dosya garanti gonderme gondermek hatasi html htmlbilgi htmlp icin icra ile iller importer internete internetten intertc kayit kim kimdir kimlik kimlikle kodlari kodu kps kullanim kullanimi kullanma kutulariiiiiii mesaj nasil neyle numarasi numarasini ogrenebilirim okumakk olusturma olusturulur parametre projesi proxy sayfasi service services servis servisleri site sitelerde sitesi sitesinden sitesine soap sorgu sorgula sorgulama sorgulamasi tapmaq tckimlik teknik use uzerinden vergi wdsl web webden webservice webservices webservis webservisl wsdl xml yapimi yapma yapmak yaratma yazilmistir yeni

Delphi de Yararlı Kodlar Önceki | Sonraki Excelden verİ alma gÖnderme yardim




Saat: 11:44 - Webmaster Forumu - Rss - Arşiv
İletişim Bilgileri, Contact Us, Kullanım Sözleşmesi, Gizlilik