DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions de gestion des champs
  • Déclaration d'une variable de type Champ
  • Affectation d'une variable de type Champ
  • Utilisation d'une variable de type Champ dans une procédure
  • Optimisation des traitements avec indirection
  • Propriétés associées à une variable de type Champ
  • Fonctions manipulant une variable de type Champ
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
Le type Champ permet de définir toutes les caractéristiques d'un champ. Ce champ peut être un champ créé dynamiquement avec la fonction ChampCrée ou un champ existant dans une fenêtre ou un état.
AndroidWidget Android La fonction ChampCrée n'est pas disponible.
Remarque : Pour plus de détails sur la déclaration de ce type de variable et l'utilisation des propriétés WLangage, consultez Déclaration d'une variable.
Exemple
Remarques

Déclaration d'une variable de type Champ

Pour déclarer une variable de type Champ, il suffit d'utiliser la syntaxe suivante :
<Nom de la variable> est un Champ
Exemple :
c est un Champ
Nouveauté 2024
Lors de la déclaration d'une variable de type Champ, il est possible de préciser le type du champ via la syntaxe suivante :
<Nom de la variable> est un Champ <type champ = <Type du champ>>
où <Type de champ> correspond à la constante correspondant au type de champ à créer (voir ci-dessous).
Exemple :
MonChamp est un Champ <type champ = typBouton>
Les différentes constantes utilisables pour définir le type du champ sont les suivantes :
typActiveX17Champ ActiveX
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typAgenda76Champ Agenda
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typAsc18Champ Ascenseur
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typAttribut41Attribut d'un champ Zone répétée
Widget Android
Non disponible.
typBandeauDéfilant122 Champ Bandeau défilant
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typBarreDeNavigation117Champ Barre de navigation
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typBarreOutils22Champ Barre d'outils
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typBoîteAOutils29Champ Boîte à outils
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typBouton4Champ Bouton
typCalendrier47Champ Calendrier
Widget Android Non disponible.
typCaptcha82Champ Captcha
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typCarte92Champ Carte
Widget Android
Non disponible.
typCarrousel37Champ Carrousel
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typCaseBarreDeMessage40002Case de barre de message
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typCellule50014Champ Cellule
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typCelluleDeBarreDeNavigation115Champ Cellule présent dans un champ Barre de navigation.
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typCelluleDisposition127Cellule d'un champ Disposition.
Widget Android Non disponible.
typCelluleFlexBox139Cellule d'un champ FlexBox.
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typCelluleMiseEnPage84Champ Cellule utilisé pour la mise en page de type Zoning.
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typChampFormaté50001Champ d'affichage formaté
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typChampHTML50002Champ HTML
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typChampMenu50007Menu d'une page WEBDEV
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typChampMenuContextuel141Menu contextuel dans une page WEBDEV
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typCheminDeNavigation50011Champ Chemin de navigation
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typClicage30001Champ Image cliquable (champ Image d'une fenêtre ayant l'option "Cette image est une zone de cliquage" cochée).
iPhone/iPadWidget IOS
Non disponible.
typCodeBarres26Champ Code-barres
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typColonne56Colonne de table
Widget Android Non disponible.
typComboAVS10001Champ Combo avec saisie
Widget AndroidiPhone/iPadWidget IOS Non disponible.
typComboSNS10002Champ Combo sans saisie
Widget AndroidiPhone/iPadWidget IOS Non disponible.
typComposantWeb121Champ Composant Web
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typConférence25Champ Conférence
Widget Android
Non disponible.
typConteneurNatif125Champ Conteneur natif
Widget Android
Non disponible.
typCube38Champ Cube
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typDate20002Champ de saisie de type date
Widget Android Non disponible.
typDisposition126Champ Disposition
Widget Android Non disponible.
typDurée20006Champ de saisie de type durée
Widget Android Non disponible.
typEditeurDeDiagrammes130Champ Editeur de diagrammes
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
Nouveauté 2024
typÉditeurCode
146Champ Editeur de code
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typEditeurHtml134Champ Editeur HTML
Widget AndroidWidget IOS
Non disponible.
typEditeurImages124Champ Editeur d'images
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typEditeurImagesMobile138Champ Editeur d'images sur Mobile
Widget AndroidWidget IOS
Non disponible.
typFen1Fenêtre
typFenêtreInterne31Fenêtre Interne
Widget AndroidiPhone/iPadWidget IOS Non disponible.
typFil118Champ Fil
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typFlash50008Champ de type Flash
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typFlex48Champ de type Flex
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typForme20Champ Forme/Dessin
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typGantt110Colonne de type Diagramme de Gantt (champ Table ou Table hiérarchique).
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typGraphe33Champ Graphe d'une fenêtre / page
AndroidWidget Android
Non disponible.
typGrp58Groupe de champs
Widget AndroidiPhone/iPadWidget IOS
Non disponible.
typHeure20003Champ de saisie de type heure
Widget Android Non disponible.
typHTML23Libellé HTML
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typIFrame50013Champ IFrame
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typImage8Champ Image
typInterr5Champ Interrupteur
Widget Android Non disponible.
typInterrupteurABascule132Champ Interrupteur à bascule
Widget Android Non disponible.
typJauge10Champ Jauge
AndroidWidget AndroidiPhone/iPadWidget IOS Non disponible.
typJaugeInfinie113Champ Jauge infinie
Widget Android Non disponible.
typJava50004Champ Java
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typKanban140Champ Kanban
Widget AndroidiPhone/iPadWidget IOS
Non disponible.
typLecteurPDFChamp Lecteur PDF
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typLibellé3Champ Libellé
typLibelléHTML50006Champ Libellé HTML
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typLien50005Champ Lien
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typLienSocial103Champ Réseau social
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typLigne50003Champ Ligne
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typListe7Champ Liste
Widget Android Non disponible.
typListeImage27Champ Liste image
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typListeKanban142Champ Liste de Kanban
Widget AndroidiPhone/iPadWidget IOS
Non disponible.
typMapArea50010Champ Image cliquable
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typModèleDeChamp43Champ de type Modèle de champs.
typMonétaire20005Champ de saisie de type monétaire
Widget Android Non disponible.
typMultimédia39Champ Multimédia
Widget Android Non disponible.
typNotation85Champ Notation
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typNoteRepositionnable119Champ Note repositionnable
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typNum20004Champ de saisie de type numérique
Widget Android Non disponible.
typOle15Champ OLE
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typOnglet16Champ Onglet
Widget Android Non disponible.
typOptionInterrupteurABascule133Option d'un champ Interrupteur à bascule
Widget Android Non disponible.
typOptionMenu40001Option de menu
Widget AndroidiPhone/iPadWidget IOS Non disponible.
typOrganigramme86Champ Organigramme
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typPage1Page
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typPageCornée79Champ Page cornée
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typPageInterne31Page interne
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typPanneau131Champ Panneau dockable
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typPlanDeBandeauDéfilant123Plan associé à un champ Bandeau défilant
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typPlanDeSite45Champ Plan du site
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typPlanning80Planning
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typPopup90Page popup
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typPotentiomètre12Champ Potentiomètre
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typPotentiomètreIntervalle72Potentiomètre d'intervalle
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typPotentiomètreRotatif13Potentiomètre rotatif
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typRangeSlider72Champ Range Slider
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typRéglette50009Champ Réglette
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typRegroupementRubanRegroupement de ruban
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typRuban87Champ Ruban
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typRuptureRupture dans un champ Zone répétée
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typSélect6Champ Sélecteur
typSéparateur28Champ Séparateur
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typSilverlight46Champ SilverLight
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typSpin11Champ Spin
Widget AndroidiPhone/iPadWidget IOS
Non disponible.
typSuperChamp40Superchamp
typTable9Champ Table
Widget Android Non disponible.
typTableauCroiséDynamique102Champ Tableau croisé dynamique
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typTableauDeBord111Champ Tableau de bord
AndroidWidget AndroidiPhone/iPadWidget IOS Non disponible.
typTableHierarchique35Champ Table hiérarchique
AndroidWidget AndroidiPhone/iPadWidget IOS Non disponible.
typTableur114Champ Tableur
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typTexte20001Champ de saisie de type texte
Widget Android Non disponible.
typTiroir34Champ Tiroir
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typTraitementDeTexte120Champ Traitement de texte
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typTreeMap74Champ TreeMap
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typTreeView19Champ Arbre
AndroidWidget AndroidiPhone/iPadWidget IOS Non disponible.
typUpload73Champ Upload
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typVidéo78Champ Vidéo
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typVignette50012Champ Vignette
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typWebCam24Champ Web Camera
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typXaml36Champ Xaml
AndroidWidget AndroidiPhone/iPadWidget IOS
Non disponible.
typZoneMultiligne97Champ Zone multiligne
AndroidWidget Android
Non disponible.
typZoneRépétée30Champ Zone répétée
Widget Android Non disponible.
typZoneRépétéeLinéaire77Champ Zone répétée linéaire
AndroidWidget AndroidiPhone/iPadWidget IOS Non disponible.
typZoneTexteRiche109Champ Zone de texte
AndroidWidget AndroidiPhone/iPadWidget IOS Non disponible.

Affectation d'une variable de type Champ

Une variable de type Champ peut être utilisée pour manipuler :
  • un champ existant dans une fenêtre ou un état.
L'affectation d'une variable de type Champ doit être réalisée avec l'opérateur '<-'.
Exemples :
// Affectation avec un champ existant
c est un Champ
c <- SAI_Saisie1
// Affectation en utilisant l'indirection
// La variable référence le champ SAI_SAISIE2
c <- {"SAI_SAISIE2"}
Attention : L'opérateur '=' ne doit pas être utilisé pour l'affectation d'une variable de type Champ. Cet opérateur permet de transférer la valeur d'un champ dans un autre champ de même type. Par exemple :
// Affectation avec un champ existant
c est un Champ
c <- SAI_Saisie1

// Modification de la valeur 
c = SAI_Saisie3 // Code équivalent : SAI_Saisie1.Valeur = SAI_Saisie3.Valeur
c = "Texte" // Code équivalent : SAI_Saisie1.Valeur = "Texte"
Remarque : Pour savoir si la variable de type Champ a été affectée, utilisez la propriété Type sur la variable.

Utilisation d'une variable de type Champ dans une procédure

Le type Champ peut être un paramètre d'une procédure.
Méthode 1 : Utilisation de la syntaxe sans préciser le type du champ :
  • le code de la procédure est du type :
    PROCÉDURE MaProcédure(C est un Champ)
    C = "Il est " + HeureSys()
  • l'appel de la procédure est du type :
    MaProcédure(SAI_Saisie1)
Dans ce cas, si le type du champ n'est pas celui attendu, aucune vérification n'est effectuée à la compilation.
Nouveauté 2024
Méthode 2 : Utilisation de la syntaxe précisant le type de champ utilisé :
  • le code de la procédure est du type :
    PROCÉDURE MaProcédure(C est un Champ <type champ = typSaisie)
    C = "Il est " + HeureSys()
  • l'appel de la procédure est du type :
    MaProcédure(SAI_Saisie1)
Avantage : Si l'appel de la procédure utilise un champ d'un type différent de celui attendu, une erreur de compilation est affichée : "Le passage du champ en paramètre n'est pas compatible avec le champ attendu."

Optimisation des traitements avec indirection

Le type Champ peut être utilisé pour optimiser les traitements utilisant les indirections. Il est possible par exemple d'écrire :
C est un Champ <-{s, indChamp}
C.Largeur = 10
C.Hauteur = 20
plutôt que le code suivant :
{s, indChamp}..Largeur = 10
{s, indChamp}..Hauteur = 20

Propriétés associées à une variable de type Champ

Le type Champ permet de manipuler tous les types de champs d'une fenêtre ou d'un état. Les propriétés disponibles dépendent du type de champ manipulé.
Ainsi, si une variable de type Champ est utilisée pour manipuler un champ de saisie, toutes les propriétés WLangage disponibles sur le champ de saisie sont utilisables sur la variable de type Champ.
Nouveauté 2024
En spécifiant le type du champ dès la déclaration de la variable de type Champ, seules les propriétés du type de champ indiqué sont proposées sous l'éditeur de code.
Pour connaître les propriétés d'un champ, consultez la page d'aide du champ : le lien "Voir aussi" permet d'accéder à toutes les propriétés du champ. Pour plus de détails, consultez Champs d'une fenêtre.

Fonctions manipulant une variable de type Champ

Toutes les fonctions WLangage manipulant des champs peuvent être utilisées sur une variable de type Champ. Bien entendu, seules les fonctions WLangage correspondant au type de champ manipulé sont disponibles.
Nouveauté 2024
En spécifiant le type du champ dès la déclaration de la variable de type Champ, seules les fonctions manipulant le type de champ indiqué sont proposées sous l'éditeur de code.
Ainsi, il est possible d'utiliser les fonctions TableXXX sur une variable de type Champ manipulant un champ Table.
Version minimum requise
  • Version 19
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 22/04/2024

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