Una COMBOBOX

Una COMBOBOX

Postby Armando » Tue Oct 24, 2006 7:20 pm

Amigos:

El siguiente código

LOCAL nMes := 1
LOCAL aMeses := {"Ene","Feb","Mzo","Abr","May","Jun",Jul",;
"Ago","Sep","Oct","Nov","Dic"}

REDEFINE COMBOBOX aGets[2] VAR nMes ID 102 OF oDlg UPDATE;
PROMPTS aMeses

En Harbour el valor retornado es la posición del elemento seleccionado, por ejemplo: si el usuario selecciona JUL, el valor retornado es 7

Pero en xHarbour el valor que retorna es el texto "JUL" no su posición en el array.

Hay alguna forma de que con xHarbour me devuelva el mismo valor que con Harbour (7)

Saludos, Armando
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3235
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Postby Francisco Horta » Wed Oct 25, 2006 1:03 am

Armando creo que hay dos formas de poderlo hacer:
1. oCbx:nAt te da la poscion del dato seleccionado
2. usa un ASCAN(aItems,cVar) y te devuelve la poscion donde esta "Jul" y cero si no existe en el arreglo
Salu2
Paco
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Postby R.F. » Wed Oct 25, 2006 2:17 am

Depende a que inicialices la variable que controla el combo.

Si la inicializas con un valor numerico, regresa un numero, la posicion del elemento seleccionado y si la inicializas con un valor del array, te regresa una cadena de caracteres con el valor del elemento seleccionado

En tu caso, nMeses tendria que devolver siempre el valor, si inicializas nMeses ="Ene" te regresara el valor seleccionado y no el numero
Saludos
R.F.
R.F.
 
Posts: 840
Joined: Thu Oct 13, 2005 7:05 pm

Postby Armando » Wed Oct 25, 2006 3:06 am

Amigos:

Primero agradecer sus respuestas y luego lo siguiente. Paco, de una u otra forma hay solución solo que en Harbour el manejo era muy simple y no he querido agregar más código.

René, como siempre apoyando, fijate en la siguiente línea
LOCAL nMes := 1
estoy asignando un valor a la variable pero no hay de piña, siempre me regresa una cadena y obviamente eso me provoca un error.

Un abrazo a ambos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3235
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Postby Armando » Wed Oct 25, 2006 3:39 am

Master:

En realidad sí me devuelve un número o una cadena, dependiendo de cómo inicialize la variable, el problema esta en que el combo debería mostrar el texto del elemento seleccionado pero no es así, me muestra un 0 cuando inicializo la variable con un número y despues de elegir un nuevo elemento.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3235
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Postby Armando » Wed Oct 25, 2006 4:12 am

Amigos:

Problema resuelto, por si a alguien le sirve la solución, el control lo tenia definido como DROPDOWN y debe ser DROPDOWN LIST

Muchas gracias por su orientación, Armando
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3235
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 106 guests