Accueil        Lexique        UNITéS        Algorithmes        Tutoriel   

Les unités de Pure Pascal (langage Pascal pour les ordinateurs de la gamme Atari ST), compatible Turbo Pascal.

Unité GEM : Fonction appl_search

Cette page a été ajoutée au document HLP Atari d'Origine, car manquante

Déclaration

function appl_search( ap_smode : Integer; var ap_sname : String; var ap_stype, ap_sid : Integer ) : Integer;

Description

Selon les paramètres, la fonction appl_search recherche les noms de fichiers de diverses applications exécutées sur le système. Les cas suivants s'appliquent :
Paramètre Signification
ap_smode Recherche :
  • APP_FIRST 0 : Première application
  • APP_NEXT 1 : Application suivante
  • APP_DESK 2 : Shell système
  • APP_TASKINFO 0x100 : Demande d'informations sur la tâche,
    Bit XaAES pouvant être ajouté.
ap_sname Tampon contenant le nom du fichier d'application trouvé (au moins 9 octets, dont un octet NULL de fin)
ap_stype Type de processus (vecteur binaire) :
  • APP_SYSTEM 0x001 Processus système
  • APP_APPLICATION 0x002 Application
  • APP_ACCESSORY 0x004 Accessoire
  • APP_SHELL 0x008 Shell système
  • APP_AESSYS 0x010 Processus système AES, XaAES
  • APP_AESTHREAD 0x020 Thread système AES, XaAES
  • APP_HIDDEN 0x100 Tâche désactivée,
    XaAES uniquement pour APP_TASKINFO
  • APP_FOCUS 0x200 Application active,
    XaAES uniquement pour APP_TASKINFO
ap_sid ID de l'application trouvée
Il est possible d'obtenir le nom long de l'application si l'on connaît son identifiant. Ce nom long est celui transmis par l'application lors d'un appel à menu_register et est également affiché dans la barre de menus.

Si l'identifiant apid d'une application est connu, son nom long sera transféré dans le tampon longname par un appel à appl_search :

appl_search(-apid, @longname[0], @type, @pid)
type correspond ici au masque binaire du type d'application, également renvoyé normalement ; pid correspond au PID MiNT (et non à apid) de l'application.

Le premier paramètre à transmettre est donc la valeur négative de l'identifiant de l'application pour obtenir le nom long de cette application. Ce nom peut comporter jusqu'à 32 caractères (31 caractères plus l'octet NULL de fin). Il est donc conseillé de réserver un tampon de taille correspondante pour longname.

APP_TASKINFO renvoie automatiquement le nom long d'une application et est disponible uniquement sous XaAES.

Cette routine ne permet pas de trouver de threads.

Geneva propose trois modes supplémentaires :

  • X_APS_CHEXIT (-1)
    Récupère le nom, l'ID et le type de la dernière application fermée. Cela permet à un programme recevant une notification CH_EXIT de déterminer le nom du programme fermé. Notez que ces informations ne sont pas mises en mémoire tampon ; cela signifie que si un processus se termine et que son parent n'effectue pas l'appel appl_search avant qu'un second ne le fasse, les informations ne refléteront plus le premier processus terminé.
  • X_APS_CHILD0 (0x7100)
    Récupère les données concernant l'enfant de l'application en cours ayant l'ID d'application le plus bas. (Il ne s'agit pas nécessairement de la première application enfant exécutée par le parent.)
  • X_APS_CHILD (0x7101)
    Récupère les données de chaque enfant supplémentaire de l'application en cours.

Résultat

La fonction renvoie la valeur 1 si aucune erreur ne s'est produite, ou la valeur 0 si aucune autre application n'est présente.

Disponibilité 

La présence de cette fonction peut être vérifiée avec appl_getinfo (code opération 4). Le nom long et les informations de la tâche peuvent être vérifiés avec appl_getinfo (code opération 64). Uniquement dans les versions AES 4.0 et supérieures.

Vous trouverez dans cette zone la liste de toutes les Unités (équivalent des "Librairies" en C) de Pure Pascal. Les Unités indiqués comme standards existent dans la majorité des compilateurs Pascal existant sur ordinateurs 16 bits et au dela (dont Turbo Pascal 3 mini). Les unités indiqués comme Atari sont spécifiques aux systèmes d'exploitation des Atari ST (TOS n.n).

Accès aux unités

Les menus déroulants de chaque unité sont des accès directs aux procédures et fonctions, classés alphabétiquement (sans tenir compte de la casse, puisque le langage Pascal ne tient pas compte de la casse!)
CRT (Standard)

DOS (Standard)

GEM : AES (Atari)

GEM : VDI (Atari)

Graph (Standard)

Overlay (Standard)

Printer Strings (Standard)

System (Standard)

TOS : BIOS (Atari)

TOS : GEMDOS (Atari)

TOS : XBIOS (Atari)

Cette page Unités est issu du fichier UNIT.HLP de la documentation de Pure Pascal (d'Application Systems Heidelberg), qui a été convertie en format TXT puis traduite de l'Allemand grâce à Google Translator : des milliers de copier/coller de et vers Google translator ont été nécessaires, ne connaissant pas un mot d'Allemand!

Les unités CRT, DOS, Graph, Overlay, Printer et System sont standard à TOUS les compilateurs Pascal compatible avec Turbo Pascal 5. L'unité String a été introduit avec Turbo Pascal 7 (Et Pure Pascal 1.1) et permet de manipuler les chaines de caractères de type langage C. Les Unités GEM (VDI et AES) et TOS (BIOS, GEMDOS et XBIOS) sont spécifiques au système Atari ST et contiennent parfois des fonctions équivalentes à certaines fonctions des Unités générales (notamment BIOS). Les fonction XBIOS sont des fonctions permettant de tirer pleinement partie du matériel spécifique Atari, notamment Falcon (Audio, DSP, Blitter, Résolutions étendues etc)


Copyright © 2021 par Albatros Concept (Bruno Aubin)