BDE ayarları

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

BDE ayarları

Mesaj gönderen sako »

arkadaaşlar programı kurarken BDE yi de ayarları yapılmış bi şekilde kurabilmemizin bir ylu varmı acaba. Aliasları gerekli tanımlamaları vb.

kolay gelsin ..
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

installshield iel sadece bde iceren ve istediginiz aliası olusturan hatta data yolunu sectiren bir setup hazırlayabilirsiniz
ama bunu yapmak yerine (eger mutlaka alias kullanmam lazım diyorsanız)
programınızın baslangıcında kod ile alias yaratıp kullanabilirsiniz....
programınız sonlanırkendde yok edersiniz....
program ve datalarınız pc nin neresine kopyalanırsa kopyalansın saglıklı bir sekilde calısır

dinamik alias olusturma hakkında
http://www.google.com/search?num=100&hl ... ias+create
yada session nesnesini inceleyiniz.
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

ben Alias kullanmak yerine TDatabase kullanıp buna da yolu parametrik veriyorum. Verilerim her zaman Data isimli bir alt klasörde durur. TDatabase'de yol belirtirken

ExtractFilePath(Application.ExeName)+'Data'

diye veririm. Nereye kopyalarsan kopyala çalışır.

Kolay gelsin.
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

Mesaj gönderen sako »

Özellikle ağ üzerinde çalışacak programlarım için alias bence kullanılmalı (başka bir yolunu bilmiyorum).Çünkü clientlerden veritabanına bağlanırkan veritabanının yolunu aliasla daha kolay ve sağlıklı belirtebiliyorum..

CD sürücüde data diye bi klasör içerisinde veritabanım var diyelim. bilgileri okuturken
ExtractFilePath(Application.ExeName)+'Data' yazmak yeterli mi acaba. Table ismini yazmayacakmıyım yani..
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Biz de alias kullanarak yapıyoruz bağlantıyı, eğer database veya serverda bir değişiklik olursa aliasda yapmak yeterli oluyor, program aliasla bağlandığı için direkt ordan çekiyor bilgileri zaten. Run time da alias oluşturma ile ilgili bir procedure var burda, buna bakabilirsin.

viewtopic.php?t=877
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

Mesaj gönderen sako »

şöyle bi kod buldum fakat bold yazılı kodlarda hata varıyor. hata mesajı şöyle: undeclared identifier


var
strAliasName, // name for the temporary alias
strAliasPath : string; // directory the alias points to

begin

strAliasName := trimFileExt( extractFileName( paramStr( 0 ) ) );
strAliasPath := getAppIni( 'Settings', 'DataPath', getWorkDir() + 'data\' );

with Session do
try
screen.cursor := crHourglass;

if not isAlias( strAliasName ) then
addStandardAlias( strAliasName, strAliasPath, 'Paradox' );
finally
screen.cursor := crDefault
end;
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Kelimenin üstüne gelip F1'e basarsan hangi unitte tanımlı olduğu yazar. O uniti uses kısmına ekle.

ama bana sanki kodu yazanın kendi fonksiyonlarıymış gibi geliyor. Bu kodlar hangi unitte ise onu uses kısmına ekle.

Kolay gelsin.
Kullanıcı avatarı
naile
Admin
Mesajlar: 1873
Kayıt: 11 Haz 2003 10:11

Mesaj gönderen naile »

Linkde vardı ama ben yine de proceduru yazayım dedim:

Kod: Tümünü seç

procedure createalias(alias, dbname, server, driver: string); 
var 
  List: TStringList; 
begin 
  List := TStringList.Create; 
  with List do 
  begin 
    Clear; 
    Add('DATABASE NAME='+dbname); 
    Add('SERVER NAME='+server); 
    Add('USER NAME=MYNAME'); 
    Add('OPEN MODE=READ/WRITE'); 
    Add('SCHEMA CACHE SIZE=8'); 
    Add('BLOB EDIT LOGGING='); 
    Add('LANGDRIVER='); 
    Add('SQLQRYMODE='); 
    Add('SQLPASSTHRU MODE=SHARED AUTOCOMMIT'); 
    Add('DATE MODE=0'); 
    Add('SCHEMA CACHE TIME=-1'); 
    Add('MAX QUERY TIME=300'); 
    Add('MAX ROWS=-1'); 
    Add('BATCH COUNT=200'); 
    Add('ENABLE SCHEMA CACHE=FALSE'); 
    Add('SCHEMA CACHE DIR='); 
    Add('HOST NAME='); 
    Add('APPLICATION NAME='); 
    Add('NATIONAL LANG NAME='); 
    Add('ENABLE BCD=FALSE'); 
    Add('TDS PACKET SIZE=4096'); 
    Add('BLOBS TO CACHE=64'); 
    Add('BLOB SIZE=32'); 
    Add('PASSWORD='); 
  end; 
  if session.isalias(alias) then 
    Session.ModifyAlias(alias, List) 
  else 
  Session.addAlias(alias, driver, List); 
  Session.SaveConfigFile; 
  List.Free; 
end; 

Cevapla