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 :

Je ne comprends pas les types char et string avec Android


Sujet :

Delphi

  1. #1
    Membre averti Avatar de franckcl
    Homme Profil pro
    Developpeur Delphi
    Inscrit en
    Septembre 2004
    Messages
    516
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developpeur Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 516
    Points : 443
    Points
    443
    Par défaut Je ne comprends pas les types char et string avec Android
    Bonjour,

    Voici ce code très simple:

    Sh := char(14); // Sh étant du type String
    b := byte(Sh[1]);

    Sous Windows, en debug,
    - Sh contient bien #$0E
    - b contient bien 14

    Sous Android,
    - Sh contient #016 !!!
    - b contient 0 !!!

    Je ne comprends pas cette différence, qui peut m'expliquer ce problème de migration que j'observe.

    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 393
    Points : 637
    Points
    637
    Par défaut
    par défaut dans les versions mobiles les chaines commencent à l'index 0 et non pas 1 comme traditionnellement

    fais comme tous le monde rajoute {$ZEROBASEDSTRINGS OFF} en début d'unité pour avoir un vrai comportement pascalien !

  3. #3
    Membre averti Avatar de franckcl
    Homme Profil pro
    Developpeur Delphi
    Inscrit en
    Septembre 2004
    Messages
    516
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developpeur Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 516
    Points : 443
    Points
    443
    Par défaut
    Merci exoseven,

    Bien vu, tu as mis le doigt dessus !
    Effectivement cela règle tous mes problèmes.

    Une question en découle, comment définir cette directive afin qu'elle soit automatiquement prise en compte dans toutes les unités ?

    J'ai essayé de rajouter cela dans Projet / Options / Definitions conditionnelles mais cela ne fonctionne pas, il n'en tient pas compte.

    Merci
    Franck

  4. #4
    Membre averti Avatar de franckcl
    Homme Profil pro
    Developpeur Delphi
    Inscrit en
    Septembre 2004
    Messages
    516
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Developpeur Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 516
    Points : 443
    Points
    443
    Par défaut
    On oublie ce que je viens de dire...

    Je viens de lire dans l'aide cette phrase:
    "Ne définissez pas {$ZEROBASEDSTRINGS} dans du code mobile plus grand qu'un extrait de code. Les résultats seront imprévisibles pour une application ou un module entier pour les plates-formes mobiles. "

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

Discussions similaires

  1. [SQL 2000]Where in qui ne comprend pas les listes
    Par zooffy dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 02/05/2007, 16h36
  2. Encore msvcr80.dll je ne comprend pas les FAQ
    Par bigbernie dans le forum Visual C++
    Réponses: 22
    Dernier message: 28/03/2007, 05h59
  3. [Migration BDE en ADO][SQLServer] Problème avec les types char
    Par pitango dans le forum Bases de données
    Réponses: 3
    Dernier message: 15/03/2007, 17h17
  4. je comprend pas les reference
    Par killer_instinct dans le forum C++
    Réponses: 13
    Dernier message: 08/12/2006, 18h49
  5. je ne comprends pas les message d'erreur g++
    Par emmesse dans le forum Autres éditeurs
    Réponses: 8
    Dernier message: 22/09/2006, 16h52

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