Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Pascal / Delphi / Delphi.NET

Cevapla
 
LinkBack Seçenekler
Eski 09/05/2008, 19:14   #1 (permalink)
Üye
 
metali Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 01/2008
Mesaj: 117
Varsayılan sistem dizin değişkenleri

selamlar,

arkadaşlar yaptıgım projenin bazı kısımlarında access veritabanını kullandım. exe dosyam ve access mdb uzantılı veritabanımla aynı dizinde. bu yuzden connecting string in veritabanı adresini tam yol belirtmeden vt.mdb diye gösterdim. tam yol derken c:\program files\prj\vt.mdb

buraya kadar herşey tamam.

daha sonra programı derleyip seupladıktan sonra; bşka bilgisayarlara yükledikten sonra masaüstüne atılan kısayolunu calıstırdıgımda c:\document and settings\axxx\desktop\vt.mdb bulunamadı gibilerinden hata veriyor.

irdeleyip, program files'a girip ordan actıgımda ise kusuruz calısıyor.

bunun üzerine başımın agrımaması için delphideki dizin değişkenlerini ögrenmek istiyorum. neler kullanıyor.

atıyorum:
%windir% c:\windows
%pf% c:\program files

gibi bir sürü yol var, bu yolların kullanımını yazabilirmisiniz. veritabanıını tam adres ile belirteceğim c:\vt.mdb gibi. işte burda sistemin hangi sürücüye yükledniği konusu ortaya çıkıyor, bu yuzden bu sistem dizn değişkenlerine ihtiyacım var.

teşşekkürler....

__________________
metali hatta değil   Alıntı Yaparak Yanıtla
Eski 09/05/2008, 19:20   #2 (permalink)
Üye
 
Caylaq Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 12/2007
Yer: DELPHI LAND
Mesaj: 640
Varsayılan

Merhaba Metali,

Hata Connecting String pathından kaynaklanıyor.

BAglantı yolunu gösterirken

Kod:
 
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=VT.mdb;Persist Security Info=False
Şeklinde Göster

Ama En güvenli Yol Datamodül kullanman. İleride sıkıntı yaşamaman için


Kolay gelsin
Caylaq hatta değil   Alıntı Yaparak Yanıtla
Eski 09/05/2008, 19:48   #3 (permalink)
Kodlarım, Canlarım...
 
cemaliozan Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2005
Yer: » Delphi Bölümü «
Mesaj: 1,677
Varsayılan

Geliştirdiğim uygulamaların klasör yapısı genellikle aşağıdaki gibidir.

Bin
Code
Dcu

Access ile çalışırken kolaylık olsun diyerek, göreceli yada gerçek yol/adres kullanmamak için veri tabanını bin klasörüne koyarım. Tabi Project-Options bölümünde uygulamanın derlenmiş halinin çıktısını bin içinde yer alacak şekildede gösteriririm ki Application Exe burada oluşturulsun.

Access veri tabanını her zaman bir AdoConnection nesnesiyle birlikte kullanırım. Sonra Formun yada Datamodul'un uygun bir yordamındaki bu genellikle OnCreate veya onShow olur, access veri tabanı bağlantısı için şu kodu yazarım...

PHP Kodu:
AdoConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source='+
                             
ExtractFilePath(Paramstr(0))+'KKH.mdb;Persist Security Info=True'
Böylece veri tabanını aramak bulmak gibi bir derdim olmaz...
__________________
Haberbox | Tek Sevgi | Genel Seçimler | Magice Book | Yerel Seçimler
Yaşamaya Değer Bir Hayattan, Sevmeye Değer Bir Aşktan, Dostluğa Değer Bir Arkadaşlıktan Asla Vazgeçmeyin...
cemaliozan hatta değil   Alıntı Yaparak Yanıtla
Eski 09/05/2008, 22:56   #4 (permalink)
Üye
 
metali Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 01/2008
Mesaj: 117
Varsayılan

caylak zaten ben connecting string'e hiç karışmıyorum. durduk yere vt.mdb bulunamadı gibilerinden hatalar veriyor. ama aslında baktıgımda connecting stringde herhangi bir değişiklik yok. vt.mdb olarak görünüyor. sonra gözat yaptıgımda çok farklı bir klasörü açarak gözatmayı başlıyor. işte burda kafama soru işareletleri takılıyor. acaba diyorum, vt.mdb yerine gerçek adreslerinimi versem diye. hem daha saglam olcagına inanıyorum. c:\program files\proje\vt.mdb gibilerinden..

cemaliozan hocam kullandıgın sistemde bin, code veya dcu klasörülerinin secmenin özel bir nedeni var mı? zaten bende programın derlendiği yerde vt.mdb yi saklyıorum. yani. proje.exe ile vt.mdb aynı dizinde . derleme işlemi yaptıgında da aynı dizinde bulunuyor...

ama en büyük sacmalıgı kurulumu yapıp farklı bir pc de denediğimde masaüstünden kısayoluna tıklayıp (programın) açmaya calsıtıgımda documenet and settings/----/desktop/vt.mdb bulunamadı diyor... sonra kurulumun asıl bulundugu yer olan program files'e geçip programı açtıgımda böyle bir sorun cıkmadan direkt acılıyor.

1. neden kısayolda açılmadı da programın gerçek yerinde calsıtı. soonucta kısayol bir lnk dosyası ve. program files teki exe'min bir temsilcisi. gerçeği değil.

2. cemali hocam zaten connection stringleri create olaylarına yazmakla ilk başta yapılandırmak arasındaki fark nedir. yani componenetsin üzerine sağ tıklayıp buiild yapmaktan farkını soruyuroum.

3. sanrıım gerçek adresleme benim için daha gerçekçi görünüyor. ben nasıl windows'un yüklü oldugu sürücüyü nasıl ayırt edeceğim. yani bu sistem değşkenlerinin bir ismi varmı.. biraz daha açarsam eger. setup programlarında {app} {windir} gibilrinden şeyler yazar... bunlar gibi bende delphide kullanabailirmiyim

örneğin: {windir}\proje\vt.mdb
acılımı: c:\windows\proje\vt.mdb gibi.. (windir'in acılımını yanlıs hatırlıo olabilirim)
__________________
metali hatta değil   Alıntı Yaparak Yanıtla
Eski 09/05/2008, 23:30   #5 (permalink)
Kodlarım, Canlarım...
 
cemaliozan Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2005
Yer: » Delphi Bölümü «
Mesaj: 1,677
Varsayılan

Püf noktası bu fonksiyon : ExtractFilePath(Paramstr(0))

Exe dosyası nerde çalışırsa çalışsın yol bilgisi doğru olarak gelir...

Örneğin senin uygulaman :

C:\Documents and Settings\cao\Desktop\uygulamam.exe yoluna sahipse

bu fonksiyon C:\Documents and Settings\cao\Desktop\ klasörünü döndürecektir.

yok senin uygulaman

H:\projelerim\birproje\altproje\uygulama.exe biçimindeyse

bu fonksiyon yol bilgisi olarak H:\projelerim\birproje\altproje\ döndürecektir.

Fonksiyonu incelersen sorunu çözeceğini tahmin ediyorum. Birde windows bazı sistem klasörlerini varsayılan olarak gizler. (Attrib +H) Gizli bir klasöre erişemiyor olabilir misin ?
__________________
Haberbox | Tek Sevgi | Genel Seçimler | Magice Book | Yerel Seçimler
Yaşamaya Değer Bir Hayattan, Sevmeye Değer Bir Aşktan, Dostluğa Değer Bir Arkadaşlıktan Asla Vazgeçmeyin...
cemaliozan hatta değil   Alıntı Yaparak Yanıtla
Eski 10/05/2008, 00:05   #6 (permalink)
Üye
 
metali Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 01/2008
Mesaj: 117
Varsayılan

hocam dediğinizi aynen yaptım sanırım, şu sihirili komut extractfilepath benim ilacımmış. her yerde calısıyor muthiş gerçekten... aslında benim hatalarımdan bir tanesi; diyelim ki 3 adet formum var 3 adet formumda da ado baglantısı gerekli ben her sayfaya adoconnection kouyuyorum. önce bu sorunu hallettim..

tek bir adoconnection'dan beslenen adoqueryler ver adotableler.... ama ana formumda var olan bir adoconnection. ve ana formun create oalyında sizin bağlantı cümlecikleriniz.. snırım oldu...
__________________
metali hatta değil   Alıntı Yaparak Yanıtla
Eski 10/05/2008, 00:17   #7 (permalink)
Kodlarım, Canlarım...
 
cemaliozan Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2005
Yer: » Delphi Bölümü «
Mesaj: 1,677
Varsayılan

DataModul denen bir nesne var. Canlı fakat form gibi visiual (görünür) değil... Tüm Dataset/ADO/MySql temel bileşenlerini yani paylaştıklarını bunun üzerine koyup, lazım gelen yerde ;

use DataModulAdi; şeklinde kullanırsan daha pratik olur
__________________
Haberbox | Tek Sevgi | Genel Seçimler | Magice Book | Yerel Seçimler
Yaşamaya Değer Bir Hayattan, Sevmeye Değer Bir Aşktan, Dostluğa Değer Bir Arkadaşlıktan Asla Vazgeçmeyin...
cemaliozan hatta değil   Alıntı Yaparak Yanıtla
Eski 10/05/2008, 00:23   #8 (permalink)
Üye
 
metali Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 01/2008
Mesaj: 117
Varsayılan

datamodul özel bir componenet mi hocam??
__________________
metali hatta değil   Alıntı Yaparak Yanıtla
Eski 10/05/2008, 00:25   #9 (permalink)
Kodlarım, Canlarım...
 
cemaliozan Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2005
Yer: » Delphi Bölümü «
Mesaj: 1,677
Varsayılan

evet özel bir component Delphi VCL ile birlikte geliyor. ama sorduğun 3 ncü parti bir bileşenmi ise hayır, değil, yerleşik bir bileşen, Add ile ekrana çıkan iletişim kutusundan datamodul seçerek görebilirsin.
__________________
Haberbox | Tek Sevgi | Genel Seçimler | Magice Book | Yerel Seçimler
Yaşamaya Değer Bir Hayattan, Sevmeye Değer Bir Aşktan, Dostluğa Değer Bir Arkadaşlıktan Asla Vazgeçmeyin...
cemaliozan hatta değil   Alıntı Yaparak Yanıtla
Eski 10/05/2008, 00:31   #10 (permalink)
Üye
 
Caylaq Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 12/2007
Yer: DELPHI LAND
Mesaj: 640
Varsayılan

Hocam bu ne hız

Forumumuz en hızlı cevap veren forum olarak yarışıyor valla
__________________
Soru Sormadan Önce:
http://forum.ceviz.net/announcement.php?f=27&a=55





Sigarayı BIRAKMANIN YOLLARI.......!
http://www.yesilay.org.tr/sigara_nasil_birakilmali.asp
Caylaq hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

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

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
sistem üstüne sistem olur mu? bunalthe Beyin Fırtınası 3 03/06/2007 15:49
dizin kontrol ve dizin oluşturma ve dizin silme young_ottoman Pascal / Delphi / Delphi.NET 2 18/05/2007 11:45
Klasör(dizin) oluşturma,silme, dizin adı değiştirme İşlemleri plazma PHP 4 05/03/2007 18:37
session değişkenleri nihal PHP 24 13/09/2005 18:44
[PHP]Değişkenleri çarpma... Grishnak PHP 7 28/06/2004 17:47


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 11:17.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net