Pages

3 juin 2011

Histoire d'Héritage

script pomme
property couleur : "ROUGE"
on afficherCouleur()
display alert "Script pomme" message "Cette pomme est " & couleur buttons {"OK"} default button 1
display alert "Script pomme" message "Cette pomme est " & couleur of me buttons {"OK"} default button 1
end afficherCouleur
end script

script banane
property parent : pomme
property couleur : "JAUNE"
on afficherCouleur()
display alert "Script banane" message "Cette banane est " & couleur buttons {"OK"} default button 1
continue afficherCouleur()
end afficherCouleur
end script

script poire
property parent : banane
property couleur : "VERTE"
end script

tell pomme to afficherCouleur()
--  affiche sa propriété : "Cette pomme est ROUGE"
--  affiche sa propriété : "Cette pomme est ROUGE"
tell banane to afficherCouleur()
--  affiche sa propriété : "Cette banane est JAUNE"
--  puis transmet au parent qui affiche sa propriété  : "Cette pomme est ROUGE"
--  et  affiche la propriété du fils : "Cette pomme est JAUNE"
tell poire to afficherCouleur()
--  transmet au parent qui affiche sa propriété  : "Cette banane est JAUNE"
--  qui transmet au grand-parent qui affiche sa propriété : "Cette pomme est ROUGE"
--  et  affiche la propriété du petit-fils : "Cette pomme est VERTE"

>> Ouvrir le script dans l'éditeur

3 mai 2011

AppleScript et Revolution

Pour executer du code AppleScript dans une pile Revolution, utiliser la commande "do as applescript".


on mouseUp
  do ("choose folder") as applescript
end mouseUp

Si la commande est complexe la stocker dans un champ caché ou dans une custom property (dans les exemples suivants le code Applescript est stocké dans la custom property du bouton) puis l'exécuter comme précédemment.


on mouseUp
  put the myCustomProperty of me into AScode
  -- ou en utilisant un champ caché :
  -- put field "myField" into AScode
  do AScode as applescript
end mouseUp

Si la commande contient des paramètres utiliser la commande "replace with in"


display dialog "##param##"


on mouseUp
  put the myCustomProperty of me into AScode
  replace "##param##" with "Hello World" in AScode
  do AScode as applescript
end mouseUp

Homesickness



"I still believe that HyperCard is the best program ever written"
Steve Wozniak (Juin 2001)

17 janv. 2010

Oldies

Quelques routines vanilla écrites il y a une dizaine d'années. Une routine vanilla utilise le vocabulaire standard d'un langage de script sans ajout externe. L'expression viendrait des USA où les glaces sont parfumées à la vanille par défaut. Les scripts présentés ne sont pas nécessairement compliqués mais sont les premières pièces d'un jeu de construction en réponse au message de Bill Atkinson, le créateur d'HyperCard : “ Scripts are like haïkus. ”
>> Lire la suite...