Makale Özeti

Vcard sisteminin bize kazandıracağı artılar oldukça fazladır.Örneğin bir kartvizitimizin üzerideki adres ve telefon bilgilerini kimse uğraşıp telefonuna kayıt etmez , fakat kişi bu yapacak olduğumuz sistem ile sadece karekod ‘ u mobil cihazına okutarak tüm bilgilerimizi rehberine kaydetmiş olacak.

Makale

Karekod (2 boyutlu kod ya da matrix kod), klasik ve tek boyutlu barkodlardan farklı olarak her iki yönde de veri depolayabilen, bu sebeple normal barkodlara göre çok daha fazla veri saklama kapasitesine sahip yeni nesil barkodlardır.

QR Kod (Quick Response Kod), Japonya'da Denso Wave tarafından geliştirilen yeni nesil bir 2 boyutlu barkoddur. QR kod içeriği bir metin, web sitesi adresi, video link dahil herhangi bir veri olabilir. QR Kod okuyucu bir yazılım vasıtasıyla bir cep telefonu rahatlıkla QR Kod okuyabilir ve ilgili ürün veya servis sayfasını açabilir.

Biraz araştırma yaptıktan sonra bu sistemi kartviziterde de kullanabildiğimizi gördüm ve nasıl bir yapıya sahip olduğunu öğrendim.Vcard sisteminin bize kazandıracağı artılar oldukça fazladır.Örneğin bir kartvizitimizin üzerideki adres ve telefon bilgilerini kimse uğraşıp telefonuna kayıt etmez , fakat kişi bu yapacak olduğumuz sistem ile sadece karebarkod ‘ u mobil cihazına okutarak tüm bilgilerimizi rehberine kaydetmiş olacak.Aynı şekilde GPS üzerinden de firmamıza barkod yardımı ile yol tarifini sağlayabiliriz.Yapı olarak açıklamak gerekirse ,

 

BEGIN:VCARD    Başlama

N:Ad;          Soyad

FN:            AD + Soyad

CATEGORIES:    Kategori Tipi
ADR:;          Adres alanı
TEL;WORK:      İş telefonu

TEL;FAX:       Fax

EMAIL;INTERNET:e-mail adresi

TITLE:         Başlık

END:VCARD      Bitiş

VCard iskelet yapımız bu şekildedir.Bu bilgiye ulaştıktan sonra bunu kare kod ‘a dökmemiz pekte zor bir işlem değil. Şimdi işlem sırasına göre ilerleyelim.

 

Öncelikle kare kod  oluşturmamızı sağlayan MEssagingToolkit.QRCode.DLL dosyamızı(http://sourceforge.net/projects/qrreader/files/MessagingToolkit.QRCode.dll/download?use_mirror=garr" ) adresinden indirerek C# projemize referans olarak ekleyelim.

 

Daha sonra C# kütüphanemize eklediğimiz  referansı kullanacağımız kodları ekleyelim.

using MessagingToolkit.QRCode;
using MessagingToolkit.QRCode.Codec;

 

 

private Image QRCodeOlustur(string VeriAl, int QrCodeDuzey)
        {
            
            string veri = VeriAl;
            MessagingToolkit.QRCode.Codec.QRCodeEncoder QrCodeEncode = new MessagingToolkit.QRCode.Codec.QRCodeEncoder();
            QrCodeEncode.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE ;
            QrCodeEncode.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.L;
            QrCodeEncode.QRCodeVersion = QrCodeDuzey;
            System.Drawing.Bitmap BitMap = QrCodeEncode.Encode(veri);
            return BitMap;
        }
 
private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
            {
                MessageBox.Show("URL'yi girmeden Kodu Oluştur  butonunu kullanamazsınız !!", "UYARI !");
            }
            else
            {
                pictureBox1.Image = QRCodeOlustur(textBox1.Text, 4);
            }
        }

private void button2_Click(object sender, EventArgs e)
        {
            if (textBox2.Text == "")
            {
                MessageBox.Show("İsim vermeden kayıt işlemi gerçekleştirilemez !","Cemer !");
            }
            else
            {
                string adi = textBox2.Text;
                Image ResimAl;
                ResimAl = pictureBox1.Image;
                ResimAl.Save("D:/QRCODE KAYITLARI/" + adi.ToString() + ".png");
                MessageBox.Show("D'nin altında QRCODE dizinine Kaydedildi.");
            }
 

Benim dizaynımda KARTVİZİT KİŞİSİ adlı butona tıklandığında formumun genişliği artarak gizli olan taraftaki bölüm açılmaktadır.Tekrar aynı butona tıklanıldığında ise form eski haline gelmektedir.Bunu sağlayan kod satırımızda şu şekildedir,

 
private void button4_Click_2(object sender, EventArgs e)
        {
            if (Form1.ActiveForm.Width == 602 && Form1.ActiveForm.Height == 382)
            {

                Form1.ActiveForm.Width = 805;
            }
            else
            {
                Form1.ActiveForm.Width = 602;
            }

Formumuzun tamamen açıldıktan sonraki aldığı görünüm şu şekildedir,

Bu kısımda ise gerekli alanları doldurduktan sonra KİŞİYİ OLUŞTUR    butonu kullanarak kartvizit kişisinin kare kod’unu üretmiş olacağız. Bunu sağlayan kod satırımızda şu şekildedir ,

private void button5_Click_1(object sender, EventArgs e)
        {
            string basla = "BEGIN:VCARD" + "\n";
            string versiyon = "VERSION:2.1" + "\n";
            string ad = textBox8.Text;
            string soy = textBox7.Text;
            string adi = "N:" + soy+ ";" + ad + " \n";
            string tamad = soy+ ad;
            string ad_soy = "FN:" + tamad + "\n";
            string is_yeri = "ORG:" + textBox3.Text + "\n";
            string is_unvani = "TITLE:" + textBox4.Text + "\n";
            string is_tel = "TEL;WORK;VOICE:" + textBox5.Text + "\n";
            string mail = "EMAIL;PREF;INTERNET:" + textBox6.Text + "\n";
            string bitir = "END:VCARD";

            string toplam = basla + versiyon + adi + ad_soy + is_yeri + is_unvani + is_tel + mail + bitir;
            pictureBox1.Image = QRCodeOlustur((toplam), 10);
            //MessageBox.Show(toplam);
        }

Son olarak kare kod’un okutulduğunda ekrana yansıyan görüntüyü de aktarmak isterim,

Şimdilik anlatacaklarım bu kadar bir diğer makalede görüşmek üzere sağlıcakla kalınız…

Beyninizi Besleyin!

Barış Balcı
IT MANAGER