Jump to content


Photo

Conexão Com Banco.fdb Via Arquivo.ini


  • Faça o login para participar
1 reply to this topic

#1 rumao

rumao

    12 Horas

  • Usuários
  • 120 posts
  • Sexo:Não informado

Posted 05/05/2008, 11:07

Bom dia gostaria de saber se alguém pode me explicar como fazer uma Conexão com o Banco de Dados via arquivo.ini
E como fazer isso no Dlephi 7 com Firebird 1.5?
Como tenho que configurar no Delphi ?

Desde já gardeço pela atenção.

#2 rumao

rumao

    12 Horas

  • Usuários
  • 120 posts
  • Sexo:Não informado

Posted 22/07/2008, 09:20

Bom dia eu fiz assim no meu form. Se alguém puder dar uma ajuda ficarei grato.
Para confirurar tem que ser no Form Principal da Aplicação ou pode ser em um DM?


unit UPrincipal;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ComCtrls, ImgList, ToolWin, ExtCtrls, Winsock;

type
TFormPrincipal = class(TForm)
MainMenu1: TMainMenu;
Principal1: TMenuItem;
Configuraes1: TMenuItem;
BackUp1: TMenuItem;
N1: TMenuItem;
Sair1: TMenuItem;
Vendas1: TMenuItem;
Estoque1: TMenuItem;
Cadastros1: TMenuItem;
Produtos1: TMenuItem;
Operaesdeestoque1: TMenuItem;
N2: TMenuItem;
Clientes1: TMenuItem;
Fornecedores1: TMenuItem;
N3: TMenuItem;
Lojas1: TMenuItem;
Funcionrios1: TMenuItem;
N4: TMenuItem;
Administradoras1: TMenuItem;
Bancos1: TMenuItem;
Contascorrentes1: TMenuItem;
Planosdepagamento1: TMenuItem;
Logradouros1: TMenuItem;
Logradouros2: TMenuItem;
N5: TMenuItem;
Pases1: TMenuItem;
Estados1: TMenuItem;
Municpios1: TMenuItem;
Zonas1: TMenuItem;
Bairros1: TMenuItem;
iposdelogradouros1: TMenuItem;
Preposies1: TMenuItem;
stsMensagens: TStatusBar;
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
ImageList1: TImageList;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
Timer1: TTimer;
procedure Sair1Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Pases1Click(Sender: TObject);
procedure Funcionrios1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);

private
{ Private declarations }
public
{ Public declarations }
end;

var
FormPrincipal: TFormPrincipal;

implementation

uses UDM, URotinasGenericas, UCadPais, UCadFuncionarios;

{$R *.dfm}

procedure TFormPrincipal.Sair1Click(Sender: TObject);
begin
Application.Terminate;
end;

procedure TFormPrincipal.Timer1Timer(Sender: TObject);
begin
stsMensagens.Panels[0].Text := TimeToStr(Time);
end;

procedure TFormPrincipal.FormShow(Sender: TObject);
begin
stsMensagens.Panels[1].Text := MostraData;
end;

procedure TFormPrincipal.Pases1Click(Sender: TObject);
begin
FormCadPais:= TFormCadPais.Create(Self);
FormCadPais.ShowModal;
FormCadPais.Release;
FormCadPais:= nil;
end;

procedure TFormPrincipal.Funcionrios1Click(Sender: TObject);
begin
FormCadFuncionarios:= TFormCadFuncionarios.Create(Self);
FormCadFuncionarios.ShowModal;
FormCadFuncionarios.Release;
FormCadFuncionarios:= nil;
end;

// Procedure para conexão via arquivo .ini

//Url: caminho do banco
//Usr: nome de usuário
//Pws: senha
procedure Gravar_Configuracao(Url , Usr, pws : String);
var Banco : TIniFile;
Begin
Try
SetCurrentDir(ExtractFilePath(Application.ExeName));
Banco := TIniFile.create(GetCurrentDir + '\database.ini');
(* onde "c:\database.ini" e o caminho eu por padrão deixo somente
database.ini sem o "c:\" assim será salvo em c:\windows\
Eu alterei o exemplo para que o INI seja sempre gravado no
diretório onde se encontra o executável do programa *)
Banco.WriteString('DATABASE','\logradouro\banco.gdb',URL);
Banco.WriteString('DATABASE','SYSDBA',USR);
Banco.WriteString('DATABASE','masterkey',PWS);
Finnaly
Banco.Free;
End;
End;

//url : caminho do banco / USR : nome de usuário / PWS : senha
(*
O código original não poderia funcionar pois é necessário
que esses parâmetros sejam passados por referência em vez
de por valor como no código original
*)
procedure Ler_Configuracao(var Url: String;
var Usr: String;
var pws: String);
Begin
Try
Banco := TIniFile.create(GetCurrentDir+'\database.ini');
URL := Banco.ReadString('DATABASE','\logradouro',URL);
USR := Banco.ReadString('DATABASE','SYSDBA',USR);
PWS := Banco.ReadString('DATABASE','masterkey',PWS);
Finnaly
Banco.Free;
End;
End;

// Fim arquivo .ini

procedure TFormPrincipal.FormCreate(Sender: TObject);
// Arquivo .ini
var url,usr,pwd : string
begin
SetCurrentDir(ExtractFilePath(Application.ExeName));
IbDatabase.Close;
Ler_configuracao(Url,Usr,Pwd);
IbdataBase.params.add('user_name='+USR);
Ibdatabase.params.add('password ='+PWD);
ibdatabase.DatabaseName := Url;
IbDatabase.Open;
end;

// Fim Arquivo .ini
end;

end.

Edição feita por: rumao, 22/07/2008, 11:43.





0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq