Deletar registro de um determinado DBF e VALORES ERRADOS

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

joaobholanda
Usuário Nível 1
Usuário Nível 1
Mensagens: 3
Registrado em: 22 Set 2004 11:35

Deletar registro de um determinado DBF e VALORES ERRADOS

Mensagem por joaobholanda »

Ola Pessoal

Tenho um Programa que roda em rede e estou precisando Deletar registro de um determinado DBF só que tenho que usar o PACK para apaga fisicamente mais como estar em rede da erro, preciso de ajuda

tenho outro problema e que quando eu faço um operação matemática dimuindo um valor do outro quando ele grava o resultado ele adiciona um sinal de menos (-) mesmo sendo positivo.

EX. 5-2= 3 so que no sistema fica -3

Obrigado quem poder ajuda
gransoft
Usuário Nível 3
Usuário Nível 3
Mensagens: 321
Registrado em: 06 Jul 2004 17:48
Localização: UBERLÂNDIA-MG
Contato:

Deletar

Mensagem por gransoft »

ARAGUARI-MG, 5 de outubro de 2004.

Prezado João,

Quanto à erros matemáticos, atualize seu Clipper para a Versão 5.2E.

A maneira mais fácil de utilizar o comando PACK seria abrindo o arquivo em modo EXCLUSIVO.

Normalmente, eu abro o arquivo COMPARTILHADO, bloqueio o registro, deleto-o, e em outro módulo, com o arquivo aberto como EXCLUSIVO, utilizo o PACK.

Dependendo do número de registros é inviável utilizar o PACK depois de cada DELETE, pois é muito demorado.

Sugestão para bloquear registro para exclusão no modo COMPARTILHADO:

Código: Selecionar todos

*
HoraData()
SETCOLOR(cCor3)
Centro(24,"CONFIRMA EXCLUSAO  (S/N)? ")
SET CURSOR ON
SETCOLOR(cCor2)  
Confirma(24,COL(),@cConfirma)
SETCOLOR(cCor0)
SET CURSOR OFF
IF (cConfirma == "S")
   *
   HoraData()
   SETCOLOR(cCor4)
   Centro(24,"A G U A R D E  . . .")
   SETCOLOR(cCor0)
   *
*  GOTO nRegistro
   *
   WHILE .T.
      IF Trava_Reg(10)
         DELETE
       * PACK
         COMMIT
         UNLOCK  && DESTRAVA REGISTRO ...
      ELSE 
         Beep(1)
         SETCOLOR(cCor5)
         Mensagem("*** NAO FOI POSSIVEL A EXCLUSAO DESTE REGISTRO ***")
         HoraData()
         cTentar := SPACE(01)
         SETCOLOR(cCor3)
         Centro(24,"DESEJA TENTAR EXCLUIR ESTE REGISTRO NOVAMENTE  (S/N)? ")
         SET CURSOR ON
         SETCOLOR(cCor2)
         Confirma(24,COL(),@cTentar)
         SETCOLOR(cCor0)
         SET CURSOR OFF
         IF cTentar == "S"
            LOOP
         END
      END
      EXIT
   END  && WHILE .T.
END  && WHILE cConfirma == "S"
*

Código: Selecionar todos

FUNCTION Trava_Reg(nTentativa)
LOCAL lSempre
IF RLOCK()
   RETURN (.T.) && TRAVADO ...
END
lSempre := (nTentativa == 0)
WHILE (lSempre .OR. nTentativa > 0)      && .AND. INKEY() <> 27
   IF RLOCK()
      RETURN (.T.)  && TRAVADO ...
   END
   INKEY(.5)  && TENTATIVAS 1/2 SEGUNDO ...
   nTentativa := nTentativa - .5
END
RETURN (.F.)  && NAO TRAVADO ...
***
Atenciosamente,
Janis Peters Grants.

http://www.gransoft.com.br
gransoft@zipmail.com.br
joaobholanda
Usuário Nível 1
Usuário Nível 1
Mensagens: 3
Registrado em: 22 Set 2004 11:35

VALORES ERRADOS

Mensagem por joaobholanda »

João Pessoa 06/10/2004

Boa Noite

Caro Amigo Janis

Gostaria de saber se você tem o clipper5.2e, caso tenho favor emviar para mim ou outra pessoa que tenha o meu e-mail segue abaixo:


joaoholanda@detran.pb.gov.br ou joaoholanda@ibest.com.br


Muito Obrigado

João Holanda
Avatar do usuário
Augusto
Usuário Nível 3
Usuário Nível 3
Mensagens: 473
Registrado em: 26 Ago 2003 17:50
Localização: Maricá/RJ
Contato:

Re: Deletar

Mensagem por Augusto »

gransoft escreveu:Quanto à erros matemáticos, atualize seu Clipper para a Versão 5.2E.
Desculpe a intromissão mas... Esse erro de gravar com o sinal negativo não tem nada haver com a versão do Clipper....
Pode procurar que em algum lugar no PRG existe uma instrução para alterar o sinal... Isso é erro de programação...

Agora... se o amigo tem certeza absoluta dessa afirmação... faz-se necessário avisar a todos os usuários desta versão do Clipper quanto a esse "bug" muito embora eu ache estranho pois é a primeira vez que vejo falar disso aqui no Fórum... e olha que já estou nele desde Jan/2002 quando ainda era no antigo fórum...
:xau Fui...
goulart@provsul.com.br

Faça da PROVSUL o seu Provedor de Serviços WEB
Visite: www.PROVSUL.com.br
Responder