Jump to content
Fivewin Brasil

Indice: Erro ao Criar


maudruidas

Recommended Posts

Pessoal bom dia. As vezes quando coloco para reorganizar meus indices o Windows dá o seguinte erro, conforme as imagens abaixo. Quando pesso novamente ele roda. O que causa este erro ? Muito obrigado.

4378998656_5d07dec7ec_o.jpg

4378250955_290da2323c_o.jpg

Maurício de Assis Pinto

Rancharia - SP

maudruidas@yahoo.com.br

xHarbour Build 0.99.7 (Simplex) - FWH 2.7.7 Workshop 4.5

Link to comment
Share on other sites

Pessoal bom dia. As vezes quando coloco para reorganizar meus indices o Windows dá o seguinte erro, conforme as imagens abaixo. Quando pesso novamente ele roda. O que causa este erro ? Muito obrigado.

4378998656_5d07dec7ec_o.jpg

4378250955_290da2323c_o.jpg

Maurício de Assis Pinto

Rancharia - SP

maudruidas@yahoo.com.br

xHarbour Build 0.99.7 (Simplex) - FWH 2.7.7 Workshop 4.5

Link to comment
Share on other sites

Erro de dificil solucao.

Se esta falha ocorre quando voce termina de INDEXAR e retorna ao MENU PRINCIPAL,

E clicka no botao de saida, tem uma falha de fechamento do aplicativo.

Ou na hora que voce saiu da INDEXACAO, ou no fechamento das DLLS ou RECURSOS

do seu programa.

Mostre a rotina de indexacao do seu programa para leitura.

Mostre como e a saida do seu MENU PRINCIPAL.

Verifique tambem, se voce nao deixou DLLS EXTERNAS abertas ao sair de algum

modulo ou nao deu um FREEESOURCE() Ou QUIT ao sair do MENU PRINCIPAL.

Ex.: DLLS de impressoras fiscais.

se nao conseguir resolver, basta entao que toda vez que voce INDEXAR, caso a

sua rotina de indexacao esteja muito grande e ocupando muito memoria, INVOQUE

uma BAT e de um QUIT no seu programa e chame-o novamente.

Eu faco assim, mas e apenas por precaucao, para que um SUPERVISOR nao fique

com o CODIGO e a SENHA dele ativas no programa, ou entre na tela de vendas

com o o codigo do OPERADOR errado.

Nas minhas configuracoes de sistema, tambem REBOOTO o programa, para liberar

memoria e trazer as novas configuracoes.

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

João, mais uma vez muito obrigado por me ajudar. Veja bem neste caso este programa foi feito isolado, ou seja, ele é o programa principal. Criei ele para reorganizar indices de alguns sistemas em clipper, que demoravam cerca de 1 hora para indexar todos arquivo, acho que por ser em clipper (16 bits), agora demora apenas 10 min. com fivewin/xharbour. O erro está ocorrendo no meio da indexação, acho que na hora de mudar de arq.

Veja o fonte abaixo:


#include "ORD.CH"

#Include "Objects.Ch"

#Include "Image.ch"

#include "TSBUTTON.CH"

#define PRETO nRGB( 0,0,0)

#define XPAZULC nRGB( 111,143,175)

STATIC oMeter1,oMeter2

FUNCTION MAIN()

REQUEST DESCEND

REQUEST DBFFPT

RddSetDefault("DBFFPT")

RddSetDefault("DBFCDX")

REQUEST DBFCDX

DBSETDRIVER("DBFCDX")

REQUEST ORDKEYNO

REQUEST ORDKEYCOUNT

REQUEST ORDKEYGOTO

REQUEST HB_CODEPAGE_PT850

REQUEST HB_LANG_PT

SET PROC TO FUNCOES

SET CENTURY ON // 4 DIGITOS PARA O ANO

SET CONFIRM OFF // (mudei, eu) CURSOR NÃO PODE DESLOCAR-SE AUTOMATICAMENTE

SET CURSOR ON //-SetCursor( if(Upper("ON") == "ON", 1, 0) )

SET ESCAPE OFF // TECLA ESC LIGADA, POSSO ESCAPAR.

SET MULTIPLE ON // PARA QUE SE POSSA ACIONAR QUANTAS JANELAS QUISER

SETCANCEL( .F. ) // INUTILIZA ALT + C PARA ABORTAR PROGRAMA

SET 3DLOOK ON

SET DATE BRIT

SET EPOCH TO 1980

SET EXAC OFF

SET EXCL OFF

SET STAT OFF

SET CONS OFF

SET BELL OFF

SET DATE FREN

SET WRAP ON

SET SCOR OFF

SET DELE ON

SET DECI TO 2

SET EVENTMASK TO 128 && (INKEY_ALL)

SET(_SET_EVENTMASK)

SETHANDLECOUNT(255)

REORG()

FUNCTION REORG()

LOCAL oDlg,oBrush,oFont

DEFINE FONT oFont NAME "MS Sans Serif" SIZE 0,-16 BOLD

DEFINE BRUSH oBrush RESOURCE "Botfec"

DEFINE DIALOG oDlgr RESOURCE "TLREORG" TITLE "Reorganização de Arquivos"

ODLGR : LHELPICON := .F. // Tira a ? da janela

nAtual2 := 0

nAtual1 := 0

REDEFINE METER oMeter1 VAR nAtual1 TOTAL 0 FONT oFont ID 101;

Color 14483196,CLR_BLACK OF oDlgr BARCOLOR rgb(213,000,000),CLR_YELLOW

oMeter1:cText:="Arquivo: Registro Nº 0 de 0" + SPACE(10)

REDEFINE METER oMeter2 VAR nAtual2 TOTAL 0 FONT oFont ID 102;

Color 14483196,CLR_BLACK OF oDlgr BARCOLOR rgb(213,000,000),CLR_YELLOW

oMeter2:cText:="Total: Arquivo Nº 0 de 0" + SPACE(10)

REDEFINE SBUTTON oBtn1 ID 103 ;

RESOURCE "EXECUTAR" OF oDlgr ;

PROMPT "&Iniciar";

ACTION(oBtn1:Disable(),oBtn2:Disable(),oBtn2:REFRESH(), Reorganiza(oMeter1,oMeter2)) ;

TOOLTIP "Iniciar Reorganização" ;

TEXT POSITION ON_RIGHT ;

XP ;

COLORS PRETO,XPAZULC

REDEFINE SBUTTON OBTN2 ID 104;

RESOURCE "FECHAR" OF oDlgr ;

PROMPT "&Sair";

ACTION(SAIDLG:=.T.,ODLGR:END(),SAIDLG:=.F.) ;

TOOLTIP "Fechar / Sair" ;

TEXT POSITION ON_RIGHT ;

XP ;

COLORS PRETO,XPAZULC

SAIDLG:=.F.

ACTIVATE DIALOG oDlgr CENTER VALID SAIDLG

RELEASE FONT oFont

RETURN NIL

STATIC FUNCTION Reorganiza(oMeter1,oMeter2)

LOCAL TOT,NREG

MEMVAR NT

oMeter2:nTotal := 138

NT := 0

CURSORWAIT()

USE ARQCLI NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Clientes") = .T.

oMeter1:cText:="Clientes: Elininando Registros Apagados"

CLOSE DATA

FERASE("ARQCLI.CDX")

USE ARQCLI NEW EXCL

NREG := RECCOUNT()

WPASSO:= NREG/100

TOT := NREG*5

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CODIGO,5) TAG CLICOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Clientes: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON RAZAO TAG CLIRAZ ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Clientes: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON CGCCLI TAG CLICGC ;

Eval(oMeter1:Set(RecNo()+(NREG*2)),oMeter1:cText:="Clientes: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*2),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(CIDADE,3)+RAZAO TAG CLICID ;

Eval(oMeter1:Set(RecNo()+(NREG*3)),oMeter1:cText:="Clientes: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*3),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(VENDEDOR,3) TAG CLIVEN ;

Eval(oMeter1:Set(RecNo()+(NREG*4)),oMeter1:cText:="Clientes: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*4),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

IF TEMARQ("ARQCLI.CDX","CLIENTES")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQOBS NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Observações") = .T.

oMeter1:cText:="Observações: Elininando Registros Apagados"

CLOSE DATA

FERASE("ARQOBS.CDX")

USE ARQOBS NEW EXCL

NREG := RECCOUNT()

WPASSO:= NREG/100

TOT := NREG

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CLIENTE,5) TAG OBSCLI ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Observações: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

IF TEMARQ("ARQOBS.CDX","OBSERVAÇÕES")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQVEN NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Representantes") = .T.

oMeter1:cText:="Representantes: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQVEN.CDX")

USE ARQVEN NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*3

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CODVEN,3) TAG VENCOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Representantes: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON NOME TAG VENNOM ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Representantes: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(SUPERVISOR,3) TAG VENSUP ;

Eval(oMeter1:Set(RecNo()+(NREG*2)),oMeter1:cText:="Representantes: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*2),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQVEN.CDX","REPRESENTANTES")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQCOM NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Comissão") = .T.

oMeter1:cText:="Comissão: Elininando Registros Apagados"

CLOSE DATA

FERASE("ARQCOM.CDX")

USE ARQCOM NEW EXCL

NREG := RECCOUNT()

WPASSO:= NREG/100

TOT := NREG

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(VENDEDOR,3) + STR(PRODUTO,4) TAG COMVEN ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Comissão: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

IF TEMARQ("ARQCOM.CDX","COMISSÃO")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQMET NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Metas") = .T.

oMeter1:cText:="Metas: Elininando Registros Apagados"

CLOSE DATA

FERASE("ARQMET.CDX")

USE ARQMET NEW EXCL

NREG := RECCOUNT()

WPASSO:= NREG/100

TOT := NREG

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(VENDEDOR,3)+STR(PRODUTO,4) TAG METACOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Metas: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

IF TEMARQ("ARQMET.CDX","METAS")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQMVEN NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Met. Repres.") = .T.

oMeter1:cText:="Metas Represent.: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQMVEN.CDX")

USE ARQMVEN NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*2

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CPD,5) TAG MVENCPD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Metas Represent.: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(VENDEDOR,3)+DTOS(DATA) TAG MVENDAT ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Metas Represent: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQMVEN.CDX","METAS REPRESENT.")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQSUP NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Supervisores") = .T.

oMeter1:cText:="Supervisores: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQSUP.CDX")

USE ARQSUP NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*2

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CODIGO,3) TAG SUPCOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Supervisores: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON NOME TAG SUPNOM ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Supervisores: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQSUP.CDX","SUPERVISORES")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQTABPR NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Tab. Preços") = .T.

oMeter1:cText:="Tabela de Preço: Elininando Registros Apagados"

CLOSE DATA

FERASE("ARQTABPR.CDX")

USE ARQTABPR NEW EXCL

NREG := RECCOUNT()

WPASSO:= NREG/100

TOT := NREG

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(PRODUTO,4) TAG TABPRCOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Tabela de Preço: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

IF TEMARQ("ARQTABPR.CDX","TABELA DE PREÇO")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQPRO NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Produtos") = .T.

oMeter1:cText:="Produtos: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQPRO.CDX")

USE ARQPRO NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*6

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CODIGO,4) TAG PROCOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Produtos: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DESCRICAO TAG PRODES ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Produtos: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(GRUPO,2) + DESCRICAO TAG PROGRU ;

Eval(oMeter1:Set(RecNo()+(NREG*2)),oMeter1:cText:="Produtos: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*2),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(ARMAZEM,2) + DESCRICAO TAG PROARM ;

Eval(oMeter1:Set(RecNo()+(NREG*3)),oMeter1:cText:="Produtos: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*3),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DESTAB TAG PRODTAB ;

Eval(oMeter1:Set(RecNo()+(NREG*4)),oMeter1:cText:="Produtos: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*4),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON GRANEL + STR(CODIGO,4) TAG PROGRA ;

Eval(oMeter1:Set(RecNo()+(NREG*5)),oMeter1:cText:="Produtos: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*5),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQPRO.CDX","PRODUTOS")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQTPRO NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Temp.Produtos") = .T.

oMeter1:cText:="Temp.Produtos: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQTPRO.CDX")

USE ARQTPRO NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*2

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CODIGO,4) TAG TPROCOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Temp.Produtos: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DESCRICAO TAG TPRODES ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Temp.Produtos: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQTPRO.CDX","TEMP. PRODUTOS")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQGRU NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Grupo de Produtos") = .T.

oMeter1:cText:="Grupo de Produtos: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQGRU.CDX")

USE ARQGRU NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*2

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CODIGO,2) TAG GRUCOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Grupo de Produtos: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DESCRICAO TAG GRUDES ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Grupo de Produtos: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQGRU.CDX","GRUPO DE PRODUTOS")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQTESP NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Tab.Especial") = .T.

oMeter1:cText:="Tabela Especial: Elininando Registros Apagados"

CLOSE DATA

FERASE("ARQTESP.CDX")

USE ARQTESP NEW EXCL

NREG := RECCOUNT()

WPASSO:= NREG/100

TOT := NREG

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CPD,4) TAG TESPCOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Tabela Especial: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

IF TEMARQ("ARQTESP.CDX","TABELA ESPECIAL")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQTIP NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Tipologias") = .T.

oMeter1:cText:="Tipologias: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQTIP.CDX")

USE ARQTIP NEW EXCL

NREG := RECCOUNT()

WPASSO:= NREG/100

TOT := RecCount()*2

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CODIGO,2) TAG TIPCOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Tipologia: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DESCRICAO TAG TIPDES ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Tipologia: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQTIP.CDX","TIPOLOGIAS")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQPED NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Vendas") = .T.

oMeter1:cText:="Vendas: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQPED.CDX")

USE ARQPED NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*18

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CLIENTE,5) + SERIE + STR(NOTA,6) TAG PECLI ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Vendas: Registro Nº "+ ALLTRIM(STR(RECNO(),8))+" de "+ALLTRIM(STR(TOT,8))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DTOS(DATFAT) + STR(CARGA,2) + STR(PEDIDO,6) + STR(CODPRO,4) TAG PEFAT ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Vendas: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,8))+" de "+ALLTRIM(STR(TOT,8))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(PEDIDO,6) + STR(CODPRO,4) TAG PEPRO ;

Eval(oMeter1:Set(RecNo()+(NREG*2)),oMeter1:cText:="Vendas: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*2),8))+" de "+ALLTRIM(STR(TOT,8))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(VENDEDOR,3)+DTOS(VENPAR1)+STR(PEDIDO,6) TAG PEDVCAR ;

Eval(oMeter1:Set(RecNo()+(NREG*3)),oMeter1:cText:="Vendas: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*3),8))+" de "+ALLTRIM(STR(TOT,8))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(CARGA,2)+DTOS(VENPAR1) + STR(PEDIDO,6) TAG PEDCAR ;

Eval(oMeter1:Set(RecNo()+(NREG*4)),oMeter1:cText:="Vendas: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*4),8))+" de "+ALLTRIM(STR(TOT,8))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(CLIENTE,5) + DTOS(VENPAR1) + STR(PEDIDO,6) TAG PECLIFA ;

Eval(oMeter1:Set(RecNo()+(NREG*5)),oMeter1:cText:="Vendas: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*5),8))+" de "+ALLTRIM(STR(TOT,8))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON SERIE + STR(NOTA,6) + STR(CODPRO,4) TAG PENFPRO ;

Eval(oMeter1:Set(RecNo()+(NREG*6)),oMeter1:cText:="Vendas: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*6),8))+" de "+ALLTRIM(STR(TOT,8))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(CODPRO,4) + DTOS(DATFAT) + STR(PEDIDO,6) TAG FECPRO ;

Eval(oMeter1:Set(RecNo()+(NREG*7)),oMeter1:cText:="Vendas: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*7),8))+" de "+ALLTRIM(STR(TOT,8))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(VENDEDOR,3) + STR(CODPRO,4) TAG PEDVEN ;

Eval(oMeter1:Set(RecNo()+(NREG*8)),oMeter1:cText:="Vendas: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*8),8))+" de "+ALLTRIM(STR(TOT,8))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DTOS(DATFAT)+STR(VEICULO,3)+STR(CLIENTE,5)+STR(NOTA,6) TAG XENTRE ;

Eval(oMeter1:Set(RecNo()+(NREG*9)),oMeter1:cText:="Vendas: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*9),8))+" de "+ALLTRIM(STR(TOT,8))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(VENDEDOR,3) + DTOS(DATFAT) + SERIE + STR(NOTA,6) TAG PEDCOM ;

Eval(oMeter1:Set(RecNo()+(NREG*10)),oMeter1:cText:="Vendas: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*10),8))+" de "+ALLTRIM(STR(TOT,8))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(VENDEDOR,3) + STR(CODPRO,4) + DTOS(DATFAT) TAG PEDVPRO ;

Eval(oMeter1:Set(RecNo()+(NREG*11)),oMeter1:cText:="Vendas: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*11),8))+" de "+ALLTRIM(STR(TOT,8))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(VENDEDOR,3) + DTOS(DATFAT) + STR(PEDIDO,6) TAG PEDVDAT ;

Eval(oMeter1:Set(RecNo()+(NREG*12)),oMeter1:cText:="Vendas: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*12),8))+" de "+ALLTRIM(STR(TOT,8))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DTOS(DATFAT)+STR(VEICULO,3)+STR(CODPRO,4) TAG PEDVEI ;

Eval(oMeter1:Set(RecNo()+(NREG*13)),oMeter1:cText:="Vendas: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*13),8))+" de "+ALLTRIM(STR(TOT,8))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(PEDIDO,6) + STR(POSICAO,2) TAG PEDPOS ;

Eval(oMeter1:Set(RecNo()+(NREG*14)),oMeter1:cText:="Vendas: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*14),8))+" de "+ALLTRIM(STR(TOT,8))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(CODPRO,4) + DTOS(DATFAT) + STR(CLIENTE,5) TAG PEDRPC ;

Eval(oMeter1:Set(RecNo()+(NREG*15)),oMeter1:cText:="Vendas: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*15),8))+" de "+ALLTRIM(STR(TOT,8))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(CLIENTE,5) + DTOS(DATFAT) + SERIE + STR(NOTA,6) TAG PEDCLI ;

Eval(oMeter1:Set(RecNo()+(NREG*16)),oMeter1:cText:="Vendas: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*16),8))+" de "+ALLTRIM(STR(TOT,8))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DTOS(VENPAR1) TAG PECVPA ;

Eval(oMeter1:Set(RecNo()+(NREG*17)),oMeter1:cText:="Vendas: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*17),8))+" de "+ALLTRIM(STR(TOT,8))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQPED.CDX","VENDAS")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQCFO NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("C.F.O.") = .T.

oMeter1:cText:="C.F.O.: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQCFO.CDX")

USE ARQCFO NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*2

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CODIGO,2) TAG CFOCOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="C.F.O.: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DESCRICAO TAG CFODES ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="C.F.O.: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQCFO.CDX","C.F.O.")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQTRI NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Tributação") = .T.

oMeter1:cText:="Tributação: Elininando Registros Apagados"

CLOSE DATA

FERASE("ARQTRI.CDX")

USE ARQTRI NEW EXCL

NREG := RECCOUNT()

WPASSO:= NREG/100

TOT := NREG

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON CODIGO TAG TRICOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Tributação: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

IF TEMARQ("ARQTRI.CDX","TRIBUTAÇÃO")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQREM NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Remessas") = .T.

oMeter1:cText:="Remessas: Elininando Registros Apagados"

CLOSE DATA

FERASE("ARQREM.CDX")

USE ARQREM NEW EXCL

NREG := RECCOUNT()

WPASSO:= NREG/100

TOT := NREG

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON BANCO + STR(REMESSA,7) TAG REMCOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Remessas: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

IF TEMARQ("ARQREM.CDX","REMESSAS")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQNOSSO NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Nosso Número") = .T.

oMeter1:cText:="Nosso Número: Elininando Registros Apagados"

CLOSE DATA

FERASE("ARQNOSSO.CDX")

USE ARQNOSSO NEW EXCL

NREG := RECCOUNT()

WPASSO:= NREG/100

TOT := NREG

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(NOSSONUM,7) TAG NOSSO ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Nosso Número: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

IF TEMARQ("ARQNOSSO.CDX","NOSSO NÚMERO")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE CARTAS NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Cartas") = .T.

oMeter1:cText:="Cartas: Elininando Registros Apagados"

CLOSE DATA

FERASE("CARTAS.CDX")

USE CARTAS NEW EXCL

NREG := RECCOUNT()

WPASSO:= NREG/100

TOT := NREG

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(NUM,4) + STR(ITEM,2) TAG CARNUM ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Cartas: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

IF TEMARQ("CARTAS.CDX","CARTAS")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQNFDE NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("N.F. Devolução") = .T.

oMeter1:cText:="N.F. Devolução: Elininando Registros Apagados"

CLOSE DATA

FERASE("ARQNFDE.CDX")

USE ARQNFDE NEW EXCL

NREG := RECCOUNT()

WPASSO:= NREG/100

TOT := NREG

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(NOTA,6) + STR(NFISCAL,6) TAG DEVNOT ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="N.F. Devolução: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

IF TEMARQ("ARQNFDE.CDX","N.F. DEVOLUÇÃO")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQMOT NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Motoristas") = .T.

oMeter1:cText:="Motoristas: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQMOT.CDX")

USE ARQMOT NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*3

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CODIGO,3) TAG MOTCOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Motoristas: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON NOME TAG MOTNOM ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Motoristas: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON CGCMOT TAG MOTCGC ;

Eval(oMeter1:Set(RecNo()+(NREG*2)),oMeter1:cText:="Motoristas: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*2),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQMOT.CDX","MOTORISTAS")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQVEI NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Veículos") = .T.

oMeter1:cText:="Veículos: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQVEI.CDX")

USE ARQVEI NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*2

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CODVEI,3) TAG VEICOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Veículos: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON NOMVEI TAG VEINOM ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Veículos: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQVEI.CDX","VEÃCULOS")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQCAR NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Cargas") = .T.

oMeter1:cText:="Cargas: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQCAR.CDX")

USE ARQCAR NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*2

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CARGA,2) TAG CARCOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Cargas: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON NOME TAG CARNOM ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Cargas: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQCAR.CDX","CARGAS")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQDEV NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Devolução") = .T.

oMeter1:cText:="Devolução: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQDEV.CDX")

USE ARQDEV NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*3

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON SERIE + STR(NOTA,6) + STR(PRODUTO,4) TAG DEVPRO ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Devolução: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DTOS(DATDEV) TAG DEVDAT ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Devolução: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(PRODUTO,4)+DTOS(DATDEV) TAG DEVPRD ;

Eval(oMeter1:Set(RecNo()+(NREG*2)),oMeter1:cText:="Devolução: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*2),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQDEV.CDX","DEVOLUÇÃO")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE PEDIDOS NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Pedidos") = .T.

oMeter1:cText:="Pedidos: Elininando Registros Apagados"

CLOSE ALL

FERASE("PEDIDOS.CDX")

USE PEDIDOS NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*6

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CLIENTE,5) TAG PDCLI ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Pedidos: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DTOS(DATA) + STR(PEDIDO,6) + STR(CODPRO,4) TAG PDDAT ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Pedidos: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(PEDIDO,6) + STR(CODPRO,4) TAG PDPRO ;

Eval(oMeter1:Set(RecNo()+(NREG*2)),oMeter1:cText:="Pedidos: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*2),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(VENDEDOR,3) + STR(PEDIDO,6) TAG PDVEN ;

Eval(oMeter1:Set(RecNo()+(NREG*3)),oMeter1:cText:="Pedidos: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*3),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(VENDEDOR,3)+STR(CODPED,6)+CNPJCLI TAG PDPAL ;

Eval(oMeter1:Set(RecNo()+(NREG*4)),oMeter1:cText:="Pedidos: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*4),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(VENDEDOR,3) + DTOS(DATA) + STR(PEDIDO,6) TAG PDVDAT ;

Eval(oMeter1:Set(RecNo()+(NREG*5)),oMeter1:cText:="Pedidos: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*5),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("PEDIDOS.CDX","PEDIDOS")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQLINHA NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Ped./Linha") = .T.

oMeter1:cText:="Pedidos Linha: Elininando Registros Apagados"

CLOSE DATA

FERASE("ARQLINHA.CDX")

USE ARQLINHA NEW EXCL

NREG := RECCOUNT()

WPASSO:= NREG/100

TOT := NREG

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON SUBSTR(LINHA,21,6) TAG LINPED ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Ped./Linha: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

IF TEMARQ("ARQLINHA.CDX","PEDIDOS LINHA")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQCID NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Cidades") = .T.

oMeter1:cText:="Cidades: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQCID.CDX")

USE ARQCID NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*2

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CODIGO,2) TAG ARMCOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Cidades: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DESCRICAO TAG ARMDES ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Cidades: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQCID.CDX","CIDADES")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQREC NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Contas Receber") = .T.

oMeter1:cText:="Contas Receber: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQREC.CDX")

USE ARQREC NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*2

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CPD,5) TAG CPDREC ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Contas Receber: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DTOS(VENCIMENTO) TAG VENREC ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Contas Receber: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQREC.CDX","CONTAS A RECEBER")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQCOB NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Cobrança") = .T.

oMeter1:cText:="Cobrança: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQCOB.CDX")

USE ARQCOB NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*3

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON SERIE + STR(NOTA,6) TAG COBNOT ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Cobrança: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DTOS(DATEMI) TAG COBDAT ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Cobrança: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(CLIENTE,5) TAG COBCLI ;

Eval(oMeter1:Set(RecNo()+(NREG*2)),oMeter1:cText:="Cobrança: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*2),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQCOB.CDX","COBRANÇA")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQCHE NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Cheques") = .T.

oMeter1:cText:="Cheques: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQCHE.CDX")

USE ARQCHE NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*4

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(LOTE,5)+STR(BANCO,3)+STR(CHEQUE,10) TAG CHELOT ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Cheques: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(BANCO,3)+STR(CHEQUE,10) TAG CHEQUE ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Cheques: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DTOS(DEPOSITO) TAG CHEDEP ;

Eval(oMeter1:Set(RecNo()+(NREG*2)),oMeter1:cText:="Cheques: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*2),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(LOTE,5) TAG CHELOT2 ;

Eval(oMeter1:Set(RecNo()+(NREG*3)),oMeter1:cText:="Cheques: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*3),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQCHE.CDX","CHEQUES")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQFORM NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Formas de Pag.") = .T.

oMeter1:cText:="Formas de Pag: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQFORM.CDX")

USE ARQFORM NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*2

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CODIGO,2) TAG FORMCOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Formas de Pag: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DESCRICAO TAG FORMDES ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Formas de Pag: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQFORM.CDX","FORMAS DE PAGAMENTO")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQCPG NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Condições de Pag.") = .T.

oMeter1:cText:="Condições de Pag.: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQCPG.CDX")

USE ARQCPG NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*2

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CODIGO,2) TAG CPGCOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Condições de Pag.: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DESCRICAO TAG CPGDES ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Condições de Pag.: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQCPG.CDX","CONDIÇÕES DE PAGAMENTO")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQFOR NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Fornecedores") = .T.

oMeter1:cText:="Fornecedores: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQFOR.CDX")

USE ARQFOR NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*3

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CODIGO,3) TAG FORCOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Fornecedores: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON RAZAO TAG FORAZ ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Fornecedores: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(CONTA,3) TAG FORCON TO ARQFOR ;

Eval(oMeter1:Set(RecNo()+(NREG*2)),oMeter1:cText:="Fornecedores: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*2),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQFOR.CDX","FORNECEDORES")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE COMPRAS NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Compras") = .T.

oMeter1:cText:="Compras: Elininando Registros Apagados"

CLOSE ALL

FERASE("COMPRAS.CDX")

USE COMPRAS NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*8

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(NUMDOC,8) TAG COMDOC ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Compras: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(FORNECEDOR,3) + DESCEND(DTOS(DATA)) TAG COMFOR ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Compras: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DTOS(DATA) TAG COMDAT ;

Eval(oMeter1:Set(RecNo()+(NREG*2)),oMeter1:cText:="Compras: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*2),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(FORNECEDOR,3) + DTOS(DATA) TAG COMFOR2 ;

Eval(oMeter1:Set(RecNo()+(NREG*3)),oMeter1:cText:="Compras: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*3),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DTOS(DATPRIPAR) TAG COMVEN1 ;

Eval(oMeter1:Set(RecNo()+(NREG*4)),oMeter1:cText:="Compras: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*4),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DTOS(DATSEGPAR) TAG COMVEN2 ;

Eval(oMeter1:Set(RecNo()+(NREG*5)),oMeter1:cText:="Compras: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*5),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DTOS(DATTERPAR) TAG COMVEN3 ;

Eval(oMeter1:Set(RecNo()+(NREG*6)),oMeter1:cText:="Compras: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*6),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DTOS(DATQUAPAR) TAG COMVEN4 ;

Eval(oMeter1:Set(RecNo()+(NREG*7)),oMeter1:cText:="Compras: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*7),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("COMPRAS.CDX","COMPRAS")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQBXPG NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Recebimentos") = .T.

oMeter1:cText:="Recebimentos: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQBXPG.CDX")

USE ARQBXPG NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*8

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(VENDA,6) + BAIXA TAG BXCODPG ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Recebimentos: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DTOS(DATA) TAG BXDATPG ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Recebimentos: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(CLIENTE,5)+DTOS(DATA) TAG BXCLPG ;

Eval(oMeter1:Set(RecNo()+(NREG*2)),oMeter1:cText:="Recebimentos: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*2),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(CLIENTE,5)+STR(VENDEDOR,3)+DTOS(DATA) TAG BXCLVPG ;

Eval(oMeter1:Set(RecNo()+(NREG*3)),oMeter1:cText:="Recebimentos: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*3),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(CLIENTE,5)+STR(VENDEDOR,3)+STR(CARGA,2)+DTOS(DATA) TAG BXCLVCPG ;

Eval(oMeter1:Set(RecNo()+(NREG*4)),oMeter1:cText:="Recebimentos: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*4),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(VENDEDOR,3)+DTOS(DATA) + STR(VENDA,6) TAG BXVEPG ;

Eval(oMeter1:Set(RecNo()+(NREG*5)),oMeter1:cText:="Recebimentos: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*5),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(VENDEDOR,3)+STR(CARGA,2)+DTOS(DATA) TAG BXVECPG ;

Eval(oMeter1:Set(RecNo()+(NREG*6)),oMeter1:cText:="Recebimentos: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*6),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(CARGA,2)+DTOS(DATA) TAG BXCAPG ;

Eval(oMeter1:Set(RecNo()+(NREG*7)),oMeter1:cText:="Recebimentos: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*7),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQBXPG.CDX","RECEBIMENTOS")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQBXPGC NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Pagamentos de Compras") = .T.

oMeter1:cText:="Pagamentos de Compras: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQBXPGC.CDX")

USE ARQBXPGC NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*2

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(NUMDOC,8) + PARCELA + BAIXA TAG BXCODPGC ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Pagamentos de Compras: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DTOS(DATA) TAG BXDATPGC ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Pagamentos de Compras: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQBXPGC.CDX","PAGAMENTOS DE COMPRAS")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQDES NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Descontos") = .T.

oMeter1:cText:="Pagamentos de Compras: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQDES.CDX")

USE ARQDES NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := NREG

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON SERIE+STR(NOTA,6)+STR(PRODUTO,4) TAG DESNOT ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Descontos: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQDES.CDX","DESCONTOS")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE C:\DERCO\ARQTEM NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Temporário") = .T.

oMeter1:cText:="Temporário: Elininando Registros Apagados"

CLOSE ALL

FERASE("C:\DERCO\ARQTEM.CDX")

USE C:\DERCO\ARQTEM NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := NREG

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(VENDA,6) TAG TEMPAG ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Temporário: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("C:\DERCO\ARQTEM.CDX","TEMPORÃRIOS-ARQTEM")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE C:\DERCO\ARQTEM2 NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Temporário 2") = .T.

oMeter1:cText:="Temporário 2: Elininando Registros Apagados"

CLOSE ALL

FERASE("C:\DERCO\ARQTEM2.CDX")

USE C:\DERCO\ARQTEM2 NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*3

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(VENDA,6) TAG TEMPAG ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Temporário 2: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(CLIENTE,5) TAG TEMCLI ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Temporário 2: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(VENDEDOR,3) TAG TEMVEN ;

Eval(oMeter1:Set(RecNo()+(NREG*2)),oMeter1:cText:="Temporário 2: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*2),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("C:\DERCO\ARQTEM2.CDX","TEMPORÃRIO-ARQTEM2")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE C:\DERCO\ARQTEM3 NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Temporário 3") = .T.

oMeter1:cText:="Temporário 3: Elininando Registros Apagados"

CLOSE ALL

FERASE("C:\DERCO\ARQTEM3.CDX")

USE C:\DERCO\ARQTEM3 NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON DESCEND(STR(QUANTIDADE,9,3)) TAG TEMDES ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Temporário 3: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("C:\DERCO\ARQTEM3.CDX","TEMPORÃRIOS-ARQTEM3")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQCON NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Contas") = .T.

oMeter1:cText:="Contas: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQCON.CDX")

USE ARQCON NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*3

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CODIGO,3) TAG CONCOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Contas: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DESCRICAO TAG CONTIP ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Contas: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(SUBCONTA,3) + STR(CODIGO,3) TAG CONSUB ;

Eval(oMeter1:Set(RecNo()+(NREG*2)),oMeter1:cText:="Contas: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*2),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQCON.CDX","CONTAS")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQCAI NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Caixa") = .T.

oMeter1:cText:="Caixa: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQCAI.CDX")

USE ARQCAI NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*3

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CPD,5) TAG CAICPD;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Caixa: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DTOS(DATA) TAG CAIDAT ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Caixa: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON STR(CONTA,3)+DTOS(DATA) TAG CAICON ;

Eval(oMeter1:Set(RecNo()+(NREG*2)),oMeter1:cText:="Caixa: Registro Nº "+ALLTRIM(STR(RECNO()+(NREG*2),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQCAI.CDX","CAIXA")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE ARQCONS NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Sub-Contas") = .T.

oMeter1:cText:="Sub-Contas: Elininando Registros Apagados"

CLOSE ALL

FERASE("ARQCONS.CDX")

USE ARQCONS NEW EXCL

NREG := RECCOUNT()

WPASSO:=NREG/100

TOT := RecCount()*2

oMeter1:nTotal := TOT

IF NREG<>0

PACK

ENDIF

INDE ON STR(CODIGO,3) TAG CONSCOD ;

Eval(oMeter1:Set(RecNo()),oMeter1:cText:="Sub-Contas: Registro Nº "+ ALLTRIM(STR(RECNO(),7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

INDE ON DESCRICAO TAG CONSDES ;

Eval(oMeter1:Set(RecNo()+NREG),oMeter1:cText:="Sub-Contas: Registro Nº "+ALLTRIM(STR(RECNO()+NREG,7))+" de "+ALLTRIM(STR(TOT,7))+SPACE(10),SYSREFRESH()) EVERY WPASSO

ATUM2(oMeter2)

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE ALL

IF TEMARQ("ARQCONS.CDX","SUB-CONTAS")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

ELSE

oBtn1:Enable()

oBtn2:Enable()

ENDIF

CLOSE DATA

USE SALCAI NEW EXCL

IF BLOQUEIO() = .T.

IF VERORG("Saldos Caixa") = .T.

oMeter1:cText:="Saldos de Caixa: Elininando Registros Apagados"

CLOSE ALL

FERASE("SALCAI

Link to comment
Share on other sites

Mauricio, explique estas configuracoes:

Quem e XHARBOUR e QUEM e CLIPPER, e se isto esta correto!

Se esta correto, quem disse isto para voce?

Somente gostaria de entender de onde vem esta informacoes...


FUNCTION MAIN()

REQUEST DESCEND

REQUEST DBFFPT

RddSetDefault("DBFFPT")

RddSetDefault("DBFCDX")

REQUEST DBFCDX

DBSETDRIVER("DBFCDX")

REQUEST ORDKEYNO

REQUEST ORDKEYCOUNT

REQUEST ORDKEYGOTO

REQUEST HB_CODEPAGE_PT850

REQUEST HB_LANG_PT

SET PROC TO FUNCOES

SET CENTURY ON // 4 DIGITOS PARA O ANO

SET CONFIRM OFF // (mudei, eu) CURSOR NÃO PODE DESLOCAR-SE AUTOMATICAMENTE

SET CURSOR ON //-SetCursor( if(Upper("ON") == "ON", 1, 0) )

SET ESCAPE OFF // TECLA ESC LIGADA, POSSO ESCAPAR.

SET MULTIPLE ON // PARA QUE SE POSSA ACIONAR QUANTAS JANELAS QUISER

SETCANCEL( .F. ) // INUTILIZA ALT + C PARA ABORTAR PROGRAMA

SET 3DLOOK ON

SET DATE BRIT

SET EPOCH TO 1980

SET EXAC OFF

SET EXCL OFF

SET STAT OFF

SET CONS OFF

SET BELL OFF

SET DATE FREN

SET WRAP ON

SET SCOR OFF

SET DELE ON

SET DECI TO 2

SET EVENTMASK TO 128 && (INKEY_ALL)

SET(_SET_EVENTMASK)

SETHANDLECOUNT(255)

id=code>id=code>

demais membros, desmembrem isto para ele, porfa.

Abracos.

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

Paulo. peguei algum exemplo, não me lembro aonde, que o programa não tinha o nome do índice. Como eu uso a posisão e não o nome (dbsetorder(3)) ou (set order to 3) me parece que não faz diferença. Se eu estiver errado favor informar ! mas até agora não tive problemas ao mudar de índice durante a execução do sistema.

João Estas configurações peguei a maior parte aqui no site, conforme fui tendo problemas foram me passando. Caso esteja algo de errado favor me esclarecer. Estou desde 2007 aprendendo e me sistema já está quase pronto. Sei que deve ter muita coisa feita de forma errada, ou pelo menos fora de um padrão. Seria ótimo se existisse um curso se Fivewin/xHarbour. Muito obrigado a todos.

Maurício de Assis Pinto

Rancharia - SP

maudruidas@yahoo.com.br

xHarbour Build 0.99.7 (Simplex) - FWH 2.7.7 Workshop 4.5

Link to comment
Share on other sites


#Include "FiveWin.Ch"

#Include "Directry.ch"

#Include "Objects.Ch"

// CRLF ‚ Igual a: Chr(13)+Chr(10)

ANNOUNCE RDDSYS

REQUEST OrdKeyNo, OrdKeyCount, OrdKeyGoto

REQUEST DBFCDX, DBFFPT

REQUEST HB_LANG_PT

REQUEST HB_CODEPAGE_PT850

STATIC oWnd

FUNCTION Main()

//

//-> NÆo Permite Que o Usu rio Acione Duas Vezes o Execut vel.

IF ISEXERUNNING( CFILENAME( HB_ARGV( 0 ) ) )

__Quit()

ENDIF

// Configura‡Æo Para Todo o Sistema 32 Bits

RDDSETDEFAULT( "DBFCDX" ) // CARREGA RDD DEFINIDO NO CASO, *.CDX

SET CENTURY ON // 4 DIGITOS PARA O ANO

SET DATE BRITISH // FORMATO DD/MM/AAAA

SET EPOCH TO 1950 // PARA IMPEDIR QUE O ANO SEJA 00

SET SOFTSEEK OFF // PARA REALIZAR UMA BUSCA APROXIMADA

SET WRAP ON //-Set( 35, "ON" ) // PARA MENUS

SETCANCEL( .F. ) // INUTILIZA ALT + C PARA ABORTAR PROGRAMA

SET CONFIRM OFF // CURSOR NÇO PODE DESLOCAR-SE AUTOMATICAMENTE

SET DELETED ON // ON IMPEDIR VER REGISTROS MARCADOS PARA APAGAR

SET ESCAPE ON // TECLA ESC LIGADA, POSSO ESCAPAR.

SET EXCLUSIVE OFF // REDE NETUSE LIGADA

SET MULTIPLE OFF // PARA QUE SE POSSA ACIONAR QUANTAS JANELAS QUISER

//->Defaults da Lingua Portuguesa do [x]Harbour

HB_LANGSELECT( 'PT' ) // Default language is now Portuguese

//->Como indexar corretamente campos acentuados Harbour/xHarbour

//->Este recurso e valido para Harbour e xHarbour e requer a biblioteca

//->CODEPAGE.LIB.

HB_SETCODEPAGE( "PT850" )

IF nHandles < 150

MsgStop( "Este Programa Necessita de Mais Recursos" +CHR(13)+ ;

"Para Funcionar, Feche Alguns Programas" +CHR(13)+ ;

"e Volte a Tentar Novamente. ", ;

"Aviso Sobre a Execução do Programa" )

__QUIT()

ENDIF

IF ( DISKSPACE() < 4000000.0 )

SndPlaySound( "Erro.Wav" )

MsgStop( OemToAnsi("Aten‡Æo Operador: ")+CRLF+;

OemToAnsi("O espa‡o dispon¡vel no seu equipamento est ")+CRLF+;

OemToAnsi("muito pequeno... possivelmente poderÆo ocor-")+CRLF+;

OemToAnsi("rer erros quando da instala‡Æo do sistema. ")+CRLF+;

OemToAnsi("Aconselhamos uma sele‡Æo dos arquivos que")+CRLF+;

OemToAnsi("se encontram atualmente no seu equipamento..")+CRLF+;

OemToAnsi(" ")+CRLF+;

OemToAnsi("Suporte: Fone:(11) 3106-2832 / 8243-5632 ")+CRLF+;

OemToAnsi(" Pressione para continuar... "), ;

OemToAnsi("Aviso de Espa‡o Insuficiente no Disco R¡gido") )

ENDIF

id=code>id=code>

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

No Indexador, faça como Mister Paulo Araújo falou: de nome aos Bois.


IF NetUse( "ESPECIES", .F. )

IF lPack = .T.

MsgRun( "Apagando Registros Excluidos...", ;

"Por Favor, Espere!" , ;

{ || __DbPack() } )

ENDIF

oMeter1:nTotal = RecCount()

oMeter1:cText := OemToAnsi( "Indexando ESPECIES, Por CàDIGO: " )

oMeter1:nClrBar := CLR_HBLUE

INDEX ON Field->CODIGO TAG CODIGO TO ESPECIES ;

FOR !DELETED() ;

EVAL ( oMeter1:Set( RecNo() ), CursorWait(), SysRefresh() ) ;

EVERY 10

oMeter1:cText := OemToAnsi( "Indexando ESPECIES, Por COR: " )

oMeter1:nClrBar := CLR_HBLUE

INDEX ON Field->ESPECIE TAG ESPECIE TO ESPECIES ;

FOR !DELETED() ;

EVAL ( oMeter1:Set( RecNo() ), CursorWait(), SysRefresh() ) ;

EVERY 10

DbCloseAll()

ENDIF

id=code>id=code>

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

citação:

Verifique se não tem nenhum DBF corrompido....

FWH 2.7, xHarbour 0.99.61, hbMake, ContexT, PellesC 4.00.50, DBF/CDX


id=quote>id=quote>

HENNING, Somente a nivel de conhecimento e documentação:

O que dizes então, é que se o BANCO DE DADOS ESTIVER CORROMPIDO, o Indexador não funcionará e gerará este erro?

É isto? Se SIM, você tem certeza??

Abraços.

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

Eu peguei um problema parecido quando a chave de indice usava um campo que não existia no arquivo de indice.

É claro que o arquivo de indice era de outro arquivo.

Aceitava dar o replace, mas quando dava o commit aparecia a mensagem de erro.

[maudruidas]

Vc já tentou limpar sua rotina de reorganização para testar?

Apague os meter´s e faça sem mostrar nada na tela. INDEX ou REINDEX puro.

Assim vc consegue saber aonde esta acontecendo o erro.

Link to comment
Share on other sites

citação:

Eu peguei um problema parecido quando a chave de indice usava um campo que não existia no arquivo de indice.

É claro que o arquivo de indice era de outro arquivo.

Aceitava dar o replace, mas quando dava o commit aparecia a mensagem de erro.

[maudruidas]

Vc já tentou limpar sua rotina de reorganização para testar?

Apague os meter´s e faça sem mostrar nada na tela. INDEX ou REINDEX puro.

Assim vc consegue saber aonde esta acontecendo o erro.


id=quote>id=quote>

GVC, eu posso até estar errado, mas EXPERIMENTE te um INDEXADOR enorme como o dele, ENVIANDO DADOS PARA LUGAR NENHUM, Pois ele não tem o o comando TO, dizendo para onde o PROCESSADOR deve GRAVAR o INDICE, todos em meu ponto de vista, foram para a MEMORIA, e ela encheu, dai, o ESTOURO DE PILHA.

É o que eu acho... sem contar as configurações do MENU PRINCIPAL, que em meu ponto de vista, também estão erradas.

Eu acho... Minha opinião.

Abraços.

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

Mauricio, uma forma simplesa de MATAR seus .CDX:

Realmente voce tinha razao, o RDD assume o nome do banco, quando voce nao

use o TO NOMEINDICE, mas, seguro morreu de velho.


#Include "FiveWin.Ch" // Biblioteca do Five

#Include "Directry.Ch" // Para Manipular o Diretorio

#Include "Ord.Ch" // Para Utilizar SCOPES, é Necessário o Arquivo Ord.Ch

LOCAL I := 0, Del_Indice

LOCAL cMsg := "ATENÇÃO USUÃRIO: -> CHAME O SUPERVISOR IMEDIATAMENTE!!!" ;

+ CRLF +;

+ CRLF +;

"ERRO! ERRO! ERRO! ERRO! ERRO! ERRO! ERRO! ERRO! ERRO! " ;

+ CRLF +;

+ CRLF +;

"ERRO FATAL DE REDE! TOME TODO O CUIDADO POSSIVEL! " ;

+ CRLF +;

"IMPOSSIVEL CONTINUAR UTILIZANDO OS BANCOS DE DADOS! " ;

+ CRLF +;

"VOCÊ PRECISA TIRAR TODOS OS USUÃRIOS DA REDE, AGORA! " ;

+ CRLF +;

"TENTE REINDEXAR OS BANCOS SOMENTE PELO SERVIDOR! " ;

+ CRLF +;

"CASO NÃO CONSIGA REINDEXAR OS BANCOS, SAIA DO PROGRAMA " ;

+ CRLF +;

"DESLIGUE OU REINICIE O SERVIDOR, E DEPOIS, VOCÊ PODERà " ;

+ CRLF +;

"REINDEXAR OS BANCOS DE DADOS. ATENÇÃO MÃXIMA!!! " ;

+ CRLF +;

"VOU DESLIGAR ESTE PROGRAMA, AVISE A TODOS OS OUTROS " ;

+ CRLF +;

"USUÃRIOS, PARA SAIREM IMEDIATAMENTE DA REDE. PERIGO!!! " ;

+ CRLF +;

" "

//-> Ideia original By Kleyber Derick - MATA TODOS OS INDICES

DEL_INDICE := DIRECTORY( "*.CDX" )

FOR I = 1 TO LEN( Del_Indice )

FERASE( DEL_INDICE[1] )

NEXT I

// PARA VERIFICAR SE A REDE TRAVOU OS BANCOS DE DADOS... ABORTAR.

// CASO O FERASE NÇO CONSIGA DELETAR,  PORQUE A REDE ESTA TRAVADA!

//-> CHEQUE SEMPRE OS BANCOS PRINCIPAIS SE O .CDX FOI DESTRUIDO

IF FILE( "CADETIQ.cdx" ) .OR. ;

FILE( "CADFORNE.cdx" ) .OR. ;

FILE( "ANIMAIS.cdx" ) .OR. ;

FILE( "VEICULOS.cdx" ) .OR. ;

FILE( "VENDEDOR.cdx" ) .OR. ;

FILE( XARQPED+".cdx" )

SndPlaySound(".\Erro.wav" )

MsgStop( cMsg, "Problemas Na Rede ou no Computador, Cuidado!" )

DBCLOSEALL()

RELEASE ALL

SYSREFRESH()

__QUIT()

ENDIF

id=code>id=code>

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

citação:

Eu nunca usei nome para o INDICE e nunca tive problemas, o INDEX ON cria automaticamente com o nome do DBF da area aberta.

A dica do GVC é a mais indicada, limpa tudo e vai por eliminatórias.

Leonardo Machado

Alvorada-RS

Hwgui + Harbour

leonardodemachado@hotmail.com


id=quote>id=quote>

Leonardo, vc. tem razao... O RDD assume o nome do .DBF

Leonardo, isto esta correto??


USE C:\DERCO\ARQTEM NEW EXCL

FERASE("C:\DERCO\ARQTEM.CDX")

IF TEMARQ("C:\DERCO\ARQTEM.CDX","TEMPORÃRIOS-ARQTEM")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF

id=code>id=code>

E se nao tiver UNIDADE C:\ ????

E se a INDEXACAO for na REDE??

O que dizes?

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

citação:Leonardo, isto esta correto??

USE C:\DERCO\ARQTEM NEW EXCL

FERASE("C:\DERCO\ARQTEM.CDX")

IF TEMARQ("C:\DERCO\ARQTEM.CDX","TEMPORÃRIOS-ARQTEM")=.F.

CLOSE DATA

CURSORARROW()

oBtn1:Enable()

oBtn2:Enable()

RETURN nil

ENDIF


id=quote>id=quote>

Veja que você pulou a parte que eles testa o bloqueio, ou seja errado não está, mas particularmente falando eu não faço isso de fixar Unidade e caminho, mas no caso dele erro não vai dar e nem é a causa do problema inicial dele.

citação:E se nao tiver UNIDADE C:\ ????
id=quote>id=quote>

Vai dar erro já na abertura do DBF, mas não GPF.

citação:E se a INDEXACAO for na REDE??
id=quote>id=quote>

Se for na rede vai dar o mesmo erro na abertura, ou seja ele está prevendo que isso vai ser executado direto no servidor e ponto final.Eu particularmente não trabalho assim, mas cada um sabe o que é melhor para si, no caso dele isso não é problema ainda, e se for ele pode colocar um FILE('NOMEDBF.DBF') para testar se o mesmo se encontra na unidade e caminho especificada por ele.

Eu particularmente iniciaria alguns testes como o GVC disse, arranca fora todos EVAL e testa a criação dos indice puro, e tentaria colocar uns msginfo() por bloco para tentar identificar até onde está indo o processo e chegar o mais próximo possível de onde acontece o problema.

Leonardo Machado

Alvorada-RS

Hwgui + Harbour

leonardodemachado@hotmail.com

Link to comment
Share on other sites

citação:

OFF TOPIC

Eu também notei esse Porrete, e vou largar pela culatra por que esse cara é muito macho, pena que amarelou e não apareceu no ultimo encontro da Fivewin...

Leonardo Machado

Alvorada-RS

Hwgui + Harbour

leonardodemachado@hotmail.com


id=quote>id=quote>

KKKKKKKKKKK, Do que vcs estão falando??

Apenas estou tentando ajudar o Mauricio.

E chamar as feras, é sempre um prazer.

Abraços.

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632

FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...