Página 1 de 1

indices

Enviado: 05 Fev 2005 01:06
por Forrest_Gump
ola amigos, estou tentando migrar aos poucos para o fivewin e ja estou encontrando algumas dificuldades.
no clipper eu tinha uma funcao abertura que chamava os arquivos dbfs e outra funcao indexa para indexar os mesmos.
FUNCTION ABERTURA
SELE 1
USE CONTAB00 share

sele 2
USE CONTAB01 share
set index to ind01 , ind01_2
RETURN .T.

FUNCTION INDEXA
CLOSE DATABASES
USE CONTAB01
index on codigo to ind01
index on nome to ind01_2
return .T.

no clipper funcionava que era uma beleza, mas não funciona no fivewin.
Gostaria de saber o que tenho que fazer para criar estes indices no fivewin, e como chama-los nos prgs .
eu chamava assim:
sele 2
set order to 2

e outra questão eu não consigo compilar o arquivo
#include "sixnsx2.ch

desde ja agradeço a ajuda

Enviado: 10 Fev 2005 13:36
por rochinha
Amiguinho

Minha sugestão é que voce instale o Clipper 5.3 e use o seu motor para CDX muito melhorado que as versões anteriores e use a função SETSCOPE() nele existente e abandone o Six(pois tive problemas ao implementar).

Faça a instalação assim:

Instale o Fivewin novamente no diretório TESTEFW.
Instale o Clipper 5.3 novamente no diretório TESTEC5.
Crie um diretório chamando Fivewin4Clipper
Jogue todos os arquivos de TESTEFW e TESTEC5 para o diretorio Fivewin4Clipper assim:

copy TESTEC5\BIN\*.* Fivewin4Clipper
copy TESTEC5\LIB\*.* Fivewin4Clipper
copy TESTEC5\OBJ\*.* Fivewin4Clipper
copy TESTEC5\INCLUDE\*.* Fivewin4Clipper

copy TESTEFW\BIN\*.* Fivewin4Clipper
copy TESTEFW\LIB\*.* Fivewin4Clipper
copy TESTEFW\OBJ\*.* Fivewin4Clipper
copy TESTEFW\INCLUDE\*.* Fivewin4Clipper

Desta forma voce terá todos os arquivo dentro de uma mesma estrutura.

Primeiro.
Em seus .PRGs esqueça o uso de SELECT para selecionar a área de abertura, só use para definir o foco da mesma, exemplo:

USE contab00 NEW SHARED

Pelo fato de se usar NEW o proproio Clipper se encarrega de definir uma área para o arquivo e aí voce seleciona pelo nome do arquivo ou Alias, exemplo:

USE contab00 NEW SHARED ALIAS contabil
...
SELE contab00
ou
SELE contabil

Irão chamar o mesmo arquivo.

Segundo.
Monte a função de indexação totalmente em um unico lugar, ou seja uma uica função cria os indices e feche cada arquivo que foi indexado, exemplo:

FUNCTION INDEXA
CLOSE DATABASES
USE contab00
index ...
index ...
USE
USE contab01
index ...
USE
CLOSE DATABASES

Terceiro.
Minha sugestão é que não use o RDD SIX no Fivewin, voce pode linkar a .LIB SIX para utilizar suas funções, como, compactação, segurança sem ativar o RDD, bastando para isto colocar a chamada logo a'pos as .LIBs do Clipper no FIVEWIN.LNK

Ou então acrescente a chamada ao SIX.LNK acrescentando ao FIVEWIN.LNK as seguintes linhas(negritadas) como o exemplo:

NOBELL

FILE SIXCDX
@SIX2


LIB Five
LIB fivec

Abraços :?)