FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour TcBrowse... SOLUCIONADO
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
TcBrowse... SOLUCIONADO
Posted: Tue May 10, 2011 09:51 AM
A ver si alguien me puede decir como se hace, para incorporar una columna a un browse que no sea de campo de la base de datos, sino que cumpla una condicion:

Si lo escribo directamente si funciona
Code (fw): Select all Collapse
    for nPos := 1 to Len(f_expd)                         
 
    IF Empty(f_bmpd[nPos])
            ADD COLUMN TO BROWSE oBrw;                          
          HEADER f_nomd[nPos] OEM ;                     
          DATA FieldWBlock( f_expd[nPos] , Select())      

       ELSE
             ADD COLUMN TO BROWSE oBrw;                          
          HEADER f_nomd[nPos] OEM ;                      
             DATA iif(file("r:\jud\dat\tif\"+alltrim(q_t)+".tif"),'Sí','No');
             NOBAR CENTER
        ENDIF
    next


Pero si lo realizo desde un array no me funciona:
Code (fw): Select all Collapse
 
  //f_bmpd[] tiene el valor  iif(file("r:\jud\dat\tif\"+alltrim(q_t)+".tif"),'Sí','No')
   for nPos := 1 to Len(f_expd)                        
   
     IF  Empty(f_bmpd[nPos])
          ADD COLUMN TO BROWSE oBrw;                        
          HEADER f_nomd[nPos] OEM ;                      
          DATA FieldWBlock( f_expd[nPos] , Select())    

       ELSE
            ADD COLUMN TO BROWSE oBrw;                         
            HEADER f_nomd[nPos] OEM ;                      
             DATA f_bmpd[nPos];
             NOBAR CENTER
        ENDIF
    next



Los datos de las columnas los tengo almacenados en array que cojo de ficheros externos:
Code (fw): Select all Collapse
//f_nomd[nPos] guarda el nombre que aparece en la columna ejemplo CODIGO
//f_expd[nPos] guarda el nombre del campo de la base de datos ejemplo EXPED
//f_bmpd[nPos] guarda una condicion o que muestre un bmp ahora solo iif(file("r:\jud\dat\tif\"+alltrim(q_t)+".tif"),'Sí','No') pero mi intención es guardar un handle del bmp a mostrar iif(file("r:\jud\dat\tif\"+alltrim(q_t)+".tif"),hFoto,hNoFoto)
[DB]
EXPED;CODIGO;1;;
FECHA;FECHA;2;;
HORA;HORA;3;;
DNI;DNI;4;;
PERPOL;N.PERPOL;5;;
FOTO;FOTOS;6;iif(file("r:\jud\dat\tif\"+alltrim(q_t)+".tif"),'Sí','No');
APEL;APELLIDOS;7;;
NOM;NOMBRE;8;;
LUGNAC;L.NACIMIE.;9;;
PROVNAC;PROV.NACI.;10;;
FECNAC;F.NACIMIE.;11;;
PADRE;NOM.PADRE;12;;
MADRE;NOM.MADRE;13;;
CALLE;DOMICILIO;14;;
POB;POBLACION;15;;
PROV;PROVINCIA;16;;
TF;TF.;17;;


Entiendo que tengo que decirle que es un bloque para que lo evalue en tiempo de ejecución, igual que hago con FieldWBlock(). Cómo lo hago?
Saludos



Andrés González desde Mallorca
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: TcBrowse...
Posted: Tue May 10, 2011 03:16 PM
Parece que espera un code block y yo le paso el array, como hago para pasar una array como si fuera un code block:


Code (fw): Select all Collapse
            ADD COLUMN TO BROWSE oBrw;                          
             HEADER f_nomd[nPos] OEM ;                      
             DATA iif(file("r:\jud\dat\tif\"+alltrim(q_t)+".tif"),'Sí','No') ; //Así funciona y muestra lo que quiero pero necesito formar el browse en tiempo de ejecucion como hago con los campos de la DB
             CENTER


Code (fw): Select all Collapse
             f_bmpd[1] := iif(file("r:\jud\dat\tif\"+alltrim(q_t)+".tif"),'Sí','No')

             ADD COLUMN TO BROWSE oBrw;                          
             HEADER f_nomd[nPos] OEM ;                      
             DATA f_bmpd[1] ; //Así da error y el programa se cuelga
             CENTER


Code (fw): Select all Collapse
             f_bmpd[1] := iif(file("r:\jud\dat\tif\"+alltrim(q_t)+".tif"),'Sí','No')

             ADD COLUMN TO BROWSE oBrw;                          
             HEADER f_nomd[nPos] OEM ;                      
             DATA FIELDBLOCK(f_bmpd[1]) ; //Así no da error pero la columna permanede en blanco ya que no es un campo es una condición
             CENTER



El manejo de los code blocks siempre ha sido mi asignatura pendiente, alguien me puede echar una mano.
Saludos



Andrés González desde Mallorca
Posts: 632
Joined: Thu Jan 19, 2006 10:45 AM
Re: TcBrowse...
Posted: Tue May 10, 2011 04:22 PM
Conseguido, depués de mil pruebas lo he conseguido:
Code (fw): Select all Collapse
ADD COLUMN TO BROWSE oBrw;                     //
          HEADER f_nomd[nPos] OEM ;                      // Array con TITULOS DE LAS COLUMNAS
             DATA  &("{|This| " + f_bmpd[nPos] +" }") ;         
             CENTER
Saludos



Andrés González desde Mallorca

Continue the discussion