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

(Resolvido)conetar-se pelo initfile


rebotea

Pergunta

como conectar-se remotamente e se não for encontrado o caminho conetar-se localmente.. estou tentando mas esta dando erro..

Obrigado.

Inifile.....

[acesso]

banco=H\c:\controlo\db\base_dados.mdb

PastasLocais=H\c:\controlo\

BancoRemto=D:\Prog gestão\db\base_dados.mdb

PastasRemto=D:\Prog gestão\

vBanco : String;

IniFileName : TIniFile;

begin

IniFileName := TIniFile.Create(ExtractFilePath(ParamStr(0))+FileName);

Try

vBanco := Trim(IniFileName.ReadString('acesso','BancoRemto',''));

Dirlocal := Trim(IniFileName.ReadString('acesso','PastasRemto',''));

frmPrincipal.Edit1.text := Dirlocal ;

Dirtrabalho := (ExtractFilePath(Application.ExeName));

// Aqui necessitava que caso não fosse encontrado o caminho"BancoRemto" ele se conecta-se ao local"banco"

except

IniFileName := TIniFile.Create(ExtractFilePath(ParamStr(0))+FileName);

Try

vBanco := Trim(IniFileName.ReadString('acesso','banco',''));

Dirlocal := Trim(IniFileName.ReadString('acesso','PastasLocais',''));

frmPrincipal.Edit1.text := Dirlocal ;

Dirtrabalho := (ExtractFilePath(Application.ExeName));

Finally

end;

IniFileName.Free;

end;

Conection.ConnectionString := vBanco;

end;

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

6 respostass a esta questão

Posts Recomendados

  • 0

se ele não conseguir ligar ao banco dados

vBanco := Trim(IniFileName.ReadString('acesso','BancoRemto',''));

Dirlocal := Trim(IniFileName.ReadString('acesso','PastasRemto',''));

não procura o banco de dados local

vBanco := Trim(IniFileName.ReadString('acesso','banco',''));

Dirlocal := Trim(IniFileName.ReadString('acesso','PastasLocais',''));

obrigado,

Link para o comentário
Compartilhar em outros sites

  • 0

tentei dar uma reestruturada no seu código...

substitua a linha que comentei pelo comando de conexão do seu Connection...

vBanco : String;
 IniFileName : TIniFile;
begin
    IniFileName := TIniFile.Create(ExtractFilePath(ParamStr(0))+FileName);
    Try
        vBanco := Trim(IniFileName.ReadString('acesso','BancoRemto',''));
        Dirlocal := Trim(IniFileName.ReadString('acesso','PastasRemto',''));
        frmPrincipal.Edit1.text := Dirlocal;
        Dirtrabalho := (ExtractFilePath(Application.ExeName));

        Conection.ConnectionString := vBanco;

        // não sei qual connection está usando, aki você tenta conecta-lo. Ex: connection.Connect;
    except
        begin
            Try
                vBanco := Trim(IniFileName.ReadString('acesso','banco',''));
                Dirlocal := Trim(IniFileName.ReadString('acesso','PastasLocais',''));
                frmPrincipal.Edit1.text := Dirlocal;
                Dirtrabalho := (ExtractFilePath(Application.ExeName));
            Finally
            end;
        end;
    end;

    IniFileName.Free;
end;

Link para o comentário
Compartilhar em outros sites

  • 0

em vez de except que outro comando poderia utilizar já que estou a pegar o erro em outro local .

Aqui necessitava algo assim

if FileExists (remote+'db\ado.mdb')

then

vBanco := Trim(IniFileName.ReadString('acesso','BancoRemto',''));

Dirlocal := Trim(IniFileName.ReadString('acesso','PastasRemto',''));

else

vBanco := Trim(IniFileName.ReadString('acesso','banco',''));

Dirlocal := Trim(IniFileName.ReadString('acesso','PastasLocais',''));

.

Obrigado

tentei dar uma reestruturada no seu código...

substitua a linha que comentei pelo comando de conexão do seu Connection...

vBanco : String;
 IniFileName : TIniFile;
begin
    IniFileName := TIniFile.Create(ExtractFilePath(ParamStr(0))+FileName);
    Try
        vBanco := Trim(IniFileName.ReadString('acesso','BancoRemto',''));
        Dirlocal := Trim(IniFileName.ReadString('acesso','PastasRemto',''));
        frmPrincipal.Edit1.text := Dirlocal;
        Dirtrabalho := (ExtractFilePath(Application.ExeName));

        Conection.ConnectionString := vBanco;

        // não sei qual connection está usando, aki você tenta conecta-lo. Ex: connection.Connect;
    except
        begin
            Try
                vBanco := Trim(IniFileName.ReadString('acesso','banco',''));
                Dirlocal := Trim(IniFileName.ReadString('acesso','PastasLocais',''));
                frmPrincipal.Edit1.text := Dirlocal;
                Dirtrabalho := (ExtractFilePath(Application.ExeName));
            Finally
            end;
        end;
    end;

    IniFileName.Free;
end;

Link para o comentário
Compartilhar em outros sites

  • 0

tente isso:

vBanco : String;
IniFileName : TIniFile;
begin
    IniFileName := TIniFile.Create(ExtractFilePath(ParamStr(0))+FileName);

        vBanco := Trim(IniFileName.ReadString('acesso','BancoRemto',''));
        Dirlocal := Trim(IniFileName.ReadString('acesso','PastasRemto',''));
        frmPrincipal.Edit1.text := Dirlocal;
        Dirtrabalho := (ExtractFilePath(Application.ExeName));

        Conection.ConnectionString := vBanco;

        // não sei qual connection está usando, aki você tenta conecta-lo. Ex: connection.Connect;

        if not COMPONENTE_DE_CONEXÃO.connected then //cheque se seu componente conseguiu conectar...
        begin
                vBanco := Trim(IniFileName.ReadString('acesso','banco',''));
                Dirlocal := Trim(IniFileName.ReadString('acesso','PastasLocais',''));
                frmPrincipal.Edit1.text := Dirlocal;
                Dirtrabalho := (ExtractFilePath(Application.ExeName));
        end;

    IniFileName.Free;
end;

Link para o comentário
Compartilhar em outros sites

  • 0

esta Resolvido Obrigado pela Ajuda

procedure TfrmDados.ConectionBeforeConnect(Sender: TObject);

const

FileName = 'config.ini';

var

vBanco : String;

IniFileName : TIniFile;

LBasedados : String;

begin

IniFileName := TIniFile.Create(ExtractFilePath(ParamStr(0))+FileName);

vBanco := Trim(IniFileName.ReadString('acesso','BDtrabalho',''));

Dirlocal := Trim(IniFileName.ReadString('acesso','Pastrabalho',''));

LBasedados := Dirlocal+'db\'+'base_dados.mdb';

frmPrincipal.Edit1.text := Dirlocal;

Dirtrabalho := (ExtractFilePath(Application.ExeName));

if FileExists(LBasedados) then

Conection.ConnectionString := vBanco

else

begin

Application.MessageBox('Bade dados do servidor não encontrada vai trabalhar neste Computador!','Ligação Remota FALHOU');

vBanco := Trim(IniFileName.ReadString('acesso','BD_local',''));

Dirlocal := Trim(IniFileName.ReadString('acesso','Pasta_local',''));

frmPrincipal.Edit1.text := Dirlocal;

Dirtrabalho := (ExtractFilePath(Application.ExeName));

Conection.ConnectionString := vBanco;

end;

IniFileName.Free;

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...