Connexion
Qui est en ligne ?
Il y a en tout 9 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 9 Invités Aucun
Le record du nombre d'utilisateurs en ligne est de 36 le Lun 23 Sep 2024, 10:15
Sujets les plus vus
Derniers sujets
Calculatrice à virgule flottante.
3 participants
Page 1 sur 1
Calculatrice à virgule flottante.
Salut
Aujourd'hui, je poste mon premier programme avec une "vraie" GUI, donc je suis assez fier.
Il s'agit d'une petite calculatrice, histoire de concurrencer notre Fred (BBat attend ton retour avec impatience ), mais surtout de montrer la facilité du langage.
Ceci est une version très minimaliste, car il y a encore beaucoup de chose à améliorer:
- Gérer plus de 2 nombres.
- Gérer les expression numériques.
- Ajouter des fonctions mathématiques. (Mode Scientifique)
- Ajouter un menu Options. (Les couleurs, le nombre de chiffres après la virgule...)
La calculatrice:
[Vous devez être inscrit et connecté pour voir ce lien]
Le code:
Disponible également sur le Drive.
Dylan.
Aujourd'hui, je poste mon premier programme avec une "vraie" GUI, donc je suis assez fier.
Il s'agit d'une petite calculatrice, histoire de concurrencer notre Fred (BBat attend ton retour avec impatience ), mais surtout de montrer la facilité du langage.
Ceci est une version très minimaliste, car il y a encore beaucoup de chose à améliorer:
- Gérer plus de 2 nombres.
- Gérer les expression numériques.
- Ajouter des fonctions mathématiques. (Mode Scientifique)
- Ajouter un menu Options. (Les couleurs, le nombre de chiffres après la virgule...)
La calculatrice:
[Vous devez être inscrit et connecté pour voir ce lien]
Le code:
- Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
; // Centrage de la GUI à l'écran //
$Pos_Largeur = (@DesktopWidth - 168)/2
$Pos_Hauteur = (@DesktopHeight - 238)/2
Local $CalcText1 = ""
Local $CalcText2 = ""
Local $Nombre = 1
Local $Operation = ""
$GUI = GUICreate("Calculatrice", 168, 238, $Pos_Largeur, $Pos_Hauteur)
GUISetBkColor(0x33CCFF, $GUI)
$NoFocus = GUICtrlCreateLabel("", 0, 0, 0, 0)
; // Bouton Difference //
$ButtonDifference = GUICtrlCreateButton("-", 128, 160, 32, 32)
GUICtrlSetFont(-1, 16, 1, "Arial")
GUICtrlSetColor(-1, 0x000080)
GUICtrlSetState($NoFocus, $GUI_FOCUS)
; // Bouton Addition //
$ButtonAddition = GUICtrlCreateButton("+", 128, 200, 32, 32)
GUICtrlSetFont(-1, 16, 1, "Arial")
GUICtrlSetColor(-1, 0x000080)
; // Bouton Division //
$ButtonDivision = GUICtrlCreateButton("/", 128, 80, 32, 32)
GUICtrlSetFont(-1, 16, 1, "Arial")
GUICtrlSetColor(-1, 0x000080)
; // Bouton Multiplication //
$ButtonMultiplication = GUICtrlCreateButton("*", 128, 120, 32, 32)
GUICtrlSetFont(-1, 16, 1, "Arial")
GUICtrlSetColor(-1, 0x000080)
; // Bouton 08 //
$Button08 = GUICtrlCreateButton("8", 48, 80, 32, 32)
GUICtrlSetFont(-1, 16, 1, "Arial")
GUICtrlSetColor(-1, 0x0000FF)
; // Bouton 09 //
$Button09 = GUICtrlCreateButton("9", 88, 80, 32, 32)
GUICtrlSetFont(-1, 16, 1, "Arial")
GUICtrlSetColor(-1, 0x0000FF)
; // Bouton 04 //
$Button04 = GUICtrlCreateButton("4", 8, 120, 32, 32)
GUICtrlSetFont(-1, 16, 1, "Arial")
GUICtrlSetColor(-1, 0x0000FF)
; // Bouton 05 //
$Button05= GUICtrlCreateButton("5", 48, 120, 32, 32)
GUICtrlSetFont(-1, 16, 1, "Arial")
GUICtrlSetColor(-1, 0x0000FF)
; // Bouton 06 //
$Button06 = GUICtrlCreateButton("6", 88, 120, 32, 32)
GUICtrlSetFont(-1, 16, 1, "Arial")
GUICtrlSetColor(-1, 0x0000FF)
; // Bouton 07 //
$Button07 = GUICtrlCreateButton("7", 8, 80, 32, 32)
GUICtrlSetFont(-1, 16, 1, "Arial")
GUICtrlSetColor(-1, 0x0000FF)
; // Bouton 00 //
$Button00 = GUICtrlCreateButton("0", 8, 200, 32, 32)
GUICtrlSetFont(-1, 16, 1, "Arial")
GUICtrlSetColor(-1, 0x0000FF)
; // Bouton 01 //
$Button01 = GUICtrlCreateButton("1", 8, 160, 32, 32)
GUICtrlSetFont(-1, 16, 1, "Arial")
GUICtrlSetColor(-1, 0x0000FF)
; // Bouton 02 //
$Button02 = GUICtrlCreateButton("2", 48, 160, 32, 32)
GUICtrlSetFont(-1, 16, 1, "Arial")
GUICtrlSetColor(-1, 0x0000FF)
; // Bouton 03 //
$Button03 = GUICtrlCreateButton("3", 88, 160, 32, 32)
GUICtrlSetFont(-1, 16, 1, "Arial")
GUICtrlSetColor(-1, 0x0000FF)
; // Bouton Virgule
$ButtonVirgule = GUICtrlCreateButton(".", 48, 200, 32, 32)
GUICtrlSetFont(-1, 16, 1, "Arial")
GUICtrlSetColor(-1, 0x0000FF)
; // Bouton Egale //
$ButtonEqual = GUICtrlCreateButton("=", 88, 200, 32, 32)
GUICtrlSetFont(-1, 16, 1, "Arial")
GUICtrlSetColor(-1, 0x000080)
; // Bouton AC //
$ButtonAC = GUICtrlCreateButton("AC", 8, 40, 72, 32)
GUICtrlSetFont(-1, 16, 1, "Arial")
GUICtrlSetColor(-1, 0x000080)
; // Boutton OFF //
$ButtonOff = GUICtrlCreateButton("OFF", 88, 40, 72, 32)
GUICtrlSetFont(-1, 16, 1, "Arial")
GUICtrlSetColor(-1, 0x000080)
; // Zone de Texte //
$TextBox = GUICtrlCreateInput("", 8, 8, 152, 26, 2)
GUICtrlSetFont(-1, 16, 1, "Arial")
GUICtrlSetState(-1, $GUI_DISABLE)
GUISetState(@SW_SHOW)
While 1
$Controle = GUIGetMsg()
Switch $Controle
Case $GUI_EVENT_CLOSE
Exit
Case $ButtonOff
Exit
Case $Button00
GUICtrlSetState($NoFocus, $GUI_FOCUS)
If $Nombre = 1 Then
$CalcText1 = $CalcText1 & "0"
GUICtrlSetData($TextBox, $CalcText1)
Else
$CalcText2 = $CalcText2 & "0"
GUICtrlSetData($TextBox, $CalcText2)
EndIf
Case $Button01
GUICtrlSetState($NoFocus, $GUI_FOCUS)
If $Nombre = 1 Then
$CalcText1 = $CalcText1 & "1"
GUICtrlSetData($TextBox, $CalcText1)
Else
$CalcText2 = $CalcText2 & "1"
GUICtrlSetData($TextBox, $CalcText2)
EndIf
Case $Button02
GUICtrlSetState($NoFocus, $GUI_FOCUS)
If $Nombre = 1 Then
$CalcText1 = $CalcText1 & "2"
GUICtrlSetData($TextBox, $CalcText1)
Else
$CalcText2 = $CalcText2 & "2"
GUICtrlSetData($TextBox, $CalcText2)
EndIf
Case $Button03
GUICtrlSetState($NoFocus, $GUI_FOCUS)
If $Nombre = 1 Then
$CalcText1 = $CalcText1 & "3"
GUICtrlSetData($TextBox, $CalcText1)
Else
$CalcText2 = $CalcText2 & "3"
GUICtrlSetData($TextBox, $CalcText2)
EndIf
Case $Button04
GUICtrlSetState($NoFocus, $GUI_FOCUS)
If $Nombre = 1 Then
$CalcText1 = $CalcText1 & "4"
GUICtrlSetData($TextBox, $CalcText1)
Else
$CalcText2 = $CalcText2 & "4"
GUICtrlSetData($TextBox, $CalcText2)
EndIf
Case $Button05
GUICtrlSetState($NoFocus, $GUI_FOCUS)
If $Nombre = 1 Then
$CalcText1 = $CalcText1 & "5"
GUICtrlSetData($TextBox, $CalcText1)
Else
$CalcText2 = $CalcText2 & "5"
GUICtrlSetData($TextBox, $CalcText2)
EndIf
Case $Button06
GUICtrlSetState($NoFocus, $GUI_FOCUS)
If $Nombre = 1 Then
$CalcText1 = $CalcText1 & "6"
GUICtrlSetData($TextBox, $CalcText1)
Else
$CalcText2 = $CalcText2 & "6"
GUICtrlSetData($TextBox, $CalcText2)
EndIf
Case $Button07
GUICtrlSetState($NoFocus, $GUI_FOCUS)
If $Nombre = 1 Then
$CalcText1 = $CalcText1 & "7"
GUICtrlSetData($TextBox, $CalcText1)
Else
$CalcText2 = $CalcText2 & "7"
GUICtrlSetData($TextBox, $CalcText2)
EndIf
Case $Button08
GUICtrlSetState($NoFocus, $GUI_FOCUS)
If $Nombre = 1 Then
$CalcText1 = $CalcText1 & "8"
GUICtrlSetData($TextBox, $CalcText1)
Else
$CalcText2 = $CalcText2 & "8"
GUICtrlSetData($TextBox, $CalcText2)
EndIf
Case $Button09
GUICtrlSetState($NoFocus, $GUI_FOCUS)
If $Nombre = 1 Then
$CalcText1 = $CalcText1 & "9"
GUICtrlSetData($TextBox, $CalcText1)
Else
$CalcText2 = $CalcText2 & "9"
GUICtrlSetData($TextBox, $CalcText2)
EndIf
Case $Button00
GUICtrlSetState($NoFocus, $GUI_FOCUS)
If $Nombre = 1 Then
$CalcText1 = $CalcText1 & "0"
GUICtrlSetData($TextBox, $CalcText1)
Else
$CalcText2 = $CalcText2 & "0"
GUICtrlSetData($TextBox, $CalcText2)
EndIf
Case $ButtonVirgule
GUICtrlSetState($NoFocus, $GUI_FOCUS)
If $Nombre = 1 Then
$CalcText1 = $CalcText1 & "."
GUICtrlSetData($TextBox, $CalcText1)
Else
$CalcText2 = $CalcText2 & "."
GUICtrlSetData($TextBox, $CalcText2)
EndIf
Case $ButtonAC
GUICtrlSetState($NoFocus, $GUI_FOCUS)
GUICtrlSetData($TextBox, "")
Local $CalcText1 = ""
Local $CalcText2 = ""
Local $Nombre = 1
Local $Operation = ""
Case $ButtonAddition
GUICtrlSetState($NoFocus, $GUI_FOCUS)
Local $Operation = 1
Local $Nombre = 2
GUICtrlSetData($TextBox, "")
Case $ButtonDifference
GUICtrlSetState($NoFocus, $GUI_FOCUS)
Local $Operation = 2
Local $Nombre = 2
GUICtrlSetData($TextBox, "")
Case $ButtonMultiplication
GUICtrlSetState($NoFocus, $GUI_FOCUS)
Local $Operation = 3
Local $Nombre = 2
GUICtrlSetData($TextBox, "")
Case $ButtonDivision
GUICtrlSetState($NoFocus, $GUI_FOCUS)
Local $Operation = 4
Local $Nombre = 2
GUICtrlSetData($TextBox, "")
Case $ButtonEqual
GUICtrlSetState($NoFocus, $GUI_FOCUS)
If $Operation = 1 Then Local $Resultat = $CalcText1 + $CalcText2
If $Operation = 2 Then Local $Resultat = $CalcText1 - $CalcText2
If $Operation = 3 Then Local $Resultat = $CalcText1 * $CalcText2
If $Operation = 4 Then Local $Resultat = $CalcText1 / $CalcText2
Local $Arround = Round($Resultat, 2)
GUICtrlSetData($TextBox, $Arround)
EndSwitch
WEnd
Disponible également sur le Drive.
Dylan.
Dernière édition par Dylan Gadacha le Mer 11 Déc 2013, 08:30, édité 1 fois
Dylan Gadacha- EQUIPE BBAT
- Mensagens : 106
Data de inscrição : 24/10/2013
Idade : 25
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Ven 25 Déc 2015, 14:17 par Sachadee
» [devellopez] Formater une date en ligne Dos
Ven 31 Juil 2015, 10:40 par Dylan Gadacha
» Un super Tuto Batch de IniTScreen
Lun 08 Juin 2015, 12:16 par InitScreen
» Un code MATRIX sympa
Dim 12 Avr 2015, 14:27 par Sachadee
» [BAT/EXE] DresolChange changer la sesolution de l´écran
Mar 17 Mar 2015, 09:12 par Sachadee
» [EXE/bat] DpScript Código Delphi interpreter
Jeu 12 Mar 2015, 15:48 par Sachadee
» Externo SaveDlg com 2 kb
Dim 15 Fév 2015, 12:20 par Sachadee
» présentation
Dim 15 Fév 2015, 12:14 par Sachadee
» [developpez.com] Transcodage fichier vidéo si fichier déposé
Mar 03 Fév 2015, 01:02 par Sachadee