LiveCodeClips scripts version 2.20
La pile LiveCodeClips.rev contient un certain nombre de scripts multi-plateformes permettant de réaliser des piles fonctionnant dans tous les environnements systèmes. Il y a aussi des astuces LiveCode mises en exemple. Libre à vous de vous de fouiner dedans et de vous en inspirer pour vos propres réalisations !
Adresses du texte d'un mailAidesaisie noms et ruesAlertprompt 2.0Analyse d'une erreur RevolutionBarre d'avancementCalendariconCalendrierCancelPending suppression message en attenteChronomètreClonage répertoiresColornamesContenu ClipboarddataConversion texteditConvertir au format LegacyDatesDragdataDécoder un fichierExemples AppleScript avec LiveCodeFichier tri par itemFichiersfonctions stacksGroupe Plus-MoinsHypercardIcones des boîtes de dialogueJet de déKeydown sur un champs listeLaunchLecture Colors StylesLecture de ResourcesLibimage AScriptLibLibimage BackupstackLibimage CustomslibLibimage ImagesToolsLibimage LCDownloadlibLibimage Revo2HTMLLibimage XPlatformLimiter les lignes saisies dans un champsLineoffset en sérieLire plist MacintoshMail Apple export en HTMLmakeExcelMise à jour LibimagesPile ChooseListPile pour importer une imagePile pour transfertsPréférences d'une pile XPStackPrefs()RawkeyupRecherche SpotlightRedimensionner les colonnes d'un champsSendAppleMailStackRipperSéparateur de champsTableau triéTitleWidth d'un boutonTri des boutons d'un groupeVisual EffectVérifier connection à InternetWhatclickedXpask/ Xpanswerfile (with type)XPdefaultbrowserCorrection accents fichiers UbuntuXPFileList parambuilderXpfolderpath()XPGetMetas lecture metas d'une pageZipper sans Resource Fork
Les « Libimages » de LiveCodeClips
J'ai regroupé - au sein d'images prêtes à copier-coller - des ensembles de scripts servant souvent comme : déterminer l'environnement technique, accéder aux réglages système, manipuler des images, etc. Tout ceci se fait habituellement avec une pile spécialisée qu'il n'y a plus qu'à mettre « in use » ; l'inconvénient de ceci est que si l'on veut diffuser une pile, il faut le faire en incluant l'autre pile.
Je voulais une sorte de plugin Livecode constitué d'un objet unique et qui puisse se placer dans n'importe quelle pile autonome. Et j'ai pensé à une image pour que l'objet ait une icone.
J'ai donc pompeusement baptisé « Libimage » des images contenant les scripts et les custom properties nécessaires à leur bon fonctionnement.
Elles fonctionnent en "backscripts", c'est à dire qu'elles interprètent les messages après tous les objets de la pile, à comme une "stack in use".
Installer une Libimage dans une pile
Il est conseillé de les coller dans un groupe que l'on rendra invisible et ensuite de mettre à l'endroit approprié le script d'insertion (et de retrait) des backscripts. Ceci se fait au moyen du bouton « scripts d'insertion » :
Un dialogue permet de choisir le message qui activera la Libimage (preOpenStack, preOpenCard...) et celui qui la retirera des backscripts.
Exemple de script généré :
on preOpenBackground
insert the script of image "XPlatform" into back
end preOpenBackground
on CloseCard
remove the script of image "XPlatform" from back
end CloseCard
Mise à jour d'une Libimage
Un outil permet de vérifier les Libimages installées dans vos piles et de les remplacer par une version plus récente dans LiveCodeClips sans être obligé de la réinstaller.
Les cartes de LiveCodeClips
Permet d'accéder à la présente aide en ligne, ainsi que vérifier la disponibilité d'une nouvelle version. | |
Permet de tester le script de la carte. | |
Permet d'installer les éléments présents sur la carte. |
Adresses du texte d'un mail
Récupère les adresses mail et les noms contenus dans le texte d'un message.
Enregistrez votre message au format texte et glissez le fichier obtenu sur la dragzone métallisée.
Vous pouvez également copier une portion du texte du message et cliquer la dragzone.
Les adresses mail sont récupérées sous la forme d'une liste <nom, adresse mail> séparée par des tabulations et des retours ligne.
Aidesaisie noms et rues
Ce script présent dans la Libimage XPlatfForm permet de placer en capitale l'initiale de chaque mot en tenant compte « de l'usage orthographique » français : dans un patronyme, la particule n'est pas capitalisée et dans les noms de rue, il est plus correct de ne pas capitaliser les articles. Bien utile pour un carnet d'adresses !
Syntaxe :
Aidesaisie(string,[cmode])
cmode : paramètre facultatif indiquant comment convertir le string;
- "nom" : valeur par défaut, traite un nom ou prénom ;
- "rue" ;
- "chq" : libellé d'opération bancaire.
Alertprompt 2.0
AlertPrompt est une alternative au « Answer » classique : le message est affiché pendant le délai nécessaire à la lecture du message et disparaît sans que l'utilisateur ait besoin de cliquer un bouton "OK".
Modifié pour ajouter une barre d'avancement d'un traitement de lot.
Commande ou fonction | Usage et paramètres |
---|---|
alert [typealerte],message,[dontclose] |
Affiche un message pendant le temps nécessaire à la lecture et le fait disparaître automatiquement. Syntaxe : typealerte peut être vide ou prendre les valeurs : stop, info, warning, note ou le nom d'une image de la pile (taille maxi 27 x 27px). message: message affiché dontclose : vide : le groupe se masque automatiquement. "dontclose" : le groupe reste affiché. alert "info","Message d'information" alert "stop","Message d'erreur" alert "","Pas d'icone" |
initProgress nbitems,message,[hideOK],[typealerte] |
Initialise le traitement d'un lot d'éléments en déclarant le nombre d'éléments à traiter, le message affiché pendant, l'affichage ou non d'un bouton Stop permettant de l'arrêter et l'icone qui l'illustre. Syntaxe : nbitems : nombre d'éléments à traiter. message: message affiché hideOK : visibilité du bouton stop permettant d'arrêter le traitement : "hideOK" le masque. typealerte : stop, info& ou nom d'une image. initProgress 20, "Message traitement",,"info" |
progressShow [compteur],[message] |
Affiche l'avancement du traitement pour un élément donné : barre d'avancement. Syntaxe : compteur : valeur du compteur dans la boucle. Passer ici rien (incrément automatique de 1) ou valeur de compteur. message: le changer si nécessaire. progressShow progressShow 10,"Veuillez patienter." |
GetStopRequest() |
Fonction permettant de tester si l'utilisateur a cliqué le bouton Stop pendant le traitement. Syntaxe : à invoquer dans le traitement d'un item pour quitter la boucle repeat. if GetStopRequest() then exit repeat |
CloseAlertPrompt |
Permet de fermer le message affiché. Syntaxe : Aucun paramètre, masquage du groupe. CloseAlertPrompt |
Avant de copier le groupe, déterminez sa largeur au moyen de la barre de réglages :
Copiez le script à placer au niveau des handlers de la pile principale au moyen du bouton . Le script s'appliquera à tous les groupes alertprompt des substacks de la pile.
Analyse d'une erreur Revolution
La pile "revErrorDisplay" contient le libellé correspondant aux codes d'erreur décelés par Revolution.
Ces codes ne sont pas directement interprétables et la fonction ErrorLabels() explicite leur sens.
On peut clarifier les choses en mettant ce handler dans une pile :
on errorDialog x
answer error ErrorLabels(x)
end errorDialog
Barre d'avancement
Un modèle de pile visualisant l'exécution d'un traitement.
Le bouton « stop » permet d'interrompre le traitement en cours.
Passer par the dialogdata la liste des éléments à traiter et appeler la pile en mode "palette".
on AppelPile
set the dialogdata to liste_données
palette stack [nom de la pile barre]
answer the dialogdata &"lignes traitées" -- en retour, nombre de lignes traitées
end AppelPile
Script de la pile à adapter :
on DoProcess
(…)
-- partie à personnaliser
put "Traitement "&J &"/" &maxi into fld "avance"
[traitement d'une ligne de données]
--
(…)
end DoProcess
Calendaricon
Groupes formant une icone de calendrier à la date donnée en paramètre.
La date en paramètre doit être au format « short system date » (format correspondant à l'affichage régional).
get "25/12/1995"
call "SetCalendarDate "&it to grp "[nom du groupe calendrier]"
A défaut de date, le calendrier affiche la date du jour :
call "SetCalendarDate" to grp "[nom du groupe calendrier]"
Choisissez le modèle de calendrier et cliquez sur le bouton « Installer… » pour copier le groupe.
Calendrier
Groupe permettant la saisie d'une date dans un calendrier.
Basé sur FLC calendar.rev de The Flexible Learning Company. Utilise la libimage XPLatForm pour déterminer le premier jour de la semaine afin de mettre en forme le calendrier selon l'usage dans le pays de l'utilisateur.
A l'ouverture de la carte faire :
send "SetCalendar" to grp "calendar"
La date par défaut est celle du jour. On peut également passer une date initiale en secondes :
send "SetCalendar " "e &myDate "e to grp "calendar"
Le résultat est retourné dans la globale gCalResult.Le bouton OK retourne la date choisie en secondes et le bouton Annuler retourne "cancel".
Cliquez le bouton « Installer …» pour copier le groupe dans une carte. Si le groupe doit être installé seul dans une pile, cliquer le bouton « modèle de script de pile » pour copier un template de script de pile.
CancelPending suppression message en attente
Script permettant de purger un message de la file d'attente. « the pendingmessages » contient tous les messages planifiés par une instruction du genre :
send message to object in 20
Ce script permet de les détruire si besoin.
Syntaxe :
CancelPending pMsg
pMsg : nom du message à éliminer ou "all" pour vider toute la file d'attente.
Chronomètre
Chronomètre pour mesurer la performance (temps d'exécution) d'un script.
Installer le script dans votre pile.
Faire un premier appel à Chrono en début du traitement à chronométrer
Deuxième appel à Chrono[message facultatif] en fin de traitement : affiche le temps écoulé depuis le premier appel en secondes et millièmes.
on exemple
Chrono -- premier appel
sortcds
Chrono "Tri des cartes et construction index" -- deuxième appel en fin de traitement
end exemple
Clonage répertoires
Recrée à un autre endroit l'arborescence des répertoires d'un répertoire précis, sans les fichiers qu'ils contiennent.
Colornames
Noms des couleurs de Revolution : outil affichant la valeur correspondante RGB et hexa. Cliquer sur la valeur RGB ou hexa équivalente la copie.
Contenu Clipboarddata
Permet de visualiser le contenu du Presse-Papier (clipboardData) sur toutes les clés existantes : text, html, rtf, etc.
Conversion textedit
Utilise TextEdit pour procéder aux conversions de documents d'un type vers un autre : par exemple, word vers html.
Convertir au format Legacy
Glissez sur la dragzone les piles que vous souhaitez convertir à une version antérieure.
Les piles converties sont créées dans un dossier « Legacy stacks » sur le Bureau.
Si la version de moteur LiveCode est inférieure à 3, les piles sont enregistrées au format 2.4 (MetaCard), sinon au format 2.7 (Revolution). Ne fonctionne qu'en environnement « Developpement ».
Dates
Exemples de divers formats de la date.
Cocher un format de date pour visualiser le résultat.
Dragdata
Outil de démonstration des données obtenues lors d'un drag selon le paramètre donné à dragdata.
Choisissez le type de drag et glissez sur la dragzone un fichier ou une portion de texte.
Décoder un fichier
Tente de déterminer le charset d'un fichier; s'il n'est pas trouvé, affiche une pile permettant de prévisualiser le fichier et de choisir un charset, puis propose de le convertir.
Glissez sur la Dragzone le fichier à analyser ou cliquez le bouton « Test ».
Utilise la fonction xpConvertTextfile() appartenant la Libimage XPlatForm pour déterminer l'encodage d'un fichier contenu dans la globale gdocCharset (3 items : charset,type de saut de ligne,type de fichier).
A défaut de pouvoir déterminer l'encodage, le handler affiche un modèle de pile « preview » pour demander à l'utilisateur de choisir le charset le plus proche. Une prévisualisation du fichier permet de se rendre compte si le charset choisi convient.
Propose ensuite la conversion du fichier avec les éléments trouvés ou choisis.
Cliquez le bouton « Installer… » pour installer au choix la pile Preview ou le handler de conversion du fichier.
Exemples AppleScript avec LiveCode
Exemples de scripts de la Librairie-image AScriptLib
Fichier tri par item
Script permettant de trier un fichier texte sur un item donné.
- choisissez le séparateur d'item du fichier et le rang de l'item servant de critère de tri, ainsi que le type de tri (numérique, texte, date).
- triez le fichier
- « Lister les doubles » crée un fichier des lignes en double sur la clé considérée,
- « Eliminer les doubles » crée un fichier sans double sur la clé considérée.
Cliquez le bouton « copier… » pour copier le le script de tri généré.
Fichiers
Exemple de script listant les fichiers d'un répertoire au moyen de la fonction XPFileList() de XPlatForm.
Le script explore les répertoires inclus dans le répertoire sélectionné, peut filtrer par type de fichier, faire la somme des tailles par type de fichier, etc.
fonctions stacks
Différentes fonctions permettant de recenser des piles :
- revLoadedStacks() renvoie la liste des noms courts de toutes les piles chargées.
- openStacks() renvoie la liste par le nom court de chaque pile ouverte.
- stacks() renvoie une liste des chemins de fichiers des piles ouvertes.
- topStack() permet de savoir quelle pile se trouve dans la pile actuelle.
- mainStacks() renvoie la liste par le nom court de chaque pile principale.
- substacks d'une pile donne la liste des sous piles, une par ligne.
- stacksInUse indique les piles placées dans le chemin du message par une commande start using.
Groupe Plus-Moins
Groupe de 2 boutons destinés, par exemple, à créer une nouvelle carte ou en supprimer une.
Chaque bouton possède 3 icones : normal, désactivé et contrasté.
L'outil affiche un modèle pour chaque bouton : vous pouvez modifier le nom, le label, le tooltip, ainsi que le script.
Apportez les modifications nécessaires au modèle et copiez votre groupe personnalisé avec le bouton « Installer… ». Collez-le à l'endroit désiré.
Hypercard
On peut importer une pile HyperCard dans LiveCode. La pile convertie possède une propriété "HCAddressing" qui vaut "true" et qui permet à LiveCode d'interpréter automatiquement les scripts faisant référence à des champs ou boutons de fond ou de carte.
Le script de cette carte permet de remettre la propriété à "false" (à condition d'adapter auparavant les scripts en conséquence : supprimer la référence au fond).
Icones des boîtes de dialogue
Sous Mac OSX, LiveCode gère deux icones dans les dialogues Answer, Ask et Ask password:
- une icone d'application (celle de LiveCode) dont la taille est 64x64 pixels ;
- une mini-icone d'application, dont la taille est 32x32 pixels, qui se juxtapose en bas à droite de celle qui qualifie le message (ex: answer error "Message" au lieu de answer "Message") ;
- fonctionnement plus aléatoire sous StackRunner.
On peut personnaliser ces icones en alimentant 2 variables globales :
grevAppIcon -- id de l'icone application
gREVSmallAppIcon -- id de la "small icon" de l'application qui se place en bas à droite de la grande icone :"information", "question", "error" ou "warning".
Le bouton « Installer… » fournit un modèle de script installant les icones spécifiques et restaurant les valeurs standards.
Jet de dé
Un dé à lancer : animation sur un bouton qui se déplace en changeant d'icone.
Juste pour l'exemple…
Keydown sur un champs liste
Script de prépositionnement sur la ligne commençant par les caractères tapés.
Le script positionne une puce sur la ligne choisie.
Peut être adapté pour positionner un ou plusieurs boutons de traitement de la ligne sélectionnée.
Launch
Lancer une appli ou un fichier avec une appli (ne marche pas avec un document html).
Lecture Colors Styles
Script lisant les couleurs d'une feuille de styles css pour colorier les champs avec la couleur de fond.
La feuille de style possède des sélecteurs dont le nom correspond à celui d'un champs de l'exemple. En cliquant le champs, on peut changer la couleur de fond et celle du texte.
Le bouton « Restaurer couleurs » rétablit les couleurs d'origine.
Le bouton « générer CSS » applique les changements à feuille de style et produit sur le Bureau une page HTML que l'on peut visualiser.
Exemple à transposer.
Lecture de Resources
Les fichiers Macintosh possèdent 2 branches : un datas-fork (partie données) identique à un fichier classique ASCII et un resource-fork, ou fichier de ressources, structuré en entités diverses représentant des données système : icônes, menus, strings, etc.
Cet exemple permet de lire le resource fork et de vider « en clair » certaines ressources : TEXT, STR, STR# …
Le nom court du fichier ne doit pas dépasser 31 caractères pour pouvoir être lu (contrainte du Resource Manager qui provient de l'architecture Classic, antérieure à OSX). Sous OS X, LiveCode restitue le nom des ressources sous une forme inversée (GOLD au lieu de DLOG, par exemple) : le script les restitue d'une manière correcte.
Libimage AScriptLib version 2.02
Cette librairie-image contient des fonctions pilotées par AppleScript sous MacOSX. Requiert l'installation de la Libimage XPlatform. Seul « ChangeFileDate » fonctionne aussi sous Windows et Linux.
Commande ou fonction | Usage et paramètres |
---|---|
GetFinderComment(theItem) | rend le commentaire Finder de l'élément theItem. exemple : if the platform = "macos" then put getFinderComment(theFilePath) into theComment... |
SetFinderComment theItem, Commentaire | met le commentaire Finder à l'élément theItem. theItem=path d'un fichier ou dossier. |
GetFinderLabel(theItem) | rend l'étiquette Finder de l'élément theItem |
SetFinderLabel theItem, thelabel | met l'étiquette Finder thelabel (0 à 7) à l'élément theItem. |
GetkMDItemDescription(theItem) | rend la description de l'élément. |
GetFromWhere(theItem) | rend l'URL de téléchargement de l'élément. |
ChangeFileDate theItem, adate | change la date de l'élément (fonctionne sous MacOSX, Windows, Linux). La date en entrée est exprimée en secondes. exemple : case "decalage" -- décalage dates de modification add decal to dmodif ChangeFileDate theFilePath,dmodif break |
getFileCreator(theItem) | rend le créateur de l'élément. |
GetFolderSize(theItem) | rend la taille totale des fichiers contenus par l'élément theItem en octets. |
SendAppleMail pagecontent, maildestinataire, nomdestinataire, sujet, mailsender, PJpath | Crée un message dans AppleMail.
|
getDefAppfromFileOSX(theItem) | rend l'application par défaut pour ouvrir l'élément. |
AfficheFinderWindow titre | Met au premier plan la fenêtre Finder désignée par le titre. |
desktopIconsize() | Rend la taille des icones du Bureau en pixels. |
DesktopPosition(theItem) | Rend la position de l'icone de l'élément theItem sur le Bureau. |
FinderOpenWindows() | Liste le nom et la position de chaque fenêtre ouverte dans le Finder. |
ReadDeskTopBG() | Rend la couleur du bureau, l'image qui le décore et le délai de changement de cette image. |
GUIScriptingWasEnabled() | Rend l'état (true ou false) d'activation de l’accès pour les périphériques d’aide. |
openAccessPanel | Ouvre le panel « Accès universel » des Préférences Système. |
isFinderbusy() | Indique si le Finder exécute une tâche de copie de fichiers. |
HideItem [type] | Masque un élément fichier ou dossier. type facultatif; si "folder", permet de sélectionner un dossier, sinon un fichier. the result retourne "cancel" si aucun élément n'a été sélectionné, sinon le path de l'élément choisi. |
ShowItem [type] | Rend visible un élément masqué. type facultatif; si "folder", permet de sélectionner un dossier, sinon un fichier. the result retourne "cancel" si aucun élément n'a été sélectionné, sinon le path de l'élément choisi. |
Move2Trash theItem | Met l'élément theItem dans la Corbeille. exemple :
Move2Trash theFilePath |
BatteryState() | Indique si l'ordinateur est branché sur le secteur. |
exportFolderIcon(theItem) | Crée sur le Bureau une image foldericon.png à partir de l'icone du dossier spécifié. |
Coupdoeil(theItem) | Donne un aperçu d'un fichier texte désigné par son path. |
ExportModule application, destinationpath, MenuStart, MenuEnd | Déclenche l'export des données iCal et AddressBook application : iCal ou AddressBook ; destinationpath : emplacement où l'archive est exportée ; MenuStart et MenuEnd : fourchette de rubriques du menu Fichier dans laquelle se trouve le sous-menu Exporter. Exemple : ExportModule "AddressBook",Lmyfolder,10,13 |
getVolumeInfos(volName) | Restitue les caractéristiques diskutils d'un volume dans un array : monté ou non, verrouillé ou non, format, protocole d'accès, etc. |
DiskWriteable(folderpath) | indique si le volume sur lequel se trouve le folder folderpath est verrouillé en écriture. |
macosSUD() | nom du disque de démarrage. |
ejectDisk(volname) | Démonte le volume spécifié. |
debugAppleScript | Crée un script AppleScript (ou un fichier texte) sur le bureau à partir du dernier appel effectué (dump du script généré). |
Libimage Backupstack version 1.69
Libimage de sauvegarde d'une pile, qui exporte dans un fichier les données de chaque carte et permet de les réimporter dans une nouvelle version de la pile. Le fichier généré est en fait un script qui regénère chaque le carte en alimentant son contenu.
Backupstack permet d'ajouter à la pile un mot de passe :
- Administrateur : protège l'export et l'import de données si le mot de passe existe dans la pile ;
- Utilisateur : si ce mot de passe existe dans la pile, la pile est cryptée avec (pile illisible avec un éditeur de texte); si on ne le fournit pas, la pile est refermée.
Scripts très complets, mais à tester ! : vérifiez l'exhaustivité de la sauvegarde dans le contexte propre à votre pile. Sauvegardez votre pile avant d'installer la gestion du mot de passe utilisateur : ce mot de passe cryptant la pile, vous pourriez ne plus pouvoir l'ouvrir en cas de fausse manip dans la programmation ou d'oubli du mot de passe.
Appel initial de Backupstack
Les scripts sont incorporés à l'image qu'il suffit de copier puis de coller dans la pile désirée.
A l'ouverture de votre pile, il faut appeler les scripts contenus dans la Libimage au moyen des instructions suivantes (par exemple).
on preopenstack
insert the script of image "Backupstack" into back (…)
end preopenstack
on closestack
remove the script of image "Backupstack" from back
end closestack
Commande | Utilisation |
---|---|
ExportBackUpDatas | Exporte les données de la pile sous forme d'un script. Ce script recrée les cartes une par une en alimentant le contenu (ou l'état) des différents objets : champs, cases à cocher, customs properties, boutons et images. Les players ne sont pas sauvegardés. ajout de la global gExportBackUpDatasNames pour utiliser le short name des contrôles sauvegardés au lieu de l'ID; doit être mise à «true» dans ce cas. |
importBackUpDatas | Permet de choisir un fichier de sauvegarde et de le réimporter dans la pile pour recréer les cartes dans l'état de la sauvegarde. |
ExportGeometry | Script d'export de la géométrie de la carte courante (rect des contrôles). |
MakeSaveItemsList | Crée dans la pile une custom property contenant l'ID des objets de fond à sauver : champs, cases à cocher et groupes de boutons radio. |
ClipSaveItemsNames | Retourne le nom des objets de fond à sauver. |
DeleteCards [booléen] | Sans paramètre, détruit la carte courante; avec la valeur "true", réinitialise la pile sans aucune donnée : à faire avant un importBackUpDatas. |
ChangeAdminPwd | Crée un mot de passe Administrateur dans la pile qui sera demandé avant de faire un ExportBackUpDatas ou un importBackUpDatas; protège la confidentialité du contenu de la pile. |
CheckAdminPWD | Exige le mot de passe Administrateur préalablement à une action. A placer dans un script si besoin. |
initPwdEnvt | Demande un mot de passe Utilisateur. S'il est absent, le crée dans la pile. Si le mot de passe est erroné, ferme la pile. |
setPwd | Crée ou modifie le mot de passe Utilisateur dans la pile. |
GetGroupIconScript | Crée pour un ensemble de boutons un script de réallocation des icones par leur nom. Message à envoyer à l'objet (groupe, carte, etc.) et script dans le Presse-Papier. |
Libimage Customslib version 1.4
Libimage de gestion des custom properties de tous les objets : piles, cartes, contrôles.
Tous les messages doivent être envoyés à l'objet dont on veut manipuler les custom properties :
Send "exportcustoms2file" to this card
Message | Usage sur target |
---|---|
exportcustoms2file | Exporte chaque custom de la target sous la forme d'un fichier texte. |
setCustomProp [propName,filePath] | aucun paramètre : demande un fichier texte ".txt", alimente la custom par le contenu du fichier et donne à la custom le nom du fichier sans l'extension. "filePath" path d'un fichier : alimente la custom par le contenu du fichier. Si "propName" est fourni donne ce nom à la custom, sinon donne à la custom le nom du fichier sans l'extension. |
importCustomsfromFolder | Demande un dossier contenant les fichiers texte à importer en customs. Chaque custom property a comme nom le nom du fichier sans l'extension : un fichier "myProperty.txt" créera une custom "myProperty" dans la target. |
DeleteAllCustoms | Détruit le customset (toutes les custom properties) de la target. |
deleteCustom propName | Détruit la custom property "propName" de la target. |
RenameProp propName,NewName | Renomme "NewName" la property "propName". |
En exemple, un inspecteur permettant de visualiser les customs, de les importer et exporter à partir de fichiers. Les boutons ont une bulle d'info permettant se savoir ce qu'ils font.
Libimage ImagesTools version 1.45
Libimage de manipulation d'images et d'extraction des données EXIF. Réalisée à partir de getExif1.4(<filePath>) -- http://homepage.mac.com/udi/
Intègre les routines de manipulation d'images antérieurement implémentées dans XPlatform (SetthumbSize,SetThumb ,ExportThumbImage et ResizeObject) et AppleScriptLib (getImageLegende).
Requiert l'installation de XPlatform et AppleScriptLib.
Nouveautés v 1.3: support de la librairie Perl ExifTool de Phil Harvey si elle est installée dans le système. Voir ici pour l'installation d'exiftool.
Correction d'un bug sous Yosemite et El Capitan pour lesquels Exiftool n'est plus installé au même endroit qu'auparavant.
Commande | Utilisation | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ReadExifDatas(imagepath) | Alimente un array dans la globale exifdatas : put ReadExifDatas(path_image) into exifdatas
|
||||||||||||||||||||||||||||||
getImageLegende(imagepath) | Rend la légende IPTC de l'image imagepath (chemin d'accès à l'image); si la légende IPTC n'existe pas, tente de lire la légende kMDItemDescription (Metadatas SpotLight Mac OS X). Nouveauté v 1.2 :considère comme vide une légende qui ne contient que des espaces. exemple : put getImageLegende(imagepath) into iptcLegend |
||||||||||||||||||||||||||||||
SetthumbSize largeur, [hauteur] | Définit la largeur et la hauteur d'un thumb. A faire préalablement à l'appel aux commandes : SetThumb, ExportThumbImage et ResizeObject. Les dimensions du thumb étant stockées dans une locale, on ne fait appel à la commande que pour changer les dimensions du thumb.
SetthumbSize 250 |
||||||||||||||||||||||||||||||
SetThumb (paramètres) | Importe un fichier (et redimensionne) dans une image ou un player. Les dimensions de l'image originale sont mémorisée dans la globale gImageOriginalSize. A traiter par l'envoi d'un "send" à l'objet dans lequel le fichier est importé. Paramètres séparés par des commas :
on exemple1 listImages |
||||||||||||||||||||||||||||||
ExportThumbImage (paramètres) | Exporte l'objet sous forme de fichier image, de variable ou vers une autre image. A traiter par l'envoi d'un "send" à l'objet à traiter. Paramètres séparés par des lignes :
on makeThumb | ||||||||||||||||||||||||||||||
ResizeObject | Redimensionne aux dimensions du thumb une image ou un player. A traiter par l'envoi d'un "send" à l'objet à traiter. send "ResizeObject" to image "imagethumb" | ||||||||||||||||||||||||||||||
CheckExiftool | Vérifie que la librairie ExifTool est installée sur votre plateforme. Retourne le numéro de version d'Exiftool, alimente la globale global gExiftoolOK (true ou false) et détermine à quel emplacement se trouve la library. | ||||||||||||||||||||||||||||||
Les fonction et handler suivants requièrent Exiftool pour fonctionner (gExiftoolOK=true). | |||||||||||||||||||||||||||||||
ReadIPTCDatas(imagepath) | lit l'orientation de l'image et les dates DateTimeOriginal, CreateDate et ModifyDate. | ||||||||||||||||||||||||||||||
GetCaptionAbstract(imagepath) | lit la légende IPTC de l'image. | ||||||||||||||||||||||||||||||
GetXMPDescription(imagepath) | lit la description XMP de l'image. | ||||||||||||||||||||||||||||||
GetAuthor(imagepath) | lit l'auteur de l'image. | ||||||||||||||||||||||||||||||
GetKeywords(imagepath) | lit les mots-clés de l'image. | ||||||||||||||||||||||||||||||
GetTitle(imagepath) | lit le titre de l'image. | ||||||||||||||||||||||||||||||
getOrientation(imagepath) | rend l'angle de rotation de l'image en degrés. | ||||||||||||||||||||||||||||||
SetImageLegende imagepath | alimente la légende IPTC de l'image, sa description XMP et sa légende TIF. | ||||||||||||||||||||||||||||||
SetAuthor imagepath | alimente le creator et l'artist de l'image. | ||||||||||||||||||||||||||||||
SetKeywords imagepath | alimente les mots-clés de l'image (IPTC:Keywords et XMP-dc:Subject). | ||||||||||||||||||||||||||||||
SetTitle imagepath | alimente le titre (ObjectName) de l'image. | ||||||||||||||||||||||||||||||
RotateImageOrientation imagepath,deltaAngle | change l'orientation de l'image en fonction de la rotation deltaAngle (multiple de 90°). | ||||||||||||||||||||||||||||||
getimagestrings(folderpath) | retourne le caption-abstract, title, keywords, creator, date de prise de vue et angle de chaque image de la directory folderpath séparés par des tabulations ; utile pour des ensembles volumineux d'images. | ||||||||||||||||||||||||||||||
AlignDates imagepath | Met la date du fichier à celle de la prise de vue. | ||||||||||||||||||||||||||||||
ShiftDate imagepath,decalage (nombre de secondes) | décale toutes les dates de l'image imagepath de n secondes. | ||||||||||||||||||||||||||||||
getmoviestrings(folderpath) | retourne la description, title, keywords, Author et CreateDate de chaque film de la directory folderpath séparés par des tabulations. | ||||||||||||||||||||||||||||||
SetMovieAuthor videopath | alimente l'Author de la vidéo. | ||||||||||||||||||||||||||||||
SetMovieDescription videopath | alimente la description de la vidéo. | ||||||||||||||||||||||||||||||
SetMovieKeywords videopath | alimente les keywords de la vidéo. | ||||||||||||||||||||||||||||||
imageRotate SourceImagePath, Angle, Crop, DestFilePath | Effectue la rotation d'une image selon un angle quelconque et l'exporte dans un autre fichier. SourceImagePath : path de l'original; Angle : angle de rotation en degrés ; Crop : "true" pour conserver le rectangle de l'image originelle ; DestFilePath : path de l'image générée. | ||||||||||||||||||||||||||||||
getPDFtag(filePath, [tagName]) | Extrait les tags présents dans un fichier pdf. filePath : path du fichier pdf; tagName : nom du tag à extraire : AppleKeywords,Author,CreateDate,Creator,Keywords,ModifyDate,Producer,Subject,Title,Trapped. Par défaut, CreateDate, la date d'impression | ||||||||||||||||||||||||||||||
exiftoolVersion() | rend le n° de version d'exiftool installé. | ||||||||||||||||||||||||||||||
debugImageT | Exporte sous forme de fichier la dernière commande ExifTool exécutée. |
Libimage LCDownloadlib version 1.3
Une libimage pour télécharger une URL.
- « supprimer les javascripts » retire les scripts présents dans la page;
- « ajouter base href » place l'adresse absolue de la page pour un positionnement correct des objets donnés en URL relative.
Libimage Revo2HTML version 1.5
Demande la sélection d'une pile et l'exporte les scripts de tous les objets sous forme d'une page HTML créée sur le Bureau.
Les customs properties de chaque objet sont listées avant son script.
Syntaxe :
exportRevo2html [garderformat]
garderformat : paramètre facultatif;
- aucune valeur : le HTML extrait est converti par défaut en HTML stylé CSS, plus compact.
- une valeur quelconque (x par exemple) : le HTML extrait est restitué tel quel, sans conversion de styles.
Les scripts d'une pile cryptée par mot de passe ne sont pas extraits.
Libimage XPlatform version 2.26
Permet de réaliser des scripts fonctionnant sur toutes les plateformes et de réaliser des équivalences d'emplacements de dossiers, par exemple : « Documents » sur Mac et « Mes documents » sur Windows.
Appel initial de la Library XPlatform
Les scripts sont incorporés à l'image qu'il suffit de copier puis de coller dans la pile désirée.
Ces scripts chargent les paramètres d'environnement (locales) de la plateforme : version du système, langue de l'utilisateur et organisation du Bureau.
A l'ouverture de votre pile, il faut appeler les scripts contenus dans l'image au moyen des instructions suivantes (par exemple).
on preopenstack (ou preopencard& )
insert the script of image "XPlatform" into back
LookPlatform -- à placer pour initialiser les globales d'environnement !
[...]
end preopenstack
on closestack
remove the script of image "XPlatform" from back
end closestack
L'appel initial renseigne les globales suivantes :
globale | utilisation |
---|---|
gSystemVers | équivaut à la propriété "the platform", mais distingue OSX et Classic. Valeur gérées : MacOS9, MacOSX, Windows, Ubuntu. |
gDistribution | distribution Linux ou version du système. |
gdecimalVers | version décimale système. |
gHasXDGSupport | support (ou non) du bureau MacOS, Windows ou XDG Linux. |
gMachineCharset | codage des noms de fichiers. |
gUserlangage | langage de l'utilisateur. |
gLongUserName | Nom développé de l'utilisateur. |
gDecimalSep | séparateur décimal. |
gThousandSep | séparateur de milliers. |
gDevise | Code devise. |
gFractional | Longueur sous-unité devise. |
gfirstWeekday | Premier jour semaine. |
gcurrentEngine | version décimale moteur. |
gXPFolderpathResult | équivaut à « the result » consécutif à l'appel de XPFolderpath() : contient "folder not found" lorsque le dossier n'existe pas. |
Commandes et fonctions disponibles
commande ou fonction | usage et exemples |
---|---|
LookPlatform | Initialise les globales d'environnement : à faire juste après le placement de la Libimage en backscripts. |
XPFileList(theFolder, extensionsList, attributs) | fonction listant les fichiers (ou les dossiers) contenus par theFolder, avec une ligne pour chaque élément. Les items sont séparées par des tabulations, le premier item étant le nom (ou le fullpath) du fichier, suivi des attributs demandés. Plus de détails sur XPFileList parambuilder |
XPDirKeys() | Rend les noms de sélecteurs de répertoire du Bureau utilisateur propres à la plateforme. Valeurs créées par LookPlatform. |
XPusableFolders() | filtre les dossiers correspondant à un paquet (MacOS). |
XPwarning | Message d'alerte envoyé lorsque la structure du Bureau ne peut être déterminée (Linux sans architecture XDG). |
XPFolderpath(selector) | Retourne un dossier défini par un sélecteur "commun" : desktop, applications, documents, etc. Plus de détails sur Xpfolderpath(). |
reveal <répertoire> | ouvre dans le navigateur de fichier le répertoire précisé. |
XPCopyFolder folderToCopy, destinationFolder | Remplace revCopyFolder en corrigeant le bug de ce dernier lorsque le path d'un des paramètres contient des caractères spéciaux. |
XPGetFolderSize(folderpath) | fonction donnant la taille des éléments contenus par le dossier folderpath en octets. |
HFSname(élément) | path du dossier parent de l'élément. |
leafname(élément) | nom court de l'élément (fichier ou dossier). |
stsLongFilePath() | d'après Ken Ray Sons - Thunder Software : corrige le problème des noms de fichiers longs dans un dragdata["files"] |
FilterFileswithExtension(FileList,extensionsList) | filtre les fichiers selon la liste d'extensions fichier ("jpg,png" par exemple). |
FileExtension(filename) | Rend l'extension du fichier filename, par exemple jpg pour image.jpg. |
XPAnswerFolder(myPrompt, [defaultpath]) | équivaut à : answer folder "message" [with folderParDéfaut]. |
XPanswerPGM(myPrompt, [defaultpath]) | answer program "message",répertoire programmes par défaut. |
XPaskfileType(myPrompt, [defFileName,theTypes]) | équivaut à : ask file "message" [with CheminParDéfaut with type]. Plus de détails sur XPaskfileType. |
XPAnswerFile(myPrompt, [defaultpath],[myTypes]) XPAnswerFiles pour sélectionner plusieurs fichiers. | équivaut à : answer file "message" [with defaultpath with type]. Plus de détails sur XPAnswerFile. |
XPCodeImage(filepath) | Encode en base64 une image et donne une data url de la forme :data:image/png (ou jpeg, gif, etc.);base64,iVBORw0KGgo& (codage de l'image). |
XPdecodeImage(data url, filepath) | Décode la data url d'une image et crée un fichier à l'emplacement spécifié. |
XPFile2URL theContent, theURL, [codage] | Remplace un «put theContent into url theURL». theURL peut commencer par "file:", "binfile:" ou "ftp"; par défaut, "file:" est pris. codage est facultatif : "B64" convertit le contenu en base64, "C" compresse le contenu, "C64"convertit le contenu en base64 et le compresse. Corrige un problème Linux dans lequel le fichier créé est considéré à tort comme un exécutable. |
XPGetCodedUrl(x,codage) | Lit le contenu d'une url codée ou non. |
CoerceExtension(theFile, theTypes) | fonction contraignant la création d'un fichier avec l'extension donnée en paramètre. |
xpMimeType(filepath) | Retourne le mime type du fichier spécifié. |
Readwebaddress(path) | fonction de lecture d'un raccourci internet : webloc, url ou desktop. |
xpFileEncoding(path) | Retourne 3 items :
put xpFileEncoding(x) into gdocCharset |
XPDefaultApp(filepath) | Rend l'application par défaut pour ouvrir le fichier filepath. |
XPDefaultBrowser( [protocol]) | Chemin d'accès au programme gérant par défaut le protocole spécifié (http, ftp, mailto). A défaut de protocole, le navigateur internet par défaut. Sur les Linux « anciens », le protocole n'est pas toujours trouvé dans les mimetypes et la fonction retourne "". |
XPDefaultTextEditor() | Chemin d'accès à l'Éditeur de texte par défaut. |
getAppFromMimeLux(mimetype) | fonction rendant sous Linux l'application par défaut pour ouvrir un fichier du mimetype donné en paramètre. return getAppFromMimeLux("text/html") |
XPLaunch filepath, [appPath] | Remplace la commande Launch qui ne marche pas toujours. filepath est le chemin d'accès au fichier,appPath est celui de l'application pour l'ouvrir; s'il n'est pas précisé, le fichier est ouvert avec l'appli par défaut. |
XPLaunchWithBrowser theBrowser,theUrl | Ouvre l'URL theUrl avec le navigateur theBrowser. |
Aidesaisie(string,[cmode]) | Aidesaisie capitalise les noms et les libellés de rues. |
makeExcel(theText,header,exportmode) | Voir MakeExcel. |
dedoublelines(x) | Supprime les lignes en double de x. |
XPCleanDupItems(itemslist, [itemdelimiter], [sortType]) | Élimine les doublons et les items vides d'une liste d'items séparées par mydelimiter. itemslist : liste à traiter. itemdelimiter : séparateur d'items (par défaut : comma). sortType : text,international,numeric,datetime,important,orderkeep. Spécifie un tri de la liste en sortie.
|
CleanSpaces(string) | Retourne une chaîne en éliminant les espaces de début et de fin. |
XReplace(string, chaîne à chercher,valeur de remplacement) | Remplace toutes le occurrences de la chaîne à chercher par la valeur de remplacement dans un conteneur. |
XPChangeCase(string, [style de casse]) | Met en majuscules ou minuscules une chaîne de caractères en tenant compte des voyelles accentuées. string : chaîne à traiter. style de casse :
|
XPChiffreEnLettres(tAmount,tDevise,tUserlangage) | Convertit un montant en lettres avec le code devise. Fonctionne uniquement avec un langage français. |
XPformatNumber(nombre) | Formate un nombre en utilisant les réglages locaux : séparateur décimal et séparateur de milliers. Si ce n'est pas un nombre, retourne la donnée inchangée. Exemple : get XPformatNumber(1235.678) retourne 1 235,68 € pour un système français. |
XPlibsize(size) | Convertit la taille d'un fichier en Ko et multiples (Mo, Go...). |
XPRemoveDiacritics( string) | Retire les voyelles accentuées d'une chaîne de caractères en les remplaçant par de simples voyelles. |
XPTime(temps, unité) | Convertit un temps en clair par exemple : «1h 23 mn 15s». temps : temps à convertir; unité : par défaut des secondes (secs), des milliseconds ou des ticks. |
whichTabItem() | dans un champ de type table, rend le numéro de colonne sélectionné. |
ConvertOOClip | Convertit en texte tabulé le Presse-Papier de Open Office. |
XPCheckConnection() | Teste la connection à l'internet. Rend les valeurs suivantes :
|
XPtrace content[,nomfichier] | Vide content dans un fichier "nomfichier" sur le Bureau. Si nomfichier n'est pas stipulé, le fichier sera "trace.txt" |
ascii2UTF8(string) | Convertit la chaine de caractères ASCII en UTF-8. |
ascii2UTF16(string, pTextEncoding) | Convertit la chaine de caractères ASCII en UTF-16LE ou BE selon plateforme. |
UTF2ascii(string) | Convertit la chaine de caractères de UTF-8 en ASCII. |
UTF16toAscii(string[, pTextEncoding]) | Convertit la chaine de caractères UTF-16LE (ou UTF-16BE selon valeur fournie dans pTextEncoding) en ASCII. |
xpConvertTextfile( filepath,[charset]) | Convertit en ascii le fichier filepath si le charset de ce dernier est trouvé (ou fourni en paramètre). Si le charset n'est pas fourni, tente de le déterminer au moyen de xpFileEncoding(path). Voir Décoder un fichier, exemple utilisant cette fonction pour déterminer le charset d'un fichier, s'il n'est pas trouvé affichant une pile permettant de prévisualiser le fichier et de choisir le charset, puis enfin de le convertir. |
Ucode(string, OutputFormat, ConvertAll) | Codage de caractères Unicode. string : Texte à convertir; OutputFormat : %hexa (valeur par défaut), %decimal ou javascript; ConvertAll : "all" code tout, sinon uniquement les caractères spéciaux. |
XPGetMetas(contenu d'une page HTML) | Alimente un array stocké dans la globale gExtMetas restituant les valeurs des metas trouvés dans le contenu de la page. |
XPTitle2URL(titre) | Crée le nom d'une page HTML d'après son titre en éliminant les articles et les caractères accentués. Exemple : "Langue de veau aux câpres" donne "langue_veau_capres.html" |
XPbuildKeywords(Text, [WordSeparator],[MotsExclus]) | Crée une liste de mots-clés à partir d'un texte.
|
HTMLtext2CSS(htmltext) | Convertit le htmltext d'un champs en un bloc stylé sans saut de ligne. Remplacer cr par "<br>" pour obtenir les sauts de ligne. |
XPStackPrefs() | path d'un fichier de préférences associé à la pile. |
XPExportPrefs(valeurs,nomprefs,[mycodage]) | Exporte les réglages propres à une pile : valeurs : un script affectant une valeur à une variable globale ou à une propriété, par exemple : get the hilite of btn "zipper" of card id 1002 of me put "set the hilite of btn " & quote & "zipper" & quote & " of card id 1002 of me to " & it &cr after zz XPExportPrefs zz, "mesOptions" s'il y a des globales, il faut les passer en tête de flux, on ne peut pas envoyer des locales. nomprefs : par défaut le nom de la pile. mycodage : par défaut UTF-8. |
XPreadprefs([nomprefs,mycodage]) | Lit le fichier de préférences et exécute le script ligne à ligne : nomprefs : par défaut le nom de la pile. mycodage : codage du fichier lu, par défaut UTF-8. |
Limiter les lignes saisies dans un champs
Outil générant un script permettant de limiter le nombre de lignes saisissables dans un champs.
Choisissez le nombre de lignes maxi désiré, la longueur souhaitée pour le champs et un style d'arrondi.
L'outil génère un groupe « légende » comportant une icone d'effacement du contenu.
Cliquez le bouton « Installer… » pour copier le groupe généré ou le script approprié seulement.
Lineoffset en série
Utilise LineOffset() de manière itérative pour retrouver toutes les occurrences d'une même chaîne.
Peut être transposé à itemOffset(), WordOffset(), etc.
Function SearchLines stringToSearch,Content
-- utilise LineOffset de manière itérative
-- rend le numéro des lignes où le motif recherché est trouvé
put "" into myResult
put 0 into line2skip -- nombre de lignes à ignorer
repeat
get lineOffset(stringToSearch,Content,line2skip) -- par rapport au point de départ, numéro de la prochaine ligne où se trouve la chaîne recherchée.
if it = 0 then exit repeat
add it to line2skip -- ajouter it, car c'est un nombre relatif !
put line2skip &comma after myResult
end repeat
delete char -1 of myResult
return myResult
end SearchLines
Lire plist Macintosh
Un script pour lire le contenu d'une plist Macintosh; exemple avec un simulateur de votre Bureau.
Ne fonctionne actuellement que pour Capitan.
Mail Apple export en HTML
Enregistrer le message au format « Source du message brut ».
Glisser le fichier obtenu sur la dragzone pour le convertir en page html.
makeExcel
Cette fonction appartient à XPlatform.
makeExcel(theText,header,exportmode)
theText: texte à convertir (format Iso ou Mac); chaque cellule est séparée des autres par une tabulation
header : descripteurs du type de chaque colonne du tableau, séparés par une virgule;
valeurs supportées :
descripteur | type colonne | format Excel |
T | texte | |
M | montant avec centimes | 0.00 |
ML | montant long avec séparateurs de milliers | #,##0.00 |
MF | montant monnaie (devise du pays) | #,##0.00" eur" |
I | entier | 0 |
D | date jour-mois-an | d-mm-yyyy |
% | pourcentage | 0.00% |
H | heure | h:mm:ss |
DH | date et heure | d-mm-yyyy\ h:mm:ss |
E | notation scientifique | ##0.0E+00 |
F | fraction | #" "??-?? |
= | Ignorer la colonne |
exportmode : mode d'export des données.
- csv : fichier CSV lisible dans Excel et OpenOffice,
- txt : texte tabulé,
- slk : fichier SYLK lisible dans Excel et OpenOffice. Format des cellules précis et totalisation automatique des montants.
Le fichier généré est de l'UTF-8.
Outil de paramétrage du header pour makeExcel
Destiné à affecter visuellement les descripteurs du header, il permet de générer le script d'export correspondant. Mais rien n'empêche de donner les valeurs directement, par exemple :
put "T,M,M,%,M,M,MF" into myheader
Cliquez d'abord le bouton importer pour ouvrir un fichier tabulé :
L'exemple affiché est une facture de garagiste. La ligne verte en haut est destinée à accueillir les formats de chaque colonne de la feuille qui sera exportée par makeExcelfile ; par défaut, le format est texte.
Choisissez ensuite pour chaque colonne le format qui vous convient le mieux en cliquant l'en-tête de la colonne. Un menu local permet de choisir le format approprié.
Une fois les formats précisés, exportez le fichier au format désiré et voyez si le résultat vous convient.
Générez ensuite un script correspondant aux réglages choisis avec le bouton qui le place dans le Presse-Papier.
on makeExcelfile filecontent
-- alimenter <filecontent> avant !
ask file "Enregistrer la feuille de calcul :" with "extrait.slk"
if it = "" then exit to top
put it into fnom
put makeExcel(filecontent,"T,M,M,%,M,M,MF","slk") into myOut
XPfile2Url myOut,it
end makeExcelfile
N'oubliez pas de copier la library XPlatform dans votre pile…
Utilisation de l'outil pour makeExcel comme convertisseur
Une fois le fichier tabulé importé, vous pouvez vous servir de makeExcel comme convertisseur : le bouton permet d'éliminer les lignes superflues.
Mise à jour Libimages
Affiche la version des Libimages installées dans vos piles et de les mettre à jour (version plus récente présente dans LiveCodeClips).
Le bouton «Export» enregistre le tableau au format CSV.
Pile ChooseList
Modèle de pile affichant une liste ou tableau et retournant la valeur ou le n° des lignes sélectionnées.
Exemple de sélection disjointe sur un tableau :
Alimenter la variable the dialogdata avec la liste à présenter en séparant chaque ligne par un "CR". Si la liste est tabulée, elle est présentée comme une tableau (colonnes).
Alimenter la variable global gChooselist, qui gère la présentation, comme suit :
Ligne 1 : [prompt] message affiché au dessus de la liste.
Ligne 2 : (5 items facultatifs) [selection_mode],[modeResultat],[listeWidth],[colSeparator],[cadrage] :
- selection_mode : 1 = une seule ligne à la fois (valeur par défaut), 2 = multi-lignes, 3 = sélection disjointe.
- modeResultat : true pour obtenir la liste des numéros de lignes choisies séparée par des virgules, false (valeur par défaut) pour obtenir le texte sélectionné.
- listeWidth : largeur en pixels d'affichage de la liste ou auto (valeur par défaut) : affichage sur toute sa largeur dans la limite de la taille de l'écran.
- colSeparator : tab par défaut, chaîne de caractères séparant les items dans la liste; les constantes : backslash, colon, comma, empty, null, quote, slash et space sont acceptées.Les constantes : cr, crlf, lf, linefeed et return sont interdites.
- cadrage : la valeur target place la fenêtre au plus près du point cliqué pour appeler la liste.
Ligne 3 : valeur ou rang de la ligne présélectionnée (facultatif).
Ligne 4 : labels à imposer aux boutons « Choisir » et « Annuler », séparés par une virgule (facultatif). Les boutons ne sont pas redimensionnés.
Résultat : Texte sélectionné ou numéros d'ordre des lignes choisies dans la liste, "Cancel" sinon.
En mettant « ? » dans gChooselist, la présente aide est affichée.
L'outil placé sur la carte permet de paramétrer les éléments de présentation de la liste et de les copier au moyen de l'icone .
Pile pour importer une image
Pile permettant de sélectionner une portion d'une image pour l'importer dans une carte. La pile utilise la Libimage ImagesTools. Elle permet de faire des rotations de l'image, de zoomer sur l'original en le déplaçant à l'intérieur du rectangle de sélection.
Cliquez le bouton « Installer… » pour installer la pile dans une autre pile.
Appeler la pile en mode "modal" après avoir alimenté the dialogdata de la façon suivante :
Ligne 1 : path d'une image ;
Ligne 2 : longueur et largeur en pixels (ex : "250,200") de la portion à extraire.
En retour, the dialogdata vaut "cancel" si l'utilisateur à annulé le traitement, sinon il contient le "text" de la portion d'image sélectionnée ; ce text peut être placé dans une image pré-existante.
Exemple de script :
on placerExtrait imagepath
set the dialogdata to imagepath & cr & "250,200"
modal stack "template_captureimage"
put the dialogdata into theimgDatas
if theimgDatas = "cancel" then exit to top
-- retourne un "text" d'image importable directement dans une autre image
set the text of image "thumb" to theimgDatas
end placerExtrait
Pile pour transferts
Cette pile comporte 3 onglets :
- Un onglet Transfert permettant de choisir d'exporter les données de tout ou partie des cartes vers une url locale (Disque) ou réseau (FTP).
- Les onglets Disque et FTP permettent de paramétrer les destinations respectives : url locale (Disque) ou adresse FTP avec logon et mot de passe.
- Une option permet de choisir l'onglet préaffiché et de verrouiller l'accès aux autres.
Le script d'installation permet de choisir le nom de la substack installée dans la pile principale.
Paramètres
dialogdata en entrée | dialogdata en sortie |
---|---|
ligne 1, 2 items : Onglet préaffiché [Transfert,Disque,FTP ou all], [booléen « disabler les autres »] : permet d'interdire l'accès aux autres onglets, par exemple : "transfert,true" ne permet que d'accéder à cet onglet. Valeur par défaut : "all". | pour tous les onglets : "Cancel" si l'on clique le bouton "Annuler"
|
ligne 2, 2 items déterminant l'option proposée à l'utilisateur pour le transfert : transférer toutes les cartes ou une sélection [all ou selection], destination par défaut [ordinateur ou serveur]. Valeurs par défaut : "all,ordinateur". |
Un outil permet de préparer les paramètres à passer en dialogdata à la pile transferts.
Copiez les paramètres au moyen de l'icone .
Préférences d'une pile XPStackPrefs()
La fonction XPStackPrefs() appartient à la Libimage XPlatForm et restitue le path d'un fichier dans lequel vous pourrez enregistrer des options.
Paramètre
Un nom quelconque. Par défaut, XPStackPrefs() prend le "short name" de la pile courante.
Résultat
[chemin d'accès aux préférences]/[nom donné en paramètre]/[nom de la plateforme].data", par exemple :
sous MacOSX : /Users/NomUser/Library/Preferences/MaPileMacOSX prefs.data
sous Windows : C:/Documents and Settings/NomUser/Application Data/MaPileWindows prefs.data
Astuce : le fichier de préférences peut être un script initialisant les variables nécessaires. A l'ouverture de la pile, on le lit et on l'exécute :
on exportprefsglobales
-- Exemple d'export de globales et de propriétés
-- chargement des globales…
put the rect of this stack into gprevStakRect
put 9 into gAppCellDelimiter
put "anything" into gAppcreator
-- nom des globales à exporter…
put "gprevStakRect,gAppCellDelimiter,gAppcreator" into myList
-- déclaration des globales en première ligne du script généré…
put "Global " &myList & cr into valeurs
repeat for each item aGlobal in myList
do "get " & aGlobal
-- si la globale contient plusieurs lignes : remplacement des retours ligne
replace cr with "^r" in it
put "get " & quote & it & quote & cr after valeurs
put "replace " & quote & "^r" & quote & "with cr in it" & cr after valeurs
put "put it into " & aGlobal & cr after valeurs
end repeat
put "set the mark of this card to " & the mark of this card &cr after valeurs
-- écriture dans le fichier mesOptionsxxxxx prefs.data
XPExportPrefs valeurs,"mesOptions"
end exportprefsglobales
on readprefs
-- lecture des valeurs stockées
XPreadprefs "mesOptions"
-- (suite d'instructions après lecture)
end readprefs
Rawkeyup
Affiche le keycode de la clé pressée.
Contient le modèle d'un script "on rawkeyUp" avec un trigger sur les valeurs courantes.
transposable à RawKeyDown.
Recherche Spotlight
Ce groupe comporte un champs de recherche permettant de filtrer un index au moyen du message "placeindex".
Un bouton permet d'effacer la recherche entrée.
L'outil présent sur la carte permet de paramétrer la largeur du champs.
Copiez votre groupe avec le bouton « Installer… ».
Collez-le à l'endroit désiré et mettez en place votre script de filtrage des données.
Exemple de filtrage d'une globale "myIndex" :
on placeindex
put line 1 of fld "filter" into mySelector
if mySelector <> "" then filter myIndex with "*" &mySelector &"*"
put myIndex into fld "index"
end placeindex
Redimensionner les colonnes d'un champs
Un script pour redimensionner la largeur des colonnes d'un champs tableau selon la largeur effective du contenu.
Faire un send "resetchamps" au champs concerné.
SendAppleMail
Exemple de mail HTML avec AppleScript (Mac OSX seulement).
Le script génère un message stylé ou pas avec AppleMail.
Utilise le handler "SendAppleMail" de la Libimage AScriptlib.
Un jeu de paramètres permet de tester différents scénarios.
StackRipper
Revolution Stack Ripper est une transposition à LiveCode de mcRipper, un ripper MetaCard, et a surtout été un exercice destiné à étudier comment recréer des objets par script.
Que fait-il ?
- Il exporte (Rip) tous les objets d'une pile et leurs propriétés dans un fichier XML. Ce fichier permet d'analyser la manière dont LiveCode alimente les propriétés d'un objet selon son style et il est possible de le modifier manuellement.
- Il permet d'importer ce fichier XML et de re-créer une nouvelle pile (Burn).
Avertissement
Sauvegardez soigneusement l'original de votre pile avant de procéder : la pile a été soigneusement testée et elle n'affecte normalement pas une pile rippée ; mais on ne peut garantir un tel fonctionnement dans tous les cas de figure.
Lors d'un Burn, la pile est recréée avec le même nom que la pile originale : pour éviter les conflits, l'original doit être fermé.
Utilisation
Ouvrez «Revolution Stack Ripper».
Cliquer le bouton «Rip».
Cliquer le bouton «Save» pour enregistrer le texte produit au format xml.
Cliquer le bouton «load» pour charger un rippage xml.
Cliquer le bouton «Burn» pour générer une pile.
Limitations
- la colorisation des scripts n'est pas reprise et la taille de la pile générée est inférieure à celle de l'original (en octets).
- lors d'un «Burn», les id de tous les objets sont regénérés : les id des icones de boutons sont transposées, mais les scripts faisant référence à l'ID d'un objet ne sont pas toujours transposés : vous serez probablement amené à corriger manuellement les scripts concernés.
- les players ne sont pas exportés.
Séparateur de champs
Exemple de poignées permettant de déplacer la limite de 2 champs juxtaposés.
Choisissez le modèle (horizontal ou vertical) au moyen des boutons radios.
Cliquez le bouton « Installer… » pour copier le bouton poignée.
Groupez ensembles vos deux champs juxtaposés (auxquels vous attribuez le short name que vous voulez) et éditez le groupe.
Collez-le bouton poignée entre les deux champs à séparer, puis éditez le script pour modifier les 3 constantes :
constant CfldGauche="A",CfldDroit="B",Cscrlimite=80
- CfldGauche, CfldDroit (ou « Cfldhaut » et « Cfldbas ») : short name des champs à séparer ;
- Cscrlimite : largeur (ou hauteur) minimale préservée pour chacun des champs lors du déplacement.
Redimensionnez le bouton poignée à la largeur et longueur désirée : les champs s'ajusteront.
Le script fait apparaître automatiquement les scrollbars des champs lorsque le nombre de lignes qu'ils contiennent excède leur hauteur.
Tableau trié
Groupe formant un tableau dont on peut trier les lignes.
Les colonnes peuvent être re-dimensionnées au moyen de la souris et les lignes peuvent être triées en cliquant le titre des colonnes.
Les boutons permettent de copier, coller et effacer le contenu du tableau.
Cliquez sur le bouton « Installer… » pour copier le groupe dans une autre pile.
TitleWidth d'un bouton
Cette propriété n'est pas accessible dans l'inspecteur standard : un inspecteur pour le faire.
titleWidth et labelWidth sont synonymes;
positionner la propriété ne sert à mon avis que dans le cas des "option menu" : pour les autres styles de bouton, je ne vois pas l'intérêt.
Tri des boutons d'un groupe
Réarrange un groupe de boutons en fonction de la largeur et de la hauteur du groupe.
Cliquer le bouton « Installer… » pour copier le script ; Il peut être adapté à d'autres objets.
Envoyer un send send "Placebuttons" au groupe après avoir installé le script au niveau du groupe.
Les boutons « avant » :
Les boutons « après » :
Visual Effect
Composez l'effet visuel désiré au moyen des menus ;
copiez les instructions générées au moyen du bouton « Installer… » ;
N'oubliez pas qu'un effet visuel ne marche qu'après un « go cd… ».
Vérifier connection à Internet
Appelle la fonction XPCheckConnection() de XPlatForm pour faire un test de connection à internet.
Rend les valeurs suivantes :
- = Connecté
- = Non connecté à Internet
- = Connexion Internet défectueuse
- = Non connecté au réseau
Whatclicked
Un script permettant de visualiser les différentes variables LiveCode utilisables dans le clic et la sélection d'un champ de texte.
Xpask/ Xpanswerfile (with type)
Un générateur de script pour ouvrir ou créer un fichier d'une façon portable dans tous les environnements avec la libimage XPlatForm.
Les scripts peuvent être générés selon trois modes :
- Script XPlatform pur ;
- folder libellé au moyen d'un sélecteur XPFolder() ;
- valeurs « en clair » interprétées selon le contexte de la machine (non portables).
Copiez le script généré au moyen de l'icone .
function XPaskfileType myPrompt,[theFile,theTypes] function XPAnswerFile myPrompt,[theFolder,theTypes] function XPAnswerFolder myPrompt,[theFolder] |
myPrompt est le message affiché dans le dialogue theTypes est la liste des types de fichiers désirés. par exemple :
theFile et theFolder représentent la destination désirée. |
XPdefaultbrowser
Rend le navigateur, le mail et le client FTP par défaut au moyen de la fonction XPDefaultBrowser([protocol] de la libimage XPlatForm.
Protocole spécifié : http (valeur par défaut), ftp, mailto.
Le bouton "Mime Type" donne le type Mime d'un fichier.
Le bouton "Encoder image..." donne une data url de l'image en base 64.
Correction accents fichiers Ubuntu
Réencode correctement les noms de fichiers importés depuis un Mac vers Ubuntu.
Les fichiers de MacOs dont le nom contient des accents peuvent poser des problèmes quand on les importe dans Ubuntu. Si l'on liste le contenu d'une directory, que l'on cherche à utiliser les éléments, certains sont vus comme inexistants même si la machine fonctionne en UTF-8. Pourquoi ? (Voir cette page Wikipedia sur l’équivalence Unicode.)
En effet, UTF-8 permet d’encoder les caractères accentués de deux façons différentes :
- soit un caractère accentué « direct » dit composé (format NFC = Fully Composed) — U+00E9 pour le « é » — ;
- soit un caractère dit décomposé (format NFD = Fully Decomposed), c’est à dire la lettre de base U+0065 pour la lettre e, accompagnée d’un caractère dit combinant, l’accent aigu (U+0301).
MacOS encode les caractères de manière décomposée, notamment les caractères accentués. Sous Linux, on peut corriger cela avec l’utilitaire convmv :
convmv -f utf8 -t utf8 --nfc -r --notest <dossier>
Au cas où le Terminal retourne La commande « convmv » n'a pas été trouvée, mais peut être installée… tapez :
sudo apt install convmv
Utilisez cette carte pour faire vos conversions, une fois convmv installé.
XPFileList parambuilder
Outil de création des paramètres nécessaires à la fonction XPFileList()
XPFileList() appartient à la Libimage XPlatForm et donne une liste des fichiers (ou des dossiers) avec une ligne pour chaque élément. Les items sont séparées par des tabulations, le premier item étant le nom (ou le fullpath) du fichier, suivi des attributs demandés :
XPFileList(theFolder,extensionsList,attributs)
Saisissez les extensions de fichiers souhaitées et les attributs de filtrage (visibilité, sous dossiers, fullpath) puis cliquez dans l'ordre souhaité les attributs désirés. Le script est généré automatiquement et peut être testé.
Copiez le script généré au moyen de l'icone .
theFolder | Chemin complet du dossier à explorer. | ||||||||||||||||||||||
extensionsList | Liste d'extensions de fichiers : "jpg,png,gif" par exemple ou "folders" pour obtenir une liste des dossiers. Si le paramètre est vide, tous les fichiers. Le mode "folders" est exclusif du mode « liste d'extensions ». Pour obtenir tous les dossiers et tous les fichiers, faire un premier appel avec "folders" et un second avec "", fusionner les deux résultats. | ||||||||||||||||||||||
attributs partie 1 | Partie présentation et filtrage : (ordre quelconque).
| ||||||||||||||||||||||
attributs partie 2 | Propriétés retournées pour chaque élément : l'ordre des attributs détermine l'ordre des items retournées dans le résultat.
La fonction donne une erreur si un attribut n'existe pas. |
Xpfolderpath()
XPfolderpath() appartient à la Libimage XPlatForm et remplace la fonction specialFolderPath() qui rend le chemin d'un dossier du Bureau Utilisateur en fonction d'un sélecteur.
Dans LiveCode, les sélecteurs de dossier utilisables par specialFolderPath dépendent de la plateforme.
XPfolderpath permet d'utiliser les valeurs de sélecteur propres à chaque plateforme système, mais aussi un jeu de « valeurs communes » d'une plateforme à une autre :
Valeur | Dossier correspondant selon plateforme |
---|---|
Applications | Applications, Program Files, /usr/bin |
Desktop | Bureau, DeskTop |
Documents | Documents, "Mes Documents", etc. |
Downloads | Dossier de téléchargements; sous Mac OS et Windows, répertoire choisi par l'utilisateur pour les téléchargements. |
Favorites | Favorites, Favoris |
Fonts | Fonts |
Home | Dossier ou Profil de l'utilisateur. |
Images | Images, "Images de User" |
KeyChains | Dossier contenant les fichiers Trousseau d'accès de l'utilisateur (OS X et Windows seulement). |
Movies | Vidéos, "Vidéos de User" |
Music | Musique, "Musique de User" |
Preferences | réglages de l'utilisateur (Préférences, Application Data) |
System | répertoire du système : System, WINDOWS, /lib |
System32 | (Windows seulement). |
Shared folder | Dossier partagé entre les comptes (OS X seulement). |
Temporary | fichiers temporaires : TEMP |
Trash | Corbeille. |
userAppleScripts | Dossier de scripts AppleScript de l'utilisateur (OS X). |
userApplicationSupport | Données utilisateur de Support aux applications (OS X). |
userLibrary | Bibliothèque de l'utilisateur (OS X seulement). |
Le nom restitué tient compte de la langue du compte utilisateur.
La variable globale gXPFolderpathResult rend "Folder not found" lorsqu'il n'existe pas de dossier correspondant au sélecteur fourni, elle est vide sinon.
Un outil permet de tester Xpfolderpath() :
- le menu local du haut correspond aux jeu de sélecteurs de dossiers disponibles sur votre plateforme;
- le menu local « Communs » correspond aux jeu de sélecteurs multi-plateforme;
En déroulant chacun des menus, vous pouvez voir le path du dossier correspondant sur votre plateforme, s'il existe.
Ouvrez l'emplacement correspondant au moyen du bouton .
XPGetMetas lecture metas d'une page
Fonction de lecture des metas d'une page HTML appartenant à la libimage XPlatForm : alimente un array dans la global gExtMetas avec les clés suivantes si elles sont trouvées dans le contenu d'une page HTML.
Clé gExtMetas | Valeur de meta |
---|---|
charset | charset de la page. |
isHTML5 | booléen indiquant que la page est en HTML5. |
langage | langue de la page. |
title | title. |
description | description. |
robots | meta robots. |
datecrea | date création(*) (dcterms.created ou Date-Creation-yyyymmdd). |
datemodif | date de modification(*) (dcterms.modified ou Date-Revision-yyyymmdd). |
smaporder | ordre de la page dans un plan de site. |
smaptitle | titre abrégé de la page dans un plan de site. |
dateindex | date d'index(*) (dcterms.issued ou Date-index-yyyymmdd). |
(*) meta dépendant du doctype de la page : html4 ou html5.
Zipper sans Resource Fork
Routine pour Mac OS X compressant un répertoire et les fichiers qu'il contient au format ZIP compatible Windows et Linux (la partie resource-fork des fichiers Mac est ignorée).
Syntaxe :
CompressFormatPC theSource,theDestination
theSource : path du répertoire /Users/UserName/Documents)
theDestination : path de l'archive (/Users/UserName/Desktop/archive.zip
Histoire d'un passage de Revolution Studio 2.7.4 à LiveCodeCommunity 9.6.3
Le 3/10/2022, arrivée de mon nouvel iMac sous Monterey qui remplace un autre iMac sous El Capitan que j'avais depuis 13 ans ; en migrant les données, je constate qu'un certain nombre d'applications n'est plus compatible avec le nouveau système, Revolution notamment. Heureusement, je trouve encore un LiveCodeCommunity 9.6.3, gratuit, pour me permettre de transposer mes piles au nouvel environnement système.
Format des piles et environnement
J'envisage d'abord une stratégie de portage des piles au nouvel environnement, puis d'enregistrer les piles au format Revolution 2.7 pour continuer de m'en servir sur mes vieux ordinateurs. Mais l'ajout de nouvelles propriétés et fonctions fait que, souvent, une pile « rétro-enregistrée» ne fonctionne pas et quelquefois ne s'ouvre même pas. Et comme LiveCodeCommunity 9.6.3 fonctionne sous Capitan, on peut passer à cette version sur toutes les machines.
Problèmes de compatibilité
Impressions sur la nouvelle version du produit
Il faut un peu de temps pour s'habituer au nouveau style des outils :
- Éditeur de scripts : les onglets du bas ne sont pas ergonomiques : pas assez de place pour voir source et variables dans une même fenêtre !
- Project browser : la vue hiérarchique est illogique car il faut déployer la vue par carte pour voir ensuite les substacks…
- Object inspector : l'éditeur de customs est inadapté, le champ de saisie est trop petit et instable, on voit très peu ce que l'on fait et on a très vite fait d'écraser la propriété voisine par mauvaise manipulation.
Le style de l'interface est plus moderne mais il est globalement moins ergonomique.
Cette interface est modernisée grâce au « Datagrid » si j'ai bien compris, mais comme ce n'est pas documenté, je n'ai pas envie de chercher des heures comment peaufiner l'aspect des champs et boutons : Datagrid me sert à rien.
Une approche logique aurait été de rendre LiveCode « CSS compatible » : en soi, LiveCode est un browser HTML, un certain nombre de propriétés css sont gérées et il y a une stratégie tournée vers le web ; alors pourquoi réinventer l'eau chaude ?
Problèmes de migration
La migration des piles à la nouvelle version m'a réservé quelques surprises :
- certaines customs maison sont devenues des propriétés standard (avec un usage différent bien sûr) par exemple : get the theme of this card…
- le nom et le style des "inks" ont totalement changés et n'étaient pas convertis ;
- le script au format html des objets était enregistré dans cREVGeneral[script] en version 2.74; le transfert en 9.6.3 ne retire pas ces données puisque l'éditeur ne s'en sert plus : résultat, on a le vrai script et une copie périmée en custom property ! J'ai dû écrire un script traitant tous les objets pour retirer les propriétés obsolètes de cRevGeneral. Gain de taille global des piles : 33% en moyenne…
Bilan avril 2023
La migration a été bien laborieuse : presque un mois de tâtonnements pour rétablir le fonctionnement de mes principales piles. 4 mois encore, pour fignoler et avec un gain d'ergonomie minime : au fond, une version 2.7.4 compatible 64 bits aurait suffi. Je pensais trouver beaucoup de nouvelles possibilités, ce n'est à mon avis pas le cas.
Problèmes rencontrés avec Ubuntu
- les players ne marchent pas. Essayé sans succès de mettre : set the videoClipPlayer to "/usr/bin/totem" (vidéo standard de gnome). Le Player reste invisible et non jouable. Apparemment pas de solution sous Linux.
- problème avec les fichiers importés depuis macOS vers Ubuntu dont le nom contient des accents : la commande get files(thefolder, "detailed-utf8") restitue des fichiers qui n’existent pas. En revanche cela marche si l’on crée ou renomme un fichier dans Ubuntu. L’anomalie provient du fait que macOS et Linux n'utilisent pas unicode de la même manière, le même caractère est codé différemment. Les fichiers macOS sont codés en unicode décomposé ce qui n'est pas le cas sous Ubuntu. La solution est de passer l'utilitaire convmv -f utf8 -t utf8 --nfc -r --notest <dossier> pour corriger les accents d’un dossier importé.
- le Presse-Papier ne marche pas entre Clipboard LiveCode et Linux : résolu en installant gnome-shell-extensions-gpaste. Pourquoi le Presse-Papier Ubuntu n’est il pas standard ? Mystère !
En conclusion : LiveCode peut fonctionner sous Linux si l’installateur fonctionne lui-même (L'installation sur Fedora38 échoue "Failed to load library 'gdk' (tried libgdk-x11-2.0.so.0) "), mais il faudra résoudre certains problèmes propres à la distribution.
date | version | évolutions |
---|---|---|
19/01/2024 | 2.20 |
Carte convmv permettant de corriger les accents de fichiers importés. XPlatform 2.26 : adaptations à Ubuntu. Préférences piles placées dans ".config" (/home/username/.config). Libimage Revo2HTML 1.5: nouvelle version extrayant les scripts et les colorisant dans un champs caché. Libimage backupstack 1.69: ajout de ExportMarkedCDs. |
15/04/2023 | 2.19 |
Adaptations à l'environnement LiveCode 9 : XPlatform 2.24 : adaptation XPFileList(); nouvelles fonctions XPExportPrefs et XPreadprefs pour gérer les préférences. Correction de bug sur XPChiffreEnLettres() et XPlibsize() ImagesTools 1.45 : amélioration de la prise en charge des images SVG ; AScriptlib 2.02 : adaptation getvolumes(), Volspecs(), ExportModule(backup iCal/Addressbook). backupstack 1.68 : codage en base64 de toutes les custom exportées, ajout d'une global gExportbackupTag; la table des éléments sauvegardés (saveitems) est maintenant une liste d'ID. |
4/06/2021 | 2.18 |
Pile redimensionnable. XPlatform 2.21 : fonction Ucode() codant les caractères accentués vers Unicode. Ajout fonction XPTimes(). Codage de dataurl SVG en utf-8. ImagesTools 1.43 : imageRotate, getPDFtag(). AScriptlib 1.99 : script «coupdoeil» pour afficher l'aperçu d'un texte. Intégration du backup iCal/Addressbook. Correction bug sur GetkMDItemDescription. |
12/04/2019 | 2.17 |
ImagesTools 1.41 : ajout GetDimensions(), erasegps et cameraModel. XPlatForm 2.20 : fonctions RTF. AScriptlib 1.96 : ajout de Safaritext(). |
30/06/2017 | 2.16 |
XPlatForm 2.18 : routine de conversion d'un montant en chiffres et incorporation des scripts makeExcel; fonction osxversion rendant le systemversion de OS X. backupstack 1.64 : nouveau script d'export des objets de carte. nouvelle carte Conversion Textedit. |
17/05/2016 | 2.15 |
XPlatForm 2.15 : ajout des fonction XPMimeType() type mime fichier, XPCodeImage() encodage d'une image en data url, XPdecodeImage() conversion data url base64 en fichier image, XPCopyFolder copie d'un répertoire et XPlibsize() taille d'un fichier en Ko et multiples. prise en compte bug LaunchServices avec Yosemite et El Capitan. AScriptlib 1.94 : exportFolderIcon, nouvelle version de SendAppleMail pour El Capitan |
20/11/2015 | 2.14 |
XPlatForm 2.14 : correction bug XPusableFolders() et sur systemversion() mal gérée à partir de Yosemite. AScriptLib 1.92 : Batterystate()et Move2Trash. ImagesTools 1.38 : global gImageOriginalSize enregistrant les dimensions d'une image redimensionnée par un SetThumb. Ajout du path complet vers exiftool pour Mac OS X Yosemite et El Capitan. Pile ChooseList : gestion de la touche entrée. |
1/7/2015 | 2.13 |
XPlatForm 2.13 : commande XPLaunch pour remplacer Launch qui ne marche pas toujours. ConvertOOClip conversion Presse-Papier OpenOffice Calc (données tabulées). AScriptLib 1.9 : ajout de showItem et hideItem pour afficher/cacher un élément fichier. openAccessPanel adapté à Yosemite. Script SendAppleMail (texte stylé ou pas) adapté pour Yosemite, fonctionne sous Snow Leopard. ImagesTools 1.37 : correction d'un bug sur les rotations d'images. |
3/12/2014 | 2.12 |
AlertPrompt 2.0 : ajout à l'alerte d'une barre d'avancement de traitement d'un lot. Libimages AScriptLib 1.8 pour la fonction isFinderBusy(), Backupstack 1.6 pour corriger un bug sur les groupes de boutons radio, ImagesTools 1.36 pour la gestion des données IPTC des films et XPlatForm 2.12 pour les fonctions XReplace(), CleanSpaces(). |
28/06/2014 | 2.11 | ImagesTools 1.35 pour le handler AlignDates et correction bugs sur "creator" et de problèmes sur keywords accentués |
18/03/2014 | 2.10 | AScriptLib 1.7 pour les fonctions volspecs(), VolNamefrompath(), GetFolderSize() et DesktopPosition(). XPlatForm 2.09 pour les fonctions XPChangeCase(), XPCleanDupItems(), HTMLtext2CSS(), XPBuildKeywords(), XPTitle2URL() et XPGetFolderSize(). ImagesTools 1.34 pour le handler RotateImageOrientation et les fonctions getimagestrings()et ShiftDates(). |
31/07/2013 | 2.09 | XPlatForm 2.07 pour les encodages et ajout pile CharSetPreview permettant de choisir par prévisualisation le charset d'un fichier. Revue de la documentation en ligne de la pile. |
2/07/2013 | 2.08 | Libimages XPlatform 2.06 (amélioration de xpFileEncoding()), ImagesTools 1.32 (correction bug sur affichage gifs animés) et BackupStack 1.53 (globale gExportBackUpDatasNames="true" pour utiliser le short name au lieu de l'ID des contrôles sauvegardés; Export de la géométrie d'une carte). |
9/05/2013 | 2.07 | Mise à niveau de la documentation. |
26/03/2013 | 2.06 | XPlatform 2.05 : XPGetMetas() lecture des metas d'une page HTML, XPCheckConnexion() vérification de la connexion internet. ImagesTools 1.31 correction d'un bug en export image. AppleScript 1.62 ajout de nouvelles fonctions. |
2/11/2012 | 2.05 | Libimage ImagesTools v 1.3 : support de la library ExifTool si elle est installée dans le système. AScriptLib 1.61 pour corriger un problème lorsqu'il y a plusieurs lignes dans le commentaire Finder d'un fichier. XPlatform 2.03 : alimente la globale gLongUserName : nom développé du compte utilisateur. |
1/10/2012 | 2.04 | Libimage ImagesTools v 1.2: certains appareils ou programmes initialisent la légende d'une image avec des espaces; considère qu'elle est absente dans ce cas. |
28/09/2012 | 2.03 | Libimage XPlatform v 2.02 avec fonction XPusableFolders() de filtrage des dossiers correspondant à un paquet (Mac OS X). Libimage Backupstack v 1.5 gérant les champs dont le texte est dans une police Unicode. |
25/08/2012 | 2.02 | Libimage ImagesTools v 1.1 ne rendant que les données exif renseignées. Revue script positionnement boutons et documentation en ligne. |
2/07/2012 | 2.01 | Nouvelle Libimage « ImagesTools » regroupant les scripts de EXIFlib, les scripts « images » de XPlatform et les scripts IPTC de AScriptLib. |
26/06/2012 | 2.0 | Nouveaux noms de sélecteurs de dossier pour la Libimage XPLatForm. Ajout d'un paramètre à XPdefaultBrowser() pour mailto et ftp. Optimisation du modèle de pile ChooseList (size auto, trame grisée, géométrie, scrollbar auto). |
7/06/2012 | 1.5 | Correction bug XPFileList avec des fichiers ou dossiers dont le nom contient une tabulation ou une virgule. |
28/03/2012 | 1.40 | fonction XPFileList() cataloguant les fichiers ou dossiers contenus dans un répertoire avec les attributs désirés. |
8/03/2012 | 1.3 | Libimage XPlatForm : scripts d'import/export d'images dans une pile. |
9/01/2012 | 1.2 | Libimage LCDownloadlib. |
19/12/2011 | 1.1 | Outil de gestion des versions de Libimages. Amélioration du navigateur de customs StackBrowser. |
1/12/2011 | 1.0 | Première version intégrant la pile XPlatFormScripts et les Libimages AScriptlib, BackupStack et Custom_lib. |