Página 1 de 1

Programa para sorteos "Mano inocente".

Publicado: 05 Jul 2012, 11:48
por chekok
La semana pasada me encontré con un pequeño problema, hicimos un sorteo entre los asistentes a un evento, siendo el número ganador un número elegido al azar, siendo el mismo el número de asistente. El problema real vino cuando el número de asistente se otorgó de forma electrónica por mail y nadie llevó su mail impreso al evento (lógico) y tampoco teníamos disponible a mano un bombo, papel, bolígrafo, etc. Pero sí teníamos un miniportátil con autoit instalado. Y rápidamente SuperAutoit de nuevo hizo aparición en el momento oportuno salvándonos de aquella situación...

Bueno después de este cuento vamos al tema, un sencillo programita para calcular al azar un número ganador sacado de un número de participantes. El code es tal cual salió en el evento así que no está muy cuidado, pero es funcional.
Aquí una captura de pantalla:
sorteo.jpg
sorteo.jpg (64.09 KiB) Visto 2814 veces
Y el code:

Código: Seleccionar todo

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1_1 = GUICreate("Sorteo", 373, 281, 334, 221)
GUISetOnEvent($GUI_EVENT_CLOSE, "Form1_1Close")
GUISetOnEvent($GUI_EVENT_MINIMIZE, "Form1_1Minimize")
GUISetOnEvent($GUI_EVENT_MAXIMIZE, "Form1_1Maximize")
GUISetOnEvent($GUI_EVENT_RESTORE, "Form1_1Restore")
$participantes = GUICtrlCreateInput("", 40, 64, 81, 21)
GUICtrlSetOnEvent(-1, "participantesChange")
$Sortear = GUICtrlCreateButton("Sortear", 192, 24, 139, 73)
GUICtrlSetOnEvent(-1, "SortearClick")
$Label1 = GUICtrlCreateLabel("Participantes", 40, 40, 65, 17)
GUICtrlSetOnEvent(-1, "Label1Click")
$Input1 = GUICtrlCreateInput("", 40, 120, 289, 84)
GUICtrlSetFont(-1, 50, 800, 2, "Arial")
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetOnEvent(-1, "Input1Change")
$Label2 = GUICtrlCreateLabel("Ganador", 40, 104, 45, 17)
GUICtrlSetOnEvent(-1, "Label2Click")
$Label3 = GUICtrlCreateLabel("", 16, 232, 336, 23)
GUICtrlSetFont(-1, 12, 800, 0, "Arial")
GUICtrlSetColor(-1, 0xFF0000)
GUICtrlSetOnEvent(-1, "Label3Click")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		 Case $sortear
			sorteo()
	EndSwitch
WEnd

Func sorteo()
   $LowerLimit = 1
			$UpperLimit = GUICtrlRead($participantes, 1)
			For $i = 0 To 10 Step +1
			$RandomNumber = Random($LowerLimit,$UpperLimit,1)
			GUICtrlSetData($Input1, $RandomNumber)
			Sleep(400)
		 Next
			$RandomNumber = Random($LowerLimit,$UpperLimit,1)
			GUICtrlSetData($Input1, $RandomNumber)
			GUICtrlSetData($Label3, "El ganador es el participante nº." & $RandomNumber )
EndFunc
Agradecimientos a BasicOs, me basé en un code suyo que encontré por el foro.

Un saludo amigos.

Re: Programa para sorteos "Mano inocente".

Publicado: 07 Jul 2012, 13:49
por BasicOs
Gracias por el aporte y por los créditos ;).
Los sorteos siempre dan diversión a los eventos ... :smt034 :smt034

Quedó super la pantalla, ya que no se necesita mucho más que el número, igual sacando en pantalla numeros aleatorios a velocidad decreciente para que se vea que se mueven, y luego cuando baje la velocidad se pare ;)

Fantástica manera de digitalizar los sorteos!!! :smt038 :smt041 :smt041 :smt041
Salu22:)