Pour aider mon beauf qui vient d'ouvrir un snack je suis en train de lui préparer une petite surprise (voir le titre)
Seulement, je suis débutant et il y a des choses, peut-être simples à régler, qui me posent problème.
C'est la première fois que je publie dans 'application' et pas dans 'débutant', j'espère ne pas gêner mais j'ai plus de 1000lignes
PureBasic 5.22 LTS (Windows - x86)
Ci-après la totalité du code principal. Par contre pour le tester il serait peut-etre plus simple d'avoir les dossiers, images, paramètres... / Merci de me dire comment transmettre facilement le tout
Mes problèmes:
1/ j'utilise EcrL= GetSystemMetrics_(#SM_CXSCREEN), EcrH = GetSystemMetrics_(#SM_CYSCREEN)
mais je voudrais savoir s'il y a une barre d'outil en bas et ses dimensions (pour ne pas la recouvrir)
De plus je n'arrive pas vraiment à optimiser l'emplacement des choses sur l'ecran en fonction des dimensions
2/ mon TextGadget(#AffichageTxt2) clignote sous win7 famille alors que tout est normal sous win7 pro
3/ j'ai mis un Delay(500) avant de lancer CreateThread(@AlertThread(), 154)
pour ne pas qu'il se mette a jour avant d'avoir été créé (TextGadget(#AffichageTxt2))
il plante quand même de manière irrégulière en me disant 'accès mémoir invalide/erreur ecriture adresse 0)
dans ma Procedure AlertThread(Parameter) au niveau de SetGadgetText (#AffichageTxt, TextAffichage)
4/ OpenWindow(#SecForm) n'est pas indépendante. je ne comprends pas pourquoi quand je la ferme elle ferme tout
et si je la reduit la fenetre principale ne répond plus??
5/ mon clic sur lien web : résultat=1 mais le programme ne se lance pas
Merci par avance pour votre aide
====partie1 du code=======
Code : Tout sélectionner
;recup taille ecran et ne depasse pas objets ...
;repositionner / optimiser les objets dans les ecrans suivant dimensions
;pb fenetre sec.
;affecter annul, valid, print, help
;
;
;
#TitleFor = "Snack Break"
#TitleForm = "Snack Break - Gestion des commandes"
#versio = "V1.0"
#passwrd = "REMY"
#NbParamProd = 4
#LibLib = "Libellé"
#LibQ = "Qté"
#LibHT = "Prix HT"
#LibTVA = "TVA"
#LibTTC = "Prix TTC"
#PersoExt = "prefs"
#BarreBas = 72 ;*******************voir si barre et taille barre******************
Enumeration Window
#MainForm ;IDentifiant fenetre principale
#SecForm ;IDentifiant fenetre secondaire
EndEnumeration
Enumeration Gadget
#ButtonLogo
#Button1 ;#ButtonImage1 = "Sandwish"
#Button2 ;#ButtonImage2 = "Boisson"
#Button3 ;#ButtonImage3 = "Patisserie"
#Button4 ;#ButtonImage4 = "Divers" ; chips, barre choco...
#BtAnnuler
#BtValider
#BtImprim
#BtAide
#buttonplus1
#buttonplus2
#buttonplus3
#buttonplus4
#NbTotalPROD
#NbTotalHT
#NbTotalTTC
#AffichageTxt ;bandeau informations
#AffichageTxt2 ;intitulé du tableau
#SupprList01
#SupprList02
#SupprList03
#SupprList04
#SupprList05
#SupprList06
#SupprList07
#SupprList08
#SupprList09
#SupprList10
#SupprList11
#SupprList12
#SupprList13
#SupprList14
#SupprList15
#SupprList16
#SupprList17
#SupprList18
#SupprList19
#SupprList20
#LienInternet
#GadgetListSecond ;liste des produits pour sélection
EndEnumeration
Enumeration Images
#ImageLogo ;logo
#Image1 ;images principales
#Image2
#Image3
#Image4
#ImageAnnul ;image commandes
#ImageValid
#ImagePrint
#ImageHelp
#Imageplus1 ;imagesplus commandes
#Imageplus2
#Imageplus3
#Imageplus4
EndEnumeration
UseJPEGImageDecoder()
;acces variable dans procedures
Global NomChemin$
Global EcrL= GetSystemMetrics_(#SM_CXSCREEN), EcrH = GetSystemMetrics_(#SM_CYSCREEN)- #BarreBas
Global TailleButtonImage = EcrH/2.8
Global nbClic1 ,nbClic2, nbClic3, nbClic4
Global nbClic5 ;gère les annulations... / posi= nbClic1 + nbClic2 + nbClic3 + nbClic4 + nbClic5 (négatif)
Global Date$, Time$ , NumCmde
Global Temps_DoubleClic , double
Global password.s = #passwrd, IsMaster = 0, uuser.s
Global NbProd01, NbProd02, NbProd03, NbProd04
;repertoire en cours
Buffer.s = Space(256)
Buf_Len = 256
GetCurrentDirectory_(Buf_Len, @Buffer)
NomChemin$ = PeekS(@Buffer)
;-initialisation variables générales
Date$ = FormatDate("%dd/%mm/%yyyy", Date())
Time$ = FormatDate("%hh:%ii:%ss", Date())
NumCmde = 1
Temps_DoubleClic = GetDoubleClickTime_ ()
uuser = GetEnvironmentVariable("USERNAME")
;-initialisation variables liste commandes
#ValStringList01 ="" : #ValStringList02 ="" : #ValStringList03 ="" : #ValStringList04 ="" : #ValStringList05 =""
#ValStringList06 ="" : #ValStringList07 ="" : #ValStringList08 ="" : #ValStringList09 ="" : #ValStringList10 =""
#ValStringList11 ="" : #ValStringList12 ="" : #ValStringList13 ="" : #ValStringList14 ="" : #ValStringList15 =""
#ValStringList16 ="" : #ValStringList17 ="" : #ValStringList18 ="" : #ValStringList19 ="" : #ValStringList20 =""
#ValStringNb01 ="" : #ValStringNb02 ="" : #ValStringNb03 ="" : #ValStringNb04 ="" : #ValStringNb05 =""
#ValStringNb06 ="" : #ValStringNb07 ="" : #ValStringNb08 ="" : #ValStringNb09 ="" : #ValStringNb10 =""
#ValStringNb11 ="" : #ValStringNb12 ="" : #ValStringNb13 ="" : #ValStringNb14 ="" : #ValStringNb15 =""
#ValStringNb16 ="" : #ValStringNb17 ="" : #ValStringNb18 ="" : #ValStringNb19 ="" : #ValStringNb20 =""
#ValStringHT01 ="" : #ValStringHT02 ="" : #ValStringHT03 ="" : #ValStringHT04 ="" : #ValStringHT05 =""
#ValStringHT06 ="" : #ValStringHT07 ="" : #ValStringHT08 ="" : #ValStringHT09 ="" : #ValStringHT10 =""
#ValStringHT11 ="" : #ValStringHT12 ="" : #ValStringHT13 ="" : #ValStringHT14 ="" : #ValStringHT15 =""
#ValStringHT16 ="" : #ValStringHT17 ="" : #ValStringHT18 ="" : #ValStringHT19 ="" : #ValStringHT20 =""
#ValStringTVA01 ="" : #ValStringTVA02 ="" : #ValStringTVA03 ="" : #ValStringTVA04 ="" : #ValStringTVA05 =""
#ValStringTVA06 ="" : #ValStringTVA07 ="" : #ValStringTVA08 ="" : #ValStringTVA09 ="" : #ValStringTVA10 =""
#ValStringTVA11 ="" : #ValStringTVA12 ="" : #ValStringTVA13 ="" : #ValStringTVA14 ="" : #ValStringTVA15 =""
#ValStringTVA16 ="" : #ValStringTVA17 ="" : #ValStringTVA18 ="" : #ValStringTVA19 ="" : #ValStringTVA20 =""
#ValStringTTC01 ="" : #ValStringTTC02 ="" : #ValStringTTC03 ="" : #ValStringTTC04 ="" : #ValStringTTC05 =""
#ValStringTTC06 ="" : #ValStringTTC07 ="" : #ValStringTTC08 ="" : #ValStringTTC09 ="" : #ValStringTTC10 =""
#ValStringTTC11 ="" : #ValStringTTC12 ="" : #ValStringTTC13 ="" : #ValStringTTC14 ="" : #ValStringTTC15 =""
#ValStringTTC16 ="" : #ValStringTTC17 ="" : #ValStringTTC18 ="" : #ValStringTTC19 ="" : #ValStringTTC20 =""
;
;-initialisation variables affichage
#MargeLogo = 180 ;tout se place en dessous
#TailleButtonSuppr = 20
#TListX = 200
#TListY = 20
;{-initialise nb de produits
CheminFichier.s = NomChemin$ + "\produits\Prod01."+#PersoExt
If ReadFile(0, CheminFichier)
While Eof(0) = 0
ReadString(0):NbProd01=NbProd01+1
Wend
CloseFile(0)
NbProd01=(NbProd01-6)/#NbParamProd
Else
MessageRequester(#TitleFor + " - Erreur", CheminFichier +"n'a pas pu être chargé !", #MB_ICONERROR)
End
EndIf
CheminFichier.s = NomChemin$ + "\produits\Prod02."+#PersoExt
If ReadFile(0, CheminFichier)
While Eof(0) = 0
ReadString(0):NbProd02=NbProd02+1
Wend
CloseFile(0)
NbProd02=(NbProd02-6)/#NbParamProd
Else
MessageRequester(#TitleFor + " - Erreur", CheminFichier +"n'a pas pu être chargé !", #MB_ICONERROR)
End
EndIf
CheminFichier.s = NomChemin$ + "\produits\Prod03."+#PersoExt
If ReadFile(0, CheminFichier)
While Eof(0) = 0
ReadString(0):NbProd03=NbProd03+1
Wend
CloseFile(0)
NbProd03=(NbProd03-6)/#NbParamProd
Else
MessageRequester(#TitleFor + " - Erreur", CheminFichier +"n'a pas pu être chargé !", #MB_ICONERROR)
End
EndIf
CheminFichier.s = NomChemin$ + "\produits\Prod04."+#PersoExt
If ReadFile(0, CheminFichier)
While Eof(0) = 0
ReadString(0):NbProd04=NbProd04+1
Wend
CloseFile(0)
NbProd04=(NbProd04-6)/#NbParamProd
Else
MessageRequester(#TitleFor + " - Erreur", CheminFichier +"n'a pas pu être chargé !", #MB_ICONERROR)
End
EndIf
Global Dim ProdLib1.s (NbProd01) ,Dim ProdHT1.s (NbProd01) ,Dim ProdTTC1.s (NbProd01), Dim ProdTVA1.s (NbProd01) ,Dim ProdMENU1.s (NbProd01)
Global Dim ProdLib2.s (NbProd02) ,Dim ProdHT2.s (NbProd02) ,Dim ProdTTC2.s (NbProd01), Dim ProdTVA2.s (NbProd02) ,Dim ProdMENU2.s (NbProd02)
Global Dim ProdLib3.s (NbProd03) ,Dim ProdHT3.s (NbProd03) ,Dim ProdTTC3.s (NbProd01), Dim ProdTVA3.s (NbProd03) ,Dim ProdMENU3.s (NbProd03)
Global Dim ProdLib4.s (NbProd04) ,Dim ProdHT4.s (NbProd04) ,Dim ProdTTC4.s (NbProd01), Dim ProdTVA4.s (NbProd04) ,Dim ProdMENU4.s (NbProd04)
;}-
;declare procedures
Declare Start()
Declare AlertThread(Parameter)
Declare WindowProd(NumProdList)
;{-chargement des images, param, produits
;-*** Charge Images
CheminFichier.s = NomChemin$ + "\images\LOGO.jpg"
Resultat = LoadImage(#ImageLogo, CheminFichier)
If Resultat=0 : MessageRequester(#TitleFor + " - Erreur", CheminFichier+" n'a pas pu être chargée !", #MB_ICONERROR):End: EndIf
CheminFichier.s = NomChemin$ + "\images\Image1.jpg"
Resultat = LoadImage(#Image1, CheminFichier)
If Resultat=0 : MessageRequester(#TitleFor + " - Erreur", CheminFichier+" n'a pas pu être chargée !", #MB_ICONERROR):End: EndIf
CheminFichier.s = NomChemin$ + "\images\Image2.jpg"
Resultat = LoadImage(#Image2, CheminFichier)
If Resultat=0 : MessageRequester(#TitleFor + " - Erreur", CheminFichier+" n'a pas pu être chargée !", #MB_ICONERROR):End: EndIf
CheminFichier.s = NomChemin$ + "\images\Image3.jpg"
Resultat = LoadImage(#Image3, CheminFichier)
If Resultat=0 : MessageRequester(#TitleFor + " - Erreur", CheminFichier+" n'a pas pu être chargée !", #MB_ICONERROR):End: EndIf
CheminFichier.s = NomChemin$ + "\images\Image4.jpg"
Resultat = LoadImage(#Image4, CheminFichier)
If Resultat=0 : MessageRequester(#TitleFor + " - Erreur", CheminFichier+" n'a pas pu être chargée !", #MB_ICONERROR):End: EndIf
CheminFichier.s = NomChemin$ + "\images\annule.jpg"
Resultat = LoadImage(#ImageAnnul, CheminFichier)
If Resultat=0 : MessageRequester(#TitleFor + " - Erreur", CheminFichier+" n'a pas pu être chargée !", #MB_ICONERROR):End: EndIf
CheminFichier.s = NomChemin$ + "\images\valide.jpg"
Resultat = LoadImage(#ImageValid, CheminFichier)
If Resultat=0 : MessageRequester(#TitleFor + " - Erreur", CheminFichier+" n'a pas pu être chargée !", #MB_ICONERROR):End: EndIf
CheminFichier.s = NomChemin$ + "\images\imprimer.jpg"
Resultat = LoadImage(#ImagePrint, CheminFichier)
If Resultat=0 : MessageRequester(#TitleFor + " - Erreur", CheminFichier+" n'a pas pu être chargée !", #MB_ICONERROR):End: EndIf
CheminFichier.s = NomChemin$ + "\images\aide.jpg"
Resultat = LoadImage(#ImageHelp, CheminFichier)
If Resultat=0 : MessageRequester(#TitleFor + " - Erreur", CheminFichier+" n'a pas pu être chargée !", #MB_ICONERROR):End: EndIf
CheminFichier.s = NomChemin$ + "\images\imgplus1.jpg"
Resultat = LoadImage(#Imageplus1, CheminFichier)
If Resultat=0 : MessageRequester(#TitleFor + " - Erreur", CheminFichier+" n'a pas pu être chargée !", #MB_ICONERROR):End: EndIf
CheminFichier.s = NomChemin$ + "\images\imgplus2.jpg"
Resultat = LoadImage(#Imageplus2, CheminFichier)
If Resultat=0 : MessageRequester(#TitleFor + " - Erreur", CheminFichier+" n'a pas pu être chargée !", #MB_ICONERROR):End: EndIf
CheminFichier.s = NomChemin$ + "\images\imgplus3.jpg"
Resultat = LoadImage(#Imageplus3, CheminFichier)
If Resultat=0 : MessageRequester(#TitleFor + " - Erreur", CheminFichier+" n'a pas pu être chargée !", #MB_ICONERROR):End: EndIf
CheminFichier.s = NomChemin$ + "\images\imgplus4.jpg"
Resultat = LoadImage(#Imageplus4, CheminFichier)
If Resultat=0 : MessageRequester(#TitleFor + " - Erreur", CheminFichier+" n'a pas pu être chargée !", #MB_ICONERROR):End: EndIf
;redimensionne images
ResizeImage(#ImageAnnul, TailleButtonImage/4, TailleButtonImage/4)
ResizeImage(#ImageValid, TailleButtonImage/4, TailleButtonImage/4)
ResizeImage(#ImagePrint, TailleButtonImage/4, TailleButtonImage/4)
ResizeImage(#ImageHelp, TailleButtonImage/4, TailleButtonImage/4)
ResizeImage(#Imageplus1, TailleButtonImage/4, TailleButtonImage/6)
ResizeImage(#Imageplus2, TailleButtonImage/4, TailleButtonImage/6)
ResizeImage(#Imageplus3, TailleButtonImage/4, TailleButtonImage/6)
ResizeImage(#Imageplus4, TailleButtonImage/4, TailleButtonImage/6)
;-*** Charge fichiers
CheminFichier.s = NomChemin$ + "\param\tva."+#PersoExt
If ReadFile(0, CheminFichier)
While Eof(0) = 0
For i=1 To 5 : vide$ = ReadString(0) : Next i
ligne1$ = ReadString(0) ;work$ = Right(ligne1$, 1) = Mid(ligne1$, 16, 8)
taux1$ = ReadString(0)
ligne2$ = ReadString(0)
taux2$ = ReadString(0)
ligne3$ = ReadString(0)
taux3$ = ReadString(0)
Wend
CloseFile(0)
;MessageRequester(#TitleFor + " - Information", "", #MB_ICONINFORMATION)
Else
MessageRequester(#TitleFor + " - Erreur", CheminFichier +"n'a pas pu être chargé !", #MB_ICONERROR)
End
EndIf
;charge prod1
CheminFichier.s = NomChemin$ + "\produits\Prod01."+#PersoExt
If ReadFile(0, CheminFichier)
While Eof(0) = 0
For a=1 To 6 : vide$ = ReadString(0) : Next a
For i=1 To NbProd01
ProdLib1.s(i) = ReadString(0)
ProdHT1.s(i) = ReadString(0)
ProdTVA1.s(i) = ReadString(0)
If ProdTVA1(i)="1" : ProdTVA1(i)=taux1$
Else
If ProdTVA1(i)="2" : ProdTVA1(i)= taux2$
Else
If ProdTVA1(i)="3" : ProdTVA1(i)=taux3$
EndIf
EndIf
EndIf
ProdMENU1.s(i) = ReadString(0) ; o/n si est composante d'un menu
ProdTTC1.s(i) = StrF(ValF(ProdHT1(i)) * (1+ ValF(ProdTVA1(i)) / 100), 2)
Next i
Wend
CloseFile(0)
;MessageRequester(#TitleFor + " - Information", "", #MB_ICONINFORMATION)
Else
; MessageRequester(#TitleFor + " - Erreur", CheminFichier +"n'a pas pu être chargé !", #MB_ICONERROR)
End
EndIf
;charge prod2
CheminFichier.s = NomChemin$ + "\produits\Prod02."+#PersoExt
If ReadFile(0, CheminFichier)
While Eof(0) = 0
For a=1 To 6 : vide$ = ReadString(0) : Next a
For i=1 To NbProd02
ProdLib2.s(i) = ReadString(0)
ProdHT2.s(i) = ReadString(0)
ProdTVA2.s(i) = ReadString(0)
If ProdTVA2(i)="1" : ProdTVA2(i)=taux1$
Else
If ProdTVA2(i)="2" : ProdTVA2(i)= taux2$
Else
If ProdTVA2(i)="3" : ProdTVA2(i)=taux3$
EndIf
EndIf
EndIf
ProdMENU2.s(i) = ReadString(0) ; o/n si est composante d'un menu
ProdTTC2.s(i) = StrF(ValF(ProdHT2(i)) * (1+ ValF(ProdTVA2(i)) / 100), 2)
Next i
Wend
CloseFile(0)
;MessageRequester(#TitleFor + " - Information", "", #MB_ICONINFORMATION)
Else
; MessageRequester(#TitleFor + " - Erreur", CheminFichier +"n'a pas pu être chargé !", #MB_ICONERROR)
End
EndIf
;charge prod3
CheminFichier.s = NomChemin$ + "\produits\Prod03."+#PersoExt
If ReadFile(0, CheminFichier)
While Eof(0) = 0
For a=1 To 6 : vide$ = ReadString(0) : Next a
For i=1 To NbProd03
ProdLib3.s(i) = ReadString(0)
ProdHT3.s(i) = ReadString(0)
ProdTVA3.s(i) = ReadString(0)
If ProdTVA3(i)="1" : ProdTVA3(i)=taux1$
Else
If ProdTVA3(i)="2" : ProdTVA3(i)= taux2$
Else
If ProdTVA3(i)="3" : ProdTVA3(i)=taux3$
EndIf
EndIf
EndIf
ProdMENU3.s(i) = ReadString(0) ; o/n si est composante d'un menu
ProdTTC3.s(i) = StrF(ValF(ProdHT3(i)) * (1+ ValF(ProdTVA3(i)) / 100), 2)
Next i
Wend
CloseFile(0)
;MessageRequester(#TitleFor + " - Information", "", #MB_ICONINFORMATION)
Else
; MessageRequester(#TitleFor + " - Erreur", CheminFichier +"n'a pas pu être chargé !", #MB_ICONERROR)
End
EndIf
;charge prod4
CheminFichier.s = NomChemin$ + "\produits\Prod04."+#PersoExt
If ReadFile(0, CheminFichier)
While Eof(0) = 0
For a=1 To 6 : vide$ = ReadString(0) : Next a
For i=1 To NbProd04
ProdLib4.s(i) = ReadString(0)
ProdHT4.s(i) = ReadString(0)
ProdTVA4.s(i) = ReadString(0)
If ProdTVA4(i)="1" : ProdTVA4(i)=taux1$
Else
If ProdTVA4(i)="2" : ProdTVA4(i)= taux2$
Else
If ProdTVA4(i)="3" : ProdTVA4(i)=taux3$
EndIf
EndIf
EndIf
ProdMENU4.s(i) = ReadString(0) ; o/n si est composante d'un menu
ProdTTC4.s(i) = StrF(ValF(ProdHT4(i)) * (1+ ValF(ProdTVA4(i)) / 100), 2)
Next i
Wend
CloseFile(0)
;MessageRequester(#TitleFor + " - Information", "", #MB_ICONINFORMATION)
Else
; MessageRequester(#TitleFor + " - Erreur", CheminFichier +"n'a pas pu être chargé !", #MB_ICONERROR)
End
EndIf
;}-
Start()
;Affichage de la fenetre Menu Systeme et centrée
Procedure Start()
Date$ = FormatDate("%dd/%mm/%yyyy", Date())
Time$ = FormatDate("%hh:%ii:%ss", Date())
TextAffichage.s
OpenWindow(#MainForm, 2, 0, EcrL-10, EcrH, #TitleForm, #PB_Window_SystemMenu );| #PB_Window_Maximize)
;Affichage des boutons image
ButtonImageGadget(#ButtonLogo, 0, 0, EcrL, #MargeLogo-10, ImageID(#ImageLogo))
ButtonImageGadget(#Button1, 10, 10 + #MargeLogo, TailleButtonImage, TailleButtonImage, ImageID(#Image1))
ButtonImageGadget(#Button2, 10+ TailleButtonImage, 10 + #MargeLogo, TailleButtonImage, TailleButtonImage, ImageID(#Image2))
ButtonImageGadget(#Button3, 10, 10 + #MargeLogo+ TailleButtonImage, TailleButtonImage, TailleButtonImage, ImageID(#Image3))
ButtonImageGadget(#Button4, 10+TailleButtonImage, 10 + #MargeLogo + TailleButtonImage, TailleButtonImage, TailleButtonImage, ImageID(#Image4))
;Affichage de la ligne d'information
TextGadget(#AffichageTxt, TailleButtonImage * 2+ 20, #MargeLogo, 400,20, TextAffichage)
SetGadgetColor(#AffichageTxt, #PB_Gadget_FrontColor , $386133)
TextGadget(#AffichageTxt2, TailleButtonImage * 2+ 190, 28+#MargeLogo, 400,20, #LibLib+" "+#LibQ+" "+#LibHT+" "+#LibTVA+" "+#LibTTC)
SetGadgetColor(#AffichageTxt2, #PB_Gadget_FrontColor , $A5A59B)
;Affichage des boutons effacement ligne
ButtonGadget(#SupprList01, TailleButtonImage * 2+ 20, #MargeLogo + 20 *2, #TailleButtonSuppr, #TailleButtonSuppr, "01")
ButtonGadget(#SupprList02, TailleButtonImage * 2+ 20, #MargeLogo + 20 *3, #TailleButtonSuppr, #TailleButtonSuppr, "02")
ButtonGadget(#SupprList03, TailleButtonImage * 2+ 20, #MargeLogo + 20 *4, #TailleButtonSuppr, #TailleButtonSuppr, "03")
ButtonGadget(#SupprList04, TailleButtonImage * 2+ 20, #MargeLogo + 20 *5, #TailleButtonSuppr, #TailleButtonSuppr, "04")
ButtonGadget(#SupprList05, TailleButtonImage * 2+ 20, #MargeLogo + 20 *6, #TailleButtonSuppr, #TailleButtonSuppr, "05")
ButtonGadget(#SupprList06, TailleButtonImage * 2+ 20, #MargeLogo + 20 *7, #TailleButtonSuppr, #TailleButtonSuppr, "06")
ButtonGadget(#SupprList07, TailleButtonImage * 2+ 20, #MargeLogo + 20 *8, #TailleButtonSuppr, #TailleButtonSuppr, "07")
ButtonGadget(#SupprList08, TailleButtonImage * 2+ 20, #MargeLogo + 20 *9, #TailleButtonSuppr, #TailleButtonSuppr, "08")
ButtonGadget(#SupprList09, TailleButtonImage * 2+ 20, #MargeLogo + 20*10, #TailleButtonSuppr, #TailleButtonSuppr, "09")
ButtonGadget(#SupprList10, TailleButtonImage * 2+ 20, #MargeLogo + 20*11, #TailleButtonSuppr, #TailleButtonSuppr, "10")
ButtonGadget(#SupprList11, TailleButtonImage * 2+ 20, #MargeLogo + 20*12, #TailleButtonSuppr, #TailleButtonSuppr, "11")
ButtonGadget(#SupprList12, TailleButtonImage * 2+ 20, #MargeLogo + 20*13, #TailleButtonSuppr, #TailleButtonSuppr, "12")
ButtonGadget(#SupprList13, TailleButtonImage * 2+ 20, #MargeLogo + 20*14, #TailleButtonSuppr, #TailleButtonSuppr, "13")
ButtonGadget(#SupprList14, TailleButtonImage * 2+ 20, #MargeLogo + 20*15, #TailleButtonSuppr, #TailleButtonSuppr, "14")
ButtonGadget(#SupprList15, TailleButtonImage * 2+ 20, #MargeLogo + 20*16, #TailleButtonSuppr, #TailleButtonSuppr, "15")
ButtonGadget(#SupprList16, TailleButtonImage * 2+ 20, #MargeLogo + 20*17, #TailleButtonSuppr, #TailleButtonSuppr, "16")
ButtonGadget(#SupprList17, TailleButtonImage * 2+ 20, #MargeLogo + 20*18, #TailleButtonSuppr, #TailleButtonSuppr, "17")
ButtonGadget(#SupprList18, TailleButtonImage * 2+ 20, #MargeLogo + 20*19, #TailleButtonSuppr, #TailleButtonSuppr, "18")
ButtonGadget(#SupprList19, TailleButtonImage * 2+ 20, #MargeLogo + 20*20, #TailleButtonSuppr, #TailleButtonSuppr, "19")
ButtonGadget(#SupprList20, TailleButtonImage * 2+ 20, #MargeLogo + 20*21, #TailleButtonSuppr, #TailleButtonSuppr, "20")
;Affichage des boutons Annuler, Valider, Imprimer, aide
ButtonImageGadget(#BtAnnuler, TailleButtonImage * 2+ 20, #MargeLogo + #TListX * 2 +100, TailleButtonImage/4, TailleButtonImage/4, ImageID(#ImageAnnul))
ButtonImageGadget(#BtValider, TailleButtonImage * 2+ 15 + #TailleButtonSuppr*6, #MargeLogo + #TListX * 2 +100, TailleButtonImage/4, TailleButtonImage/4, ImageID(#ImageValid))
ButtonImageGadget(#BtImprim, TailleButtonImage * 2+ 10+ #TailleButtonSuppr*12, #MargeLogo + #TListX * 2 +100, TailleButtonImage/4, TailleButtonImage/4, ImageID(#ImagePrint))
ButtonImageGadget(#BtAide, TailleButtonImage * 2+ 5+ #TailleButtonSuppr*18, #MargeLogo + #TListX * 2 +100, TailleButtonImage/4, TailleButtonImage/4, ImageID(#ImageHelp))
ButtonImageGadget(#buttonplus1, TailleButtonImage * 2+ 20, #MargeLogo + #TListX * 2 +110+TailleButtonImage/4, TailleButtonImage/4, TailleButtonImage/6, ImageID(#Imageplus1))
ButtonImageGadget(#buttonplus2, TailleButtonImage * 2+ 15 + #TailleButtonSuppr*6, #MargeLogo + #TListX * 2 +110+TailleButtonImage/4, TailleButtonImage/4, TailleButtonImage/6, ImageID(#Imageplus2))
ButtonImageGadget(#buttonplus3, TailleButtonImage * 2+ 10+ #TailleButtonSuppr*12, #MargeLogo + #TListX * 2 +110+TailleButtonImage/4, TailleButtonImage/4, TailleButtonImage/6, ImageID(#Imageplus3))
ButtonImageGadget(#buttonplus4, TailleButtonImage * 2+ 5+ #TailleButtonSuppr*18, #MargeLogo + #TListX * 2 +110+TailleButtonImage/4, TailleButtonImage/4, TailleButtonImage/6, ImageID(#Imageplus4))
;affichage lien internet
HyperLinkGadget(#LienInternet ,TailleButtonImage * 2.8, #MargeLogo + #TListX * 3 +TailleButtonImage/4, 150, 20, "www.SnackBreak.com", RGB(0,255,0), #PB_Font_Underline)
;#LienInternet
;Affichage Nb produits, total HT, total TTC ((et vérouillage))
StringGadget(#NbTotalPROD, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + #TListX * 2 +50, 30,#TListY, #ValStringNb20)
DisableGadget(#NbTotalPROD, 1)
StringGadget(#NbTotalHT, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + #TListX * 2 +50, 60,#TListY, #ValStringHT20)
DisableGadget(#NbTotalHT, 1)
StringGadget(#NbTotalTTC, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150,#MargeLogo + #TListX * 2 +50, 60,#TListY, #ValStringTTC20)
DisableGadget(#NbTotalTTC, 1)
;Affichage des champs de liste Libellé
StringGadget(101, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 * 2, #TListX, #TListY, #ValStringList01)
StringGadget(102, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 * 3, #TListX, #TListY, #ValStringList02)
StringGadget(103, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 * 4, #TListX, #TListY, #ValStringList03)
StringGadget(104, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 * 5, #TListX, #TListY, #ValStringList04)
StringGadget(105, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 * 6, #TListX, #TListY, #ValStringList05)
StringGadget(106, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 * 7, #TListX, #TListY, #ValStringList06)
StringGadget(107, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 * 8, #TListX, #TListY, #ValStringList07)
StringGadget(108, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 * 9, #TListX, #TListY, #ValStringList08)
StringGadget(109, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 *10, #TListX, #TListY, #ValStringList09)
StringGadget(110, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 *11, #TListX, #TListY, #ValStringList10)
StringGadget(111, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 *12, #TListX, #TListY, #ValStringList11)
StringGadget(112, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 *13, #TListX, #TListY, #ValStringList12)
StringGadget(113, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 *14, #TListX, #TListY, #ValStringList13)
StringGadget(114, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 *15, #TListX, #TListY, #ValStringList14)
StringGadget(115, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 *16, #TListX, #TListY, #ValStringList15)
StringGadget(116, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 *17, #TListX, #TListY, #ValStringList16)
StringGadget(117, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 *18, #TListX, #TListY, #ValStringList17)
StringGadget(118, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 *19, #TListX, #TListY, #ValStringList18)
StringGadget(119, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 *20, #TListX, #TListY, #ValStringList19)
StringGadget(120, TailleButtonImage * 2+ #TailleButtonSuppr * 2, #MargeLogo + 20 *21, #TListX, #TListY, #ValStringList20)
;Affichage des champs de liste Qté
StringGadget(121, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 2, 30, #TListY, #ValStringNb01)
StringGadget(122, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 3, 30, #TListY, #ValStringNb02)
StringGadget(123, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 4, 30, #TListY, #ValStringNb03)
StringGadget(124, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 5, 30, #TListY, #ValStringNb04)
StringGadget(125, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 6, 30, #TListY, #ValStringNb05)
StringGadget(126, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 7, 30, #TListY, #ValStringNb06)
StringGadget(127, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 8, 30, #TListY, #ValStringNb07)
StringGadget(128, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 9, 30, #TListY, #ValStringNb08)
StringGadget(129, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 10, 30,#TListY, #ValStringNb09)
StringGadget(130, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 11, 30,#TListY, #ValStringNb10)
StringGadget(131, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 12, 30,#TListY, #ValStringNb11)
StringGadget(132, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 13, 30,#TListY, #ValStringNb12)
StringGadget(133, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 14, 30,#TListY, #ValStringNb13)
StringGadget(134, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 15, 30,#TListY, #ValStringNb14)
StringGadget(135, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 16, 30,#TListY, #ValStringNb15)
StringGadget(136, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 17, 30,#TListY, #ValStringNb16)
StringGadget(137, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 18, 30,#TListY, #ValStringNb17)
StringGadget(138, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 19, 30,#TListY, #ValStringNb18)
StringGadget(139, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 20, 30,#TListY, #ValStringNb19)
StringGadget(140, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX, #MargeLogo + 20 * 21, 30,#TListY, #ValStringNb20)
;Affichage des champs de liste HT
StringGadget(141, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 2, 60, #TListY, #ValStringHT01)
StringGadget(142, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 3, 60, #TListY, #ValStringHT02)
StringGadget(143, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 4, 60, #TListY, #ValStringHT03)
StringGadget(144, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 5, 60, #TListY, #ValStringHT04)
StringGadget(145, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 6, 60, #TListY, #ValStringHT05)
StringGadget(146, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 7, 60, #TListY, #ValStringHT06)
StringGadget(147, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 8, 60, #TListY, #ValStringHT07)
StringGadget(148, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 9, 60, #TListY, #ValStringHT08)
StringGadget(149, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 10, 60,#TListY, #ValStringHT09)
StringGadget(150, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 11, 60,#TListY, #ValStringHT10)
StringGadget(151, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 12, 60,#TListY, #ValStringHT11)
StringGadget(152, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 13, 60,#TListY, #ValStringHT12)
StringGadget(153, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 14, 60,#TListY, #ValStringHT13)
StringGadget(154, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 15, 60,#TListY, #ValStringHT14)
StringGadget(155, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 16, 60,#TListY, #ValStringHT15)
StringGadget(156, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 17, 60,#TListY, #ValStringHT16)
StringGadget(157, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 18, 60,#TListY, #ValStringHT17)
StringGadget(158, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 19, 60,#TListY, #ValStringHT18)
StringGadget(159, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 20, 60,#TListY, #ValStringHT19)
StringGadget(160, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+30, #MargeLogo + 20 * 21, 60,#TListY, #ValStringHT20)
;Affichage des champs de liste TVA
StringGadget(161, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 2, 60, #TListY, #ValStringTVA01)
StringGadget(162, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 3, 60, #TListY, #ValStringTVA02)
StringGadget(163, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 4, 60, #TListY, #ValStringTVA03)
StringGadget(164, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 5, 60, #TListY, #ValStringTVA04)
StringGadget(165, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 6, 60, #TListY, #ValStringTVA05)
StringGadget(166, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 7, 60, #TListY, #ValStringTVA06)
StringGadget(167, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 8, 60, #TListY, #ValStringTVA07)
StringGadget(168, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 9, 60, #TListY, #ValStringTVA08)
StringGadget(169, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 10, 60,#TListY, #ValStringTVA09)
StringGadget(170, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 11, 60,#TListY, #ValStringTVA10)
StringGadget(171, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 12, 60,#TListY, #ValStringTVA11)
StringGadget(172, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 13, 60,#TListY, #ValStringTVA12)
StringGadget(173, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 14, 60,#TListY, #ValStringTVA13)
StringGadget(174, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 15, 60,#TListY, #ValStringTVA14)
StringGadget(175, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 16, 60,#TListY, #ValStringTVA15)
StringGadget(176, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 17, 60,#TListY, #ValStringTVA16)
StringGadget(177, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 18, 60,#TListY, #ValStringTVA17)
StringGadget(178, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 19, 60,#TListY, #ValStringTVA18)
StringGadget(179, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 20, 60,#TListY, #ValStringTVA19)
StringGadget(180, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+90, #MargeLogo + 20 * 21, 60,#TListY, #ValStringTVA20)
;Affichage des champs de liste TTC
StringGadget(181, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 2, 60, #TListY, #ValStringTTC01)
StringGadget(182, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 3, 60, #TListY, #ValStringTTC02)
StringGadget(183, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 4, 60, #TListY, #ValStringTTC03)
StringGadget(184, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 5, 60, #TListY, #ValStringTTC04)
StringGadget(185, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 6, 60, #TListY, #ValStringTTC05)
StringGadget(186, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 7, 60, #TListY, #ValStringTTC06)
StringGadget(187, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 8, 60, #TListY, #ValStringTTC07)
StringGadget(188, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 9, 60, #TListY, #ValStringTTC08)
StringGadget(189, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 10, 60,#TListY, #ValStringTTC09)
StringGadget(190, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 11, 60,#TListY, #ValStringTTC10)
StringGadget(191, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 12, 60,#TListY, #ValStringTTC11)
StringGadget(192, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 13, 60,#TListY, #ValStringTTC12)
StringGadget(193, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 14, 60,#TListY, #ValStringTTC13)
StringGadget(194, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 15, 60,#TListY, #ValStringTTC14)
StringGadget(195, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 16, 60,#TListY, #ValStringTTC15)
StringGadget(196, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 17, 60,#TListY, #ValStringTTC16)
StringGadget(197, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 18, 60,#TListY, #ValStringTTC17)
StringGadget(198, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 19, 60,#TListY, #ValStringTTC18)
StringGadget(199, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 20, 60,#TListY, #ValStringTTC19)
StringGadget(200, TailleButtonImage * 2+ #TailleButtonSuppr * 2 + #TListX+150, #MargeLogo + 20 * 21, 60,#TListY, #ValStringTTC20)
;Désactivation (hors Master des GadgetText [0 = activé" / 1 = désactivé]
For i=101 To 120
DisableGadget(i, 1) ; libellé
; DisableGadget(i+20, 0) ; quantité
DisableGadget(i+40, 1) ; px HT
DisableGadget(i+60, 1) ; TVA
DisableGadget(i+80, 1) ; px TTC
Next i
;création du thread (MAJ TextAffichage)
Delay(500) ;bug si va trop vite pour MAJ parès ini
CreateThread(@AlertThread(), 154)