FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Una COMBOBOX
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Una COMBOBOX
Posted: Tue Oct 24, 2006 07: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
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Una COMBOBOX
Posted: Wed Oct 25, 2006 01: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

____________________

Paco
Posts: 840
Joined: Thu Oct 13, 2005 07:05 PM
Una COMBOBOX
Posted: Wed Oct 25, 2006 02: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.
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Una COMBOBOX
Posted: Wed Oct 25, 2006 03: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
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Una COMBOBOX
Posted: Wed Oct 25, 2006 03: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
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Una COMBOBOX
Posted: Wed Oct 25, 2006 04: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

Continue the discussion