Como saber se meu sistema em clipper ja esta aberto

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
Clipper
Colaborador
Colaborador
Mensagens: 1334
Registrado em: 23 Ago 2004 00:04
Localização: Recife/PE

Mensagem por Clipper »

Prezado Janio

Eu também abro e fecho meus DBF´s conforme vou usando, utilizo a TRAVAJAN() tranquilamente, porém neste caso você não poderá usar DBCLOSEALL() ou CLOSE ALL, você terá que fechar os arquivos individualmente com DBCLOSE().

Até logo.

Marcelo
Programador que é programador, quando tá de folga vai inventar função nova, fazer testes, ou seja... se divertir
Cobra 210 - Drive de 8" 1.024 KB - 64 KB RAM - Impressora de Linha Cobra - Visicalc - Fortran - Dialog - Sistema Operacional SP/M (é sp/m mesmo - era o cp/m da cobra)
Avatar do usuário
Vander
Usuário Nível 3
Usuário Nível 3
Mensagens: 214
Registrado em: 23 Jul 2004 01:43
Localização: João Monlevade - MG

Mensagem por Vander »

A função é a do amigo clipper, porém não é a versão para XP e eu abro e fecho os arquivos DBF a cada módulo de acordo com a necessidade e funciona perfeitamente.

Aqui esta a função

Código: Selecionar todos

*---------------------------------------------------------------*
* Esta fun‡Æo impede que um sistema seja aberto mais de uma vez *
* fa‡a a cahamada dela no inicio do sistema                     *
* Exemplo                                                       *
* IF TRAVAJAN()=.F.                                             *
*    //Sai do sistema
*    QUIT // Ou RETURN  
* ENDIF
*                                                               *
*---------------------------------------------------------------*
*-----------------*
 FUNCTION TRAVAJAN
*-----------------*
IF !FILE("CONTROLE.INI")
   VA=FCREATE("CONTROLE.INI",0)
   FWRITE(VA,"[ Arquivo de Controle do Sistema ]")
   FCLOSE(VA)
ELSE
   VA=FOPEN("CONTROLE.INI",1)
   IF FERROR()<>0
      CLS
      @ 02,00 SAY "O Sistema ja esta sendo executado..."
      @ 03,00 SAY STRZERO(FERROR(),3)
      @ 04,00 SAY STRZERO(VA,3)
      @ 05,00 SAY REPLICATE("=",40)
      RETURN(.F.)
   ENDIF
ENDIF
RETURN(.T.)
Avatar do usuário
Vander
Usuário Nível 3
Usuário Nível 3
Mensagens: 214
Registrado em: 23 Jul 2004 01:43
Localização: João Monlevade - MG

Mensagem por Vander »

A função é a do amigo clipper, porém não é a versão para XP e eu abro e fecho os arquivos DBF a cada módulo de acordo com a necessidade e funciona perfeitamente.

Aqui esta a função

Código: Selecionar todos

*---------------------------------------------------------------*
* Esta fun‡Æo impede que um sistema seja aberto mais de uma vez *
* fa‡a a cahamada dela no inicio do sistema                     *
* Exemplo                                                       *
* IF TRAVAJAN()=.F.                                             *
*    //Sai do sistema
*    QUIT // Ou RETURN  
* ENDIF
*                                                               *
*---------------------------------------------------------------*
*-----------------*
 FUNCTION TRAVAJAN
*-----------------*
IF !FILE("CONTROLE.INI")
   VA=FCREATE("CONTROLE.INI",0)
   FWRITE(VA,"[ Arquivo de Controle do Sistema ]")
   FCLOSE(VA)
ELSE
   VA=FOPEN("CONTROLE.INI",1)
   IF FERROR()<>0
      CLS
      @ 02,00 SAY "O Sistema ja esta sendo executado..."
      @ 03,00 SAY STRZERO(FERROR(),3)
      @ 04,00 SAY STRZERO(VA,3)
      @ 05,00 SAY REPLICATE("=",40)
      RETURN(.F.)
   ENDIF
ENDIF
RETURN(.T.)
Avatar do usuário
Marcos
Usuário Nível 3
Usuário Nível 3
Mensagens: 355
Registrado em: 20 Set 2003 09:16
Localização: Cáceres/Mato Grosso

Mensagem por Marcos »

Também utilizo a Função do amigo Marcelo que funciona perfeitamente, atendendo minhas necessidades.
Abraços,
Marcos.
Atenciosamente,
_____________________________
Marcos Antonio da Silva
marcosilva90@hotmail.com
Responder