Tutoriel 4D pack V13
Cours de 4D pack V13 sur les commandes principaux
…
La commande AP FCLOSE referme le canal ou le fichier ouvert précédemment par la commande AP Fopen.
AP fopen ( ; mode ) -> Résultat
Paramètre Type Description
Chaîne Nom du fichier ou du port qui doit être ouvert
mode Entier Mode d'ouverture 0 = en écriture seule 1 = en lecture seule
Résultat Entier long Valeur qui doit être utilisée avec AP FPRINT, ou 0 si le fichier ou le port ne peut pas être ouvert
Description
La commande AP fopen appelle la commande C ANSI fopen, qui permet d'ouvrir des canaux série ou parallèle (sous Windows), ou encore de créer directement des fichiers.
La valeur retournée par cette commande permet ensuite l'écriture à l'aide la commande AP FPRINT dans le canal ou le fichier ouvert. Le fichier ou le canal ouvert peut alors être refermé à l'aide de la commande AP FCLOSE.
Note : Sous Mac OS, cette commande permet uniquement de créer des fichiers.
Exemple 1
Ecriture de "hello world" dans le port parallèle :
port:=AP fopen("LPT1";0)
AP FPRINT(port;"hello world") AP FCLOSE(port)
Exemple 2
Ecriture de "hello world" dans le port série :
port:=AP fopen("COM1";0)
AP FPRINT(port;"hello world") AP FCLOSE(port)
Exemple 3
Ecriture de "hello world" dans le fichier "MonDoc.txt" :
port:=AP fopen("C:\MonDoc.txt";0) AP FPRINT(port;"hello world") AP FCLOSE(port)
Exemple 4
Lecture d'un fichier :
port:=AP fopen("C:\MonDoc.txt";1) MaVar:=AP fread(port) AP FCLOSE(port)
AP FPRJNT
AP FPRINT ( valeurFopen ; données )
Paramètre Type Description
valeurFopen Entier long Référence de canal ou de fichier retournée par la commande AP Fopen données Texte Données à envoyer
Description
La commande AP FPRINT envoie le texte contenu dans le paramètre données sur le canal ou le fichier ouvert par la commande AP Fopen référencé par valeurFopen.
Les données sont envoyées telles quelles, sans conversion. 4D travaillant en interne avec des données en ASCII étendu au format Mac OS, il vous appartient sur PC d'effectuer les conversions éventuelles, en utilisant par exemple la commande Mac vers Windows.
AP fread ( valeurFopen ) -> Résultat
Paramètre Type Description
valeurFopen Entier long Référence de canal ou de fichier retournée par la commande AP Fopen
Résultat Texte Texte en provenance du fichier ou du canal
Description
La commande AP fread lit le texte en provenance du canal ou du fichier ouvert par la commande AP Fopen désigné par le paramètre valeurFopen.
Les données sont lues telles quelles, sans conversion. 4D travaillant en interne avec des données en ASCII étendu au format Mac OS, il vous appartient donc sur PC d'effectuer les conversions éventuelles, en utilisant par exemple la commande Windows vers Mac.
4D_Pack : External Clock
_AP External clock AP SET CLOCK
AP External clock _
_AP External clock
Ne requiert pas de paramètre
Description
La zone externe _AP External clock dessine une horloge analogique en utilisant la ressource PICT 17890 placée dans le plug-in 4D_Pack pour tracer le cadran de l'horloge.
Vous pouvez, si vous le souhaitez, dessiner vous-même votre horloge et modifier la PICT 17890 située dans les ressources de 4D_Pack. Cette ressource PICT peut être créée sur un Macintosh, par exemple à l'aide de l'application ResEditTM. L'image peut avoir une taille quelconque, la taille des aiguilles s'adaptera à la taille du cadran que vous avez dessiné. De même, la forme du cadran ne doit pas forcément être contenue dans un carré, mais peut être dans un rectangle quelconque.
Par défaut, l'horloge affiche l'heure du système, mais la commande AP SET CLOCK permet de définir un décalage entre l'heure affichée par le cadran et l'heure courante. De cette façon, vous pouvez par exemple afficher une batterie d'horloges correspondant chacune à un fuseau horaire différent.
AP SET CLOCK
AP SET CLOCK ( horloge ; heure ; minute )
Paramètre Type Description
horloge Entier long Zone externe _AP External clock
heure Entier Décalage demandé en heures
minute Entier Décalage demandé en minutes
Description
La commande AP SET CLOCK permet de fixer le décalage de l'horloge affichée par la zone externe _AP External clock.
En fixant un décalage par rapport à l'heure du système, vous pouvez afficher l'heure d'un pays situé dans un autre fuseau horaire.
4D_Pack : Picture Files
AP Save BMP 8 bits
AP Save BMP 8 bits
AP Save BMP 8 bits ( image ; fichier ) -> Résultat
Paramètre Type Description
image Image Image 4D à convertir
fichier Texte Nom du fichier
Résultat Entier long Code d'erreur
Description
Note de compatibilité : Cette commande est désormais obsolète, elle est conservée pour des raisons de compatibilité uniquement et sera supprimée dans les prochaines versions du plug-in. Il est fortement recommandé d'utiliser les commandes du thème "Images" de 4D.
La commande AP Save BMP 8 bits permet de convertir et d'enregistrer une image PICT au format BMP en 8 bits non compressés (256 couleurs).
Vous passez dans le paramètre fichier le nom et le chemin d'accès du fichier à créer.
Important : Si un fichier de même nom existe déjà à l'emplacement choisi, il est remplacé sans avertissement. La commande retourne un code d'erreur système en cas de problème, et 0 si tout se passe bien.
4D_Pack : Printing
AP BLOB to print settings AP Print settings to BLOB
AP BLOB to print settings
AP BLOB to print settings ( paramImpression ; typeParam ) -> Résultat
Paramètre Type Description
paramImpression BLOB BLOB contenant les paramètres d’impression
typeParam Entier long 0 = configuration et impression, 1 = impression
Résultat Entier long 1 = opération réussie, 0 = pas d’imprimante courante, -1 = paramètres incorrects
Description
La commande AP BLOB to print settings remplace les paramètres d’impression courants de 4D par les paramètres stockés dans le BLOB paramImpression. Ce BLOB doit avoir été généré par la commande AP Print settings to BLOB.
Le paramètre paramImpression contient deux types de paramètres :
les paramètres de configuration : papier, orientation, échelle,
les paramètres d’impression proprement dit : nombre de copies, alimentation, etc.
Vous pouvez choisir de ne charger que les paramètres d’impression. Si vous passez 0 dans typeParam ou omettez ce paramètre, tous les paramètres sont utilisés. Si vous passez 1, seuls les paramètres d’impression sont utilisés ; les paramètres de configuration d’impression sont inchangés.
Les nouveaux paramètres d’impression sont appliqués à la totalité de la base et pour toute la session, tant qu’aucune commande telle que UTILISER PARAMETRES IMPRESSION, FIXER OPTION IMPRESSION ou IMPRIMER SELECTION sans le paramètre > ne les modifie.
Les paramètres définis sont notamment utilisés par les commandes IMPRIMER SELECTION, IMPRIMER ETIQUETTES, IMPRIMER ENREGISTREMENT, Imprimer ligne et QR ETAT, ainsi que par les commandes de menus de 4D, y compris en mode Développement.
Les commandes IMPRIMER SELECTION, IMPRIMER ETIQUETTES, IMPRIMER ENREGISTREMENT doivent impérativement être appelées avec le paramètre > (le cas échéant) afin que le paramétrage défini par AP BLOB to print settings soit conservé. Note : Les paramètres d’impression ne sont pas formatés de la même manière sous Windows et Mac OS. Par conséquent, la compatibilité du BLOB paramImpression entre les deux plates-formes n’est pas garantie.
La commande retourne 1 si le BLOB a été correctement chargé, 0 si aucune imprimante courante n’est sélectionnée et -1 si le BLOB est incorrect.
AP Print settings to BLOB
AP Print settings to BLOB ( paramImpression ) -> Résultat
Paramètre Type Description
paramImpression BLOB BLOB devant recevoir les paramètres d’impression
Résultat Entier long Code d’erreur : 1 = opération réussie 0 = pas d’imprimante courante
Description
La commande AP Print settings to BLOB stocke les paramètres d’impression courants de 4D dans le BLOB paramImpression. Le paramètre paramImpression stocke tous les paramètres utilisés pour l’impression :
les paramètres de configuration : papier, orientation, échelle,
les paramètres d’impression proprement dit : nombre de copies, alimentation, etc.
Le BLOB généré ne doit pas être modifié par programmation, il ne peut être exploité que par la commande AP BLOB to print settings.
La commande retourne 1 si le BLOB a été correctement généré et 0 si aucune imprimante courante n’est sélectionnée.
4D_Pack : User interface
AP FULL SCREEN
AP NORMAL SCREEN AP Rect dragger
AP FULL SCREEN
AP FULL SCREEN
Ne requiert pas de paramètre
Description
La commande AP FULL SCREEN permet de masquer la barre de menus et la barre de titre de la fenêtre de l'application 4D, et de la passer en plein écran.
Cette commande permet d'exploiter la totalité de l'écran, ce qui est très intéressant par exemple dans le cas d'une application multimédia, d'une borne interactive ou d'un jeu.
Note : Cette commande fonctionne uniquement sous Windows.
AP NORMAL SCREEN
AP NORMAL SCREEN
Ne requiert pas de paramètre
Description
La commande AP NORMAL SCREEN permet de faire réapparaître la barre de menus et la barre de titre de la fenêtre de l'application 4D qui avaient été précédemment masquées par la commande AP FULL SCREEN.
Note : Cette commande fonctionne uniquement sous Windows.
AP Rect dragger
AP Rect dragger ( gauche ; haut ; droit ; bas ; x ; y ) -> Résultat
Paramètre Type Description
gauche Entier long Coordonnée gauche du rectangle
haut Entier long Coordonnée supérieure du rectangle
droit Entier long Coordonnée droite du rectangle
bas Entier long Coordonnée inférieure du rectangle
x Entier long Position horizontale d'arrivée la souris
y Entier long Position verticale d'arrivée de la souris
Résultat Entier Numéro du process de destination
Description
Note de compatibilité : A compter de 4D v12, cette commande n'est plus prise en charge sous Mac OS.
La commande AP Rect dragger permet de simuler une opération de glisser-déposer ("drag and drop") à partir de 4D. On passe en paramètre les coordonnées de départ du rectangle à faire glisser, et on récupère dans x et y les coordonnées d'arrivée dans la fenêtre de destination.
Le paramètre retourné donne le numéro du process de destination, ce qui permet de gérer le glisser-déposer interprocess, en appelant par exemple le process de destination par un APPELER PROCESS.
Cette commande doit être appelée depuis un bouton invisible.
4D_Pack : Utilities
AP Create method
AP Does method exist
AP Get field irifos
AP Get table irifo
AP Get templates
AP Get tips state
AP Modify method
AP SET TIPS STATE
AP Timestamp to GMT
AP AVAILABLE MEMORY
AP Get file MD5 digest
AP GET PARAM
AP Get picture type
AP SET PARAM
AP ShellExecute
AP Create method
AP Create method ( nomMéthode ; tabPropriétés ; codeMéthode ; nomDossier ) -> Résultat
Paramètre Type Description
nomMéthode Chaîne Nom de la méthode à créer
tabPropriétés Tableau entier long Tableau des propriétés (7 valeurs)
codeMéthode BLOB BLOB contenant le texte de la méthode
nomDossier Chaîne Dossier de l’Explorateur dans lequel créer la méthode
Résultat Entier long Code d’erreur (0=pas d’erreur)
Description
La commande AP Create method vous permet d’ajouter une méthode projet dans la structure d’une base de données 4D (bases interprétées uniquement).
Passez le nom de la méthode dans le paramètre nomMéthode. Ce nom peut contenir jusqu’à 31 caractères et doit respecter les règles de nommage standard des objets du langage 4D. Si le nom passé comporte plus de 31 caractères, il est tronqué à 31.
Le tableau tabPropriétés permet de définir les propriétés de la méthode. Ce tableau doit avoir été déclaré au préalable en Entier long et comporter 7 lignes :
passez 1 dans tabPropriétés{1} si la méthode doit être visible, passez 0 dans le cas contraire.
passez 1 dans tabPropriétés{2} si la méthode doit être disponible via 4DACTION, 4DMETHOD et 4DSCRIPT, passez 0 dans le cas contraire.
passez 1 dans tabPropriétés{3} si la méthode doit être offerte comme Web Service, passez 0 dans le cas contraire.
si tabPropriétés{3} vaut 1, passez 1 dans tabPropriétés{4} si la méthode doit être publiée dans le WSDL, passez 0 dans le cas contraire.
passez 1 dans tabPropriétés{5} si la méthode doit être partagée entre les composants et la base hôte, et 0 dans le cas contraire.
passez 1 dans tabPropriétés{6} si la méthode doit être disponible via le SQL, et 0 dans le cas contraire.
passez 1 dans tabPropriétés{7} si la méthode doit disposer de l’attribut "Exécuter sur serveur", et 0 dans le cas contraire.
Passez dans codeMéthode un BLOB contenant le texte de la méthode. Si vous utilisez la commande TEXTE VERS BLOB pour remplir le BLOB, indiquez le format Mac Chaine en C (ou 0) comme 3e paramètre de cette commande.
Vous pouvez passer dans nomMéthode le texte d’une méthode ayant été stockée dans un fichier via la commande de menu Exporter la méthode... (dans ce cas, le texte inclut les commandes, constantes, etc., sous forme de références (tokens) et non de mots).
Passez dans nomDossier le nom du dossier de l’Explorateur dans lequel la méthode doit être créée. Les dossiers sont visibles dans la page Démarrage de l’Explorateur et permettent de classer les objets suivant des critères personnalisés. Ce paramètre est facultatif ; s’il est omis, la méthode est créée dans le dossier “Méthodes projet par défaut”.
Si la méthode est correctement créée, la commande retourne 0. Sinon, elle retourne un code d’erreur. Voici les codes retournés :
1 = Un paramètre de la commande est incorrect.
2 = Base en mode compilé, impossible de créer une méthode.
3 = Le paramètre nomMéthode est une chaîne vide. 4013 = Le nom de la méthode est invalide. 4014 = Impossible de créer la méthode.
Note : Cette commande ne fonctionne pas lorsqu'elle est exécutée depuis une application compilée et fusionnée avec 4D Desktop.
AP Does method exist
AP Does method exist ( nomMéthode ) -> Résultat
Paramètre Type Description
nomMéthode Chaîne Nom de la méthode à tester
Résultat Entier 0=la méthode n’existe pas, 1=la méthode existe déjà
Description
La commande AP Does method exist permet de savoir si une méthode projet nommée nomMéthode existe déjà dans la base de données courante. Cette commande ne tient pas compte des méthodes projet des composants installés dans la base.
Dans le cadre de l’utilisation de la commande AP Create method, cette commande a pour but d’éviter l’apparition d’un message d’erreur lorsqu’une méthode de même nom existe déjà.
AP Get field infos
AP Get field infos ( numTable ; numChamp ; tableLiée ; champLié ; attributs ; choix ) -> Résultat
Paramètre Type Description
numTable Entier Numéro de la table
numChamp Entier Numéro du champ
tableLiée Entier Related table
champLié Entier Related field
attributs Entier long Attributs du champ (mot d'état)
choix Chaîne Nom d'énumération
Résultat Entier Code d'erreur
Description
La commande AP Get field infos retourne des informations spécifiques sur le champ 4D dont vous passez les numéros de table et de champ dans les paramètres table et champ.
Si un lien part du champ, les variables tableLiée et champLié contiendront les numéros de la table et du champ lié, sinon ces variables prendront la valeur 0.
Chacun des 16 bits de l'entier attributs a une signification précise. Vous pouvez lire le contenu de ces bits grâce aux Opérateurs sur les bits proposés dans le langage de 4D.
Note : Les bits 3, 4, 7 et 9 sont actuellement inutilisés et réservés.
Bit Vaut 1 si le champ : Ignoré si le type est
15 est indexé Texte, Image, Sous-table ou Blob
14 est indexé unique Texte, Image, Sous-table, Blob, ou si le bit 15 est à 0
13 est obligatoire Sous-table
12 est énuméré Image, Sous-table ou Blob
11 est modifiable Sous-table ou Blob
10 est saisissable Sous-table ou Blob
8 est invisible
6 a un lien automatique N vers 1 Texte, Image, Sous-table ou Blob
5 a un lien automatique 1 vers N Texte, Image, Sous-table ou Blob
2 et a un lien automatique 1 vers N dont l'intégrité référentielle
1 est :
00 L'intégrité référentielle n'est pas activée 01 Ne modifie pas les enregistrements liés
10 Suppression des enregistrements liés
11 Interdiction de supprimer des enregistrements liés a un lien automatique N vers 1 avec mise à jour 0 automatique.
Texte, Image, Sous-table, Blob, ou si le bit 5 n'est pas fixé.
Si le bit 12 est défini, la variable choix contiendra le nom de l'énumération utilisée.
AP Get table info
AP Get table info ( numTable ; invisible ; suppression ) -> Résultat
Paramètre Type Description
numTable Entier Numéro de table
invisible Entier 1 = table invisible 0 = table visible
suppression Entier 1 = suppression physique des enregistrements 0 = suppression logique des enregistrements
Résultat Entier Code d'erreur
Description
La commande AP Get table info retourne les attributs de la table 4D dont vous avez passé le numéro dans le paramètre table. La variable invisible reçoit 1 si la table a été déclarée invisible en mode Développement, et 0 si la table est visible.
La variable suppression reçoit 1 si l'attribut "Définitivement supprimé" (suppression physique) a été sélectionné pour les enregistrements de la table, et 0 sinon (suppression logique).
Rappelons que la suppression physique d'un enregistrement est plus lente que sa suppression logique, mais cet attribut permet d'empêcher sa réapparition en cas de reconstruction de la base par analyse des marqueurs.
AP Get templates ( tabNomsModèles )
Paramètre Type Description
tabNomsModèles Tableau chaîne Noms des modèles
Description
La commande AP Get templates remplit le tableau tabNomsModèles avec la liste des noms de modèles de formulaires disponibles dans l’application 4D courante.
Les modèles de formulaires sont accessibles dans la boîte de dialogue de l’Assistant de création de formulaires de 4D. Les modèles disponibles par défaut sont par exemple Nostalgie, OSX, OSX (sans libellés), Philadelphia, Sao Paulo, etc. Les formulaires personnalisés construits via les pages avancées de l’Assistant peuvent être ajoutés en tant que modèles.
Cette commande est utile lors de l’utilisation de la commande AP Add table and fields afin de récupérer la liste des modèles disponibles.
Note : Cette commande ne fonctionne pas lorsqu'elle est exécutée depuis une application compilée et fusionnée avec 4D Desktop.
Si AP Get templates a été exécutée correctement, la commande retourne 0, sinon un code d’erreur est renvoyé.
Exemple
Cet exemple crée une fenêtre listant les modèles disponibles :
$ref:=Creer fenetre(<>FGauche;<>FHaut;450;400;8;"Liste des modèles")
TABLEAU ALPHA(255;TabModèles;0)
$error:=AP Get templates(TabModèles)
DIALOGUE([Table 1];"TabModèles")
FERMER FENETRE($ref)
AP Get tips state
AP Get tips state -> Résultat
Paramètre Type Description
Résultat Entier long Etat des info-bulles de 4D
Description
La commande AP Get tips state retourne 1 si les info-bulles (tips) de 4D sont affichées, sinon elle retourne 0.
AP Modify method
AP Modify method ( nomMéthode ; codeMéthode ) -> Résultat
Paramètre Type Description
nomMéthode Chaîne Nom de la méthode à modifier
codeMéthode BLOB BLOB contenant le texte de la méthode
Résultat Entier long Code d’erreur (0=pas d’erreur)
Description
La commande AP Modify method vous permet de modifier le code source d’une méthode projet dans la structure d'une base de données 4D (bases interprétées uniquement).
Passez le nom d’une méthode projet existante dans le paramètre nomMéthode (les noms des méthodes 4D peuvent contenir jusqu'à 31 caractères).
Passez dans codeMéthode un BLOB contenant le nouveau texte de la méthode. Si vous utilisez la commande TEXTE VERS BLOB pour remplir le BLOB, indiquez le format Mac Chaîne en C (ou 0) comme 3e paramètre de cette commande.
Si la méthode est correctement modifiée, la commande retourne 0. Sinon, elle retourne l’un des codes d’erreur suivants :
1 = Un paramètre de la commande est incorrect.
2 = Base en mode compilé, impossible de créer une méthode.
3 = Le paramètre nomMéthode est une chaîne vide. 4013 = Le nom de la méthode est invalide.
4015 = Impossible de modifier le code source de la méthode.
Note : Cette commande ne fonctionne pas lorsqu'elle est exécutée depuis une application compilée.
AP SET TIPS STATE
AP SET TIPS STATE ( état )
Paramètre Type Description
état Entier Affichage des info-bulles 0 = Ne pas afficher les info-bulles 1 = Afficher les info-bulles
Description
La commande AP SET TIPS STATE permet d'activer ou de désactiver l'affichage des info-bulles (tips) de 4D.
AP Timestamp to GMT
AP Timestamp to GMT ( dateLocale ; heureLocale ; dateGMT ; heureGMT ) -> Résultat
Paramètre Type Description
dateLocale Date Date locale à convertir
heureLocale Heure Heure locale à convertir
dateGMT Date Date GMT retournée par la conversion
heureGMT Heure Heure GMT retournée par la conversion
Résultat Chaîne Heure GMT respectant la norme RFC 822
Description
Note de compatibilité : A compter de la version 12.1 de 4D, la commande AP Timestamp to GMT peut être avantageusement remplacée par la commande Chaine de 4D et en utilisant la constante Date RFC 1123. A noter que la commande Chaine permet également de formater les dates et heures selon les principaux standards en vigueur.
La commande AP Timestamp to GMT convertit la date et l'heure locales passées dans les paramètres dateLocale et heureLocale en date et heure GMT, en se basant sur la situation géographique telle qu'elle est définie dans le tableau de bord (date et heure) de la machine. Les nouvelles valeurs sont retournées dans les variables dateGMT et heureGMT.
En outre, la commande retourne l'heure GMT sous la forme d'une chaîne de caractères qui respecte le format suivant : "jour, JJ MM AAAA HH:MM:SS GMT". Ce format correspond à la norme RFC 822.
Exemple
Nous somme jeudi 13 novembre 1997 et il est 14 heures 35 (heure de Paris). L'instruction suivante retourne la chaîne "Thu, 13 Nov 1997 13:35:00 GMT". La variable $gmtd prend la valeur 13/11/97 et la variable $gmtt prend la valeur 13:35:00.
$s:=AP Timestamp to GMT(Date du jour;Heure courante;$gmtd;$gmtt)