|
Konu Başlığı: AmosPro için GUI yazdım. :D Gönderen: Alpyre üzerinde Şubat 02, 2016, 22:40:37 ÖS Şu ortaokul lise çağlarımda yazdığım abuk subuk AMOS kodlarına baktım da, doğru dürüst altyapı olmadığı için hep bir GUI yazmaya çalışmışım da becerememişim.
Aminet'e baktım. Amos için "MultiWin" adında bir şey yapmışlar, ama pek çirkin ve yavaş geldi bana. Ben de güncel bilgilerimle adam gibi bir şey yapayım bari dedim. Hem MUI'ye devam etmeden önce biraz algoritma egzersizine ihtiyacım vardı. Tahmin ettiğimden daha zor işmiş. Ama ilk BETA'ya ulaştım. Bir bakın bakalım. v1.0'a ulaşınca commented kaynak kodlarıyla birlikle yayınlamayı düşünüyorum. İlgi yüksek olursa zaman içinde güncellerim de. NOT: Emülatörlerde gayet iyi çalışıyor. Gerçek Amiga'larda biraz yavaş olabilir. E olacak o kadar. Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: Blasterreal üzerinde Şubat 02, 2016, 22:43:40 ÖS Abi şu "Do Methot" ları hakkında bilgi verebilirsen sevinirim hatta basit bir mui ile yazılmış kodu açıklamaları ile koysan açıklasan on numara beş yıldız olur.
Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: wizofwor üzerinde Şubat 02, 2016, 22:55:59 ÖS Madem öyle senden bir ricam olacak. Programlama konusunda Amiga'nın A'sından haberim yok. Comment'leri bol tutarsan sevinirim.
Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: Alpyre üzerinde Şubat 02, 2016, 22:58:57 ÖS Abi şu "Do Methot" ları hakkında bilgi verebilirsen sevinirim hatta basit bir mui ile yazılmış konu açıklamaları ile koysan açıklasan on numara beş yıldız olur. Aslında bu yaptığımın MUI ile pek ilgisi yok. Amos basic'te MUI gadget'lerinin özelliklerine benzer özellikte yeni gadgetler yazdım. DoMethod'a gelince. Amiga GUI'lerini (MUI de dahil) hazırlayanlar hem "nesne tabanlı" olmasını istemiş, hem de nesne tabanlı olmayan C ile (C++ gerektirmeden) kullanılabilsin istemiş. Bu yüzden herhangi bir fonksiyonu çağırırken, direkt fonksiyonun adını yazmıyorsun da, DoMethod adlı bir "dispatcher (sevk edici)" ile çağırıyorsun. DoMethod nesne tabanlı dillerdeki "class inheritance" olayını bir sağlayan bir workaround sadece. Henüz tamamına hakim değilim MUI'nin. İyice çözeyim, hazırlarız bir Türkçe manual. ;) Madem öyle senden bir ricam olacak. Programlama konusunda Amiga'nın A'sından haberim yok. Comment'leri bol tutarsan sevinirim. Valla bu defa comment'leme olayının *okunu çıkardım diyebilirim. Neredeyse her satırın önünde bir satır açıklayıcısı var. :DKonu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: AmigaFUN üzerinde Şubat 03, 2016, 00:25:05 ÖÖ Elinize sağlık. Gerçek Amiga'da pek yavaş değil. Youtube'a yüklüyorum. Mevcudun kodlarını paylaşır mısınız? Şimdiden kurcalamaya başlayayım.
Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: joker_ üzerinde Şubat 03, 2016, 07:39:07 ÖÖ @Alper, eline sağlık. Commodore derken şimdi de Amiga coding olayına merak salıcam. Zaten ufaktan bir meyil var o yöne doğru :D
Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: AmigaFUN üzerinde Şubat 03, 2016, 16:37:23 ÖS S1ZJOgioldA
https://www.youtube.com/watch?v=S1ZJOgioldA (https://www.youtube.com/watch?v=S1ZJOgioldA) Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: Levent (Lvnt) üzerinde Şubat 03, 2016, 19:35:17 ÖS Harika gözüküyor elinize sağlık. C ile yazdınız galiba. Aslında açık kaynak kodlu bir sürü gui var ama ya c ile yazılmadığı için ya da tam da problem çözücü olmaları gereken bir yerde kendileri problem oldukları için bana kullanışsız geliyorlar. Bu sebepten bir zamanlar basit bir gui yazmıştım ama cpu'yu sürekli %100 kullandığı için pek de akıllıca bir çözüm değildi ;) Cpu kullanım sorununu çözüp geliştirmek ya da baştan yenisini yazmak hep aklımın bir kenarında. Kodlar için gpl, lgpl ya da ücretli bir lisans yerine bsd, mit, cddl, benzeri ya da public domain lisans tercih ederseniz sanırım yeniden yazmayı bir kenara bırakıp sizin çalışmanızı kullanmayı tercih edeceğim :). Saygılar, selamlar
Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: musty64 üzerinde Şubat 03, 2016, 19:42:40 ÖS Harika. Eski günlere gittim.
Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: Alpyre üzerinde Şubat 03, 2016, 21:36:31 ÖS Harika gözüküyor elinize sağlık. C ile yazdınız galiba. Teşekkürler. C ile yazmadım. Doğrudan AmosBasic ile yazdım ki, Amos bilenler her özelliğine hakim olabilsin, Amos ile bir proje yapacaklar dilerlerse görselleri, renk ve şekilleri kolayca kendine göre değiştirebilsin vs. C kullanılacaksa zaten MUI var. Kapalı kaynak ama bence Amiga için rakipsiz tek GUI MUI'dir zaten. :) Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: Levent (Lvnt) üzerinde Şubat 04, 2016, 11:13:50 ÖÖ Kullanamıyoruz demekki. Ne yapalım. Videoyu yayınlayan AmigaFUN a da teşekkürler. Güzel çalışma
Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: Alpyre üzerinde Şubat 04, 2016, 20:19:51 ÖS Kullanamıyoruz demekki. Ne yapalım. Videoyu yayınlayan AmigaFUN a da teşekkürler. Güzel çalışma Yataktan çıkamıyorum. Şu gribi bi atlatayım... söz herkese kullandırtıcam. :) Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: izmirmaster üzerinde Şubat 04, 2016, 20:28:32 ÖS Allah acil şifalar versin 1 aydır bende atlatamıyorum
Kullanamıyoruz demekki. Ne yapalım. Videoyu yayınlayan AmigaFUN a da teşekkürler. Güzel çalışma Yataktan çıkamıyorum. Şu gribi bi atlatayım... söz herkese kullandırtıcam. :) Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: Levent (Lvnt) üzerinde Şubat 05, 2016, 01:22:37 ÖÖ Geçmiş olsun. C olmadığı için kullanamadığımı kastetmiştim ;D Teşekkürler yine de
Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: Alpyre üzerinde Şubat 08, 2016, 14:23:06 ÖS Evet bugün daha iyiyim. Klavyenin başına oturabilecek hale geldim. :)
AGUI güncellemesi v0.2b - Yeni Gadget: GaugeBar Gadget eklendi. (http://i.hizliresim.com/8DJr9A.png) - ScrollBar yenilemeleri artık biraz daha hızlı. - Orada burada bir kaç bug temizliği. Sırada: - Ghosted Gadget sistemi. - Kullanıcı kullanım kılavuzu. Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: Alpyre üzerinde Şubat 19, 2016, 11:12:50 ÖÖ AGUI güncellemesi v0.8b (19.02.2016)
- Ghosted Gadget sistemi implementasyonu yapıldı. - Geliştirici Dökümantasyonu (PDF formatında) tamamlandı. - Tab sistemi yeniden düzenlendi. - Menu sistemi yeniden düzenlendi. - Birkaç bug temizliği. - Kod yapısı toparlandı. Sırada: - AmigaGuide formatında dökümantasyon. - HTML formatında dökümantasyon. - Klavye ile GUI kontrolü. Kodları Aminet'e yüklemeden önce forumda paylaşıyorum (ekte). Tüm dünyadan önce commodore.gen.tr'de. :P Not: Forumda Amos'cu arkadaşlar var biliyorum, oradasınız. Rica ederim müsait olunca bir göz atın. Eleştiri ve tavsiyelerinizi bekliyorum. Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: Levent (Lvnt) üzerinde Şubat 19, 2016, 19:32:24 ÖS Bilgisayardan amigaya program gönderme işini daha çözemediğim için bende dökümantasyona baktım. Baya iyi duruyor, basitçe anlatmışsınız, kafa yormadan kolayca anlaşılıyor (esas işe kafa kalsın da hızlı iş çıkartalım değil mi?) Tebrikler, elinize sağlık.
Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: Alpyre üzerinde Şubat 23, 2016, 11:40:21 ÖÖ AGUI güncellemesi
Hmmm. Bir GUI sisteminin dahili dosya istemcileri de olmalı. Bu eksik kalmış. Aslında eldeki prosedürlerle 25-30 satırda yazılabiliyor ama yine de olmalı. Amacımızı intuition'ı taklit etmek olduğu için bir LAMP gadget'i ekledim. ...fakat o da ne? Listview'lerimizin çift tıklamaya duyarlı olması da gerekiyor. Bunu öne aldım. :) Not: Bu arada kodları 12 kişinin indirdiği fakat sadece Lvnt'ten geri dönüş olduğu da gözümden kaçmadı ha! :D Bilgisayardan amigaya program gönderme işini daha çözemediğim için bende dökümantasyona baktım. Baya iyi duruyor, basitçe anlatmışsınız, kafa yormadan kolayca anlaşılıyor (esas işe kafa kalsın da hızlı iş çıkartalım değil mi?) Tebrikler, elinize sağlık. Teşekkürler Lvnt. Sistemi ve dökümantasyonu boş vakit buldukça yavaş yavaş geliştirmeyi düşünüyorum. Dilerim benim kadar çılgın birilerinin işine yarar. :DKonu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: Alpyre üzerinde Şubat 28, 2016, 22:17:23 ÖS AGUI güncellemesi
Çift tıklama mantığını çözdüm ve uyguladım. Bir miktar daha optimizasyon gerektirmekle birlikte çalışan dosya istemcisi demomuz ektedir efenim. Amos'un o kendi ekranını açan, yeşil yeşil dosya istemcisinden çok daha profesyonel duruyor bu bence... :D Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: Alpyre üzerinde Mart 07, 2016, 20:47:07 ÖS AGUI artık Aminet'te.
Güncellemeleri oradan takip edebilirsiniz. http://aminet.net/package/dev/amos/AGUI (http://aminet.net/package/dev/amos/AGUI) Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: emarti üzerinde Eylül 13, 2016, 17:39:09 ÖS Alper abi AGUI bana çokşey öğretti. Hala inceliyorum. Teşekkür ederim.
Birkaç sorum olacak: 1. Uygulama çalışırken AMOS özelliğinden dolayı max. 640x200 ekrandan kurtulup workbench ekranında normal pencere gibi açılma durumu mümkün müdür? 2. Objelerin bazı parametreleri (özellik) tanımlayarak giriyoruz. Örneğin BUTTON için ID, text, koordinatları vb. Objeyi oluşturduktan sonra NAME$ paramtresini runtime'da değiştirmek için nasıl bir procedure yazılabilir veya mümkün müdür? Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: Alpyre üzerinde Eylül 13, 2016, 23:20:17 ÖS 1. Uygulama çalışırken AMOS özelliğinden dolayı max. 640x200 ekrandan kurtulup workbench ekranında normal pencere gibi açılma durumu mümkün müdür? Ne yazık ki AGUI ile asla mümkün değil. AMOS kendi ekranlarını açar ve bu ekranlar Intuition uyumlu değildir. AGUI tamamen AMOS ekranı ve komutları üzerine kurulu. WB ekranında, intuition pencereleri ve gadgetleri kullanmak için, Amiga Reference Manual'lerini hatmedip, Assembly veya C ile kodlamak gerekiyor. AMOS'un C desteği yok. Fakat Assembly kodunu entegre edebiliyorsunuz. Bunu kullanarak WB ekranında pencereler açan çılgınca kodlar gördüm. Aminet'te mevcut (fakat o pencerelerde AMOS'un ekran ve çizim komutlarının hiçbirini kullanamazsın). "Gerçi Assembly bilsek AMOS'la ne uğraşacaz ki" demeden edemiyor insan! :) 2. Objelerin bazı parametreleri (özellik) tanımlayarak giriyoruz. Örneğin BUTTON için ID, text, koordinatları vb. Objeyi oluşturduktan sonra NAME$ paramtresini runtime'da değiştirmek için nasıl bir procedure yazılabilir veya mümkün müdür? AGUI tamamen AMOS kodu olduğu için (=yavaş) olabildiğince hızdan kazanmaya odaklandım. Örneğin bir buton tanımladığında, buton ekrana hemen çizilir ve çizilirken artalanı temizlemez bile (temiz bir yere çizildiğini varsayar). Sonra yine hızdan kazanmak için nesneler asla otomatik olarak güncellenmez. Bir nesnenin güncellenmesi gerekiyorsa sen şu kodla sadece o nesneyi güncellersin: Kod: GADUPDATE[NUM] Diyelim 1 ID'si ile bir buton tanımladın... Kod: BUTTON[1,"Eski Metin",10,10,0,0] Kod: GADN$(1)="Yeni Metin" O zaman nasıl yapmalıyız. Önce eski butonu ekrandan silmeliyiz. Kod: Cls 6,GAD(1,1),GAD(1,2) To GAD(1,3),GAD(1,4) Önce eski buton ekrandan temizlendiğine göre artık koordinatları da değiştirerek butonun eski yerinden kaybolup başka bir yerde belirmesini sağlayabilirsin. Yani procedüründe sırasıyla şu komutlar olacak: Kod: Cls 6,GAD(1,1),GAD(1,2) To GAD(1,3),GAD(1,4) Tabi bu güncelleme hız gerektiren bir döngüde ise GADUPDATE[] prosedürünü komple kaldırıp, yerine butonu yeni değerlerle yeniden tanımlamayı da deneyebilirsin: Kod: Cls 6,GAD(1,1),GAD(1,2) To GAD(1,3),GAD(1,4) Bu çok daha hızlı çalışacaktır. NOT: GADUPDATE[] kullanmayacağımızdan ekrandaki değişikliklerin görünür olması için Screen Swap : Screen Copy Physic to Logic satırını da ilave ettik. Konu Başlığı: Ynt: AmosPro için GUI yazdım. :D Gönderen: emarti üzerinde Eylül 14, 2016, 00:42:40 ÖÖ Abi müthişsin. Çok teşekkür ederim.
|