Arkadaşlar şöyle birşey yapmak istiyorum yardım ederseniz çok sevinirim;
DATA2004 / DATA2005 dizinlerimin içerisnde program db ve px leri var ve ben hem DATA2004 / DATA2005 de çalışmak istiyorum programın giriş kısmından bu data seçimini yaptırabilirmiyim? Birde BDE de ki path i program içerisinden değiştirmek istiyorum? Yardımcı olursanız sevinirim.
Data Seçimi !!
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
merhaba,
eğer soruyu doğru anladıysam, birden fazla veritabanının olmasını istiyorsun ve programa ilk girişte kullanıcıya hangi veritabanı ile çalışmasını sorup ona göre veritabanına bağlanmak isttiyorsun.eğer doğru anladıysam aklıma gelen ilk çözüm,
ilk önce genel bir veritabanı yaratıp kullanıcının yeni veritabanı yaratmalarını sağlayabilirsin.ve genel veritabanına bu yeni veritabanının ismi, şirket ismi yada faaliyet yılı gibi gerekli bilgileri yazarsın.program ilk açılışta genel veritabanına bağlanarak kullanıcıya hangi veritabanında çalışmak istediğini sorarak, ikinci connect ile kullanıcının istediği veritabanına bağlanabilirsin.kolay gelsin.
eğer soruyu doğru anladıysam, birden fazla veritabanının olmasını istiyorsun ve programa ilk girişte kullanıcıya hangi veritabanı ile çalışmasını sorup ona göre veritabanına bağlanmak isttiyorsun.eğer doğru anladıysam aklıma gelen ilk çözüm,
ilk önce genel bir veritabanı yaratıp kullanıcının yeni veritabanı yaratmalarını sağlayabilirsin.ve genel veritabanına bu yeni veritabanının ismi, şirket ismi yada faaliyet yılı gibi gerekli bilgileri yazarsın.program ilk açılışta genel veritabanına bağlanarak kullanıcıya hangi veritabanında çalışmak istediğini sorarak, ikinci connect ile kullanıcının istediği veritabanına bağlanabilirsin.kolay gelsin.
Paradoks kullandığım zamanlarda aşağıdaki yapıyı kullanıyordum. Veritabanı dosyaların (paradoks için tablo dosyaları diyelim) .EXE nin olduğu dizin olarak kullanıyordum. Sen de en alttaki procedure de olduğu gibi aynı (yada her ne ise) dizin altındaki klasörleri tarayıp/buldurup istediğin klasörü COmboBox dan seçebilirsin.
Kod: Tümünü seç
procedure TDM.DMCreate(Sender: TObject);
var
AppDir: string;
begin
AppDir := ExtractFilePath(Application.ExeName);
if Database1.Connected then
Database1.Connected := False;
if Session1.Active then
Session1.Active := False;
Session1.NetFileDir := AppDir;
Session1.Active := True;
Database1.Params.Clear;
Database1.Params.Add('PATH=' + AppDir);
try
Database1.Connected := True;
except
Application.MessageBox('Veritabanı açılamadı.!.', 'Uyarı', mb_IconStop + mb_Ok);
Application.Terminate; //Halt;
end;
Table1.Open;
// diğer işlemler
// ....
end;
Kod: Tümünü seç
procedure Tfrm_AdresKayit.AltDizinleriGetir;
var
Dosyalar: TSearchRec;
Result, oldInd: integer;
begin
Result := FindFirst('*.*', faDirectory, Dosyalar);
oldInd := CB_RaporDos.ItemIndex;
CB_RaporDos.Clear;
while Result = 0 do
begin
CB_RaporDos.Items.Add(Dosyalar.Name);
Result := FindNext(Dosyalar);
end;
FindClose(Dosyalar);
if oldInd > -1 then
CB_RaporDos.ItemIndex := oldInd; // bir önceki oturumda çalışılan yıl.
end;
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!