PROGRAMA EM REDE

Aqui é o lugar para bater papo e trocar idéias sobre os mais variados assuntos

Moderador: Moderadores

Claudio Cesar Veroneze
Usuário Nível 1
Usuário Nível 1
Mensagens: 2
Registrado em: 30 Dez 2006 11:19
Localização: Paranaiba-MS

PROGRAMA EM REDE

Mensagem por Claudio Cesar Veroneze »

POR FAVOR.... PRECISO DE AJUDA PARA FAZER UM PROGRAMA RODAR EM REDE, E NÃO ESTOU CONSEGUINDO.
EU USO NO INCIO PARA ABRIR OS ARQUIVOS O SEGUINTE:


SELE 1
USE FORNEC
INDEX ON FORNEC TO FOR
INDEX ON CODIGO TO COD
SET INDEX FOR,COD

E PARA USAR NAS ROTINAS

SELE 1
SET ORDER TO 1

SÓ QUE EM REDE DA PAU
OBRIGADO PELA ATENÇÃO
toya
Usuário Nível 3
Usuário Nível 3
Mensagens: 157
Registrado em: 26 Jul 2004 16:51
Localização: Campo Grande/MS - Brasil
Contato:

Mensagem por toya »

Rapaz.... nos meus alfarrabios encontrei este modelo para Clipper...
Não sei se te serve....

Seu exemplo ficaria assim

Código: Selecionar todos

if abrearq( 'fornec', 'fornec', .t., 100 )
        index on fornec to for
        index on codigo to cod
        set index for,cod
endif



***********************************************************
//    CLIPPER 5.0 
***********************************************************
/*             FUN€OES DE REDE LOCAL
Fun‡oes para processamento compartilhado em rede
de microcomputadores.
*/
***********************************************************
/* Fun‡oes para:
-----------------------------------------------------------
Comandos                  Prop¢sito
-----------------------------------------------------------
1. USE [EXCLUSIVE][SHARED] Abertura de arquivos.
2. FLOCK()                 Bloqueio do arquivo em uso.
3. RLOCK()/LOCK()          Bloqueio do registro corrente.
4. APPEND BLANK            Inclusao de um novo registro.
*/
***********************************************************
FUNCTION ABREARQ(arq,ape,modo,vezes)
***********************************************************
LOCAL sempre, vtela
sempre:=(vezes = 0)
setcursor(0)
vtela :=SAVESCREEN(24,00,24,79)
ANTECOR=SETCOLOR()
SETCOLOR("W+*")
@ 24,00 SAY PADC("Aguarde...Tentando Acesso ao Arquivo "+arq,80)
SETCOLOR("W")
/*
Efetua um determinado n£mero de tentativas para abrir o arquivo
ou indefinidamente caso vezes=0. Se a tecla <Esc> for pressionada
pelo usu rio, as tentativas sao interrompidas.
*/
DO WHILE (sempre .OR. vezes > 0) .AND. INKEY()<>27
   IF modo
      // Modo exclusivo.
      USE (arq) ALIAS (ape) EXCLUSIVE &&NEW
   ELSE
      // Modo compartilhado.
      USE (arq) ALIAS (ape) SHARED &&NEW
   ENDIF
   IF .NOT. NETERR()
      // USE bem-sucedido, arquivo aberto.
      RESTSCREEN(24,00,24,79,vtela)
      SETCOLOR(ANTECOR)
      setcursor(1)
      RETURN (.T.)
   ENDIF
   INKEY(1)            // Aguarda 1 segundo.
   vezes--             // Decrementa a vari vel vezes.
ENDDO
RESTSCREEN(24,00,24,79,vtela)
SETCOLOR(ANTECOR)
// USE malsucedido, arquivo nao dispon¡vel.
RETURN (.F.)
***********************************************************
FUNCTION BLOQARQ(vezes)
***********************************************************
LOCAL sempre,vtela
IF FLOCK()
   RETURN (.T.)            // Arquivo bloqueado
ENDIF
vtela:=SAVESCREEN(24,00,24,79)
ANTECOR=SETCOLOR()
SETCOLOR("W+*")
setcursor(0)
@ 24,00 SAY PADC("Aguarde...Tentando Acesso Exclusivo ao Arquivo "+alias(),80)
SETCOLOR("W")
sempre:=(vezes = 0)
/*
Efetua um determinado n£mero de tentativas para bloquear o
arquivo ou indefinidamente caso vezes=0. Se a tecla <Esc> for
pressionada pelo usu rio, as tentativas de bloqueio sao interrompidas.
*/
DO WHILE (sempre .OR. vezes > 0) .AND. INKEY()<>27
   INKEY(1)          // Aguarda 1 segundo.
   vezes--           // Decrementa a vari vel vezes.
   IF FLOCK()
      RESTSCREEN(24,00,24,79,vtela)
      // Arquivo bloqueado.
      SETCOLOR(ANTECOR)
      setcursor(1)
      RETURN (.T.)
   ENDIF
ENDDO
RESTSCREEN(24,00,24,79,vtela)
// Arquivo nao bloqueado.
RETURN (.F.)
***********************************************************
FUNCTION BLOQREG(vezes)
***********************************************************
LOCAL sempre,vtela
IF RLOCK()
   RETURN (.T.)       // Registro bloqueado.
ENDIF
vtela:=SAVESCREEN(24,00,24,79)
ANTECOR=SETCOLOR()
SETCOLOR("W+*")
setcursor(0)
@ 24,00 SAY PADC("Aguarde...Tentando Acessar Registro no Arquivo "+alias(),80)
SETCOLOR("W")
sempre:=(vezes = 0)
/*
Efetua um determinado n£mero de tentativas para bloquear
o registro ou indefinidamente caso vezes=0. Se a tecla <Esc>
for pressionada pelo usu rio, as tentativas sao interrompidas.
*/
DO WHILE (sempre .OR. vezes > 0) .AND. INKEY()<>27
   IF RLOCK()
      RESTSCREEN(24,00,24,79,vtela)
      // Registro bloqueado.
      SETCOLOR(ANTECOR)
      setcursor(1)
      RETURN (.T.)
   ENDIF
   INKEY(1)           // Aguarda 1 segundo.
   vezes--            // Decrementa a vari vel vezes.
ENDDO
RESTSCREEN(24,00,24,79,vtela)
// Registro nao bloqueado.
RETURN (.F.)
***********************************************************
FUNCTION Adireg(vezes)
***********************************************************
LOCAL sempre,vtela
APPEND BLANK
IF .NOT. NETERR()
   // Novo registro inclu¡do e bloqueado.
   RETURN (.T.)
ENDIF
vtela:=SAVESCREEN(24,00,24,79)
ANTECOR=SETCOLOR()
SETCOLOR("W+*")
setcursor(0)
@ 24,00 SAY PADC("Aguarde...Tentando Adicionar Registro no Arquivo "+alias(),80)
SETCOLOR("W")
sempre:=(vezes = 0)
/*
Efetua um determinado n£mero de tentativas para adicionar o novo
registro no arquivo ou indefinidamente caso vezes=0. Se a tecla
<Esc> for pressionada pelo usu rio, as tentativas sao canceladas.
*/
DO WHILE (sempre .OR. vezes > 0) .AND. INKEY()<>27
   APPEND BLANK
   IF .NOT. NETERR()
      RESTSCREEN(24,00,24,79,vtela)
      // Registro inclu¡do e bloqueado.
      SETCOLOR(ANTECOR)
      setcursor(1)
      RETURN (.T.)
   ENDIF
   INKEY(1)           // Aguarda 1 segundo.
   vezes--            // Decrementa a vari vel vezes.
ENDDO
RESTSCREEN(24,00,24,79,vtela)
// Registro nao inclu¡do.
RETURN(.F.)
***********************************************************
//             Fim das Fun‡oes de Rede
***********************************************************
Conheça em 2007 o Projeto Tuareg
Liberando conhecimento para quem deseja aprender Fivewin+xHarbour
Responder