DOS ERROR 2 como evitar?

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
juniorcamilo
Usuário Nível 3
Usuário Nível 3
Mensagens: 343
Registrado em: 10 Nov 2006 09:12
Localização: Pará

DOS ERROR 2 como evitar?

Mensagem por juniorcamilo »

Amogos mais uma vez eu to aqui com uma duvida.... como faço para saber c o local onde vou criar um arquivo existe... tipo estou com o executavel em maquina local e quero fazer um dbcreate na rede, como saber c a unidade referenciada esta ou nao acessivel e existe?
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

DOS ERROR 2 como evitar?

Mensagem por Pablo César »

É só procurar um determinado arquivo se existe.

IF FILE("G:\PASTA\ARQUIVO") => vai me retornar se existe ou não. Se você tiver certeza de que acessando a unidade, na pasta tal terá de ter o determinado arquivo_x, então é só ver ser está acessível. Você também pode abrir e criar um arquivo determinado arquivo em baixo nível. Se não retornou erro é, porque está acessível.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
juniorcamilo
Usuário Nível 3
Usuário Nível 3
Mensagens: 343
Registrado em: 10 Nov 2006 09:12
Localização: Pará

Re: DOS ERROR 2 como evitar?

Mensagem por juniorcamilo »

a duvida é assim ,... criar um arquivo que nao existe.. arquivos temporario... dbcreate("Z:\SISTEMA\ARQX",aEstrutura)....
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

DOS ERROR 2 como evitar?

Mensagem por Pablo César »

Acho que você não entendeu o que eu quis dizer. Veja este tópico que tratou sobre isso: viewtopic.php?f=1&t=3640&st=0&sk=t&sd=a&hilit=FOPEN#p38146

Então você primeiro tenta criar um arquivo em baixo nível, se ele criou, então você pode proceder com a criação do DBF caso contrário você dâ uma mensagem que não tem acesso a unidade ou pasta determinada.

De todas formas eu criaria uma pasta TEMP no C: (local) que é o meio mais rápido de acessar, isto é, não criaria o temporário dentro de uma unidade de rede.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Eolo
Colaborador
Colaborador
Mensagens: 1134
Registrado em: 08 Dez 2005 18:24
Localização: São Paulo - SP

Re: DOS ERROR 2 como evitar?

Mensagem por Eolo »

JuniorCamilo,

A função DBCreate tem 2 "problemas": primeiro, ela não dá nenhum retorno, então não dá pra saber se o arquivo foi ou não criado. Segundo, se o arquivo a ser criado já existir, ele será sobrescrito, sem aviso. Então, cuidado...

Moral da história: se vc tem certeza que o tal arquivo temporário não existe, rode o DBCreate. Depois, abra esse arquivo temporário e, em seguida, rode a função NETERR(): se ela retornar .T., deu certo; se retornar .F., não deu.

Exemplo:

Código: Selecionar todos

dbcreate("Z:\SISTEMA\ARQX",aEstrutura)
use z:\SISTEMA\ARQX new
if neterr()=.t.
  wait "arquivo z:\SISTEMA\ARQX não criado!"
else
  wait "arquivo z:\SISTEMA\ARQX criado e aberto!"
endi
quit
Avatar do usuário
juniorcamilo
Usuário Nível 3
Usuário Nível 3
Mensagens: 343
Registrado em: 10 Nov 2006 09:12
Localização: Pará

Re: DOS ERROR 2 como evitar?

Mensagem por juniorcamilo »

Olha em relacao a arquivo temporario em rede sim realmente fica mais lento é é uma doidura fazer, mas neste caso este arquivo vomos dizer assim temporario é o seguinte, é um arquivo que carrega a tela do terminal que esta em uso, ou seja, é uma funcao que desenvolvi, para ficaar vigiando os terminais trabalhando,,, ai tem que c gravar na rede, so que de x em quando este arquivo deve ser apagado ai logo apos deve c cria-lo novamente... como estou tentando mudar a forma de executar meu sistema, em x de executar por atalho na rede vou executar por atalho na maquina local, penso eu que assim vou ganhar mais rapidez e tratarei os erros de rede mais facil, pois aqui no Pará à muita queda de energia e muito operadores desqualificado... esta d+ dando problema em arquivo e indice...

em relacao a criar o arquivo primeiro, acho que nao da certo pois da a mensagem de erro DOS ERRO 2.. acho que o certo e primeiro tentar abrir c abrir um arquivo que sabemos que la existe, assim entao saberemos c existe o caminho e arquivo especificado,,, sei la tem hora que a jente nao pensa numa solucao tao simples assim, fica sempre querendo procurar chifre na cabeça de cavalo primeiro,rsrsrsrsr

Vale Eolo e tds novamente
Responder