FoxPro/Visual FoxPro - como puedo sumar los checkbox o Optiongroup y mostrarlo en un textbox

   
Vista:

como puedo sumar los checkbox o Optiongroup y mostrarlo en un textbox

Publicado por Joel joelarvelo69@gmail.com (40 intervenciones) el 12/01/2016 14:17:46
saludos compañeros. mi pregunta es la siguiente. quisiera sumar un paquete de Optiongroup poniendole a cada uno un valor en este caso seria el total de 10 paquete de Optiongroup, con 5 Optiongroup cada uno. quisiera mostrar el resultado de estos sumandolos en un textbox
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

como puedo sumar los checkbox o Optiongroup y mostrarlo en un textbox

Publicado por Luiz Alexandre (58 intervenciones) el 12/01/2016 15:19:56
O que você quer somar, os valores ou os textos??

Cada OptionGroup tem o campo Value, que indica qual foi selecionado.

OptGrupo1
Teste1
Teste2
Teste3
Teste4

OptGrupo2
Teste10
Teste20
Teste30
Teste40

Somando e mostrando em um TextBox.

THISFORM.Text1.Value = STR(THISFORM.OptGrupo1.Value + THISFORM.OptGrupo2.Value)

Você também pode querer somar os valores do texto em cada um.

OptGrupo1
1
2
3
4

OptGrupo2
10
20
30
40

THISFORM.Text1.Value = STR(VAL(THISFORM.OptGrupo1.Buttons[THISFORM.OptGrupo1.Value].Caption) + VAL(THISFORM.OptGrupo2.Buttons[THISFORM.OptGrupo2.Value].Caption))

Se for selecionado o 3 item do OptGrupo1 e o 2 item do OptGrupo2, o valor mostrado em Text1 será de "23"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como puedo sumar los checkbox o Optiongroup y mostrarlo en un textbox

Publicado por Joel (40 intervenciones) el 12/01/2016 15:44:18
En realidad lo que quiero es que cada optiongroup (option1, option2,..) tenga un valor cada uno (option1 (valor 1), option2 (valor 3) quiero que se sumen los valores y el resultado me lo muestre en esos textbox.

eje:
Optiongroup1
option1.value=1
option2.value=3
option3.value=4
option4.value=2
option5.value=1

Optiongroup2
option1.value=1
option2.value=3
option3.value=4
option4.value=2
option5.value=1

text1 = option1 (del optiongroup1) + option1 (del optiongroup2), ........

radiobotton
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como puedo sumar los checkbox o Optiongroup y mostrarlo en un textbox

Publicado por Fidel José (320 intervenciones) el 12/01/2016 16:17:40
No sé si entiendo bien lo que quieres hacer.

1) Agregar una propiedad Array al formulario (aGrupos[10])
* Init del Form
Addproperty(thisform,"aGrupos[10]" , 0 )

2) Agregar un método de suma, que llamaré "SUMAR"

3) Me parece mejor poner todos los OptionGroup.Value = 0 para que no tengan un valor por defecto.
De lo contrario, habrá que recorrer los valores iniciales y poner ese valor en el Array (inicializado en cero), o a la inversa, setear cada posición del array e inicializar cada optiongroup según el Array.
Esto debería estar en un método de limpieza, para evitar tener que cerrar el formulario y volver a abrirlo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
* iNIT DEL FORM (o agregando en el diseñador de formularios, pero tendrás que inicializarla en cero, de todos modos)
ADDPROPERTY(thisform,"aGrupos[10]",0)
 
* OptionGroup.Click [En cada OPtiongroup]
* Suponiendo que los optiongroup se llaman "OptionGroup1", "OptionGroup2", etc.
* con esto eliminamos cualquier cosa que no sea un número
 
lnGrupo = VAL(CHRTRAN(this.name,CHRTRAN(this.name,"1234567890",""),""))
 
* En cada optiongroup revisar la lista de valores correspondientes.
* Acá se asiga a una posición del array el valor obtenido (click sobre el formulario)
thisform.aGrupos[lnGrupo] = ICASE(this.Value=1,1,;
								this.Value = 2,3,;
								this.Value = 3,4,;
								this.Value = 4,2,;
								this.Value = 5,1,;
								0)
thisform.Sumar()
 
 
*SUMAR	(Método del Form)
*------------------------
LOCAL lnsuma,i
lnSuma = 0
FOR i = 1 TO ALEN(thisform.agrupos)
	lnSuma = lnSuma + thisform.aGrupos[i]
NEXT
thisform.text1.Value = lnSuma
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como puedo sumar los checkbox o Optiongroup y mostrarlo en un textbox

Publicado por Joel (40 intervenciones) el 12/01/2016 17:04:12
intente y no pude. voy a explicarme mejor

-tengo un formulario que va a funcionar con optiongruop bien hay, ahora tengo alrededor de 10 optiongroup por page(3), cada uno de los optiongroup se deriban 5 (option1, option2, option3, option4, option5).

- cada option tiene que tener un valor porque el resultado de eso se va a mostrar en item en un textbox

- Ejemplo: con 2 optiongroup para ser mas especifico;

OPTIONGROUP1
option1 ( tiene que tener un valor de 1 para poder sumarse)
option2 ( valor de 3)
option3 ( valor de 4)
option4 ( valor de 2)
option5 ( valor de 1)

OPTIONGROUP2
option1 ( tiene que tener un valor de 1 para poder sumarse)
option2 ( valor de 3)
option3 ( valor de 4)
option4 ( valor de 2)
option5 ( valor de 1)

ahora bien, si selecciono el option 3 del OPTIONGROUP1 este se mostrara en un "Textbox1" y si selecciono el option4 del OPTIONGROUP2 SE SUME "option3=4 + option4=2 esto sea igual a textbox=6"

NOTA: No soy yo quien le pone el valor, sino un libro de Psicología que con esto se calcula el estado mental del paciente...
NOTA2: si fuera con un botón fuera mucho mejor y mas fácil suponiendo

espero que ahora si me entiendas, gracias y disculpa..

2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como puedo sumar los checkbox o Optiongroup y mostrarlo en un textbox

Publicado por Fidel José (320 intervenciones) el 13/01/2016 14:27:29
Fijate en el form adjunto de ejemplo:
Ahí, la idea es crear un optiongroup con algunos elementos y copiar los restantes.
La propiedad Comment de cada objeto se utiliza en este caso para guardar los captions (Init de cada optiongroup)
La propiedad Tag de cada objeto se utiliza para poner la lista de valores resultantes.
En el método click de cada objeto se determna cual es el valor. Fijate que se agrega una propiedad ("Puntua") a cada option group para guardar ahí el valor obtenido (inicializado como 1).
Luego, el método get_suma() recorre el formulario y suma los valores de las propiedades "Puntua".
La propiedad "Suma" tiene un método Assign que se dispara automáticamente cada vez que se asigna un valor a la propiedad Suma.
Ahí se resuelve la calificación de la depresión.

Por razones de tiempo, todos los optiongroup son iguales en el ejemplo. Para la aplicación, hay que rellenar los valores de las propiedades Comment y Tag como corresponda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar