4D v16.3Introduction au langage 4D |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Introduction au langage 4D
|
Exemples de code dans les méthodes ou formules | |
4D v15 et suivantes (Mode par défaut, toutes langues) | a:=12.50 |
b:=!2013-12-31! | |
Current date | |
4D v14 ou 4D v15 (préférence cochée, version US par exemple) | a:=12.50 |
b:=!12/31/2013! | |
Current date | |
4D v14 ou 4D v15 (préférence cochée, version française) | a:=12,50 |
b:=!31/12/2013! | |
Date du jour |
Note : Lorsque la préférence est cochée, les formats de date et de réel sont basés sur les paramètres système.
De nombreux types de données peuvent être stockés dans une base 4D. Le langage distingue huit types de données élémentaires : chaîne, numérique, date, heure, booléen, image, pointeur et objet.
Vous constatez que, dans cette liste de types de données, les types chaîne et numérique sont associés à plus d’un type de champ. Lorsque des données sont placées dans un champ, le langage les convertit automatiquement dans le type du champ. Par exemple, si un champ de type entier est utilisé, les valeurs qu’il contient sont automatiquement traitées en tant que numériques. En d’autres termes, vous n’avez pas à vous préoccuper du mélange de champs de types semblables lorsque vous programmez avec 4D ; le langage le gère pour vous.
Cependant, il est important, lorsque vous utilisez le langage, de ne pas mélanger les types de données différents. Tout comme il est absurde de stocker la valeur “ABC” dans un champ de type Date, il est absurde de donner la valeur “ABC” à une variable utilisée pour des dates. Dans la plupart des cas, 4D est très tolérant et tentera d’utiliser de manière logique ce que vous faites. Par exemple, si vous additionnez un nombre x et une date, 4D déduira que vous voulez ajouter x jours à la date, mais si vous tentez d’ajouter une chaîne à une date, 4D vous préviendra que cette opération est impossible.
Certains cas nécessitent que vous stockiez des données dans un type et que vous les utilisiez dans un autre. Le langage contient un ensemble complet de commandes vous permettant de convertir des types de données vers d’autres types. Par exemple, si vous voulez créer un numéro de matricule commençant par des chiffres et se terminant par des lettres, vous pouvez écrire :
[Produits]Matricule:=String(Numéro)+"abc"
où, si Numéro vaut 17, [Produits]Matricule prendra la valeur “17abc”.
Les types de données sont détaillés dans la section Types de données.
Lorsque vous programmez avec 4D, il est rare que vous ayez simplement besoin de données “brutes”. Le plus souvent, il sera nécessaire de traiter ces données d'une manière ou d'une autre. Vous effectuez ces calculs avec des opérateurs. Les opérateurs, en général, prennent deux valeurs et effectuent avec elles une opération dont le résultat est une troisième valeur. Vous connaissez déjà la plupart des opérateurs. Par exemple, 1 + 2 utilise l’opérateur d’addition (ou signe plus) pour faire la somme de deux nombres, et le résultat est 3. Le tableau ci-dessous présente quelques opérateurs courants :
Opérateur | Opération | Exemple |
+ | Addition | 1 + 2 ce qui fait 3 |
– | Soustraction | 3 – 2 ce qui fait 1 |
* | Multiplication | 2 * 3 ce qui fait 6 |
/ | Division | 6 / 2 ce qui fait 3 |
Les opérateurs numériques ne représentent qu’un seul des différents types d’opérateurs disponibles. Comme 4D traite de multiples types de données, tels que des nombres, des dates ou des images, vous disposez d’opérateurs particuliers effectuant des opérations sur ces données.
Souvent, les mêmes symboles sont utilisés pour des opérations différentes, en fonction du type de données traitées. Par exemple, le signe (+) peut effectuer diverses opérations, comme le montre le tableau suivant :
Type de données | Opération | Exemple |
Numérique | Addition | 1 + 2 ajoute les nombres, le résultat est 3 |
Chaîne | Concaténation | “Bonjour ” + “à tous” concatène (met bout à bout) |
les chaînes, le résultat est “Bonjour à tous” | ||
Date et Numérique | Addition de date | !1997-01-01! + 20 ajoute 20 jours à la date |
1 janvier 1997, le résultat est la date 21 janvier 1997 |
Les opérateurs sont détaillés dans la section Opérateurs et ses sous-sections.
Pour parler simplement, les expressions retournent une valeur. En fait, lorsque vous programmez avec 4D, vous utilisez tout le temps des expressions et vous avez tendance à les manipuler uniquement à travers la valeur qu’elles représentent. Les expressions sont aussi appelées formules.
Les expressions peuvent être constituées de presque tous les éléments du langage : commandes, opérateurs, variables et champs. Vous utilisez des expressions pour écrire des lignes de code, qui sont à leur tour utilisées pour construire des méthodes. Des expressions sont employées à chaque fois que le langage de 4D a besoin de connaître la valeur d’une donnée.
Les expressions sont rarement “indépendantes”. Il n’y a que peu d’endroits dans 4D où une expression peut être utilisée en tant que telle : dans la boîte de dialogue de Recherche par formule, dans la fenêtre du Débogueur où la valeur des expressions peut être évaluée, dans la boîte de dialogue Appliquer une formule, et dans l’éditeur d’états semi-automatiques en tant que formule dans une colonne.
Une expression peut être simplement une constante, telle que le chiffre 4 ou la chaîne “Bonjour”. Comme son nom l’indique, la valeur d’une constante ne change jamais.
C’est lorsqu’elles contiennent des opérateurs que les expressions commencent à devenir intéressantes. Dans les paragraphes précédents, vous avez déjà pu voir des expressions utilisant des opérateurs. Par exemple, 4 + 2 est une expression qui utilise l’opérateur d’addition pour additionner deux nombres, et dont le résultat est 6.
Vous vous référez à une expression par le biais du type de données qu’elle retourne. Il existe huit types d’expressions :
Le tableau suivant fournit un exemple pour chaque type d’expression.
Expression | Type | Description |
“Bonjour” | Chaîne | Le mot Bonjour est une constante chaîne, signalée par les guillemets |
“Bonjour ” + “à tous” | Chaîne | Deux chaînes, “Bonjour ” et “à tous”, sont mises bout à bout (concaténées) à l'aide de l'opérateur de concaténation de chaînes (+). La chaîne “Bonjour à tous” est retournée. |
“M. ” + [Amis]Nom | Chaîne | Deux chaînes sont concaténées : la chaîne “M. ” et la valeur courante du champ Nom de la table Amis. Si le champ contient “Dupont”, l'expression retourne “M. Dupont”. |
Uppercase("dupont") | Chaîne | Cette expression utilise "Uppercase", une commande du langage, pour convertir la chaîne "dupont" en majuscules. Elle retourne “DUPONT”. |
4 | Numérique | C'est une constante numérique, 4. |
4 * 2 | Numérique | Deux nombres, 4 et 2, sont multipliés à l'aide de l'opérateur de multiplication (*). Le résultat est le nombre 8. |
MonBouton | Numérique | C'est le nom d'un bouton. Il retourne la valeur courante du bouton : 1 s'il y a eu un clic sur le bouton, 0 sinon. |
!1997-01-25! | Date | C'est une constante date pour la date 25/01/97 (25 janvier 1997). Notez l'emploi des points d'exclamation pour indiquer une constante date. |
Current date + 30 | Date | C'est une expression de type Date qui utilise la fonction Current date pour récupérer la date courante. Elle ajoute 30 jours à la date d'aujourd'hui et retourne la nouvelle date. |
?8:05:30? | Heure | C'est une constante heure qui représente 8 heures, 5 minutes, et 30 secondes. |
?2:03:04? + ?1:02:03? | Heure | Cette expression ajoute une heure à une autre et retourne l'heure 3:05:07. |
True | Booléen | Cette commande retourne la valeur booléenne VRAI. |
10 # 20 | Booléen | C'est une comparaison logique entre deux nombres. Le symbole (#) signifie “est différent de”. Comme 10 “est différent de” 20, l'expression retourne VRAI. |
“ABC” = “XYZ” | Booléen | C'est une comparaison logique entre deux chaînes. Elles sont différentes, donc l'expression retourne FAUX. |
MonImage + 50 | Image | Cette expression considère l'image placée dans MonImage, la déplace de 50 pixels vers la droite, et retourne l'image résultante. |
->[Amis]Nom | Pointeur | Cette expression retourne un pointeur vers lechamp [Amis]Nom. |
Table (1) | Pointeur | C'est une commande qui retourne un pointeur vers la première table. |
JSON Parse(MaChaine) | Objet | C'est une commande qui retourne MaChaine sous forme d'objet (si format adéquat) |
Constantes
Méthodes
Opérateurs
Pointeurs
Présentation des tableaux
Types de données
Variables
Produit : 4D
Thème : Présentation du langage
4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)