Jump to content
Fivewin Brasil

Indices CDX clipper 5.3 em branco


oziel

Recommended Posts

Colegas.

Meu sistema roda desde 2005 em FW com Clipper 5.2e, linkeditado com Blinker 7.0 fiz umas mudanças colocando o prog. de indices no sistema e me deparei com um problema, quando indexo em um prog. utilizando o Clipper 5.2e os indices CDX ficam perfeitos, mais quando roda no clipper 5.3 o arq. de indices ficam zerados. Notei que o tamanho do arq cdx fica pequeno. Detalhe é que reindexando pelo Foxprox 2.6 ou ARC 32 os indices ficam ok.

Vejam os fontes abaixo.

// Arquivo LNK ------------------

BLINKER INCREMENTAL OFF

BLINKER CLIPPER SYMBOL OFF

BLINKER EXECUTABLE COMPRESS

NOBELL

PACKCODE

PACKDATA

DEFBEGIN

name FiveWin

description 'GRH 4.5 '

exetype Windows 3.1

code moveable discardable preload

data preload moveable

stacksize 9500

heapsize 1024

segment 'PLANKTON_TEXT' nondiscardable

segment 'EXTEND_TEXT' nondiscardable

segment 'OM_TEXT' nondiscardable

segment 'OSMEM_TEXT' nondiscardable

segment 'SORTOF_TEXT' nondiscardable

segment 'STACK_TEXT' nondiscardable

DEFEND

BEGIN AREA

File GRH

....

File Func

....

File Mpar // para quem evitar bug no Blinker

ENDAREA

LIB C:\FW22C\LIB\FIVE

LIB C:\FW22C\LIB\FIVEC

LIB C:\FW22C\LIB\OBJECTS

LIB C:\FW22C\LIB\WINAPI

LIB C:\CLIP53\LIB\CLIPPER

LIB C:\CLIP53\LIB\_DBFCDX,DBFCDX

LIB C:\CLIP53\LIB\EXTEND

LIB C:\CLIP53\LIB\TERMINAL

LIB C:\CLIP53\LIB\Dbuttons

//----------------------------------------------

// Arquivo Principal do programa -> GRH.PRG

REQUEST _DBFCDX

RddSetDefault("_DBFCDX")

SetHandleCount( 200 )

//---- Arquivo de Funções Func.prg ----------------------------

#include "FiveWin.ch"

#Include 'Inkey.Ch'

PROCEDURE Reindexar

LOCAL bAction

bAction := { | oMeter, oText, oDlg, lEnd | Reorganiza( oMeter, oText, oDlg, @lEnd ) }

If MsgYesNo(" Confirma a Reorganizacao ? "," Mensagem: ") = .T.

Continue

Else

MsgRun(" Retornando ao Sistema... "," Mensagem ")

Return

Endif

MsgMeter( bAction ,"Preparando...","Reorganização da base de dados" )

RETURN

//-------------------------------------------------------------------------

STATIC FUNCTION Reorganiza(oMeter,oText,oDlg,lEnd)

DbCloseAll()

oText:SetText(" Limpando arquivos de Indices... ")

// Apagando Arquivos de Indices

// para cria‡Æo de novos arquivos

Erase ATENDE.CDX

....

....

// Fim

// Reoganizando o Arq de Atendimentos

oText:SetText("Classificando Atendimentos... Arq ")

Use ATENDE Alias ATENDE EXCLU

oMeter:nTotal := ATENDE->( LastRec()*1 )

PACK

INDEX ON NOME TAG ATENDEN TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 //1

INDEX ON EMPRESA TAG ATENDEE TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 //2

INDEX ON DTOS(DT_ADM)+NOME TAG ATENDED TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 3

INDEX ON DTOS(NASC) TAG ATENDENS TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 4

INDEX ON IDADE TAG ATENDEID TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 5

INDEX ON DATA TAG ATENDEDT TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 6

INDEX ON NUMCAM TAG ATENDECA TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 7

INDEX ON DTOS(DTENTREGA)+SETOR TAG ATENDTEN TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 8

INDEX ON DTOS(DTSUBST)+SETOR TAG ATENDTSU TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 9

INDEX ON CODIGO TAG ATENDCOD TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 10

INDEX ON DTOS(CONSULTA)+NOME TAG AT_CONS TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 11

//----- Arquivo Auto53.bat --------------

@echo Off

PATH C:\WINDOWS;C:\WINDOWS\SYSTEM32;C:\CLIP53;C:\CLIP53A\BIN;C:\PVSW\BIN;%PATH%

SET INCLUDE=C:\CLIP53\INCLUDE

SET LIB=C:\CLIP53\LIB

SET OBJ=C:\CLIP53\OBJ

SET PLL=C:\CLIP53\PLL

SET TEMP=C:\WINDOWS\TEMP

SET SWAP=C:\WINDOWS\TEMP

SET CLIPPER=F141

//----------------------------------------

OZIEL LOPES

FW 22c - Clipper 5.3b - Workshop 4.0

Link to comment
Share on other sites

Colegas.

Meu sistema roda desde 2005 em FW com Clipper 5.2e, linkeditado com Blinker 7.0 fiz umas mudanças colocando o prog. de indices no sistema e me deparei com um problema, quando indexo em um prog. utilizando o Clipper 5.2e os indices CDX ficam perfeitos, mais quando roda no clipper 5.3 o arq. de indices ficam zerados. Notei que o tamanho do arq cdx fica pequeno. Detalhe é que reindexando pelo Foxprox 2.6 ou ARC 32 os indices ficam ok.

Vejam os fontes abaixo.

// Arquivo LNK ------------------

BLINKER INCREMENTAL OFF

BLINKER CLIPPER SYMBOL OFF

BLINKER EXECUTABLE COMPRESS

NOBELL

PACKCODE

PACKDATA

DEFBEGIN

name FiveWin

description 'GRH 4.5 '

exetype Windows 3.1

code moveable discardable preload

data preload moveable

stacksize 9500

heapsize 1024

segment 'PLANKTON_TEXT' nondiscardable

segment 'EXTEND_TEXT' nondiscardable

segment 'OM_TEXT' nondiscardable

segment 'OSMEM_TEXT' nondiscardable

segment 'SORTOF_TEXT' nondiscardable

segment 'STACK_TEXT' nondiscardable

DEFEND

BEGIN AREA

File GRH

....

File Func

....

File Mpar // para quem evitar bug no Blinker

ENDAREA

LIB C:\FW22C\LIB\FIVE

LIB C:\FW22C\LIB\FIVEC

LIB C:\FW22C\LIB\OBJECTS

LIB C:\FW22C\LIB\WINAPI

LIB C:\CLIP53\LIB\CLIPPER

LIB C:\CLIP53\LIB\_DBFCDX,DBFCDX

LIB C:\CLIP53\LIB\EXTEND

LIB C:\CLIP53\LIB\TERMINAL

LIB C:\CLIP53\LIB\Dbuttons

//----------------------------------------------

// Arquivo Principal do programa -> GRH.PRG

REQUEST _DBFCDX

RddSetDefault("_DBFCDX")

SetHandleCount( 200 )

//---- Arquivo de Funções Func.prg ----------------------------

#include "FiveWin.ch"

#Include 'Inkey.Ch'

PROCEDURE Reindexar

LOCAL bAction

bAction := { | oMeter, oText, oDlg, lEnd | Reorganiza( oMeter, oText, oDlg, @lEnd ) }

If MsgYesNo(" Confirma a Reorganizacao ? "," Mensagem: ") = .T.

Continue

Else

MsgRun(" Retornando ao Sistema... "," Mensagem ")

Return

Endif

MsgMeter( bAction ,"Preparando...","Reorganização da base de dados" )

RETURN

//-------------------------------------------------------------------------

STATIC FUNCTION Reorganiza(oMeter,oText,oDlg,lEnd)

DbCloseAll()

oText:SetText(" Limpando arquivos de Indices... ")

// Apagando Arquivos de Indices

// para cria‡Æo de novos arquivos

Erase ATENDE.CDX

....

....

// Fim

// Reoganizando o Arq de Atendimentos

oText:SetText("Classificando Atendimentos... Arq ")

Use ATENDE Alias ATENDE EXCLU

oMeter:nTotal := ATENDE->( LastRec()*1 )

PACK

INDEX ON NOME TAG ATENDEN TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 //1

INDEX ON EMPRESA TAG ATENDEE TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 //2

INDEX ON DTOS(DT_ADM)+NOME TAG ATENDED TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 3

INDEX ON DTOS(NASC) TAG ATENDENS TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 4

INDEX ON IDADE TAG ATENDEID TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 5

INDEX ON DATA TAG ATENDEDT TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 6

INDEX ON NUMCAM TAG ATENDECA TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 7

INDEX ON DTOS(DTENTREGA)+SETOR TAG ATENDTEN TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 8

INDEX ON DTOS(DTSUBST)+SETOR TAG ATENDTSU TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 9

INDEX ON CODIGO TAG ATENDCOD TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 10

INDEX ON DTOS(CONSULTA)+NOME TAG AT_CONS TO ATENDE;

EVAL {|| oMeter:Set(ATENDE->( Recno() ))} EVERY 5 // 11

//----- Arquivo Auto53.bat --------------

@echo Off

PATH C:\WINDOWS;C:\WINDOWS\SYSTEM32;C:\CLIP53;C:\CLIP53A\BIN;C:\PVSW\BIN;%PATH%

SET INCLUDE=C:\CLIP53\INCLUDE

SET LIB=C:\CLIP53\LIB

SET OBJ=C:\CLIP53\OBJ

SET PLL=C:\CLIP53\PLL

SET TEMP=C:\WINDOWS\TEMP

SET SWAP=C:\WINDOWS\TEMP

SET CLIPPER=F141

//----------------------------------------

OZIEL LOPES

FW 22c - Clipper 5.3b - Workshop 4.0

Link to comment
Share on other sites

Olá Oziel, eu desta forma e nunca tive nenhum problema

SetHandleCount(100)

REQUEST DBFCDX

RddSetDefaut("DBFCDX")

dbSetDriver("_DBFCDX")

dbSetDriver("DBFCDX")

Alessandroid=blue>

FW20d+CL53b+Blk7+@Say+CDX

FW9.07+xHb121+PellesC+CDX

"Uma imaginação bem canalizada é fonte de grandes proezas"id=red>

Link to comment
Share on other sites

Olá Oziel, tente inverter isso dentro do lnk e delete todos os .obj(s) somando a dica que já lhe dei.

LIB C:\CLIP53\LIB\Dbuttons

LIB C:\FW22C\LIB\FIVE

LIB C:\FW22C\LIB\FIVEC

LIB C:\FW22C\LIB\OBJECTS

LIB C:\FW22C\LIB\WINAPI

LIB C:\CLIP53\LIB\DBFCDX

LIB C:\CLIP53\LIB\_DBFCDX

LIB C:\CLIP53\LIB\CLIPPER

LIB C:\CLIP53\LIB\EXTEND

LIB C:\CLIP53\LIB\TERMINAL

Alessandroid=blue>

FW20d+CL53b+Blk7+@Say+CDX

FW9.07+xHb121+PellesC+CDX

"Uma imaginação bem canalizada é fonte de grandes proezas"id=red>

Link to comment
Share on other sites

Infelizmente... escrevi infelismente...

Felizmente alterei para.

SetHandleCount(100)

REQUEST DBFCDX

RddSetDefaut("DBFCDX")

dbSetDriver("DBFCDX")

e funcionou.

Tudo indica que eu tenha que ir para FWH o mais ráipdo possível para ver ser esses probleminhas não aparecem ....

Obrigado.

icon_smile.gif

OZIEL LOPES

FW 22c - Clipper 5.3b - Workshop 4.0

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...