PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Caractéristiques de la rubrique
  • Comment le faire ?
  • Stocker les images dans le fichier de données sous forme de rubrique Texte
  • Stocker les images dans le fichier de données sous forme de rubrique "Image"
  • Récupérer le contenu de l'image dans une rubrique
  • Vignettes HFSQL
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
Champ Image lié à une rubrique
Caractéristiques de la rubrique
Un champ Image peut correspondre à une rubrique d'un fichier de données, d'une requête, ... Deux types de rubriques peuvent être associés à un champ Image :
  • Soit une rubrique de type "Texte" : l'information stockée est le chemin de l'image.
  • Soit une rubrique de type "Son, image, binaire" : l'information stockée est l'image elle-même.
Dans les deux cas, le champ Image permet d'afficher les informations contenues dans le fichier de données.
Comment le faire ?

Stocker les images dans le fichier de données sous forme de rubrique Texte

Cette solution permet de stocker dans le fichier de données le chemin des images.
Pour gérer les images sous forme de rubrique Texte :
  1. Dans l'éditeur d'analyses :
    • Créez une rubrique de type Texte (par exemple PHOTO_Chemin). Cette rubrique va permettre de stocker le chemin permettant d'accéder à l'image.
    • Pensez à modifier la taille de cette rubrique (mettre par exemple 255 caractères).
    • Dans les informations partagées de la rubrique, ce champ est associé à un champ de saisie.
    • Générez l'analyse pour prendre en compte les modifications.
  2. Dans la fenêtre (ou la page) devant permettre de saisir / visualiser l'image :
    • Créez un champ Image (dans notre exemple IMG_Photo). Ce champ Image n'est relié à aucune rubrique.
    • Créez un champ de saisie lié à la rubrique PHOTO_CHEMIN (dans notre exemple, ce champ s'appelle SAI_Photo).
      Pour créer ce champ, vous pouvez par exemple réaliser un "Drag and Drop" de la rubrique présente dans le volet "Analyse" vers votre fenêtre/page.
      Ce champ permet à l'utilisateur d'indiquer le chemin du fichier image à utiliser. Il est possible d'ajouter à côté de ce champ un bouton permettant de sélectionner l'image voulue. Le traitement de clic du bouton peut contenir par exemple le code suivant :
      // Ouvre un sélecteur d'image
      SAI_Photo = fSélecteurImage("c:\mes documents", "", "Sélectionnez la photo du client")
      // Exécute le traitement du champ de saisie SAI_Photo
      // pour mettre à jour le champ Image
      ExécuteTraitement(SAI_Photo, trtModification)
    • Dans le traitement "A chaque modification" de ce champ, saisissez par exemple le code suivant :
      SI fFichierExiste(MoiMême) = Vrai ALORS
              IMG_Photo = MoiMême
      SINON
              IMG_Photo = ""
      FIN

      Ce code permet de :
      • vérifier l'existence du fichier image.
      • afficher l'image dans le champ Image. Il suffit d'affecter le chemin de l'image au champ Image pour que l'image soit affichée. Si l'image n'existe pas, aucune image n'est affichée.
    • Lors de l'affichage de la fenêtre / de la page, forcez si nécessaire l'exécution du traitement de modification du champ grâce à la fonction ExécuteTraitement. Par exemple :
      ExécuteTraitement(SAI_Photo, trtModification)
  3. L'enregistrement des informations dans le fichier de données sera effectué automatiquement lors de l'utilisation :
Le chemin de l'image sera automatiquement enregistré dans la rubrique de type Texte.

Stocker les images dans le fichier de données sous forme de rubrique "Image"

Cette solution permet de stocker directement dans le fichier de données les images.
Pour gérer les images sous forme de rubrique "Image" :
  1. Dans l'éditeur d'analyses :
    • Créez une rubrique de type "Son, image, binaire" (par exemple PHOTO_Image). Cette rubrique va permettre de stocker l'image.
    • Dans l'onglet "Général" de la rubrique, indiquez le sous-type "Image (mémo binaire)".
    • Dans les informations partagées de la rubrique, ce champ est associé à un champ Image.
    • Générez l'analyse pour prendre en compte les modifications.
  2. Dans la fenêtre (ou la page) devant permettre de saisir / visualiser l'image :
    • Créez un champ Image (dans notre exemple IMG_Photo). Ce champ Image est relié à la rubrique "Son, image, binaire" créée dans l'analyse. Pour créer ce champ, vous pouvez par exemple réaliser un "Drag and Drop" de la rubrique présente dans le volet "Analyse" vers votre fenêtre / page.
    • Créez si nécessaire un champ de saisie (dans notre exemple SAI_Photo). Ce champ permet à l'utilisateur d'indiquer le chemin du fichier image à utiliser. Ce champ n'est lié à aucune rubrique. Il est possible d'ajouter à côté de ce champ un bouton permettant de sélectionner l'image voulue. Le traitement de clic du bouton peut contenir par exemple le code suivant :
      // Ouvre un sélecteur d'image
      SAI_Photo = fSélecteurImage("c:\mes documents", "", "Sélectionnez la photo du client")
      // Exécute le traitement du champ de saisie SAI_Photo
      // pour mettre à jour le champ Image
      ExécuteTraitement(SAI_Photo, trtModification)
    • Dans le traitement "A chaque modification" de ce champ, saisissez par exemple le code suivant :
      SI fFichierExiste(MoiMême) = Vrai ALORS
              IMG_Photo = MoiMême
      SINON
              IMG_Photo = ""
      FIN

      Ce code permet de :
      • vérifier l'existence du fichier image.
      • afficher l'image dans le champ Image. Il suffit d'affecter le chemin de l'image au champ Image pour que l'image soit affichée. Si l'image n'existe pas, aucune image n'est affichée.
  3. L'enregistrement des informations dans le fichier de données sera effectué automatiquement lors de l'utilisation :
L'image sera alors automatiquement enregistrée dans la rubrique de type "Son, image, binaire".
Récupérer le contenu de l'image dans une rubrique
1er cas : la fenêtre (ou la page) est associée à un fichier de données
Toutes les rubriques du fichier de données (ou d'un fichier relié) associées à un champ de la fenêtre (ou de la page) seront affectées par :
2ème cas : la fenêtre (ou la page) n'est pas associée à un fichier de données spécifique
Pour une rubrique de type Texte : Il est nécessaire de réaliser une affectation champ par champ grâce à la syntaxe suivante :
<NomFichier>.<NomRubrique> = <NomChamp>
Pour une rubrique de type mémo binaire : Il est nécessaire de réaliser une affectation champ par champ grâce à la fonction HAttacheMémo.
Vignettes HFSQL
La rubrique liée au champ Image peut utiliser des vignettes HFSQL. Dans ce cas, l'affichage des images sera optimisé.
Pour plus de détails, consultez Vignettes HFSQL.
Voir Aussi
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire