Utilisation de la classe System

Flash Player 9 et les versions ultérieures, Adobe AIR 1.0 et les versions ultérieures

La classe System contient des méthodes et propriétés qui permettent d’interagir avec le système d’exploitation de l’utilisateur et de récupérer l’utilisation mémoire actuelle du moteur d’exécution. Les méthodes et propriétés de la classe System permettent aussi d’écouter les événements imeComposition , d’indiquer au moteur d’exécution de charger des fichiers texte externes à l’aide de la page de code active de l’utilisateur ou d’Unicode, ou de définir le contenu du Presse-papiers de l’utilisateur.

Obtention de données sur le système de l’utilisateur pendant l’exécution

En vérifiant la propriété System.totalMemory , vous pouvez déterminer la quantité de mémoire (en octets) que le moteur d’exécution utilise actuellement. Cette propriété vous permet de surveiller l’utilisation mémoire et d’optimiser vos applications en fonction de ses variations. Par exemple, si un effet visuel particulier utilise une importante quantité de mémoire, vous pouvez envisager de le modifier ou de le supprimer entièrement.

La propriété System.ime est une référence à l’IME actuellement installé. Elle vous permet d’écouter les événements imeComposition ( flash.events.IMEEvent.IME_COMPOSITION ) à l’aide de la méthode addEventListener() .

La troisième propriété dans la classe System est useCodePage . Si useCodePage est défini sur true , le moteur d’exécution utilise la page de code classique du système d’exploitation pour charger les fichiers texte externes. Si vous lui attribuez la valeur false , vous indiquez au moteur d’exécution d’interpréter le fichier externe au format Unicode.

Si vous définissez System.useCodePage sur true , souvenez-vous que la page de code classique du système d’exploitation doit inclure les caractères utilisés dans votre fichier texte externe afin d’afficher le texte. Par exemple, si vous chargez un fichier texte externe contenant des caractères chinois, ceux-ci ne peuvent s’afficher sur un système qui utilise la page de code anglaise de Windows car elle ne comprend pas les caractères chinois.

Pour que les utilisateurs puissent afficher les fichiers texte externes utilisés dans l’application, quelle que soit la plate-forme, vous devez coder tous les fichiers texte externes en Unicode et conserver la valeur par défaut false de la propriété System.useCodePage . Le moteur d’exécution interprète ainsi le texte au format Unicode.

Enregistrement du texte dans le Presse-papiers

La classe System inclut une méthode appelée setClipboard() qui permet au moteur d’exécution Flash de placer une chaîne spécifique dans le Presse-papiers de l’utilisateur. Pour des raisons de sécurité, il n’existe pas de méthode Security.getClipboard() car elle donnerait la possibilité d’accéder aux dernières données copiées dans le Presse-papiers de l’utilisateur.

Le code suivant illustre comment un message d’erreur peut être copié dans le Presse-papiers de l’utilisateur lorsqu’une erreur de sécurité survient. Le message d’erreur permettra à l’utilisateur de signaler un bogue potentiel dans une application.

private function securityErrorHandler(event:SecurityErrorEvent):void 
{ 
    var errorString:String = "[" + event.type + "] " + event.text; 
    trace(errorString); 
    System.setClipboard(errorString); 
}

Flash Player 10 et AIR 1.0

La classe Clipboard permet de lire et d’écrire les données du Presse-papiers en réponse à un événement utilisateur. Dans AIR, un événement utilisateur est superflu si le code s’exécute dans le sandbox de l’application pour accéder au Presse-papiers.