Arquivo Ini para caminho do banco
Olá Pessoal estou com uma pequena Dúvida tem como criar um arquivo Ini para que meu sistema ele abra em mais de uma maquina na mesma rede ?
estou usando SqlConection, Banco de dados Firebird 2.1.
desde já obg!
estou usando SqlConection, Banco de dados Firebird 2.1.
desde já obg!
Francielio Medeiros
Curtidas 0
Respostas
Luiz Menin
26/02/2013
Claro que pode!
Você pode utilizar este código no evento BeforeConnect do SQLConnection.
Você pode utilizar este código no evento BeforeConnect do SQLConnection.
if not (FileExists(ExtractFilePath(ParamStr(0)) + 'IniConf.INI')) then begin IniConf := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'IniConf.INI'); IniConf.WriteString('BANCO_DADOS', 'HostName', 'LocalHost'); IniConf.WriteString('BANCO_DADOS', 'Port', '266'); end else begin IniConf := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'IniConf.INI'); SQLConnection1.Params.Values['HostName'] := IniConf.ReadString('BANCO_DADOS', 'HostName', ''); SQLConnection1.Params.Values['Port'] := IniConf.ReadString('BANCO_DADOS', 'Port', ''); end;
GOSTEI 0
Luiz Menin
26/02/2013
Ah, não esqueça de inserir no Uses a unit 'IniFiles' e declarar a variável:
var IniConf : TIniFile;
GOSTEI 0
Francielio Medeiros
26/02/2013
Amigo meu codigo ficou assim
unit U_DataModulo;
interface
uses
SysUtils, Classes, WideStrings, DB, SqlExpr, DBXFirebird, FMTBcd, DBClient,
Provider, IniFiles;
type
TDM = class(TDataModule)
SQLConnection1: TSQLConnection;
Q_Cheques: TSQLQuery;
Q_ChequesCODIGO: TIntegerField;
Q_ChequesDATA_EMISSAO: TDateField;
Q_ChequesDATA_VENCIMENTO: TDateField;
Q_ChequesNUMCHEQUE: TStringField;
Q_ChequesTITULAR: TStringField;
Q_ChequesAPELIDO_TITULAR: TStringField;
Q_ChequesTEL_TITULAR: TStringField;
Q_ChequesBANCO: TStringField;
Q_ChequesAGENCIA: TStringField;
Q_ChequesCONTA: TStringField;
Q_ChequesSITUACAO_CHQ: TStringField;
Q_ChequesSACADOR: TStringField;
Q_ChequesTEL_SACADOR: TStringField;
Q_ChequesOBS: TStringField;
DSP_Cheques: TDataSetProvider;
CDS_Cheques: TClientDataSet;
CDS_ChequesCODIGO: TIntegerField;
CDS_ChequesDATA_EMISSAO: TDateField;
CDS_ChequesDATA_VENCIMENTO: TDateField;
CDS_ChequesNUMCHEQUE: TStringField;
CDS_ChequesTITULAR: TStringField;
CDS_ChequesAPELIDO_TITULAR: TStringField;
CDS_ChequesTEL_TITULAR: TStringField;
CDS_ChequesBANCO: TStringField;
CDS_ChequesAGENCIA: TStringField;
CDS_ChequesCONTA: TStringField;
CDS_ChequesSITUACAO_CHQ: TStringField;
CDS_ChequesSACADOR: TStringField;
CDS_ChequesTEL_SACADOR: TStringField;
CDS_ChequesOBS: TStringField;
Q_ChequesVALOR: TFMTBCDField;
CDS_ChequesVALOR: TFMTBCDField;
SQLDataSet1: TSQLDataSet;
DataSetProvider1: TDataSetProvider;
SQLDataSet1CODIGO: TIntegerField;
SQLDataSet1DATA_EMISSAO: TDateField;
SQLDataSet1DATA_VENCIMENTO: TDateField;
SQLDataSet1NUMCHEQUE: TStringField;
SQLDataSet1TITULAR: TStringField;
SQLDataSet1APELIDO_TITULAR: TStringField;
SQLDataSet1TEL_TITULAR: TStringField;
SQLDataSet1BANCO: TStringField;
SQLDataSet1AGENCIA: TStringField;
SQLDataSet1CONTA: TStringField;
SQLDataSet1VALOR: TFMTBCDField;
SQLDataSet1SITUACAO_CHQ: TStringField;
SQLDataSet1SACADOR: TStringField;
SQLDataSet1TEL_SACADOR: TStringField;
SQLDataSet1OBS: TStringField;
ClientDataSet1: TClientDataSet;
ClientDataSet1CODIGO: TIntegerField;
ClientDataSet1DATA_EMISSAO: TDateField;
ClientDataSet1DATA_VENCIMENTO: TDateField;
ClientDataSet1NUMCHEQUE: TStringField;
ClientDataSet1TITULAR: TStringField;
ClientDataSet1APELIDO_TITULAR: TStringField;
ClientDataSet1TEL_TITULAR: TStringField;
ClientDataSet1BANCO: TStringField;
ClientDataSet1AGENCIA: TStringField;
ClientDataSet1CONTA: TStringField;
ClientDataSet1VALOR: TFMTBCDField;
ClientDataSet1SITUACAO_CHQ: TStringField;
ClientDataSet1SACADOR: TStringField;
ClientDataSet1TEL_SACADOR: TStringField;
ClientDataSet1OBS: TStringField;
Q_PesqChq: TSQLQuery;
DSP_PesqChq: TDataSetProvider;
CDS_PesqChq: TClientDataSet;
Q_PesqChqCODIGO: TIntegerField;
Q_PesqChqDATA_EMISSAO: TDateField;
Q_PesqChqDATA_VENCIMENTO: TDateField;
Q_PesqChqNUMCHEQUE: TStringField;
Q_PesqChqTITULAR: TStringField;
Q_PesqChqAPELIDO_TITULAR: TStringField;
Q_PesqChqTEL_TITULAR: TStringField;
Q_PesqChqBANCO: TStringField;
Q_PesqChqAGENCIA: TStringField;
Q_PesqChqCONTA: TStringField;
Q_PesqChqVALOR: TFMTBCDField;
Q_PesqChqSITUACAO_CHQ: TStringField;
Q_PesqChqSACADOR: TStringField;
Q_PesqChqTEL_SACADOR: TStringField;
Q_PesqChqOBS: TStringField;
CDS_PesqChqCODIGO: TIntegerField;
CDS_PesqChqDATA_EMISSAO: TDateField;
CDS_PesqChqDATA_VENCIMENTO: TDateField;
CDS_PesqChqNUMCHEQUE: TStringField;
CDS_PesqChqTITULAR: TStringField;
CDS_PesqChqAPELIDO_TITULAR: TStringField;
CDS_PesqChqTEL_TITULAR: TStringField;
CDS_PesqChqBANCO: TStringField;
CDS_PesqChqAGENCIA: TStringField;
CDS_PesqChqCONTA: TStringField;
CDS_PesqChqVALOR: TFMTBCDField;
CDS_PesqChqSITUACAO_CHQ: TStringField;
CDS_PesqChqSACADOR: TStringField;
CDS_PesqChqTEL_SACADOR: TStringField;
CDS_PesqChqOBS: TStringField;
Q_ChequesCLIENTE: TStringField;
CDS_ChequesCLIENTE: TStringField;
procedure SQLConnection1BeforeConnect(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DM: TDM;
implementation
uses U_CadCheques, U_Principal, U_ListChqData;
{$R *.dfm}
procedure TDM.SQLConnection1BeforeConnect(Sender: TObject);
var
IniConf : TIniFile;
begin
if not (FileExists(ExtractFilePath(ParamStr(0)) + 'IniConf.INI')) then
end;
begin
IniConf := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'IniConf.INI');
IniConf.WriteString('BANCO_DADOS', 'HostName', 'LocalHost');
IniConf.WriteString('BANCO_DADOS', 'Port', '266');
end
else
begin
IniConf := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'IniConf.INI');
SQLConnection1.Params.Values['HostName'] := IniConf.ReadString('BANCO_DADOS', 'HostName', '');
SQLConnection1.Params.Values['Port'] := IniConf.ReadString('BANCO_DADOS', 'Port', '');
end;
end;
end.
precisa de mais alguma coisa ??
unit U_DataModulo;
interface
uses
SysUtils, Classes, WideStrings, DB, SqlExpr, DBXFirebird, FMTBcd, DBClient,
Provider, IniFiles;
type
TDM = class(TDataModule)
SQLConnection1: TSQLConnection;
Q_Cheques: TSQLQuery;
Q_ChequesCODIGO: TIntegerField;
Q_ChequesDATA_EMISSAO: TDateField;
Q_ChequesDATA_VENCIMENTO: TDateField;
Q_ChequesNUMCHEQUE: TStringField;
Q_ChequesTITULAR: TStringField;
Q_ChequesAPELIDO_TITULAR: TStringField;
Q_ChequesTEL_TITULAR: TStringField;
Q_ChequesBANCO: TStringField;
Q_ChequesAGENCIA: TStringField;
Q_ChequesCONTA: TStringField;
Q_ChequesSITUACAO_CHQ: TStringField;
Q_ChequesSACADOR: TStringField;
Q_ChequesTEL_SACADOR: TStringField;
Q_ChequesOBS: TStringField;
DSP_Cheques: TDataSetProvider;
CDS_Cheques: TClientDataSet;
CDS_ChequesCODIGO: TIntegerField;
CDS_ChequesDATA_EMISSAO: TDateField;
CDS_ChequesDATA_VENCIMENTO: TDateField;
CDS_ChequesNUMCHEQUE: TStringField;
CDS_ChequesTITULAR: TStringField;
CDS_ChequesAPELIDO_TITULAR: TStringField;
CDS_ChequesTEL_TITULAR: TStringField;
CDS_ChequesBANCO: TStringField;
CDS_ChequesAGENCIA: TStringField;
CDS_ChequesCONTA: TStringField;
CDS_ChequesSITUACAO_CHQ: TStringField;
CDS_ChequesSACADOR: TStringField;
CDS_ChequesTEL_SACADOR: TStringField;
CDS_ChequesOBS: TStringField;
Q_ChequesVALOR: TFMTBCDField;
CDS_ChequesVALOR: TFMTBCDField;
SQLDataSet1: TSQLDataSet;
DataSetProvider1: TDataSetProvider;
SQLDataSet1CODIGO: TIntegerField;
SQLDataSet1DATA_EMISSAO: TDateField;
SQLDataSet1DATA_VENCIMENTO: TDateField;
SQLDataSet1NUMCHEQUE: TStringField;
SQLDataSet1TITULAR: TStringField;
SQLDataSet1APELIDO_TITULAR: TStringField;
SQLDataSet1TEL_TITULAR: TStringField;
SQLDataSet1BANCO: TStringField;
SQLDataSet1AGENCIA: TStringField;
SQLDataSet1CONTA: TStringField;
SQLDataSet1VALOR: TFMTBCDField;
SQLDataSet1SITUACAO_CHQ: TStringField;
SQLDataSet1SACADOR: TStringField;
SQLDataSet1TEL_SACADOR: TStringField;
SQLDataSet1OBS: TStringField;
ClientDataSet1: TClientDataSet;
ClientDataSet1CODIGO: TIntegerField;
ClientDataSet1DATA_EMISSAO: TDateField;
ClientDataSet1DATA_VENCIMENTO: TDateField;
ClientDataSet1NUMCHEQUE: TStringField;
ClientDataSet1TITULAR: TStringField;
ClientDataSet1APELIDO_TITULAR: TStringField;
ClientDataSet1TEL_TITULAR: TStringField;
ClientDataSet1BANCO: TStringField;
ClientDataSet1AGENCIA: TStringField;
ClientDataSet1CONTA: TStringField;
ClientDataSet1VALOR: TFMTBCDField;
ClientDataSet1SITUACAO_CHQ: TStringField;
ClientDataSet1SACADOR: TStringField;
ClientDataSet1TEL_SACADOR: TStringField;
ClientDataSet1OBS: TStringField;
Q_PesqChq: TSQLQuery;
DSP_PesqChq: TDataSetProvider;
CDS_PesqChq: TClientDataSet;
Q_PesqChqCODIGO: TIntegerField;
Q_PesqChqDATA_EMISSAO: TDateField;
Q_PesqChqDATA_VENCIMENTO: TDateField;
Q_PesqChqNUMCHEQUE: TStringField;
Q_PesqChqTITULAR: TStringField;
Q_PesqChqAPELIDO_TITULAR: TStringField;
Q_PesqChqTEL_TITULAR: TStringField;
Q_PesqChqBANCO: TStringField;
Q_PesqChqAGENCIA: TStringField;
Q_PesqChqCONTA: TStringField;
Q_PesqChqVALOR: TFMTBCDField;
Q_PesqChqSITUACAO_CHQ: TStringField;
Q_PesqChqSACADOR: TStringField;
Q_PesqChqTEL_SACADOR: TStringField;
Q_PesqChqOBS: TStringField;
CDS_PesqChqCODIGO: TIntegerField;
CDS_PesqChqDATA_EMISSAO: TDateField;
CDS_PesqChqDATA_VENCIMENTO: TDateField;
CDS_PesqChqNUMCHEQUE: TStringField;
CDS_PesqChqTITULAR: TStringField;
CDS_PesqChqAPELIDO_TITULAR: TStringField;
CDS_PesqChqTEL_TITULAR: TStringField;
CDS_PesqChqBANCO: TStringField;
CDS_PesqChqAGENCIA: TStringField;
CDS_PesqChqCONTA: TStringField;
CDS_PesqChqVALOR: TFMTBCDField;
CDS_PesqChqSITUACAO_CHQ: TStringField;
CDS_PesqChqSACADOR: TStringField;
CDS_PesqChqTEL_SACADOR: TStringField;
CDS_PesqChqOBS: TStringField;
Q_ChequesCLIENTE: TStringField;
CDS_ChequesCLIENTE: TStringField;
procedure SQLConnection1BeforeConnect(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DM: TDM;
implementation
uses U_CadCheques, U_Principal, U_ListChqData;
{$R *.dfm}
procedure TDM.SQLConnection1BeforeConnect(Sender: TObject);
var
IniConf : TIniFile;
begin
if not (FileExists(ExtractFilePath(ParamStr(0)) + 'IniConf.INI')) then
end;
begin
IniConf := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'IniConf.INI');
IniConf.WriteString('BANCO_DADOS', 'HostName', 'LocalHost');
IniConf.WriteString('BANCO_DADOS', 'Port', '266');
end
else
begin
IniConf := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'IniConf.INI');
SQLConnection1.Params.Values['HostName'] := IniConf.ReadString('BANCO_DADOS', 'HostName', '');
SQLConnection1.Params.Values['Port'] := IniConf.ReadString('BANCO_DADOS', 'Port', '');
end;
end;
end.
precisa de mais alguma coisa ??
GOSTEI 0
Luiz Menin
26/02/2013
A principio não. Porém, você deve verificar duas coisas:
- Eu utilizo arquitetura cliente/servidor. Se você utiliza também, vai funcionar sem problemas.
- Se você não utiliza, deve alterar os parâmetros. Por exemplo, path do banco de dados.
- Eu utilizo arquitetura cliente/servidor. Se você utiliza também, vai funcionar sem problemas.
- Se você não utiliza, deve alterar os parâmetros. Por exemplo, path do banco de dados.
GOSTEI 0
Francielio Medeiros
26/02/2013
eu criei um arquivo INI nele coloquei
Arquivo Ini contem:
[CONFIG]
DATABASE=LocalHost:C:\MSCheques\BANCO\MSDADOS.FDB
Arquivo Ini contem:
[CONFIG]
DATABASE=LocalHost:C:\MSCheques\BANCO\MSDADOS.FDB
GOSTEI 0
Luiz Menin
26/02/2013
procedure TDM.SQLConnection1BeforeConnect(Sender: TObject); var IniConf : TIniFile; begin if not (FileExists(ExtractFilePath(ParamStr(0)) + 'IniConf.INI')) then end; begin IniConf := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'IniConf.INI'); IniConf.WriteString('CONFIG', 'DATABASE', 'LocalHost:C:\MSCheques\BANCO\MSDADOS.FDB'); end else begin IniConf := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'IniConf.INI'); SQLConnection1.Params.Values['HostName'] := IniConf.ReadString('CONFIG', 'DATABASE', ''); end; end;
Fico no aguardo do resultado...
GOSTEI 0
Luiz Menin
26/02/2013
Corrigido:
procedure TDM.SQLConnection1BeforeConnect(Sender: TObject); var IniConf : TIniFile; begin if not (FileExists(ExtractFilePath(ParamStr(0)) + 'IniConf.INI')) then end; begin IniConf := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'IniConf.INI'); IniConf.WriteString('CONFIG', 'DATABASE', 'LocalHost:C:\MSCheques\BANCO\MSDADOS.FDB'); end else begin IniConf := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'IniConf.INI'); SQLConnection1.Params.Values['DataBase'] := IniConf.ReadString('CONFIG', 'DATABASE', ''); end; end;
GOSTEI 0
Francielio Medeiros
26/02/2013
Amigo o Arquivo foi criado agora e ta funcionando perfeito vou agora instalar no em rede local e volto aqui para dizer mais desde já muito obg pela ajuda!!!!!
O Mundo precisa de mais pessoas como vc que ajuda aos outros tudo de Bom!!!
O Mundo precisa de mais pessoas como vc que ajuda aos outros tudo de Bom!!!
GOSTEI 0
Luiz Menin
26/02/2013
Obrigado.
Estou apenas retribuindo a ajuda que me foi dada quando iniciei a programar e visitava fóruns em busca de soluções.
Fico no aguardo do resultado.
Abraço.
Estou apenas retribuindo a ajuda que me foi dada quando iniciei a programar e visitava fóruns em busca de soluções.
Fico no aguardo do resultado.
Abraço.
GOSTEI 0
José
26/02/2013
tópico concluído.
GOSTEI 0