Ayuda xbrowse con DBF y CDX lento en RED

Ayuda xbrowse con DBF y CDX lento en RED

Postby AIDA » Fri Jun 14, 2013 3:15 pm

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
AIDA
 
Posts: 877
Joined: Fri Jan 12, 2007 8:35 pm

Re: Ayuda xbrowse con DBF y CDX lento en RED

Postby acuellar » Fri Jun 14, 2013 4:45 pm

AIDA

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

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1594
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Ayuda xbrowse con DBF y CDX lento en RED

Postby AIDA » Fri Jun 14, 2013 6:25 pm

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
AIDA
 
Posts: 877
Joined: Fri Jan 12, 2007 8:35 pm

Re: Ayuda xbrowse con DBF y CDX lento en RED

Postby acuellar » Fri Jun 14, 2013 6:34 pm

Aida

Colocalo tu FILTER para verlo.

Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1594
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Ayuda xbrowse con DBF y CDX lento en RED

Postby davidObarrio » Fri Jun 14, 2013 6:42 pm

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
davidObarrio
 
Posts: 72
Joined: Tue Oct 02, 2012 4:36 pm

Re: Ayuda xbrowse con DBF y CDX lento en RED

Postby AIDA » Fri Jun 14, 2013 6:59 pm

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
AIDA
 
Posts: 877
Joined: Fri Jan 12, 2007 8:35 pm

Re: Ayuda xbrowse con DBF y CDX lento en RED

Postby karinha » Fri Jun 14, 2013 7:57 pm

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

Code: Select all  Expand view

               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
karinha
 
Posts: 7352
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Ayuda xbrowse con DBF y CDX lento en RED

Postby AIDA » Mon Jun 17, 2013 12:04 am

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
AIDA
 
Posts: 877
Joined: Fri Jan 12, 2007 8:35 pm

Re: Ayuda xbrowse con DBF y CDX lento en RED

Postby jrestojeda » Mon Jun 17, 2013 4:39 pm

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
jrestojeda
 
Posts: 593
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Ayuda xbrowse con DBF y CDX lento en RED

Postby AIDA » Mon Jun 17, 2013 7:17 pm

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
AIDA
 
Posts: 877
Joined: Fri Jan 12, 2007 8:35 pm

Re: Ayuda xbrowse con DBF y CDX lento en RED

Postby jrestojeda » Mon Jun 17, 2013 7:41 pm

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
jrestojeda
 
Posts: 593
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Ayuda xbrowse con DBF y CDX lento en RED

Postby AIDA » Mon Jun 17, 2013 9:01 pm

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
AIDA
 
Posts: 877
Joined: Fri Jan 12, 2007 8:35 pm

Re: Ayuda xbrowse con DBF y CDX lento en RED

Postby sysctrl2 » Mon Jun 17, 2013 11:09 pm

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

Code: Select all  Expand view
#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: 971
Joined: Mon Feb 05, 2007 7:15 pm

Re: Ayuda xbrowse con DBF y CDX lento en RED

Postby sysctrl2 » Mon Jun 17, 2013 11:15 pm

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

es como hacer un SET FILTER TO

saludos.

Code: Select all  Expand view
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
sysctrl2
 
Posts: 971
Joined: Mon Feb 05, 2007 7:15 pm

Re: Ayuda xbrowse con DBF y CDX lento en RED

Postby AIDA » Wed Jun 19, 2013 1:03 am

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ǝ
User avatar
AIDA
 
Posts: 877
Joined: Fri Jan 12, 2007 8:35 pm

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot], JoseAlvarez and 30 guests