Ir para conteúdo
Fórum Script Brasil
  • 0

Arquivo .ini


Carlos Rocha

Pergunta

Ola pessoal.

Fiz uma aplicação em delphi 7, zeos e Mysql toda com a ajuda aqui do forum.

Porem, quando fui instalar no cliente, ele tem mais 2 computadores em rede e quer a aplicação funcionando neles também.

Eu gostaria de um passo a passo de como fazer um arquivo .ini pra isso.

Obrigado.

Obrigado.

Carlos Rocha

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Eu gostaria de um passo a passo de como fazer um arquivo .ini pra isso.
É tá mesmo faltando um tutorial passo-a-passo para isso, mas dá uma olhada neste post (acompanha ele e os dois seguintes) - acho que já vai dar para a saída...

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

já tentei de todas as formas mas num acha nada de zeos mysql e delphi em rede e tudo que acha é muito confuso.

Normalmente os exemplos que se acha, inclui bancos como firebird e access.

É só isso quer falta, criar a conexao mysql com arquivo .ini.

Por favor se alguém puder mer ajudar.

Muito obrigado.

Editado por Carlos Rocha
Link para o comentário
Compartilhar em outros sites

  • 0

Carlos Rocha, segue um exemplo básico (incrementar e ajustar é por sua conta):

type
  TFormMain = class(TForm)
    ...
  private
    procedure StoreConfig;
    function LoadConfig :boolean;
  end;

implementation
...
uses
  IniFiles;
...
procedure TFormMain.StoreConfig;
var 
  IniFile :TIniFile;
begin
  try
    IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'Config.ini');
    IniFile.WriteString('DATABASE', 'DBServer', ZConnection1.HostName);
    IniFile.WriteString('DATABASE', 'DBName', ZConnection1.Database);
    IniFile.WriteString('DATABASE', 'DBUser', ZConnection1.User);
  finally
    IniFile.Free;
  end;
end;

function TFormMain.LoadConfig :boolean;
var
  IniFile :TIniFile;
begin
  try
    IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName) + 'Config.ini');
    ZConnection1.HostName := IniFile.ReadString('DATABASE', 'DBServer', '');
    ZConnection1.Database := IniFile.ReadString('DATABASE', 'DBName', '');
    ZConnection1.User := IniFile.ReadString('DATABASE', 'DBUser', '');
  finally
    IniFile.Free;
  end;
  Result := ZConnection1.HostName <> '';
end;

procedure TFormMain.FormCreate(Sender: TObject);
begin
  ...
  if not LoadConfig then
  begin
    StoreConfig;
    ShowMessage('Prepare o arquivo de configuração do programa');
    Application.Terminate;
  end else
    ZConnection1.Connect;
end;

procedure TFormMain.FormDestroy(Sender: TObject);
begin
  StoreConfig;
  ...
end;

Explicando um pouquinho...

A idéia é que ao carregar o programa (form principal), sejam carregadas as configurações no arquivo, bem como, ao encerrar, essas configurações sejam salvas.

Para tanto, foi criado um procedimento para gravação (StoreConfig), onde as informações em uso para a conexão são gravadas num arquivo localizado na mesma pasta do programa. São gravados o HostName (que é o IP ou nome que identifica o servidor aonde o banco está instalado), Database e User. A Password NÃO deve ser gravado no arquivo.

Uma função foi criada para a leitura e tem como objetivo carregar do arquivo os parâmetros de conexão, sendo que se o arquivo ainda não existir, as propriedades da conexão serão carregadas com o valor default (o terceiro parâmetro em ReadString - ''), fazendo com que o retorno da mesma seja False. Isto ocorrendo, estaremos gerando o arquivo em branco o qual deve ser preenchido para nova execução do programa. Utilizamos este recurso para evitar que venhamos a tentar conectar ao banco sem que os parâmetros de conexão estejam corretamente configurados.

Atenção e ajustes devem ser realizados no caso do uso de datamodules. Deve-se ter o cuidado de observar que o componente de conexão já deve estar criado, assim, a criação do datamodule tem que preceder a carga das configurações.

Também, ao gerar o projeto final, deve ser verificado que a conexão não esteja ativa (já em design-time) - ela tem que ocorrer em run-time.

E lembre-se dos itens que mencionei neste seu outro post.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...