Types de données

4D - Documentation   Français   English   German   Español   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant

version 11 (Modifiée)


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 :

Types de donnéesChampVariableExpression
Chaîne (cf. note 1)OuiOuiOui
Numérique (cf. note 2)OuiOuiOui
DateOuiOuiOui
HeureOuiOuiOui
BooléenOuiOuiOui
ImageOuiOuiOui
PointeurNonOuiOui
BLOB (cf. note 3)OuiOuiNon
Tableau (cf. note 4)NonOuiNon
Entier 64 bits (cf. note 5)OuiNonNon
Float (cf. note 5)OuiNonNon
IndéfiniNonOuiOui

Notes

(1) Une chaîne peut être un champ alphanumérique, une variable de longueur fixe, ou encore une variable ou un champ de type Texte.

(2) Un numérique peut être une variable ou un champ de type Réel (Numérique), Entier et Entier long.

(3) BLOB est l'abréviation de Binary Large OBject. Pour plus d'informations sur les BLOBs, reportez-vous à la section Commandes du thème BLOB.

(4) Les tableaux peuvent être de tout type. Pour plus d'informations, reportez-vous à la section Présentation des tableaux.

(5) Les types Entier 64 bits et Float sont gérés uniquement via le SQL. Il est déconseillé de les manipuler via le langage 4D, car dans ce cas ils sont convertis en Réels, ce qui peut entraîner des pertes de précision.

Chaîne


Chaîne est un terme générique utilisé pour :

les variables ou champs de type alphanumérique

les variables ou champs de type Texte

toute expression de type Alpha ou Texte

Une chaîne se compose de caractères. La gestion des chaînes de caractères varie suivant que 4D est exécuté en mode Unicode ou en mode non Unicode (mode compatibilité). Ce mode est défini via les Préférences de l'application (cf. section A propos d'Unicode).

Mode Unicode

Un champ alphanumérique peut contenir de 0 à 255 caractères (la limite est fixée lors de la définition du champ).

Un champ, une variable ou une expression de type Texte peut contenir de 0 à 2 Go de texte.

Il n'y a aucune différence entre une variable alphanumérique et une variable texte.

Mode non Unicode (compatibilité)

Chaque caractère peut être l'un des 256 caractères ASCII pris en charge par Windows et Mac OS. Pour plus d'informations sur les codes ASCII, reportez-vous à la section Codes ASCII.

Un champ alphanumérique peut contenir de 0 à 255 caractères (la limite est fixée lors de la définition du champ).

Une variable de longueur fixe peut contenir de 0 à 255 caractères (la limite est fixée lors de la déclaration de la variable).

Un champ, une variable ou une expression de type Texte peut contenir de 0 à 32 000 caractères.

Quel que soit le mode, 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


Numérique est un terme générique utilisé pour :

les champs, variables ou expression de type Réel (aussi appelé type Numérique)

les champs, variables ou expression de type Entier

les champs, variables ou expression de type Entier long

Les nombres de type Réel sont compris dans l'intervalle ±1.7e±308 (15 chiffres).

Les nombres de type Entier (2 octets) sont compris dans l'intervalle -32 768..32 767

Les nombres de type Entier long (4 octets) sont compris dans l'intervalle -2^31..(2^31)-1

Vous pouvez assigner tout nombre d'un type numérique à un nombre d'un autre type numérique, 4D effectue automatiquement la conversion, en tronquant ou en arrondissant les valeurs si nécessaire. Notez cependant que lorsqu'une valeur est située en-dehors de l'intervalle du type de destination, 4D ne pourra la convertir. Vous pouvez mélanger tous les types de numériques au sein d'une même expression.

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.

Date


Les variables, champs ou expressions de type Date peuvent être compris entre 1/1/100 et 31/12/32767.

Une date est structurée sous la forme jour/mois/année (sur un système français).

Si l'année est fournie avec deux chiffres seulement, 4D déduit que le siècle est le 20e si la valeur est supérieure ou égale à 30 et le 21e si elle est inférieure (ce comportement par défaut peut être modifié à l'aide de la commande SIECLE PAR DEFAUT).

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.

Heure


Les variables, champs ou expressions de type Heure peuvent être compris entre 00:00:00 et 596 000:00:00.

Une heure est structurée sous la forme heure:minutes:secondes (avec une version française de 4D).

Les heures sont stockées dans un format de 24 heures.

Une valeur de type Heure peut être traitée en tant que nombre. Le nombre correspondant est le nombre de secondes que cette valeur représente. Pour plus d'informations, reportez-vous à la section Opérateurs sur les heures.

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.

Booléen


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.

Image


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.

Pointeur


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.

BLOB


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.

Tableau


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 Présentation des 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 Alpha, Tableau Réel...).

Indéfini


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.

Convertir les types de données


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.

Types à convertiren Chaîneen Numériqueen Dateen Heure
ChaîneNum Date Heure
Numérique (*)Chaine
DateChaine
HeureChaine
BooléenNum

(*) Les valeurs de type Heure peuvent être utilisées en tant que numériques.

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.

Référence

Conditions et boucles, Constantes, Méthodes, Nommer les objets du langage 4D, Opérateurs, Pointeurs, Présentation des tableaux, Type, Variables.


4D - Documentation   Français   English   German   Español   4D v11 SQL, Commandes par thèmes   4D v11 SQL, Liste alphabétique des commandes   4D v11 SQL, Constantes par thèmes   Retour   Précédent   Suivant