Manuel - Partie 7 : Système (Disques, Excel, Souris, DLL, ...)
Opérations disques, pilotage de feuilles Excel, événements souris, appels de DLL externes.
Système
(Disques, Excel, Souris, Messages, MIDI, DLL, …)
1 – Gestion des disques
2 – Gestion d’Excel
3 – Position de la souris et événements de souris
4 – Fenêtre message4.1 – Texte simple
4.2 – Message à acquitter
4.3 – Message à répondre par oui ou par non
4.4 – Message de saisie
4.5 – Titre5 – Exécuter un programme externe
6 – Réception des paramètres passés
7 – Notes individuelles en MIDI
8 – Appel d’une fonction de DLL
9 – Utiliser le port parallèle d’entrées-sorties
10 – Utiliser le port série d’entrées-sorties
11 – Chainer un programme source
12 – Gestion des erreurs
13 – Gestion du presse-papier
14 – Archivage
15 – Mail
16 – Informations sur le système
17 – Creer des fichiers executables autonomes
1 – Gestion des disques
Des informations sur les disques peuvent être obtenues.
DISK_EXISTS(D)Retourne 1 si le disque D existe, 0 sinon. DISK_KILO_FREE(D)Retourne l’espace disponible sur le disque D. DISK_KILO_SIZE(D)Retourne la taille du disque D.
2 – Gestion d’Excel
Excel peut être lancé, arrêté. (Excel est un logiciel Microsoft protégé par le droit d’auteur).
Une nouvelle feuille (fichier) peut être créée.
Il est possible de lire ou écrire dans n’importe quelle cellule d’un fichier.
Il est possible d’ouvrir plusieurs feuilles (fichiers) par la commandeEXCEL_FILE_NEW.
EXCEL_STARTDémarre Microsoft Excel (si installé sur le système). EXCEL_STOPArrête Microsoft Excel. EXCEL_FILE_NEWNCrée un nouveau fichier Excel numéro N (crée une nouvelle feuille). EXCEL_FILE_OPENN, « Nom »Ouvre le fichier Excel Nom et lui attribue le numéro N. EXCEL_FILE_CLOSENFerme le fichier Excel numéro N. EXCEL_WRITECellule, TÉcrit T dans une cellule Excel. EXCEL_READ$(Cellule)Retourne le contenu d’une cellule Excel.
3 – Position de la souris et événements de souris
Pour connaître en temps réel la position de curseur de la souris sur un objet système et l’état des touches.
La position origine (X=0, Y=0) est la position du coin supérieur gauche de l’objet.
L’objet utilisé est unSCENE3Dou unPICTURE(aucune commande sur un objet d’un autre type).Ces mots-clés sont conçus pour développer beaucoup de jeux 2D et 3D !
MOUSE_X_POSITION(N)Retourne la position en X de la souris sur l’objet numéro N. MOUSE_Y_POSITION(N)Retourne la position en Y de la souris sur l’objet numéro N. MOUSE_RIGHT_DOWN(N)Retourne 1 si le bouton droit de la souris est enfoncé sur l’objet numéro N, 0 sinon, puis remet cette valeur à 0. MOUSE_LEFT_DOWN(N)Retourne 1 si le bouton gauche de la souris est enfoncé sur l’objet numéro N, 0 sinon, puis remet cette valeur à 0. MOUSE_RIGHT_UP(N)Retourne 1 si le bouton droit de la souris est relâché sur l’objet numéro N, 0 sinon, puis remet cette valeur à 0. MOUSE_LEFT_UP(N)Retourne 1 si le bouton gauche de la souris est relâché sur l’objet numéro N, 0 sinon, puis remet cette valeur à 0. MOUSE_X_RIGHT_DOWN(N)Retourne la position en X de la souris quand le bouton droit de la souris est enfoncé sur l’objet numéro N. Sans objet si MOUSE_RIGHT_DOWN(N)vaut 0.MOUSE_Y_RIGHT_DOWN(N)Retourne la position en Y de la souris quand le bouton droit de la souris est enfoncé sur l’objet numéro N. Sans objet si MOUSE_RIGHT_DOWN(N)vaut 0.MOUSE_X_LEFT_DOWN(N)Retourne la position en X de la souris quand le bouton gauche de la souris est enfoncé sur l’objet numéro N. Sans objet si MOUSE_LEFT_DOWN(N)vaut 0.MOUSE_Y_LEFT_DOWN(N)Retourne la position en Y de la souris quand le bouton gauche de la souris est enfoncé sur l’objet numéro N. Sans objet si MOUSE_LEFT_DOWN(N)vaut 0.MOUSE_X_RIGHT_UP(N)Retourne la position en X de la souris quand le bouton droit de la souris est relâché sur l’objet numéro N. Sans objet si MOUSE_RIGHT_UP(N)vaut 0.MOUSE_Y_RIGHT_UP(N)Retourne la position en Y de la souris quand le bouton droit de la souris est relaché sur l’objet numéro N. Sans objet si MOUSE_RIGHT_UP(N)vaut 0.MOUSE_X_LEFT_UP(N)Retourne la position en X de la souris quand le bouton gauche de la souris est relâché sur l’objet numéro N. Sans objet si MOUSE_LEFT_UP(N)vaut 0.MOUSE_Y_LEFT_UP(N)Retourne la position en Y de la souris quand le bouton gauche de la souris est relâché sur l’objet numéro N. Sans objet si MOUSE_LEFT_UP(N)vaut 0.
4 – Fenêtre message
Pour visualiser un texte dans une fenêtre à valider ou pour attendre une saisie de l’utilisateur.
Remarque : le programme est arrêté pendant l’affichage de la fenêtre (il attend la réponse) et reprend aussitôt que l’utilisateur ferme la fenêtre-message.
4.1 – Texte simple
MESSAGETVisualise la ligne de texte T dans une fenêtre.
4.2 – Message à acquitter
Fonctions affichant une fenêtre à 1 bouton et qui retourne :
- 0 quand l’utilisateur ferme la fenêtre en cliquant sur l’icône de fermeture (croix rouge) ;
- 1 quand l’utilisateur ferme la fenêtre en cliquant sur le bouton OK.
MESSAGE_CONFIRMATION_OK()Visualise un message de confirmation à acquitter (fenêtre avec un texte, un point d’interrogation et un bouton) MESSAGE_ERROR_OK()Visualise un message d’erreur à acquitter (fenêtre avec un texte, un panneau rouge d’erreur et un bouton) MESSAGE_INFORMATION_OK()Visualise un message d’information à acquitter (fenêtre avec un texte, un grand « I » et un bouton) MESSAGE_WARNING_OK()Visualise un message d’avertissement à acquitter (fenêtre avec un texte, un point d’exclamation et un bouton)
4.3 – Message à répondre par oui ou par non
Fonctions affichant une fenêtre à 2 boutons et qui retournent :
- 0 quand l’utilisateur ferme la fenêtre en cliquant sur l’icône de fermeture (croix rouge) ;
- 1 quand l’utilisateur ferme la fenêtre en cliquant sur le bouton YES ;
- 2 quand l’utilisateur ferme la fenêtre en cliquant sur le bouton NO.
MESSAGE_CONFIRMATION_YES_NO()Visualise un message de confirmation en demandant de répondre par oui ou par non (fenêtre avec un texte, un point d’interrogation et deux boutons) MESSAGE_ERROR_YES_NO()Visualise un message d’erreur en demandant de répondre par oui ou par non (fenêtre avec un texte, un panneau rouge d’erreur et deux boutons) MESSAGE_INFORMATION_YES_NO()Visualise un message d’information en demandant de répondre par oui ou par non (fenêtre avec un texte, un grand « I » et deux boutons) MESSAGE_WARNING_YES_NO()Visualise un message d’avertissement en demandant de répondre par oui ou par non (fenêtre avec un texte, un point d’exclamation et deux boutons)
4.4 – Message de saisie
MESSAGE_INPUT()Visualise un message de saisie contenant un caption, unALPHA, unEDITet deux boutons. La réponse est lue dansMESSAGE_TEXT$().MESSAGE_INPUT$()Visualise un message de saisie contenant un caption, unALPHA, unEDITet deux boutons. La réponse retournée par la fonction.
4.5 – Titre
APPLICATION_TITLETDonne un titre à l’application et aux fenêtres MESSAGE.
5 – Exécuter un programme externe
Il est possible d’exécuter un programme externe en lui passant des paramètres.
Le programme appelant peut attendre ou pas la fin de l’exécution du programme appelé.
EXECUTE« c:\MonPrg.exe »Exécute le programme « c:\MonPrg.exe ». EXECUTE« c:\MonPrg.exe | 30 5″Exécute le programme « c:\MonPrg.exe » et lui passe les paramètres 30 et 5. EXECUTE_WAIT« c:\MonPrg.exe »Exécute le programme « c:\MonPrg.exe » et attend la fin. EXECUTE_WAIT« c:\MonPrg.exe | 30 5″Exécute le programme « c:\MonPrg.exe » en lui passant les paramètres 30 et 5 et attend la fin.
6 – Réception des paramètres passés
Pour utiliser les paramètres passés lors de l’appel de l’exécutable (EXE) :
PARAM_NUMBERVariable système qui retourne le nombre de paramètres passés lors de l’appel. PARAM_VALUE$(N)Retourne la valeur du Nème paramètre passé lors de l’appel.
7 – Notes individuelles en MIDI
Pour jouer des notes individuelles sur la carte son, il faut d’abord allouer des ressources par
MIDI_ON.
Les notes sont jouées parMIDI_PLAY. Le volume peut être modifié parMIDI_VOLUME.
Quand les notes ont été jouées, on libère les ressources parMIDI_OFF:
MIDI_ONDémarre l’utilisation individuelle des notes sur la sortie MIDI. MIDI_PLAYN, TJoue la note N de type T sur la sortie MIDI. MIDI_VOLUMEVModifie le volume des notes jouées sur la sortie MIDI. MIDI_OFFArrête l’utilisation individuelle des notes sur la sortie MIDI. Dans la commande
MIDI_PLAYN, T
N représente la note avec la convention MIDI ( 60 = Do, 62 = Ré, …) et T représente sa durée.T est la durée de la note, de 0 à 11, définie comme suit :
T Note Durée en millisecondes 0 ronde 4000 1 ronde pointée 6000 2 blanche 2000 3 blanche pointée 3000 4 noire 1000 5 noire pointée 1500 6 croche pointée 500 7 ronde pointée 750 8 double croche 250 9 double croche pointée 375 10 triple croche 125 11 triple croche pointée 188
8 – Appel d’une fonction de la DLL
Pour appeler une fonction contenue dans une DLL (Dynamic Link Library c’est à dire « bibliothèque de liens dynamiques »),
il faut d’abord charger la DLL en mémoire parDLL_ON.
Les appels de fonctions se font par des commandesDLL_CALL n, n étant le nombre de paramètres.
Quand la DLL n’est plus utile, la place qu’elle occupait en mémoire peut être libérée parDLL_OFF.
DLL_ONDChargement en mémoire de la DLL D. DLL_CALL0(F)Retourne la valeur fournie par la fonction F, appelée sans aucun paramètre. DLL_CALL1(F, P1)Retourne la valeur fournie par la fonction F, appelée avec 1 paramètre. DLL_CALL2(F, P1, P2)Retourne la valeur fournie par la fonction F, appelée avec 2 paramètres. DLL_CALL3(F, P1, P2, P3)Retourne la valeur fournie par la fonction F, appelée avec 3 paramètres. DLL_CALL4(F, P1, P2, P3, P4)Retourne la valeur fournie par la fonction F, appelée avec 4 paramètres. DLL_CALL5(F, P1, P2, P3, P4, P5)Retourne la valeur fournie par la fonction F, appelée avec 5 paramètres. DLL_CALL6(F, P1, P2, P3, P4, P5, P6)Retourne la valeur fournie par la fonction F, appelée avec 6 paramètres. DLL_OFFLibère la mémoire.
Pour certaines fonctions il peut être utile de passer en paramètre l’adresse d’une variable ou le handle d’un objet système :
ADR(V)Retourne l’adresse de la variable V. HANDLE(N)Retourne le handle de l’objet système numéro N. HANDLE_CANVAS(N)Retourne le handle de la zone graphique de l’objet système numéro N. HANDLE_FORM(T$)Retourne le handle du FORMayant T$ comme titre.HANDLE_APPLICATIONRetourne le handle de l’application courante.
9 – Utiliser le port parallèle d’entrées-sorties
Pour utiliser la prise imprimante comme moyen d’entrée-sortie.
Toute séquence d’utilisation du port parallèle doit commencer par la commandePARALLEL_ONet se terminer parPARALLEL_OFF.
La DLL inpout.dll est nécessaire.En général, le port parallèle a ses sorties en 888 et ses entrées en 890.
PARALLEL_ONDébut d’une séquence d’utilisation du port parallèle. PARALLEL_OUTN, VEnvoie la valeur V sur le port parallèle N. PARALLEL_INP(N)Retourne la valeur lue sur le port parallèle N. PARALLEL_OFFFin d’une séquence d’utilisation du port parallèle.
10 – Utiliser le port série d’entrées-sorties
Pour utiliser la prise série comme moyen d’entrée-sortie.
Toute séquence d’utilisation du port série doit commencer par la création d’un objetSERIAL.
SERIALNCrée un objet système SERIALet lui donne le numéro N comme référence.SERIAL_BAUDRATEN,RDéfinit la vitesse en Bauds R de la liaison série numéro N. SERIAL_CLOSENArrête les échanges de la liaison série numéro N. SERIAL_DATABITSN,DDéfinit le nombre de bits de donnée D de la liaison série numéro N. SERIAL_OPENNDémarre les échanges de la liaison série numéro N. SERIAL_PARITYN,PDéfinit les bits de parité P de la liaison série numéro N. SERIAL_PORTN,PDéfinit le numéro de port de la liaison série numéro N. SERIAL_STOPBITSN,SDéfinit le nombre de bits de stop S de la liaison série numéro N. SERIAL_WRITEN,V$Envoie la chaine de caractères V$ sur la liaison série numéro N. ON_RECEIVEN,LExécute le programme à partir du label L quand un caractère est reçu sur la liaison série numéro N. SERIAL_READ$(N)Lit les caractères reçus sur la liaison série numéro N. SERIAL_PORT_EXISTS(X)Retourne 1 si le port série numéro X existe, 0 sinon.
11 – Chaîner un programme source
Il est possible de charger puis d’exécuter un programme source.
Dans ce cas, toutes les variables utilisées et tous les objets système, 3D, SPRITE sont détruits.
CHAINFEnchaîne le source contenu dans le fichier F.
12 – Gestion des erreurs
Mode TRACE : examiner l’exécution dans un fichier de traçage.
TRACE_ONFDémarre le mode trace et crée le fichier texte F. TRACE_OFFArrête le mode trace et ferme le fichier texte F.
Saut en cas d’erreur.
ON_ERROR_GOTOLSi erreur, saute à la partie du programme qui commence par « L: » OFF_ERROR_GOTOAnnule la commande ON_ERROR_GOTO.
Description d’erreur.
ERROR_FRENCHChoisit le français comme langue de description d’erreur. ERROR_ENGLISHChoisit l’anglais comme langue de description d’erreur. ERROR_LINERetourne le numéro de ligne de l’erreur. ERROR_NUMBERRetourne le numéro de l’erreur. ERROR_TYPE$Retourne le type de l’erreur.
13 – Gestion du presse-papier
CLIPBOARD_STRING_COPYSCopie dans le presse-papier l’ expression string S. V$= CLIPBOARD_STRING_PASTEColle le texte du presse-papier dans la variable string V$.
14 – Archivage
ARCHIVER_ONDémarre l’archiveur. ARCHIVER_OFFArrête l’archiveur. ARCHIVER_ADDD, FArchive les fichiers du répertoire D dans le fichier F. ARCHIVER_EXTRACTF, DExtrait le fichier archive F dans le répertoire D.
15 – Mail
MAIL_SENDA,S,BEnvoie un e-mail d’objet S et de texte B à l’adresse A.
16 – Informations sur le système
VERSION$Retourne la version de Panoramic. SYSTEM$Retourne le système actuellement utilisé (Windows, Android, MACOS). ENVIRONMENT$Retourne l’environnement utilisé (Classic, Multiplf). NUMBER_TICKSRetourne le nombre de millisecondes écoulées depuis le démarrage du système.
17 – Créer des fichiers exécutables autonomes
Fichier / Exécutable (exe) : crée un fichier exécutable autonome (.EXE).
Fichier / Application (exe) : crée un fichier exécutable autonome (.EXE) contenant vos fichiers TXT, JPG et BMP (application)
Pour utiliser de tels fichiers, il n’est pas nécessaire de posséder PANORAMIC.
Vous pouvez distribuer librement vos propres fichiers exécutables autonomes sans aucune redevance.
Contenu créé par Jack. Mise à jour le 01 mars 2025