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

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