Informations sur: Menu Application

Publié par neliger le 09/12/2005

Description

Menu d'applications pour QuickBasic

Code source (langage qbasic)

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
' * MENU APPLICATION * MENUQB.BAS
OPTION BASE 1: DEFSTR A-Z: SCREEN 12: WINDOW SCREEN (1, 1)-(640, 480)
DIM Ec(30) AS STRING * 36
LINE (10, 10)-(631, 471), 11, B: PAINT (5, 5), 1, 11
' ***** Definition des traits doubles
H = CHR$(205): V = CHR$(186): Chg = CHR$(201): Chd = CHR$(187)
Cbg = CHR$(200): Cbd = CHR$(188 ): Vd = CHR$(204)
' ***** COULEURS
Cfd% = 0 ' COUL DE FOND ECRAN
Ccv% = 14 ' COUL CADRE VIDE
Cct% = 11: Cte% = 14 ' COUL CADRE/TITRE
Cr% = 4 ' Couleur de remplissage du titre
Titre = " - - > BANQUE/RECETTES/DEPENSES < - - "
L% = 3: GOSUB E06D: GOSUB E06.REMPLI
Titre = " * * DUPONT & DUPOND * * "
L% = 3: GOSUB E06G: GOSUB E06.REMPLI
Cct% = 11: Cte% = 15
Titre = " *** MENU GENERAL *** "
L% = 6: GOSUB E06C: Cr% = 1: GOSUB E06.REMPLI
Ccv% = 11
Lchg% = 8: Cchg% = 3: Lcbd% = 24: Ccbd% = 40: GOSUB E08.CVIDE
Cchg% = 41: Ccbd% = 78: GOSUB E08.CVIDE
Ec(1) = " 1 RESTAURATION de A vers C "
Ec(2) = " 2 INDICATION du NOM "
Ec(3) = " 3 DATE de DEMARRAGE APPLICATION "
Ec(4) = " 4 CREAT/MODIF TITRES COLONNES "
Ec(5) = " 5 CREAT/MODIF Libellés CONSTANTS "
Ec(6) = " 6 SAISIE des ECRITURES "
Ec(7) = " 7 MODIF/ANNULATION des ECRITURES "
Ec(8) = " 8 MODIFICATION de LIGNE/COLONNE "
Ec(9) = " 9 CONSTITUTION des TOTAUX MENSUELS "
Ec(10) = "10 EDITION des ECRITURES "
Ec(11) = "11 EVOLUTION des SOLDES des COMPTES "
Ec(12) = "12 EVOLUTION des SOLDES d'UN COMPTE "
Ec(13) = "13 EDITION avec SELECTION "
Ec(14) = "14 EDITION des TOTAUX MENSUELS "
Ec(15) = "15 SELECTION & GRAPHIQUE sur ECRAN "
Ec(16) = "16 RECONSTITUTION du FICHIER INDEX "
Ec(17) = "17 TRI/EPURATION des ECRITURES "
Ec(18) = "18 10 DERNIERES EXRITURES SAISIES "
Ec(19) = "19 TETRIS "
Ec(20) = "20 MODIFICATION de LIBELLE "
Ec(21) = "21 LA BOURSE "
Ec(22) = "22 En Attente "
Ec(23) = "23 En attente "
Ec(24) = "24 En Attente "
Ec(25) = "25 En Attente "
Ec(26) = "26 CONSULTATION ECRITURES sur ECRAN "
Ec(27) = "27 SAUVEGARDE FICHIERS de C sur A "
Ec(28) = "28 CREATION des FICHIERS à BLANC "
Ec(29) = "29 NOTICE d'UTILISATION "
Ec(30) = "30 FIN de TRAVAIL "
E51: COLOR 15: E% = 0
FOR L% = 9 TO 23: E% = E% + 1: LOCATE L%, 4: PRINT Ec(E%): NEXT L%
FOR L% = 9 TO 23: E% = E% + 1: LOCATE L%, 42: PRINT Ec(E%): NEXT L%
Cct% = 13: Cte% = 15
Titre = " Recherchez l'OPTION désirée ("
Titre = Titre + CHR$(24) + " ou " + CHR$(25) + ") et 'ENTREE' "
Cct% = 11: Cte% = 15: L% = 26: GOSUB E06C: GOSUB E06.REMPLI
LOCATE 26, 45: COLOR 10: PRINT CHR$(24)
Lc% = 26: Cc% = 45: Nc% = 1: GOSUB E07.ENCADRE
LOCATE 26, 50: COLOR 10: PRINT CHR$(25)
Cc% = 50: GOSUB E07.ENCADRE
LOCATE 26, 57: COLOR 10: PRINT "ENTREE"
Cc% = 57: Nc% = 6: GOSUB E07.ENCADRE
Dalle = CHR$(1) + CHR$(4) + CHR$(16) + CHR$(64)
PAINT (25, 33), Dalle, 11
 
E52: ' ** CHOIX de l'OPTION **
Choix% = 1: Choix.Pr% = 1: L% = 9: L.Pr% = 9: C% = 4: C.Pr% = 4
COLOR 10: LOCATE L%, C%: PRINT Ec(Choix%);
Xg% = (C% - 1) * 8 - 0: Xd% = Xg% + 290 ' = C% * 8 + 282
Yg% = (L% - 1) * 16 - 1: Yd% = L% * 16 + 1
E53: K = INKEY$:
LINE (Xg%, Yg%)-(Xd%, Yd%), 13, B, &H3333
LINE (Xg%, Yg%)-(Xd%, Yd%), 15, B, &HCCCC
FOR XX& = 1 TO 200000: NEXT
LINE (Xg%, Yg%)-(Xd%, Yd%), 0, B, &HFFFF
IF K = "" GOTO E53
SELECT CASE K
CASE CHR$(27): CLS : COLOR 15: END
CASE CHR$(0) + "H", "8": ' Au-dessus
IF L% = 9 THEN
IF C% = 4 THEN
L% = 23: C% = 42: Choix% = 30: GOTO E54
ELSEIF C% = 42 THEN
L% = 23: C% = 4: Choix% = 15: GOTO E54
END IF
END IF
L% = L.Pr% - 1: Choix% = Choix% - 1: GOTO E54
CASE CHR$(0) + "P", "2": ' Au-dessous
IF L% = 23 THEN
IF C% = 42 THEN
L% = 9: C% = 4: Choix% = 1: GOTO E54
ELSEIF C% = 4 THEN
L% = 9: C% = 42: Choix% = 16: GOTO E54
END IF
END IF
L% = L.Pr% + 1: Choix% = Choix% + 1: GOTO E54
CASE CHR$(13): GOTO E55
CASE ELSE: GOSUB E01.BIP: GOTO E54
END SELECT
E54: COLOR 15: LOCATE L.Pr%, C.Pr%: PRINT Ec(Choix.Pr%);
Xg% = (C.Pr% - 1) * 8: Xd% = Xg% + 290
Yg% = (L.Pr% - 1) * 16 - 1: Yd% = L.Pr% * 16 + 1
LINE (Xg%, Yg%)-(Xd%, Yd%), Cfd%, B
COLOR 10: LOCATE L%, C%: PRINT Ec(Choix%);
Xg% = (C% - 1) * 8: Xd% = Xg% + 290
Yg% = (L% - 1) * 16 - 1: Yd% = L% * 16 + 1
LINE (Xg%, Yg%)-(Xd%, Yd%), 12, B, &H3333
LINE (Xg%, Yg%)-(Xd%, Yd%), 15, B, &HCCCC
L.Pr% = L%: C.Pr% = C%: Choix.Pr% = Choix%: GOTO E53
E55: COLOR 14: LOCATE L%, C%: PRINT Ec(Choix%);
Xg% = (C% - 1) * 8: Xd% = Xg% + 290
'LOCATE 28, 10: PRINT Xg%; Xd%;
Yg% = (L% - 1) * 16 - 1: Yd% = L% * 16 + 1
LINE (Xg%, Yg%)-(Xd%, Yd%), 10, B, &H3333
Xg1% = Xg%:
Titre = " - - - > Recherchez l'OPTION désirée (B ou H) et 'ENTREE' "
Titre = " *** 0 si OK, 1 si Erreur *** "
L% = 26: GOSUB E06C: GOSUB E06.REMPLI
E56: S = INKEY$: IF S = "" GOTO E56
SELECT CASE S
CASE CHR$(3), CHR$(27): CLS : COLOR 15: END
CASE "0": GOTO E57
CASE "1": LINE (Xg1%, Yg%)-(Xg1% + 290, Yd%), Cfd%, B: GOTO E51
CASE ELSE: GOSUB E01.BIP: GOTO E56
END SELECT
E57: SELECT CASE Choix%
CASE 1: ' RUN "C:\\BRDG\\P\\RECUPER.BAS"
CASE 2: ' GOTO E58
CASE 3: ' GOTO P01
CASE 4: ' GOTO R01
CASE 5: ' GOTO S01
CASE 6: ' RUN "C:\\BRDG\\P\\SAISIE.BAS"
CASE 7: ' RUN "C:\\BRDG\\P\\MODIFECR.BAS"
CASE 8: ' RUN "C:\\BRDG\\P\\TRANSFER.BAS"
CASE 9: ' RUN "C:\\BRDG\\P\\TOTMENS.BAS"
CASE 10: 'RUN "C:\\BRDG\\P\\EDITION.BAS"
CASE 11: 'RUN "C:\\BRDG\\P\\SOLDES.BAS"
CASE 12: 'RUN "C:\\BRDG\\P\\SOLDCPTE.BAS"
CASE 13: 'RUN "C:\\BRDG\\P\\EDISELEC.BAS"
CASE 14: 'RUN "C:\\BRDG\\P\\TTM.BAS"
CASE 15: 'RUN "C:\\BRDG\\P\\GRAPHIC.BAS"
CASE 16: 'RUN "C:\\BRDG\\P\\RECUPIND.BAS"
CASE 17: 'RUN "C:\\BRDG\\P\\TRIMVTS.BAS"
CASE 18: 'RUN "C:\\BRDG\\P\\CH10DERN.BAS"
CASE 19: SHELL "C:\\JEUX\\TETRIS"
CASE 20 TO 25: GOTO E100.PAS.FAIT
CASE 26: 'RUN "C:\\BRDG\\P\\CONSECRA.BAS"
CASE 27: 'RUN "C:\\BRDG\\P\\SAUVEG.BAS"
CASE 28: 'RUN "C:\\BRDG\\P\\CREAFICH.BAS"
CASE 29: 'GOTO E100.PAS.FAIT
CASE 30: CLS : COLOR 15: SYSTEM
END SELECT
GOTO E51
 
E01.BIP: PLAY "T150 O2 L16CEG>C": RETURN
E01.SIRENE: FOR Z% = 500 TO 100 STEP -5: SOUND Z%, Z% / 5000: NEXT Z%: RETURN
' ***** TITRE ENTOURE d'un CADRE **********
E06G: L% = L% - 1: C% = 4: GOTO E06.TITRE
E06C: L% = L% - 1: C% = 39 - LEN(Titre) / 2: GOTO E06.TITRE
E06D: L% = L% - 1: C% = 76 - LEN(Titre)
E06.TITRE: Lg% = LEN(Titre): COLOR Cct%
LOCATE L%, C%: PRINT Chg; STRING$((Lg%), H); Chd;
LOCATE L% + 1, C%: PRINT V; : LOCATE L% + 1, C% + Lg% + 1: PRINT V;
LOCATE L% + 2, C%: PRINT Cbg; STRING$((Lg%), H); Cbd;
LOCATE L% + 1, C% + 1: COLOR Cte%: PRINT Titre; : RETURN
E06.REMPLI: Xg% = C% * 8 + 1: Xd% = (C% + Lg%) * 8 + 1
Yh% = (L%) * 16 - 6: Yb% = Yh% + 26
FOR X% = Xg% TO Xd%: FOR Y% = Yh% TO Yb%
IF POINT(X%, Y%) = 0 THEN PSET (X%, Y%), Cr%
NEXT Y%, X%
RETURN
E07.ENCADRE: Xchg% = (Cc% - 1) * 8 + 1: Ychg% = (Lc% - 1) * 16 + 1
Xcbd% = (Cc% + Nc% - 1) * 8: Ycbd% = Ychg% + 14: Kc% = 15
LINE (Xchg%, Ychg%)-(Xcbd%, Ycbd%), Kc%, B, &H3333
LINE (Xchg%, Ychg%)-(Xcbd%, Ycbd%), 12, B, &HCCCC
RETURN
E08.CVIDE: COLOR Ccv%
LOCATE Lchg%, Cchg%: PRINT Chg; STRING$((Ccbd% - Cchg% - 1), H); Chd;
LOCATE Lcbd%, Cchg%: PRINT Cbg; STRING$((Ccbd% - Cchg% - 1), H); Cbd;
FOR L% = Lchg% + 1 TO Lcbd% - 1
LOCATE L%, Cchg%: PRINT V; : LOCATE L%, Ccbd%: PRINT V; : NEXT L%
RETURN
E100.PAS.FAIT:
FOR A% = 1 TO 5
FOR L% = 25 TO 27: LOCATE L%, 15: PRINT SPACE$(54); : NEXT L%
Titre = " - - * DESOLE, PROGRAMME NON TERMINE .... "
Cct% = 12: Cte% = 15: L% = 26: GOSUB E06C: BEEP
NEXT A%
SLEEP 2: GOTO E51
v6 © Computaid SPRL 2005-2008 - Tous droits réservés - Hébergé par eTigris - Page générée en 0,048 s - Crédits - Stats
1 connecté