hoSSohbeT.com  Sohbet  forumlari

Anasayfa Bugünki Mesajlar Forumları Okundu Kabul Et
Geri git   hoSSohbeT.com Sohbet forumlari > Bilgisayar ve İnternet Dünyası > Bilgisayar - İnternet > Bilgisayar Dünyası > Programlama
Kayıt ol Yardım Sohbet Gazete oku Diyetsaglik Üye Listesi Ajanda Arama Bugünki Mesajlar Forumları Okundu Kabul Et

Programlama Delphi , C , C++ , Qbasic , .NET Vb.Konular Hakkında Bilgi Alışverişi Yapabileceğiniz Bölüm



Cevapla
 
LinkBack Seçenekler Stil
Alt 15-10-08, 23:59   #1
Dokunma Yanarsın
 
aLayıNaiSyaN - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 04-02-08
Nerden: . . .
Mesajlar: 1,981
Tecrübe Puanı: 496 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000 aLayıNaiSyaN 1000
Visual Fox Pro

1 VFP'ya Başlarken

1.1 Standartlarınız Olsun

Hepimiz yazılım yaparken iyi kötü kendimize özgü standartlar oluşturmuşuzdur. Ancak bu standartları yazılı hale getirmek bir kurallar silsilesi oluşturmak için uğraşmamışızdır. Haser Yazılımda bir ekip çalışması yapmak zorunda olduğumuzdan yazdığımız kodların bir başka kişi tarafından anlaşılabilir ve devam ettirilebilir olması gerekmektedir. Aslında bu durum tek başına çalışanlar içinde geçerlidir. Hangimiz önceden yazmış olduğu kodun ne işe yaradığını anlamak için çaba harcamadı. Keşke buraya bir açıklama yazsaydım demedi.

Bu ve birçok önemli sebeplerden dolayı ekip olarak bir yazılım kuralı geliştirdik. Aslında piyasada bilinen birçok kural var ancak bizde kendimize özel kurallar geliştirdik ve geliştirmeye de devam ediyoruz. Burada bu kuralların tamamını yazamam ancak ana hatlarını sizlerle paylaşmak istiyorum.
Ayrıca oluşturacağınız kuralların kesinlikle yazılı olmasını tavsiye ederim. Yazdığınız kodların oluşturmuş olduğunuz kurallara uyup uymadığını kurallarınız oturana kadar kontrol edin. İlk başlarda bu size çok zor evet tekrarlıyorum çok zor gelecek sizi yavaşlatacak ancak lütfen yılmayın bu kurallara alışınca önceden nasıl yazıyormuşum diyeceksiniz.
Aşağıda bu standartları bulacaksınız.


1.1.1 Çalışma Klasörü


Projelerini takip edeceğiniz yöneteceğiniz klasörler oluşturun.
C:
Projeler

A Projesi
B Projesi

Gibi.
En son oluşturduğunuz A Projesi, B Projesi klasörleriniz altına ise şu alt klasörleri oluşturabilirsiniz.
A Projesi

Bmp Programınızda kullanacağınız resim dosyalarınızı koyacağınız klasör
Dokuman İlgili projeyle ilgili dokümanlarınızı koyacağınız klasör
Form Formlarınızı koyacağınız klasör
Menu Menu dosyalarınızı koyacağınız klasör
Rapor Rapor dosyalarınızı koyacağınız klasör
Setup Programın kurulumu oluşturacağınız klasör
Vcx Klaslarınızı koyacağınız klasör
VeriGenel Çok kullanıcılı programlarda kullanacağınız yani ana bilgisayarda yada başka bir bilgisayarda paylaşıma açacağınız veritabanı yada veritabanlarını koyacağınız klasör
VeriLokal Her bilgisayarın sadece kendisinin kullanacağı veritabanı yada veritabanlarını koyacağınız klasör

1.1.2 VFP Ayarları


Çalışmanızı kolaylaştıracak ayarlarınızı yapmalısınız. Bu konuda size şunları tavsiye edebilirim.
1.1.2.1 Seçenekler

Menüden Tools --> Options seçiniz. Açılan pencerede Data sayfasına geliniz. Ignore deleted redords seçeneğiniz işaretleyiniz. Bu sayede tablolarınızdaki silinmiş kayıtları devre dışı bırakmış olacaksınız. File Locations sayfasında Default Directory’yi çalışma yapacağınız projenin klasörünü seçiniz. Örneğin: C:ProjelerA Projesi gibi.
Forms sayfasından ise objelerinizi yerleştirirken size yardımcı olacak olan grid ayarlarınızı değiştirebilirsiniz. Benim tavsiyem 6 pixele 6 pixel. Ayrıca yine bu sayfadan form tasarımın boyutlarını seçebilirsiniz. Bu sayede formunuzun ekran boyutlarından taşıp taşmadığını anlayabilirsiniz. Bu konuda biz 1024x768’i tercih ediyoruz. Ancak unutulmamalıdır ki yapılacak projeye göre bu durum değerlendirilmelidir. Bir form tasarımı yapmak önemli bir olaydır. Formlarınız ne kadar kullanışlı olursa o kadar tutulur. Bir 1024x768 ebatlarında form tasarlayabilmek için sizde ekran ayarlarınızın yüksek çözünürlülükte olması iyi olur. Ben ekran çözünürlülüğümü 1680x1050 kullanıyorum. Tabiî ki bu çözünürlülük için 15” den daha büyük ekran tavsiye ediyorum. Form tasarımlarından bahsederken unutulmaması gereken en önemli nokta formun yüksekliğinin ekran çözünürlülüğün yüksekliğinden daha küçük tasarlanması gerektiğidir. Windows’un başlat çubuğu, formun başlığı, screen’daki menü ve durum çubuğu ekranda bir hayli yer kaplayacaktır. Tabi programınızda bir de araç çubukları kullanırsanız yüksekliğiniz bir hayli düşecektir.
Regional sayfasında Use System Settings’i işareterseniz bilgisayarınızın tarih, saat ve numaralarla ilgili ayarlarını VFP’da kullanacaktır.
Bu yapmış olduğunuz ayarları Set As Default düğmesine basarak kaydedin. Böylece her VFP’yu açtığınızda bu ayarları yapmak zorunda kalmazsınız.

Visual 1.1.2 VFP Ayarları

1.1.2 VFP Ayarları
Çalışmanızı kolaylaştıracak ayarlarınızı yapmalısınız. Bu konuda size şunları tavsiye edebilirim.
1.1.2.1 Seçenekler
Menüden Tools --> Options seçiniz. Açılan pencerede Data sayfasına geliniz. Ignore deleted redords seçeneğiniz işaretleyiniz. Bu sayede tablolarınızdaki silinmiş kayıtları devre dışı bırakmış olacaksınız. File Locations sayfasında Default Directory’yi çalışma yapacağınız projenin klasörünü seçiniz. Örneğin: C:ProjelerA Projesi gibi.


Forms sayfasından ise objelerinizi yerleştirirken size yardımcı olacak olan grid ayarlarınızı değiştirebilirsiniz. Benim tavsiyem 6 pixele 6 pixel. Ayrıca yine bu sayfadan form tasarımın boyutlarını seçebilirsiniz. Bu sayede formunuzun ekran boyutlarından taşıp taşmadığını anlayabilirsiniz. Bu konuda biz 1024x768’i tercih ediyoruz. Ancak unutulmamalıdır ki yapılacak projeye göre bu durum değerlendirilmelidir. Bir form tasarımı yapmak önemli bir olaydır. Formlarınız ne kadar kullanışlı olursa o kadar tutulur. Bir 1024x768 ebatlarında form tasarlayabilmek için sizde ekran ayarlarınızın yüksek çözünürlülükte olması iyi olur. Ben ekran çözünürlülüğümü 1680x1050 kullanıyorum. Tabiî ki bu çözünürlülük için 15” den daha büyük ekran tavsiye ediyorum. Form tasarımlarından bahsederken unutulmaması gereken en önemli nokta formun yüksekliğinin ekran çözünürlülüğün yüksekliğinden daha küçük tasarlanması gerektiğidir. Windows’un başlat çubuğu, formun başlığı, screen’daki menü ve durum çubuğu ekranda bir hayli yer kaplayacaktır. Tabi programınızda bir de araç çubukları kullanırsanız yüksekliğiniz bir hayli düşecektir.
Regional sayfasında Use System Settings’i işareterseniz bilgisayarınızın tarih, saat ve numaralarla ilgili ayarlarını VFP’da kullanacaktır.
Bu yapmış olduğunuz ayarları Set As Default düğmesine basarak kaydedin. Böylece her VFP’yu açtığınızda bu ayarları yapmak zorunda kalmazsınız.

1.1.2.2 Makrolar
Kod yazarken hazır makrolar oluşturabilirsiniz. Bunlar sizin işinizi bir hayli kolaylaştırır. Makro oluşturmak için;
Tools --> Macros seçin. (Bu pencerede işlemlerinizi kayıt düğmesini var ancak ben burada sizlere hazır makroları tanıtacağım)
New Düğmesine basınız.
Seçili satırları 'Comment' yapma (yazının başına *!* koyma)
Defined Key Bölümde F12 düğmesine basınız. Böylece F12 düğmesine bir makro atamış olacağız.
Macro Contents Kısmına {SHIFT+F10}m yazınız.
OK Düğmesinden sonra Set Default düğmesine basınız. Böylece bu macrolarınız her zaman geçerli olur.
Seçili satırları 'UnComment' yapma (yazının başındaki *!* işaretini kaldırma)
Defined Key Bölümde F11 düğmesine basınız. Böyle F11 düğmesine bir macro atamış olacağız.
Macro Contents Kısmına {SHIFT+F10}n yazınız.
OK Düğmesinden sonra Set Default düğmesine basınız. Böylece bu macrolarınız her zaman geçerli olur.
Object List penceresini açma (Form tasarımında kod yazarken Object List açma)
Defined Key Bölümde F10 düğmesine basınız. Böyle F10 düğmesine bir macro atamış olacağız.
Macro Contents Kısmına {SHIFT+F10}j yazınız.
OK Düğmesinden sonra Set Default düğmesine basınız. Böylece bu macrolarınız her zaman geçerli olur.

Projenizi çalıştırma
<SPAN style="FONT-FAMILY: Verdana"><FONT size=2>Programınız
Proje analiz çalışması

2 Projeye Başlarken

2.1 Analiz Çalışması

Yeni bir projeye başlarken kodlamadan uzak ama programcılığın en önemli noktası analiz çalışmasıdır. Analiz çalışması yapılmadan başlanılan her program dümeni bozuk bir gemi gibi hedefe ilerlerken sürekli yön değiştirir.
Yapacağınız proje müşteriniz için özel bir çalışma olabilir. O zaman müşterinin neler istediğini, programdan ne beklediğini çok iyi analiz etmek lazım. Müşterinizle gidip konuştunuz. Konuşma sırasında onu zorlayın ne bekliyor iyice anlayın. Yapılacak program, müşteri için önemli bir sistem oluşturabilir. Bu durumda programın sihirli bir değnek olmadığını programla beraber sistemi kullanacak kişilerin de programı desteklemesi gerektiğini veri girişlerinin sağlıklı olması gerektiğini vurgulayın. Sadece bir kişi ile görüşerek analiz çalışması yapmayın. Programı kullanacak kişilerle de görüşünün. Onlarında sorunlarını beklentilerini öğrenin.



Analiz sonunda hiç sıkılmadan bir rapor hazırlayın. Rapor iki kısımdan oluşmalıdır. Bir müşteriye verilecek olan rapor iki kendimizin kullanacağı rapor. Müşteriye vereceğimiz raporda sistem akış diyagramları, yapılacak formların kaba ekran tasarımları ve bu formların nasıl çalışacağı (en önemlisi kayıt ekleme, düzenleme ve silme koşulları). Bu hazırlamış olduğunuz müşteri raporunu özel bir toplantı ile müşterinize anlatın. Sorun ve sıkıntıları konuşun. Açık ve net olun.


Sistem akışı ve programla ilgili konular kadar programın çalışacağı bilgisayarlar ve bilgisayar ağ yapısı da önemlidir. Programınızın çalışacağı minimum özellikleri belirleyin. Bu hem terminal bilgisayarlar hem ana bilgisayarlar hem de ağ yapısı olmalıdır. Bunları belirlerken bilgisayarın hafızasından ekran çözünürlüğüne, ana bilgisayarın domanin yapısına kadar yazılı olarak aynı raporda müşterine sunun. Tabi ki müşterinizin bu konuyu da iyice anlamasını sağlayın.
Müşterinizle kesinlikle ekinde hazırladığınız rapor olan bir sözleşme imzalayın.

Kendinize hazırlayacağınız rapor; veritabanı yapısal analizi, yapılacak olan formların çalışma mantığı ve ekran tasarımları, tüm programın sistem akış diyagramları ki dikkat edin diyagramı yazıp tek bir diyagram kastetmiyorum detaylı bir şekilde bir çok diyagram hazırlayın ve en önemlisi iş planını belirleyin.
İş planınızı gün gün hazırlayın. Hangi gün ne iş yapılacak ve ne kadar zamanda yapılacak ve kimin tarafından yapılacak? Bu iş planına projenin ara test aşamalarını ve proje sonunda tam test aşaması ile bu sıkıntıları çözecek zaman planlamasını da eklemeyi unutmayın. İş planınızda fazla mesai planlamayın. Günlük çalışma saatlerine uyun. İş planınıza gerçekleşen zamanları yazın. Erken ya da geç bitirimlerde neden olduğunu not düşün. Erken yada geç bitirmeler bir hatalı plan yapıldığını gösterir. Bu durumlardan ders alıp bir sonraki proje planlamasını ona göre yapın.

PROJE PLANLAMASIZ ÇALIŞMAYIN!..
Yukarıda bahsetmiş olduğum analiz çalışması sizlere büyük bir külfet gibi görünebilir. Ancak bu işlemden sonra projenizin yarısını bitmiş sayabilirsiniz. Projenizi bitirdiniz ve teslim ediyorsunuz. Müşterinizle; ben böyle istemedim, şunu yapmamışsın yada bunu neden böyle yaptın gibi konuşmalar olmasını istemiyorsanız, yada proje tesliminden sonra olabilecek her türlü sıkıntı için bu rapor size kaynak olacaktır.
Şu bir gerçek ki proje teslimlerinde her zaman müşterinizin fazladan istekleri ve talepleri olabilir. Bu istekler sizin için çok basit olabileceği gibi zorda olabilir. Bunları yapıp yapmamak size kalmıştır. Ancak projenin sıhhatli yürüyebilmesi için mantıklı en azından çok zaman almayacak istekleri yapın ancak müşterinizden bu istekleri yazılı ve imzalı olarak alın.

Son olarak tekrar vurgulamak istiyorum, bu tür analiz çalışması 1 gün, 1 hafta yada 2 hafta sürebilir bu projenin büyüklüğüne göre değişir ancak kesinlikle böyle bir çalışma yapılmalıdır. Lütfen bunu es geçmeyiniz
2.2 İlk Ayarların Yapılması
2.2.1 Veritabanı yaklaşımı
Programınız tek veya çok kullanıcılı olabilir ancak hep çok kullanıcılıymış gibi tasarım yapmanızı tavsiye ederim. Çok kullanıcılı bir tasarımda, veritabanın ana bilgisayarda tutulması gerekir ki tüm kullanıcılar ana bilgisayarda paylaşıma açılmış olan veritabanına bağlanabilsinler. Bu noktada konuyu biraz daha detaylandıralım. Tasarım sırasında herkesin kullanacağı bir veritabanına ihtiyaç duyulduğu gibi sadece o kullanıcının ihtiyaç duyabileceği veritabanı da olabilir. Şöyle ki o bilgisayarda yapılan ayarların saklanabileceği bir veritabanı olabilir. (Bu ayarlar bir ini dosyasında da tutulabilir ama bana göre veritabanından okumak ve yazmak çok daha kolay.)
Bu noktada anlaşılıyor ki en az iki veritabanına ihtiyacımız var. Haser Yazılım olarak biz bu iki veritabanın ismini Genel ve Lokal olarak sabitledik Bundan sonraki anlatımlarda ben de hep bu isimleri kullanacağım.

2.2.1.1 Lokal Veritabanı
Bu veritabanın amacı lokalde tutulması gereken ayarların saklanacağı veritabanıdır. Ben tabi ki burada minimum gereken bilgileri belirteceğim. En önemlisi ana bilgisayarda paylaşıma açılan veritabanın adresinin saklanacağı bilgidir. Bunun için Bölüm 01 - VFP Başlarken 1.1.1 Çalışma Klasöründe belirtmiş olduğum klasör yapısında VeriLokal klasörünün altına Lokal isminde bir veritabanı oluşturun. Bu veritabanına MakineAyar isminde bir tablo oluşturun ve tablo yapısı şu şekilde olsun. Saha Adı : mVeriYolu Saha Tipi M (Memo) Oluşan bu tabloya tek bir boş kayıt ekleyin. (Daha sonra bilgi gireceğiz)
2.2.1.2 Genel Veritabanı
VeriGenel klasörünün altına Genel adında bir veritabanı oluşturun. Bu veritabanın tabloları ise uygulamanıza bağlı olarak değişecektir. Bunu tabi ki sizler belirleyeceksiniz.

2.2.2 Programın İlk Kodlarının Oluşturulması
İlk kodlamadan önce tabi ki yeni bir proje oluşturmalısınız. Bunun için File-->New... seçiniz açılan pencereden Project seçip New file düğmesine basınız.Açılan Create penceresinde yapacağınız projenin kök klasörüne projenin adını vererek kaydedin. Şimdi karşınızda projenizi rahatlıkla yönetebileceğiniz bir Project Manager penceresi açılmıştır.
Bu pencereye önceden oluşturduğumuz Genel ve Lokal veritabanlarını ekleyin. Data sayfasında Databases'i seçip Genel ve Lokal veritabanlarını ekleyin. Şimdi ilk kodlama için hazırız. Code sayfasında Programs'ı seçip New... düğmesine basınız. VFP'da oluşturacağınız programın ilk satırlarını bu program code sayfasına yazacağız. Oluşturduğunuz exe çalıştığında ilk bu dosya içindeki kodları işletecektir. O yüzden bu prg dosyasına biz "Ana" ismini verdik. Bu Ana.prg dosyasını yine projenizin kök klasörüne kaydetmelisiniz.

Şimdi bu Ana.prg dosyası içindeki ilk satırları açıklamaları ile yazalım.
Ana.prg dosyasının başı
Set Escape komutu program çalışırken ESC tuşuna basıldığında
programın kırılıp kırılmamasını ayarlar.
Program exe'den çalışıyorsa kırılmasını istemeyiz.
Ancak programı VFP içinden çalıştırıyorsak kodlamamızda oluşabilecek bir
hata nedeni ile programı kırmak isteriz. O zaman ESC tuşuna ihtiyaç duyarız.
Bu yüzden bu ayarı otomatik seçimli olarak ayarladık.
Versiyon() fonksiyonu ile programın exe'den mi yoksa VFP içinden mi
çalışıp çalışmadığına bakıyoruz. Eğer exe ise ESC 'Off' konumuna
VFP içinden çalışıyorsa 'On' konumuna getiriyoruz.

If Versiyon(2) = 0

Set Escape Off

Else

Set Escape On

EndIf


Kullanıcıları özgür bırakın. Bunun ilk adımı kullanıcının ayarlarını kullanmaktır.
Kullanıcının yapmış olduğu tarih, saat, basamak ve dijit sembolünü sizde kendi
programınızda kullanın. Bunun için aşağıdaki komutu uygulamanız yeterlidir.

Set SysFormats On


VFP'nun bazı komutları sonuçlarını aktif ekranda gösterir.
Bizce bu durum tasarım aşamasında işe yarayabilir ancak
exe'den çalışan bir program için bu pek istenmez.
Örneğin Talk 'On' konumunda iken SUM komutunu kullandığınızda aktif ekrana sonucu
listeler. Bu sizin ekran tasarımızın üzerine çıkan çirkin yazılar demektir.
Bu yüzden Talk komutunu ağırlıklı olarak 'Off' konumunda kullanmanızı tavsiye ederim.
Ancak ufak bir hatırlatmada yapmak istiyorum bazı komutların işletilmesi uzun sürebilir.
Örneğin bir SQL Select komutu 5-10 saniye civarında sürebilir. Bu durumda ekrana
bir işlem ilerleyiş çubuğu (system progress bar) çıkmasını isteyebilirsiniz.
Bu durumda Talk komutunu 'On' yapmalısınız. Biz bu özel durumlar gerçekleştiğinde
ilk önce 'On' işlemden sonrada 'Off' hale getiriyoruz. Ancak varsayılan olarak hep
'Off' kullanıyoruz. Talk'u etkileyen komutları VFP'nun yardım menüsünde bulabilirsiniz.

Set Talk Off


Foxpro'nun bir tablosundan kayıt sildiğinizde o kayıt gerçek anlamda tablodan silinmez.
Sadece silindiğini belirten bir işaret konur. Bu işareti Browse penceresinde ve Grid'de
sağ taraftaki ince sütunda görebilirsiniz. Eğer Deleted 'Off' konumunda ise silinmiş
kayıtları tablo içinde görürsünüz ancak bu sağ taraftaki ince sütunda silinmiş kayıtları
için siyah görünür. Kaydı silmek için bu sütunu kullanabileceğiniz gibi silinmiş kaydı
geri almak içinde kullanabilirsiniz. Bunun ilgili kaydın bu sütununa tıklayabilirsiniz.
Özetle silinen kayıtlar özel komutlar uygulanıncaya kadar tablo içinde saklı kalır.
İşte bu kayıtlar üzerinde genelde işlem yapılmaz o yüzden görmemiz ve kullanmamız
pek gerekmeyecektir. (Orta ve ileri düzeylerde bu kayıtlar kullanılacaktır ama kullanmak
istediğimizde Deleted 'Off' 'On' yaparak işimizi çözebiliriz. Biz varsayılan olarak
'On' kullanıyoruz.

Set Deleted On


Programımızın çok kullanıcılı olmasına karar vermiştik. Bu yüzden kullanacağımız tabloları
kişiye özel değil de birden fazla kişi kullanacağından paylaşıma uygun olarak açmalıyız.
Aşağıdaki komut kişiye özel kullanımı kapatan komuttur. Bu durumu kapatarak çok kullanıcı
program ayarlarına giriş yapmış oluruz. Ancak unutmayın ki tablolarınızı yeniden yapılandırmak
indekslemek gibi işlemlerde kişiye özel komumun açık olması gerekir. Yada tablonuzu açarken
özel olarak kişiye özel olduğunu belirtmeniz gerekir. Bunun için Use komutunun yardımına
bakabilirsiniz.

Set Exclusive Off


Çok kullanıcılı programlarda aynı kayıt üzerinde birden fazla kullanıcı işlem yapabilir.
Kayıt üzerinde işlem yaparken o kayıt işlem bitene kadar o kullanıcı için kilitlenmelidir.
Diğer bir kullanıcı aynı kayıt üzerinde işlem yapabilmek için o kaydın kilidinin açılmasını
beklemek zorundadır. Aşağıdaki komut işte bu bekleme süresini ayarlar.

Set Reprocess To 3 Automatic
Çok kullanıcılı ortamlarda kayıtlar üzerinde işlem yaparken birden fazla kaydı kilitlemek istersiniz.
Paylaşıma açılmış tablolarda otomatik kilitleme yada elle kilitleme işlemleri için aşağıdaki
Komutu kullanmak zorundasınızdır.

Set MultiLocks On


Tablolarımızda rahatlıkla Türkçe karakter kullanabiliriz. Ancak bu tablolarda bir sıralama (index)
yaptığımızda Türkçe sıralamaya girebilmesi için aşağıdaki komutu kullanmamız gerekir. Eğer bu komutu
kullanmazsak İ, Ş vb. karakterler sıralamada sona kalırlar. Bu durumda kullanıcıların sıralı bir
tablodan bir şey bulması sıkıntı olur. Ancak Türkçe sıralamanın olabilmesi için programın
kurulu olduğu bilgisayarın Türkçe sıralama bilgisinin yüklü olması gerekmektedir. Bunu şu şekilde
kontrol edebilirsiniz. Denetim Masası (Contol Panel) - Bölgesel Ayarlar (Regional Settings) -
Gelişmiş (Advance) bölümünde Unicode kısmında Türkçe seçilmelidir. Tabi bu ayar her bilgisayarda
tanımlı olmayabilir bu yüzden Set Collate komutunu kullandığımızda programımızın bir hata mesajı
vermemesini isteyebiliriz. Bu yüzden Try Catch bloğu içinde bu komutu yazıyorum. Try Catch
VFP 8 ile gelen bir komuttur. VFP 8 öncesi için On Error komutu ile bir çözüm yapılabilir.
Yeni başlayan arkadaşlar için Try Catch bloğunu çok az anlatmak istiyorum. Komutun aşağıdaki gibidir.
Try
[Yapılmak istenen komutlar]
Cacth
[Hata oluştuğunda yapılmak istenen komutlar]
Finally
[Hata olsa da olmasa da yapılmak istenen komutlar]
EndTry

Try

Set Collate To "TURKISH"

Catch

EndTry


Kodlama sırasında yapılan en büyük yanlışlıklardan biri ise kodlamanın içine tam dosya yolunun
yazılmasıdır. Örneğin bir dosya açmak için kullanılan Use komutunu eğer şu şekilde olursa
Use C DenemeVeriLokalAyarlar In 0 programın VeriLokal klasörünün C diskinde Deneme klasörünün
altında olma zorunluluğunu getirirsiniz. Kullanıcı programı farklı bir dizine kurabilir. Daha
kullanıcıya gelmeden siz projenizi başka bir klasöre taşıyabilirsiniz. Bu durumda program çalışmaz
hale gelir. Oysa ki sizin için önemli olan programın nerede çalıştığı değil VeriLokal klasörünün
altındaki Ayarlar dosyasının açılmasıdır. Sizin tek şartınız exe'nin çalıştığı klasör altında
VeriLokal klasörü olması ve bu klasörün altında Ayarlar dosyanızın olmasıdır. Bunun için varsayılan
klasörünüzü ayarlamanız gerekir. Eğer varsayılan klasörünüz exe'nin çalıştığı klasör olursa komutu
Use VeriLokalAyarlar In 0 şeklinde kullanabilirsiniz. Bu tarz bir kullanımda sizin sorunlarınıza
çözüm olur. Varsayılan klasörü ayarlamak için Set Default komutunu kullanmak gerekir. Ancak buradaki
önemli soru program o an hangi klasörde çalışmakta. Bunu da sys(16,1) komutu ile bulabiliriz.
Özetle varsayılan klasörü ayarlamak için aşağıdaki kodu yazmamız yeterli olur.

Set Default To (JustPath(Sys(16,1))


2.2.1 Veritabanı yaklaşımı kısmında açıkladığım üzere Lokal ve Genel isimli iki veritabanımız var.
Bu veritabanlarından Lokal olan exe'nin çalıştığı VeriLokal klasörünün altında olmak zorunda.
Genel veritabanımız VeriGenel klasörünün altında ve paylaşıma açılmış bir yerde olacaktır. Bu adres program kodlamasında bellidir.


alıntıdır.
__________________
aLL Hope iS Gone

aLayıNaiSyaN isimli Üye şimdilik offline konumundadır  
Digg this Post!Bookmark Post in Technorati
Alıntı ile Cevapla
Cevapla

  • Submit Thread to Digg Digg
  • Submit Thread to del.icio.us del.icio.us
  • Submit Thread to StumbleUpon StumbleUpon
  • Submit Thread to Google Google
  • Bookmarks

    Seçenekler
    Stil

    Yetkileriniz
    You may not post new threads
    You may not post replies
    You may not post attachments
    You may not edit your posts

    BB code is Açık
    Smileler Açık
    [IMG] Kodları Açık
    HTML-KodlarıKapalı
    Trackbacks are Açık
    Pingbacks are Açık
    Refbacks are Açık



    Bütün Zaman Ayarları WEZ olarak düzenlenmiştir. Şu Anki Saat: 18:18 .


    Powered by vBulletin Version 3.8.7
    Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
    Search Engine Friendly URLs by vBSEO 3.5.0 RC2
    Sohbet ve Sohbet odalari sitesi

    Sohbet Chat Forum Oyunlar1