PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Crée un nouveau champ de n'importe quel type dans une fenêtre par programmation.
Versions 23 et supérieures
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 23
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
iPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Exemple
c est un Champ
c <- ChampCrée("BOUTON_1", typBouton, 30, 40, 140, 20)
c..Libellé = "Cliquez moi"
c..Traitement[trtClic] = maProcédure
ChampCrée("SAISIE_1", typDate, 30, 40, 140, 20)

chmp est un Champ
chmp <- ChampCrée("DATE", typDate, 150, 150, 80, 20)
chmp..LargeurLibellé = 40
chmp..Libellé = "Date"
// Création d'une table avec ses colonnes
cTable est un Champ
cTable <- ChampCrée("cTable", typTable,0, 0, 300, 250, Vrai)
cTable..Ancrage = ancreLargeur + ancreHauteur

col1 est un Champ <- ChampCrée("cTable.COL1", typColonne)
col1..TypeSaisie = typSaisieTexte

col2 est un Champ <- ChampCrée("cTable.COL2", typColonne)
col2..TypeSaisie = typSaisieHeure

col3 est un Champ <- ChampCrée("cTable.COL3", typColonne)
col3..TypeSaisie = typSaisieNum

TableAjouteLigne(cTable, "Col 1", "1224", "25")
Syntaxe
[<Résultat> <- ] ChampCrée(<Nom> , <Type> [, <X> [, <Y> [, <Largeur> [, <Hauteur> [, <Visible>]]]]])
<Résultat> : Variable de type Champ
Le champ créé peut être manipulé via une variable de type Champ. Dans ce cas, l'affectation doit être réalisée avec l'opérateur '<-'.
Si la fonction ChampCrée est utilisée directement, le champ est créé dans la fenêtre et est visible par défaut.
<Nom> : Chaîne de caractères (avec guillemets)
Nom à donner au nouveau champ. Ce nom permettra de manipuler le champ par programmation.
Si ce nom existe déjà, une erreur WLangage est affichée.
Si ce paramètre correspond à une chaîne vide (""), un nom unique est automatiquement créé.
Cas particuliers :
  • Création d'un champ dans un champ "Parent" : il suffit d'indiquer le nom complet du champ à créer. Par exemple : "Onglet[1].Bouton2".
  • Création d'une colonne de saisie dans un champ Table : il suffit d'indiquer le type typColonne et le nom du champ Table avant le nom de la colonne. Par exemple :
    // Colonne de type Saisie + Date
    ChampCrée("TABLE1.COL3", typColonne)
    c..Largeur = 100
    c..TypeSaisie = typSaisieDate
  • Création d'une colonne simple dans un champ Table : il suffit d'indiquer le type de la colonne voulu et le nom du champ Table avant le nom de la colonne. Par exemple :
    // Colonne de type Image
    c2 est un Champ <- ChampCrée("Table1.Col3", typImage)
    c2..Largeur = 50
  • Création de volets d'onglet  : il suffit d'indiquer le type typVoletOnglet et le nom de l'onglet. Par exemple :
    ChampCrée("ONGLET1", typVoletOnglet)
<Type> : Constante de type Entier
Type de champ à créer :
typActiveXChamp ActiveX
iPhone/iPad Non disponible.
typAgendaChamp Agenda
iPhone/iPad Non disponible.
typAscChamp Ascenseur
iPhone/iPad Non disponible.
typBarreOutilsChamp Barre d'outils
iPhone/iPad Non disponible.
typBoîteAOutilsChamp Boîte à outils
iPhone/iPad Non disponible.
typBoutonChamp Bouton
typCalendrierChamp Calendrier
typCarrouselChamp Carrousel
iPhone/iPad Non disponible.
Versions 20 et supérieures
typCarte
Nouveauté 20
typCarte
typCarte
Champ Carte
typClicageChamp Image cliquable
typCodeBarresChamp Code-barres
typColonneChamp Colonne de table
typComboAVSChamp Combo avec saisie
typComboSNSChamp Combo sans saisie
Versions 22 et supérieures
typConférence
Nouveauté 22
typConférence
typConférence
Champ Conférence
Versions 23 et supérieures
typConteneurNatif
Nouveauté 23
typConteneurNatif
typConteneurNatif
Champ Conteneur natif
typCubeChamp Cube
iPhone/iPad Non disponible.
typDateChamp de saisie de type date
typDuréeChamp de saisie de type durée
iPhone/iPad Non disponible.
Versions 23 et supérieures
typEditeurImages
Nouveauté 23
typEditeurImages
typEditeurImages
Champ Editeur d'images
iPhone/iPad Non disponible.
typFenêtreInterneChamp Fenêtre Interne
Versions 21 et supérieures
typFil
Nouveauté 21
typFil
typFil
Champ Fil
iPhone/iPad Non disponible.
typFormeChamp Forme/Dessin
iPhone/iPad Non disponible.
typGanttColonne de type Diagramme de Gantt
iPhone/iPad Non disponible.
typGrapheChamp Graphe
typHeureChamp de saisie de type heure
typHTMLChamp Libellé HTML
typImageChamp Image
typInterrChamp Interrupteur
typJaugeChamp Jauge
Versions 20 et supérieures
typJaugeInfinie
Nouveauté 20
typJaugeInfinie
typJaugeInfinie
Champ Jauge infinie
Versions 23 et supérieures
typLecteurPDF
Nouveauté 23
typLecteurPDF
typLecteurPDF
Champ Lecteur PDF
iPhone/iPad Non disponible.
typLibelléChamp Libellé
typListeChamp Liste
typListeImageChamp Liste Image
iPhone/iPad Non disponible.
typMonétaireChamp de saisie de type monétaire
typMultimédiaChamp Multimédia
typNotationChamp Notation
Versions 21 et supérieures
typNoteRepositionnable
Nouveauté 21
typNoteRepositionnable
typNoteRepositionnable
Champ Note repositionnable
iPhone/iPad Non disponible.
typNumChamp de saisie de type numérique
typOleChamp OLE
iPhone/iPad Non disponible.
typOngletChamp Onglet
typOrganigrammeChamp Organigramme
iPhone/iPad Non disponible.
typPlanningChamp Planning
typPotentiomètreChamp Potentiomètre
typPotentiomètreRotatifChamp Potentiomètre rotatif
typRubanChamp Ruban
iPhone/iPad Non disponible.
typSélectChamp Sélecteur
typSéparateurChamp Séparateur
iPhone/iPad Non disponible.
typSpinChamp Spin
iPhone/iPad Non disponible.
typSuperChampSuperchamp
typTableChamp Table
typTableauCroiséDynamiqueChamp Tableau croisé dynamique
iPhone/iPad Non disponible.
Versions 19 et supérieures
typTableauDeBord
Nouveauté 19
typTableauDeBord
typTableauDeBord
Champ Tableau de bord
typTableHierarchiqueChamp Table hiérarchique
iPhone/iPad Non disponible.
Versions 20 et supérieures
typTableur
Nouveauté 20
typTableur
typTableur
Champ Tableur
iPhone/iPad Non disponible.
typTexteChamp de saisie de type texte
typTiroirChamp Tiroir
iPhone/iPad Non disponible.
Versions 22 et supérieures
typTraitementDeTexte
Nouveauté 22
typTraitementDeTexte
typTraitementDeTexte
Champ Traitement de texte
iPhone/iPad Non disponible.
typTreeMapChamp TreeMap
iPhone/iPad Non disponible.
typTreeViewChamp Arbre
typVoletOngletChamp Volet d'onglet
typWebCamChamp Web Camera
typXamlChamp Xaml
iPhone/iPad Non disponible.
typZoneMultiligneChamp Zone Multiligne
typZoneRépétéeChamp Zone répétée

Si le type est invalide, une erreur WLangage est affichée.
<X> : Entier optionnel
Abscisse du champ à créer (position sur l'axe des X) en pixels. Position horizontale du coin haut gauche du champ par rapport au coin haut gauche de la zone client de la fenêtre (c'est-à-dire la fenêtre sans les barres de titre et de menu ni le cadre). Ce paramètre correspond à la propriété ..XInitial.
Si ce paramètre n'est pas précisé, l'abscisse du champ est 0.
Il est ensuite possible de modifier cette valeur avec la propriété ..X.
<Y> : Entier optionnel
Ordonnée du champ à créer (position sur l'axe des Y) en pixels. Position verticale du coin haut gauche du champ par rapport au coin haut gauche de la zone client de la fenêtre (c'est-à-dire la fenêtre sans les barres de titre et de menu ni le cadre). Ce paramètre correspond à la propriété ..YInitial.
Si ce paramètre n'est pas précisé, l'ordonnée du champ est 0.
Il est ensuite possible de modifier cette valeur avec la propriété ..Y.
<Largeur> : Entier optionnel
Largeur du champ à créer (exprimée en pixels). Ce paramètre correspond à la propriété ..LargeurInitiale.
Si ce paramètre n'est pas précisé, la largeur du champ est 0.
Il est ensuite possible de modifier cette valeur avec la propriété ..Hauteur.
<Hauteur> : Entier optionnel
Hauteur du champ à créer (exprimée en pixels). Ce paramètre correspond à la propriété ..HauteurInitiale.
Si ce paramètre n'est pas précisé, la hauteur du champ est 0.
Il est ensuite possible de modifier cette valeur avec la propriété ..Largeur.
<Visible> : Booléen optionnel
  • Vrai (valeur par défaut) si le champ doit être visible,
  • Faux pour créer un champ invisible.
Il est ensuite possible de modifier cette valeur avec la propriété ..Visible.
Remarques
  • WINDEV Si plusieurs champs sont créés dans la même fenêtre en une seule opération, il est conseillé de désactiver la propriété ..AffichageActif avant la création des champs puis de la réactiver après : l'affichage des nouveaux champs sera optimisé et l'effet d'apparition progressive des champs sera supprimé.
  • Pour paramétrer les caractéristiques du champ créé, utilisez les propriétés associées au type de champ créé :
    • Si le champ est créé directement, il est possible d'utiliser l'opérateur d'indirection pour manipuler le champ par son nom :
      ChampCrée("BOUTON_1", typBouton, 30, 40, 140, 20)

      {"BOUTON_1"}..Libellé = "Envoyer un email"
      {"BOUTON_1"}..Traitement[trtClic] = maProcédure
    • Si le champ créé est associé à une variable de type Champ, il suffit d'utiliser directement les propriétés du champ sur la variable :
      c est un Champ
      c <- ChampCrée("BOUTON_1", typBouton, 30, 40, 140, 20)

      c..Libellé = "Cliquez moi"
      c..Traitement[trtClic] = maProcédure
  • Pour changer le style du champ créé :
    • WINDEV utilisez la fonction ChangeStyle. Il suffit d'affecter au champ un style présent dans la feuille de styles du projet.
    • Versions 20 et supérieures
      utilisez la propriété ..Style. Cette propriété permet de copier le style d'un champ existant dans un autre champ.
      Nouveauté 20
      utilisez la propriété ..Style. Cette propriété permet de copier le style d'un champ existant dans un autre champ.
      utilisez la propriété ..Style. Cette propriété permet de copier le style d'un champ existant dans un autre champ.
  • Pour définir les différents traitements associés au champ, utilisez la propriété ..Traitement.
  • Pour supprimer un champ créé avec la fonction ChampCrée, utilisez la fonction ChampSupprime.
Composantes
WINDEV wd230obj.dll
Linux wd230obj.so
Version minimum requise
  • Version 19
Documentation également disponible pour…
Commentaires
Peuplement de combos
Pour éviter de chercher aussi longtemps que moi ...

Soit une table "table_nok"
LOCAL
sNomcolonne est une chaîne
sNomcolonne1 est une chaîne
sNomcolonne2 est une chaîne
sNomcolonne3 est une chaîne
sNomcourt est une chaîne
sNomcourt1 est une chaîne
sNomcourt2 est une chaîne
sNomcourt3 est une chaîne
i est un numérique
champdyn est un Champ
champdyn1 est un Champ
champdyn2 est un Champ
champdyn3 est un Champ
m est un numérique
sContenuEnreg est une chaîne

i=1
sNomcolonne ="TABLE_nok.Col_texte_"+NumériqueVersChaîne(i,"02d");sNomcourt ="Col_texte_"+NumériqueVersChaîne(i,"02d")
sNomcolonne1="TABLE_nok.Col_combo_"+NumériqueVersChaîne(i,"02d");sNomcourt1="Col_combo_"+NumériqueVersChaîne(i,"02d")
sNomcolonne2="TABLE_nok.Col_numer_"+NumériqueVersChaîne(i,"02d");sNomcourt2="Col_numer_"+NumériqueVersChaîne(i,"02d")
sNomcolonne3="TABLE_nok.Col_combi_"+NumériqueVersChaîne(i,"02d");sNomcourt3="Col_combi_"+NumériqueVersChaîne(i,"02d")

champdyn <- ChampCrée(sNomcolonne, typColonne)
champdyn..Largeur = 100
//champdyn..libelle = gtabBases_juridiques[i][3]

champdyn1 <- ChampCrée(sNomcolonne1, typComboAVS)
champdyn1..Largeur = 200

champdyn2 <- ChampCrée(sNomcolonne2, typColonne)
champdyn2..Largeur = 100
champdyn2..TypeSaisie=typNum
champdyn2..MasqueSaisie="+999 999,0000"

champdyn3 <- ChampCrée(sNomcolonne3, typComboSNS)
champdyn3..Largeur = 200


m=TableAjouteLigne(TABLE_nok)
sContenuEnreg="Ligne 1 - Super"+RC+"Ligne 2 - Très bien"
{"TABLE_nok["+m+"]+."+sNomcourt1,indChamp}..Contenu=sContenuEnreg
{"TABLE_nok["+m+"]+."+sNomcourt3,indChamp}..Contenu=sContenuEnreg

m=TableAjouteLigne(TABLE_nok)
sContenuEnreg="Ligne 3 - Bien"+RC+"Ligne 4 - Médiocre"
{"TABLE_nok["+m+"]+."+sNomcourt1,indChamp}..Contenu=sContenuEnreg
{"TABLE_nok["+m+"]+."+sNomcourt3,indChamp}..Contenu=sContenuEnreg

m=TableAjouteLigne(TABLE_nok)
sContenuEnreg="Ligne 5 - Mauvais"+RC+"Ligne 6 - Nul"
{"TABLE_nok["+m+"]+."+sNomcourt1,indChamp}..Contenu=sContenuEnreg
{"TABLE_nok["+m+"]+."+sNomcourt3,indChamp}..Contenu=sContenuEnreg
xof
12 avr. 2014