1 Kasım 2020 Pazar

C Sharp Form Seri Port Haberleşme - RS232 Haberleşme







    
using System.IO.Ports;
using System;
using System.Threading;
using System.Collections.Generic;
using System.ComponentModel;


namespace C_Sharp_Seri_Port_Haberlesme
{
    public partial class Form1 : Form
    {
  
        Thread readThread;
        volatile bool keepReading;
        String SerialIn = "";
        internal delegate void StringDelegate(string data);

        public Form1()
        {
            InitializeComponent();
        }
        
        private void Form1_Load(object sender, EventArgs e)
        {
            string[] portList = SerialPort.GetPortNames();
         
            for (int i = 0; i < portList.Length; ++i)
            {
                string name = portList[i];
                cmbSerialPortCom.Items.Add(name);
                cmbSerialPortCom.SelectedIndex = i;
            }

            Int32[] baudRates = {
                100,300,600,1200,2400,4800,9600,14400,19200,
                38400,56000,57600,115200,128000,256000,0
            };
  
            for (int i = 0; baudRates[i] != 0; ++i)
            {
                cmbSerialPortBaudRate.Items.Add(baudRates[i].ToString());
            }

            cmbSerialPortBaudRate.SelectedIndex = 6;

            cmbSerialPortDataBits.Items.Add("5");
            cmbSerialPortDataBits.Items.Add("6");
            cmbSerialPortDataBits.Items.Add("7");
            cmbSerialPortDataBits.Items.Add("8");
            cmbSerialPortDataBits.SelectedIndex = 3;

            foreach (string s in Enum.GetNames(typeof(Parity)))
            {
                cmbSerialPortParity.Items.Add(s);
            }
            cmbSerialPortParity.SelectedItem = Parity.None.ToString();

            foreach (string s in Enum.GetNames(typeof(StopBits)))
            {
                cmbSerialPortStopBits.Items.Add(s);
            }
            cmbSerialPortStopBits.SelectedItem = StopBits.One.ToString();

            foreach (string s in Enum.GetNames(typeof(Handshake)))
            {
                cmbSerialPortHandshaking.Items.Add(s);
            }
            cmbSerialPortHandshaking.SelectedItem =  Handshake.None.ToString();

        }

        //begin Observer pattern
        public delegate void EventHandler(string param);
        public EventHandler StatusChanged;
        public EventHandler DataReceived;
        //end Observer pattern

        private void StartReading()
        {
            if (!keepReading)
            {
                keepReading = true;
                readThread = new Thread(ReadPort);
                readThread.Start();
            }
        }

        private void StopReading()
        {
            if (keepReading)
            {
                keepReading = false;
                readThread.Join(); //block until exits
                readThread = null;
            }
        }

        ///  Get the data and pass it on.  
        private void ReadPort()
        {
            while (keepReading)
            {
                if (serialPort1.IsOpen)
                {
                    byte[] readBuffer = new byte[serialPort1.ReadBufferSize + 1];
                    try
                    {
                        int count = serialPort1.Read(readBuffer, 0, serialPort1.ReadBufferSize);

                        SerialIn = System.Text.Encoding.UTF7.GetString(readBuffer, 0, count);

                        DataReceived(SerialIn);
                    }
                    catch (TimeoutException) { }
                }
                else
                {
                    TimeSpan waitTime = new TimeSpan(0, 0, 0, 0, 50);
                    Thread.Sleep(waitTime);
                }
            }
        }

        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (serialPort1.IsOpen) serialPort1.Close();
        }
 

        private void btnOpenPort_Click(object sender, EventArgs e)
        {
            try
            {
                serialPort1.PortName = cmbSerialPortCom.Text;
                serialPort1.BaudRate = int.Parse(cmbSerialPortBaudRate.Text);
                serialPort1.DataBits = cmbSerialPortDataBits.SelectedIndex + 5;
                serialPort1.Parity = (Parity)cmbSerialPortParity.SelectedIndex;
                serialPort1.StopBits = (StopBits)cmbSerialPortStopBits.SelectedIndex;
                serialPort1.Handshake = (Handshake)cmbSerialPortHandshaking.SelectedIndex;

                // Set the read/write timeouts
                serialPort1.ReadTimeout = 50;
                serialPort1.WriteTimeout = 50;

                serialPort1.Open();

                this.DataReceived += OnDataReceived;
                  
                StartReading();

                EnableControls(false);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Bir hata oluştu. Seçimlerinizi kontrol edip tekrar deneyiniz.\n Hata : " + ex.Message,"HATA",MessageBoxButtons.OK,MessageBoxIcon.Error); 
            }
        }

        public void OnDataReceived(string dataIn)
        {
            //Handle multi-threading
            if (InvokeRequired)
            {
                Invoke(new StringDelegate(OnDataReceived), new object[] { dataIn });
                return;
            }

            lstReceivedData.Items.Add(dataIn);

        }

        private void btnClosePort_Click(object sender, EventArgs e)
        {
            StopReading();
            serialPort1.Close();
            EnableControls(true);
        }

        private void EnableControls(bool enabled)
        {
            btnClosePort.Enabled = !enabled;
            btnOpenPort.Enabled = enabled;
            cmbSerialPortBaudRate.Enabled = enabled;
            cmbSerialPortCom.Enabled = enabled;
            cmbSerialPortDataBits.Enabled = enabled;
            cmbSerialPortHandshaking.Enabled = enabled;
            cmbSerialPortParity.Enabled = enabled;
            cmbSerialPortStopBits.Enabled = enabled;
        }

        private void btnSend_Click(object sender, EventArgs e)
        {
            if (serialPort1.IsOpen)
            {
                serialPort1.Write(txtSendData.Text);
            }
           
        }

        private void btnOn_Click(object sender, EventArgs e)
        {
            if (serialPort1.IsOpen)
            {
                serialPort1.Write("1");
            }
        }

        private void btnOff_Click(object sender, EventArgs e)
        {
            if (serialPort1.IsOpen)
            {
                serialPort1.Write("0");
            }
        }

    }
}






DESIGNER




    
    
namespace C_Sharp_Seri_Port_Haberlesme
{
    partial class Form1
    {
        /// 
        /// Required designer variable.
        /// 
        private System.ComponentModel.IContainer components = null;

        /// 
        /// Clean up any resources being used.
        /// 
        /// true if managed resources should be disposed; otherwise, false.        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// 
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// 
        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            this.serialPort1 = new System.IO.Ports.SerialPort(this.components);
            this.btnSend = new System.Windows.Forms.Button();
            this.btnOpenPort = new System.Windows.Forms.Button();
            this.grpSerialPortConfiguration = new System.Windows.Forms.GroupBox();
            this.btnClosePort = new System.Windows.Forms.Button();
            this.cmbSerialPortHandshaking = new System.Windows.Forms.ComboBox();
            this.cmbSerialPortStopBits = new System.Windows.Forms.ComboBox();
            this.cmbSerialPortParity = new System.Windows.Forms.ComboBox();
            this.cmbSerialPortDataBits = new System.Windows.Forms.ComboBox();
            this.cmbSerialPortBaudRate = new System.Windows.Forms.ComboBox();
            this.lblSerialPortHandshaking = new System.Windows.Forms.Label();
            this.lblSerialPortParity = new System.Windows.Forms.Label();
            this.lblSerialPortStopBits = new System.Windows.Forms.Label();
            this.lblSerialPortDataBits = new System.Windows.Forms.Label();
            this.lblSerialPortBaudRate = new System.Windows.Forms.Label();
            this.lblSerialPortCom = new System.Windows.Forms.Label();
            this.cmbSerialPortCom = new System.Windows.Forms.ComboBox();
            this.lstReceivedData = new System.Windows.Forms.ListBox();
            this.lstSendData = new System.Windows.Forms.ListBox();
            this.txtSendData = new System.Windows.Forms.TextBox();
            this.btnOn = new System.Windows.Forms.Button();
            this.btnOff = new System.Windows.Forms.Button();
            this.grpSerialPortConfiguration.SuspendLayout();
            this.SuspendLayout();
            // 
            // btnSend
            // 
            this.btnSend.Location = new System.Drawing.Point(363, 9);
            this.btnSend.Name = "btnSend";
            this.btnSend.Size = new System.Drawing.Size(141, 24);
            this.btnSend.TabIndex = 3;
            this.btnSend.Text = "Send";
            this.btnSend.UseVisualStyleBackColor = true;
            this.btnSend.Click += new System.EventHandler(this.btnSend_Click);
            // 
            // btnOpenPort
            // 
            this.btnOpenPort.Location = new System.Drawing.Point(9, 185);
            this.btnOpenPort.Name = "btnOpenPort";
            this.btnOpenPort.Size = new System.Drawing.Size(66, 23);
            this.btnOpenPort.TabIndex = 4;
            this.btnOpenPort.Text = "Open Port";
            this.btnOpenPort.UseVisualStyleBackColor = true;
            this.btnOpenPort.Click += new System.EventHandler(this.btnOpenPort_Click);
            // 
            // grpSerialPortConfiguration
            // 
            this.grpSerialPortConfiguration.Controls.Add(this.btnClosePort);
            this.grpSerialPortConfiguration.Controls.Add(this.cmbSerialPortHandshaking);
            this.grpSerialPortConfiguration.Controls.Add(this.cmbSerialPortStopBits);
            this.grpSerialPortConfiguration.Controls.Add(this.btnOpenPort);
            this.grpSerialPortConfiguration.Controls.Add(this.cmbSerialPortParity);
            this.grpSerialPortConfiguration.Controls.Add(this.cmbSerialPortDataBits);
            this.grpSerialPortConfiguration.Controls.Add(this.cmbSerialPortBaudRate);
            this.grpSerialPortConfiguration.Controls.Add(this.lblSerialPortHandshaking);
            this.grpSerialPortConfiguration.Controls.Add(this.lblSerialPortParity);
            this.grpSerialPortConfiguration.Controls.Add(this.lblSerialPortStopBits);
            this.grpSerialPortConfiguration.Controls.Add(this.lblSerialPortDataBits);
            this.grpSerialPortConfiguration.Controls.Add(this.lblSerialPortBaudRate);
            this.grpSerialPortConfiguration.Controls.Add(this.lblSerialPortCom);
            this.grpSerialPortConfiguration.Controls.Add(this.cmbSerialPortCom);
            this.grpSerialPortConfiguration.Location = new System.Drawing.Point(22, 12);
            this.grpSerialPortConfiguration.Name = "grpSerialPortConfiguration";
            this.grpSerialPortConfiguration.Size = new System.Drawing.Size(172, 218);
            this.grpSerialPortConfiguration.TabIndex = 7;
            this.grpSerialPortConfiguration.TabStop = false;
            this.grpSerialPortConfiguration.Text = "Port configuration";
            // 
            // btnClosePort
            // 
            this.btnClosePort.Location = new System.Drawing.Point(79, 185);
            this.btnClosePort.Name = "btnClosePort";
            this.btnClosePort.Size = new System.Drawing.Size(66, 23);
            this.btnClosePort.TabIndex = 12;
            this.btnClosePort.Text = "Close Port";
            this.btnClosePort.UseVisualStyleBackColor = true;
            this.btnClosePort.Click += new System.EventHandler(this.btnClosePort_Click);
            // 
            // cmbSerialPortHandshaking
            // 
            this.cmbSerialPortHandshaking.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.cmbSerialPortHandshaking.FormattingEnabled = true;
            this.cmbSerialPortHandshaking.Location = new System.Drawing.Point(9, 158);
            this.cmbSerialPortHandshaking.Name = "cmbSerialPortHandshaking";
            this.cmbSerialPortHandshaking.Size = new System.Drawing.Size(136, 21);
            this.cmbSerialPortHandshaking.TabIndex = 11;
            // 
            // cmbSerialPortStopBits
            // 
            this.cmbSerialPortStopBits.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.cmbSerialPortStopBits.FormattingEnabled = true;
            this.cmbSerialPortStopBits.Location = new System.Drawing.Point(68, 116);
            this.cmbSerialPortStopBits.Name = "cmbSerialPortStopBits";
            this.cmbSerialPortStopBits.Size = new System.Drawing.Size(77, 21);
            this.cmbSerialPortStopBits.TabIndex = 10;
            // 
            // cmbSerialPortParity
            // 
            this.cmbSerialPortParity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.cmbSerialPortParity.FormattingEnabled = true;
            this.cmbSerialPortParity.Location = new System.Drawing.Point(68, 92);
            this.cmbSerialPortParity.Name = "cmbSerialPortParity";
            this.cmbSerialPortParity.Size = new System.Drawing.Size(77, 21);
            this.cmbSerialPortParity.TabIndex = 9;
            // 
            // cmbSerialPortDataBits
            // 
            this.cmbSerialPortDataBits.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.cmbSerialPortDataBits.FormattingEnabled = true;
            this.cmbSerialPortDataBits.Location = new System.Drawing.Point(68, 68);
            this.cmbSerialPortDataBits.Name = "cmbSerialPortDataBits";
            this.cmbSerialPortDataBits.Size = new System.Drawing.Size(77, 21);
            this.cmbSerialPortDataBits.TabIndex = 8;
            // 
            // cmbSerialPortBaudRate
            // 
            this.cmbSerialPortBaudRate.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.cmbSerialPortBaudRate.FormattingEnabled = true;
            this.cmbSerialPortBaudRate.Location = new System.Drawing.Point(68, 44);
            this.cmbSerialPortBaudRate.Name = "cmbSerialPortBaudRate";
            this.cmbSerialPortBaudRate.Size = new System.Drawing.Size(77, 21);
            this.cmbSerialPortBaudRate.TabIndex = 7;
            // 
            // lblSerialPortHandshaking
            // 
            this.lblSerialPortHandshaking.AutoSize = true;
            this.lblSerialPortHandshaking.Location = new System.Drawing.Point(6, 143);
            this.lblSerialPortHandshaking.Name = "lblSerialPortHandshaking";
            this.lblSerialPortHandshaking.Size = new System.Drawing.Size(119, 13);
            this.lblSerialPortHandshaking.TabIndex = 6;
            this.lblSerialPortHandshaking.Text = "Hardware Handshaking";
            // 
            // lblSerialPortParity
            // 
            this.lblSerialPortParity.AutoSize = true;
            this.lblSerialPortParity.Location = new System.Drawing.Point(6, 96);
            this.lblSerialPortParity.Name = "lblSerialPortParity";
            this.lblSerialPortParity.Size = new System.Drawing.Size(33, 13);
            this.lblSerialPortParity.TabIndex = 5;
            this.lblSerialPortParity.Text = "Parity";
            // 
            // lblSerialPortStopBits
            // 
            this.lblSerialPortStopBits.AutoSize = true;
            this.lblSerialPortStopBits.Location = new System.Drawing.Point(6, 119);
            this.lblSerialPortStopBits.Name = "lblSerialPortStopBits";
            this.lblSerialPortStopBits.Size = new System.Drawing.Size(48, 13);
            this.lblSerialPortStopBits.TabIndex = 4;
            this.lblSerialPortStopBits.Text = "Stop bits";
            // 
            // lblSerialPortDataBits
            // 
            this.lblSerialPortDataBits.AutoSize = true;
            this.lblSerialPortDataBits.Location = new System.Drawing.Point(6, 73);
            this.lblSerialPortDataBits.Name = "lblSerialPortDataBits";
            this.lblSerialPortDataBits.Size = new System.Drawing.Size(49, 13);
            this.lblSerialPortDataBits.TabIndex = 3;
            this.lblSerialPortDataBits.Text = "Data bits";
            // 
            // lblSerialPortBaudRate
            // 
            this.lblSerialPortBaudRate.AutoSize = true;
            this.lblSerialPortBaudRate.Location = new System.Drawing.Point(6, 48);
            this.lblSerialPortBaudRate.Name = "lblSerialPortBaudRate";
            this.lblSerialPortBaudRate.Size = new System.Drawing.Size(53, 13);
            this.lblSerialPortBaudRate.TabIndex = 2;
            this.lblSerialPortBaudRate.Text = "Baud rate";
            // 
            // lblSerialPortCom
            // 
            this.lblSerialPortCom.AutoSize = true;
            this.lblSerialPortCom.Location = new System.Drawing.Point(6, 23);
            this.lblSerialPortCom.Name = "lblSerialPortCom";
            this.lblSerialPortCom.Size = new System.Drawing.Size(26, 13);
            this.lblSerialPortCom.TabIndex = 1;
            this.lblSerialPortCom.Text = "Port";
            // 
            // cmbSerialPortCom
            // 
            this.cmbSerialPortCom.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.cmbSerialPortCom.FormattingEnabled = true;
            this.cmbSerialPortCom.Location = new System.Drawing.Point(68, 20);
            this.cmbSerialPortCom.Name = "cmbSerialPortCom";
            this.cmbSerialPortCom.Size = new System.Drawing.Size(77, 21);
            this.cmbSerialPortCom.TabIndex = 0;
            // 
            // lstReceivedData
            // 
            this.lstReceivedData.FormattingEnabled = true;
            this.lstReceivedData.Location = new System.Drawing.Point(200, 44);
            this.lstReceivedData.Name = "lstReceivedData";
            this.lstReceivedData.Size = new System.Drawing.Size(141, 147);
            this.lstReceivedData.TabIndex = 9;
            // 
            // lstSendData
            // 
            this.lstSendData.FormattingEnabled = true;
            this.lstSendData.Location = new System.Drawing.Point(363, 44);
            this.lstSendData.Name = "lstSendData";
            this.lstSendData.Size = new System.Drawing.Size(141, 147);
            this.lstSendData.TabIndex = 10;
            // 
            // txtSendData
            // 
            this.txtSendData.Location = new System.Drawing.Point(200, 12);
            this.txtSendData.Name = "txtSendData";
            this.txtSendData.Size = new System.Drawing.Size(141, 20);
            this.txtSendData.TabIndex = 11;
            // 
            // btnOn
            // 
            this.btnOn.Location = new System.Drawing.Point(363, 207);
            this.btnOn.Name = "btnOn";
            this.btnOn.Size = new System.Drawing.Size(50, 23);
            this.btnOn.TabIndex = 12;
            this.btnOn.Text = "On";
            this.btnOn.UseVisualStyleBackColor = true;
            this.btnOn.Click += new System.EventHandler(this.btnOn_Click);
            // 
            // btnOff
            // 
            this.btnOff.Location = new System.Drawing.Point(454, 207);
            this.btnOff.Name = "btnOff";
            this.btnOff.Size = new System.Drawing.Size(50, 23);
            this.btnOff.TabIndex = 13;
            this.btnOff.Text = "Off";
            this.btnOff.UseVisualStyleBackColor = true;
            this.btnOff.Click += new System.EventHandler(this.btnOff_Click);
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(574, 253);
            this.Controls.Add(this.btnOff);
            this.Controls.Add(this.btnOn);
            this.Controls.Add(this.txtSendData);
            this.Controls.Add(this.lstSendData);
            this.Controls.Add(this.lstReceivedData);
            this.Controls.Add(this.grpSerialPortConfiguration);
            this.Controls.Add(this.btnSend);
            this.Name = "Form1";
            this.Text = "SERI PORT HABERLEŞME - SERIAL PORT COMMUNICATION";
            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing);
            this.Load += new System.EventHandler(this.Form1_Load);
            this.grpSerialPortConfiguration.ResumeLayout(false);
            this.grpSerialPortConfiguration.PerformLayout();
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        #endregion

        private System.IO.Ports.SerialPort serialPort1;
        private System.Windows.Forms.Button btnSend;
        private System.Windows.Forms.Button btnOpenPort;
        private System.Windows.Forms.GroupBox grpSerialPortConfiguration;
        private System.Windows.Forms.ComboBox cmbSerialPortHandshaking;
        private System.Windows.Forms.ComboBox cmbSerialPortStopBits;
        private System.Windows.Forms.ComboBox cmbSerialPortParity;
        private System.Windows.Forms.ComboBox cmbSerialPortDataBits;
        private System.Windows.Forms.ComboBox cmbSerialPortBaudRate;
        private System.Windows.Forms.Label lblSerialPortHandshaking;
        private System.Windows.Forms.Label lblSerialPortParity;
        private System.Windows.Forms.Label lblSerialPortStopBits;
        private System.Windows.Forms.Label lblSerialPortDataBits;
        private System.Windows.Forms.Label lblSerialPortBaudRate;
        private System.Windows.Forms.Label lblSerialPortCom;
        private System.Windows.Forms.ComboBox cmbSerialPortCom;
        private System.Windows.Forms.ListBox lstReceivedData;
        private System.Windows.Forms.Button btnClosePort;
        private System.Windows.Forms.ListBox lstSendData;
        private System.Windows.Forms.TextBox txtSendData;
        private System.Windows.Forms.Button btnOn;
        private System.Windows.Forms.Button btnOff;
    }
}



1 Ekim 2020 Perşembe

C Sharp Form Access Veri Tabanı Kullanarak Kullanıcı Şifre Güncelleme Formu Oluşturma

KONU : C Sharp Uygulamalar - C Sharp formda kullanıcı adı ve şifresini kullanarak kullanıcı şifre güncelleme formu oluşturma örneği. Kullanıcı şifre güncelleme formunun amacı sisteme giriş yapmış bir kullanıcının, kullanıcı adı ve şifresini kullanarak yeni şifre almasını sağlamaktır. Eğer kullanıcı veri tabanında kayıt ise otomatik olarak yeni girdiği şifre güncellenecek. Eğer kullanıcı veri tabanında kayıtlı değilse “Böyle bir kullanici yok veya şifreyi yanlış girdiniz!” hatasını verilecek. Öncelikle access veri tabanında bir kullanıcılar isminde id,kullanıcı adı ve şifresini listeleyeceğimiz tablo oluşturmamız gerekiyor. Daha sonra c sharp da form uygulama oluşturarak aşağıdaki kodları yazarak kullanıcı giriş formunu oluşturalım.
ETİKETLER: c sharp access - c sharp şifre güncelleme - c# şifre güncelleme - c sharp access şifre güncelleme - c sharp access kullanıcı girişi - c sharp kullanıcı - c sharp access giriş - c sharp veri tabanı giriş ekranı - c sharp giriş formu - c sharp giriş formu oluşturma - c sharp kullanıcı adı - c sharp şifre - c sharp access şifre - kullanıcı giriş formu oluşturma






UYGULAMAYI İNDİR
 


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;

namespace C_Sharp_Form_Kullanici_Giris_Formu
{
    public partial class SifreDegistir : Form
    {
          /// Bağlantı yapılacak veri tabanı ve kaynak dosyanın ismi
        OleDbConnection baglanti =
 new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Veritabanim.accdb");

        public SifreDegistir()
        {
            InitializeComponent();
        }

        ///  Access veri tabanına bağlantı açma metodu
        public void BaglantiAc()
        {
            try
            {
                if (baglanti.State != ConnectionState.Open)
                {
                    baglanti.Open();
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Veri tabanına bağlantı yapılamıyor.", "Hata",
 MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        /// Girilen Kullanıcıyı arama metodu. Burada sorgu cümleciği tanımlayarak sorgunun nasıl
        /// yapılacağını belirliyoruz. Eğer veri tabanında giriş yapmaya çalışan kullanıcının bilgileri 
        /// var ise bu metot bulunan kullanıcının id değerini dönecek.
        public int KullaniciAra()
        {
            int id = -1;

            try
            {

                BaglantiAc();
                string sorgu = "Select * from kullanicilar where kullaniciadi='"
 + txtKullaniciAdi.Text + "' And sifre='" + txtKullanilanSifre.Text + "' ";

                OleDbCommand komut = new OleDbCommand(sorgu, baglanti);
             
                OleDbDataReader okuyucu = komut.ExecuteReader();
               
                if (okuyucu.Read())
                {
                    id = int.Parse(okuyucu["id"].ToString());
                }

                baglanti.Close();

            }
            catch (Exception)
            {
                MessageBox.Show("Veri tabanına bağlantı yapılamıyor.","HATA",
 MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return id;
        }

        private bool SifreGuncelle(string sifre, int id)
        {
            bool onay = false;
         
            try
            {

                BaglantiAc();
            
                OleDbCommand komut = new OleDbCommand();
           
                komut.Connection = baglanti;
               
                //ID değerine göre Kayıt Değiştirme sorgusu belirleniyor
                komut.CommandText = "update kullanicilar set sifre=@Sifre where id=@Id";
                
                //Parametrelerin hangi alanlardan veri alacağı belirleniyor
                komut.Parameters.AddWithValue("@Sifre", sifre);
                komut.Parameters.AddWithValue("@Id", id);

                if (komut.ExecuteNonQuery() == 1)
                {
                    onay = true;
                }
                else
                {
                    onay = false;
                }

                baglanti.Close();

            }
            catch (Exception )
            {
                MessageBox.Show("İşlem yapılamadı","HATA",
 MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            return onay;
        }

        private void btnSifreDegistir_Click(object sender, EventArgs e)
        {
            int kullaniciVarMi = KullaniciAra();

            if (kullaniciVarMi > 0)
            {
                string kullanilanSifre, yeniSifre, yeniSifreTekrar;

                kullanilanSifre = (txtKullanilanSifre.Text).Trim();
                yeniSifre = (txtYeniSifre.Text).Trim();
                yeniSifreTekrar = txtYeniSifreTekrar.Text;

                ///yeni girilen şifler boş olmamalı ve
                ///yeni şifre ve tekra girilen yeni şifre birbirinin aynısı olmalı
                if (yeniSifre == "" || yeniSifreTekrar == "" || yeniSifre != yeniSifreTekrar)
                {
                    MessageBox.Show("Şifreler birbirini tutmuyor. Lütfen tekrar giriş yapınız", 
"HATA", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    txtYeniSifre.Text = "";
                    txtYeniSifreTekrar.Text = "";
                }
                else
                {
                   bool islemTamamlandiMi=  SifreGuncelle(yeniSifre, kullaniciVarMi);
                   if (islemTamamlandiMi)
                   {
                       MessageBox.Show("Şifreniz Güncellendi", "BİLGİ", 
MessageBoxButtons.OK, MessageBoxIcon.Information);
                   }
                   else
                   {
                       MessageBox.Show("Şifre Güncelleme Başarısız", "HATA", 
MessageBoxButtons.OK, MessageBoxIcon.Error);
                   }
                }
            }
            else
            {
                MessageBox.Show("Böyle bir kullanici yok veya şifreyi yanlış girdiniz!", 
"HATA", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

    }
}

	

UYGULAMAYI İNDİR


C Sharp Form Access Veri Tabanı Kullanarak Kullanıcı Giriş Formu Oluşturma


C Sharp Form Access Veri Tabanı Kullanarak Kullanıcı Şifre Güncelleme Formu Oluşturma


C Sharp Uygulamalar Kitaplık Programı


C Sharp Uygulamalar SQL VeriTabanı Kategorilere Göre Ürünleri Listbox Kutusunda Listeleme


C Sharp Uygulamalar SQL VeriTabanı Kategorilere Göre Ürünleri Combobox Kutusunda Listeleme


C Sharp Form Uygulamar XML Veri Ekleme XML Veri Silme XML Veri Güncelleme XML Veri Tabanı


C Sharp Form Uygulamalar XML Yazma XML Okuma XML Veri Tabanı (XML Reader WML Writer )

1 Eylül 2020 Salı

C Sharp Form Uygulamalar Modern Hesap Makinesi

C Sharp form uygulamalar modern hesap makinesi yapma, bir adet textbox kullanarak hesap makinesi yapma. Modern hesap makinesinin özellikleri: toplama, çıkarma, bölme ,çarpa,tersini alma, karekök hesaplama, karesini alma,geri silme, hafıza işlemleri, kapama fonksiyonu. Modern hesap makinesi için örnek kodlar. Buton sınıfının ve string sınıfının kullanımı ile ilgili örnekler. Butonların hepsini tek bir click fonksiyonuna bağlayarak "sender as button" ile tıklanan butonun (sender) özelliklerini çekerek işlem yapma. if-else ve switch-case yapılarının kullanımı ile ilgili örnek kodlar. İç içe if kullanımı.

c sharp hesap makinesi - c sharp hesap makinesi örneği - c sharp hesap makinesi indir - c sharp hesap makinesi yapma - c sharp hesap makinesi kodları - c sharp hesap makinesi kodu - c# hesap makinesi - c# hesap makinesi kodu - c# hesap makinesi örneği - c# hesap makinesi indir - c# hesap makinesi yapımı - c# modern hesap makinesi yapımı - c sharp modern hesap makinesi yapımı


UYGULAMAYI İNDİR



 


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;


//Bu uygulamada modern hesap makinesi nasıl yapılacağını anlatacağım.

// Modern_Hesap_Makinesi isminde bir form uygulaması projesi oluşturalım.
// bu uygulamaya Modern_Hesap_Makinesi  isminde bir form sınıfı ekleyelim.
// Görselde gördüğünüz kadar butonu bu forma ekleyelim. Butonların Text özellğinini
// güncelleyerek rakamları ve matematiksel işaretleri ekleyelim.
// Formun kod kısmına geçelim. Burada global olarak birinciSayi, ikinciSayi, hafiza
// değiklerini decimal, islem değişkenini string olarak ve sonuclandi değikenini boolean
// olarak tanılayalım. 

namespace Modern_Hesap_Makinesi
{
    public partial class Modern_Hesap_Makinesi : Form
    {
        decimal birinciSayi, ikinciSayi, hafiza;

        string islem;

        Boolean sonuclandi;

        public Modern_Hesap_Makinesi()
        {
            InitializeComponent();
        }

 
        // formun load olayında formu başlığını ve formun CancelButton özellğinini
        // atayalım. Load olayını oluşturmak için form design kısmına geçelim.
        // Burada form seçelim ve F4 basarak property sayfasını açılım. Sonra Event
        // kısmını seçelim ve Form_Load üzerinde gelim mouse ile çift tıklayalım.
        // Aşağıdaki gibi bir fonksiyon oluşacak ve burada aşağıdaki gibi özellikleri ayarlayalım.

        private void Modern_Hesap_Makinesi_Load(object sender, System.EventArgs e)
        {
            this.Text = "Hesap Makinesi";

            txtSonuc.Text = "";

            this.CancelButton = btnKapat;
        }
 
        // Projenin desing sayfasında rakam olan butonları ctrl tuşuna basarak hepsini 
        // Seçelim. Seçtikten sonra F4 butonuna vasarak property sayfasını açalım. 
        // Burada Event sayfasını seçerek Click olayının karşısına rakamlar yazalım.
        // Click olayının üzerine mouse ile çift tıklayarak aşağıdaki gibi rakamlar 
        // Fonksiyonunu oluşturalım. Burada sadece rakamlara basıldığında yapacağımız işlemleri
        // yapacağız. sonuclandi true ise yeni işleme başlayacağız. txtSonuc.Text e hangi rakama
        // basıldıysa text o rakamı yazdıracağız.  sonuclandi false ise txtSonuc.Text e hangi rakama
        // basıldıysa textdeki rakamın sağına o rakamı ekleyeceğiz. Herhangi işlem butonuna basılmadığı
        // için sonuclandi değişkenini false yapacağız.

        private void rakamlar(object sender, System.EventArgs e)
        {
            if (sonuclandi)
                txtSonuc.Text = (sender as Button).Text;
            else
            {
                txtSonuc.Text = txtSonuc.Text + (sender as Button).Text;
            }
            sonuclandi = false;
        }

        // +/-butonuna basıldığında yapılacak işlemleri bu fonsiyona yazacağız.
        // Bu fonksiyonu oluşturmak için yine design sayfasında +/- butonunu seçelim. 
        // F4 butonuna basarak property sayfasında Event sayfasını seçelim.
        // Event sayfasında Click olayını bulup mouse ile üzerinde çift tıklayalım.
        // Böylece aşağıdaki fonksiyonu oluşturmuş olacağız.

        private void btnArtiEksi_Click(object sender, System.EventArgs e)
        {
            if (txtSonuc.Text.Length > 0)

                if (txtSonuc.Text.Substring(0, 1) == "-")

                    //Sayinin basinda - varsa sil

                    txtSonuc.Text = txtSonuc.Text.Substring(1);

                else
                    //- yoksa - ekle
                    txtSonuc.Text = "-" + txtSonuc.Text.Substring(0);
        }

        // Virgül butonuna basıldığında yapılacak işlemleri bu fonsiyona yazacağız.
        // Bu fonksiyonu oluşturmak için yine design sayfasında Virgül butonunu seçelim. 
        // F4 butonuna basarak property sayfasında Event sayfasını seçelim.
        // Event sayfasında Click olayını bulup mouse ile üzerinde çift tıklayalım.
        // Böylece aşağıdaki fonksiyonu oluşturmuş olacağız.

        private void btnVirgul_Click(object sender, System.EventArgs e)
        {
            //sayida virgul yoksa

            if (txtSonuc.Text.IndexOf(",") <= 0)

                if (txtSonuc.Text.Length == 0)

                    //hiç karakter yoksa 0, ekle

                    txtSonuc.Text = "0,";

                else

                    //sayi varsa sonuna virgul ekle
                    txtSonuc.Text = txtSonuc.Text + ",";
        }

        // Sil butonuna basıldığında yapılacak işlemleri bu fonsiyona yazacağız.
        // Bu fonksiyonu oluşturmak için yine design sayfasında sil butonunu seçelim. 
        // F4 butonuna basarak property sayfasında Event sayfasını seçelim.
        // Event sayfasında Click olayını bulup mouse ile üzerinde çift tıklayalım.
        // Böylece aşağıdaki fonksiyonu oluşturmuş olacağız.

        private void btnSil_Click(object sender, System.EventArgs e)
        {
            txtSonuc.Text = "";
        }

        // GeriSil butonuna basıldığında yapılacak işlemleri bu fonsiyona yazacağız.
        // Bu fonksiyonu oluşturmak için yine design sayfasında GeriSil butonunu seçelim. 
        // F4 butonuna basarak property sayfasında Event sayfasını seçelim.
        // Event sayfasında Click olayını bulup mouse ile üzerinde çift tıklayalım.
        // Böylece aşağıdaki fonksiyonu oluşturmuş olacağız.

        private void btnGeriSil_Click(object sender, System.EventArgs e)
        {
            if (txtSonuc.Text.Length > 0)
            {
                txtSonuc.Text = txtSonuc.Text.Substring(0, txtSonuc.Text.Length - 1);
            }
        }

        private void hafiza_islemleri(object sender, System.EventArgs e)
        {
            if (txtSonuc.Text.Length == 0)
            {
                txtSonuc.Text = "0";
            }

            switch ((sender as Button).Text)
            {
                case "MC":

                    hafiza = 0;
                    break;
                case "M+":

                    hafiza = hafiza + decimal.Parse(txtSonuc.Text);
                    break;
                case "M-":

                    hafiza = hafiza - decimal.Parse(txtSonuc.Text);
                    break;
                case "MR":

                    txtSonuc.Text = hafiza.ToString();
                    break;
            }
        }

        // hangi işlem tuşuna basıldığını ve birinci sayıyı kaydetmek için bu fonsiyona yazacağız.
        // Bu fonksiyonu oluşturmak için yine design sayfasında işlem butonlarının hepsini seçelim. 
        // F4 butonuna basarak property sayfasında Event sayfasını seçelim.
        // Event sayfasında Click olayını bulup yanındaki boş kısma Dört_islem yazıp, mouse ile 
        // üzerinde çift tıklayalım. Böylece aşağıdaki fonksiyonu oluşturmuş olacağız.

        private void Dört_islem(object sender, System.EventArgs e)
        {
            islem = (sender as Button).Text;

            if (txtSonuc.Text.Length == 0)
            {
                txtSonuc.Text = "0";
            }

            birinciSayi = decimal.Parse(txtSonuc.Text);

            sonuclandi = true;
        }

        // Eşit butonuna basıldığında yapılacak işlemleri bu fonsiyona yazacağız.
        // Bu fonksiyonu oluşturmak için yine design sayfasında Eşit  butonunu seçelim. 
        // F4 butonuna basarak property sayfasında Event sayfasını seçelim.
        // Event sayfasında Click olayını bulup mouse ile üzerinde çift tıklayalım.
        // Böylece aşağıdaki fonksiyonu oluşturmuş olacağız.

        private void Button_Esit_Click(object sender, System.EventArgs e)
        {
            if (txtSonuc.Text.Length == 0)
            {
                txtSonuc.Text = "0";
            }

            decimal sonuc = 0;

            ikinciSayi = decimal.Parse(txtSonuc.Text);

            switch (islem)
            {
                case "+":

                    sonuc = birinciSayi + ikinciSayi;
                    break;
                case "-":

                    sonuc = birinciSayi - ikinciSayi;
                    break;
                case "*":

                    sonuc = birinciSayi * ikinciSayi;
                    break;
                case "/":

                    if (ikinciSayi == 0)
                        return;
                    sonuc = birinciSayi / ikinciSayi;
                    break;
            }

            sonuclandi = true;

            txtSonuc.Text = sonuc.ToString();

            birinciSayi = sonuc;
        }

        private void islem_Yap_2(object sender, System.EventArgs e)
        {
            decimal sayi;

            if (txtSonuc.Text.Length == 0)

                txtSonuc.Text = "0";


            sayi = decimal.Parse(txtSonuc.Text);

            switch ((sender as Button).Text)
            {
                case "Kök":

                    if (sayi >= 0)
                        txtSonuc.Text = Math.Sqrt((double)sayi).ToString();
                    break;
                case "x²":

                    txtSonuc.Text = (sayi * sayi).ToString();
                    break;
                case "1/x":

                    if (sayi != 0)
                        txtSonuc.Text = (1 / sayi).ToString();
                    break;
            }
        }

        private void kapat_Click(object sender, EventArgs e)
        {
            //Programı Kapat
            this.Close();
        }
    }
}


 

UYGULAMAYI İNDİR



C Sharp Form Uygulamalar Dört İşlem Hesap Makinesi



C Sharp Form Uygulamalar Hesap Makinesi Yapımı - Dört İşlem



C Sharp Uygulamalar Modern Hesap Makinesi


1 Haziran 2020 Pazartesi

C Sharp Konsol Mastermind Oyunu




KONU : C Sharp Konsol Mastermind Oyunu
ETİKETLER: c sharp - c# - c sharp uygulamalar - c sharp örnekler - c# applications - c sharp form ve konsol uygulamalar - c sharp oyun - charp game






UYGULAMAYI İNDİR
 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace C_Sharp_Console_Mastermind_Game
{
    class Program
    {
        static void Main(string[] args)
        {



            int i, length;

            //int tipine dönüştüreceğimiz sayı
            int digitOk = 0;
            int digitNotOk = 0;

            //basamak değeri: abcd girilen sayımız d -> digitValue[3] olarak temsil edecek
            int[] digitValue = new int[4];

            int[] targetNumber = new int[4];
            Random randomGenerate = new Random();

            int randomNumber = randomGenerate.Next(1000, 10000); 
            
            
            ////Console.WriteLine(randomNumber.ToString());

            //tahmin edilecek sayının basamaklarını oluşturalım
            for (i = 0; i < 4; i++)
            {
                targetNumber[i] = randomNumber % 10; // rand() fonksiyonu ile 0 - 10 arasında bir sayı oluşturuyorum
                randomNumber /= 10;
            }

            while (true)//sonsuz döngü, çıkılmak istenilene kadar devam edecek bir döngü oluşturuyorum.
            {
                digitOk = 0;
                digitNotOk = 0;

                //konsoldan bir sayı giriniz.
                Console.WriteLine("\n\nEnter a number: ");

                //konsoldan girilen sayıyı oku
                int estimatedNumber = 0;
                try
                {
                    estimatedNumber = Convert.ToInt16(Console.ReadLine());
                }
                catch (Exception)
                {

                }

                //okunan dört basamaklı sayıyı int tipine dönüştür
                for (i = 0; i < 4; i++)
                {
                    digitValue[i] = estimatedNumber % 10;

                    estimatedNumber /= 10;

                    bool digitAvailable = false;

                    for (int j = 0; j < 4; j++)
                    {
                        if (digitValue[i] == targetNumber[j])
                        {
                            digitAvailable = true;
                            break;
                        }
                    }

                    if (digitAvailable == true)
                    {
                        if (digitValue[i] == targetNumber[i])
                        {
                            digitOk++;
                        }
                        else
                        {
                            digitNotOk++;
                        }
                    }

                }

                Console.WriteLine(" Information =  + {0}  - {1}", digitOk, digitNotOk);

                if (digitOk == 4)
                {
                    break;
                }
            }

            Console.WriteLine("\n ****Game Over**** ");
            Console.WriteLine("\n ****Game Over**** ");
            Console.ReadKey();
        }
    }
}


 


UYGULAMAYI İNDİR

1 Nisan 2020 Çarşamba

C Sharp Uygulamalar Try Catch Finally Blok Kullanımı



KONU : C Sharp Uygulamalar - C# Konsol Uygulamalar try catch bloğu kullanarak hata yakalama. Try-Catch-Finally bloğunun kullanımı





UYGULAMAYI İNDİR
 

  
	try       
	{ 
	//Yapılmak istenen işlemlerin hepsini bu kısma yazıyoruz.           
	} 
	catch(FormatException Fex) 
	{ 
	//FormatException (Burada belirtilen exception tipi) hatası tespit edildiğinde 
	//Bu blok çalışır. Verilmesi istenen mesaj buradan verilir veya boş bırakılabilir. 
	}
	catch (Exception ex) 
	{ 
	//Bir hata türü tespit edilince verilmesi gereken mesaj burada verilir veya boş bırakılabilir. 
	} 
	finally
	{ 
	//her durumda en son olarak bu blok çalışır. Boş bırakılabilir veya kullanılmayabilir. 
	}

   
 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace C_Sharp_Konsol_Try_Catch_Exception_Handling
{
    class Try_Catch_Exception_Handling
    {
        static void Main(string[] args)
        {
            string yas;

            Console.Write("Yaş : ");

            //Konsoldan Girilen yaş Değerini oku 

            yas = Console.ReadLine();

            try
            {
				//Girilen değer bir tam sayı değilse aşağıdaji Parse fonksinu exception 
                //hatası döner. Bu durumda yazılımın hata vermemesi için catch bloğun
          
                int yasiniz = int.Parse(yas);

                Console.WriteLine("Önümüzdeki yıl {0} yaşında olacaksınız", yasiniz + 1);

            }
            catch (FormatException Fex)
            {

                Console.WriteLine("Lütfen yaşınızı doğru formatta girdiğinizden emin olun\nHata : " + Fex.Message);

            }
            catch (Exception ex)
            {

                Console.WriteLine("Lütfen yaşınızı doğru formatta girdiğinizden emin olun\nHata : " + ex.Message);

            }
            finally 
            {

                Console.WriteLine("Bizi tercih ettiğiniz için teşekkürler");

            }

            // Bir Tuşa basılana kadar Bekle

            Console.ReadKey();
        }
    }
}

 

UYGULAMAYI İNDİR

1 Ocak 2020 Çarşamba

C Sharp Konsol Dört Basamaklı Sayı Tahmin Etme Oyunu



KONU : C Sharp Uygulamalar - C Sharp ( C# ) konsol ekranına 4 basamaklı sayı tahmin etme oyunu. C sharp konsol uygulamada for, while, if else kullanımı.
ETİKETLER: c sharp konsol - c sharp döngü - c sharp oyun




UYGULAMAYI İNDİR

 
 
 
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace C_Sharp_Console_Mastermind_Game
{
    class Program
    {
        static void Main(string[] args)
        {



            int i, length;

            //int tipine dönüştüreceğimiz sayı
            int digitOk = 0;
            int digitNotOk = 0;

            //basamak değeri: abcd girilen sayımız d -> digitValue[3] olarak temsil edecek
            int[] digitValue = new int[4];

            int[] targetNumber = new int[4];
            Random randomGenerate = new Random();

            int randomNumber = randomGenerate.Next(1000, 10000); Console.WriteLine(randomNumber.ToString());

            //tahmin edilecek sayının basamaklarını oluşturalım
            for (i = 0; i < 4; i++)
            {
                targetNumber[i] = randomNumber % 10; // rand() fonksiyonu ile 0 - 10 arasında bir sayı oluşturuyorum
                randomNumber /= 10;
            }

            while (true)//sonsuz döngü, çıkılmak istenilene kadar devam edecek bir döngü oluşturuyorum.
            {
                digitOk = 0;
                digitNotOk = 0;

                //konsoldan bir sayı giriniz.
                Console.WriteLine("\n\nEnter a number: ");

                //konsoldan girilen sayıyı oku
                int estimatedNumber = 0;
                try
                {
                    estimatedNumber = Convert.ToInt16(Console.ReadLine());
                }
                catch (Exception)
                {

                }

                //okunan dört basamaklı sayıyı int tipine dönüştür
                for (i = 0; i < 4; i++)
                {
                    digitValue[i] = estimatedNumber % 10;

                    estimatedNumber /= 10;

                    bool digitAvailable = false;

                    for (int j = 0; j < 4; j++)
                    {
                        if (digitValue[i] == targetNumber[j])
                        {
                            digitAvailable = true;
                            break;
                        }
                    }

                    if (digitAvailable == true)
                    {
                        if (digitValue[i] == targetNumber[i])
                        {
                            digitOk++;
                        }
                        else
                        {
                            digitNotOk++;
                        }
                    }

                }

                Console.WriteLine(" Information =  + {0}  - {1}", digitOk, digitNotOk);

                if (digitOk == 4)
                {
                    break;
                }
            }

            Console.WriteLine("\n ****Game Over**** ");
            Console.WriteLine("\n ****Game Over**** ");
            Console.ReadKey();
        }
    }
}

   
 

İkinci Örnek : Bütün sayıları farklı olan rastgele bir sayı oluşturalım
 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace C_Sharp_Console_Mastermind_Game
{
    class Program
    {
        static void Main(string[] args)
        {
            //int tipine dönüştüreceğimiz sayı
            int digitOk = 0;
            int digitNotOk = 0;

            //basamak değeri: abcd girilen sayımız d -> digitValue[3] olarak temsil edecek
            int[] digitValue = new int[4];

            int[] targetNumber = new int[4];
            Random randomGenerate = new Random();

            int randomNumber;

            //tahmin edilecek sayının basamaklarını oluşturalım. Bu sefer 4 basamaklı sayının rakamlarının hepsi birbirinden farklı olsun

            List basamaklar = new List();
            do
            {
                basamaklar.Clear();
                // rastgele 4 basamaklı bir sayı oluşturalım
                randomNumber = randomGenerate.Next(1000, 10000);

                for (int i = 0; i < 4; i++)
                {
                    int basamak = randomNumber % 10;
                    if (!basamaklar.Contains(basamak))
                    {
                        basamaklar.Add(basamak);
                    }
                    randomNumber /= 10;
                }
            } while (basamaklar.Count < 4);

            targetNumber = basamaklar.ToArray();

            while (true)//sonsuz döngü, çıkılmak istenilene kadar devam edecek bir döngü oluşturuyorum.
            {
                digitOk = 0;
                digitNotOk = 0;

                //konsoldan bir sayı giriniz.
                Console.WriteLine("\n\nEnter a number: ");

                //konsoldan girilen sayıyı oku
                int estimatedNumber = 0;
                try
                {
                    estimatedNumber = Convert.ToInt16(Console.ReadLine());
                }
                catch (Exception)
                {

                }

                //okunan dört basamaklı sayıyı int tipine dönüştür
                for (int i = 0; i < 4; i++)
                {
                    digitValue[i] = estimatedNumber % 10;

                    estimatedNumber /= 10;

                    if (digitValue[i] == targetNumber[i])
                    {
                        digitOk++;
                    }
                    else
                    {
                        digitNotOk++;
                    }
                }

                Console.WriteLine(" Information =  + {0}  - {1}", digitOk, digitNotOk);

                if (digitOk == 4)
                {
                    Console.WriteLine("\n **** Tebrikler **** ");
                    break;
                }
            }

            Console.WriteLine("\n ****Game Over**** ");
            Console.WriteLine("\n ****Game Over**** ");
            Console.ReadKey();
        }
    }
}

 
UYGULAMAYI İNDİR