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
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
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...