FillFactory do BDE

Delphi

08/03/2005

Como altero o FillFactory do BDE, as funções aqui do fórum que mudam o Net Dir e outras propriedades não funcoinam com o FillFactory

Obrigado


Nigro

Nigro

Curtidas 0

Respostas

Emerson Nascimento

Emerson Nascimento

08/03/2005

você pode adicionar essas constantes:
const
  { Configurações do driver Paradox... }
  PARADOXNETDIR = ´\DRIVERS\PARADOX\INIT\;NET DIR´;
  PARADOXVERSION = ´\DRIVERS\PARADOX\INIT\;VERSION´;
  PARADOXTYPE = ´\DRIVERS\PARADOX\INIT\;TYPE´;
  PARADOXLANGDRIVER = ´\DRIVERS\PARADOX\INIT\;LANGDRIVER´;
  PARADOXLEVEL = ´\DRIVERS\PARADOX\TABLE CREATE\;LEVEL´;
  PARADOXBLOCKSIZE = ´\DRIVERS\PARADOX\TABLE CREATE\;BLOCK SIZE´;
  PARADOXFILLFACTOR = ´\DRIVERS\PARADOX\TABLE CREATE\;FILL FACTOR´;
  PARADOXSTRICTINTEGRITY = ´\DRIVERS\PARADOX\TABLE CREATE\;STRICTINTEGRITY´;

  { configurações do driver do dBASE... }
  DBASEVERSION = ´\DRIVERS\DBASE\INIT\;VERSION´;
  DBASETYPE = ´\DRIVERS\DBASE\INIT\;TYPE´;
  DBASELANGDRIVER = ´\DRIVERS\DBASE\INIT\;LANGDRIVER´;
  DBASELEVEL = ´\DRIVERS\DBASE\TABLE CREATE\;LEVEL´;
  DBASEMDXBLOCKSIZE = ´\DRIVERS\DBASE\TABLE CREATE\;MDX BLOCK SIZE´;
  DBASEMEMOFILEBLOCKSIZE = ´\DRIVERS\DBASE\TABLE CREATE\;MEMO FILE BLOCK SIZE´;

  { Configurações do driver do InterBase... }
  INTERBASESERVERNAME = ´\DRIVERS\INTRBASE\DB OPEN\;SERVER NAME´;
  INTERBASEUSERNAME = ´\DRIVERS\INTRBASE\DB OPEN\;USER NAME´;
  INTERBASEOPENMODE = ´\DRIVERS\INTRBASE\DB OPEN\;OPEN MODE´;
  INTERBASESCHEMACACHESIZE = ´\DRIVERS\INTRBASE\DB OPEN\;SCHEMA CACHE SIZE´;
  INTERBASELANGDRIVER = ´\DRIVERS\INTRBASE\DB OPEN\;LANGDRIVER´;
  INTERBASESQLQRYMODE = ´\DRIVERS\INTRBASE\DB OPEN\;SQLQRYMODE´;
  INTERBASESQLPASSTHRUMODE = ´\DRIVERS\INTRBASE\DB OPEN\;SQLPASSTHRU MODE´;
  INTERBASESCHEMACACHETIME = ´\DRIVERS\INTRBASE\DB OPEN\;SCHEMS CACHE TIME´;
  INTERBASEMAXROWS = ´\DRIVERS\INTRBASE\DB OPEN\;MAX ROWS´;
  INTERBASEBATCHCOUNT = ´\DRIVERS\INTRBASE\DB OPEN\;BATCH COUNT´;
  INTERBASEENABLESCHEMACACHE = ´\DRIVERS\INTRBASE\DB OPEN\;ENABLE SCHEMA CACHE´;
  INTERBASEENABLEBCD = ´\DRIVERS\INTRBASE\DB OPEN\;ENABLE BCD´;
  INTERBASEBLOBSTOCACHE = ´\DRIVERS\INTRBASE\DB OPEN\;BLOBS TO CACHE´;
  INTERBASEBLOBSIZE = ´\DRIVERS\INTRBASE\DB OPEN\;BLOB SIZE´;
  INTERBASEVERSION = ´\DRIVERS\INTRBASE\INIT\;VERSION´;
  INTERBASETYPE = ´\DRIVERS\INTRBASE\INIT\;TYPE´;
  INTERBASEDLL = ´\DRIVERS\INTRBASE\INIT\;DLL´;
  INTERBASEDRIVERFLAGS = ´\DRIVERS\INTRBASE\INIT\;DRIVER FLAGS´;
  INTERBASEDLL32 = ´\DRIVERS\INTRBASE\INIT\;DLL32´;
  INTERBASETRACEMODE = ´\DRIVERS\INTRBASE\INIT\;TRACE MODE´;

  { Configurações do driver do Oracle... }
  ORACLEBATCHCOUNT = ´\DRIVERS\ORACLE\DB OPEN\;BATCH COUNT´;
  ORACLEENABLEBCD = ´\DRIVERS\ORACLE\DB OPEN\;ENABLE BCD´;
  ORACLEENABLEINTEGERS = ´\DRIVERS\ORACLE\DB OPEN\;ENABLE INTEGERS´;
  ORACLEENABLESCHEMACACHE = ´\DRIVERS\ORACLE\DB OPEN\;ENABLE SCHEMA CACHE´;
  ORACLELANGDRIVER = ´\DRIVERS\ORACLE\DB OPEN\;LANGDRIVER´;
  ORACLELISTSYNONYMS = ´\DRIVERS\ORACLE\DB OPEN\;LIST SYNONYMS´;
  ORACLEMAXROWS = ´\DRIVERS\ORACLE\DB OPEN\;MAX ROWS´;
  ORACLENETPROTOCOL = ´\DRIVERS\ORACLE\DB OPEN\;NET PROTOCOL´;
  ORACLEOPENMODE = ´\DRIVERS\ORACLE\DB OPEN\;OPENMODE´;
  ORACLEROWSETSIZE = ´\DRIVERS\ORACLE\DB OPEN\;ROWSET SIZE´;
  ORACLESCHEMACACHEDIR = ´\DRIVERS\ORACLE\DB OPEN\;SCHEMA CACHE DIR´;
  ORACLESCHEMACACHESIZE = ´\DRIVERS\ORACLE\DB OPEN\;SCHEMA CACHE SIZE´;
  ORACLESCHEMACACHETIME = ´\DRIVERS\ORACLE\DB OPEN\;SCHEMA CACHE TIME´;
  ORACLESERVERNAME = ´\DRIVERS\ORACLE\DB OPEN\;SERVER NAME´;
  ORACLESQLPASSTHRUMODE = ´\DRIVERS\ORACLE\DB OPEN\;SQLPASSTHRU MODE´;
  ORACLESQLQUERYMODE = ´\DRIVERS\ORACLE\DB OPEN\;SQLQRYMODE´;
  ORACLEUSERNAME = ´\DRIVERS\ORACLE\DB OPEN\;USER NAME´;
  ORACLEDLL = ´\DRIVERS\ORACLE\INIT\;DLL´;
  ORACLEDLL32 = ´\DRIVERS\ORACLE\INIT\;DLL32´;
  ORACLEDRIVERFLAGS = ´\DRIVERS\ORACLE\INIT\;DRIVER FLAGS´;
  ORACLETRACEMODE = ´\DRIVERS\ORACLE\INIT\;TRACE MODE´;
  ORACLETYPE = ´\DRIVERS\ORACLE\INIT\;TYPE´;
  ORACLEVENDORINIT = ´\DRIVERS\ORACLE\INIT\;VENDOR INIT´;
  ORACLEVERSION = ´\DRIVERS\ORACLE\INIT\;VERSION´;

  { Configurações do driver do MSACCESS... }
  MSACCEESSLANGDRIVER = ´\DRIVERS\MSACCESS\DB OPEN\;LANGDRIVER´;
  MSACCESSDATABASENAME = ´\DRIVERS\MSACCESS\DB OPEN\;DATABASE NAME´;
  MSACCESSUSERNAME = ´\DRIVERS\MSACCESS\DB OPEN\;USER NAME´;
  MSACCESSOPENMODE = ´\DRIVERS\MSACCESS\DB OPEN\;OPEN MODE´;
  MSACCESSSYSTEMDATABASE = ´\DRIVERS\MSACCESS\DB OPEN\;SYSTEMDATABASE´;
  MSACCESSVERSION = ´\DRIVERS\MSACCESS\INIT\;VERSION´;
  MSACCESSTYPE = ´\DRIVERS\MSACCESS\INIT\;TYPE´;
  MSACCESSDLL32 = ´\DRIVERS\MSACCESS\INIT\;DLL32´;
  MSACCESSDRIVERFLAGS = ´\DRIVERS\MSACCESS\INIT\;DRIVER FLAGS´;
  MSACCESSTRACEMODE = ´\DRIVERS\MSACCESS\INIT\;TRACE MODE´;

  { Configurações de inicialização do sistema... }
  AUTOODBC = ´\SYSTEM\INIT\;AUTO ODBC´;
  DATAREPOSITORY = ´\SYSTEM\INIT\;DATA REPOSITORY´;
  DEFAULTDRIVER = ´\SYSTEM\INIT\;DEFAULT DRIVER´;
  LANGDRIVER = ´\SYSTEM\INIT\;LANGDRIVER´;
  LOCALSHARE = ´\SYSTEM\INIT\;LOCAL SHARE´;
  LOWMEMORYUSAGELIMIT = ´\SYSTEM\INIT\;LOW MEMORY USAGE LIMIT´;
  MAXBUFSIZE = ´\SYSTEM\INIT\;MAXBUFSIZE´;
  MAXFILEHANDLES = ´\SYSTEM\INIT\;MAXFILEHANDLES´;
  MEMSIZE = ´\SYSTEM\INIT\;MEMSIZE´;
  MINBUFSIZE = ´\SYSTEM\INIT\;MINBUFSIZE´;
  SHAREDMEMLOCATION = ´\SYSTEM\INIT\;SHAREDMEMLOCATION´;
  SHAREDMEMSIZE = ´\SYSTEM\INIT\;SHAREDMEMSIZE´;
  SQLQRYMODE = ´\SYSTEM\INIT\;SQLQRYMODE´;
  SYSFLAGS = ´\SYSTEM\INIT\;SYSFLAGS´;
  VERSION = ´\SYSTEM\INIT\;VERSION´;


crie uma rotina como essa:
function ConfigBDE(Chave: PChar; NovoValor: string): boolean;
var
  hCur : hDBICur;
  Config : CFGDesc;
  ContinueIt: boolean;
  Caminho, Opcao: string;
begin
  Result := False;

  Caminho := Copy(Chave, 0, Pos(´;´, Chave) - 1);
  Opcao := Copy(Chave, Pos(´;´, Chave) + 1, Length(Chave) - Pos(´;´, Chave));
  hCur := nil;

  if (DbiInit(nil) = DBIERR_NONE) and
     (DbiOpenCfgInfoList(nil, dbiREADWRITE, cfgPersistent,
                         PChar(Caminho), hCur) = DBIERR_NONE) and
     (DbiSetToBegin(hCur) = DBIERR_NONE) then
  begin
    ContinueIt := true;
    while ContinueIt do
    begin
      if(DbiGetNextRecord(hCur, dbiWRITELOCK, @Config, nil) <> DBIERR_NONE) then
        ContinueIt := false
      else
        if StrIComp(Config.szNodeName, PChar(Opcao)) = 0 then
        begin
          StrCopy(Config.szValue, PChar(NovoValor));
          DbiModifyRecord(hCur, @Config, true);
          Result := True;
          ContinueIt := false
        end;
    end;
    DbiExit();
  end;
end;


e chame-a da seguinte forma:
  if not ConfigBDE(PARADOXFILLFACTOR, ´95´) then
    ShowMessage(´Não foi possível alterar o parâmetro FILL FACTOR!´);
  if not ConfigBDE(PARADOXNETDIR, ´c:\temp´) then
    ShowMessage(´Não foi possível alterar o parâmetro NET DIR!´);


note que no código acima estão sendo utilizadas duas das constantes criadas. também poderia ser passado o valor literal:
  if not ConfigBDE(´\DRIVERS\PARADOX\TABLE CREATE\;FILL FACTOR´, ´95´) then
    ShowMessage(´Não foi possível alterar o parâmetro FILL FACTOR!´);
  if not ConfigBDE(´\DRIVERS\PARADOX\INIT\;NET DIR´, ´c:\temp´) then
    ShowMessage(´Não foi possível alterar o parâmetro NET DIR!´);

onde 95 e c:\temp são os novos valores dos respectivos parâmetros. a opção a ser alterada deve ser precedida por [b:3922c4ffe9];[/b:3922c4ffe9] devido a separação entre caminho e opção, no código da função ConfigBDE.

obs.: declare a unit BDE na cláusula uses.


GOSTEI 0
Jonny Beckert

Jonny Beckert

08/03/2005

Fiz um programa para configurar o BDE para facilitar as instalações nos computadores.
Altero todas os parâmetros necessários e funciona 100% certo (bom, não 100%) um único parâmetro não é atualizado.
é em " Configurações de inicialização do sistema " o parâmetro LANGDRIVER = ´\SYSTEM\INIT\;LANGDRIVER´;
já conferi com o RegEdit e a pasta e nomes estão realmente corretos.
pior que o parâmetro PARADOXLANGDRIVER = ´\DRIVERS\PARADOX\INIT\;LANGDRIVER´; altera normalmente sem problemas.
Se abrir o BDE e alterar manualmente, altera sem problemas.

Alguém passou por isso ou pode me explicar ?



você pode adicionar essas constantes:
const
  { Configurações do driver Paradox... }
  PARADOXNETDIR = ´\DRIVERS\PARADOX\INIT\;NET DIR´;
  PARADOXVERSION = ´\DRIVERS\PARADOX\INIT\;VERSION´;
  PARADOXTYPE = ´\DRIVERS\PARADOX\INIT\;TYPE´;
  PARADOXLANGDRIVER = ´\DRIVERS\PARADOX\INIT\;LANGDRIVER´;
  PARADOXLEVEL = ´\DRIVERS\PARADOX\TABLE CREATE\;LEVEL´;
  PARADOXBLOCKSIZE = ´\DRIVERS\PARADOX\TABLE CREATE\;BLOCK SIZE´;
  PARADOXFILLFACTOR = ´\DRIVERS\PARADOX\TABLE CREATE\;FILL FACTOR´;
  PARADOXSTRICTINTEGRITY = ´\DRIVERS\PARADOX\TABLE CREATE\;STRICTINTEGRITY´;

  { configurações do driver do dBASE... }
  DBASEVERSION = ´\DRIVERS\DBASE\INIT\;VERSION´;
  DBASETYPE = ´\DRIVERS\DBASE\INIT\;TYPE´;
  DBASELANGDRIVER = ´\DRIVERS\DBASE\INIT\;LANGDRIVER´;
  DBASELEVEL = ´\DRIVERS\DBASE\TABLE CREATE\;LEVEL´;
  DBASEMDXBLOCKSIZE = ´\DRIVERS\DBASE\TABLE CREATE\;MDX BLOCK SIZE´;
  DBASEMEMOFILEBLOCKSIZE = ´\DRIVERS\DBASE\TABLE CREATE\;MEMO FILE BLOCK SIZE´;

  { Configurações do driver do InterBase... }
  INTERBASESERVERNAME = ´\DRIVERS\INTRBASE\DB OPEN\;SERVER NAME´;
  INTERBASEUSERNAME = ´\DRIVERS\INTRBASE\DB OPEN\;USER NAME´;
  INTERBASEOPENMODE = ´\DRIVERS\INTRBASE\DB OPEN\;OPEN MODE´;
  INTERBASESCHEMACACHESIZE = ´\DRIVERS\INTRBASE\DB OPEN\;SCHEMA CACHE SIZE´;
  INTERBASELANGDRIVER = ´\DRIVERS\INTRBASE\DB OPEN\;LANGDRIVER´;
  INTERBASESQLQRYMODE = ´\DRIVERS\INTRBASE\DB OPEN\;SQLQRYMODE´;
  INTERBASESQLPASSTHRUMODE = ´\DRIVERS\INTRBASE\DB OPEN\;SQLPASSTHRU MODE´;
  INTERBASESCHEMACACHETIME = ´\DRIVERS\INTRBASE\DB OPEN\;SCHEMS CACHE TIME´;
  INTERBASEMAXROWS = ´\DRIVERS\INTRBASE\DB OPEN\;MAX ROWS´;
  INTERBASEBATCHCOUNT = ´\DRIVERS\INTRBASE\DB OPEN\;BATCH COUNT´;
  INTERBASEENABLESCHEMACACHE = ´\DRIVERS\INTRBASE\DB OPEN\;ENABLE SCHEMA CACHE´;
  INTERBASEENABLEBCD = ´\DRIVERS\INTRBASE\DB OPEN\;ENABLE BCD´;
  INTERBASEBLOBSTOCACHE = ´\DRIVERS\INTRBASE\DB OPEN\;BLOBS TO CACHE´;
  INTERBASEBLOBSIZE = ´\DRIVERS\INTRBASE\DB OPEN\;BLOB SIZE´;
  INTERBASEVERSION = ´\DRIVERS\INTRBASE\INIT\;VERSION´;
  INTERBASETYPE = ´\DRIVERS\INTRBASE\INIT\;TYPE´;
  INTERBASEDLL = ´\DRIVERS\INTRBASE\INIT\;DLL´;
  INTERBASEDRIVERFLAGS = ´\DRIVERS\INTRBASE\INIT\;DRIVER FLAGS´;
  INTERBASEDLL32 = ´\DRIVERS\INTRBASE\INIT\;DLL32´;
  INTERBASETRACEMODE = ´\DRIVERS\INTRBASE\INIT\;TRACE MODE´;

  { Configurações do driver do Oracle... }
  ORACLEBATCHCOUNT = ´\DRIVERS\ORACLE\DB OPEN\;BATCH COUNT´;
  ORACLEENABLEBCD = ´\DRIVERS\ORACLE\DB OPEN\;ENABLE BCD´;
  ORACLEENABLEINTEGERS = ´\DRIVERS\ORACLE\DB OPEN\;ENABLE INTEGERS´;
  ORACLEENABLESCHEMACACHE = ´\DRIVERS\ORACLE\DB OPEN\;ENABLE SCHEMA CACHE´;
  ORACLELANGDRIVER = ´\DRIVERS\ORACLE\DB OPEN\;LANGDRIVER´;
  ORACLELISTSYNONYMS = ´\DRIVERS\ORACLE\DB OPEN\;LIST SYNONYMS´;
  ORACLEMAXROWS = ´\DRIVERS\ORACLE\DB OPEN\;MAX ROWS´;
  ORACLENETPROTOCOL = ´\DRIVERS\ORACLE\DB OPEN\;NET PROTOCOL´;
  ORACLEOPENMODE = ´\DRIVERS\ORACLE\DB OPEN\;OPENMODE´;
  ORACLEROWSETSIZE = ´\DRIVERS\ORACLE\DB OPEN\;ROWSET SIZE´;
  ORACLESCHEMACACHEDIR = ´\DRIVERS\ORACLE\DB OPEN\;SCHEMA CACHE DIR´;
  ORACLESCHEMACACHESIZE = ´\DRIVERS\ORACLE\DB OPEN\;SCHEMA CACHE SIZE´;
  ORACLESCHEMACACHETIME = ´\DRIVERS\ORACLE\DB OPEN\;SCHEMA CACHE TIME´;
  ORACLESERVERNAME = ´\DRIVERS\ORACLE\DB OPEN\;SERVER NAME´;
  ORACLESQLPASSTHRUMODE = ´\DRIVERS\ORACLE\DB OPEN\;SQLPASSTHRU MODE´;
  ORACLESQLQUERYMODE = ´\DRIVERS\ORACLE\DB OPEN\;SQLQRYMODE´;
  ORACLEUSERNAME = ´\DRIVERS\ORACLE\DB OPEN\;USER NAME´;
  ORACLEDLL = ´\DRIVERS\ORACLE\INIT\;DLL´;
  ORACLEDLL32 = ´\DRIVERS\ORACLE\INIT\;DLL32´;
  ORACLEDRIVERFLAGS = ´\DRIVERS\ORACLE\INIT\;DRIVER FLAGS´;
  ORACLETRACEMODE = ´\DRIVERS\ORACLE\INIT\;TRACE MODE´;
  ORACLETYPE = ´\DRIVERS\ORACLE\INIT\;TYPE´;
  ORACLEVENDORINIT = ´\DRIVERS\ORACLE\INIT\;VENDOR INIT´;
  ORACLEVERSION = ´\DRIVERS\ORACLE\INIT\;VERSION´;

  { Configurações do driver do MSACCESS... }
  MSACCEESSLANGDRIVER = ´\DRIVERS\MSACCESS\DB OPEN\;LANGDRIVER´;
  MSACCESSDATABASENAME = ´\DRIVERS\MSACCESS\DB OPEN\;DATABASE NAME´;
  MSACCESSUSERNAME = ´\DRIVERS\MSACCESS\DB OPEN\;USER NAME´;
  MSACCESSOPENMODE = ´\DRIVERS\MSACCESS\DB OPEN\;OPEN MODE´;
  MSACCESSSYSTEMDATABASE = ´\DRIVERS\MSACCESS\DB OPEN\;SYSTEMDATABASE´;
  MSACCESSVERSION = ´\DRIVERS\MSACCESS\INIT\;VERSION´;
  MSACCESSTYPE = ´\DRIVERS\MSACCESS\INIT\;TYPE´;
  MSACCESSDLL32 = ´\DRIVERS\MSACCESS\INIT\;DLL32´;
  MSACCESSDRIVERFLAGS = ´\DRIVERS\MSACCESS\INIT\;DRIVER FLAGS´;
  MSACCESSTRACEMODE = ´\DRIVERS\MSACCESS\INIT\;TRACE MODE´;

  { Configurações de inicialização do sistema... }
  AUTOODBC = ´\SYSTEM\INIT\;AUTO ODBC´;
  DATAREPOSITORY = ´\SYSTEM\INIT\;DATA REPOSITORY´;
  DEFAULTDRIVER = ´\SYSTEM\INIT\;DEFAULT DRIVER´;
  LANGDRIVER = ´\SYSTEM\INIT\;LANGDRIVER´;
  LOCALSHARE = ´\SYSTEM\INIT\;LOCAL SHARE´;
  LOWMEMORYUSAGELIMIT = ´\SYSTEM\INIT\;LOW MEMORY USAGE LIMIT´;
  MAXBUFSIZE = ´\SYSTEM\INIT\;MAXBUFSIZE´;
  MAXFILEHANDLES = ´\SYSTEM\INIT\;MAXFILEHANDLES´;
  MEMSIZE = ´\SYSTEM\INIT\;MEMSIZE´;
  MINBUFSIZE = ´\SYSTEM\INIT\;MINBUFSIZE´;
  SHAREDMEMLOCATION = ´\SYSTEM\INIT\;SHAREDMEMLOCATION´;
  SHAREDMEMSIZE = ´\SYSTEM\INIT\;SHAREDMEMSIZE´;
  SQLQRYMODE = ´\SYSTEM\INIT\;SQLQRYMODE´;
  SYSFLAGS = ´\SYSTEM\INIT\;SYSFLAGS´;
  VERSION = ´\SYSTEM\INIT\;VERSION´;


crie uma rotina como essa:
function ConfigBDE(Chave: PChar; NovoValor: string): boolean;
var
  hCur : hDBICur;
  Config : CFGDesc;
  ContinueIt: boolean;
  Caminho, Opcao: string;
begin
  Result := False;

  Caminho := Copy(Chave, 0, Pos(´;´, Chave) - 1);
  Opcao := Copy(Chave, Pos(´;´, Chave) + 1, Length(Chave) - Pos(´;´, Chave));
  hCur := nil;

  if (DbiInit(nil) = DBIERR_NONE) and
     (DbiOpenCfgInfoList(nil, dbiREADWRITE, cfgPersistent,
                         PChar(Caminho), hCur) = DBIERR_NONE) and
     (DbiSetToBegin(hCur) = DBIERR_NONE) then
  begin
    ContinueIt := true;
    while ContinueIt do
    begin
      if(DbiGetNextRecord(hCur, dbiWRITELOCK, @Config, nil)  DBIERR_NONE) then
        ContinueIt := false
      else
        if StrIComp(Config.szNodeName, PChar(Opcao)) = 0 then
        begin
          StrCopy(Config.szValue, PChar(NovoValor));
          DbiModifyRecord(hCur, @Config, true);
          Result := True;
          ContinueIt := false
        end;
    end;
    DbiExit();
  end;
end;


e chame-a da seguinte forma:
  if not ConfigBDE(PARADOXFILLFACTOR, ´95´) then
    ShowMessage(´Não foi possível alterar o parâmetro FILL FACTOR!´);
  if not ConfigBDE(PARADOXNETDIR, ´c:\temp´) then
    ShowMessage(´Não foi possível alterar o parâmetro NET DIR!´);


note que no código acima estão sendo utilizadas duas das constantes criadas. também poderia ser passado o valor literal:
  if not ConfigBDE(´\DRIVERS\PARADOX\TABLE CREATE\;FILL FACTOR´, ´95´) then
    ShowMessage(´Não foi possível alterar o parâmetro FILL FACTOR!´);
  if not ConfigBDE(´\DRIVERS\PARADOX\INIT\;NET DIR´, ´c:\temp´) then
    ShowMessage(´Não foi possível alterar o parâmetro NET DIR!´);

onde 95 e c:\temp são os novos valores dos respectivos parâmetros. a opção a ser alterada deve ser precedida por [b:3922c4ffe9];[/b:3922c4ffe9] devido a separação entre caminho e opção, no código da função ConfigBDE.

obs.: declare a unit BDE na cláusula uses.


GOSTEI 0
POSTAR