Afficher un message
  #1 (permalink)  
Vieux 23/12/2003, 14h18
Avatar de eRom
eRom eRom est déconnecté
Membre
 
Date d'inscription: December 2003
Localisation: Fance
Messages: 41
[TUTO MX] Classe System

Bonjour à tous

Aujoud'hui ce n'est pas réellement un tuto, mais plutot une étude de la classe System de notre ami Flash.
Disponible depuis la version 6 (Mx), cette classe nous donne, entre autre, des infos sur le poste client (machine où s'exécute notre animation).

Dans ce post, je vais m'interresser à l'objet capabilities de la Classe.

Pourquoi cet objet
L'objet capabilities va nous permettre de connaitre la configuration de quelques périphériques de la machine, sa résolution, sa capacité à traiter l'audio, la vidéo.
Même si dans la majeure partie des cas (animation) la configuration "cliente" ne nous interesse pas , il peut s'avérer très pratique de la connaitre dans le cadre d'application un peu plus complexe, gérant l'imprimante ou le micro par exemple.
De plus, il peut nous permettre de connaitre la version du lecteur Flash installé sur la machine, ce qui peut être pratique.

Un exemple complet vaut toujours mieux que de long discours, alors voilà un listing AS qui vous donne les plus importants (enfin à mon sens) paramètres de la machine.

Exemple
ActionScript Code:
  1. /*****************************************
  2. * ETUDE DU SYSTEME CLIENT
  3. *****************************************/
  4. trace(newline+"===== Configuration des périphériques =====");
  5. trace("- Fonction Audio : "+((System.capabilities.hasAudio) ? "Ok" : "non"));
  6. trace("- Fonction Audio MP3 : "+((System.capabilities.hasMP3) ? "Ok" : "non"));
  7. trace("- Fonction Audio Streaming : "+((System.capabilities.hasStreamingAudio) ? "Ok" : "non"));
  8. trace("- Fonction Video : "+((System.capabilities.hasVideoEncoder) ? "Ok" : "non"));
  9. trace("- Fonction Video Streaming : "+((System.capabilities.hasStreamingVideo) ? "Ok" : "non"));
  10. trace("- Fonction Accessibilité : "+((System.capabilities.hasAccessibility) ? "Ok" : "non"));
  11. trace("- Fonction Impression : "+((System.capabilities.hasPrinting) ? "Ok" : "non"));
  12. trace("- Fonction WebCam & Micro : "+((System.capabilities.avHardwareDisable) ? "Ok" : "non"));
  13.  
  14. trace(newline+"===== Configuration système =====");
  15. trace("- Système d'exploitation : "+System.capabilities.os);
  16. trace("- Langage utilisé : "+System.capabilities.language);
  17. trace("- Résolution pixel : "+System.capabilities.screenResolutionX+"x"+System.capabilities.screenResolutionY+" pixels");
  18. trace("- Résolution dpi : " +System.capabilities.screenDPI+" DPI");
  19. trace("- Type écran : "+System.capabilities.screenColor);
  20.  
  21. trace(newline+"===== Configuration FlashPlayer =====");
  22. chaineVersion = System.capabilities.version.split(",");
  23. chainePlateforme = chaineVersion[0].substr(0,chaineVersion.length -1);
  24. chaineMajeure = chaineVersion[0].substr(chaineVersion.length -1);
  25. chaineMineure = chaineVersion[2];
  26. trace("- Version Os : " +  chainePlateforme);
  27. trace("- Version majeure = " + chaineMajeure);
  28. trace("- Version mineure = " + chaineMineure);

Complément
La classe System possède aussi une méthode assez pratique quand on travaille avec du texte dans nos application.
Cette méthode se nomme : setClipboard(string)
Cette méthode permet de mettre une chainede caractère dans le presse papier.
C'est tout bête, mais ça peut-être très pratique...
ActionScript Code:
  1. System.setClipboard("Dans le presse papier");

Au niveau configuration de la Webcam, Micro, Fichier temporaires, un click droit sur votre Flash (menu "Setting") permet d'afficher le panneau de configuration de ces éléments.
On peut forcer (après un test avec capabilities par exemple), l'affichage d'un panneau de configuration.
Méthode : showSettings([panel])
[panel]peut prendre les valeurs suivantes :
1 : Fichiers temporaires
2 : Microphone
3 : Webcam
ActionScript Code:
  1. System.showSettings(3)


Voilà pour la petite description de cette classe System qui peut quelques fois rendre bien des services.

@+ et bon code à tous.
__________________
<- Pourquoi est la seule et vraie question ->
Réponse avec citation