Coder

18 Mart 2013

Dll kullanarak barkod oluşturmak

Daha önceki yazımda(Barkod oluşturma programı yapımı) hatırlayacak olursanız, metin fontu yardımı ile windows form arayüzünde label kontrolünün font özelliği kullanarak iyi, kötü barkod oluşturabildik. Biraz basit yöntemle olduğu için, ihtiyacı karşılayamamakta. Daha önceki yazının güncellemesi niteliğindeki bu yazımda metin fontu değilde hali hazırda var olan barkod oluşturma kütüphanesini(dll) kullanarak basit bir şekilde formda oluşturalım.

barkod-olusturma-programi

Örneğe başlamadan önce indirmeniz gereken dll dosyasını yapılan örnek ile birlikte alttaki buton yardımı ile indirebilirsiniz.
[viral-lock][wpdm_file id=5][/viral-lock]

Barkod dll indirdikten sonra resimdeki gibi basit bir form tasarlayalım. Formda görldüğü gibi textboxlar(uzunluk, genişlik, barkodun değeri), barkod tip isimlerinin görüleceği combobox, buton ve barkodun oluşturulacağı picturebox. Bunları ekledikten sonra kod kısmına geçmeden referans olarak indirilen dll dosyasını örneğe ekleyin(Projeye sağ tuş Add Reference seçip browser kısmında dll ekleyebilirsiniz).

Gerekli dosya ve görünümü bitirdikten sonra buton clik olayına gelerek kod kısmına geçebiliriz.

[cc lang='csharp' ] private void button1_Click(object sender, EventArgs e)
{
BarcodeLib.Barcode b = new BarcodeLib.Barcode();

int genislik = Convert.ToInt32(txtGenislik.Text);
int yukseklik = Convert.ToInt32(txtYukseklik.Text);
b.Alignment = BarcodeLib.AlignmentPositions.CENTER;

BarcodeLib.TYPE type = BarcodeLib.TYPE.UNSPECIFIED;
switch (cbBarkod.SelectedItem.ToString())
{
case “UPC-A”:
type = BarcodeLib.TYPE.UPCA;
break;

case “UPC-E”:
type = BarcodeLib.TYPE.UPCE;
break;

case “UPC 2 Digit Ext.”:
type = BarcodeLib.TYPE.UPC_SUPPLEMENTAL_2DIGIT;

break;
case “UPC 5 Digit Ext.”:
type = BarcodeLib.TYPE.UPC_SUPPLEMENTAL_5DIGIT;

break;
case “EAN-13″:
type = BarcodeLib.TYPE.EAN13;

break;
case “JAN-13″:
type = BarcodeLib.TYPE.JAN13;

break;
case “EAN-8″:
type = BarcodeLib.TYPE.EAN8;

break;
case “ITF-14″:
type = BarcodeLib.TYPE.ITF14;

break;
case “Codabar”:
type = BarcodeLib.TYPE.Codabar;

break;
case “PostNet”:
type = BarcodeLib.TYPE.PostNet;

break;
case “Bookland/ISBN”:
type = BarcodeLib.TYPE.BOOKLAND;

break;
case “Code 11″:
type = BarcodeLib.TYPE.CODE11;

break;
case “Code 39″:
type = BarcodeLib.TYPE.CODE39;

break;
case “Code 39 Extended”:
type = BarcodeLib.TYPE.CODE39Extended;

break;
case “Code 93″:
type = BarcodeLib.TYPE.CODE93;

break;
case “LOGMARS”:
type = BarcodeLib.TYPE.LOGMARS;

break;
case “MSI”:
type = BarcodeLib.TYPE.MSI_Mod10;

break;
case “Interleaved 2 of 5″:
type = BarcodeLib.TYPE.Interleaved2of5;

break;
case “Standard 2 of 5″:
type = BarcodeLib.TYPE.Standard2of5;

break;
case “Code 128″:
type = BarcodeLib.TYPE.CODE128;

break;
case “Code 128-A”:
type = BarcodeLib.TYPE.CODE128A;

break;
case “Code 128-B”:
type = BarcodeLib.TYPE.CODE128B;

break;
case “Code 128-C”:
type = BarcodeLib.TYPE.CODE128C;

break;
case “Telepen”:
type = BarcodeLib.TYPE.TELEPEN;

break;
case “FIM”:
type = BarcodeLib.TYPE.FIM;

break;
default:
MessageBox.Show(“Barkod türü belirtin !”);
break;
}
try
{
if (type != BarcodeLib.TYPE.UNSPECIFIED)
{
pbBarkod.Image = b.Encode(type, txtMetin.Text, genislik, yukseklik);
}

pbBarkod.Width = pbBarkod.Image.Width;
pbBarkod.Height = pbBarkod.Image.Height;

}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

}[/cc]

Combobox içine kütüphanede bulunan barkod tip isimlerini eklemeyi unutmayın. Switch-case ile combobox içindeki text e göre işlem yapacağı için isimleri ekteki örnekten faydalanarak veya istediğiniz barkod adını yazarak çalıştırabilirsiniz.

Bir çok yerde bulamayacağınız Ean 13 gibi barkod tiplerini buradaki kütüphane yardımı ücretsiz bir şekilde faydalana bilirsiniz.

12 Mayıs 2011

Combobox seçilene göre işlem yapma

Combobox’daki itemlara göre işlem yaptırabilir. En bilindik örneği hatırlarsak, web sitesini arka plan rengini kullanıcıya combobox’daki değerler sayesinde seçtirebiliriz.

Şimdi daha farklı bir örnek ile işlem yaptıralım. İçinde katı, sıvı, adet ürün isimleri bulunup, seçilen değere göre katı ürün ise label da gram yazdırıp, sıvı ürün ise mililitre veya adet üründe adet yazısını gösterebiliriz. Bunu yapabilmek için forma resimdeki gibi bir Combobox, Label ekliyoruz. Eklediğimiz Combobox’ın üzerine tıkladığımızda item eklemek için minik ok işreti göreceksiniz, buna tıklayıp Edit Items… dan değerleri girin(katı ürün, sıvı ürün vs.) ve ardından üzerine çift tıklayarak SelectedIndexChanged olayına gelelim. Bundan sonraki kısım görüldüğü üzere;

[cc lang="c#"]string turusec = comboBox1.SelectedItem.ToString();

switch (turusec)
{
case “Katı Ürün”:
label1.Text = “Gram”;
break;
case “Sıvı Ürün”:
label1.Text = “Mililitre”;
break;
case “Adet Ürün”:
label1.Text = “Adet”;
break;

}[/cc]

Combobox seçili değerini turusec isminde string değişkenine atayıp, Switch-Case ile seçili değere göre label1.Text’ine ekrana yazdırılacak değeri girip işlem yaptırıyoruz.

Powered by WordPress