Kayıtlar

2025 tarihine ait yayınlar gösteriliyor

Node.js ile Excel'den, Barkod Etiketi Nasıl Yazdırılır ?

Resim
Youtube’da izle.. Amacımız, Excel dosyasının (.xlsx) her bir satırı için barkod yazıcıdan bir etiket çıkartmak. Bu uygulama, birçok iş alanında veya sektörde kullanılmaktadır. Bu küçük yazılım projesi için, projede kullanmak üzere bu linkte bulunan excel dosyasını  indirdim. İlk kolonu dosyaya ekledim. Dosya aşağıdaki hale geldi.. İlk satırı yani başlıkları da resimdeki gibi değiştirdim. UPC barkodu, bizdeki EAN13 kodu gibi ama 12 haneden oluşuyor. Son karakteri, kontrol karekteridir. UPC, zamanında Amerikada kullanılırken Avrupalılar biz de isteriz demişler. 12 hane olan barkod tüm ülkelere yetmeyince 13 hane yapalım demişler ve EAN13 ortaya çıkmış. UPC, halen Amerika ve Kanada tarafından kullanılıyor. Bu gereksiz bilgiyi paylaştıktan sonra işimize dönelim.. Yalnız barkod bilgisini yazıcıya yollarken başında bulunan # işaretini ayıklamak gerekiyor. Bunu, node.js programında hallediyor olacağız. Eğer Node.js bilgisayarda kurulmuş ise proje klasörüne girerek, aşağıdaki komutları, k...

Windows ile Docker kullanımı

Resim
  Docker kelimesini ilk kez duyanlar için biraz bilgi verelim. VirtualBox 'a benzeyen ve konteynerlerden oluşan bir yapıdır. Farklı olarak, VirtualBox'da her yazılım projesi için ayrı bir işletim sistemi kurmak gerekirken, Docker'da buna gerek yoktur. Her proje, tek bir işletim sistemi içinde farklı konteynerlerde bağımsız (izole) olarak çalışabilirler. Bu nedenle, Docker daha performanslı çalışır. Farklı kullanım amaçları olsada benim kullanım amacım şu şekilde.. Örneğin bir yazılım projesi için Mysql (veritabanı) sunucu ihtiyacınız var. Bu amaçla, hemencecik  dockerhub 'da bulunan resmi Mysql imajını kullanabilirsiniz. Yani, bilgisayara Mysql indirip kurmanıza gerek yok, kurulmuşu var zaten :)  Ya da apache-php-mysql çalışmak istediniz.. Docker ile birkaç dakikada ortam hazır olurken, diğer türlü saatleriniz boş yere harcanabilir... Docker kullanmak için Docker Desktop programını kullanmak gerekiyor. Şart değil ama işleri kolaylaştırıyor. Docker Desktop kurulumu Docke...

ReviOS

Resim
  Daha önce AtlasOS 'tan bahsetmiştim. Bu yazılımlar, sıfırdan yeniden kurulan bir Windows'a uygulanıyor. Tüm güncellemeler, Windows update ile yapıldıktan sonra ReviOS ile gereksiz ve bilgisayarı kasan bileşenler siliniyor. Böylece bilgisayar çok daha performanslı olarak çalışıyor.  AtlasOS'u bir bilgisayara uygulamak istediğimde AME Wizard, "Requirements not met" gibi bir mesaj vererek, kurulumu engelledi. AtlasOS, Windows 10 Pro 22H2 sürümünü destekliyordu .. Windows, güncellemeleri tamamladığında, sistem bilgisi sürümünün 22H2 değil, 2009 olduğunu gördüm. Sanırım bir Microsoft hatası veya bug'ı.. Komut isteminde, Winver programını çalıştırınca sistemin aslında 22H2 olduğu görülüyordu. Özetlersek, AtlasOS problem çıkarınca ReviOS'u denemeye karar verdim. Sürüm 22H2 yerine 2009 yazıyor Windows'u yeniden taze bir şekilde kurdunuz, güncellemeleri yaptınız.. AME Wizard'ı indirdiniz.. ( Linkte en üstte bulunan exe dosyası) Playbook dosyasını indi...

Novexx XApps

Resim
  Yeni nesil etiket yazıcılarımızdan  XPA93x , yaz & yapıştır modeli olmakla beraber,  XLP60x,  XLP51x masaüstü , XDM94x ise print engine modeli olarak anılmaktadır. Bu cihazların  içinde koşan yazılım (firmware) Linux tabanlıdır. Bunun bir avantajı olarak, cihazın dahili (flash) belleğinde konumlanabilen küçük programlar yazılabilmektedir. XApps olarak adlandırılan bu programlar sayesinde  NOVEXX Solutions donanımının yazılımındaki işlevler, değiştirilebilmekte veya ilaveler yapılabilmektedir. XApp'ler kompakt Node.js (JavaScript) programlarıdır. JS API aracılığıyla firmware ile etkileşime girebilirler. Bir XApps uygulaması, JavaScript bilgisine sahip herkes tarafından kolayca yazılabilir.  JS API dokümanına, bir internet tarayıcı kullanarak cihazın web arayüzünden ulaşılabilmektedir.. Resimde gözüken, JS ikonunun hemen üstünde bulunan dosya yöneticisi sayesinde, cihazın hafızasında bulunan dosyalar, bilgisayara indirmeden de düz...

Wizard of Wor

Resim
  1980'lerde ilk bilgisayarım olan, Commodore 64  bir oyun bilgisayarıydı. Resimde görülen mini versiyonunun, piyasada halen satılmakta olduğunu fark ettim. Bana alınmadan önce, topluca bir arkadaşa gider, onun evinde oyunları oynardık. Artık bizimkilere nasıl ısrar ettiysem, annemin bileziklerini bozdurup almıştık bilgisayarı. Enzo'da Sinclair, Saygın'da C64 vardı. Hey gidi günler hey.. C64 programlama dergisi vardı. Üşenmeden sayfalarca Basic kodunu yazıp, çalıştırdığımda aldığım zevk paha biçilmezdi. Oyunlar, teyp kasedi ile bilgisayara yüklenirdi. Oyun yüklenirken cızır cızır diye sesler çıkardı. Neyse ki o günlerde oynanan oyunları, Vice adındaki emülatör ile oynamak mümkünmüş. Vice, Windows, MacOS ve Linux bilgisayarda çalışabiliyor. O zamanlar çok oynadığım ve hala hatırlayabildiğim oyunun ismiydi Wizard of Wor. Hiç bir emülatör kurmadan direk internet tarayıcıdan da oynanabilir. Online sayfada, Enter tuşunu ateş etmek için kullanabilirsiniz. Yön tuşları hareket etm...

AutoHotkey ve Auto Clicker

Resim
  Auto Clicker programını oyuncu çocuklar kullanıyor genelde.. Oyun oynarken, daha hızlı veya daha çok ateş edebilmek için. Program sizin yerinize, istenen sıklıkta, istenen konumda mouse'a tıklıyor. Ben farklı bir amaç için kullanıyorum. Programı açıp, resimdeki gibi dakika kutusuna 8 yazıp, F6 tuşuna (Start) basarsan, mouse 8 dakikada bir tıklanacaktır. Bu durumda, ekran koruyucu devreye girmeyecektir. Evet ekran koruyucu ayarlarını yapmak varken böyle bir çözüme gerek var mı diye düşünebilirsiniz.. Güvenlik nedeniyle Bilgi İşlem Bölümü, ekran koruyucuyu iptal etmenizi engelliyor olabilir. AutoHotkey ise bayağı gelişmiş bir program. Bugün itibarıyla 2.0 sürümünü indirip test edebilirsiniz. Auto Clicker'ın yaptıklarını ve çok daha fazlasını yapabilen bir program. Lakin kullanmak için basit komutları olan programcıklar yapmanız gerekiyor. Program, klavyede bulunan tuşların işlevlerini değiştirebiliyor, form doldurabiliyor veya makrolar oluşturabiliyor. Örneğin, her gün baktığ...

Lazarus free pascal - Dosya içeriğinde arama

Resim
  Youtube'da izle.. Github'dan indir.. Windows'un Dosya Gezgininde, bir dizinde bulunan dosyalar için içerik araması yapılabiliyor. Fakat text tabanlı dosyalardan sadece .txt uzantılı dosyalara bakabiliyor. Bana lazım olan,  .pas uzantılı Pascal kaynak kodlarına bakamıyor.  Programlamada yeni olanlar için (benim gibi), örneğin bir komutun kullanımını görmek amacıyla örnek dosyalara bakmak çok faydalı oluyor. Bu yazıda, bu amaca yönelik basit bir program geliştirdim. Program da denemez belki programcık desek daha doğru olur. Lazarus ile bu tip projeler oluşturmak gerçekten çok kolaymış. Adamlar bu iş için gerekli kütüphaneleri önceden oluşturdukları için program, karmaşık bir hal almadan tamamlandı.. Lazarus forumunda biraz araştırma yapmak yeterli oldu.  FileUtil kütüphanesi içinde yer alan FindAllFiles fonksiyonu işimi gayet güzel gördü.. FileUtil'i ayrıca kurmanıza gerek yok, Lazarus ile birlikte geliyor. Uses satırına yazmanız yeterli oluyor. (Wiki sayfasınd...

Lazarus free pascal - Bir bulmacanın anatomisi

Resim
  Resimde görülen bulmacanın son bulduğu, tebrikler mesajının geldiği penceredir. Kodları wiki sayfasından alıp, küçük bir ekleme yaptım. Tabii, bulmaca bahane maksat dili öğrenmek.. Amaç, resimdeki gibi 15 butonu sıralamak.. Oyun başladığında butonlar karışmış şekilde geliyor. Dikkat ettiysen, resimde bir butonluk boşluk var. Oynarken, boşluğa komşu olan bir butona tıklayınca, o buton boşluk ile yer değiştiriyor. Diğer bir ifadeyle buton, kayıyor (sliding puzzle). Yeni bir Application (form uygulaması) açtıktan sonra File > New Unit ile yeni unit2'yi projeye ekliyoruz. Save All yaparken unit2'nin ismini  unitGameBoard .pas olarak değiştiriyoruz. Daha sonra unit1 içinde uses satırına unitGameBoard yazarak bu unit'i kullanıyoruz. Amaç, proje kodlarını farklı dosyalarda tutarak daha sistemli bir şekilde yazılım geliştirmek.. Bu programdan ne öğreneceğim dersen.. Kullanılan butonlar dinamik olarak oluşturuluyor. Yani komponent paletinden bir buton alıp, forma yerleştirm...

Lazarus free pascal - Excel

Resim
  Youtube'da izle.. Lazarus ile Excel dosyası okunup, yazılabiliyor veya değiştirilebiliyor. Bunun için de bilgisayarda excel'in kurulmuş olması gerekmiyor. Yani adamlar oturup uğraşmış yapmış excel kütüphanesini. Kütüphane (paket) ismi FPSpreadsheet olarak geçiyor. 2 yıl önce "VBA ile veri loglama" isimli yazımda excel içinde bulunan visual basic kodlama ile bir uygulamayı göstermiştim. Seri porttan alınan bilgi, anında excel sayfasına yazdırılıyordu. Bunun için excel versiyonunun 32-bit olması gerekiyor. Bu yazıda, aynı işin Lazarus ile de yapılabildiğini göstermek istiyorum. Dediğim gibi bilgisayarda excel kurulmuş olması gerekmiyor. Önceki yazıları okuduysan, online paket yöneticisi ile fpspreadsheet'i Lazarus'a yükleme işini yapabilirsin. Forma bir tane TsWorksheetGrid komponenti ve 2 adet buton yerleştiriyoruz. Seri port kullanmak için bir de LazSerial paketinden TLazSerial komponentini forma eklemek lazım. Seri port kullanımı için bir önceki yazıya ...

Lazarus free pascal - Seri port

Resim
  Seri port veya RS232 bağlantı, hala endüstriyel cihazlar (etiket yazıcı, barkod okuyucu, PLC vs.) tarafından desteklenmektedir. Usb bağlantıda, temizlikçi kadın problemi varken, seri port kablosu sokete vidalanırsa sapasağlam yerinde duracaktır. ( temizlikçi kadın problemi: küçük bir dokunuşla usb kablo yuvasından çıkabilmektedir) Lazarus tanıtım yazısında hazırladığımız gibi küçük bir form hazırladık. TCP/IP bağlantıda olduğu gibi seri port kütüphanesi de utf-8 karakerleri destekliyor. Yani ş, ğ gibi karakterleri etiket yazıcıya bir sıkıntı olmadan gönderebiliyoruz. LazSerial paketini  Package > Online Package Manager... penceresinden Lazarus'a kuruyoruz.  Windows'da Lazarus normalde C:\lazarus dizinine kurulur. Paket yöneticisinin indirdiği kütüphaneler ise  C:\Users\kullanici\AppData\Local\lazarus\onlinepackagemanager\packages dizinine kurulurlar. Bu dizin içinde bulunan, test veya example (örnek) isimli dizinleri inceleyip kütüphaneyle ilgili örnek prog...