Türkiye`nin En Ayrıntılı içeriğe Sahip Tasarım Sitesi

GİRİŞ  /  HTML Application-HTA
 
 ™   TASARIM KURSU     ( HTML Application-HTA   -   Sayfa 23 )

    HTA konusunda Microsoft`un sunduğu; C++ ile yazılmış bir .dll dosyası yardımıyla çalışan, JavaScript ile yazılmış Not Defteri ve VBScript ile yapılmış bir Browser yeralıyor. HTA programlarını genelde kendi bilgisayarınızda çalıştıracağınız için kendi yararınıza programlar yapmanız en iyisi. Bu bağlamda yaptığınız HTA programları sizin ihtiyaçlarınıza bağlı birşey. VBScript, JavaScript`ten çok daha yetenekli olduğu için VBScript kullanmak daha iyi olabilir. ASP sayfaları genelde VBScript ile yazıldığından, ASP örneklerini HTA programlarınıza uyarlıyabilirsiniz. Fakat bu sanıldığı kadar kolay değil, uyarladığım birkaç örneği ve Microsoft örneklerini bu linkteki (154kb.) zip dosyasında bulabilirsiniz.

    Bu .zip dosyasındaki örnekleri teker teker anlatmaya başlayalım. Sanırım HTA programına en iyi örnek Microsoft`un bir seminerde sunduğu benimde PC World Türkiye(PC Life) dergisinde Dr. Hakkı Öcal`ın bir yazısında rastladığım Mini Defter`dir. Öncelikle Sayın Dr. Hakkı Öcal`a bizlere bu örneği sağladığı ve bilgi paylaşımı konusunda önderlik ettiği için teşekkür ediyoruz. Bu programda Textarea Form input`u en ve boy olarak %100 büyütülerek yazı yazılacak alan sağlanıyor. JavaScript yardımı ile yazılan yazıya renk ve font tipleri ekleniyor, ayrıca bu renk ve font tipleri kaydedilebiliyor. İşin en zor kısmı olan, isim vererek dosya kaydetme ve dosya açma işlemleri ise OpenSave.dll dosyası aracılığı ile yapılıyor. Bu dosya windows`ta yok kodların yanında geliyor ve HTA programı bu dosyayı bir ActiveX nesnesi olarak Object etiketiyle kullanıyor. Tabi windows bu nesneyi tanımadığı için, aynı dizinde duran OpenSave.dll dosyası codebase kısmında gösteriliyor.

    Mini Defter programıyla oluşturulan dosyalar .mem soyadıyla kaydediliyor. Bu tamamen programcıların yaptığı uydurma bir soyad, bunu istediğiniz gibi değiştirebilirsiniz. Mini Defter klasörünün içinde birçok dosya göreceksiniz. Resim dosyaları programdaki simgeler için kullanılmıştır. Aynı klasör içinde 3 adet HTA programı var, bunlardan Memo.hta programın orjinal hali, MiniDefter (HakkıÖcal).hta dosyası Dr. Hakkı Öcal tarafından içindeki yorumları türkçeleştirilmiş hali, MiniDefter (TasarımKursu).hta ise benim font tür ve renk özelliklerini kaldırıp, dosya kaydederken atadığı .mem soyadını .html olarak değiştirdiğim HTML Editörü olması için optimize edilmiş hali. Font renk ve tip özelliklerini kaldırmamın nedeni bu tür bilgileri yazdığınız yazıya kaydetmesi, durum böyle olunca .html dosyanızda istenmeyen kodlar olacak ve .html sayfanız düzgün çıkmayacaktır. Klasördeki geri kalan dosyalar programın çalışmasını etkilemez bunları silebilirsiniz, çünkü bunlar program geliştiricilerin kullanabileceği OpenSave.dll dosyasının C++ dilindeki dosyalarıdır.

    Örneklerdeki tarayici.hta ise yine Microsoft seminerinde tanıtılan bir program. Bu program da aslında çok basit bir programdır. iFRAME ile program içinde bir pencere oluşturularak forma girilen adresin bu iFrame penceresinde çıkması VBScript ile sağlanmıştır. Ayrıca VBScript ile forma yazılan adresin başında http:// ifadesi aranıp yoksa konulması sağlanmıştır. Diskinizdeki sayfaları açmak için dosyanın başına file:// ifadesi koymalısınız. (file://c:\sayfalar\deneme.html gibi) Bende ie5.5 kurulu ve ileri geri tuşları çalışmıyor ama daha önceden çalıştığına eminim herhalde ie5.0 kurulu sistemlerde çalışacaktır. Aynı programın JavaScript versiyonunu yaptım (tarayicim2.hta), kodu incelediğinizde bunun çok kolay olduğunu göreceksiniz. Orjinaldekinden farklı bir form kullandım. Fakat kodda http:// ifadesi arama özelliği yok, yine aynı nedenden ileri geri tuşları çalışmıyor.

    Şimdi ise Multimedia Unsurlarının Sayfada Kullanımının anlatıldığı sayfaya girerken de gördüğünüz (eğer Explorer kullanıyorsanız) player sayfasının HTA versiyonu olan player.hta dosyasından bahsedelim. Bu player tamamiyle Tasarım Kursu yapımıdır. Dış görünüm olarak Winamp`ın MacOS skin`inin bir resmi kullanıyor. İmleci üzerine getirince butonların değişmesi Multimedia Filter (invert) efektinin A:Hover link özelliğine bağlanması sonucu elde edilmiştir. Bunun içinde skin resmi birçok yerinden parçalanarak Table sayesinde bileştirilmiştir.

    Player Object etiketiyle Media Player 6.4`ü kullanıyor, ayrıca JavaScript yardımıyla programın kontrol tuşları, resmin parçalanmış butonlarına bağlanıyor. En can alıcı özelliği ise bir file form input öğesi tarafından seçilen dosyanın play tuşuna basınca çalınması. Gözat botonu tıklanarak dosya seçilince, form input`unda gözüken dosya yolu ve ismi, JavaScipt ile Object`teki Filename bilgisine gönderiliyor, böylece çalınacak dosya dinamik olarak değiştirilmiş oluyor. Bu örnek HTML sayfalarında da çalışıyor ama ziyaretçinin Explorer kullanıyor olması ve sisteminde Media Player olması gerektiği için web sayfalarında kullanılması pek uygun değil. Netscape`de plug-in yoluyla Media Player desteği sağlansa bile javaScript ile hem player`ın kontrolü, hem de dinamik dosya değişimi mümkün değil.

    VBScript bilmediğim için ASP örneklerinden biraz uğraşarak uyarladığım örnekler ise ActiveX kullanarak sürücü ve dosyaları kontrol ediyor veya siliyorlar. surucu.hta programı VBScript`in CreateObject özelliği yardımıyla sisteminizdeki tüm sürücülerin ismini ve boş alanını kontrol edip document.write ile bu bilgileri sayfaya yazıyor. dosyalar.hta C: sürücünüzün root(kök) dizinindeki dosyaları ekrana yazıyor. dosya_yaz.hta c:\ sürücüsüne yazi_deneme.txt adlı bir text dosyası yazıyor ayrıca bu dosyanın içine "Bu bir denemedir." yazıyor. dosya_sil.hta ise c:\yazi_deneme.txt dosyasını siliyor. Bu dört örneğin JavaScript ile yapılması mümkün değil. yazi-tura.hta, Randomize (rastgele) yardımıyla 3 kez tura getirebilmek için paranın kaç kez atılması gerektiğini yazıyor, tabi bu sonuç, programı F5 tuşuna basarak her yenilediğinizde değişecektir. yazi-tura.hta örneği javascript ile yapılabilir. Bu VBScirpt ile yapılmış HTA örnekleri yarmıyla da bir Not Defteri yapılabilir ama bu OpenSave.dll yardımıyla çalışan Mini Defter.hta programı kadar marifetli ve kolay olamaz.

    Benim HTA ile ilgili verebileceğim örnekler bu kadar, eminim sizler bu örnekler ile çok yararlı programlar yapabilirsiniz. Eğer sizde paylaşmaktan haz alan kişiler arasındaysanız hazırladığınız programları büyük bir zevkle burada yayımlayabiliriz.
 


<< Önceki

Sonraki >>

Bu site Dinamik HTML unsurları içerdiği için, en iyi Netscape 4.51 , Explorer 5.0 ve üzeri sürümlerinde çıkar.
Tüm yazıların hakkı saklıdır ve izinsiz alıntı yapılamaz.   Örnekleri dilediğiniz gibi kullanabilirsiniz.
Daha güvenli, daha hızlı ve daha sorunsuz bir gezinti için Browser`ınızın en son sürümünü kullanınız.

BU SİTE BİLGİNİN PAYLAŞIMINI AMAÇ GÜTMEKTEDİR...   BİLGİ PAYLAŞTIKÇA BÜYÜR !
Copyright © 2000-2002 Tasarım Kursu - Adem Yılmaz