IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Remplacer photo sous condition


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 38
    Par défaut Remplacer photo sous condition
    Bonjour
    Je craque devant un problème simple et j'y suis depuis une journée sans solution.
    J'ai un fichier qui comporte une rubrique photo (déclarée image).
    Je voudrais par un bouton lister toutes les lignes de ce fichier, voir si une photo existe. Si elle exite, ne rien faire, si elle n'existe pas, la remplacer par une photo sur HD.

    mon code (qui ne marche pas)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    sImg_photo est une chaîne
    sImg_photo = "C:\Temp\photo.gif"
    POUR TOUT Adhérent AVEC "nom<>' '"
    	ph est une chaîne = Adhérent.Photo
    	SI fFichierExiste(ph) = Faux ALORS
    		Adhérent.Photo=sImg_photo
    		HModifie(Adhérent)	
    		Trace("Photo trouvée ",sImg_photo)
     	sinon
    		Trace("Pas de photo pour ",Adhérent.Nom)
    	fin
    FIN
    Merci pour votre aide...

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    136
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 136
    Par défaut
    Humm... si la rubrique "photo" est de type image, il ne s'agit pas d'un chemin vers un fichier donc la fonction fFichierExiste(ph) doit toujours renvoyer faux, non ?

    Je ne connais pas trop la façon de se comporte une rubrique de type image dans un fichier de données mais ce doit être l'équivalent d'un BLOB sur MySQL, un rubrique binaire.
    Soit la rubrique est vide et dans ce cas, il n'y a pas de photo d'enregistrer soit elle ne l'est pas, et on espère qu'il s'agisse d'une photo.
    Pour tester que la rubrique est vide, j’essayerai la fonction Taille ou éventuellement les fonction InfoBitmap.

    Sinon, l'autre solution est de déclarer la rubrique "Photo" du fichier en tant que chaine et y stocker le chemin de l'image et dans ce cas, le code fourni devrait fonctionner.
    Par contre, utiliser le chemin d'un fichier comporte le risque que si l'application est installé sur plusieurs poste, tous n'est pas accès à ce chemin.

  3. #3
    Membre éclairé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2007
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 221
    Par défaut
    Bonjour

    je ferais un champs Name_Photo contenant le nom de la photo (nom de fichier sans le chemin).

    fred

  4. #4
    Membre très actif

    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    402
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 402
    Par défaut
    Bonjour

    ça va te surprendre mais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    POUR TOUT Adhérent AVEC nom<>""
    devrait fonctionner

    de plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    sImg_photo est une chaîne
    sImg_photo = "C:\Temp\photo.gif"
    POUR TOUT Adhérent
    	ph est une chaîne = Adhérent.Photo
    	SI fFichierExiste(ph) = Faux ALORS
    		Adhérent.Photo=sImg_photo
    		HModifie(Adhérent)	
    		Trace("Photo trouvée ",sImg_photo)
     	sinon
    		Trace("Pas de photo pour ",Adhérent.Nom)
    	fin
    FIN
    devrait aussi te permettre de mettre la photo par defaut sur les champs ou aucune photo n'est renseignée

    Bon dev

  5. #5
    Membre très actif

    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    402
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 402
    Par défaut
    Erreur de ma part :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    sImg_photo est une chaîne
    sImg_photo = "C:\Temp\photo.gif"
    POUR TOUT Adhérent
    	ph est une chaîne = Adhérent.Photo
    	SI fFichierExiste(ph) = Faux ALORS
    		Adhérent.Photo=sImg_photo
                    Trace("Pas de photo pour ",Adhérent.Nom)
    		SI HModifie(Adhérent) ALORS
                        Trace("Photo par defaut inserée")
                    SINON
                        Trace("Erreur Base")
    	        FIN
     	SINON
    		Trace("Photo trouvée : ",Adhérent.Nom+"-->"+Adhérent.Photo)
    	FIN
    FIN

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 38
    Par défaut
    Bonjour Atsibat et toute mes excuses pour cette réponse tardive pour cause de déplacement.
    J'ai bien récupéré ton code mais il ne marche pas non plus.
    Il m'efface les photos existante et mets "à vide" le champs photo de tous les adhérents sans exception.
    Désolé.

Discussions similaires

  1. [XL-2013] Remplacer une ligne par X lignes sous conditions
    Par unlucky dans le forum Excel
    Réponses: 3
    Dernier message: 10/06/2015, 12h43
  2. [Chaines] Remplacement de sous chaine simple
    Par Clorish dans le forum Delphi
    Réponses: 3
    Dernier message: 28/09/2006, 14h21
  3. Réponses: 8
    Dernier message: 14/01/2006, 16h17
  4. Pb Ouverture de formulaire sous condition.
    Par Phl98 dans le forum Access
    Réponses: 8
    Dernier message: 03/11/2005, 23h28
  5. Create function sous condition
    Par nbl dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 12/05/2005, 13h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo