Esqueceram de uma coisa: CODEPAGE
A função Descend() não funciona pra qualquer codepage, somente pra padrão.
Eu criei esta aqui pra funcionar com qualquer codepage.
http://www.harbourdoc.com.br/show.asp?s ... PDescend()
E lógico... confira isso de mudar a ordem.
Indexação utilizando descending.
Moderador: Moderadores
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Indexação utilizando descending.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Indexação utilizando descending.
Poka,Help do xHarbour
"StrZero() converts a numeric value to a character string. This is required when numeric values must be concatenated with character strings for formatted display, or when index keys containing Numeric and Character fields must be created."
Tava procurando algo sobre indexação, cheguei neste tópico. Ele é meio antigo, talvez vc já tenha resolvido, mas vou acrescentar uma coisa. Li em algum lugar (ou alguém me sugeriu), ainda no tempo do Summer, que a indexação pressupõe valores sempre de mesmo tamanho e que, se fosse necessário usar STR(), era preciso fazer o seguinte:
Código: Selecionar todos
- definir um tamanho fixo para a saída:
str(1234.34,10,2) -> " 1234.34" // sendo 10 o tamanho do campo
str( 1.34,10,2) -> " 1.34"
- ou (preferencialmente) usar o STRZERO(), também com tamanho fixo:
strzero(1234.34,10,2) -> "0001234.34"
strzero( 1.34,10,2) -> "0000001.34"- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Indexação utilizando descending.
Só reforçando o detalhe da codepage.
Tive problemas aqui num index on Descend(Dtos()), sendo que Dtos() só usa números.
Isso foi depois de adotar a codepage PTISO.
Quando relatei o problema, o pessoal falou que por questão de compatibilidade com Clipper isso não seria alterado.
Então quando se usa codepage, é bom esquecer a Descend() original e também a compatibilidade com outros programas.
Tive problemas aqui num index on Descend(Dtos()), sendo que Dtos() só usa números.
Isso foi depois de adotar a codepage PTISO.
Quando relatei o problema, o pessoal falou que por questão de compatibilidade com Clipper isso não seria alterado.
Então quando se usa codepage, é bom esquecer a Descend() original e também a compatibilidade com outros programas.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Indexação utilizando descending.
Olá Eolo e José Quintas.
Na época não resolvi não, deixei o relatório em outra ordem mesmo, não do jeito que cliente pediu. Vou fazer mais uns testes, depois volto aqui para dizer se resolveu ou não.
Um abraço
Poka
Na época não resolvi não, deixei o relatório em outra ordem mesmo, não do jeito que cliente pediu. Vou fazer mais uns testes, depois volto aqui para dizer se resolveu ou não.
Um abraço
Poka
-
Kapiaba
- Colaborador

- Mensagens: 1908
- Registrado em: 07 Dez 2012 16:14
- Localização: São Paulo
- Contato:
Indexação utilizando descending.
Código: Selecionar todos
//#include "FiveWin.ch"
REQUEST DBFCDX
REQUEST DESCEND //-> EXTERNAL DESCEND - É obrigatório.
function Main()
rddRegister( "DBFCDX", 1 )
rddsetdefault( "DBFCDX" )
indexar()
return nil
function indexar()
USE ARQCID ALIAS ARQCID NEW
INDEX ON CODPRACA + DESCEND(STR(VALOR)) TAG CODPRA TO ARQCID
INDEX ON NOMEPRACA + DESCEND(STR(VALOR)) TAG NOMVAL TO ARQCID
go top
SET ORDER TO 01
Browse()
go top
SET ORDER TO 02
Browse()
return nil
