none
wpf RRS feed

Tüm Yanıtlar

  • wpf den tc kimlik üretme ve doğrulama yapmak istiyorum nasıl yapa bilirim acaba ?

    Merhaba,

    TC No kontrolü için örnek yapılabilir fakat TC No Üretme konusu yasal olmayabilir.

    İnternette TC No Doğrulama ile ilgili çok fazla örnek C# kodu mevcut, aynı zamanda algoritması da yazıyor. Araştırmanızı tavsiye ederim.

    Aşağıda TC No doğrulama ile ilgili yaptığım örnek uygulamanın kodları mevcut.


    XAML Kodları;

    <Window x:Class="WpfApplication1.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            Title="MainWindow" Height="350" Width="525">
        <Grid>
            <Button Name="btnKontrol" Content="Button" HorizontalAlignment="Left" Margin="123,185,0,0" VerticalAlignment="Top" Width="75"/>
            <TextBox Name="txtTc" HorizontalAlignment="Left" Height="23" Margin="123,127,0,0" TextWrapping="Wrap" Text="TextBox" VerticalAlignment="Top" Width="120"/>
    
        </Grid>
    </Window>

    C# Kodları;

    public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
                this.Loaded += MainWindow_Loaded;
            }
    
            void MainWindow_Loaded(object sender, RoutedEventArgs e)
            {
                btnKontrol.Content = "Kontrol Et!";
                btnKontrol.Click += btnKontrol_Click;
            }
    
            void btnKontrol_Click(object sender, RoutedEventArgs e)
            {
                System.Windows.Forms.MessageBox.Show(string.Format("Girilen TC No {0}", Convert.ToBoolean(TCDogrula(txtTc.Text)) ? "Doğru" : "Yanlış"));//MessageBox'ı kullanabilmek için projenize System.Windows.Forms'u dahil etmelisiniz.
            }
    
            public static bool TCDogrula(string tcKimlikNo)
            {
                if (tcKimlikNo.Length == 11)
                {
                    Int64 ATCNO, BTCNO, TcNo;
                    long C1, C2, C3, C4, C5, C6, C7, C8, C9, Q1, Q2;
    
                    TcNo = Int64.Parse(tcKimlikNo);
    
                    ATCNO = TcNo / 100;
                    BTCNO = TcNo / 100;
    
                    C1 = ATCNO % 10; ATCNO = ATCNO / 10;
                    C2 = ATCNO % 10; ATCNO = ATCNO / 10;
                    C3 = ATCNO % 10; ATCNO = ATCNO / 10;
                    C4 = ATCNO % 10; ATCNO = ATCNO / 10;
                    C5 = ATCNO % 10; ATCNO = ATCNO / 10;
                    C6 = ATCNO % 10; ATCNO = ATCNO / 10;
                    C7 = ATCNO % 10; ATCNO = ATCNO / 10;
                    C8 = ATCNO % 10; ATCNO = ATCNO / 10;
                    C9 = ATCNO % 10; ATCNO = ATCNO / 10;
                    Q1 = ((10 - ((((C1 + C3 + C5 + C7 + C9) * 3) + (C2 + C4 + C6 + C8)) % 10)) % 10);
                    Q2 = ((10 - (((((C2 + C4 + C6 + C8) + Q1) * 3) + (C1 + C3 + C5 + C7 + C9)) % 10)) % 10);
    
                    return ((BTCNO * 100) + (Q1 * 10) + Q2 == TcNo);
                }
                return false;
            }
        }
    Ayrıca, Nüfus ve Vatandaşlık İşleri Genel Müdürlüğü TC No doğrulaması için bir servis yayınlamış. Ad,Soyad,Doğum Tarihi ve TC No parametrelerini verdiğinizde size boolean türünde doğru olup olmadığını döndürüyor. Buradan ulaşabilirsiniz.

    Çalışmalarınızda kolaylıklar dilerim



    Code is Poetry


    23 Mayıs 2017 Salı 21:12
    Moderatör