IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

Lecture clavier en mode graphique


Sujet :

Lazarus Pascal

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut Lecture clavier en mode graphique
    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.

  2. #2
    Membre averti

    Profil pro
    dirlo
    Inscrit en
    Février 2008
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : dirlo

    Informations forums :
    Inscription : Février 2008
    Messages : 83
    Points : 404
    Points
    404
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure ModeGraphique;
    begin
    Pilote := detect ;
      Initgraph( Pilote, Mode,'');
      If  GRAPHRESULT <> GROK
          Then HALT(1) ;
    end;
    Ça me rapelle le bon vieux temps du DOS et du Turbo Pascal! Mais à quoi celà peut-il servir dans un projet Lazarus?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut Graphique Clavier
    Bonsoir Parthelie,
    Et bien, avant de me plonger dans Lazarus, je fais quelques essais pour ranimer mon unique neurone.
    Et là, je tombe sur un os

    Citation Envoyé par parhelie Voir le message
    Ça me rapelle le bon vieux temps du DOS et du Turbo Pascal! Mais à quoi celà peut-il servir dans un projet Lazarus?
    Merci du contact,
    Cordialement,
    Philippe

  4. #4
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 464
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 464
    Points : 4 311
    Points
    4 311
    Par défaut
    Ben théoriquement Lazarus a été conçu pour créer des applications fenêtrées. Oublié donc le plein écran, la mode - depuis plus d'une décennie - est de créer des fenêtres.

    Programmer en plein écran de nos jours, c'est soit pour les puristes old-school, soit pour des raisons pratiques et techniques incontournables. Si tu te remets à la programmation en utilisant Lazarus, le plus simple est de partir directement vers le mode fenêtré style "Application Windows", les concepts changent un petit peu, mais tu devrais t'y retrouver assez rapidement.
    M.Dlb - Modérateur z/OS - Rédacteur et Modérateur Pascal

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut Lecture clavier en mode graphique
    Bonjour à toutes et tous,

    Merci de vos réponses !
    Alors j' ai remplacé le Uses Crt par Uses WinCrt.
    Et je ne suis plus bloqué sur le readKey

    Est ce une solution affreuse ?
    Cordialement,
    Philippe

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2009
    Messages : 48
    Points : 55
    Points
    55
    Par défaut
    Pour programmer avec lazarus, tu n'as pas besoin des vieux units pour Turbo Pascal comme graph, crt, wincrt.
    Qu'est ce que tu veux faire?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 49
    Points : 20
    Points
    20
    Par défaut
    Bonsoir,

    Citation Envoyé par theodp Voir le message
    Pour programmer avec lazarus, tu n'as pas besoin des vieux units pour Turbo Pascal comme graph, crt, wincrt.
    Qu'est ce que tu veux faire?
    Le but est de pouvoir tracer un programme sans passer par Lazarus ( sorte de débugage).
    Avec les procédures adéquates, c' est beaucoup facile qu' avec Lazarus.
    Donc je pense avoir maintenant les dites procédures ( style "hello Word" et " We have heard you". ) via OutTextXY et ReadKey avec les bonnes unités
    Pour les applications, bien sûr, je vais faire sous Lazarus.
    Quelle genre d' applis : peut être dans les BdD.

    Merci pour ton message.
    Cordialement,
    Philippe.

Discussions similaires

  1. lecture en mode graphique
    Par iliass001 dans le forum C
    Réponses: 13
    Dernier message: 06/02/2009, 22h29
  2. Pas le même clavier en console et en mode graphique
    Par Eusebius dans le forum Matériel
    Réponses: 4
    Dernier message: 05/12/2005, 17h53
  3. Réponses: 7
    Dernier message: 17/01/2004, 17h13
  4. Clignotement d'un caractère en mode graphique
    Par julson dans le forum x86 16-bits
    Réponses: 6
    Dernier message: 08/12/2003, 14h59
  5. [TP]Pb Mode Graphique
    Par John_win dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 29/11/2003, 22h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo