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.

Powered by WordPress