Delphi etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Delphi etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

19 Haziran 2010 Cumartesi

( Delphi ) TC Kimlik Numarası Geçerlilik Fonksiyonu

function TCKimlikGecerliMi( TCKimlikNo : string ) : Boolean ;
var
  Tekler    : Integer ;
  Ciftler   : Integer ;
  Basamak10 : Integer ;
  Basamak11 : Integer ;
  Kontrol1  : Boolean ;
  Kontrol2  : Boolean ;
begin
  // tc kimlik no kontrol edilecek . . .
  Tekler  := StrToInt( TCKimlikNo[1] ) + StrToInt( TCKimlikNo[3] ) + StrToInt( TCKimlikNo[5] ) + StrToInt( TCKimlikNo[7] ) + StrToInt( TCKimlikNo[9] ) ;
  Ciftler := StrToInt( TCKimlikNo[2] ) + StrToInt( TCKimlikNo[4] ) + StrToInt( TCKimlikNo[6] ) + StrToInt( TCKimlikNo[8] ) ;
  Basamak10 := StrToInt( TCKimlikNo[10] ) ;
  Basamak11 := StrToInt( TCKimlikNo[11] ) ;
  Kontrol1 := ( Tekler * 7 - Ciftler ) mod 10 = Basamak10 ;
  Kontrol2 := ( Tekler + Ciftler + Basamak10 ) mod 10 = Basamak11 ;
  Result := ( Kontrol1 and Kontrol2 ) ;
end;

( Delphi ) Program İçinden Başka Bir Programın Çalıştırılıp Kapatılmasını Beklemek :

function RunProcess(const AppPath:string; MustWait: Boolean; AppParams: string; Visibility: Word):DWORD;
var
  SI: TStartupInfo;
  PI: TProcessInformation;
  Proc: THandle;
  zFileName, zParams: array[0..79] of Char;
begin
  FillChar(SI, SizeOf(SI), 0);
  SI.cb := SizeOf(SI);
  SI.wShowWindow := Visibility;
  if not CreateProcess(StrPCopy(zFileName, AppPath),
       StrPCopy(zParams, AppParams), nil, nil, false, Normal_Priority_Class, nil, nil, SI, PI) then
    raise Exception.CreateFmt('Failed to excecute program ' + AppPath + '. Error Code %d',[GetLastError]);

  Proc := PI.hProcess;
  CloseHandle(PI.hThread);

  if MustWait then
    if WaitForSingleObject(Proc, Infinite) <> Wait_Failed then
      GetExitCodeProcess(Proc, Result);
  CloseHandle(Proc);
end;

// Kullanimi:
RunProcess('notepad.exe', True, '', SW_SHOWNORMAL);