Bilgisayar programları, seçilen bir bilgisayar dilinde, bir konu ile ilgili verilerin ve değerlendirildiği komutlar topluluğudur. Programlamayı öğrenirken bir programcının ilgilendiren gerekli olan konuları aşağıdaki gibi sıralayabiliriz.
1.Girilecek verilerin yapılarını tanımlayabilme (veri tabanı).
2.Kullanıcı ile irtibatı sağlayan görüntüsünü (ekran dizaynı) ve çıktıların şemalarını (rapor dizaynı tasarlayabilmek)
3. Bu iki şık arasındaki bağlantıları gerektiren program parçalarını yazabilmek.
Progress dördüncü kuşak bir dil olduğu için yukarıda belirtilen üç şıkkı gerçekleştirmek çok basittir.
Veri tabanı tasarımı ve tanımı için data dictionary hizmet programı kullanılır.
Ekran dizaynları ve bağlantıları, Smart Objects (programlanabilir nesneler) tanımlamaları onları programlama işlemini gerçekleştiren AppBuilder (uygulama geliştiricisi) hizmet programı ile sağlanır. Çıktılar için ise Report Builder (Çıktı formları düzenleyicisi) kullanılır.
Üretilen programlar da 4GL komutlarını kullanarak düzeltilebilir veya geliştirilebilir.
Netice olarak biz; veri tabanı, basit nesne ve smart Objects kavramlarını iyi öğrenerek buna da 4GL komutalarını eklersek progress ile programlamayı öğrenmiş oluruz.Müşterimizin yaptığı bir ödeme, doğal olarak müşteriyi etkiler kartoteks devrinde, bu ödemeyi müşterinin borcundan elle düşüyorduk. Bilgisayarda ise bunu otomatik olarak yapılması gerekir. Bunun için, müşteri bilgilerinin müşteri hareket bilgileri ile bağlantılı olarak tanımlanması gerekir. Diğer bir değimle, Veritabanımızın iyi tanımlarsak, programlamayı çok basit bir şekilde halledebiliriz.
Örneğin, tasarımı tamamlanmış bir veri tabanında, aşağıdaki kısa program:
Tüm müşterileri listeler (müşteri numarası, unvanı)
Kullanıcının gireceği birkaç harfle başlayan müşteriyi bulur gösterir.
Bu müşteri ile ilgili tüm sipariş bilgisini gösterir (sipariş ana bilgiler: sipariş numarası sipariş tarihi, gerçekleşen tarih vs.)
Bu siparişle ilgili tüm detay bilgilerin gösterir (sipariş detay bilgileri: stok numarası, fiyatı, indirim oranı, miktarı, tutarı vs.)
For each müsteri:
Display musno isim.
End.
Prompt-for “aranan müsterinin ilk harflerini giriniz: “ isim with no-Label
Find first müsteri where isim begins input isim.
Display isim.
For each sipariş of müşteri:
display siparis.
For each stok of sipariş:
Display stok-no fiyat miktar indirim tutar.
End.End.
