Page 1 sur 1

Loto

Publié : jeu. 29/oct./2009 20:30
par Le Soldat Inconnu
Salut,

un petit code fait en 20 minutes pour collègues de boulot qui organise un loto (vous savez, on tire un numéro entre 1 et 90 et on rempli une grille)

ce programme s'affiche en plein écran, il est fait pour être affiché via vidéoprojecteur

le fonctionnement est tout bête :
- Vous entrez le dernier tirage dans la grande case en bas
- nouveau tirage, vous appuyé sur entrer, la dernière valeur se met dans les petites cases en haut
- puis vous entrez le dernier tirage dans la grande case en bas
- et ainsi de suite

Pour remettre à 0, vous tapez 0 en bas puis entrer

pour quitter Alt+F4

Le truc intéressant, c'est l'ajustement auto en fonction de la taille de l'écran des cases et de la taille de la police
si ça peut servir , je partage :)

Code : Tout sélectionner

Enumeration
	#Entree
EndEnumeration

OpenWindow(0, 0, 0, 100, 100, "Loto", #PB_Window_BorderLess | #PB_Window_Maximize)

SetWindowColor(0, $FFFFFF)

#TailleBas = 9

Largeur = WindowWidth(0) / 10
Hauteur = WindowHeight(0) / (9 + #TailleBas)

CreateImage(0, 1, 1)
For Taille = 8 To 300
	LoadFont(0, "Verdana", Taille)
	StartDrawing(ImageOutput(0))
		DrawingFont(FontID(0))
		If TextHeight("Aa") > Hauteur * 0.9 And Texte1 = 0
			Texte1 = Taille - 1
		EndIf
		If TextHeight("Aa") > Hauteur * #TailleBas * 0.9 And Texte2 = 0
			Texte2 = Taille - 1
		EndIf
	StopDrawing()
	FreeFont(0)
Next

LoadFont(0, "Verdana", Texte1)
LoadFont(1, "Verdana", Texte2)

For x = 0 To 9
	For y = 0 To 8
		StringGadget(y * 10 + x + 1, x * Largeur, y * Hauteur, Largeur, Hauteur, "", #ES_CENTER | #PB_String_Numeric)
		SetGadgetFont(y * 10 + x + 1, FontID(0))
	Next
Next
StringGadget(0, 0, 9 * Hauteur, Largeur * 10, Hauteur * #TailleBas, "", #ES_CENTER | #PB_String_Numeric)
SetGadgetFont(0, FontID(1))

AddKeyboardShortcut(0, #PB_Shortcut_Return, #Entree)

Repeat
	event = WaitWindowEvent()
	
	Select event
		Case #PB_Event_Menu
			Select EventMenu()
				Case #Entree
					If GetActiveGadget() = 0
						Valeur.s = GetGadgetText(0)
						If Valeur = "0"
							For n = 1 To 90
								SetGadgetText(n, "")
							Next
						Else
							For n = 1 To 90
								If GetGadgetText(n) = ""
									SetGadgetText(n, Valeur)
									Break
								EndIf
							Next
						EndIf
						SetGadgetText(0, "")
					EndIf
			EndSelect
			
		Case #PB_Event_Gadget
			
	EndSelect
	
Until event = #PB_Event_CloseWindow

Re: Loto

Publié : jeu. 29/oct./2009 21:32
par Thyphoon
je crois qu'il manque quelques choses ...non ? :P

Re: Loto

Publié : jeu. 29/oct./2009 22:01
par venom
:lol: non Thyphoon compile la phrase avec purebasic tu verra ça fonctionne très bien :P






@++

Re: Loto

Publié : jeu. 29/oct./2009 22:59
par Le Soldat Inconnu
ab ben vi, c'est mieux la, non ?

Re: Loto

Publié : lun. 02/nov./2009 19:43
par Kwai chang caine
Le soldat....il est pire que WINDEV... 8O
Y deviens une usine a programme :D

Merci du partage 8)