TC no algoritması ve kontrol
Tarih
25/03/2012 17:19
Konu Sahibi
accessman
Yorumlar
10
Okunma
2387
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy
accessman

Kullanici Avatari
Onursal
2.367
31/10/2008
425
Denizli
Ofis 2003
20/09/2016,00:20
Çözüldü 
bir yerde şu kodu buldum
accesse nasıl uyarlanır bu vb içinmiş

Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Function TcDogrulaV2(ByVal tcKimlikNo As String) As Boolean
        Dim returnvalue As Boolean = False
        If (tcKimlikNo.Length <> 11) Then
            tcCustom.ErrorMessage = "<br />TC Kimlik Numarası 11 Haneli Olmalıdır."
            Return returnvalue
        End If
        Dim TcNo As Long = Long.Parse(tcKimlikNo)
        Dim BTCNO As Long = Long.Parse(Left(tcKimlikNo, 9))
        
        Dim C1 As Long = Long.Parse(Mid(tcKimlikNo, 1, 1))
        Dim C2 As Long = Long.Parse(Mid(tcKimlikNo, 2, 1))
        Dim C3 As Long = Long.Parse(Mid(tcKimlikNo, 3, 1))
        Dim C4 As Long = Long.Parse(Mid(tcKimlikNo, 4, 1))
        Dim C5 As Long = Long.Parse(Mid(tcKimlikNo, 5, 1))
        Dim C6 As Long = Long.Parse(Mid(tcKimlikNo, 6, 1))
        Dim C7 As Long = Long.Parse(Mid(tcKimlikNo, 7, 1))
        Dim C8 As Long = Long.Parse(Mid(tcKimlikNo, 8, 1))
        Dim C9 As Long = Long.Parse(Mid(tcKimlikNo, 9, 1))
        
        Dim Q1 As Long = ((10 - (((((((C1 + C3) + C5) + C7) + C9) * 3) + (((C2 + C4) + C6) + C8)) Mod 10)) Mod 10)
        Dim Q2 As Long = ((10 - (((((((C2 + C4) + C6) + C8) + Q1) * 3) + ((((C1 + C3) + C5) + C7) + C9)) Mod 10)) Mod 10)
        'Response.Write((((BTCNO * 100) + (Q1 * 10)) + Q2) & " - ")
        'Response.Write(tcKimlikNo)
        If ((((BTCNO * 100) + (Q1 * 10)) + Q2) = TcNo) Then
            tcCustom.ErrorMessage = ""
        Else
            tcCustom.ErrorMessage = "<br />Hatalı TC Kimlik Numarası."
        End If
        
        Return ((((BTCNO * 100) + (Q1 * 10)) + Q2) = TcNo)
    End Function

[/vb][vb]

@benbendedeilem
Cevapla

accessman

Kullanici Avatari
Onursal
2.367
31/10/2008
425
Denizli
Ofis 2003
20/09/2016,00:20
Çözüldü 
Sponsor Reklam
bir de bu var ama bunları nasıl kullanacağım

Kod:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Private Function tcknkontrol(tckn As Double)
    Dim dizi(1 To 9) As Integer
    gecici = Int(tckn / 100)
    gecici2 = Int(tckn / 100)

    For i = 9 To 1 Step -1
        dizi(i) = gecici2 Mod 10
        gecici2 = Int(gecici2 / 10)
    Next i

    deg1 = dizi(9) + dizi(7) + dizi(5) + dizi(3) + dizi(1)
    deg2 = dizi(8) + dizi(6) + dizi(4) + dizi(2)
    toplam = deg1 * 3 + deg2
    kontrol1 = (10 - (toplam Mod 10)) Mod 10

    deg1 = kontrol1 + dizi(8) + dizi(6) + dizi(4) + dizi(2)
    deg2 = dizi(9) + dizi(7) + dizi(5) + dizi(3) + dizi(1)
    toplam = deg1 * 3 + deg2
    kontrol2 = (10 - (toplam Mod 10)) Mod 10

    gecici = gecici * 100 + kontrol1 * 10 + kontrol2
    If gecici = tckn Then tcknkontrol = True Else tcknkontrol = False
End Function

Private Function rastgelets(altsinir, ustsinir As Double) As Double
    Randomize
    rastgelets = Int((ustsinir - altsinir + 1) * Rnd + altsinir)
End Function

Private Sub Form_Load()
    Form1.Visible = False
    Dim a As Double
    a = 10000000000#
    While tcknkontrol(a) = False
        DoEvents
        a = rastgelets(10000000000#, 99999999999#)
    Wend
    Clipboard.Clear
    Clipboard.SetText a
    MsgBox a & " - Numara panoya kopyalandı, kullanmak için : ctrl+v", vbInformation, "Geçerli bir TC kimlik no bulundu"
    End
End Sub



Ek Dosyalar
tc kontrol.rar

@benbendedeilem
Cevapla

ozanakkaya
sledgeab
Kullanici Avatari
Kurucu
O.... A....
9.556
29/01/2008
Denizli
Memur
Ofis 2010 32 Bit
Bugün,15:02
Çözüldü 
Aşağıdaki linki inceleyiniz.

resim

Tc Kimlik Numarası Kontrolü


Kullanılan kod:

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Function TCKimlikNoYazimKontrol(tcid) As Boolean
Dim D(1 To 11) As Integer
    For N = 1 To 11
D(N) = Mid(tcid, N, 1)
    Next
    top1 = D(1) + D(3) + D(5) + D(7) + D(9)
    top2 = D(2) + D(4) + D(6) + D(8)
    
    cd1 = (10 - (((3 * top1) + top2) Mod 10)) Mod 10
    cd2 = (10 - (((3 * (top2 + cd1)) + top1) Mod 10)) Mod 10
    If cd1 = D(10) And cd2 = D(11) Then
        TCKimlikNoYazimKontrol = True
        Else
        TCKimlikNoYazimKontrol = False
End If
End Function


Cevapla

accessman

Kullanici Avatari
Onursal
2.367
31/10/2008
425
Denizli
Ofis 2003
20/09/2016,00:20
Çözüldü 
Sponsor Reklam
çok teşekkürler admin

elimde 6500 tane tc olan hasta listem var
bunların hepsi gerçek tc no
tablo adı --> "KIMLIKNO"
alan adı --> "TCNO"
alan adı --> "SUNUC"
Bu tabloyu baştan itibaren tüm numaraları kontrol ettirebilirmiyim
Tabloyu tarayacak
sonuç alanına da evet veya hayır yazacak
nasıl yapabilirim


@benbendedeilem
Cevapla

mehmetdemiral
.
Kullanici Avatari
Uzman
M.... D....
4.756
30/10/2008
Samsun
Ofis 2013 Tr. 32 Bit
17/05/2017,16:25
Çözüldü 
Döngü kullanarak yapabilirsiniz. Önce kayıt sayısı bulunacak, sonra da 1 den son sayıya kadar tarayan bir döngü kullanbarak, form üzerinde görsel olarak da yapabilirsiniz. Ben bugün içinde zaman bulduğumda böyle bir çalışma hazırlarım size.
İnadına, ille de Accesstr.net...
Cevapla

accessman

Kullanici Avatari
Onursal
2.367
31/10/2008
425
Denizli
Ofis 2003
20/09/2016,00:20
Çözüldü 
Sponsor Reklam
hani ado ile kayıt açılıp işlem uygulanıp sonucuna göre tabloya ekleniyordu
ama maalesef kod bilmediğim için düzgün bile anlatamıyorum
@benbendedeilem
Cevapla


Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  Onay Kutuları İşaretli Mi Kontrol Etme Allback 1 61 25/04/2017, 13:26 Allback
  Açılır Pencereye Göre Kontrol Ettirme okumas 5 110 12/03/2017, 16:50 okumas
  Accesste Tablodaki Bir Alana Girilen Değeri Kontrol Etme koymen 1 94 02/03/2017, 17:23 C*e*l*o*y*c*e
  ListBox'a Eklenen Veriyi Kontrol Etme ve Mükerrer Engelleme dufrety 13 250 21/02/2017, 10:35 dufrety
  Kayıt Kontrol Eksik Verileri Bulma Ve Hesaplama hknct 10 177 11/02/2017, 18:11 hknct


Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2017 MyBB Group.
DMCA.com Protection Status