4D v16.3Types de données |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Types de données
Types de données
Les champs, variables et expressions de 4D ont un type représentant les données qu'ils contiennent. 4D accepte le typage de ces éléments en fonction du tableau suivant :
Notes Chaîne est un terme générique utilisé pour :
Il n'y a aucune différence entre une variable alphanumérique et une variable texte. Vous pouvez assigner un alpha à un texte et vice-versa, 4D effectue automatiquement la conversion, en tronquant les valeurs si nécessaire. Vous pouvez mélanger du texte et de l'alphanumérique dans les expressions. Note : Dans ce manuel de référence du langage 4D, les paramètres de type Alpha et Texte dans les descriptions des commandes sont indifféremment appelés Chaîne, sauf spécification explicite. Numérique est un terme générique utilisé pour :
Les nombres de type Réel sont compris dans l'intervalle ±1.7e±308 (13 chiffres significatifs). Note : Dans ce manuel de référence du langage 4D, quel que soit le type précis des données, les paramètres de type Réel, Entier et Entier long dans les descriptions des commandes sont appelés numériques, sauf spécification explicite.
Note : Dans ce manuel de référence du langage 4D, les paramètres de type Date dans les descriptions des commandes sont appelés Date, sauf spécification explicite. Les dates en JavaScript étant des objets, elles sont envoyées à 4D sous forme de textes contenant leur forme JSON comme tout autre objet. Ce principe est mis en oeuvre notamment lors de l’utilisation des fonctionnalités 4D Mobile et Zone Web. Il est de votre ressort de convertir ce texte en date 4D (C_DATE). Deux solutions sont proposées :
A noter une différence entre ces deux solutions : JSON Parse respecte le mode de conversion éventuellement défini avec la commande SET DATABASE PARAMETER tandis que Date n’y est pas assujetti : la conversion avec Date s’effectue toujours en tenant compte du fuseau horaire courant.
Note : Dans ce manuel de référence du langage 4D, les paramètres de type Heure dans les descriptions des commandes sont appelés Heure, sauf spécification explicite. Les variables, champs ou expressions de type Booléen peuvent être soit à VRAI soit à FAUX. Note : Dans ce manuel de référence du langage 4D, les paramètres de type Booléen dans les descriptions des commandes sont appelés Booléen, sauf spécification explicite. Les variables, champs ou expressions de type Image peuvent contenir des images Windows ou Macintosh. En général, ce type accepte toute image pouvant être collée dans le Presse-papiers ou bien lue depuis le disque à l'aide des commandes de 4D ou d'un plug-in. Note : Dans ce manuel de référence du langage 4D, les paramètres de type Image dans les descriptions des commandes sont appelés Image, sauf spécification explicite. Les variables ou expressions de type Pointeur sont des références à d'autres variables (y compris des tableaux et des éléments de tableaux), à des tables ou à des champs. Il n'existe pas de champs de type Pointeur. Pour plus d'informations sur les pointeurs, reportez-vous à la section Pointeurs. Note : Dans ce manuel de référence du langage 4D, les paramètres de type Pointeur dans les descriptions des commandes sont appelés Pointeur, sauf spécification explicite. Les champs ou variables de type BLOB sont des séries d'octets (d'une longueur de 0 à 2 Go) que vous pouvez adresser individuellement ou à l'aide des Commandes du thème BLOB. Il n'existe pas d'expressions de type BLOB. Note : Dans ce manuel de référence du langage 4D, les paramètres de type BLOB dans les descriptions des commandes sont appelés BLOB. Les variables, champs ou expressions de type objet peuvent contenir des données de divers types. La structure des objets "natifs" 4D est basée sur le principe classique des paires "propriété/valeur". La syntaxe de ces objets s’inspire de la notation JSON, mais ne la suit pas entièrement.
Les variables, champs ou expressions objets sont gérés par les commandes du thème Objets (Langage). A noter que des commandes spécifiques du thème Recherches et tris telles que QUERY BY ATTRIBUTE et QUERY SELECTION BY ATTRIBUTE permettent d'effectuer des traitements sur les champs objets. Indéfini n'est pas véritablement un type de données. Une variable dite "indéfinie" est une variable n'ayant pas encore été définie. Une fonction utilisateur (c'est-à-dire une méthode projet qui retourne une valeur) peut retourner une valeur indéfinie si, à l'intérieur de la méthode, le résultat de la fonction ($0) est assigné à une expression indéfinie (une expression issue d'un calcul effectué avec au moins une variable indéfinie). Un champ ne peut pas être indéfini (la commande Undefined retourne toujours Faux pour un champ). Les tableaux ne sont pas véritablement un type de données. Sous cette appellation sont regroupés les différents types de tableaux (comme les tableaux entier, tableaux texte, etc.). Les tableaux sont des variables. Il n'existe pas de champs ni d'expressions de type Tableau. Pour plus d'informations sur les tableaux, reportez-vous à la section Tableaux. Note : Dans ce manuel de référence du langage 4D, les paramètres de type Tableau dans les descriptions des commandes sont appelés Tableau, sauf spécification explicite (par exemple Tableau Texte, Tableau Réel...). Le langage de 4D comporte des fonctions et des opérateurs vous permettant de convertir des types de données en d’autres types, dans la mesure où de telles conversions ont un sens. 4D assure la vérification des types de données. Ainsi, vous ne pouvez pas écrire : "abc"+0.5+!25/12/96!-?00:30:45?, car cette opération génère une erreur de syntaxe. Le tableau ci-dessous liste les types de données pouvant être convertis, le type dans lequel ils peuvent être convertis, ainsi que les fonctions 4D à utiliser.
(*) Les chaînes formatées en JSON peuvent être converties en données scalaires ou en objets à l'aide de la commande JSON Parse. Note : Ce tableau ne traite pas les conversions de données plus complexes obtenues à l'aide d'une combinaison d'opérateurs et d'autres commandes.
Voir aussi
Chaînes de caractères
|
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||