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

EDI Delphi Discussion :

Caractères bizarres après nouvelle compilation d'un projet


Sujet :

EDI Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 439
    Points : 161
    Points
    161
    Par défaut Caractères bizarres après nouvelle compilation d'un projet
    Bonjour,

    J'ai recompilé un projet D10.2 / W10 qui fonctionnait parfaitement jusqu'ici après un très petite modification.
    Depuis, des caractères bizarres sont apparu:
    Un losange noir contenant un point d'interrogation à la place du caractère tm (TradeMark)
    Un Losange noir à la place du signe ° degré.

    Nom : Capture d’écran 2024-03-07 100203.jpg
Affichages : 155
Taille : 50,2 KoNom : Capture d’écran 2024-03-07 100313.jpg
Affichages : 150
Taille : 58,6 Ko

    Quelle peut être à votre avis l'origine de ce changement?

    Cordialement

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Tu n'aurais pas flingué la DFM ou le PAS, vérifie le BOM de ce dernier.

    Tu n'utilises pas par erreur des fonctions ANSI ?
    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

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 439
    Points : 161
    Points
    161
    Par défaut
    Merci, je vais surement passer pour un neuneu, mais où puis trouver ce BOM?

    Cordialement

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Moi, je dirais qu'il y a aussi une différence de version de windows l'écran haut me semble windows 11, l'autre ante windows 11. Ce qui me fait écrire ça, les coins arrondis.
    De là à ce qu'une police de caractère soit manquante sur le deuxième poste ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Les coins arrondies, cela se désactive en jouant sur DwmSetWindowAttribute DWMWA_WINDOW_CORNER_PREFERENCE

    Mais si c'est le même Windows, on pourrait aussi à une altération du Manifest faisant tourner l'application sur une version différente des controles windows.
    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

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 439
    Points : 161
    Points
    161
    Par défaut
    Les deux ont été réalisés avec W10 et D10.2.

    Je viens de m'apercevoir que sur l'IDE, les petites flèches de recherche d'unité et de fonctions/procédures étaient remplacées par des 6. (???)

    Nom : Capture d’écran 2024-03-08 104145.jpg
Affichages : 109
Taille : 16,9 Ko

    Pouvez vous me dire où je peux trouver ce BOM?

    Merci

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Le BOM c'est le style d'encodage d'un fichier en UTF8. Tu peux vérifier en ouvrant tes fichiers .pas et .dfm en les ouvrant avec NotePad++.
    Je ne me souviens plus si la version 10.2 permettait de changer l'encodage directement via l'IDE cela étant après vérifications la 10.3 ne le proposait pas encore.
    Il a fallu attendre la 11.x (je n'ai que la dernière version de la 11 donc difficile de contôler) pour avoir l'option d'encodage de fichier
    Nom : Capture.PNG
Affichages : 109
Taille : 4,1 Ko
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  8. #8
    Membre éprouvé
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 420
    Points : 1 102
    Points
    1 102
    Par défaut
    Bonjour,
    Citation Envoyé par SergioMaster Voir le message
    Le BOM c'est le style d'encodage d'un fichier en UTF8.
    Pas vraiment d'accord. Le BOM c'est le Byte Order Mark qui permet de marquer en UTF16 si on est en gros boutien ou petit boutien WIKIPEDIA
    Et de plus en UTF8 il peut ne pas y avoir de BOM (parce que il n'ya pas d'ordre des caractères) Il n'y en a généralement pas sauf pour quelques applis...

    Cordialement

  9. #9
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    le BOM existe en UTF8, c'est EF BB BF le lien entre Little Endian ou pas c'est pour les Charset à multiple de 2 octets, UTF8 est un charset à composante sur un octet
    C'est justement le BOM dans le cadre d'une utilisation de l'encodage du charset et non l'indicateur d'architecture proc.
    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

  10. #10
    Membre éprouvé
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 420
    Points : 1 102
    Points
    1 102
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    le BOM existe en UTF8, c'est EF BB BF .
    Je n'ai jamais dit le contraire mais que c'était très peu utilisé car quasiment inutile (sauf pour marquer un encodage UTF8 mais alors on va perdre l'avantage de l'UTF8 qui est la correspondance directe avec ASCII).

  11. #11
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par acaumes Voir le message
    Pas vraiment d'accord.
    Cela m'apprendra à essayer de simplifier ça
    Nom : Capture.PNG
Affichages : 94
Taille : 78,7 Ko
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 439
    Points : 161
    Points
    161
    Par défaut
    Il semble que des caractères aient changé depuis la compilation précédente dans le code.
    Le ° ainsi que l'accent grave sont remplacés par ďż˝

    Que s'est il passé à votre avis?

  13. #13
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 288
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 288
    Points : 1 936
    Points
    1 936
    Par défaut
    Un changement d'encodage entre le fichier et sa façon de le lire. Une fois que l'on a enregistré le fichier mal lu, il n'est pas possible de revenir en arrière de façon automatique.

    Si tu n'as pas de serveur de code source ou de sauvegarde de tes sources, peut-être que tu as accès à l'historique des modifications dans delphi? (là je n'ai qu'un XE3 sous la main)
    Cela te permettra de savoir ce qui a changé.

    Peut-être un outil tiers.
    Delphi 7/XE2/XE3
    C#
    Oracle 9i à 12c
    SQL Server 2008 à 2014

  14. #14
    Membre extrêmement actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2017
    Messages
    1 791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 1 791
    Points : 5 756
    Points
    5 756
    Par défaut
    c'est simplement un problème de fonte et de character set!

    Ce n'est pas un problème d'encodage puisque la plupart des caractères sont visibles et inchangés. Seuls quelques caractères spéciaux ne sont plus affichés correctement.

    1. La fonte choisie pour le projet Delphi dépend des fontes installées sur le PC utilisé.

    2. Si on n'intègre pas la fonte choisie comme une ressource du projet (et la plupart du temps, vous ne pouvez pas le faire pour des problèmes de droit d'auteur violé), la fonte à utiliser est indiquée dans le programme Delphi mais à l'exécution le programme va la chercher sur le poste où l'application tourne et si il ne trouve pas la fonte indiquée, il va prendre une fonte par défaut (du genre Arial).

    3. Ce fonctionnement apparait de manière plus évidente si vous faites une application Android qui est un OS qui ne dispose que d'une fonte, la fonte de Google roboto. Vous faites votre app, vous mettez par exemple du texte que vous affichez dans un Tlabel et quand vous faites fonctionner l'app sur votre appareil Android, suuuurprise! La fonte que vous avez utilisé lors du développement (vous pouvez choisir n'importe quelle fonte qui se trouve sur le PC (Fontes qui ont pu être installées sans que vous vous en rendiez compte lors de l'installation d'un logiciel tiers)) s'est transformée en fonte Roboto... Ce n'est pas un problème pour les caractères les plus évident du style a...z ou A...Z mais dès que vous affichez un caractère spécial vous tombez dans la zone ASCII qui est souvent différente d'une fonte à l'autre.

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/04/2008, 18h50
  2. [Kylix] Compilation d'un projet C++
    Par rahimk dans le forum EDI
    Réponses: 2
    Dernier message: 17/11/2005, 09h31
  3. [Exécutable]Compilation d'un projet en executable
    Par romano21 dans le forum Général Java
    Réponses: 5
    Dernier message: 26/10/2005, 10h42
  4. Modifier le code après la compilation, c'est possible?
    Par marcus333 dans le forum Langage
    Réponses: 1
    Dernier message: 12/09/2005, 09h52
  5. Compilation d'un projet récupéré
    Par mathieu dans le forum Autres éditeurs
    Réponses: 6
    Dernier message: 28/07/2004, 15h45

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