DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Syntaxe WLangage / Types du WLangage
  • Présentation
  • Conversion de types C
  • Types simples en valeur de retour ou en paramètre d'entrée
  • Types simples en paramètre de sortie
  • Tableau de type simple en paramètre d'entrée
  • Tableau de type simple en valeur de retour
  • Tableau de type simple en paramètre de sortie
  • Utilisation des chaînes
  • Utilisation des tableaux de chaînes
  • Chaînes et structures
  • Tableau de type simple dans une structure
  • Classe
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Conversion de types C
Présentation
Selon le type de programme réalisé, il peut être utile de connaître la correspondance entre les types utilisés en langage C et les types WLangage.
Le tableau suivant présente cette correspondance.
Conversion de types C

Types simples en valeur de retour ou en paramètre d'entrée

Type CCommentaire CType WLangage
char, int81 octetentier sur 1 octet
byte, uint81 octetentier sans signe sur 1 octet
short, int162 octetsentier sur 2 octets
word, uint162 octetsentier sans signe sur 2 octets
long, int 32, int (en 32 bits)4 octetsentier [sur 4 octets]
dword, uint324 octetsentier sans signe sur 4 octets
longlong, int648 octetsentier sur 8 octets
ulonglong, dwordlong, uint648 octetsentier sans signe sur 8 octets
float4 octetsréel sur 4 octets
double8 octetsréel [sur 8 octets]

Types simples en paramètre de sortie

Type CCommentaire CType WLangage
char*, int8*4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un entier sur 1 octet)
byte*, uint8*4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un entier sans signe sur 1 octet)
short*, int16*4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un entier sur 2 octets)
word*, uint16*4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un entier sans signe sur 2 octets)
long*, int 32*, int* (en 32 bits)4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un entier [sur 4 octets])
dword*, uint32*4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un entier sans signe [sur 4 octets])
longlong*, int64*4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un entier sur 8 octets)
ulonglong*, dwordlong*, uint64*4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un entier sans signe sur 8 octets)
float*4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un réel [sur 4 octets])
double*4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un réel sur 8 octets)

Tableau de type simple en paramètre d'entrée

Type CCommentaire CType WLangage
char*, int8*4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un tableau de <N> entiers sur 1 octet ou d'une chaîne)
byte*, uint8*4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un tableau de <N> entiers sans signe sur 1 octet ou d'un buffer)
short*, int16*4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un tableau de <N> entiers sur 2 octets)
word*, uint16*4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un tableau de <N> entiers sans signe sur 2 octets)
long*, int 32*, int* (en 32 bits)4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un tableau de <N> entiers [sur 4 octets])
dword*, uint32*4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un tableau de <N> entiers sans signe [sur 4 octets])
longlong*, int64*4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un tableau de <N> entiers sur 8 octets)
ulonglong*, dwordlong*, uint64*4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un tableau de <N> entiers sans signe sur 8 octets)
float*4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un tableau de <N> réels [sur 4 octets])
double*4 octets en 32 bits, 8 octets en 64 bitsentier système (contenant l'adresse d'un tableau de <N> réels sur 8 octets)

Tableau de type simple en valeur de retour

Type CCommentaire CType WLangageCommentaire WLangage
char*, int8*4 octets en 32 bits, 8 octets en 64 bits + taille <N> à connaîtreentier systèmeadresse d'un tableau de <N> entiers sur 1 octet ou d'une chaîne [ANSI]. Utilisez Transfert ou ChaîneRécupère pour récupérer les valeurs.
byte*, uint8*4 octets en 32 bits, 8 octets en 64 bits + taille <N> à connaîtreentier systèmeadresse d'un tableau de <N> entiers sans signe sur 1 octet ou d'un buffer. Utilisez Transfert ou ChaîneRécupère pour récupérer les valeurs.
short*, int16*4 octets en 32 bits, 8 octets en 64 bits + taille <N> à connaîtreentier systèmeadresse d'un tableau tableau de <N> entiers sur 2 octets. Utilisez Transfert pour récupérer les valeurs.
word*, uint16*4 octets en 32 bits, 8 octets en 64 bits + taille <N> à connaîtreentier systèmeadresse d'un tableau de <N> entiers sans signe sur 2 octets. Utilisez Transfert pour récupérer les valeurs.
long*, int 32*, int* (en 32 bits)4 octets en 32 bits, 8 octets en 64 bits + taille <N> à connaîtreentier systèmeadresse d'un tableau de <N> entiers [sur 4 octets]. Utilisez Transfert pour récupérer les valeurs.
dword*, uint32*4 octets en 32 bits, 8 octets en 64 bits + taille <N> à connaîtreentier systèmeadresse d'un tableau de <N> entiers sans signe sur 4 octets. Utilisez Transfert pour récupérer les valeurs.
longlong*, int64*4 octets en 32 bits, 8 octets en 64 bits + taille <N> à connaîtreentier systèmeadresse d'un tableau de <N> entiers sur 8 octets. Utilisez Transfert pour récupérer les valeurs.
ulonglong*, dwordlong*, uint64*4 octets en 32 bits, 8 octets en 64 bits + taille <N> à connaîtreentier systèmeadresse d'un tableau de <N> entiers sans signe sur 8 octets. Utilisez Transfert pour récupérer les valeurs.
float*4 octets en 32 bits, 8 octets en 64 bits + taille <N> à connaîtreentier systèmeadresse d'un tableau de <N> réels sur 4 octets. Utilisez Transfert pour récupérer les valeurs.
double*4 octets en 32 bits, 8 octets en 64 bits + taille <N> à connaîtreentier systèmeadresse d'un tableau de <N> réels [sur 8 octets]. Utilisez Transfert pour récupérer les valeurs.

Tableau de type simple en paramètre de sortie

Type CCommentaire CType WLangageCommentaire WLangage
char**, int8**4 octets en 32 bits, 8 octets en 64 bits + taille <N> à connaîtreentier systèmeadresse d'un autre entier système contenant lui même l'adresse d'un tableau de <N> entiers sur 1 octet ou d'une chaîne [ANSI]. Utilisez Transfert ou ChaîneRécupère pour récupérer les valeurs.
byte**, uint8**4 octets en 32 bits, 8 octets en 64 bits + taille <N> à connaîtreentier systèmeadresse d'un autre entier système contenant lui même l'adresse d'un tableau de <N> entiers sans signe sur 1 octet ou d'un buffer. Utilisez Transfert ou ChaîneRécupère pour récupérer les valeurs.
short**, int16**4 octets en 32 bits, 8 octets en 64 bits + ctaille <N> à connaîtreentier systèmeadresse d'un autre entier système contenant lui même l'adresse d'un tableau de <N> entiers sur 2 octets. Utilisez Transfert pour récupérer les valeurs.
word**, uint16**4 octets en 32 bits, 8 octets en 64 bits + taille <N> à connaîtreentier systèmeadresse d'un autre entier système contenant lui même l'adresse d'un tableau de <N> entiers sans signe sur 2 octets. Utilisez Transfert pour récupérer les valeurs.
long**, int 32**, int** (en 32 bits)4 octets en 32 bits, 8 octets en 64 bits + taille <N> à connaîtreentier systèmeadresse d'un autre entier système contenant lui même l'adresse d'un tableau de <N> entiers [sur 4 octets] + Transfert
dword**, uint32**4 octets en 32 bits, 8 octets en 64 bits + taille <N> à connaîtreentier systèmeadresse d'un autre entier système contenant lui même l'adresse d'un tableau de <N> entiers sans signe sur 4 octets. Utilisez Transfert pour récupérer les valeurs.
longlong**, int64**4 octets en 32 bits, 8 octets en 64 bits + taille <N> à connaîtreentier systèmeadresse d'un autre entier système contenant lui même l'adresse d'un tableau de <N> entiers sur 8 octets. Utilisez Transfert pour récupérer les valeurs.
ulonglong**, dwordlong**, uint64**4 octets en 32 bits, 8 octets en 64 bits + taille <N> à connaîtreentier systèmeadresse d'un autre entier système contenant lui même l'adresse d'un tableau de <N> entiers sans signe sur 8 octets. Utilisez Transfert pour récupérer les valeurs.
float**4 octets en 32 bits, 8 octets en 64 bits + taille <N> à connaîtreentier systèmeadresse d'un autre entier système contenant lui même l'adresse d'un tableau de <N> réels sur 4 octets. Utilisez Transfert pour récupérer les valeurs.
double**4 octets en 32 bits, 8 octets en 64 bits + taille <N> à connaîtreentier systèmeadresse d'un autre entier système contenant lui même l'adresse d'un tableau de <N> réels [sur 8 octets]. Utilisez Transfert pour récupérer les valeurs.

Utilisation des chaînes

  • Chaînes en paramètre d'entrée en lecture
    Type CCommentaire CType WLangage
    char*chaîne ANSI en lectureentier système (contenant l'adresse d'une chaîne ANSI : &chaîne[ANSI])
    wchar*chaîne UNICODE en lectureentier système (contenant l'adresse d'une chaîne Unicode : &chaîne unicode)
  • Chaînes en paramètre d'entrée en écriture
    Type CCommentaire CType WLangage
    char*chaîne ANSI en écritureentier système (contenant l'adresse d'une chaîne Ansi fixe : &chaîne[ANSI] sur <Longueur Max>)
    wchar*chaîne UNICODE en écritureentier système (contenant l'adresse d'une chaîne Unicode fixe : &chaîne unicode sur <Longueur Max>)
  • Chaînes en valeur de retour
    Type CCommentaire CType WLangageCommentaire WLangage
    char*chaîne ANSIentier systèmeutiliser ChaîneRécupère(entier système, crAdresseASCIIZ)
    wchar*chaîne UNICODEentier systèmeutiliser ChaîneRécupère(entier système, crAdresseUNICODE)
  • Chaînes en paramètre de sortie
    Type CCommentaire CType WLangageCommentaire WLangage
    char**chaîne ANSIentier systèmeadresse d'un autre entier système contenant lui même l'adresse à utiliser avec ChaîneRécupère(entier système, crAdresseASCIIZ)
    wchar**chaîne UNICODEentier systèmeadresse d'un autre entier système contenant lui même l'adresse à utiliser avec ChaîneRécupère(entier système, crAdresseUNICODE)

Utilisation des tableaux de chaînes

  • Tableau de chaînes en paramètre d'entrée
    Type CCommentaire CType WLangageCommentaire WLangage
    char**tableau de chaînes ANSIentier système= &tableau de <N> entiersil faut remplir chaque case du tableau avec une adresse de chaîne Ansi (&chaîne[ANSI])
    wchar**tableau de chaînes UNICODEentier système= &tableau de <N> entiersil faut remplir chaque case du tableau une adresse de chaîne Unicode (&chaîne unicode)
  • Tableau de chaînes en valeur de retour
    Type CCommentaire CType WLangageCommentaire WLangage
    char**tableau de chaînes ANSI + connaître la taille <N> par ailleursentier systèmeil faut utiliser ChaîneRécupère(entier système, crAdresseASCIIZ) sur chaque case du tableau
    wchar**tableau de chaînes UNICODE + connaître la taille <N> par ailleursentier systèmeil faut utiliser ChaîneRécupère(entier système, crAdresseUNICODE) sur chaque case du tableau

Chaînes et structures

  • Chaîne directement dans une structure
    Type CCommentaire CType WLangage
    struct ... { char ...[N+1] };chaîne ANSI en lecture/écritureStruct est une structure
    sChaine est une chaîne sur N
    FIN
    UneStruct est une Struct
    AdresseStruct est un entier système=&UneStruct
    struct ... { wchar ...[N+1] };chaîne UNICODE en lecture/écritureStruct est une structure
    sChaine est une chaîne UNICODE sur N
    FIN
    UneStruct est une Struct
    AdresseStruct est un entier système=&UneStruct
  • Chaîne en entrée en lecture dans une structure
    Type CCommentaire CType WLangage
    struct ... { char* ... };chaîne ANSI en lecturesChaine est une chaîne [ANSI]
    Struct est une structure
    aChaine est un entier
    FIN
    UneStruct est une Struct
    UneStruct:aChaine = &sChaine
    AdresseStruct est un entier système=&UneStruct
    struct ... { wchar* ... };chaîne UNICODE en lecturesChaine est une chaîne UNICODE
    Struct est une structure
    aChaine est un entier
    FIN
    UneStruct est une Struct
    UneStruct:aChaine = &sChaine
    AdresseStruct est un entier système=&UneStruct
  • Chaîne en entrée en écriture dans une structure
    Type CCommentaire CType WLangage
    struct ... { char* ... };chaîne ANSI en écrituresChaine est une chaîne [ANSI] sur <Longueur Max>
    Struct est une structure
    aChaine est un entier système
    FIN
    UneStruct est une Struct
    UneStruct:aChaine = &sChaine
    AdresseStruct est un entier système=&UneStruct
    struct ... { wchar* ... };chaîne ANSI en écrituresChaîne est une chaîne UNICODE sur <Longueur Max>
    Struct est une structure
    aChaine est un entier système
    FIN
    UneStruct est une Struct
    UneStruct:aChaine = &sChaine
    AdresseStruct est un entier système=&UneStruct
  • Chaîne en sortie dans une structure
    Type CCommentaire CType WLangageCommentaire WLangage
    struct ... { char* ... };chaîne ANSIStruct est une structure
    aChaine est un entier système
    FIN
    UneStruct est une Struct
    AdresseStruct est un entier système=&UneStruct
    + utiliser ChaîneRécupère(entier, crAdresseASCIIZ)
    struct ... { wchar* ... };chaîne UNICODEStruct est une structure
    aChaine est un entier système
    FIN
    UneStruct est une Struct
    AdresseStruct est un entier système=&UneStruct
    + utiliser ChaîneRécupère(entier, crAdresseUNICODE)

Tableau de type simple dans une structure

  • Tableau de type simple directement dans une structure
    Type CType WLangage
    struct ... { type ... [N] };Struct est une structure
    t est un tableau fixe de N <type correspondant>
    FIN
    UneStruct est une Struct
    AdresseStruct est un entier système=&UneStruct
  • Tableau de type simple dans une structure
    Type CType WLangage
    struct ... { type* ... };t est un tableau de N <type correspondant>
    Struct est une structure
    aTableau est un entier
    FIN
    UneStruct est une Struct
    UneStruct:aTableau = &t
    AdresseStruct est un entier système=&UneStruct

Classe

Il n'y a pas de conversion pour les classes.
Version minimum requise
  • Version 10
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 05/03/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale