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

Langage Delphi Discussion :

Couleur application console Delphi6


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Par défaut Couleur application console Delphi6
    Bonjour à tous !

    Je n'arrive pas à trouver un tuto claire et simple qui explique comment mettre des caractères en couleur dans Delphi 6 en application console.

    Si quelqu’un en connait un ou à la gentillesse de m'expliquer sa serais génial !

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    voici un extrait de mon mini serveur HTTP en mode console.

    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
     
    var
      console: THandle;
     
    Procedure Log(color:byte; s:string);
     const
      r:TSmallRect=(Left:0; Top:1; Right:79; Bottom:23);
      xy:TCoord=(x:0;y:0);
      wxy:TCoord=(x:0;y:23);
     var
      attr:TCharInfo;
      size:cardinal;
     begin
      attr.AsciiChar:=' ';
      attr.Attributes:=FOREGROUND_RED;
    //  EnterCriticalSection(LockLog);
     // try
       ScrollConsoleScreenBuffer(Console,r,nil,xy,attr);
       FillConsoleOutputAttribute(Console,color,80,wxy,size);
       WriteConsoleOutputCharacter(Console,pchar(s),length(s),wxy,size);
    //  finally
    //   LeaveCriticalSection(LockLog);
    //  end;
     end;
     
    var
      i : Integer;
    begin
      Console:=GetStdHandle(STD_OUTPUT_HANDLE);
      for i := 1 to 15 do
       Log(i,'Couleur ' + IntToStr(i));
    end.
    le Scroll est utilisé ici pour faire défiler la console vers le haut et écrire toujours sur l'avant dernière ligne...la dernière étant utilisée pour saisir des données.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Par défaut
    Désolé j'ai oublié de préciser, je code en Pascal. Merci Paul, mais je ne comprend pas ta réponse, je ne code que depuis 6 mois...

  4. #4
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 115
    Par défaut
    Lorsque dit "je code en Pascal" , tu parles d'un Turbo Pascal ou de Free Pascal avec Lazarus ?

    le code fourni par Paul TOTH c'est du Pascal à la sauce Delphi\Win32, THandle et TSmallRect sont spécifiques à Windows, tout comme
    WriteConsoleOutputCharacter ou FillConsoleOutputAttribute


    Utilises-tu bien Delphi 6 comme tu l'as mentionné et non un autre environnement Pascal !?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Par défaut
    Je ne comprends pas la réponse de Paul TOTH... Oui, je suis sur delphi 6.

  6. #6
    Membre Expert
    Avatar de ALWEBER
    Homme Profil pro
    Expert Delphi
    Inscrit en
    Mars 2006
    Messages
    1 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Expert Delphi

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 545
    Billets dans le blog
    10
    Par défaut
    Voici l'exemple de Paul en plus complet :

    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
     
    program ex01;
     
    {$APPTYPE CONSOLE}
     
    uses
      SysUtils, Windows;
     
     
    var
      console: THandle;
     
    Procedure Log(color:byte; s:string);
     const
      r:TSmallRect=(Left:0; Top:1; Right:79; Bottom:23);
      xy:TCoord=(x:0;y:0);
      wxy:TCoord=(x:0;y:23);
     var
      attr:TCharInfo;
      size:cardinal;
     begin
      attr.AsciiChar:=' ';
      attr.Attributes:=FOREGROUND_RED;
       ScrollConsoleScreenBuffer(Console,r,nil,xy,attr);
       FillConsoleOutputAttribute(Console,color,80,wxy,size);
       WriteConsoleOutputCharacter(Console,pchar(s),length(s),wxy,size);
     end;
     
    var
      i : Integer;
    begin
      Console:=GetStdHandle(STD_OUTPUT_HANDLE);
      for i := 1 to 15 do
       Log(i,'Couleur ' + IntToStr(i));
      readln ;
    end.

Discussions similaires

  1. couleurs texte application console
    Par Jahjouh dans le forum MFC
    Réponses: 3
    Dernier message: 02/01/2006, 14h06
  2. [Kylix] une application console
    Par naili dans le forum EDI
    Réponses: 3
    Dernier message: 19/04/2004, 14h27
  3. [Delphi] Application "console" et caractères ASCII
    Par Yorys dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 31/07/2003, 09h50
  4. [Kylix] Kylix 3 et Applications console
    Par deniscm dans le forum EDI
    Réponses: 2
    Dernier message: 14/01/2003, 13h37
  5. [Kylix] application console avec kylix 3 ?
    Par Hakim dans le forum EDI
    Réponses: 4
    Dernier message: 15/11/2002, 22h45

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