FilemakerTurk, AYS Bilişim ve Beyaz Net tarafından desteklenmektedir.
Filemaker Danışmanınız
AYS Bilişim
Mehmet KAYA
 0532 231 07 27
 0216 318 55 80
 mkaya@aysbilisim.net
						

Hocalarıma bir soru

+4 oy
458 kez görüntülendi
Sayın Hocalarım ben bir scripte birden fazla görev yükledim. Örneğin personel aylık maaş hesap ederken hesapla dediğimde o personele maaş girilmişmi girildiyse hangi ayın maaşı aynı maaşı 2 defa gitmeme önlemi maaşın tam alınıp alınmadığı kontrolu tam alınmadıysa bir sonraki aya kalandevrinin olup olmadığı eğer avan ödemesinin maaşı geçmesi durumunda maaş ödemesinin yapılamıyacağına dair kontrol aklıma gelmeyen bir iki kontrol daha. Bu scripte ilerde kayıtlar çoğaldığı da problem olur mu. Bu sadece bir dosyadaki scriptim hemen hemen bütün scriptlerim böyle. Bir scriptim 2 veya 3 sayfa a4 olur belki daha fazla. Problem oluru mu?
20, Nisan, 2022 Scripts kategorisinde karadoruk (4,720 puan) tarafından soruldu

2 Cevaplar

+4 oy
Önce espiri ile cevap (birazcık da iğneleme var), script bu soru gibi* yazılmışsa düzgün çalışmayabilir :)

 

Kurgu doğruysa 100 sayfada olsa olur. Satır sayısı doğrudan bir script'in doğru yada yanlış olduğu anlamına gelmez.

Ama tecrübe kazandıkça daha az satır script ile aynı işleri yapabildiğinizi göreceksiniz.

İlk aklıma gelen olası sorun (satır sayısının uzun olmasından ziyade işlem süresi uzunsa) kullanıcının scripti yarıda kesmesi. Bunu Allow User Abort seçeceğini "off" yaparak engelleyebiliyoruz. Ancak FileMaker'ın sonlandırılması veya network bağlantısının kesilmesi durumlarını kontrol edemeyiz.

Bu yüzden script yazarken bunların da olabileceğini düşünüp olası sonuçlara göre önlem almak gerekir.

 

* Sorularla ilgili naçizane önerilerim;

- Anlamlı bir başlık altında olması (ki başkaları da benzer soruyu ararken kolayca bulsun)

- Soruyu tamamen başka bir kişinin okuyacağını düşünerek temel kurguyu açıklama (bu soruda gayet yeterli)

- Doğrudan cevabı sormak yerine doğru cevaba götürecek yönlendirmeleri sorma (bu soru bu konudan da gayet iyi)

- Gönderden önce son bir kontrol, olası yazım hatalarını gidermek, anlaşılmayan kısımları detaylandırmak için iyi olur (tam da iğnenin geldiği nokta)
21, Nisan, 2022 F. Osman Cabi (200,340 puan) tarafından cevaplandı
Hocam öncelikle teşekkür ederim cevabınız ve eleştiriniz için. Anladığım kadarı ile size ne lazımsa onu sorun ve sorunuz öğretici olsun yani yazdığınız script i burada belirtin ki hatalarını söyleyelim demek istemişsiniz. Özür dilerim ben direkt sonuç odaklı sordum.. Bir script i o kadar çok deniyorum ki 3 gün uğraştığım da olmuştur. Emin olmadan kapatamıyorum. Doğru çalıştığından emin olduğum script in kayıtlar çoğalınca ne tepki vereceğini keatiremesiğimden bu soruyu sorma ihtiyacı doğdu. Yani yanlış anlamadıysam script doğru ise sadece yavaşlatır diyorsunuz. O da kullandığım parametrelere bağlı olarak. Ben 2000 li yılların başında filemaker 4.0 ile tanıştım ve merak saldım. O zamandan bu zamana hala uğraşıyorum. Şu an filemaker 18 i kullanıyorum. Kendime 2007 de bir program yazdım ve hala kullanıyorum. Her sene farklı özellikler ekledim. 2007 den bu yana dükkanımdaki her veri kaydoluyor. Hatta o kadar çok analiz yapıyor ki benim işim kayısı ile ilgili bu seneki rekolte yi yazdığımda bana bu sezon geçmişi baz alarak bu sezon ne kazanacağını dahi küçük hatalarla veriyor. Nerden ne kazandığımın analizlerini yapıyor. Fakat gördüğüm kadarı ile 60 000 kayıt arasında bile hızlı yalnız bazı hesaplamalar da düşünme süresi 10 sn uzuyor. Bu program için uzun süre. Bunun önüne nasıl geçerim diye direkt ihtiyacım olduğunu düşündüğüm soruyu sordum. Tekrar özür dilerim. Ve cevabınız için teşekkür ederim
" Önce espiri ile cevap (birazcık da iğneleme var), script bu soru gibi* yazılmışsa düzgün çalışmayabilir :) "

Aynı bu cümleyi yazmak benim de içimden geçmedi ise ne derseniz olayım! :))
Sayın hocalarım ne gömdünüz beni. .))
Bir soruda bu kadar tenkit yiyeceğimi düşünmemiştim.Yinede teşşekür ederim.Darılmak yok yola devam :)
filemakerturk samimi bir ortam, samimi olarak yazıyorum. bir kaç cümlede küçük yazım hataları da olunca kendimi tutamadım. amaç darıltmak değil kesinlikle

filemaker'da yaptıklarınız çok faydalı gözüküyor, güzel bir başarı öyküsü çıkabilir bundan. kendi iş yeriniz için kullanıyorsunuz sanırım.

uzun scriptler konusuna gelince tekrar yeni yoruma göre bir kaç ilave yapayım;

- scriptleri test ederken debugger kullanmanızı öneririm. bu sayede filemaker'ın işlemleri nasıl yaptığını adım adım görüp eksik/yanlış şeyleri tespit daha rahat oluyor. bununla ilgili Cabitaş youtube kanalında bir videomuz var, ancak çekim çok iyi değildi yenilemeyi planlıyorum.

- uzun süren scriptler için "kontrolü" olarak PSOS (perform script on server) kullanılabilir. bununla ilgili de bir meetup kaydımız var. uzun süren işlemi sunucuda çalıştırmak marifetiyle işlem çok daha hızlı tamamlanabiliyor. Ancak unutmamak lazım, bu işlem sunucu kaynaklarını (ram, cpu..) kullanır.

- scriptleri sadeleştirmek düşünülebilir. bazen benzer işlemleri yapan scriptlerde uzun tek bir script yerine bir birini çağıran (sub-scriptler) hem sizi daha az yoruyor, hem de bakım/güncelleme işlemlerini kolaylaştırıyor.

- benzer şekilde, script parametreleri kullanarak benzer işleri yapan script tek bir script altında (veya bir döngü içinde) toparlanabilir.
Script çağırmak derken perform script ten mi bahsediyorsunuz hocam? Bazı yerlerde kullandığım oldu. Debugger de en iyi yardımcım zaten. Ben filemaker eğitimi almadım inanıyorum ki filemaker in %15 ini bilmiyorum. Bu sitedeki hemen hemen her şeyi okudum. Birşeyler öğrendiysem burdan öğrendim. Eğer bir öğreten hocam olsa inanıyorum ki filemaker ile çok daha güzel şeyler yapılabilinir. Ben yapabilmeyi seviyorum. Ama ticari olarak hiç düşünmedim. Yani program yapıp satmaktan bahsediyorum. Biraz visual basic ile uğraştım. Programlama kursuna giden arkadaşıma birkaç soru yazıp verdim hocanın cevaplaması için. Hoca bu soruları kim sordu demiş. Oda bir esnaf arkadaş diyince ben bu soruların cevabını bilsem program yazarım demiş. Benim zamanım yok sadece bu sezonda boşum. Yani temmuz 15 e kadar boşum. Arduinoyla biraz uğraştım akıllı ev sistemlerine blutoot ile vaya SMS kartı ile cep telefonu ile kumanda edilen sistemler yaptım. Hatta cep telefon Android programımı bile kendim tasarlayarak yaptım. Yazılım benim merağım ama pc ile geç 30 yaşımda tanıştım şu an gençler çok güzelşeyler yapıyorlar ve çok hoşuma gidiyor. Ve şuan 50 yim filemaker benim en sevdiğim hobim.
evet, perform script'den bahsediyorum.

FileMaker eğitimi ile ilgili ücretli / ücretsiz eğitim planlarımız oluyor. Ayrıca bir suredir yapamadığımız meetup'lar var. bildirimleri Cabitaş soysal medya hesapları, filemaker türk ve WhatsApp grubu ile yapıyoruz. Özelden telefon numaranızı paylaşırsanız fmturk WhatsApp grubuna ekleyebilirim sizi.
+4 oy
Bu,herkesin farklı bir yol izleyeceği bir konu aslında.Herkes kendi script yazma yöntemini kendi geliştirmeli.Yöntem geliştirmenin en iyi yolu da çok script yazmak sanki.(Boş zamanlarda "Data Viewer > Watch sekmesinde özellikle çok kullanılmayan fonksiyonları uygun bir dosyada bol bol deneyerek neler yapılabileceğini görüp bakış açımızı genişletmek iyi bir yol olabilir.Belki bu yolla gereksiz adımlardan vs kurtulabiliriz.)

Ben de sizin gibi biraz da hobi amaçlı bir FM kullanıcısıyım,amacım bu olduğundan nasıl yazacağımı anlamaya çalışırken çok fazla örnek dosya inceledim ve inceliyorum.Özellikle de adı öne çıkan geliştiricilerin yazdığı scriptleri inceledim.Belli başlı kalıplar dışında kimse tek bir yol izlemiyor.Çoğu geliştirici kendi yazma tarzını geliştirmiş.Hatta öyle ki,bazı scriptleri gördüğünüzde bir işaret olmadığı durumda bile geliştiriciyi tahmin edebiliyorsunuz.

Sorunuzun bana göre olan cevabına gelince;

Tercihim,çoğu durumda scriptleri konularına ve bağlamına göre ayırmak amacıyla kısa tutarak başka bir scripte "Perform Script" ile devam etmek olur.Bu yöntemin çok daha fazla sayıda koşul kullanabilme,scripti daha iyi organize edebilme,bir süre ara verseniz bile dosyaya ve scripte döndüğünüzde daha hızlı konuya adapte olabilme gibi bir dizi avantajı var.

Ancak çok iyi çalışan uzun scriptler,ya da saçmalayan kısa scriptler yazılabilir.Uzunluk ana kriter değil doğal olarak.
23, Nisan, 2022 Şemsi Saracoğlu (135,530 puan) tarafından cevaplandı
""Tercihim,çoğu durumda scriptleri konularına ve bağlamına göre ayırmak amacıyla kısa tutarak başka bir scripte "Perform Script" ile devam etmek olur.Bu yöntemin çok daha fazla sayıda koşul kullanabilme,scripti daha iyi organize edebilme,bir süre ara verseniz bile dosyaya ve scripte döndüğünüzde daha hızlı konuya adapte olabilme gibi bir dizi avantajı var""
 Abim bu çok mantıklı uygulamaya çalışacağım
...