FileExists com localhost ou Maquina da rede

Delphi

28/01/2010

Pessoal,

Estou tendando utilizar a funcao FileExists para saber um determinado arquivo exite em um diretorio na maquina local ou em outra maquina.

Ao executar FileExists('c:\Database\ARQ.GDB') funciona perfeitamente,
mas se tentar:

FileExists('localhost:c:\Database\ARQ.GDB')
ou
FileExists('127.0.0.1:c:\Database\ARQ.GDB')
ou
FileExists('nomeDoServidor:c:\Database\ARQ.GDB')

Dá erro.

Alguem ai sabe o porque? 

Ou se tem alguma outra funcao para verificar se existe  arquivo na maquina localmente o em outro computador?

Obrigada.
Patricia

Patricia Faria

Patricia Faria

Curtidas 0

Respostas

Wilson Junior

Wilson Junior

28/01/2010

Você deve colocar o caminho físico do arquivo e não o de acesso pelo ao BD.

Exemplo:
Caminho para acessar o BD:
  FileExists('nomeDoServidor:c:\Database\ARQ.GDB')

Caminho físico:
  FileExists('\\nomeDoServidor\Database\ARQ.GDB')


Espero ter ajudado.
GOSTEI 0
Patricia Faria

Patricia Faria

28/01/2010

Tambem nao fucionou.

tentei fazer "a mão" desta forma:

 if FileExists('\\localhost\Database\ARQ.GDB')
  then ShowMessage('ok')
  else ShowMessage('arquivo nao encontrado');


O que estou tentando fazer é o seguinte:

A aplicacao ira utilizar um arquivo ini contendo: NomeServidor  e NomeBanco

NomeServidor=:C:
NomeBanco=\Database\Arq.GDB

ou

NomeServidor=localhost:C:
NomeBanco=\Database\Arq.GDB

ou

NomeServidor=recepcao:C:
NomeBanco=\Database\Arq.GDB


onde

Arquivo = nomeServidor+NomeBanco

if FileExists(Arquivo)
  then --> faz alguma coisa
  else --> nao faz nada

apenas quando o nome servidor é C: é que funciona
para os demais é mostrado um erro de IB_Server







GOSTEI 0
Wilson Junior

Wilson Junior

28/01/2010

Alguns motivos que podem etar gerando o erro:
a pasta "Database" não está compartilhada;o nome do seu servidor não pode ser ":C:" e sim "C:";
Para saber qual o caminho físico, é o mesmo mostrado no Windows Explorer




Qualquer dúvida ainda, pergunte. Espero ter ajudado.
GOSTEI 0
Patricia Faria

Patricia Faria

28/01/2010

Consegui resolver fazendo assim:

ChDir('\\NomeServidor\Database');
if FileExists('Arq.GDB')
   then ShowMessage('ok') else ShowMessage('arquivo nao encontrado');

Obrigada,
Patricia
GOSTEI 0
POSTAR