salut mes amis
je suis débutant et je veux faire ça en pascal
un menu par exemple
menu1
menu2
menu3
menu4
et scroll avec les flèches de clavier entre les 4 menus et après appuyer sur le menu 1 par exemple s'affiche "vous êtes dans le menu1"
merci
salut mes amis
je suis débutant et je veux faire ça en pascal
un menu par exemple
menu1
menu2
menu3
menu4
et scroll avec les flèches de clavier entre les 4 menus et après appuyer sur le menu 1 par exemple s'affiche "vous êtes dans le menu1"
merci
De rien !
Et sinon, peux-tu nous montrer ce que tu as déjà essayé de faire, quelles sont les difficultées rencontrées, quelles recherches tu as fait, ... ?
@++
bonjour,
je ne suis pas un specialiste du pascal mais je pense que c'est faisable, en utilisant l'unité crt, lire les touches du clavier, effacer l'ecran a chaque fois que la touche haut et bas du clavier est touché et afficher a coté de chaque menu un indicateur de choix (ca peut être le chr(16)). pour monter et descendre la fleche, tu peux faire un compteur i et selon la valeur du compteur s'affiche la fleche..
apres avoir fait le choix, la valeur du compteur determinera le choix de l'utilisateur..
corrigez moi svp si je suis faux!
Non c'est juste
M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal
EVITER le unit CRT!!! son initialisation est problematique avec pas mal de cartes graphiques!!!
Il existe un kit de unit
TurboProfessional
qui gere TRES bien tout cela
il gere de plus memoire haute, (paginee ou acces linéaire), fichiers de help, manipulation des interrupts, ...
TPCRT a comparer à CRT
1- supporte bien plus de materiel
2- gere un grand nombre de fonction supplémentaire
buffer claver, simuler keypressed, redeffinition couleurs, ...
TPPICK permet de creer des menu deroulant en couleur sur le nombre de lignes/colonnes desirés, de definir des helps actifs en fonction de la gigne, ...
Si le code DOS est devenu publique - à verifier - je pourrais le fournir.
Salut,
voici un exemple que j'ai fait rapidement.. tu peux optimiser le code et l'adapter à tes besoin..
tu choisis dans le menu avec les fleches du clavier (haut et bas) ensuite tu comfirmes avec Entrer..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 program menu; uses crt; var a, b, c, d: Char; i: Integer; procedure init; begin a := ' '; b := ' '; c := ' '; d := ' '; end; begin clrscr; init; i := 0; Writeln(a, 'menu1'); Writeln(b, 'menu2'); Writeln(c, 'menu3'); Writeln(d, 'menu4'); repeat if keypressed then begin case readkey of #72: begin clrscr; i := i - 1; end; #80: begin clrscr; i := i + 1 end; end; case i of 1: begin init; a := Char(16); end; 2: begin init; b := Char(16); end; 3: begin init; c := Char(16); end; 4: begin init; d := Char(16); end; end; clrscr; Writeln(a, 'menu1'); Writeln(b, 'menu2'); Writeln(c, 'menu3'); Writeln(d, 'menu4'); end; until readkey = #13; Writeln('vous avez choisi le menu : ', i) end.
le meme genre un peu plus graphique :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 program menu; uses crt; var i, j: Integer; col : array[1..4] of byte; procedure writel(s: string; coloris : byte); begin textbackground(coloris); writeln(s); textbackground(0); end; procedure RefreshsubMenu; begin if i> 0 then begin gotoxy(1,2); Writel(' submenu1 ',col[1]); Writel(' submenu2 ',col[2]); Writel(' submenu3 ',col[3]); Writel(' submenu4 ',col[4]); gotoxy(2,i+1); end; end; Procedure showmenu; begin gotoxy(1,1); textbackground(1); write(' Mainmenu1 '); textbackground(0); write('| Quitter '); gotoxy(1,1); end; Procedure showmenu2; begin gotoxy(1,1); textbackground(0); write(' Mainmenu1 |'); textbackground(1); write(' Quitter '); gotoxy(13,1); end; procedure ShowSubmenu; begin col[1] := 1; col[2] := 0; col[3] := 0; col[4] := 0; i := 1; clrscr; showmenu; RefreshsubMenu; while readkey <> #13 do begin if keypressed then begin case readkey of #72: begin clrscr; if i>0 then begin col[i]:=0; i := i - 1; col[i]:=1; if i=0 then break; end; end; #80: begin clrscr; if i<4 then begin col[i]:=0; i := i + 1; col[i]:=1; end; end; end; clrscr; showmenu; RefreshsubMenu; end; end; clrscr; gotoxy(4,8); if (i<>0) and (j=1)then Writeln('vous avez choisi le menu : ', i); i := 0; j:=1; showmenu end; begin i:=0; j:=1; showmenu; repeat if keypressed then begin case readkey of #80: begin if i=0 then showsubmenu; end; #77: begin if j=1 then begin; clrscr; j:=2; i:=0; showmenu2; end; end; #75: begin if j=2 then begin j:=1; showmenu; end; end; end; end; until ((readkey = #13) and (j = 2)); gotoxy(4,8); textbackground(0); Writeln('vous avez choisi le menu quitter, bye'); readln; end.
Salut,
ben on lui laisse maintenant l'analyse des deux codes comme ca il apprend le principe
Félicitations, comme ça, il n'a plus qu'à recopier, vous l'avez beaucoup aidé
A quelqu'un qui a faim, vaut-il mieux lui donner un poisson, ou bien lui apprendre à pêcher ?
Pourriez-vous donner vos sources [d'information] s'il vous plait ? Pour le moment votre intervention passe plus pour du "on dit" et de la pub gratuite que pour une information valable...Envoyé par j.p.mignot
@++
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager