Accents en APP Console [Résolu]

ELCouz 135 Messages postés jeudi 22 mars 2007Date d'inscription 25 juillet 2008 Dernière intervention - 28 avril 2007 à 06:07 - Dernière réponse : ELCouz 135 Messages postés jeudi 22 mars 2007Date d'inscription 25 juillet 2008 Dernière intervention
- 29 avril 2007 à 05:34
Bonjour,
j'ai une question stupide qui me chicote depuis longtemps,,,
comment on fait pour afficher du texte avec des accents avec la commande Writeln...
car moi sur mon windows xp anglais , sa maffiche des caracteres illisible dans mon app console... c'est fatiguant de faire des fautes pour quon puisse comprendre qui a un accent... jaimerais avoir comme texte dans mon programme ex: à été aulieu de a ete :P

jsuis pas prof de francais mais bon vaut mieu ecrire comme du monde :P

merci!

laurent !
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
japee 1799 Messages postés vendredi 27 décembre 2002Date d'inscription 19 juillet 2018 Dernière intervention - 29 avril 2007 à 03:50
3
Merci
Salut,

Sous D4/D6, les 2 codes de WhiteHippo fonctionnent parfaitement.
Peut-être que Delphi 2006 râlera moins si tu lui donne ça :

function ConsoleString(const Chaine: string): string;
begin
  SetLength(Result, Length(Chaine));
  CharToOem(PChar(Chaine), PChar(Result));
end;

?

Bonne prog'

Merci japee 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de japee
WhiteHippo 1270 Messages postés samedi 14 août 2004Date d'inscription 5 avril 2012 Dernière intervention - 28 avril 2007 à 10:06
0
Merci
Bonjour

il existe une fonction dans l'API windows pour solutionner ce problème, elle s'appelle CharToOem. Son seul inconvénient est qu'elle travaille avec des PChar ; d'où l'utilisation d'une fonction intermédiaire de conversion :

function ConsoleString( const Chaine : String ) : String ;
const
  BUFFER_MAX = 1024 ;
var
  Buffer : Array[0..BUFFER_MAX-1] of Char ;
begin
  // Conversion ANI to OEM
  CharToOem( PChar( Chaine ), @Buffer ) ;
  // Conversion PChar to String
  Result := StrPas( @Buffer ) ;
end ;

Pour l'utilisation, voici un mini programme :

program Project1;



{$APPTYPE CONSOLE}



uses
  windows,SysUtils;



function ConsoleString ( const Chaine : String ) : String ;
const
  BUFFER_MAX = 1024 ;
var
  Buffer : Array[0..BUFFER_MAX-1] of Char ;
begin
  // Conversion ANI to OEM
  CharToOem( PChar( Chaine ), @Buffer ) ;
  // Conversion PChar to String
  Result := StrPas( @Buffer ) ;
end ;


const
  Test = 'essai avec des accents : éèùà' ;




begin
  writeln( Test ) ; // Sans accents
  writeln( ConsoleString( Test ) ) ; // Avec accents
  readln;
end.




Cordialement.
<hr />"L'imagination est plus importante que le savoir." Albert Einstein
Commenter la réponse de WhiteHippo
ELCouz 135 Messages postés jeudi 22 mars 2007Date d'inscription 25 juillet 2008 Dernière intervention - 28 avril 2007 à 13:53
0
Merci
salut !

jai assayer ton code mais jobtien

[Pascal Error] Project1.dpr(15): E2010 Incompatible types: 'Array' and 'Char'
[Pascal Error] Project1.dpr(17): E2010 Incompatible types: 'Array' and 'Char'

ligne15 =   CharToOem( PChar( Chaine ), @Buffer ) ;
ligne17=  Result := StrPas( @Buffer ) ;

lors de la compilation
 
jai delphi 2006...

merci beaucoup

Laurent
Commenter la réponse de ELCouz
WhiteHippo 1270 Messages postés samedi 14 août 2004Date d'inscription 5 avril 2012 Dernière intervention - 28 avril 2007 à 14:40
0
Merci
Sous Delphi 7 pas de problèmes  !! Essaye avec :

function ConsoleString ( const Chaine : String ) : String ;
const
  BUFFER_MAX = 1024 ;
var
  Buffer : Array[0..BUFFER_MAX-1] of Char ;
begin
  // Conversion ANI to OEM

  CharToOem( PChar( Chaine ), PChar( @Buffer ) ) ;
  // Conversion PChar to String
  Result := StrPas( PChar( @Buffer ) ) ;
end ;

Cordialement.
<hr />"L'imagination est plus importante que le savoir." Albert Einstein
Commenter la réponse de WhiteHippo
ELCouz 135 Messages postés jeudi 22 mars 2007Date d'inscription 25 juillet 2008 Dernière intervention - 29 avril 2007 à 05:34
0
Merci
merci japee! cest delphi 2006 qui deconne :P bref, jcomprend pas pkoi sa fait sa ,,, delphi cest delphi le language reste pas le meme entre chaque version ou quoi ?!?! jveux dire appart des nouvelles fonctions rajouter entre chaque version , jpense pas qui nen enleve...

merci a toi aussi WhiteHippo ;)

Laurent
Commenter la réponse de ELCouz

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.