Pages traduites Pages à traduire Pages en cours de traduction
A propos
 

Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

migrer_vers_ags_2.71 07/10/2012 16:20 version actuelle
Ligne 1: Ligne 1:
 +[[ags|{{:contents.gif}}]] [[scripting|{{:up.gif}}]] [[migrer_vers_ags_2.7|{{:back.gif}}]] [[pointeurs|{{:forward.gif}}]]
 +----
 +====Migrer vers AGS 2.71====
 +AGS 2.71 ajoute un support simple des chaînes de caractères dans le langage de script. Les chaînes ont longtemps
 +été pénibles à utiliser dans AGS, mais ce problème est finalement résolu avec la version 2.71.\\ \\
 +Il existe un nouveau type String (avec un '//S//' majuscule). Ces nouvelles chaînes se comportent comme
 +les chaînes en Java/C# en cela que vous pouvez facilement les manipuler et leur donner des valeurs.\\ \\
 +Par exemple, dans les versions 2.7 et précédentes, vous deviez faire comme cela :
 + 
 +  string texte;
 +  StrCopy(texte, "Voici mon texte");
 +avec la version 2.71, vous pouvez maintenant faire :
 + 
 +  String texte = "Voici mon texte";
 +
 +De plus, les opérateurs == et != peuvent être utilisés pour comparer l'égalité des chaînes
 +(équivaut à utiliser StrComp mais bien plus intuitif). Un intérêt supplémentaire est qu'il n'est
 +plus nécessaire d'utiliser GetText() et SetText() -- à la place, vous pouvez simplement utiliser la propriété Text.\\ \\
 +Toutes les anciennes fonctions qui prenaient un paramètre "tampon de chaîne" ("//string buffer//") ont désormais
 +été remplacées par de nouvelles qui retournent une chaîne. Les propriétés des chaînes peuvent
 +s'utiliser comme n'importe quelle propriété. Ainsi :
 + 
 +  lblLabel.Text = "Salut";
 +  String buttonValue = btnOK.Text;
 +
 +ou autre.\\ \\
 + ** NOTE : **  Certaines des nouvelles fonctions ont été implémentées dans les objets Game -- par exemple,
 +la nouvelle fonction GameSaveSlotDescription doit être appelée ainsi :
 +
 +  String description = Game.GetSaveSlotDescription(10);
 +
 +Ceci fait partie d'une migration générale vers des fonctions orientées objet, mais méfiez vous
 +des confusions possibles. Le manuel vous renseignera sur les fonctions qui le requièrent.\\ \\
 +Plutôt qu'utiliser les vieilles fonctions comme StrCat et StrContains, vous pouvez maintenant appeler
 +les fonctions directement sur les chaînes :
 + 
 +  String texte = "Salut";
 +  texte = texte.Append(" tout le monde");
 +
 +signifie que  // texte //  contient désormais "Salut tout le monde".
 +
 +Notez ** texte = ** dans cette expression. Les fonctions comme Append retourneront une version modifiée
 +de la chaîne, elles ne changeront pas véritablement l'originale. Ainsi, pour mettre à jour la variable
 +//texte// vous devez lui assigner le résultat.\\ \\
 + ** Rétro-compatibilité ** \\ \\
 +Afin de maintenir la rétro-compatibilité, un nouveau mot-clé "const" a été ajouté. Celui-ci s'applique
 +seulement aux vieilles chaînes, et vous permet de les incorporer aux nouvelles. Le nouveau type de chaînes (//**S**tring//)
 +peut être passé aux fonctions qui attendent une ancienne chaîne constante ("//const string//") (ce qui signifie
 +qu'il ne sera pas permis de changer le contenu de la chaîne), mais ne peuvent pas être passées à une fonction
 +qui attend une chaîne (//**s**tring//) simple (puisque son contenu peut être modifié par la fonction).\\ \\
 +Les fonctions personnelles que vous aviez définies et qui prenaient une chaîne comme paramètres ne fonctionneront
 +donc peut-être plus. Si c'est le cas, changez l'ancien paramètre "string" pour "const string" et le problème
 +devrait être résolu.\\ \\
 +Toutes mes excuses pour le désagrément, mais c'est le seul moyen de permettre aux nouvelles chaînes
 +d'interagir sans soucis avec les anciennes.
 +
 +{{tag>français}}
 
migrer_vers_ags_2.71.txt · Dernière modification: 07/10/2012 16:20 (édition externe)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki