21 Ocak 2009 Çarşamba

Barkod yazıcısından etiket dökümü.

Bir firma için yazdığım depo uygulamasında barkod yazıcısından etiket dökümü almak için kullandığım kod parçası belki işinize yarar. :)

//YaziciCiktisi Methodunu kullanarak yazıcı ayarları ve seçiminin yapılması istersek print preview ile çıktıyı önce ekrana alabiliriz.
private void YaziciCiktisi()
{
PrintDocument dokuman = new PrintDocument();
PrintDialog yazici = new PrintDialog();
try
{
dokuman.PrintPage += new PrintPageEventHandler(YazdirilacakEtiketBilgileri);
yazici.PrinterSettings = new PrinterSettings();
yazici.Document = dokuman;
yazici.UseEXDialog = true;
if (DialogResult.OK == yazici.ShowDialog(this))
{
dokuman.PrinterSettings.PrinterName = yazici.PrinterSettings.PrinterName;
dokuman.Print();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
dokuman.Dispose();
}
}

//Başlık ve detay satırları şeklinde kullandım. etiketin üst kısmında firma bilgileri ve sonrasında koli içersinendeki ürün bilgileri yazdırdım.
void YazdirilacakEtiketBilgileri(object sender, PrintPageEventArgs e)
{
Font fontFirmaBaslik = new Font("Arial", 12);
Font fontStatik = new Font("Arial", 10);
Font fontDinamikBaslik = new Font("Arial", 9);
Font fontDinamik = new Font("Arial", 7);

e.Graphics.DrawString("FİRMA ÜNVANI", fontFirmaBaslik, Brushes.Black, 130, 10);

e.Graphics.DrawString(lblFirmaUnvani.Text.ToUpper(), fontStatik, Brushes.Black, 10, 40);
e.Graphics.DrawString(": " + txtFirmaUnvani.Text, fontStatik, Brushes.Black, 110, 40);

e.Graphics.DrawString("İLİ", fontStatik, Brushes.Black, 10, 55);
e.Graphics.DrawString(": " + txtIli.Text, fontStatik, Brushes.Black, 110, 55);

e.Graphics.DrawString("ALT MÜŞTERİ", fontStatik, Brushes.Black, 10, 70);
e.Graphics.DrawString(": " + txtAltMusteri.Text, fontStatik, Brushes.Black, 110, 70);

e.Graphics.DrawString(lblIrsaliyeNo.Text.ToUpper(), fontStatik, Brushes.Black, 10, 85);
e.Graphics.DrawString(": " + txtIrsaliyeSeriSiraNo.Text, fontStatik, Brushes.Black, 110, 85);

e.Graphics.DrawString(lblKoliBilgisi.Text.ToUpper(), fontStatik, Brushes.Black, 200, 85);

e.Graphics.DrawString("ÜRÜN KODU", fontDinamikBaslik, Brushes.Black, 10, 120);
e.Graphics.DrawString("ÜRÜN ADI", fontDinamikBaslik, Brushes.Black, 110, 120);
e.Graphics.DrawString("MİKTAR", fontDinamikBaslik, Brushes.Black, 300, 120);
e.Graphics.DrawString("BİRİM", fontDinamikBaslik, Brushes.Black, 350, 120);

int satir = 135, koliNo = 0;


if (_yazKoliNo > 0) koliNo = _yazKoliNo;
else koliNo = _koliNo;

//Detay satırlarını yazdırıyoruz.
for (int i = 0; i < dgSiparisListesi.Rows.Count; i++)
{
if (Convert.ToInt32(dgSiparisListesi.Rows[i].Cells["KOLI"].Value) == koliNo)
{
e.Graphics.DrawString(dgSiparisListesi.Rows[i].Cells["sip_stok_kod"].Value.ToString(), fontDinamik, Brushes.Black, 10, satir);
e.Graphics.DrawString(dgSiparisListesi.Rows[i].Cells["sto_isim"].Value.ToString(), fontDinamik, Brushes.Black, 110, satir);
e.Graphics.DrawString(dgSiparisListesi.Rows[i].Cells["MIKTAR"].Value.ToString(), fontDinamik, Brushes.Black, 310, satir);
e.Graphics.DrawString("ADET", fontDinamik, Brushes.Black, 350, satir);
satir = satir + 15;
}
}
}

17 Ocak 2009 Cumartesi

Filistine Yardım Edelim...

Bir kaç haftadır Filistinde yaşanan olaylardan dolayı çok üzüntü duyuyorum. Çocuklardan ne istiyorsunuz, hiç bir şeyin farkında bile olmadan katlediliyorlar. Binlerce masum insan ölüyor ama kimse birşey yapmıyor. Bunu yapanlar hiç ölmeyeceklerini mi düşünyorlar anlayamıyorum. Bir gün bunların hesabı sorulmayacak mı? Bu gidişe bir dur diyecek baba yiğit yok mu?

Özellikle resim eklemek istemedim. Vahşet görüntülerine dayanamıyorum. Allah yardımcıları olsun. Savaşlar olmasın çocuklar hep gülsün.

Lütfen el birliği ile onlara yadım edelim. Az çok demeden yardım edelim. 1 kuruşa bile ihtiyacı olan bu insanlara yardım edelim. Her şeyden önce onlarda insan ve her insanın yaşamaya hakkı vardır. Hiç bir din yada meshep savaşı kabul etmez.

Bir çok kurum ve kuruluş yardım topluyor. Bende duyurmak için diyanet işlerinin web sitesindeki bilgileri sizlerle paylaşmak istedim. Lütfen sizde ufakda olsa bir yardım edin.

Diyanet Vakfı

Kredi kartı ile bağış
https://bagis.diyanetvakfi.org.tr/index.php?categoryid=12

Vakıflar Bankası
Ankara - Meşrutiyet Şubesi
2035392 No'lu (TL) Hesabı

T.C. Ziraat Bankası
Ankara - Meşrutiyet Şubesi
7967366-5002 No'lu (TL) Hesabı

Kaynak: http://www.diyanetvakfi.org.tr

5 Ocak 2009 Pazartesi

DHCP Server Uzerinde Mac Adres Tabanlı Filitreleme

Çok kullanışlı bulduğum ve benimde işimi kolaylaştıran bir uygulamayı sizlerle paylaşmak istedim.

Server üzerinde otomatik IP dağıtan DHCP için bir dll. Bu dll yardımı ile IP almasını istemediğiniz cihazlara MAC adres filtreleme yaparak sisteminizden IP almamasını sağlıyorsunuz.

Windows Server 2003/2008 - x86/x64 sürümleri üzerinde çalışabiliyor. İndireceğiniz dosyaların içersinde x86 ve x64 setupları mevcut. Programımızın adı "Call Out DLL" ufacık tefecik bir uygulama.

MacFilterCalloutInstaller-x64 yada x86 çalıştırıp kurulumu yapıyorsunuz. Standart olarak kurlumu yapıyorsunuz. C:\Windows\System32 altına "MacFilterCallout.dll" ve "SetupDHCPMacFilter.rtf" dosyalarını atıyor. Kullanımı hakkında bilgileri "SetupDHCPMacFilter.rtf" veya kaynak olarak verdiğim linlkten de bulabilirsiniz.

Services den DHCPServer servisini stop - start ederseniz dll 'in yüklendiğini loglardan kontrol edebilirsiniz. "Event ID: 1033"

Standart kurulumunu "System32" altına yapmaktadır isterseniz regestry den değiştirerek istediğiniz yerde kullanabilirsiniz. Ben "C:\CallOut\" altında kullandım.





Key NameKey TypeDescription
CalloutDllsREG_MULTI_SZC:\CallOut\MacFilterCallout.dll
CalloutEnabledDWORD
1
CalloutErrorLogFileREG_MULTI_SZ C:\CallOut\MacFilterCalloutErrorLog.txt
CalloutInfoLogFileREG_MULTI_SZC:\CallOut\MacFilterCalloutInfoLog.txt
CalloutMACAddressListFileREG_MULTI_SZC:\CallOut\MACList.txt




MACList.txt dosyasının içeriği.




Hataları "MacFilterCalloutErrorLog.txt" dosyası içerisine yazıyor.
Çalışma zamanında "MacFilterCalloutInfoLog.txt" kullandığı dosya DHCPService stop ederseniz ne dosya içersinde hangi MAC Adreslerini engellediği yada izin verdiğini görebilirsiniz.

Dosyalar
http://cid-aca0e71c77731448.skydrive.live.com/browse.aspx/Call%20Out%20DLL%20-%20v1

Kaynak
http://blogs.technet.com/teamdhcp/archive/2007/10/03/dhcp-server-callout-dll-for-mac-address-based-filtering.aspx

Umarım sizinde işinizi kolaylaştırır.

29 Aralık 2008 Pazartesi

Yeni Yılınız Kutlu Olsun...

Tüm insanlığın yeni yılını kutlarım. Yeni yılda aileniz ve sevdikleriniz ile birlikte sağlık, mutluluk, güzelliklerin sizlerle birlikte olmasını dilerim. Tüm sorunların uçup gitmesin ve dünyamızın daha güzel ve hep barış içinde olmasını temmeni ediyorum.

28 Aralık 2008 Pazar

YEDİ Büfe den GELL Büfeye

Selamlar,

Yaklaşık 1 yıldır gıda sektöründe yerini yavaş yavaş alacak olan farklı bir işe geçiş yaptım. Mikrodan ayrıldıktan sonra girdiğim bu grup şirketlerin yeni bir üyesi olan YEDİ Büfeler zinciri. İlk kurduğumuzda YEDİ Büfe markası ile başladık. İlk büfemizi 17 Nisan 2008 tarihinde Mecidiyeköyde açtık. Bütün çalışma arkadaşlarımla oldukça heyecanlıydık ama sonunda güzel şeyler ortaya çıktıkça bizlerde mutlu oluyorduk. Özellikle yabancı olduğum bu sektöre alışmam uzun sürmedi.







Yoğun açılışın ardından karnımız acıktı...



Tabi ki devamı da geldi. Arkasından Esentepe, Ortaköy, Göztepe ve Esentepe-2 (Esentepe Nimet Abla Camii arkasında.) büfelerimizde hizmete başladı. Amacımız temiz, uygun fiyat ve lezzetli yiyecekler sunmak. Markamızı GELL olarak değiştirdik. GELL Büfeler hizmetinizdedir.

Gelelim bana, buradaki görevim Bilişim Teknolojileri Müdürü. Teknolojik işler yani... Tabi reklam yapar gibi anlatıyorum ancak amacım reklam yapmak değil. Bu işin teknolojik alt yapısı için oldukça çalışmak gerekiyordu. Merkez ve Şubeler arasında yapılacak data alış verişi ve Merkezde takip edilmesi gereken tüm lokasyonları yönetecek bir ERP sistemi kurmak gerekiyordu. En iyi yol bildiğin yol düşüncesi ile Mikro Yazılımevi 'ne ait RTL9000 ile bu işe giriş yapmayı uygun gördüm.

Merkez - Şube bağlantıları için Check Point firewall ve modemler kullanarak site to site VPN üzerinden data trafiğini geçirdik. Merkezde sunucular için IBM tercihi oldukça iyi bir tercih olduğunu düşünüyorum.

Şubeler için IBM SP500 POS kasa ve POS kasalar üzerinde Adam Bilgisayara ait MYARES yazılımını tercih ettik. Tüm lokasyonların yönetimini merkezden MYASTORE ile yapıyorum. Reklam gibi olacak ama MYASOFT Adam Bilgisayar sürekli geliştirme içersinde olduğu bu programların desteğini de çok iyi verdiğini düşünüyorum. Kesinlikle bir ücret almadım :) yanlış anlaşılmasın.

Bu satırları yazmaktaki amacım bu sektöre yönelen kişi yada kişilere nacizane fikirlerimi paylaşmak. Tabi ki tercih yine sizlerin.

SQL Server 2005 Service Pack 3

SQL Server 2005 SP3 yayınlandı. SP3 ile Database Engine, Notification Services, Replication, Reporting Services için yapılan düzeltmeler sunulmaktadır.

Kaynak :
http://msdn.microsoft.com/en-us/library/dd353312(SQL.90).aspx

İdirmek için :
http://msdn.microsoft.com/en-us/sqlserver/bb895958.aspx

Bu linkte Enterprise, Enterprise Evaluation, Developer, Standard, Workgroup ve Express Edition sürümleri için SP3 bulabilirsiniz.

Efecik Buger King de :)



Hafta sonu gezmeye gittiğimizde Efecik Burger King ile tanıştı ama sakın hamburger verdiğimizi düşünmeyin. Aldığı ek gıdalar içersinde hamburger yok. :) Lütfen sizde vermeyin.



Annecik mama yediriyor. :) Annelik en kutsal görevdir. Geceleri uyumaz gündüzleri hep bebeği ile ilgilenir. Annelik çok başka bir duygu. Her bayanın anneliği tatmasını isterim. Ama kendisi de anne olmak istiyor ise. Herkes anne olamaz.



Annem ye güzel mamma yediriyor. :)


Her zaman cennetin annelerin ayakları altında olduğunu hadislerde daha önce büyüklerimizden duyardık. Evet gerçektende cennet annelerin ayaklarının altında. Bu na en güzel örnek şu hadisi verebiliriz sanırım.

Sahabelerden biri anlatıyor:

''Bir gün peygamber efnedimiz (a.s.m) bir mezarlığı ziyaret eder. Bir kabrin başına gelir. Resulullah efendimiz kabrin üstünü kıp kırmızı olduğunu görür. Elini toprağa sürerek içinde yatan kişinin kabir azabında olduğunu görür. Sonra sahabelerine bu kimin kabri diye sorar. Sahabeler bu köyde oturan kimsesiz kadının oğlu derler. Peygamber efendimiz hemen bu kadının bu kabrin başına getirilmesini ister. Nitekim çok zaman geçmeden kadın gelir. Peygamber efendimiz (a.s.m) ey ana bu senin oğlunun kabrimi. Anne evet der Allahın resulu. Oğlun şu anda kabir azabı çekiyor. Eğer hakkını helal etmezsen oğlun cennete giremeycek der resulullah efendimiz. Kadın hakkımı helal etmem der. Peygamber efendimiz elini kadının yüzüne sürerek gözündeki perdeyi kaldırır. Kadın oğlunu görör. Oğlu ana hakkını helal et der. Annesi etmemder. Oğlu ana hakkını helal et der annesi etmem der. Oğlu yanıyordu alevler içinde cayır cayır yanıyordu. Annesi ağlıyordu oğlu feryad ediyordu ana hakkını helal et diye annesi daha fazla yüreği dayanamadı helal etti. Oğlunun kabri bir anda cennettten bir köşk etrafı cennetten bir bahçe oldu sonra sonra kadının gözüne tekrar perde iner ama ağlar sızlar, ana bu nasıl ağlamasın oğlu o ateşin içinde yanıyordu o ızdırapları çekiyordu. Ama annesi oğluna çektirdiği ızdıraplara ağlıyordu. Ana yüreği zulümetsende sevgi merhamet gösterir. İşte burdada görüldüğü gibi cennet ana ların ayaklarının altında.

Annelerimizin babalarımızın değerini bilelim.

ALLAH BİZLERİ ANALARINA BABLARINA HÖRMET GÖSTEREN ONLARA SAHİP OLAN SALİH KULLARINDAN EYLESİN. (AMİN)

Efecik Köpüşle Oynuyor...

Efecik artık oyun oynamaya da başladı. Köpüşünü çok seviyor.



12 Ekim 2008 Pazar

EFE çalışıyor rahatsız etmeyin...

Bilgisayar kurdu iş başında :). Parlak bir ekran görmesin hiç fark etmez hemen hücum. Birazda baba yardımı ile itina ile saldırırız yani :)



2 Ekim 2008 Perşembe

.Net 3.5 ve LINQ

Önceki yazımda yapıyı kullanmaya başladıkça dedim ve bıraktım. :) Neden bahsetmedim ki dedim ve...

.Net Framework 3.5 ile bir projeye oluşturup LINQ to SQL Classes ekliyoruz. Bu sınıf veritabanı ile ilgili bilgileri barındırıyor. Server Explorerdan kullanacağımız veritabanını Data Connection yardımı ile ekliyoruz. Oluşan Data Connection dan kullanacağımız Tablo, Functions ve Stored Procedures 'leri ekliyoruz.





Sınıfın (Class) için verdiğiniz isimnin sonuna "Veritabanı Adı + " "DataContext" ekliyor. İlgili sınıfı örneklediğinizde artık tablo ve alanlara kolaylıkla erişebiliyorsunuz.

VeritabaniDataContext vt = new VeritabaniDataContext();




SQL Server 2008 kullanmanızıda şiddetle önerebilirim. T-SQL ile sorgular yazmak oldukça kolaylaşıyor. Tablo isimleri, alan isimleri vs bir boşluk tuşu kadar yakın.


Arada bir gözleri dinlendirmeyi ihmal etmeyin gözlerimiz en değerli organımızdır.