Bonjour à toutes et à tous,

Comment entrer une valeur au clavier en mode graphique ?
Merci,
Cordialement,
Philippe
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
 
unit unibpj4 ;
 
{$mode objfpc}{$H+}
{$static off}
 
interface
 
uses
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  StdCtrls, ExtCtrls, graph, crt, LclIntf, LclType, windows;
 
type
  { TNomHello }
 
  TNomHello = class(TForm)
    Button2: TButton;
    Button4: TButton;
 
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
 
  private
    { private declarations }
  public
    { public declarations }
  end;
  PMaillon = ^Maillon ;
 
  Maillon = record
          Valeur : integer;
          ValeurSuivante : Pmaillon
  end;
 
 
var
 x, y, Y1: integer;
  NomHello: TNomHello;
  Pilote : smallint;
  Mode : smallint;
 
implementation
 
procedure TNomHello.Button2Click(Sender: TObject);
begin
 
Close;
end;
 
procedure ModeGraphique;
begin
Pilote := detect ;
  Initgraph( Pilote, Mode,'');
  If  GRAPHRESULT <> GROK
      Then HALT(1) ;
end;
 procedure ListeChainee;
 
Const
CnbElem : Integer = 10 ;
Var
   premier    : Pmaillon ;
   precedent   : Pmaillon ;
   actuel     : Pmaillon ;
 
 
begin
ModeGraphique;
    x := 200 ;
    y := 0 ;
    OutTextXY( x, y, 'Liste debut'  );
 
    new(premier);    (* le 1er est particulier : si on le perd, on perd la liste *)
{    write('1ère valeur ? ');
    readln(premier^.valeur);   (* lecture de l'enregistrement VALEUR
             de la variable d'adresse (pointée par) PREM *)
 
    premier^.valeur := 15 ;
    precedent:=premier;
    for i:=2 to  CnbElem do
     begin
      new(point);      (* création d'une nouvelle variable *)
      write(i,'ième valeur ? ');
      readln(point^.valeur);
      precedent^.suivant:=point;   (* mise à jour du chaînage *)
      precedent:=point   (*se préparer pour la prochaine boucle*)
     end;
    precedent^.suivant:=NIL;
  (* NIL signifie "rien" car 0 est un entier, non une adresse *)
    point:=prem;  (* heureusement, on se souvient du premier *)
    for i:=1 to n do begin
      writeln(point^.valeur);
      point:=point^.suivant  (* pour la prochaine boucle *)
    end
}
 
end; {fin ListeChainee}
 
procedure TNomHello.Button4Click(Sender: TObject);
begin
Listechainee;
end;
 
procedure TNomHello.FormCreate(Sender: TObject);
begin
end;
 
initialization
  {$I unibpj4.lrs}
end.