Gambas France BETA


Pas de compte ? Incription

Howmuch2

À propos de ce code

Reprise et modification d'un exemple de Spheris.
Ajout gb.pcre

Code source

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
PUBLIC SUB Calculs() '<----------------------------------------------------- valable uniquement pour des sommes <= 20 000 000,00€

DIM xDiv AS Integer[] = [200, 100, 50, 20, 10, 5, 2, 1] '<----------------- valeur fiduciaire
DIM i AS INTEGER '<----------------------------------------------------- indice des tableaux
DIM iText AS NEW Integer[] '<--------------------------------------------- tableau de tenue du nombre de chaque monnaie fiduciaire
DIM lasomme AS INTEGER '<------------------------------------------------- variable de la somme de départ
DIM lecombien AS INTEGER '<--------------------------------------------- variable de la somme de calcul
DIM lereste AS INTEGER '<------------------------------------------------- variable du reste

iText.Clear '<------------------------------------------------------------- on s'assure que le tableau d'affichage est vide, par principe

lasomme = CInt(vsomme.Value) '<------------------------------------------- Conversion en entier de la somme affichée

FOR i = 0 TO 7 '<--------------------------------------------------------- de 200€ à 1€
lecombien = lasomme \ xDiv[i] '<------------------------------------- partie entière
lereste = lasomme MOD xDiv[i] '<------------------------------------- reste
lasomme = lereste '<--------------------------------------------------- bascule de variables pour garder la même logique
iText.Add(lecombien, i) '<--------------------------------------------- remplissage du tableau d'affichage pour les euros
NEXT

lasomme = CInt(vsomme.Value * xDiv[1]) '<--------------------------------- on repart avec un nombre entier comprenant les décimales

FOR i = 1 TO 7 '<--------------------------------------------------------- de 50 cts à 1 cts
lecombien = lasomme \ xDiv[i] '<------------------------------------- partie entière
lereste = lasomme MOD xDiv[i] '<------------------------------------- reste
lasomme = lereste '<--------------------------------------------------- bascule de variables pour garder la même logique
IF i > 1 THEN '<----------------------------------------------------- que de 50 cts à 1cts pas les 100€
iText.Add(lecombien, i + 6) '<------------------------------------- remplissage du tableau d'affichage pour les centimes
ENDIF
NEXT

'---Tableau d'affichage des valeurs ---
l1.Text = iText[0] '<----------------------------------------------------- affichage des €
l2.Text = iText[1]
l3.Text = iText[2]
l4.Text = iText[3]
l5.Text = iText[4]
l6.Text = iText[5]
l7.Text = iText[6]
l8.Text = iText[7]
l9.Text = iText[8] '<----------------------------------------------------- bascule d'affichage entre € et cts
l10.Text = iText[9]
l11.Text = iText[10]
l12.Text = iText[11]
l13.Text = iText[12]
l14.Text = iText[13]

END

Commentaires