FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Refrescar gets desde listbox
Posts: 428
Joined: Thu Oct 19, 2006 12:28 PM
Refrescar gets desde listbox
Posted: Mon Sep 22, 2008 09:00 AM
Hola amigos

No se porqu茅 ahora me pasa 茅sto

Tengo un di谩logo en que que en la parte izquierda tengo un listbox, con matriculas de veh铆culos, y en la parte derecha, verticalmente una serie de gets con la informaci贸n del mismo que se encuentra en el mismo registro de la base de datos, bien pues al cambiar de matr铆cula no cambia el get, s贸lo cuando el get recibe el foco, me pone la informaci贸n que corresponde, y le tengo puesto los refrescos correspondientes:
      DEFINE FONT OFONT  NAME 'ARIAL' SIZE 0, -10 
      DEFINE FONT OFONT1 NAME 'ARIAL' SIZE 0, -10 BOLD 
      DEFINE DIALOG oDlg RESOURCE "INTERVALO"
      REDEFINE LISTBOX oLbx FIELDS Coche->Matricula;
		  HEADER "Matricula";
                  FIELDSIZES 100;
                  ALIAS "Coche";
                  COLOR CLR_BLACK,  nRGB(226,226,208) ;
		  FONT oFont ID 300 OF oDlg
      oLbx:bChange:={|| oDlg:Refresh()} 
      REDEFINE SAY oSay                    ID 201 OF oDlg  ;
               FONT oFont1 ;
               COLOR CLR_BLACK, CLR_WHITE
      REDEFINE GET oGet VAR coche->Ifaire ID 101 OF oDlg Update ;
               COLOR CLR_BLUE, CLR_WHITE 
      REDEFINE SAY oSay                     ID 202 OF oDlg  ;
               FONT oFont1 ;
               COLOR CLR_BLACK, CLR_WHITE
      REDEFINE GET oGet VAR coche->Ifaceite    ID 102 OF oDlg Update ;
               COLOR CLR_BLUE, CLR_WHITE
      REDEFINE SAY oSay                     ID 203 OF oDlg  ;
               FONT oFont1 ;
               COLOR CLR_BLACK, CLR_WHITE
Etc......


Que se me olvida?

Saludos
--------------------------

Saludos



Jose Luis
Posts: 1054
Joined: Sun Oct 09, 2005 10:41 PM
Refrescar gets desde listbox
Posted: Mon Sep 22, 2008 02:06 PM

Hola,
Seria mejor (a mi me funciona ok), qye los objetos de tus GET los manejes desde un arreglo

oGet := ARRAY(2)

DEFINE FONT OFONT NAME 'ARIAL' SIZE 0, -10
DEFINE FONT OFONT1 NAME 'ARIAL' SIZE 0, -10 BOLD
DEFINE DIALOG oDlg RESOURCE "INTERVALO"
REDEFINE LISTBOX oLbx FIELDS Coche->Matricula;
HEADER "Matricula";
FIELDSIZES 100;
ALIAS "Coche";
COLOR CLR_BLACK, nRGB(226,226,208) ;
FONT oFont ID 300 OF oDlg
oLbx:bChange:={|| RRefresh(oGet)}
REDEFINE SAY oSay ID 201 OF oDlg ;
FONT oFont1 ;
COLOR CLR_BLACK, CLR_WHITE
REDEFINE GET oGet[1] VAR coche->Ifaire ID 101 OF oDlg Update ;
COLOR CLR_BLUE, CLR_WHITE
REDEFINE SAY oSay ID 202 OF oDlg ;
FONT oFont1 ;
COLOR CLR_BLACK, CLR_WHITE
REDEFINE GET oGet[2] VAR coche->Ifaceite ID 102 OF oDlg Update ;
COLOR CLR_BLUE, CLR_WHITE
REDEFINE SAY oSay ID 203 OF oDlg ;
FONT oFont1 ;
COLOR CLR_BLACK, CLR_WHITE

FUNCTION RRefresh(oObj)
local nLen, nCont
nLen := LEN(oObt)
FOR nCont :=1 to nLen
REFRESH(oObj[nCont])
NEXT nCont
Returb(Nil)
....
..

Salu2

Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Refrescar gets desde listbox
Posted: Mon Sep 22, 2008 02:11 PM
JoseLuis wrote:
oLbx:={|| oDlg:Refresh()}

prueba esto.
intentar usar la clausula UPDATE en vez de REFRESH
oLbx:={|| oDlg:Update()}

debrias usar un OBJ por cada GET y por cada SAY, mira la idea que te dice Willy.
oLbx:={|| aEval( aGets, {| o | o:refresh() } ) }
recuerda que aGets = Array ( n Elementos Get )
Posts: 428
Joined: Thu Oct 19, 2006 12:28 PM
Refrescar gets desde listbox
Posted: Mon Sep 22, 2008 03:45 PM

Muchas gracias,

Lo he solucionado gracias a vosotros

Saludos

--------------------------

Saludos



Jose Luis
Posts: 446
Joined: Mon Dec 26, 2005 09:11 PM
Refrescar gets desde listbox
Posted: Mon Sep 22, 2008 03:47 PM

Lo que te falt贸 es colocar UPDATE a cada Get y Say

FWH + BCC582 + WorkShop 4.5 + Resource Hacker + Mingw
Mis nuevas herramientas
Comunicacion via WhatsApp (+51) 957549 665
Comunicaci贸n via Correo: apic1002002 at yahoo dot es; apic1002002@gmail.com

Continue the discussion