maudruidas Posted February 22, 2010 Report Share Posted February 22, 2010 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. MaurÃcio de Assis Pinto Rancharia - SP maudruidas@yahoo.com.br xHarbour Build 0.99.7 (Simplex) - FWH 2.7.7 Workshop 4.5 Quote Link to comment Share on other sites More sharing options...
maudruidas Posted February 22, 2010 Author Report Share Posted February 22, 2010 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. MaurÃcio de Assis Pinto Rancharia - SP maudruidas@yahoo.com.br xHarbour Build 0.99.7 (Simplex) - FWH 2.7.7 Workshop 4.5 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 22, 2010 Report Share Posted February 22, 2010 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 Quote Link to comment Share on other sites More sharing options...
maudruidas Posted February 22, 2010 Author Report Share Posted February 22, 2010 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 Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted February 22, 2010 Report Share Posted February 22, 2010 MaurÃcio, tudo bem?? Cadê o nome do Ãndice ?? INDE ON STR(CODIGO,5) TAG CLICOD TO ??????? id=code>id=code>Um abraço Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 22, 2010 Report Share Posted February 22, 2010 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 Quote Link to comment Share on other sites More sharing options...
maudruidas Posted February 23, 2010 Author Report Share Posted February 23, 2010 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 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 23, 2010 Report Share Posted February 23, 2010 SET PROC TO FUNCOES id=code>id=code>Qual a razão disto? 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 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 23, 2010 Report Share Posted February 23, 2010 #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 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 23, 2010 Report Share Posted February 23, 2010 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 Quote Link to comment Share on other sites More sharing options...
henning Posted February 23, 2010 Report Share Posted February 23, 2010 Verifique se não tem nenhum DBF corrompido.... FWH 2.7, xHarbour 0.99.61, hbMake, ContexT, PellesC 4.00.50, DBF/CDX Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 23, 2010 Report Share Posted February 23, 2010 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 Quote Link to comment Share on other sites More sharing options...
gvc Posted February 23, 2010 Report Share Posted February 23, 2010 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. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 23, 2010 Report Share Posted February 23, 2010 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 Quote Link to comment Share on other sites More sharing options...
maudruidas Posted February 23, 2010 Author Report Share Posted February 23, 2010 Pessoal vou fazer as alterações sugeridas e observar se o problema acaba, pois ele não ocorre todas as vezes. Depois posto aqui o resultado. 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 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 23, 2010 Report Share Posted February 23, 2010 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 Quote Link to comment Share on other sites More sharing options...
sygecom Posted February 23, 2010 Report Share Posted February 23, 2010 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 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 23, 2010 Report Share Posted February 23, 2010 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 Quote Link to comment Share on other sites More sharing options...
sygecom Posted February 23, 2010 Report Share Posted February 23, 2010 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 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 23, 2010 Report Share Posted February 23, 2010 Beleza, notas mais alguma coisa? 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 Quote Link to comment Share on other sites More sharing options...
sygecom Posted February 23, 2010 Report Share Posted February 23, 2010 Sincera mente não parei para olhar a rotina inteira do colega que postou, apenas coloquei uma aspas na questão do nome do CDX a ser criado. Leonardo Machado Alvorada-RS Hwgui + Harbour leonardodemachado@hotmail.com Quote Link to comment Share on other sites More sharing options...
gvc Posted February 23, 2010 Report Share Posted February 23, 2010 Off Topic. Noto que o Kapiaba hoje esta com o porrete na mão!!! On Topic. Quanto ao RDD assumir o nome do DBF ao criar o CDX, para mim tb é novidade. Obrigado pela informação. Quote Link to comment Share on other sites More sharing options...
sygecom Posted February 23, 2010 Report Share Posted February 23, 2010 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 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted February 23, 2010 Report Share Posted February 23, 2010 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 Quote Link to comment Share on other sites More sharing options...
sygecom Posted February 24, 2010 Report Share Posted February 24, 2010 Mauricio, Resolveu o B.O. ai ? Leonardo Machado Alvorada-RS Hwgui + Harbour leonardodemachado@hotmail.com Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.