Refrescar gets desde listbox

Refrescar gets desde listbox

Postby JoseLuis » Mon Sep 22, 2008 9: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:
Code: Select all  Expand view  RUN
      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
JoseLuis
 
Posts: 428
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Postby Willi Quintana » Mon Sep 22, 2008 2: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
User avatar
Willi Quintana
 
Posts: 1022
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú

Re: Refrescar gets desde listbox

Postby Daniel Garcia-Gil » Mon Sep 22, 2008 2:11 pm

JoseLuis wrote: oLbx:bChange:={|| oDlg:Refresh()}

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

debrias usar un OBJ por cada GET y por cada SAY, mira la idea que te dice Willy.
oLbx:bChange:={|| aEval( aGets, {| o | o:refresh() } ) }
recuerda que aGets = Array ( n Elementos Get )
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Postby JoseLuis » Mon Sep 22, 2008 3:45 pm

Muchas gracias,

Lo he solucionado gracias a vosotros

Saludos
JoseLuis
 
Posts: 428
Joined: Thu Oct 19, 2006 12:28 pm
Location: Toledo

Postby Armando Picon » Mon Sep 22, 2008 3: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
User avatar
Armando Picon
 
Posts: 446
Joined: Mon Dec 26, 2005 9:11 pm
Location: Lima, Peru


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 40 guests

cron