FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour MENUs CON RECURSOS en variables
Posts: 389
Joined: Wed Nov 29, 2006 01:51 PM
MENUs CON RECURSOS en variables
Posted: 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.

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: MENUs CON RECURSOS en variables
Posted: Sat Oct 14, 2017 10:52 AM
Prueba con una llamada a una function que devuelva el nombre del recurso

Code (fw): Select all Collapse
.../...
      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
Posts: 389
Joined: Wed Nov 29, 2006 01:51 PM
Re: MENUs CON RECURSOS en variables
Posted: 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

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: MENUs CON RECURSOS en variables
Posted: Sat Oct 14, 2017 01: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 (fw): Select all Collapse
#define cRes "open16"
Function MResname()
//Local cRes 聽:= "new16"
Return cRes


Aunque esto tambien funciona evidentemente

Code (fw): Select all Collapse
#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
Posts: 389
Joined: Wed Nov 29, 2006 01:51 PM
Re: MENUs CON RECURSOS en variables
Posted: Sat Oct 14, 2017 02: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.

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: MENUs CON RECURSOS en variables
Posted: Sat Oct 14, 2017 02:02 PM
Bien, has probado

Code (fw): Select all Collapse
  &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
Posts: 389
Joined: Wed Nov 29, 2006 01:51 PM
Re: MENUs CON RECURSOS en variables
Posted: 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.

Posts: 389
Joined: Wed Nov 29, 2006 01:51 PM
Re: MENUs CON RECURSOS en variables
Posted: 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.

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: MENUs CON RECURSOS en variables
Posted: 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
Posts: 389
Joined: Wed Nov 29, 2006 01:51 PM
Re: MENUs CON RECURSOS en variables
Posted: 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.

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: MENUs CON RECURSOS en variables
Posted: 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 (fw): Select all Collapse
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
Posts: 389
Joined: Wed Nov 29, 2006 01:51 PM
Re: MENUs CON RECURSOS en variables
Posted: 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.

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: MENUs CON RECURSOS en variables
Posted: Mon Oct 16, 2017 01: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
Posts: 389
Joined: Wed Nov 29, 2006 01:51 PM
Re: MENUs CON RECURSOS en variables
Posted: Mon Oct 16, 2017 01:50 PM

Cristobal,
es q el nombre variable de los recursos los tengo con #define cBmpClientes "clientes", tal vez sea x eso... :(

Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: MENUs CON RECURSOS en variables
Posted: Mon Oct 16, 2017 01:55 PM
Est谩 claro, no funciona asi como lo tienes, quita los "defines", y declara la variable como MEMVAR

Code (fw): Select all Collapse
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

Continue the discussion