Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Hacer referencia de una variable a un elemento de un ComboBox (https://www.clubdelphi.com/foros/showthread.php?t=93562)

Missael 14-11-2018 20:21:22

Hacer referencia de una variable a un elemento de un ComboBox
 
Hola, buenas tardes

Disculpen, Si tengo un ComboBox con ciertos Strings, y quiero hacer referencia a ellos dentro de otra variable.

Por ejemplo: Si el usuario selecciona el primer valor del ComboBox, este le corresponda el 1, y si selecciona el segundo string se le asigne en otra variable, el numero 2, y asi sucesivamente. y si este elimina lo que a escogido del combobox, el valor sea 0

En pocas palabras, asignar numeros a los elementos del comboBox.

Missael 14-11-2018 20:24:17

Talvez sea una pregunta bastante tonta, pero estoy atorado, estoy trabajando con dos forms, donde la primera es la que recibe los datos del comboBox y es donde y la segunda muestra los datos en el comboBox, es ahi donde quiero que al seleccionar, automaticamente me diga que numero le correponde a cada elemento del comboBox

movorack 14-11-2018 20:29:51

TComboBox.ItemIndex

Cita:

Empezado por Embarcadero
Lea ItemIndex para determinar qué elemento está seleccionado. El primer elemento de la lista tiene índice 0, el segundo elemento tiene índice 1 y así sucesivamente. Si no se selecciona ningún elemento, el valor de ItemIndex es -1. Si el control de lista admite varios elementos seleccionados, ItemIndex es el índice del elemento seleccionado que tiene el foco.

Establezca ItemIndex mediante programación para seleccionar un elemento pasando el valor del índice.


Missael 14-11-2018 22:35:23

Esos datos se pueden manipular? cambiarlos por valores dentro de un array ?

Los valores que quiero sustitur los obtengo de un JsonArray

movorack 14-11-2018 22:39:13

Si el ItemIndex es equivalente al Index del array podrás usarlo algo así

Código Delphi [-]
JsonArray[ComboBox.ItemIndex]

Missael 14-11-2018 23:06:46

Creo que ocupo un poco de mas ayuda, al parecer no redacte bien

En un For obtengo los valores de mi JsonArray, tengo dos valores en un comboBox, y otros en un StringList, los que quiero añadir como indice al comboBox son los que obtengo en el StringList

Código Delphi [-]
for LITEM in lJsonValue as TJSONArray do
        begin
        Form2.BoxQaQc.Items.Add(((LITEM as TJSONObject).Get('subject').JsonValue as TJSONString).Value
        +' - '+(((LITEM as TJSONObject).Get('qc').JsonValue as TJSONString).Value));
        dcid := (((LITEM as TJSONObject).Get('qcid').JsonValue as TJSONString).Value);
        qcid.Add(dcid);
        end;

qcdi es el StringList, en dcid guardo cada uno de los valores que obtengo con el Get('qcid');

Código Delphi [-]
procedure TForm2.BoxQaQcSelect(Sender: TObject);
var
  i : Integer;
  r : String;
begin
  r := qcid[BoxQaQc.ItemIndex];
  fileName := BoxQaQc.Items[BoxQaQc.ItemIndex];
  i := AnsiPos('-',fileName);
  delete(fileName, 1, i+1);
  QcWork.Caption :='You are working on: '+fileName;
  ShowMessage(r);
end;

Esto es de mi segunda pantalla, donde para probar, imprimo lo que tenga r que deseo que sean los valores del qcid de la pantalla anterior, y al hacerlo asi, me imprime cosas raras o no imprime nada.

Missael 14-11-2018 23:12:10

Ya me quedo, lo eh modificado en lo que comente en el mensaje anterior. Gracias por la ayuda movorack :) un saludo


La franja horaria es GMT +2. Ahora son las 02:11:47.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi