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 :

[0.9.28.2/Win XP] TStringGrid et UTF-8 <-> ANSI


Sujet :

Lazarus Pascal

  1. #1
    Membre régulier Avatar de danucc
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Novembre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 69
    Points : 124
    Points
    124
    Par défaut [0.9.28.2/Win XP] TStringGrid et UTF-8 <-> ANSI
    Bonjour à tous,

    J'utilise la 0.9.28.2. sous Windows XP, car dans ce cas, mon client n'utilise que Windows.

    Quand j'exécute la méthode SaveToFile du TStringGrid pour sauver les données en .xtml, tout se passe bien tant que je n'ai pas de caractères accentués dans le nom de fichier.

    Par contre s'il y à, par exemple, un 'é' dans le nom du fichier, le fichier enregistré apparait avec 2 caractères à la place du 'é' et si on essaye de le relire par LoadFromFile il ne trouve pas le fichier.

    Connaissez vous une façon de contourner ce problème ?
    Comment peut-on forcer le programme à travailler en ANSI sous Windows ?

    D'avance, merci de vos lumières.

    Danilo Uccelli

  2. #2
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Bonjour,

    Le fichier que tu génères est dans le jeu de caractères UTF-8 parce que Lazarus utilise ce jeu de caractères par défaut.

    Tu dis "si on essaye de le relire par LoadFromFile il ne trouve pas le fichier".

    S'il n'est pas trouvé, cela n'a rien à voir avec le jeu de caractères UTF-8 ou autre. Au pire le fichier sera mal affiché mais il doit être trouvé. Vérifie que tu passe le bon chemin d'accès au fichier....

    On peut t'expliquer comment générer un autre jeu de caractère, mais à première vue ce n'est pas la solution à ton problème. Ce ne serait utile que si tu trouvais et relisais le fichier dans un (vieux) programme incapable de traiter le jeu de caractères UTF-8. Est-vraiment le cas ?

    Cordialement,
    Tintinux
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

  3. #3
    Membre régulier Avatar de danucc
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Novembre 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2008
    Messages : 69
    Points : 124
    Points
    124
    Par défaut
    Merci pour la réponse, mais ce n'est pas le contenu du fichier qui pose problème c'est le nom de fichier lui même.

    Quand on sauve le fichier, dans la boîte de dialogue on tape "Démo" puis OK, on se retrouve dans Windows (quelque soit la version) avec un fichier qui s'appèle "Démo.xml".
    Si on essaye de le relire on clique sur "Démo.xml", puis OK, je passe ce string à LoadFromFile et il dit que le fichier n'existe pas.
    Voilà...

    Je vais essayer de creuser avec un exemple simple et je reviendrai sur le fil.

    J'ai pensé naïvement que le problème était connu et ça m'aurais évité de chercher...

    Danilo

  4. #4
    Membre régulier

    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 32
    Points : 95
    Points
    95
    Par défaut
    Bonjour,

    Un "UTF8ToAnsi(nom_du_fichier)" n'améliore rien ?

  5. #5
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2010
    Messages : 469
    Points : 1 100
    Points
    1 100
    Par défaut
    Bonjour,

    Est-ce que les disques sur lesquels tu enregistres ton fichier ne sont pas amovibles et formatés en FAT16 ? Ce dernier ne stocke pas les noms de fichiers en Unicode, contrairement à tous les systèmes plus récents.

    Tu peux sans doute te dépanner en suivant le conseil de Chin Tao, mais essaie de vérifier ce qui se passe sur un disque formaté dans un système de fichiers plus récent (VFAT, NTFS etc...) et dis le nous. La réponse m'intéresse !

    Cordialement,
    Tintinux
    Cordialement,
    Tintinux

    Initiateur de Gestinux, une comptabilité gestion open-source, pour Linux, Windows et Mac OS.
    Une version stable et une autre en développement, avec Lazarus : vous pouvez aider à la tester, la traduire et à la développer.

Discussions similaires

  1. [Lazarus] TStringGrid.SaveToFile UTF-8 / ANSI
    Par dumezt dans le forum Lazarus
    Réponses: 4
    Dernier message: 01/02/2014, 11h56
  2. Quel outil pour du développement Client/Serveur (Win XP) ?
    Par jey_bonnet dans le forum Débats sur le développement - Le Best Of
    Réponses: 5
    Dernier message: 02/11/2002, 14h57
  3. Réseau Win/Linux
    Par ben91 dans le forum Développement
    Réponses: 2
    Dernier message: 08/09/2002, 22h59
  4. Comment imprimer le contenu d'un TStringGrid
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 19/06/2002, 15h41
  5. webcam : lire sur un port usb en c/c++ ou java. sous win. ?
    Par flo007 dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 24/05/2002, 23h24

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