FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index Bugs report & fixes / Informe de errores y arreglos Bug en indice conditional ?
Posts: 69
Joined: Wed Mar 29, 2006 10:54 PM
Bug en indice conditional ?
Posted: Wed Apr 05, 2006 12:03 PM

Saludos al foro,

Tengo un programa que tiene un comportamiento distinto en FW y FWH, es referente a indices condicionales. Anexo un ejemplo:

Esta aplicacion debe eliminar registros dentro de un rango utilizando un indice condicional, si creamos el archivo sin la condicion !NOT DELETED()funciona bien, pero si lo creamos con la condicion !NOT DELETED() el scope no se queda en el rango indicado y sigue hasta el final del archivo.

Esto funciona bien en FW. Será un bug de FWH ?, recuerdo que en un foro de xHarbour encontre un reporte similar.

Saludos

include "FiveWin.ch"

include "ord.ch"

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

function Main()
local cNumero
local aCampos := {{ 'NUMERO', 'C', 6, 0 }}

REQUEST DBFCDX
RDDSETDEFAULT( "DBFCDX" )

SET DATE FRENCH
SET CENT ON

dbcreate( 'PRUEBA', aCampos )

use PRUEBA alias PRUEBA
APPEND BLANK
prueba->NUMERO := "100000"

APPEND BLANK
prueba->NUMERO := "200000"

// CASO 1: Con este indice funcion bien lee unicamente el numero "100000"
// INDEX ON prueba->NUMERO TAG prueba1 TO prueba

// CASO 2: Con este indice lee todos los registros
INDEX ON prueba->NUMERO TAG prueba1 TO prueba FOR !DELETED()

cNumero := "100000"

SET SCOPE TO cNumero
GO TOP
DO WHILE !eof()
msginfo( prueba->NUMERO )

DELETE
SKIP
ENDDO

CLOSE ALL

return nil

Gracias.

Saludos



Alvaro Urdaneta



Fwh 25.09, xharbour1.3.1, bcc77, Brw45

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Bug en indice conditional ?
Posted: Wed Apr 05, 2006 06:14 PM

Alvaro,

FWH no hace nada en absoluto sobre los RDDs, DBFs e índices. Debe de tratarse de una cuestión propia de Harbour/xharbour.

Usas Harbour ó xharbour ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 69
Joined: Wed Mar 29, 2006 10:54 PM
Bug en indice conditional ?
Posted: Wed Apr 05, 2006 06:22 PM

Antonio,

Uso fwh/harbour de marzo/2006. Pudistes hacer la prueba con el PRG del ejemplo y asi saber si unicamente me pasa a mi?, gracias

Saludos

Saludos



Alvaro Urdaneta



Fwh 25.09, xharbour1.3.1, bcc77, Brw45

Posts: 69
Joined: Wed Mar 29, 2006 10:54 PM
Bug en indice conditional ?
Posted: Thu Apr 06, 2006 02:20 PM

Antonio,

Tienes alguna respuesta de este tema, gracias,

Saludos

Saludos



Alvaro Urdaneta



Fwh 25.09, xharbour1.3.1, bcc77, Brw45

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Bug en indice conditional ?
Posted: Sun Apr 09, 2006 06:08 PM
Alvaro,

Hemos publicado tu ejemplo en la lista de desarrollo de Harbour y efectivamente se trataba de un bug que ya ha sido corregido.

Puedes descargar el nuevo build de Harbour desde aqui:
http://hyperupload.com/download/016ece0 ... r.EXE.html

Por cierto, que nos comentan que es mejor práctica hacer:
   GO TOP 
   WHILE !eof() 
      DELETE 
      GO TOP 
   ENDDO

en vez de:
   GO TOP 
   WHILE !eof() 
      DELETE 
      SKIP
   ENDDO

Ya que otros RDDs podrian no soportar la segunda opción.

De todas formas tu ejemplo ya funciona correctamente :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com

Continue the discussion