Xnview MP video kilitlenme çözümü

Xnview (Classic), resim ve video görüntüleme ve düzenleme için kullanılan XnSoft‘a ait bir uygulamadır. 500’den fazla format desteğine sahiptir. xnview.com sitesinden ücretsiz olarak indirilebilir.

Xnview resim ve videoları sorunsuz görüntüler fakat unicode dosya ismine sahip dosyaları görüntüleyemez (unicode desteği yoktur) .

XnSoft‘un Xnview’e alternatif çıkardığı yeni sürüm Xnview MP, Xnview gibi resim ve video görüntüleyebilir ve düzenleyebilir. Xnview MP unicode desteklidir. Unicode dosya ismine sahip dosyalarda herhangi bir problem çıkarmaz. XnView MP’de xnview.com sitesinden ücretsiz olarak indirilebilir.

Xnview MP, unicode dosya isimlerinde problem çıkarmazken resim ve video’ların karışık olduğu bir klasörde gezinme yaparken bazı videolarda kilitlenmektedir.

Bu problem Xnview’de yoktur. Xnview’de herhangi bir video açıldığında windows sistem tepsisinde bazı codec programları açılmakta, videoyu kapandığında ise codecler kapanmaktadırlar (Sistemimde K-Lite Codec yüklü). Fakat Xnview MP’de hiçbir codec açılmıyor program doğrudan kilitleniyor.

Problemi xnview.ini dosyasını değiştirerek çözdüm.

Bu ayar dosyasında General kısmında useInternalVideoPlayer=true satırını false olarak değiştirip kaydettim ve programı yeniden başlattım. Şu ana kadar videolarda kilitlenmeye rastlamadım.

xnview.ini dosyasına ulaşmak için Xnview MP programında Araçlar->Ayarlar…->Entegrasyon->Yollar->Ayar dosyaları konumu aç butonuna tıklamak yeterlidir. (İngilizce sürümde Tools > Settings… > Integration->Paths->Open Config Files Location butonu)

, , ,

Yorum bırakın

Rad Studio 12 Athens çıktı

Rad studio’nun yeni sürümü Rad Studio 12.1 Athens 02.04.2024 tarihinde çıktı. Detaylı bilgi için Embarcadero‘nun resmi sitesine veya Embarcadero Bloga bakabilirsiniz.

Rad studio’nun yeni sürümü Rad Studio 12 Athens 09.11.2023 tarihinde çıktı.

Yorum bırakın

WordPress’de eklenen kodun bozulması

WordPress.com’u yıllardır kullanıyorum. Bu blogda tarafımdan yazılan birçok dilde pek çok programlama yazısı ve program kodu bulunmaktadır. Bu blogda ilk yazmaya başladığım zaman yazı ekleme ve değiştirme editörü çok ilkel idi. Yazı, resim ve html kod eklemeyi neredeyse el ile yapılırdı. Çok eski yazılarımda bu kendini belli etmektedir. WordPress geliştikce editör çok güçlendi. Yazı, resim ekleme çok kolaylaştı. Html kod ekleme gerekliliği neredeyse ortadan kalktı. Halen eski editörü kullanma şansım olsa da şu an hep yeni editörü kullanıyorum.

Fakat yeni editörde şu sıkıntı var. Özellikle Görsel Düzenleyici‘de Program Kodu eklerken kesinlikle kodu bozuyor. Kod içerisindeki “küçüktür”, “büyüktür” ve “ampersant-ve” karakterleri hemen otomatik düzeltiliyor. Örneğin Pascal kodunda if bloğunda ve-veya gibi bağlaç varsa yukarıdaki karakterlerden varsa tam şenlik. Koddaki ve-veya’nın ikinci parantezi yok oluyor ve kod değişip alakasız bir hale geliyor.

Benim amacım WordPress.com’u kötülemek değil. Fakat bu gerçek. En son yazımda program kodunu 3 sefer kontrol edip düzeltmek zorunda kaldım.

Buna bulduğum çözüm ise “küçüktür”, “büyüktür” ve “ampersant-ve” karakterleri kullanmam gereken yerlerde bunların yerine Tam genişlikli unicode halleri FF1C, FF1E ve FF06 karakterleri kullanmak. Bu şekilde yazılar düzgün gözüküyor, kod bozulmuyor. Fakat kodu Ide’ye kopyalayıp çalıştırmak isteyen birisi hata ile karşılaşacaktır. Bu hatayı düzeltmek için editörde Tam genişlikli unicode karakterleri orijinal “küçüktür”, “büyüktür” ve “ampersant-ve” karakterleri ile değiştirmek gerekmektedir.

Son olarak Blog’daki herhangi bir yazıdaki herhangi bir kodda hata veya mantıksızlık görürseniz. Veya kopyaladığınız kod çalışmıyorsa yazının en altındaki yorum kısmından bana mesaj gönderebilirsiniz. Hemen olmasa bile mutlaka dönüş yaparım. Hata varsa beraber düzeltiriz.

May the codes be with you.

Yorum bırakın

Lazarus ile Unicode Karakter Saklama uygulaması

Bu blogda yazı yazarken ve diğer çeşitli sebeplerden dolayı bazı karakterleri (μ, π, Ω vb.) sık kullanmam gerekiyor. Windows’un Karakter Eşlem programı faydalı olsa da programda istediğim karakterleri her seferinde arayıp bulmam gerekiyor. Bu sebepten karakterleri saklayabileceğim ve gerektiğinde kopyalayabileceğim bir program olsa çok işime yarayacağını düşündüm.

Bu işi yapması için Lazarus Ide ile MyChars (Karakterlerim) programını yazdım. Aşağıda programın tasarım ekranı görülmektedir :

Yazının devamını oku »

, , , ,

Yorum bırakın

Mikrodenetleyiciler ve ASM Programlama

Bu yazıda Microchip Pic Mikrodenetleyiciler için ASM programla ile ilgili bilgi ve örnekler bulunmaktadır.

Mikroişlemci ve mikrodenetleyici tanımları bu blogun mikroislemci-ve-mikrodenetleyici-nedir yazısında bulunabilir.

Mikrodenetleyici uygulamaları önce MPASM ile asm olarak yazılırken sonraları PicBasic, PicC, Jal, Mplab, Atmel studio gibi mikrodenetleyicilere özgü ücretli-ücretsiz üst seviye programlama dilleri ve ide’ler ile yazılmaya başlanmıştır. Bu diller uygulama yapanların işini çok kolaylaştırmıştır. Mikrodenetleyicileri soyutlarlar. Hazır kütüphaneleri ile birçok problemin az kod ile çok kolay çözülebilmesini sağlarlar.

Bu programlama dilleri genellikle yazılan kodun asm (.asm) karşılığını oluşturup, derleyip mikrodenetleyiciye yüklenebilecek hale (.hex) getirirler. Asm kodu okuyup anlayabilen birisi yazdığı üst seviye bir kodun oluşturulan asm karşılığını inceleyip arka planda neler yapıldığını anlayabilir.

Proje karmaşıklaştıkca programcı belli bir yerden sonra hazır kodların yeterli olmadığını görecektir. Bu durumda programcı mikrodenetleyicinin özelliklerini öğrenmek, ide’nin oluşturduğu hazır kodun nasıl çalıştığını çözmek, gerekirse kodu değiştirmek hatta kodun bir kısmını sıfırdan kendi yazmak zorunda kalabilir. Bu sebepten mikrodenetleyicilerin mantığını, asm komutlarını bilmek, internetten indirilen datasheet’lerini okuyabilmek programcıya büyük avantaj sağlayacaktır.

Yazının devamını oku »

, ,

Yorum bırakın

Dünya π günü

14 Mart (yılın 3. ayının 14. günü) dünyada π (pi) günü olarak kutlanmaktadır. Delphi’nin sahibi Embarcadero şirketi internet blogunda bu günü kutlamak için π sayısı basamak sayısı hesabı yapılabilmesini sağlayan birçok Delphi kodu paylaştı. Aşağıdaki bağlantıdan bu yazıya ulaşabilirsiniz :

https://blogs.embarcadero.com/calculating-pi-in-delphi-for-pi-day-2023

Başta matematikciler olmak üzere herkesin π günü kutlu olsun…

, ,

Yorum bırakın

Temel Elektronik Bilgiler 1

Bir elektrik devresi bir kaynak, sigorta, bağlantı iletkenleri, anahtar ve yükten oluşur. Kaynağın gerilimi, sigorta, bağlantı iletkenleri, anahtar ve yük üzerinden geçen bir akım üretir. Anahtar kapatıldığında kaynaktan çıkan akım tüm elemanların üzerinden geçerek tekrar kaynağa ulaşır. Bunların hepsine birden elektrik devresi denir. Elektrik enerjisi ile çalışan herhangi bir yükün çalıştırılabilmesi için içinden akım geçmesi gereklidir.

Yazının devamını oku »

, , , , , , , , , , , , ,

Yorum bırakın

Lazarus Fare Hareket Etsin uygulaması

Fare Hareket Etsin (FHE) uygulaması Lazarus ile yapılmış Ekrandaki Fare işaretçisini rastgele hareket ettiren basit bir uygulamadır.

Bazı uygulamalarda (video, ders vb izlenirken) kullanıcılar bilgisayar başında olmadıkları zamanlarda bile bilgisayarın başında olduklarının düşünülmesi veya en basitinden ekranın kapanmamasını isteyebilirler. FHE uygulaması fareyi belirli zamanlarda rastgele hareket ettirerek bu ihtiyacı kısmen karşılayacaktır.

Uygulamada 1 adet Timer, 1 adet Combobox, 1 adet Label ve 1 adet CheckBox bulunmaktadır. Aşağıda FHE uygulaması tasarım görüntüsü görülmektedir :

Yazının devamını oku »

,

Yorum bırakın

Dijital Elektronik 4 – Aritmetik ve Mantık Devreleri

ARİTMETİK VE MANTIK DEVRELERİ

Lojik kapılarla yapılan Aritmetik ve Mantık devreleri ile temel aritmetik ve mantık işlemleri yapılabilmektedir.

Günümüzde tüm mikroişlemcilerin ve mikrodenetleyicilerin içerisinde bu devrelerin gelişmiş halleri bulunmaktadır. Bu devreler sayesinde mikroişlemci ve mikrodenetleyiciler geliştirilebilmiştir. Mikroişlemci ve mikrodenetleyiciler bu devreleri hem kendi iç aritmetik ve mantık işlemleri için hem de bu işlemleri komut olarak içerebilmek için kullanmaktadırlar.

Toplama İşlemi

Aşağıda 1 bitlik değerler ile toplama işleminin nasıl yapıldığı ve örnek bir toplama işlemi görülmektedir :

Yazının devamını oku »

, , , ,

Yorum bırakın

İki gün uğraştıran hata

Bir proje için 2 PIC mikrodenetleyiciyi seri haberleştirmem gerekiyor. Birinci PIC 18f4550 bilgi gönderirken ikinci PIC 16f877a gönderilen bilgiyi alıp B Portundan bilgiyi aldığına dair sinyal çıkışı vermesi gerekiyor.

CCS C Compiler‘da iki ayrı proje hazırlandı. Kodlar yazıldı. Derlemeler yapıldı. Proteus programında sanal devre çizilip PIC mikrodenetleyicilere derlenmiş hex dosyalar yüklendi. PIC 18f4550 işini problemsiz olarak yapıp bilgiyi gönderirken PIC 16f877a bilgiyi aldığı halde B Portunda hiçbir hareket yok. Aşağıdaki işlemler yapılarak iki gün boyunca hata arandı :

  1. CCS C kodlar kontrol edildi. Proteus programında PIC 16f877a’da denendi
  2. CCS C kodlar değiştirilerek tekrar derlendi. Proteus programında PIC 16f877a’da tekrar denendi
  3. Proteus programında kodlar adım adım çalıştırılarak PIC 16f877a’nın Register değerlerine bakıldı
  4. PIC 16f877a TrisB registeri giriş ayarlı (kod çıkış ayarlı olmasına rağmen) olduğu için PortB çıkış vermiyordu
  5. Hatanın Proteus programında olabileceği düşünülerek başka testin nasıl yapılabileceği düşünüldü
  6. CCS C programı C kodunun Asm karşılığını çıkartabiliyordu. Bu Asm kod başka bir programda denenebilirdi
  7. Asm kodu deneyebilmek için (Pic mikrodenetleyicilerin üreticisi) Microchip sitesi arşivinden MPLAB Ide eski bir sürüm indirildi ve kuruldu
  8. MPLAB’da yeni proje oluşturarak CCS C programının ürettiği Asm kod kopyalandı
  9. Doğal olarak ikisi uyumlu değildi. Asm kod satır satır incelenerek uyumlu hale getirildi
  10. MPLAB’da hatalar teker teker düzeltilerek en son Asm kod başarılı bir şekilde derlendi
  11. Proteus programındaki PIC 16f877a’ya yeni üretilen hex yüklenerek tekrar denendi
  12. Aynı hata oluştu. Proteus’ta hata yokmuş
  13. Google’da “Pic tris why not change” araması yapıldı
  14. CCS forumun birinde sorunun “Fast I/O” ayarı olabileceği görüldü
  15. CCS C programındaki “use fast_io(b)” satırı silinerek kod derlendi. Proteus programında PIC 16f877a’da denendi
  16. Proteus programında PIC 16f877a B Portu düzgün bir şekilde çalışmaya başladı

İki PIC mikrodenetleyici kodunda da aynı “use fast_io(b)” satırı vardı. Kod 18f4550’de düzgün çalışırken 16f877a’da kod iki gün boyunca beni uğraştırdı.

Bazen hata çok basit olabiliyor 🙂

(Yukarıda adı geçen programların demo sürümleri sitelerinden indirilebilir. MPLAB programı sitesinden ücretsiz indirilebilir.)

, , , , , , ,

Yorum bırakın

Lazarus IDE

Lazarus, Delphi’ye benzeyen, Object Pascal kodu ile programlama yapılan Delphi alternatifi ücretsiz bir programdır. Şekil olarak Delphi 7 ide’sine benzer. Dosya ve kod yapısı Delphi’ye benzese de farklılıkları vardır. Lazarus, Türkçe dil desteğine sahiptir. Lazarus, lazarus-ide.org adresinden ücretsiz indirilebilir. Aşağıda Lazarus ide’si görülmektedir :

Yazının devamını oku »

, , , , ,

Yorum bırakın

Bileşenlerin farklı Delphi sürümleri ile uyumluluğu

Eski Delphi sürümlerine göre tasarlanmış bileşenlerin Unicode ve 64bit desteği yoktur. Fakat bilgisayar teknolojisi gelişmektedir. Bileşenler geliştirilerek yeni teknolojilere uygun hale getirilmektedirler. Geliştirilen yeni bileşenlerin eski teknolojiler ile uyumlu olmasının zorunluluğu yoktur. Fakat endüstriyel sistemler (fabrika vb.) ve gömülü sistemlerde (banka atm’si, kiosk vb.) eski teknolojiler bulunabilmektedir. Bu tip eski sistemlere ücretli bileşen veya program desteği sağlanıyorsa yazılan yeni kodların eski sistemler ile uyumlu kalması gerekmektedir.

Aynı bileşen ile farklı Delphi sürümlerinde yapılan tasarım

Yazının devamını oku »

, ,

1 Yorum

Modeme wifi zamanlama koyma

Evdeki adsl modemimin gece saat 00:00’dan sonra wifi yayınlamasını kesmek istiyordum. Modemim yasal bir IPTV cihaza (reklam olmasın diye isim yazmıyorum) kablo ile bağlı olduğundan TV izleyebilmeye devam edebilmek için internetin açık olması gerekiyor. Yani interneti kapatamam ama wifi sinyalini kapatabilirim. Bunun için modemimde bulunan wifi zamanlama özelliğinini kullanabilirim.

Modem arayüzüne şifre ile girdikten sonra modemin Ağ ayarları->Kablosuz->Zamanlama kısmında WLAN Açma/Kapama Zamanlayıcısı özelliğini aktif hale getirdim. Alt kısımdaki Yeni Kural Ekle butonu ile gelen diyalogda kural adı yazıp, hangi günler uygulanacağı seçip, zaman kısmına ise 00:00 ve 08:00 yazarak yeni kural ekledim.

Yazının devamını oku »

, , , ,

Yorum bırakın

Delphi ile Arduino Kontrol Etme

Arduino’ya Giriş

Arduino Ide Baslangıç

Arduino, elektronik projeler oluşturmak için geliştirilmiş açık kaynaklı donanım ve yazılım platformudur. Arduino, içerisinde bir mikrodenetleyici bulunan elektronik bir kart ve bu kart için uygulama programları geliştirilen ücretsiz Arduino IDE programından oluşmaktadır. Ide Türkçe dil desteğine sahiptir

Arduino’nun değişik boyutlara, kapasitelere ve yeteneklere sahip (Uno, Nano, Mega, Leonardo vb.) elektronik kartları vardır. Bu kartların her birinin içerisinde farklı mikrodenetleyiciler (genellikle 8 bit veya 32 bit Atmel mikrodenetleyici) bulunmaktadır.

Arduino’nun uygulama geliştirmeyi donanımdan soyutlayan yapısı sayesinde uygulama geliştiren programcının işi azalmakta ve kolaylaşmaktadır. Ayrıca Arduino zengin sensör, donanım ve kütüphane desteğine sahiptir. Bunun gibi sebepler Arduino’nun en popüler elektronik geliştirme platformu olmasını sağlamaktadır.

Aşağıda Arduino platformunun en popüler sürümlerinden biri olan Arduino Uno görülmektedir :

Arduino Uno

Yazının devamını oku »

, , , , , , , , ,

Yorum bırakın

Geogebra ve Geogebra kullanımı

Geogebra nedir ?

Geogebra, matematiksel çizimler, hesaplamalar, analizler ve animasyonlar yapılabilmesini sağlayan gelişmiş ödüllü bir program ve site uygulamasıdır.

Geogebra, matematikçiler, öğretmen ve öğrenciler, mühendisler ve diğer meslekler grupları tarafından çeşitli amaçlar için kullanılabilir.

Windows, Macos gibi bilgisayar sistemlerinin yanında telefon ve tabletler (Android, IPhone, IPad vb.) için uygulamalar resmi sitesi Geogebra.org üzerinden ücretsiz indirilebilir.

Geogebra sitesine üye olunabilir. Geogebra.org/graphing adresinde uygulamalar doğrudan yapılabilirken, Geogebra.org/materials adresinde örnek kaynaklara ulaşılabilir.

Geogebra arabirimi ve komutları İngilizce dışında Türkçe ve diğer birçok dili desteklemektedir.

Geogebra çok kapsamlı olduğu için bu yazıda sadece temel komut ve işlemlerden bahsedilecektir.

Aşağıda Windows ortamında çalışan Geogebra Classic 6 programı ekranı görülmektedir :

Geogebra 6 Classic Yazının devamını oku »

, , , , , , , , , ,

Yorum bırakın