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

 Delphi Discussion :

Comment écrire un fichier texte au format MS-DOS ?


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 137
    Par défaut
    Bonjour,

    j'ai vu ce problème résolu dans ce fil

    En fait je l'ai aussi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function StrToOem(const AnsiStr: string): string;
    begin
      SetLength(Result, Length(AnsiStr));
      if Length(Result) <> 0 then
        CharToOem(PChar(AnsiStr), PChar(Result));
    end;
    me donne
    Types incompatibles Char et AnsiChar
    sur la ligne CharToOem sous D2009.

    Dans le fil, sous D7, il fallait cocher Chaine vaste dans les options de syntaxe du compilateur. Sous 2009, ça s'appelle "Chaine longue par défaut" et c'est aussi coché par défaut.
    J'ai chargé le code dans D7 et ça passe.

    Bon je fouille, j'ai bien vu que c'est à cause d'Unicode

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 933
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 933
    Par défaut
    Pour que ça fonctionne en 2007 et en 2009:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function StrToOem(const Str: string): ansistring;
    begin
      SetLength(Result, Length(Str));
      if Length(Result) <> 0 then
        CharToOem(PChar(Str), PAnsiChar(Result));
    end;
    J'ai remplacé la variable AnsiStr par Str pour éviter la confusion. C'est une AnsiSring sous 2007, mais WideString sous 2009 .

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 137
    Par défaut
    Merci,

    en plus ta version fonctionne sur D7 aussi.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment imprimer un fichier text existant?
    Par AODRENN dans le forum Langage
    Réponses: 2
    Dernier message: 12/09/2005, 17h26
  2. Comment générer un fichier texte à partir d'un XML et XSL
    Par Jayceblaster dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 24/07/2005, 22h42
  3. Réponses: 5
    Dernier message: 16/07/2005, 00h01
  4. Comment créer un fichier texte?
    Par Crazynoss dans le forum ASP
    Réponses: 2
    Dernier message: 08/05/2005, 19h53
  5. Comment écrire un fichier texte au format MS-DOS ?
    Par fredfred dans le forum Langage
    Réponses: 9
    Dernier message: 20/01/2005, 09h00

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