rebotea Postado Junho 4, 2010 Denunciar Share Postado Junho 4, 2010 (editado) 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.mdbPastasLocais=H\c:\controlo\BancoRemto=D:\Prog gestão\db\base_dados.mdbPastasRemto=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 Junho 8, 2010 por rebotea Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Daniel Sanches Postado Junho 4, 2010 Denunciar Share Postado Junho 4, 2010 que erro está dando ??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rebotea Postado Junho 5, 2010 Autor Denunciar Share Postado Junho 5, 2010 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 localvBanco := Trim(IniFileName.ReadString('acesso','banco',''));Dirlocal := Trim(IniFileName.ReadString('acesso','PastasLocais',''));obrigado, Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Daniel Sanches Postado Junho 5, 2010 Denunciar Share Postado Junho 5, 2010 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; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rebotea Postado Junho 7, 2010 Autor Denunciar Share Postado Junho 7, 2010 em vez de except que outro comando poderia utilizar já que estou a pegar o erro em outro local .Aqui necessitava algo assimif FileExists (remote+'db\ado.mdb')thenvBanco := Trim(IniFileName.ReadString('acesso','BancoRemto','')); Dirlocal := Trim(IniFileName.ReadString('acesso','PastasRemto',''));elsevBanco := Trim(IniFileName.ReadString('acesso','banco',''));Dirlocal := Trim(IniFileName.ReadString('acesso','PastasLocais',''));.Obrigadotentei 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; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Daniel Sanches Postado Junho 8, 2010 Denunciar Share Postado Junho 8, 2010 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; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rebotea Postado Junho 8, 2010 Autor Denunciar Share Postado Junho 8, 2010 esta Resolvido Obrigado pela Ajudaprocedure 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; Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
rebotea
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 reboteaLink para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
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.