MENUs CON RECURSOS en variables

MENUs CON RECURSOS en variables

Postby Ariel » Sat Oct 14, 2017 10:05 am

Hola a todos,
tengo esta situacion, el menu de mi app en una tabla mysql, y tiene un campo q es el recurso, si pongo el nombre del recurso (bmp), ej. "16clientes", me muestra la imagen correctamente, ahora si trato de usar una variable cBmpClientes, que contiene "16clientes" o "clientes16", no me muestra nada, me toma como recurso "cbmpclientes", cuando deberia tomar "16clientes" o "clientes16" dependiendo de la condicion de configuracion.
La pregunta es como obtener el valor de la variable guardada en el campo.
He probado:
cBmp:= ALLTRIM( mymenu.recurso )
1) ? cBmp -> cBmpClientes, no muestra nada xq no existe el recurso "cBmpClientes"
2) ? &(cBmp) da un gpf
3) bVar:= { {|| "'" + cBmp + "'" }
cBmp:= EVAL(bVar)
tambien da un gpf
la imagen la defino asi :
oMnItem[nItem]:hBitmap:= LoadBitmap( GetResources(), cBmp )

Gracias.
Ariel
 
Posts: 374
Joined: Wed Nov 29, 2006 1:51 pm
Location: Rosario - Argentina

Re: MENUs CON RECURSOS en variables

Postby cnavarro » Sat Oct 14, 2017 10:52 am

Prueba con una llamada a una function que devuelva el nombre del recurso

Code: Select all  Expand view

.../...
      MENUITEM FWString( "&New" ) ;
         RESOURCE MResName()
.../...

Function MResname()

Return  "new16"

 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6498
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: MENUs CON RECURSOS en variables

Postby Ariel » Sat Oct 14, 2017 11:19 am

Cristobal,
gracias x responder,
el tema es q el nombre del recurso esta en la variable, no lo tengo fijo, xq dependiendo la configuracion de la app, puede tener distintos bmps, entonces lo que guardo en la tabla es el nombre de una variable x ej. cBmpClientes, que esta definida :
if oApp:win10
#define cBmpClientes "16clientes"
else
#define cBmpClientes "clientes16"
endif

me explico ?
Gracias
Ariel
 
Posts: 374
Joined: Wed Nov 29, 2006 1:51 pm
Location: Rosario - Argentina

Re: MENUs CON RECURSOS en variables

Postby cnavarro » Sat Oct 14, 2017 1:17 pm

Claro que te explicas, pero o no te entiendo o no me entiendes
La function puede devolver un literal o lo que quieras
Lo has probado?

Code: Select all  Expand view


#define cRes "open16"
Function MResname()
//Local cRes  := "new16"
Return cRes

 


Aunque esto tambien funciona evidentemente

Code: Select all  Expand view

#define cRes "open16"

.../...

      MENUITEM FWString( "&New" ) ;
         RESOURCE cRes //MResname() //"new16"

 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6498
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: MENUs CON RECURSOS en variables

Postby Ariel » Sat Oct 14, 2017 2:00 pm

Cristoba,
no me estas entendiendo...
1) en la tabla guardo el nombre de una variable (ej. cBmpClientes )
2) en el prg tengo el #define cBmpClientes de acuerdo a una condicion.
3) cuando levanto el menu, no tengo el nombre del recurso, sino el nombre de la variable (cBmpClientes)

Probe los ej. q pusiste y ninguno funcionó, xq está tomando como recursos a cBmpClientes y lo q necesito es q tome el valor de cBmpClientes

saludos.
Ariel
 
Posts: 374
Joined: Wed Nov 29, 2006 1:51 pm
Location: Rosario - Argentina

Re: MENUs CON RECURSOS en variables

Postby cnavarro » Sat Oct 14, 2017 2:02 pm

Bien, has probado

Code: Select all  Expand view

  &cBmpClient
 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6498
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: MENUs CON RECURSOS en variables

Postby Ariel » Sat Oct 14, 2017 11:06 pm

Cristobal,
es que justamente no sé el valor, xq "cBmpClientes" es lo q hay en el campo en ese registro, en otro puede estar cBmpArticulos, y asi sucesivamente, lo que necesitaria activar seria :
cBmp1:= oQuery:campobmp
cBmp2:= &cBmp1

pero este codigo me da error en la 2da. linea, aun poniendo &(cBmp1)
Saludos.
Ariel
 
Posts: 374
Joined: Wed Nov 29, 2006 1:51 pm
Location: Rosario - Argentina

Re: MENUs CON RECURSOS en variables

Postby Ariel » Sat Oct 14, 2017 11:06 pm

Cristobal,
es que justamente no sé el valor, xq "cBmpClientes" es lo q hay en el campo en ese registro, en otro puede estar cBmpArticulos, y asi sucesivamente, lo que necesitaria activar seria :
cBmp1:= oQuery:campobmp
cBmp2:= &cBmp1

pero este codigo me da error en la 2da. linea, aun poniendo &(cBmp1)
Saludos.
Ariel
 
Posts: 374
Joined: Wed Nov 29, 2006 1:51 pm
Location: Rosario - Argentina

Re: MENUs CON RECURSOS en variables

Postby cnavarro » Sun Oct 15, 2017 10:12 am

Pues tenías razón, no te entiendo
En el ejemplo que te he puesto, el nombre del recurso estaba en una variable, que según entiendo es lo mismo, no ?
Otro tema es que quieras cambiar el icono durante la ejecución del programa
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6498
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: MENUs CON RECURSOS en variables

Postby Ariel » Mon Oct 16, 2017 11:15 am

Cristobal,
el problema está cuando pones en el campo de una tabla el nombre de una variable es vez del recurso, lo q me pusiste anteriormente NO anda, no muestra nada xq en vez de tomar el contenido de la variable guardada en el campo, me toma la variable en si como recurso.
De todos modos lo he resuelto de una forma no convencional, pero funciona, levanté todos los recursos a un hash() cuyo indice es el nombre variable del recurso y luego cuando leo el menu busco en ese hash y funciona :)
Gracias x tu tiempo, pero seria bueno ver si se puede hacer directamente, xq esta solucion no es correcta aunque funcione, si quieres te mando un ej. de la situacion.
Saludos.
Ariel
 
Posts: 374
Joined: Wed Nov 29, 2006 1:51 pm
Location: Rosario - Argentina

Re: MENUs CON RECURSOS en variables

Postby cnavarro » Mon Oct 16, 2017 12:24 pm

Ariel, ahora entiendo
Tienes guardado el nombre de la variable que va a contener el valor del recurso

Esto me funciona correctamente

Code: Select all  Expand view


Static cField       // Variable que lee el campo de la base de datos
MEMVAR cFileRes

Function Main()

   cFileRes   := "..\bitmaps\point2.bmp"

   cField := "cFileRes"                // Simulo el valor obtenido ( fieldget )

   ? &cField

..../...

         MENUITEM "Thursday" FILE &cField //"..\bitmaps\point2.bmp"
 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6498
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: MENUs CON RECURSOS en variables

Postby Ariel » Mon Oct 16, 2017 12:46 pm

Cristobal,
Gracias, pero me sigue dando GPF cuando hago ? &cBmp, sera q los he definido como LOCAL a las vars? pero bueno seguire probando.
Saludos.
Ariel
 
Posts: 374
Joined: Wed Nov 29, 2006 1:51 pm
Location: Rosario - Argentina

Re: MENUs CON RECURSOS en variables

Postby cnavarro » Mon Oct 16, 2017 1:15 pm

Prueba a poner la declaracion MEMVAR si no la tienes hecha
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6498
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: MENUs CON RECURSOS en variables

Postby Ariel » Mon Oct 16, 2017 1:50 pm

Cristobal,
es q el nombre variable de los recursos los tengo con #define cBmpClientes "clientes", tal vez sea x eso... :(
Ariel
 
Posts: 374
Joined: Wed Nov 29, 2006 1:51 pm
Location: Rosario - Argentina

Re: MENUs CON RECURSOS en variables

Postby cnavarro » Mon Oct 16, 2017 1:55 pm

Está claro, no funciona asi como lo tienes, quita los "defines", y declara la variable como MEMVAR

Code: Select all  Expand view


if oApp:win10
cBmpClientes  := "16clientes"
else
cBmpClientes  := "clientes16"
endif

 
Cristobal Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
User avatar
cnavarro
 
Posts: 6498
Joined: Wed Feb 15, 2012 8:25 pm
Location: España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 12 guests