Ayuda xbrowse con DBF y CDX lento en RED

User avatar
AIDA
Posts: 879
Joined: Fri Jan 12, 2007 8:35 pm

Ayuda xbrowse con DBF y CDX lento en RED

Post by AIDA »

Hola

Tengo un programita para visualizar datos en un xbrowse en red
este programa consulta datos por claves pero se pone super lento que puede ser :?:
me podrían orientar :roll:

Gracias!

Saluditos :wink:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
acuellar
Posts: 1645
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Ayuda xbrowse con DBF y CDX lento en RED

Post by acuellar »

AIDA

Si tiene FILTER hay que evitarlos, Es aconsejable usar SCOPE o INDICES para filtrar.

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
AIDA
Posts: 879
Joined: Fri Jan 12, 2007 8:35 pm

Re: Ayuda xbrowse con DBF y CDX lento en RED

Post by AIDA »

UPS SI TENGO FILTERS :shock:

Como se usan esos SCOPE ?

Gracias

Saluditos :wink:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
acuellar
Posts: 1645
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Ayuda xbrowse con DBF y CDX lento en RED

Post by acuellar »

Aida

Colocalo tu FILTER para verlo.

Saludos,

Adhemar
Saludos,

Adhemar C.
davidObarrio
Posts: 72
Joined: Tue Oct 02, 2012 4:36 pm

Re: Ayuda xbrowse con DBF y CDX lento en RED

Post by davidObarrio »

Yo lo hago asi....

el archivo está indexado asi....

str(CODIINT,10)+str(EM_PARE,2)



#Include 'xbrowse.ch'
#define TOPSCOPE 0
#define BOTTOMSCOPE 1


@ 0.875,1 XBROWSE oBrwGRU ;
FIELDS (EMPLEGRU)->EM_NOMB , ;
HEADERS 'Nombre' ;
SIZES 200 ;
SIZE 200 ;
ALIAS EMPLEGRU OF oFol:aDialogs[3]

oBrwGRU:nRowDividerStyle = LINESTYLE_NOLINES
oBrwGRU:nColDividerStyle = LINESTYLE_BLACK
oBrwGRU:nMarqueeStyle = MARQSTYLE_HIGHLROW
oBrwGRU:CreateFromCode()

oBrwGRU:Seek( str(mCODIINT,10) )

eFiltro1 := {|| DBSELECTAREA(EMPLEGRU) ,;
(EMPLEGRU)->( OrdScope(BOTTOMSCOPE, str(mCODIINT,10) )) ,;
(EMPLEGRU)->( OrdScope(TOPSCOPE, str(mCODIINT,10) )) ,;
(EMPLEGRU)->(dbgotop()) }

EVAL(eFiltro1)


saludos

david
User avatar
AIDA
Posts: 879
Joined: Fri Jan 12, 2007 8:35 pm

Re: Ayuda xbrowse con DBF y CDX lento en RED

Post by AIDA »

a si tengo el filter

Set filter to ( cAlias )->poliza= irNueva1 .and. ( cAlias )->agente=IrNueva2

Saluditos :wink:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
karinha
Posts: 7932
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 3 times
Contact:

Re: Ayuda xbrowse con DBF y CDX lento en RED

Post by karinha »

Hola Aida, use INDICE TEMPORARY es mejor y mas rapido:

Code: Select all | Expand


               SELECT CADNFE

               INDEX ON CADNFE->NFECOD       TAG 07 TO INFETEMP   ;
                        WHILE CADNFE->PEDIDCOD == PEDIDCOD2 .AND. ;
                              CADNFE->TPFAT_OP == "P"       .AND. ;
                              CADNFE->STATUS   == "IMP"     .OR.  ;
                              CADNFE->STATUS   == "CAN"     .OR.  ;
                              CADNFE->STATUS   == "APR"   TEMPORARY
 


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
AIDA
Posts: 879
Joined: Fri Jan 12, 2007 8:35 pm

Re: Ayuda xbrowse con DBF y CDX lento en RED

Post by AIDA »

Hola!

Muchas gracias revisare sus ejemplos son de mil amores :D

yo les comento como me quedo el cambio de codigo :)

Gracias!! :mrgreen:


Saluditos :wink:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
jrestojeda
Posts: 601
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Ayuda xbrowse con DBF y CDX lento en RED

Post by jrestojeda »

Aida...
Yo lo que uso sin problemas son los SCOPES, funcionan muy bien y rápido, pero hay que tener unas cositas en cuenta a la hora de usarlos.
Sólo se puede hacer un SCOPE sobre un tag de tu CDX, y si por algún motivo cambias el SetOrder en algún momento, el Scope se pierde.
Conceptualmente son muy rápidos, ya que con dos "SoftSeeks" internos te filtra y se queda sólo con lo que le interesa, es decir, el Scope, hace un SoftSeek al TOPSCOPE y otro SoftSeek al BOTTOMSCOPE y como la tabla está ordenada lo que hace es quedarse con lo que queda entre esos dos "SoftSeeks" y el resto lo descarta.
El set filter to, recorre toda la tabla verificando si se cumple con la condición de filtro.
Si no tienes un TAG como para poder hacer un SCOPE y tampoco puedes crearlo, podrías probar con un DBSETFILTER que en principio debería ser levemente más rápito que el SET FILTER TO.
Espero te sirva la idea...
Saludos,
Last edited by jrestojeda on Wed Dec 24, 2014 3:34 pm, edited 1 time in total.
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
User avatar
AIDA
Posts: 879
Joined: Fri Jan 12, 2007 8:35 pm

Re: Ayuda xbrowse con DBF y CDX lento en RED

Post by AIDA »

No capto como pasar mis filtros a esos scope :?

como quedaria este filtro :?:

Set filter to ( cAlias )->poliza= irNueva1 .and. ( cAlias )->agente=IrNueva2

en un scope :roll:



toy emburrada :oops:


Saluditos :wink:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
jrestojeda
Posts: 601
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Ayuda xbrowse con DBF y CDX lento en RED

Post by jrestojeda »

Aida...
Para poder ayudarte necesitamos saber que tipo de campo es POLIZA y AGENTE.
Y debes tener un Tag dentro de tu CDX con esos dos campos.
Saludos,
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
User avatar
AIDA
Posts: 879
Joined: Fri Jan 12, 2007 8:35 pm

Re: Ayuda xbrowse con DBF y CDX lento en RED

Post by AIDA »

Hola

POLIZA y AGENTE son alfa numéricos


Saluditos :wink:
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
User avatar
sysctrl2
Posts: 1048
Joined: Mon Feb 05, 2007 7:15 pm
Has thanked: 6 times
Contact:

Re: Ayuda xbrowse con DBF y CDX lento en RED

Post by sysctrl2 »

debes de tener, un índice POLIZA+AGENTE
saludos desde el D.Fectuoso.

Code: Select all | Expand

#define TOPSCOPE           1
#define BOTTOMSCOPE        2
FUNCTION Main()
    local cLimInf := "001" + "002"
    local cLimSup := "100" + "200"

    dbselectarea( cTabla )
    ordsetfocus( 1 )
    (cTabla)->( SetScope( cLimInf, cLimSup ) )
    xbrowse()
    ClearScope( cTabla )
RETURN NIL

function SetScope( xValorIni, xValorFin )

   DEFAULT xValorFin := xValorIni

   OrdScope( TOPSCOPE,    xValorIni )
   OrdScope( BOTTOMSCOPE, xValorFin )
   DBGoTop()

RETURN nil
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
Posts: 1048
Joined: Mon Feb 05, 2007 7:15 pm
Has thanked: 6 times
Contact:

Re: Ayuda xbrowse con DBF y CDX lento en RED

Post by sysctrl2 »

Perdon, aquí esta la función ClearScope()

es como hacer un SET FILTER TO

saludos.

Code: Select all | Expand

function ClearScope()

   OrdScope( TOPSCOPE    , NIL )
   OrdScope( BOTTOMSCOPE , NIL )
   DBGoTop()

RETURN nil


los scopes son rapidos, en tu caso creo que encajaria perfecto.

yo solo los uso en lugares específicos, por ejemplo:

nFolioInicial
nFolioFinal
==========================
fecha inicial, fecha final
=========================
etc.
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
AIDA
Posts: 879
Joined: Fri Jan 12, 2007 8:35 pm

Re: Ayuda xbrowse con DBF y CDX lento en RED

Post by AIDA »

Hola :D

ya aplique sus recomendaciones de scopes y indices temporales y si se noto una super mejoría :mrgreen:

pero que creen que me cambie de red temporalmente y ahora funciona super bien a un sin las modificaciones :shock:

pero como debe ser en la red anterior deberé ver que es lo que me esta alentando todo ya revise las compus de las dos redes usan el mismo antivirus con la misma configuración

que creen que pueda ser lo que me esta afectando la rapidez de conexión de mi programa :?:


Saluditos :wink: y un millón de kikos de mi parte :D
Que es mejor que programar? creo que nada :)
Atropellada pero aqui ando :P

I love Fivewin

séʌǝɹ ןɐ ɐʇsǝ opunɯ ǝʇsǝ
Post Reply