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