Loto

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Loto

Message 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
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Re: Loto

Message par Thyphoon »

je crois qu'il manque quelques choses ...non ? :P
Avatar de l’utilisateur
venom
Messages : 3137
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: Loto

Message par venom »

:lol: non Thyphoon compile la phrase avec purebasic tu verra ça fonctionne très bien :P






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Re: Loto

Message par Le Soldat Inconnu »

ab ben vi, c'est mieux la, non ?
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Loto

Message par Kwai chang caine »

Le soldat....il est pire que WINDEV... 8O
Y deviens une usine a programme :D

Merci du partage 8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Répondre