version 6.0
Le langage de 4D est constitué de différents éléments, vous permettant d'effectuer de multiples opérations et de gérer vos données.
Types de données : Catégories de données stockées dans une base. Ce point est traité dans le paragraphe suivant. Pour une description détaillée, référez-vous à la section Types de données.
Variables : Adresses de stockage temporaires de données en mémoire. Pour une description détaillée, référez-vous à la section Variables.
Opérateurs : Symboles effectuant un calcul entre deux valeurs. Ce point est traité dans les paragraphes suivants. Pour une description détaillée, référez-vous à la section Opérateurs et à ses sous-sections.
Expressions : Combinaisons d'éléments du langage ayant pour résultat le renvoi d'une valeur. Ce point est traité dans les paragraphes suivants.
Commandes : Instructions intégrées effectuant une opération. Toutes les commandes de 4D (par exemple AJOUTER ENREGISTREMENT) sont décrites dans ce manuel, groupées par thème. Lorsque c'est nécessaire, les thèmes comprennent une section d'introduction. Vous pouvez utiliser des Plug-ins 4D pour ajouter de nouvelles commandes à votre environnement de développement 4D. Par exemple, une fois que vous avez installé le plug-in 4D Write dans votre base de données, vous pouvez utiliser les commandes de 4D Write pour créer et manipuler des fichiers de traitement de texte.
Méthodes : Instructions que vous écrivez à l'aide de tous les éléments du langage décrits ci-dessus. Pour une description détaillée, référez-vous à la section Méthodes et à ses sous-sections.
Cette section présente les Types de données, les Opérateurs et les Expressions. Pour une description d'un autre élément, reportez-vous aux sections précédemment citées.
De plus :
Les éléments du langage tels que les variables sont identifiés par leur nom. Pour une description détaillée des règles de définition des noms d'objets, reportez-vous à la section Nommer les objets du langage 4D.
Pour plus d'informations sur les variables tableaux, reportez-vous à la section Présentation des tableaux.
Pour plus d'informations sur les variables BLOB, reportez-vous à la section Commandes du thème BLOB.
Si vous avez l'intention de compiler votre base, reportez-vous à la section Commandes du thème Compilateur ainsi qu'au manuel Mode Développement de 4D.
Types de données
De nombreux types de données peuvent être stockés dans une base 4D. Le langage distingue sept types de données élémentaires : chaîne, numérique, date, heure, booléen, image et pointeur.
Chaîne : Une suite de caractères, telles que "Bonjour à tous". Les champs et variables alpha et texte sont des données de type Chaîne.
Numérique : Nombres, tels que 2 ou 1 000,67. Les champs et variables entier, entier long et numérique (aussi appelé réel) sont des données de type Numérique.
Date : Dates telles que 20/11/97. Les champs et variables date sont des données de type Date.
Heures : Heures, c'est-à-dire heures, minutes et secondes, telles que 21:00:00 ou 4:35:30 de l'après-midi. Les champs et variables heure sont des données de type Heure.
Booléen : Valeurs logiques de VRAI ou FAUX. Les champs et variables booléens sont des données de type Booléen.
Image : Les champs et variables image sont des données de type Image.
Pointeur : Type spécial de données, utilisé en programmation avancée. Les variables pointeur sont des données de type Pointeur. Il n'y a pas de type de champ correspondant.
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:=Chaine(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.
Opérateurs
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 | !1/1/1997! + 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.
Expressions
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 sept types d'expressions :
Expression chaîne,
Expression numérique (aussi appelée nombre),
Expression date,
Expression heure,
Expression booléenne,
Expression image,
Expression pointeur.
Le tableau suivant fournit un exemple pour chacun des sept types d'expressions.
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". | ||
Majusc ("dupont") | Chaîne | Cette expression utilise "Majusc", |
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. | ||
!25/1/97! | 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. | ||
Date du jour + 30 | Date | C'est une expression de type Date qui utilise la |
fonction Date du jour 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. | ||
Vrai | 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 le |
champ [Amis]Nom. | ||
Table (1) | Pointeur | C'est une commande qui retourne un pointeur |
vers la première table. |
Référence
Constantes, Méthodes, Opérateurs, Pointeurs, Présentation des tableaux, Types de données, Variables.