kod aşağıda. bu dpr dosyasının yanında "kpspublic.pas" ve kpspublic.wsdl" dosyalarıda lazım. D7 ve üzerinde derlenebilir. D6 da tanımlanmamış tipler vs. var. kpdpublicwsdl sini tckimlik sitesinden (adresi hatırlayamadımda ) indirebilirsiniz.
dll dosyasınıda link aşağıda
http://www.atayurduakcakese.com/download/TCkimlik.zip
Kod: Tümünü seç
library tcnodll;
{ Important note about DLL memory management: ShareMem must be the
first unit in your library's USES clause AND your project's (select
Project-View Source) USES clause if your DLL exports any procedures or
functions that pass strings as parameters or function results. This
applies to all strings passed to and from your DLL--even those that
are nested in records and classes. ShareMem is the interface unit to
the BORLNDMM.DLL shared memory manager, which must be deployed along
with your DLL. To avoid using BORLNDMM.DLL, pass string information
using PChar or ShortString parameters. }
uses
Windows,
Messages,
SysUtils,
Variants,
Classes,
Graphics,
Controls,
Forms,
Dialogs,
InvokeRegistry,
StdCtrls,
Rio,
SOAPHTTPClient,
ExtCtrls,
kpsPublic in 'kpsPublic.pas';
function tcnodogrula(tckimlikno:int64;var adi,soyadi:shortstring;var dyili:word):Boolean ;
var
Kimlik:TCKimlikNoDogrulamaSonucu;
kps:KPSPublicWebServiceSoap;
a,s:string;
begin
kps:=GetKPSPublicWebServiceSoap(true,'',nil);
kimlik := TCKimlikNoDogrulamaSonucu.Create;
kimlik.TCKimlikNo := tckimlikno;
try
Kimlik := kps.TCKimlikNoDogrula(TCKimlikNo);
except
on E: Exception do begin Showmessage(E.Message);result:=false;exit; end;
end; //eğer bilgiler aynı ise true gidecek. böylece değişiklik yapılmayacak.
result:=(kimlik.Ad=adi) and (kimlik.Soyad=soyadi) and (kimlik.DogumYil=dyili);
a:=kimlik.Ad;
s:=Kimlik.Soyad;
adi:=pchar(a);
soyadi:=pchar(S);
dyili:=kimlik.DogumYil;
kimlik.Free;
end;
function tcnover(ad,soyad,baba,ana:shortstring;dyeri,dyili:word;cinsiyet:byte):int64;
var
vatandas:kpspublic.TemelBilgilerdenKimlikBilgisi;
kps:kpspublic.KPSPublicWebServiceSoap;
dogrula:kpspublic.KimlikBilgisi;
begin
kps:=GetKPSPublicWebServiceSoap(true,'',nil);
vatandas:=TemelBilgilerdenKimlikBilgisi.Create;
vatandas.Ad:=ad;
vatandas.Soyad:=soyad;
vatandas.BabaAd:=baba;
vatandas.AnaAd:=ana;
vatandas.IlceKod:=dyeri;//doğumyeri nkoyer
vatandas.DogumYil:=dyili;
vatandas.Cinsiyet:=bilinmiyor;
case cinsiyet of
0 : vatandas.Cinsiyet:= kadin;
1 : vatandas.Cinsiyet:= erkek;
end;
try
dogrula:=kps.KisiBilgisindenKimlikBilgisiSorgula(vatandas);
result:=dogrula.TCKimlikNo;
except
on E: Exception do begin Showmessage(E.Message);result:=0;exit; end;
end;
vatandas.Free;
end;
{$R *.res}
exports tcnover, tcnodogrula;
begin
end.
Kod: Tümünü seç
// ************************************************************************ //
// The types declared in this file were generated from data read from the
// WSDL File described below:
// WSDL : C:\tcno\kpsPublic.wsdl
// Encoding : utf-8
// Version : 1.0
// (18.09.2005 22:09:50 - 1.33.2.5)
// ************************************************************************ //
unit kpsPublic;
interface
uses InvokeRegistry, SOAPHTTPClient, Types, XSBuiltIns, OPConvert ;
type
// ************************************************************************ //
// The following types, referred to in the WSDL document are not being represented
// in this file. They are either aliases[@] of other types represented or were referred
// to but never[!] declared in the document. The types from the latter category
// typically map to predefined/known XML or Borland types; however, they could also
// indicate incorrect WSDL documents that failed to declare or import a schema type.
// ************************************************************************ //
// !:long - "http://www.w3.org/2001/XMLSchema"
// !:string - "http://www.w3.org/2001/XMLSchema"
// !:int - "http://www.w3.org/2001/XMLSchema"
CustomBE = class; { "http://kps.nvi.gov.tr/WS/Public" }
IlBilgisi = class; { "http://kps.nvi.gov.tr/WS/Public" }
SearchInfoBE = class; { "http://kps.nvi.gov.tr/WS/Public" }
TCKimlikNoDogrulamaSonucu = class; { "http://kps.nvi.gov.tr/WS/Public" }
IlceBilgisi = class; { "http://kps.nvi.gov.tr/WS/Public" }
KayitYerindenKimlikBilgisi = class; { "http://kps.nvi.gov.tr/WS/Public" }
KimlikBilgisi = class; { "http://kps.nvi.gov.tr/WS/Public" }
TemelBilgilerdenKimlikBilgisi = class; { "http://kps.nvi.gov.tr/WS/Public" }
{ "http://kps.nvi.gov.tr/WS/Public" }
CinsiyetTipi = (Bilinmiyor, Erkek, Kadin);
// ************************************************************************ //
// Namespace : http://kps.nvi.gov.tr/WS/Public
// ************************************************************************ //
CustomBE = class(TRemotable)
private
published
end;
// ************************************************************************ //
// Namespace : http://kps.nvi.gov.tr/WS/Public
// ************************************************************************ //
IlBilgisi = class(CustomBE)
private
FKod: Integer;
FAd: WideString;
published
property Kod: Integer read FKod write FKod;
property Ad: WideString read FAd write FAd;
end;
ArrayOfIlBilgisi = array of IlBilgisi; { "http://kps.nvi.gov.tr/WS/Public" }
// ************************************************************************ //
// Namespace : http://kps.nvi.gov.tr/WS/Public
// ************************************************************************ //
SearchInfoBE = class(CustomBE)
private
published
end;
// ************************************************************************ //
// Namespace : http://kps.nvi.gov.tr/WS/Public
// ************************************************************************ //
TCKimlikNoDogrulamaSonucu = class(SearchInfoBE)
private
FTCKimlikNo: Int64;
FAd: WideString;
FSoyad: WideString;
FDogumYil: Integer;
published
property TCKimlikNo: Int64 read FTCKimlikNo write FTCKimlikNo;
property Ad: WideString read FAd write FAd;
property Soyad: WideString read FSoyad write FSoyad;
property DogumYil: Integer read FDogumYil write FDogumYil;
end;
// ************************************************************************ //
// Namespace : http://kps.nvi.gov.tr/WS/Public
// ************************************************************************ //
IlceBilgisi = class(CustomBE)
private
FKod: Integer;
FAd: WideString;
FIlKod: Integer;
published
property Kod: Integer read FKod write FKod;
property Ad: WideString read FAd write FAd;
property IlKod: Integer read FIlKod write FIlKod;
end;
ArrayOfIlceBilgisi = array of IlceBilgisi; { "http://kps.nvi.gov.tr/WS/Public" }
// ************************************************************************ //
// Namespace : http://kps.nvi.gov.tr/WS/Public
// ************************************************************************ //
KayitYerindenKimlikBilgisi = class(SearchInfoBE)
private
FIlceKod: Integer;
FCiltKod: Integer;
FAileSiraNo: Integer;
FBireySiraNo: Integer;
published
property IlceKod: Integer read FIlceKod write FIlceKod;
property CiltKod: Integer read FCiltKod write FCiltKod;
property AileSiraNo: Integer read FAileSiraNo write FAileSiraNo;
property BireySiraNo: Integer read FBireySiraNo write FBireySiraNo;
end;
// ************************************************************************ //
// Namespace : http://kps.nvi.gov.tr/WS/Public
// ************************************************************************ //
KimlikBilgisi = class(CustomBE)
private
FTCKimlikNo: Int64;
FAd: WideString;
FSoyad: WideString;
FAnaAd: WideString;
FBabaAd: WideString;
FDogumYil: Integer;
FCinsiyet: CinsiyetTipi;
FIlKod: Integer;
FIlAd: WideString;
FIlceKod: Integer;
FIlceAd: WideString;
FCiltKod: Integer;
FCiltAd: WideString;
FAileSiraNo: Integer;
FBireySiraNo: Integer;
published
property TCKimlikNo: Int64 read FTCKimlikNo write FTCKimlikNo;
property Ad: WideString read FAd write FAd;
property Soyad: WideString read FSoyad write FSoyad;
property AnaAd: WideString read FAnaAd write FAnaAd;
property BabaAd: WideString read FBabaAd write FBabaAd;
property DogumYil: Integer read FDogumYil write FDogumYil;
property Cinsiyet: CinsiyetTipi read FCinsiyet write FCinsiyet;
property IlKod: Integer read FIlKod write FIlKod;
property IlAd: WideString read FIlAd write FIlAd;
property IlceKod: Integer read FIlceKod write FIlceKod;
property IlceAd: WideString read FIlceAd write FIlceAd;
property CiltKod: Integer read FCiltKod write FCiltKod;
property CiltAd: WideString read FCiltAd write FCiltAd;
property AileSiraNo: Integer read FAileSiraNo write FAileSiraNo;
property BireySiraNo: Integer read FBireySiraNo write FBireySiraNo;
end;
// ************************************************************************ //
// Namespace : http://kps.nvi.gov.tr/WS/Public
// ************************************************************************ //
TemelBilgilerdenKimlikBilgisi = class(SearchInfoBE)
private
FIlceKod: Integer;
FAd: WideString;
FSoyad: WideString;
FBabaAd: WideString;
FAnaAd: WideString;
FCinsiyet: CinsiyetTipi;
FDogumYil: Integer;
published
property IlceKod: Integer read FIlceKod write FIlceKod;
property Ad: WideString read FAd write FAd;
property Soyad: WideString read FSoyad write FSoyad;
property BabaAd: WideString read FBabaAd write FBabaAd;
property AnaAd: WideString read FAnaAd write FAnaAd;
property Cinsiyet: CinsiyetTipi read FCinsiyet write FCinsiyet;
property DogumYil: Integer read FDogumYil write FDogumYil;
end;
// ************************************************************************ //
// Namespace : http://kps.nvi.gov.tr/WS/Public
// soapAction: http://kps.nvi.gov.tr/WS/Public/%operationName%
// transport : http://schemas.xmlsoap.org/soap/http
// style : document
// binding : KPSPublicWebServiceSoap
// service : KPSPublicWebService
// port : KPSPublicWebServiceSoap
// URL : http://tckimlik.nvi.gov.tr/kpsPublic.asmx
// ************************************************************************ //
KPSPublicWebServiceSoap = interface(IInvokable)
['{25BC430F-102E-DCB2-C875-56D6F192E8B7}']
function TCKimlikNoDogrula(const tcKimlikNo: Int64): TCKimlikNoDogrulamaSonucu; stdcall;
function IlListesiGetir: ArrayOfIlBilgisi; stdcall;
function IlceListesiGetir: ArrayOfIlceBilgisi; stdcall;
function IleBagliIlceListesiGetir(const ilKodu: Integer): ArrayOfIlceBilgisi; stdcall;
function KayitYerindenKimlikBilgisiSorgula(const be: KayitYerindenKimlikBilgisi; const Ad: WideString; const Soyad: WideString): KimlikBilgisi; stdcall;
function KisiBilgisindenKimlikBilgisiSorgula(const be: TemelBilgilerdenKimlikBilgisi): KimlikBilgisi; stdcall;
end;
function GetKPSPublicWebServiceSoap(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): KPSPublicWebServiceSoap;
implementation
function GetKPSPublicWebServiceSoap(UseWSDL: Boolean; Addr: string; HTTPRIO: THTTPRIO): KPSPublicWebServiceSoap;
const
defWSDL = 'kpsPublic.wsdl';
defURL = 'http://tckimlik.nvi.gov.tr/kpsPublic.asmx';
defSvc = 'KPSPublicWebService';
defPrt = 'KPSPublicWebServiceSoap';
var
RIO: THTTPRIO;
begin
Result := nil;
if (Addr = '') then
begin
if UseWSDL then
Addr := defWSDL
else
Addr := defURL;
end;
if HTTPRIO = nil then
begin
RIO := THTTPRIO.Create(nil);
//rio.Converter.Encoding:='utf-8';
//rio.Converter.Options:= [soSendMultiRefObj,soSendMultiRefArray,soTryAllSchema,soRootRefNodesToBody,soDocument,soCacheMimeResponse];
rio.HTTPWebNode.UseUTF8InHeader:=true;
end
else
RIO := HTTPRIO;
try
Result := (RIO as KPSPublicWebServiceSoap);
if UseWSDL then
begin
RIO.WSDLLocation := Addr;
RIO.Service := defSvc;
RIO.Port := defPrt;
end else
RIO.URL := Addr;
finally
if (Result = nil) and (HTTPRIO = nil) then
RIO.Free;
end;
end;
initialization
InvRegistry.RegisterInterface(TypeInfo(KPSPublicWebServiceSoap), 'http://kps.nvi.gov.tr/WS/Public', 'utf-8');
InvRegistry.RegisterDefaultSOAPAction(TypeInfo(KPSPublicWebServiceSoap), 'http://kps.nvi.gov.tr/WS/Public/%operationName%');
InvRegistry.RegisterInvokeOptions(TypeInfo(KPSPublicWebServiceSoap), ioDocument);
RemClassRegistry.RegisterXSInfo(TypeInfo(CinsiyetTipi), 'http://kps.nvi.gov.tr/WS/Public', 'CinsiyetTipi');
RemClassRegistry.RegisterXSClass(CustomBE, 'http://kps.nvi.gov.tr/WS/Public', 'CustomBE');
RemClassRegistry.RegisterXSClass(IlBilgisi, 'http://kps.nvi.gov.tr/WS/Public', 'IlBilgisi');
RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfIlBilgisi), 'http://kps.nvi.gov.tr/WS/Public', 'ArrayOfIlBilgisi');
RemClassRegistry.RegisterXSClass(SearchInfoBE, 'http://kps.nvi.gov.tr/WS/Public', 'SearchInfoBE');
RemClassRegistry.RegisterXSClass(TCKimlikNoDogrulamaSonucu, 'http://kps.nvi.gov.tr/WS/Public', 'TCKimlikNoDogrulamaSonucu');
RemClassRegistry.RegisterXSClass(IlceBilgisi, 'http://kps.nvi.gov.tr/WS/Public', 'IlceBilgisi');
RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfIlceBilgisi), 'http://kps.nvi.gov.tr/WS/Public', 'ArrayOfIlceBilgisi');
RemClassRegistry.RegisterXSClass(KayitYerindenKimlikBilgisi, 'http://kps.nvi.gov.tr/WS/Public', 'KayitYerindenKimlikBilgisi');
RemClassRegistry.RegisterXSClass(KimlikBilgisi, 'http://kps.nvi.gov.tr/WS/Public', 'KimlikBilgisi');
RemClassRegistry.RegisterXSClass(TemelBilgilerdenKimlikBilgisi, 'http://kps.nvi.gov.tr/WS/Public', 'TemelBilgilerdenKimlikBilgisi');
end.