6 La navigation dans le manuel de Kentika est réservée aux utilisateurs identifiés
Quelques principes de programmation
Ce document n'a pas pour vocation de faire un tour exhaustif de la programmation. Il rappelle quelques notions qui devront cependant ne jamais être négligées. Il faut aussi se rappeler que si l'on fait des fautes d'orthographe dans un texte, le lecteur comprendra quand même le sens. Si l'on fait une erreur dans un script, la machine pourra provoquer une "fin de programme".
Si vous n'avez jamais fait de programmation, sur une base de test, vous pouvez vous essayer à réaliser quelques scripts... C'est toujours très gratifiant de constater que l'on a réussi à faire "obéir" sa machine ! Lorsque tout est OK, vous pouvez passer votre script en "production" c'est à dire en fonctionnement normal dans votre application.
Chaque information, qu'elle soit dans la base de données ou dans une variable, a un type bien précis qu'il convient de toujours respecter :
Ce que votre application conserve, ce sont des enregistrements. Un enregistrement appartient à une table et est composé de rubriques. Chaque rubrique est prévue pour recevoir un type d'information qu'il faut impérativement respecter. Les rubriques décrites dans le chapitre consacré à la structure ne sont jamais manipulées en direct et font appel à une structure virtuelle avec des fonctions de lecture et écriture bien précises. Par contre, les rubriques des tables de gestion peuvent être manipulées en direct (exemple : [Emprunt]Date_limite:=date du jour+5). Les tables de paramétrage comportent bien souvent des rubriques dont le contenu est stocké en xml. Dans ce cas également, il y des ordre précis pour lire et écrire une donnée dans une rubrique xml (qui, au sens type, est en fait une rubrique Texte).
Les variables sont des "réservoirs" dans lesquels on va pouvoir placer des données. Lorsque la procédure, dans laquelle une variable est appelée, se termine, le contenu de la variable est définitivement perdu. Dans les scripts que vous écrivez, vous devez utiliser des variables qui existent déjà dans l'application.
Les noms de variables commencent par une lettre qui caractérise leur contenu (ceci n'est pas une obligation imposée par 4D mais une convention utilisée dans le logiciel) : T.. = texte ; E.. = entier ; L.. = entier long ; N.. = numérique ; D.. = date ; H.. = heure ; I.. = image ; B.. = blob ; H.. = heure.
Exemple : TCom1 est une variable texte
Le signe d'affectation du langage 4D est :=
Exemple : après l'exécution de la formule suivante :
TCom1:="bonjour"
La variable dont le nom est TCom1 contiendra la chaîne de caractères "bonjour"
La syntaxe pour exprimer un contenu dépend du type.
Pour les variables alphanumérique ou texte, la valeur est entre apostrophes doubles :
TCom1:="hello"
Pour les variables entier, entier long ou numérique, la valeur est indiquée en direct :
Ex:=21
Nx:=12,81
Pour les variables de type date, la valeur est indiquée entre des !
Dx:=!01/12/1987!
Pour les variables de type heure, la valeur est indiquée entre des ?
Hx:=?12:00:00?
Pour les autres types, on ne peut faire d'affectation directe.
On peut transférer le contenu d'une variable (ou d'une rubrique) dans une autre variable.
Exemple : si la variable TCom2 contient la valeur "bonjour" et que l'on écrit :
TCom1:=TCom2
Après exécution, la variable TCom1 vaudra "bonjour" (comme la variable TCom2)
Les fonctions ont aussi un résultat qui a un type précis. Il est impératif de connaître ce type avant d'appeler une fonction. Ainsi la fonction date du jour renvoie un résultat de type date que l'on ne peut placer que dans une variable ou une rubrique de type date.
Il est possible de convertir le contenu d'une variable en un contenu d'un type différent.
Du type vers le type fonction exemple
alpha entier num Ex:=num (TCom1)
entier alpha chaine TCom1:=chaine (Ex)
alpha date date Dx:=date (TCom1)
date alpha chaine TCom1:=chaîne (Dx)
heure alpha chaine heure TCom1:=chaîne heure (Hx)
alpha heure heure Hx:=heure (TCom1)
Concaténation : +
Exemple : si TCom1 contient "Bonjour" et que TCom2 contient "à vous"
L'affectation suivante :
TCom3:=TCom1+ " "+ TCom2
fait que TCom3 vaudra "bonjour à vous"
Sous chaine : Permet d'extraire une partie d'une chaîne de caractères
Exemple : si TCom1 contient "bonjour à vous", l'affectation suivante :
TCom2:=Sous chaîne (TCom1;4;2)
fait que TCom2 vaudra "jo" (2 caractères à partir du 4ème caractère)
TCom2:=Sous chaîne (TCom1;4)
fait que TCom2 vaudra "jour à vous" (à partir du 4ème caractère et jusqu'à la fin de la chaîne)
Position : permet de connaître la position d'une chaîne dans une autre (si elle est présente)
Exemple : si TCom1 contient "bonjour à vous", l'affectation suivante :
Ex:=position ("jo";TCom1)
fait que Ex prendra la valeur 4
Ex:=position ("jos";Tcom1)
fait que Ex prendra la valeur 0 car la chaîne jos n'est pas trouvée dans TCom1
Remplacer chaine : permet de remplacer une chaîne de caractère par une autre
Exemple : si TCom1 contient "bonjour à vous", l'affectation suivante :
TCom2:=remplacer chaîne (TCom1;"jour";"soir")
fait que TCom2 prendra la valeur "bonsoir à vous"
TCom2:=remplacer chaîne (TCom1;"o";"XXX")
fait que TCom2 prendra la valeur "bXXXnjXXXur à vXXXus"
TCom2:=remplacer chaîne (TCom1;"o";"XXX";1)
fait que TCom2 prendra la valeur "bXXXnjour à vous". Le paramètre 1 en fin d'expression indique que l'opération ne doit être effectuée qu'une seule fois
Le langage 4D offre de nombreuses options de manipulations. Seules les plus couramment utilisées dans les scripts ont été indiquées ci-dessus. Pour plus d'informations, consultez plus particulièrement les chapitres suivants :
Powered by KENTIKA Atomic - © Kentika 2025 tous droits réservés - Mentions légales