quel est le role de la fonction ord()
quel est le role de la fonction ord()
Ord c'est dans un cas particulier l'inverse de Chr ...
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
Si tu lis l'aide en ligne de Delphi ...
Autrement dit, cela reverra la position dans une liste ordonnée.Renvoie la valeur ordinale d'une expression de type ordinal.
Bon, c'est pas plus clair. Un exemple peut être?
Exemple 1
un type énuméré:
Affichera 1, car Ord(UnType) retourne l'index de la valeur du type (mtInfo2 = 1)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 TMonType = (mtInfo1, mtInfo2, mtInfo3); var UnType : TMonType; begin ... UnType := mtInfo2; ... ShowMessage(IntToStr(Ord(UnType)));
Exemple 2
Peut être plus utile....
Le type 'char' est aussi un type ordinal. Donc Ord('a') te retournera son ordonnancement dans la table ASCII. Son code ASCII quoi.
C'est inverse de 'chr' cité plus haut. Chr(97) retournera 'a'.
Si tu veux afficher un a, tu pourrais écrire : ShowMessage(Chr(Ord('a')));
-
Cyril HEBUTERNE
Ord retourne aussi l'entier correspondant a un element d'un enum. Par exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part Ord(psSolid)
Effectivement, Ord sert surtout pour les Enumérations, je l'utilise pour convertir une valeur Enuméré en chaine
Il est vrai que l'aide n'est pas clair, mais l'exemple fourni l'est ! on oubli souvent les exemples de l'aide ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part ShowMessage(GetEnumName(TypeInfo(TAnchorKind), Ord(akLeft)));
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 uses Dialogs; type Colors = (ROUGE,BLEU,VERT); var S: string; begin S := 'BLEU a une valeur ordinale ' + IntToStr(Ord(BLUE)) + #10#10; S := S + 'Le code ASCII de "c" est ' + IntToStr(Ord('c')) + ' décimal'; MessageDlg(S, mtInformation, [mbOk], 0, mbOK); end;
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager