Visual Basic - sistema de encuestas

Life is soft - evento anual de software empresarial
 
Vista:

sistema de encuestas

Publicado por jorge (1 intervención) el 17/04/2006 02:28:19
Necesito ayuda estoy haciendo un sistema de encuestas,tengo en mi formulario 10 radiosbuttons para escoger y un boton para calcular,me baso en esta formula estadistica por cada persona que vota osea

val(text1) / 200(numero de personas que van a votar) * 100

Despues de escoger cualquier radio button y al dar click en calcular basandome en mi formula debera aparecer el resultado en porcentaje por ejm: Jaime Odria 5%

Pero solo me sale una sola vez,lo intente con un contador pero no puedo,osea al darle click deseo que contabilize la formula por cada persona que vote...Bueno espero k me hayan entendido....Gracias.

Jorge
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

RE:sistema de encuestas

Publicado por Alex (119 intervenciones) el 18/04/2006 06:07:16
Te entiendo el codigo, pero no la idea, si puedes darte a entender mas, tratare de ayudarte, saludos....
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

RE:sistema de encuestas

Publicado por jorge (1 intervención) el 18/04/2006 22:28:53
Mira te pongo mi ejm...Supongamos que son 10 candidatos,cada uno representado por un option,y un boton llamado VOTAR,y un label donde se visualize el resultado de mi formula,el procedimiento es escogiendo cualquier candidato(option) y darle click al boton VOTAR,me debera aparecer en el label el resultado que genere con mi formula,me entiendes?...en total son 200 personas que quiero que voten,y ala vez quiero que se contabilize las personas que van votando en otro label,pero el problema es que solo me calcula para una sola persona el resultado de dicha formula para 1 sola persona me sale 5% o sea en el primer label,lo que quiero es que oprimiendo por segunda vez VOTAR me aparezca un NUEVO PORCENTAJE y ala vez me contabilize el numero de votantes en otro label.Esa es mi duda intente con un contador,pero nada,me sigue dando 5% para 1 sola persona cuando presiono x ejm 5 veces(5 personas),espero que me hayas entendido.Gracias y ojalas puedas ayudarme.

Jorge
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

RE:sistema de encuestas

Publicado por Alex (119 intervenciones) el 19/04/2006 00:48:10
Una pregunta mas...
Debe de aparecer el porcentaje de cada candidato o solo por el que hayan votado mas?
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

RE:sistema de encuestas

Publicado por Alex (119 intervenciones) el 19/04/2006 02:45:01
Ya tengo la base de tu programa, solo cambiale el tamaño de los porcentajes, por que le puse que solo se fuera sumando un voto cada vez que se votara por cada candidato, no creo que se tengas mas problemas por que lo demas ya lo tienes... Agregame...
Hasta Luego
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

RE:sistema de encuestas

Publicado por Alex (119 intervenciones) el 19/04/2006 02:47:27
No, ahora que recuerdo no podre conectarme en la proxima semana, aqui esta el codigo que hice... Los botones de opcion ponlos todos en un frame...

Public nombrearchivo As String
'esta funcion crea el archivo de .ini que contiene el numero de votantes
Function creoarchivo(nombre As String)
nombre = nombrearchivo

fn = FreeFile
Open App.Path & "\" & nombre For Output As #fn
Print #fn, 0;
Close #fn

End Function

Private Sub Command1_Click()
Dim aumento As Integer
'para que vaya sumando los porcentajes de los candidatos...
If Me.Option1.Value = True Then
fn = FreeFile
Open App.Path & "\Candidato1.ini" For Output As #fn
aumento = Val(Me.Label1.Caption) + 1
Print #fn, aumento;
Close #fn

ElseIf Me.Option2.Value = True Then
fn = FreeFile
Open App.Path & "\Candidato2.ini" For Output As #fn
aumento = Val(Me.Label2.Caption) + 1
Print #fn, aumento;
Close #fn

ElseIf Me.Option3.Value = True Then
fn = FreeFile
Open App.Path & "\Candidato3.ini" For Output As #fn
aumento = Val(Me.Label3.Caption) + 1
Print #fn, aumento;
Close #fn

ElseIf Me.Option4.Value = True Then
fn = FreeFile
Open App.Path & "\Candidato4.ini" For Output As #fn
aumento = Val(Me.Label4.Caption) + 1
Print #fn, aumento;
Close #fn

ElseIf Me.Option5.Value = True Then
fn = FreeFile
Open App.Path & "\Candidato5.ini" For Output As #fn
aumento = Val(Me.Label5.Caption) + 1
Print #fn, aumento;
Close #fn

End If

'para que vaya aumentando el numero de personas que votan
If Me.Label6.Caption < 200 Then
Dim variable As Integer
fn = FreeFile
Open App.Path & "\Contador.ini" For Output As #fn
variable = Val(Me.Label6.Caption) + 1
Print #fn, variable;
Close #fn

ElseIf Me.Label6.Caption = 200 Then
MsgBox "Votacion cerrada..."
Me.Command1.Enabled = False
End If

'llama la carga de forma nuevamente para que cambien los valores de las etiquetas
Form_Load
Me.Refresh
End Sub

Private Sub Form_Load()

Me.Label1.Caption = CargaTxt(App.Path & "\Candidato1.ini")
Me.Label2.Caption = CargaTxt(App.Path & "\Candidato2.ini")
Me.Label3.Caption = CargaTxt(App.Path & "\Candidato3.ini")
Me.Label4.Caption = CargaTxt(App.Path & "\Candidato4.ini")
Me.Label5.Caption = CargaTxt(App.Path & "\Candidato5.ini")
Me.Label6.Caption = CargaTxt(App.Path & "\Contador.ini")
End Sub
'Esta funcion nos carga el Carga el archivo de texto especificado en una cadena
Function CargaTxt(ByVal StrPath As String) As String
Dim strCad As String
Dim strCadTemp As String
Dim NumFile As Long
NumFile = FreeFile
On Error GoTo err53
Open StrPath For Input As #NumFile
Do While Not EOF(NumFile)
Line Input #NumFile, strCadTemp
If Trim(strCad) = vbNullString Then
strCad = strCadTemp
Else
strCad = strCad & vbNewLine & strCadTemp
End If
strCadTemp = vbNullString
DoEvents
Loop
DoEvents
Close #NumFile
CargaTxt = strCad

err53:
'Llama una funcion que crea los archivos de almacenamiento para cada candidato y para el contador
If Err = 53 Then
MsgBox "Disculpa las interrupciones, pero es la primera vez que se abre este programa, se crearan los archivos necesarios para la ejecucion y se cerrara la aplicacion, despues podras acceder normalmente, gracias..."
nombrearchivo = "Contador.ini"
creoarchivo Val(nombrearchivo)
nombrearchivo = "Candidato1.ini"
creoarchivo Val(nombrearchivo)
nombrearchivo = "Candidato2.ini"
creoarchivo Val(nombrearchivo)
nombrearchivo = "Candidato3.ini"
creoarchivo Val(nombrearchivo)
nombrearchivo = "Candidato4.ini"
creoarchivo Val(nombrearchivo)
nombrearchivo = "Candidato5.ini"
creoarchivo Val(nombrearchivo)
End
End If

End Function

Hasta Luego!!!
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

RE:sistema de encuestas

Publicado por Alex (119 intervenciones) el 19/04/2006 23:26:56
Si te funciona por favor avisame, por que si no me quedare en suspenso
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

RE:sistema de encuestas

Publicado por jorge (2 intervenciones) el 20/04/2006 23:06:40
Tu codigo solo me genera un contador de numeros pero no se basa en la formula que te digo:

FERNANDO TORRES

5 %(XEJM)

5 % + / 200 * 100

Ese contador debe procesar dicha formula y no un numero cualquiera.

SALUDOS
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

RE:sistema de encuestas

Publicado por Alex (119 intervenciones) el 21/04/2006 02:49:40
Tu dijiste que querias que se guardara, por eso te dije, este es el codigo que tu necesitas, despues le haces las modificaciones con tu formula....

Querias el programa completo???

O_o
( ' -' )
_)_(_
| Alex|
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