Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2010-06

tcombobox con values

12 messages · 4 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Maxi
to Paola Bruccoleri

El d�a 11 de junio de 2010 19:17, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�:

Show quoted text 27 lines
Hola a todos.. Si en un TCombobox agrego items como esto: Boleta Contado factura Cr�dito devoluciones.. etc... se puede asociar cada item a un determinado valor? por ej que sean ('A','B',....) o cq valor num�rico? Ya se que puedo tener un array paralelo... s�lo pregunto si es que hay algo como esto en lazarus: http://www.mygnet.net/codigos/delphi/varios/tcombobox_con_values.929 o c�mo es que lo resuelven Uds.. muchas gracias chauuuuuuuuuuuuuuuu _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

Podes acceder a itemindex, que te da el valor de la seleccion empezando desde 0. Otra es agregar los items con
addobject('Text',TObject(Tu valor entero))
y lo accedes y convertis el objeto a entero valor:= Integer(Combo.SelectedItem(Itemindex)) o creo hay que agregarle ^ al fina
l

Twitter: @nenunocomar Maximiliano Duarte Linux User #495070 Ubuntu User #28504 El que pregunta aprende, y el que contesta aprende a responder.

Reply by email

Paola Bruccoleri
to Maxi

Maxi escribi�:

Show quoted text 28 lines
El d�a 11 de junio de 2010 19:17, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�: > Hola a todos.. > > Si en un TCombobox agrego items como esto: > Boleta Contado > factura Cr�dito > devoluciones.. > etc... > > se puede asociar cada item a un determinado valor? por ej que sean > ('A','B',....) o cq valor num�rico? > Ya se que puedo tener un array paralelo... s�lo pregunto si es que hay algo > como esto en lazarus: > http://www.mygnet.net/codigos/delphi/varios/tcombobox_con_values.929 > > o c�mo es que lo resuelven Uds.. > muchas gracias > chauuuuuuuuuuuuuuuu > Podes acceder a itemindex, que te da el valor de la seleccion empezando desde 0. Otra es agregar los items con addobject('Text',TObject(Tu valor entero)) y lo accedes y convertis el objeto a entero valor:= Integer(Combo.SelectedItem(Itemindex)) o creo hay que agregarle ^ al final

Hola Maxi..
con itemindex es como lo estoy haciendo ahora.. pero muchas veces los valores asociados no son num�ricos o si lo son, no son correlativos ... por eso me gusta la idea de asignarle a cada item, el valor que yo quiera.

Estoy probando esto..
  cboTipo.Items.AddObject('Contado', TObject('A'));
  cboTipo.Items.AddObject('Credito', TObject('B'));

y me agrega al combo una linea vac�a y luego 'Contado', y 'Credito'.. adem�s, no s� como llegar a obtener el valor A o B respectivamente, ya que no existe el m�todo SelectedItem...

chauuuuuuuuuu

Reply by email

José Mejuto
to Paola Bruccoleri

Hello Paola,

Monday, June 14, 2010, 6:08:48 PM, you wrote:

PB> Estoy probando esto..
PB> cboTipo.Items.AddObject('Contado', TObject('A')); PB> cboTipo.Items.AddObject('Credito', TObject('B')); PB> y me agrega al combo una linea vac�a y luego 'Contado', y 'Credito'.. PB> adem�s, no s� como llegar a obtener el valor A o B respectivamente, ya PB> que no existe el m�todo SelectedItem...

Depende de la naturaleza de los objetos asociados que quieras poner, como veo que son strings, lo m�s f�cil es que crees un TStringList con las distintas strings asociadas y en "AddObject" pongas el index correspondiente del TStringList. Tambi�n puedes hacer que el "AddObject" sea un string, pero eso es peligroso, ya que se perder�a el control del string por parte del compilador y tendr�as que asegurarte manualmente de crearla y liberarla. Resumiendo, m�s f�cil con un TStringList.

Best regards, Jos�

Reply by email

Maxi
to José Mejuto

El d�a 14 de junio de 2010 13:16, Jos� Mejuto <joshyfun en gmail.com> escribi�:

Show quoted text 30 lines
Hello Paola, Monday, June 14, 2010, 6:08:48 PM, you wrote: PB> Estoy probando esto.. PB> � cboTipo.Items.AddObject('Contado', TObject('A')); PB> � cboTipo.Items.AddObject('Credito', TObject('B')); PB> y me agrega al combo una linea vac�a y luego 'Contado', y 'Credito'.. PB> adem�s, no s� como llegar a obtener el valor A o B respectivamente, ya PB> que no existe el m�todo SelectedItem... Depende de la naturaleza de los objetos asociados que quieras poner, como veo que son strings, lo m�s f�cil es que crees un TStringList con las distintas strings asociadas y en "AddObject" pongas el index correspondiente del TStringList. Tambi�n puedes hacer que el "AddObject" sea un string, pero eso es peligroso, ya que se perder�a el control del string por parte del compilador y tendr�as que asegurarte manualmente de crearla y liberarla. Resumiendo, m�s f�cil con un TStringList. -- Best regards, �Jos� _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es

si tenes bases de datos mejor usa un tdblookupcombobox

Twitter: @nenunocomar Maximiliano Duarte Linux User #495070 Ubuntu User #28504 El que pregunta aprende, y el que contesta aprende a responder.

Reply by email

Paola Bruccoleri
to José Mejuto: PB> Estoy probando esto.. PB> cboTipo.Items.AddObject('Contado', TObject('A')); PB> …

Jos� Mejuto escribi�:

Show quoted text 20 lines
Hello Paola, Monday, June 14, 2010, 6:08:48 PM, you wrote: PB> Estoy probando esto.. PB> cboTipo.Items.AddObject('Contado', TObject('A')); PB> cboTipo.Items.AddObject('Credito', TObject('B')); PB> y me agrega al combo una linea vac�a y luego 'Contado', y 'Credito'.. PB> adem�s, no s� como llegar a obtener el valor A o B respectivamente, ya PB> que no existe el m�todo SelectedItem... Depende de la naturaleza de los objetos asociados que quieras poner, como veo que son strings, lo m�s f�cil es que crees un TStringList con las distintas strings asociadas y en "AddObject" pongas el index correspondiente del TStringList. Tambi�n puedes hacer que el "AddObject" sea un string, pero eso es peligroso, ya que se perder�a el control del string por parte del compilador y tendr�as que asegurarte manualmente de crearla y liberarla. Resumiendo, m�s f�cil con un TStringList.

Hola Jos�..
en ese ejemplo puse strings, pero generalmente uso n�meros... De todas formas voy a probar lo que me sugieres..
muchas gracias
chauuuuuuuuuuuuuuu

Reply by email

Paola Bruccoleri
to José Mejuto: PB> Estoy probando esto.. PB> cboTipo.Items.AddObject('Contado', TObject('A')); PB> …

Jos� Mejuto escribi�:

Show quoted text 20 lines
Hello Paola, Monday, June 14, 2010, 6:08:48 PM, you wrote: PB> Estoy probando esto.. PB> cboTipo.Items.AddObject('Contado', TObject('A')); PB> cboTipo.Items.AddObject('Credito', TObject('B')); PB> y me agrega al combo una linea vac�a y luego 'Contado', y 'Credito'.. PB> adem�s, no s� como llegar a obtener el valor A o B respectivamente, ya PB> que no existe el m�todo SelectedItem... Depende de la naturaleza de los objetos asociados que quieras poner, como veo que son strings, lo m�s f�cil es que crees un TStringList con las distintas strings asociadas y en "AddObject" pongas el index correspondiente del TStringList. Tambi�n puedes hacer que el "AddObject" sea un string, pero eso es peligroso, ya que se perder�a el control del string por parte del compilador y tendr�as que asegurarte manualmente de crearla y liberarla. Resumiendo, m�s f�cil con un TStringList.
Hola de nuevo..
suponiendo que el ejemplo es este;
  cboTipo.Items.AddObject('Contado', TObject(1));
  cboTipo.Items.AddObject('Credito', TObject(2));

c�mo obtengo el 1 o el 2?
chauuuuuuuuuuu

Reply by email

Maxi
to Paola Bruccoleri

El d�a 14 de junio de 2010 14:06, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�:

Show quoted text 38 lines
Jos� Mejuto escribi�: > > Hello Paola, > > Monday, June 14, 2010, 6:08:48 PM, you wrote: > > PB> Estoy probando esto.. > PB> � cboTipo.Items.AddObject('Contado', TObject('A')); > PB> � cboTipo.Items.AddObject('Credito', TObject('B')); > PB> y me agrega al combo una linea vac�a y luego 'Contado', y 'Credito'.. > PB> adem�s, no s� como llegar a obtener el valor A o B respectivamente, ya > PB> que no existe el m�todo SelectedItem... > > Depende de la naturaleza de los objetos asociados que quieras poner, > como veo que son strings, lo m�s f�cil es que crees un TStringList con > las distintas strings asociadas y en "AddObject" pongas el index > correspondiente del TStringList. Tambi�n puedes hacer que el > "AddObject" sea un string, pero eso es peligroso, ya que se perder�a > el control del string por parte del compilador y tendr�as que > asegurarte manualmente de crearla y liberarla. Resumiendo, m�s f�cil > con un TStringList. > Hola de nuevo.. suponiendo que el ejemplo es este; �cboTipo.Items.AddObject('Contado', TObject(1)); �cboTipo.Items.AddObject('Credito', TObject(2)); c�mo obtengo el 1 o el 2? chauuuuuuuuuuu _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
valor := Integer(cboTipo.Items.Objects[cboTipo.Itemindex]);

no me acuerdo si el Objects es miembro de items, no tengo aca lazarus

Twitter: @nenunocomar Maximiliano Duarte Linux User #495070 Ubuntu User #28504 El que pregunta aprende, y el que contesta aprende a responder.

Reply by email

Paola Bruccoleri
to Maxi

Maxi escribi�:

Show quoted text 39 lines
El d�a 14 de junio de 2010 14:06, Paola Bruccoleri <pbruccoleri en adinet.com.uy> escribi�: > Jos� Mejuto escribi�: > >> Hello Paola, >> >> Monday, June 14, 2010, 6:08:48 PM, you wrote: >> >> PB> Estoy probando esto.. >> PB> cboTipo.Items.AddObject('Contado', TObject('A')); >> PB> cboTipo.Items.AddObject('Credito', TObject('B')); >> PB> y me agrega al combo una linea vac�a y luego 'Contado', y 'Credito'.. >> PB> adem�s, no s� como llegar a obtener el valor A o B respectivamente, ya >> PB> que no existe el m�todo SelectedItem... >> >> Depende de la naturaleza de los objetos asociados que quieras poner, >> como veo que son strings, lo m�s f�cil es que crees un TStringList con >> las distintas strings asociadas y en "AddObject" pongas el index >> correspondiente del TStringList. Tambi�n puedes hacer que el >> "AddObject" sea un string, pero eso es peligroso, ya que se perder�a >> el control del string por parte del compilador y tendr�as que >> asegurarte manualmente de crearla y liberarla. Resumiendo, m�s f�cil >> con un TStringList. >> >> > Hola de nuevo.. > suponiendo que el ejemplo es este; > cboTipo.Items.AddObject('Contado', TObject(1)); > cboTipo.Items.AddObject('Credito', TObject(2)); > > > c�mo obtengo el 1 o el 2? > chauuuuuuuuuuu > valor := Integer(cboTipo.Items.Objects[cboTipo.Itemindex]); no me acuerdo si el Objects es miembro de items, no tengo aca lazarus

Hola Maxi...
espectacular!!!!
yo intentaba hacer lo mismo, pero no lo convert�a a integer, por tanto, me daba error de tipo...

Ahora.. no tengo idea porqu� se me agrega un elemento vac�o al combobox luego de los addobject!!!
si hago este chamullo, obvio que anda:

  cboTipoComprobante.Items.Delete(0);

pero no me parece prolijo!!!

byeeeeeeeeeeeeee

Reply by email

José Mejuto
to Paola Bruccoleri: Jos� Mejuto escribi�: Hola de nuevo.. suponiendo que el ejemplo es este;…

Hello Paola,

you wrote
> asegurarte manualmente de crearla y liberarla. Resumiendo, m�s f�cil > con un TStringList.
PB> suponiendo que el ejemplo es este;
PB>   cboTipo.Items.AddObject('Contado', TObject(1));
PB>   cboTipo.Items.AddObject('Credito', TObject(2));
PB> c�mo obtengo el 1 o el 2?

No estoy seguro 100% de memoria, pero creo recordar que ser�a:

Index:=Integer(cboTipo.Items.Objects[cboTipo.ItemIndex]);

Nos dar�a el �ndice del actual (siempre que est� seleccionado uno claro).

Best regards, Jos�

Reply by email

Carlos German Tejero
to José Mejuto

Esto:

Index:=Integer(cboTipo.Items.Objects[cboTipo.ItemIndex]);

Convierte a integer la direccion de memoria que retorna cboTipo.Items.Objects[cboTipo.ItemIndex]

Saludos.

El 14 de junio de 2010 14:41, Jos� Mejuto <joshyfun en gmail.com> escribi�:

Show quoted text 28 lines
Hello Paola, Monday, June 14, 2010, 7:06:00 PM, you wrote: >> asegurarte manualmente de crearla y liberarla. Resumiendo, m�s f�cil >> con un TStringList. PB> suponiendo que el ejemplo es este; PB> cboTipo.Items.AddObject('Contado', TObject(1)); PB> cboTipo.Items.AddObject('Credito', TObject(2)); PB> c�mo obtengo el 1 o el 2? No estoy seguro 100% de memoria, pero creo recordar que ser�a: Index:=Integer(cboTipo.Items.Objects[cboTipo.ItemIndex]); Nos dar�a el �ndice del actual (siempre que est� seleccionado uno claro). -- Best regards, Jos� _______________________________________________ Lazarus-es mailing list Lazarus-es en lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
Carlos Germ�n Tejero ------------ pr�xima parte ------------ Se ha borrado un adjunto en formato HTML... URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus-es/attachments/20100614/fe36aeec/attachment.html>

Reply by email

Paola Bruccoleri
to José Mejuto: PB> Estoy probando esto.. PB> cboTipo.Items.AddObject('Contado', TObject('A')); PB> …

Jos� Mejuto escribi�:

Show quoted text 21 lines
Hello Paola, Monday, June 14, 2010, 6:08:48 PM, you wrote: PB> Estoy probando esto.. PB> cboTipo.Items.AddObject('Contado', TObject('A')); PB> cboTipo.Items.AddObject('Credito', TObject('B')); PB> y me agrega al combo una linea vac�a y luego 'Contado', y 'Credito'.. PB> adem�s, no s� como llegar a obtener el valor A o B respectivamente, ya PB> que no existe el m�todo SelectedItem... Depende de la naturaleza de los objetos asociados que quieras poner, como veo que son strings, lo m�s f�cil es que crees un TStringList con las distintas strings asociadas y en "AddObject" pongas el index correspondiente del TStringList. Tambi�n puedes hacer que el "AddObject" sea un string, pero eso es peligroso, ya que se perder�a el control del string por parte del compilador y tendr�as que asegurarte manualmente de crearla y liberarla. Resumiendo, m�s f�cil con un TStringList.

Hola...
descubr� que para obtener el A o B, puedo hacerlo de esta forma:

chr(Integer(cboTipoComprobante.Items.Objects[cboTipoComprobante.Itemindex]))

chauuuuuuuuu

Reply by email