Volkan Atasever

mühendislik, edebiyat, retro computer, yazılım, şiir, nümismatik, bilişim, podcast ve daha bir çok yazılarım...

Çizgi Barkod Sistemleri ve HCCB Barkod Sisteminin Karşılaştırılması

clock Şubat 14, 2010 10:41 by author Volkan Atasever

 

 

Çizgi Barkod Sistemleri ve HCCB Barkod Sisteminin Karşılaştırılması

 

 

Özet: Günümüzde teknolojinin gelişmesiyle birlikte işletme sayılarının da artması, otomatik tanımlama sistemlerinin önemini arttırmıştır. Otomatik tanımlama sistemleri, iş verimini arttıran en önemli unsurlardan biridir. Dolayısı ile iş sistemlerinin kontrol ve takibinde önemli bir yere sahiptir. Çağa ayak uydurabilmek için verilerin artık kesin, daha detaylı ve daha hızlı akışı hemen hemen her sektörde zorunlu hale gelmiştir. Barkod sistemleri en etkili otomatik tanımlama teknolojilerinden biridir. Bilinen ve en çok kullanılan barkod sistemleri çizgi barkod sistemleridir. Günümüzde çizgi barkodların yerini artık 2D barkod sistemleri almaktadır. Bu çalışmada çizgi barkod sistemleri ile 2D barkod sistemlerinden biri olan Microsoft firmasının HCCB (High Capacity Color Barcode – Yüksek Kapasiteli Renkli Barkod) barkod sistemi arasındaki farklar ortaya konmuştur.
Anahtar Sözcükler: Barkodlar, HCCB, 2D Barkodlar, Çizgi Barkodlar


Comparison of Line Barcode Systems and HCCB Barcode System
Abstract:
Today, enterprises increased with the development of technology has been increased the importance of automatic identification systems. Automatic identification systems is one of the most important elements increased business efficiency. Therefore, it has an important place in control of business systems and follow-up. To adapt the age, accurate, more detailed and faster flow of data has become almost mandatory in every sector. Barcode system is one of the most effective automatic identification technologies. Known and most widely used barcode systems are the line barcode systems. Today, 2D bar code systems take the position of the line barcode. In this study, differences between the line barcode systems and HCCB (High Capacity Color Barcode) barcode system which is the one of the 2D barcode system of Microsoft Company have revealed.
Keywords: Barcodes, HCCB, 2D Barcodes, Line Barcodes

İNDİR:

volkanatasever_akademik2.pdf (324,12 kb)



Mobil Cihazlarda Online Görüntü İşleme

clock Şubat 14, 2010 10:29 by author Volkan Atasever

Mobil Cihazlarda Online Görüntü İşleme Yazılımının Geliştirilmesi

Özet: Günümüz kişisel bilgisayarlarda görüntü işleme uygulamaları önemli bir yere sahiptir. Teknolojinin gelişmesine parelel olarak mobil cihazların kullanımı da yaygınlaşmaktadır. 3G teknolojinin de yaygınlaşması ile birlikte mobil cihazlarda internet erişim hızı da artmıştır. Kişisel bilgisayarlarda yapılan birçok işlem mobil cihazlar üzerinden de yapılabilir hale gelmiştir. Mobil cihazlar üzerinde yer alan bazı uygulamalar kullanıcı tarafından verimli bir şekilde kullanılmamaktadır. Ayrıca Windows Mobile işletim sistemi kullanan mobil cihazlarda görüntü işleme yazılımları sınırlı düzeylerdedir. Elde edilen görüntüler kişisel bilgisayarlar üzerinde bir takım yazılımlar kullanılarak iyileştirilmektedir. Standart java destekli mobil cihazlarda yer alan yazılımlar ise eğlence amaçlı kullanımın ötesine geçememektedir. Bu çalışmada mobil cihazlarda yer alan kamera ve 3G teknolojisi kullanılarak çevrimiçi görüntü işleme yazılımı anlatılmıştır.

Anahtar Sözcükler:

Windows Mobile, Mobil Cihazlar, Görüntü İşleme, Online Görüntü İşleme

Online Image Processing Software Development on Mobile Devices

 

Abstract: Today, Image processing applications on personal computers have an important place. Parallel to the development of technology, using of mobile devices are becoming common. With the widespread use of 3G technology on mobile devices, internet access speed also increased. Many operations performed on personal computers can also be done on mobile devices. Some applications located on mobile devices are not used efficiently by the user. Additionally, the Windows Mobile operating system for mobile devices that use image processing software is in limited level. The obtained images are improved using a software tool on a personal computer. The software in the standard java supported mobile devices can not be exceeded beyond use of entertainment purposes. In this study, by using the camera, and 3G technology which are in mobile devices, the online image processing software has been presented.

Keywords: Windows Mobile, Mobile Devices, Image Processing, Online Image Processing.

 

İNDİRMEK İÇİN:

 

 

volkanatasever_akademik.pdf (300,37 kb)

 

 



Mobil Cihaz ve Depolama kartında Kullanılabilir Hafıza Miktarı

clock Ocak 30, 2010 06:35 by author Volkan Atasever

 

Mobil cihazımızdaki depolama kartı ve cihazın dahili hafızasındaki kullanılabilir bellek miktarını öğreneceğiz. Bunun için DLL Import yöntemi ile bir dll'i import edip bu değerleri elde etmek için bir fonksiyon kullanacağız. Import edeceğimiz DLL'in ismi "coredll.dll" kullanacağımız metod ise GetDiskFreeSpaceEx metodu olacak. Bu sayede cihazın toplam bellek miktarına ve kullanılabilir bellek miktarına erişebileceğiz. Bazen yaptığım uygulamaları tek başına ele aldığınızı tahmin etmekteyim en azından deneyimli olmayan yazılım geliştiriciler bu programın bana salt olarak ne avantajı olabilir diye düşünmekte. Onun için bazı yazılarımda ufkunuzu genişletecek bir iki ipucu vererek konuya daha değerli olduğunu bilerek bakmanızı istemekteyim. Bir cihazdaki kullanılabilir belleğin ne durumda olduğunu belirlemek o an için yazdığınız mobil uygulamanın belleği en performanslı ve optimum kullanımı sağlamanıza yarayacaktır. Kullanıcıya uygulamanın yarısında bellek yetersiz mesajı vermeniz belleği verimli şekilde kullanamadığınızın göstergesidir. Eski C/C++ geliştiricileri belleğin ne kadar önemli olduğunu bilmektedirler. Büyük uygulamalarda göreceli olarak az bellek içeren mobil cihazlarda da bu durum geçerlidir.

Bu DLL'i projemizde kullanmak için aşağıdaki namespace'i projemize eklememiz gerekmektedir;

using System.Runtime.InteropServices;

Bu işlemi yapmak içinde Nesne Yönelimli Programlamanın bize vermiş olduğu en büyük avantajlardan biri olan bir sınıf oluşturmamız gerekecek. Aşağıdaki sınıf bu kontrolü yapmanız için gereklidir;

publicclassMemStatus

{

[DllImport("coredll.dll")]

publicstaticexternbool GetDiskFreeSpaceEx(

string lpDirectoryName,

outulong lpFreeBytesAvailableToCaller,

outulong lpTotalNumberOfBytes,

outulong lpTotalNumberOfFreeBytes);

publicconststring STORAGE_INTERNAL = "\\";

publicconststring STORAGE_FLASH_CARD =

"\\storage card\\";public MemStatus()

{

}

publicstaticbool GetStorageInfo(

string storagePath,

outulong totalBytes,outulong availBytes)

{

ulong freeBytesAvail;

ulong totalBytesAvail;

ulong freeBytesTotal;

bool result = GetDiskFreeSpaceEx (storagePath,

out freeBytesAvail,

out totalBytesAvail,

out freeBytesTotal);

if (result == true)

{

totalBytes = totalBytesAvail;

availBytes = freeBytesAvail;

}

else

{

totalBytes = ulong.MaxValue;availBytes = ulong.MaxValue;

}

return result;

}

}

Sınıfımızı oluşturduktan sonra aşağıdakine benzer bir kullanıcı arayüzü tanımlayalım;

Yazdığımız sınıfı formumuzun içinde kullanmak içinde aşağıdaki kodu kullanalım;

publicpartialclassForm1 : Form

{

public Form1()

{

InitializeComponent();

}

privatevoid menuItem1_Click(object sender, EventArgs e)

{

ulong totalBytes;

ulong availBytes;

if (MemStatus.GetStorageInfo(

MemStatus.STORAGE_INTERNAL,

out totalBytes,out availBytes))

{

textBox1.Text = totalBytes.ToString();

textBox2.Text = availBytes.ToString();

}

else

{

textBox1.Text = "?";textBox2.Text = "?";

}

}

}

Butona bastığımızda ise çıktımız aşağıdaki gibi olacaktır;

Bu sayede dahili belleği görebildik Storage Kartın Path yolu ve mobil cihazın dahili belleğine nasıl bakacağımız koddaki gibi pathlerde gösterilmiştir.

Yazan: Volkan Atasever

Kaynaklar: http://www.dotnetfordevices.com



PCWorld Ocak 2010 Sayısı - Mobil Programlama - İkinci Yazım

clock Aralık 30, 2009 04:30 by author Volkan Atasever

PCWorld, Ocak 2010 sayısında mobil programlama yazı dizisinin ikinci serisi yayınlandı. İkinci yazımda .Net Compact Framework ve getirileri ile ilgili anlatımların yanı sıra bir projenin baştan sona çalışması hakkında bilgi edinebilirsiniz. Dünyanın en çok satan bilgisayar dergisinde yazmak oldukça keyifli bir deneyim.

Konu Başlığım: Mobil Programlama: Visual Studio 2008 içinde mobil geliştirme araçları 



High Capacity Color Barcode (Microsoft Tag) - 2

clock Aralık 27, 2009 06:49 by author Volkan Atasever

 

Teknik ve Uygulaması

Bu api Microsoft tarafından Microsoft Tag Beta Public API ismi altında yayımlanmakta ve herkese açık bir web servis olarak sunulmaktadır. Beta versiyonuna başvurduğunuz size Public API’yi kullanmanız için bir anahtar verilmektedir.

Bu anahtarla; https://ws.tag.microsoft.com/MIBPService.wsdl adresinden bu api’yi kullanabilmektesiniz. Hesabınıza 500 tane kategori açma ve 5000’e kadar tag oluşturma ve silme izni verilmektedir.

Bu tag’in web servisini nasıl projeme tanıtabilirim?a-) Visual Studio projesi yaratın

b-) Project explorer menüsünden service reference’a sağ tıklayıp add service reference seçeneğini seçin.

c-) Adres olarak: https://ws.tag.microsoft.com/MIBPService.wsdlgirin

d-) İsim uzaylarınızı kontrol edin ve aynı isim uzayında birleştirin.

Nasıl Tag Yaratabilirim ?

Bunun için KEY’inizi almış olmanız gerekmektedir.    

private void CreateTag()   

{       

    try        {     

       MIBPContractClient OMIBPClient = new MIBPContractClient();  

       UserCredential oCredential = new UserCredential();

       oCredential.AccessToken = "Erişim anahtarınızı giriniz";

      URITag uriTag = new URITag();

      uriTag.MedFiUrl = http://www.birurlgir.com;

      uriTag.UTCStartDate = new DateTime(yyyy, mm, dd);

      uriTag.UTCEndDate = new DateTime(yyyy, mm, dd);

      OMIBPClient.CreateTag(oCredential, "Kategori", uriTag);

     }

     catch

     {

            throw;

     }   

}

 Nasıl Tag Editleyebilirim ?

  private void UpdateTag()
    {
        try
        {
            MIBPContractClient OMIBPClient = new MIBPContractClient();
            UserCredential oCredential = new UserCredential();
 
            oCredential.AccessToken = "Erişim anahtarınızı giriniz";         
            vTag.Title = "Yeni tag ismi";
 
            OMIBPClient.UpdateTag(oCredential, "Kategori ismi", "oluşturulan tagın ismi", vTag);
        }
        catch
        {
            throw;
        }
    }

 Tagi nasıl aktif hale getirebilir veya durdurabilirim ?

private void ActivateTag()
    {
        try
        {
            MIBPContractClient OMIBPClient = new MIBPContractClient();
            UserCredential oCredential = new UserCredential();
 
            oCredential.AccessToken = "Erişim anahtarınızı giriniz";         
            OMIBPClient.ActivateTag(oCredential, "Kategori ismi", "Tag ismi");
        }
        catch
        {
            throw;
        }
    }
    
    private void PauseTag()
    {
        try
        {
            MIBPContractClient OMIBPClient = new MIBPContractClient();
            UserCredential oCredential = new UserCredential();
 
            oCredential.AccessToken = "Erişim anahtarınızı giriniz";         
            OMIBPClient.PauseTag(oCredential, "Kategori ismi", "Tag ismi");
        }
        catch
        {
            throw;
        }
    }

Nasıl Kategori tanımalayabilirim ?

    private void CreateCategory()
    {
        try
        {
            Category oCat = new Category();
            MIBPContractClient OMIBPClient = new MIBPContractClient();
            UserCredential oCredential = new UserCredential();
 
            oCredential.AccessToken = "Erişim anahtarınızı giriniz";
            oCat.Name = "Kategori ismi";
            oCat.UTCEndDate = new DateTime(yyyy, mm, dd);
            oCat.UTCStartDate = new DateTime(yyyy, mm, dd);
 
            OMIBPClient.CreateCategory(oCredential, oCat);
        }
        catch
        {
            throw;
        }
    }
      

 Kategoriyi nasıl düzenleyebilirim ?

    private void UpdateCategory()
    {
        try
        {
            Category oCat = new Category();
            MIBPContractClient OMIBPClient = new MIBPContractClient();
            UserCredential oCredential = new UserCredential();
 
            oCredential.AccessToken = "Erişim anahtarınızı giriniz";
            oCat.Name = "Yeni kategor ismi";
            oCat.UTCEndDate = new DateTime(yyyy, mm, dd);
            oCat.UTCStartDate = new DateTime(yyyy, mm, dd);
 
            OMIBPClient.UpdateCategory(oCredential, "kategori ismi", oCat);
        }
        catch
        {
            throw;
        }
    }

Kategoriyi nasıl aktif hale getirir veya durdurabilirim ?

    private void ActivateCategory()
    {
        try
        {
            Category oCat = new Category();
            MIBPContractClient OMIBPClient = new MIBPContractClient();
            UserCredential oCredential = new UserCredential();
 
            oCredential.AccessToken = "Erişim anahtarınızı giriniz";
            OMIBPClient.ActivateCategory(oCredential, "kategori ismi");
        }
        catch
        {
            throw;
        }
    }
  
   
    private void PauseCategory()
    {
        try
        {
            Category oCat = new Category();
            MIBPContractClient OMIBPClient = new MIBPContractClient();
            UserCredential oCredential = new UserCredential();
 
            oCredential.AccessToken = "Erişim anahtarınızı giriniz";
            OMIBPClient.PauseCategory(oCredential, "kategori ismi");
        }
        catch
        {
            throw;
        }
    }
      

Nasıl Barkod yaratabilirim ?

private void CreateBarcode()
    {
        try
        {
            MIBPContractClient OMIBPClient = new MIBPContractClient();
            UserCredential oCredential = new UserCredential();
 
            oCredential.AccessToken = "erişim anahtarınızı giriniz";
            byte[] oBarcode = OMIBPClient.GetBarcode(oCredential, "kategori ismi", "Tag ismi", 
                                                     ImageTypes.tiff, Size, 
                                                     DecorationType.HCCBRP_DECORATION_NONE, 
                                                     Is Black or White);
       }
        catch
        {
            throw;
        }
    }  

Microsoft Tag’in beta sürümünde şu anda bu özellikler kullanılabilmektedir.

Sonuç

Bu makalede özellikle yüksek kapasiteli renkli barkod uygulamasının Microsoft firmasının Microsoft Tag ticari ismi ile piyasaya sunduğu bir teknolojiyi inceledik. Uygulamanın hali hazırda piyasada kullanım alanlarını incelerken kullanılabilecek olası sahalarada örnek verdik.  Görmüş olduğunuz gibi kullanım alanlarının sınırının oldukça geniş olan bu teknoloji avantajlar getirdiği gibi dezavanatajları da yapısı ile birlikte getirmektedir. Biz yazılım mühendisleri veya yazılım uzmanları açısından en can sıkıcı nokta bu uygulamanın beta aşamasında dahi belli bir Tag ve kategori oluşturma sınırı ile sunulması oldu. Teknolojinin web servis kullanılarak dağıtılması HardCore yazılımcılar açısından bir dezavantaj. Uygulumalarında yüksek seviye kontrol edilebilirlik arayanlar 3. Parti yazılımları genellik bir library veya DLL alarak kullanmaya alışmıştı. En azından bir müddet sıkıntı yaratsada Bulut Teknolojilerinin biz yazılım geliştiricilere yansıması da bu olsa gerek.

Yazan: Volkan Atasever 

Kaynaklar: Microsoft Research                    

Microsoft Tag Developer Portal                 



Volkan Atasever Kimdir ?

E-Mail: volkan(et)volkanatasever.com

Genel Müdür/S4G 
Bilgisayar Mühendisi

mühendislik, edebiyat, retro computer, yazılım, şiir, nümismatik, bilişim, podcast ve bir çok kategoride yazılarım...

Yazılım Kitaplarım

   

Şiir Kitaplarım

Dergi Yazılarım

 

Sosyal Ağlarım

 

 

 

 

Retro Bilgisayar Dergimiz

Türkçe Retro Bilgisayar dergimiz haziran 2016'da ilk sayısını çıkardı. ilk sayı yeni bir internet sitesinden tekrar yayınlanacaktır. Retro camiası tüm dünyada oldukça eğlenceli bir camia. Sizde katkıda bulunmak isterseniz bana mail atmanız yeterli. Dergimiz PDF formatında ve tamamen ücretsizdir.

Yasal Bilgi

Sitedeki yazıları,kodlar ve diğer materyaller Volkan Atasever'e aittir. Yazarı ve siteyi kaynak göstererek yazıları paylaşabilirsiniz.  Copyright(c)2004-2017

Sign In

Yazılım