PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile (précédentes versions) → Tester Existence image dans Champ Image windev mobile 20 Android
Tester Existence image dans Champ Image windev mobile 20 Android
Débuté par ChouLAGH, 08 fév. 2017 15:11 - 2 réponses
Membre enregistré
247 messages
Popularité : +1 (1 vote)
Posté le 08 février 2017 - 15:11
Bonjour,
Dans une application Androïd Windev mobile 20, j'ai besoin de faire choisir une photo (soit la choisir sur le téléphone, soit se prendre en photo) et je dois la passer à la fenêtre mobile suivante : Or Problème :
==================================
Situation de Test :
==================================
- Je crée une fenêtre 1 avec un champ image 1, un champ image 2 (pour copier le champ image 1 en petites dimensions)
un bouton pour prendre la photo un bouton pour sélectionner la photo dans le téléphone/
La photo s'affiche bien dans les deux champs images.

Un 3ème bouton "suivant " pour passer à la fenêtre N° 2:
Voici le code de ce bouton :
==================================
bResSauveImage est un booléen=Faux
//
// enregistree photo sur disque pour la récupérer sur la fen suivante
//
bResSauveImage= dSauveImageJPEG(IMG_Photo2,ComplèteRep(fRepExe())+"LaPhoto.jpg",50)
SI bResSauveImage=Faux ALORS
Info("dSauveImageJPEG"+RC+ErreurInfo())
FIN
gbSphotoChangee= Vrai // variable globale déclarée dans le code du projet

OuvreFenêtreMobile(FEN_InscriptionTerminer)
=========================================
ce code marche car je sauvegarde d'office la photo par dSauveImageJPEG que la photo soit choisie (prise) ou pas.
j' essayé les tests suivants avant dSauveImageJPEG :

Test 1 : je compare le champ IMG_pohoto2 à "" : CA NE MARCHE PAS : je passe toujours dedans meme si photo affichée,

Test 2 : j'utilise la fonction InfoBitmap() sur la photo que je viens de sauvegarder (avec le chemin :
ComplèteRep(fRepExe())+"LaPhoto.jpg"), j'extrais la 1ère chaine de cette fonction et je récupère toujours "BAD"

Test 3 : je sauvegarde le champ image dans une variable globale de type Image (dans le code du projet) et je mets vrai
dans une variable globale gbSphotoChangee (dans le code du projet) ,dans la 2ème fenêtre j'ai toujours Faux dans la variable booléenne
===========================================
Voici le code Fin Initialisation de la 2ème fenêtre qui contient un champ image : IMG_TERMINER
===========================================
SI gbSphotoChangee=Vrai ALORS
lImage est une Image
lImage=dChargeImage(ComplèteRep(fRepExe())+"LaPhoto.jpg")
//Info("dChargeJPEG"+RC+ErreurInfo())
IMG_TERMINER=lImage
SINON
IMG_TERMINER=""
FIN
===================================================
La Photo s'affiche si pas de SI des 3 tests cités et photo prise ou choisie,
la Photo ne s'affiche pas autrement.
===================================================
or j'envoie cette photo par un webservice windev 20 qui la stocke dans un fichier HFSQL.
si pas de photo choisie : il me stocke une photo vide dans l'enregistrement ????????????????????

=========================================================
PRECISION UTILE : si je teste les 2 fenêtres avec photo en dur dans la 1ère et test avec GO : aucun souci,
Si j'utilise la fonctionnalité appareil photo en téléchargeant mon appli depuis Google Play : Pb cité ci-dessus.

QUELQU'UN AURAIT GALÉRÉ COMME MOI ?



Merci de votre aide.

--
Chouaïb
Posté le 08 février 2017 - 15:33
Bonjour,

une solution très simple :

dans le code de prise de photo, utilise videocatpure (mode image). Ca va
te sauvegarder l'image prise sur le disque SI elle est prise.

Ensuite, charge l'image dans ton champ image

Avec ca, tu SAIS que l'image est présente.

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com


Le 2/8/2017 à 9:11 AM, ChouLAGH a écrit :
Bonjour,
Dans une application Androïd Windev mobile 20, j'ai besoin de faire
choisir une photo (soit la choisir sur le téléphone, soit se prendre en
photo) et je dois la passer à la fenêtre mobile suivante : Or Problème :
==================================
Situation de Test : ==================================
- Je crée une fenêtre 1 avec un champ image 1, un champ image 2 (pour
copier le champ image 1 en petites dimensions)
un bouton pour prendre la photo un bouton pour sélectionner la photo
dans le téléphone/
La photo s'affiche bien dans les deux champs images.

Un 3ème bouton "suivant " pour passer à la fenêtre N° 2:
Voici le code de ce bouton :
==================================
bResSauveImage est un booléen=Faux
//
// enregistree photo sur disque pour la récupérer sur la fen suivante
//
bResSauveImage=
dSauveImageJPEG(IMG_Photo2,ComplèteRep(fRepExe())+"LaPhoto.jpg",50)
SI bResSauveImage=Faux ALORS
Info("dSauveImageJPEG"+RC+ErreurInfo())
FIN
gbSphotoChangee=
Vrai // variable
globale déclarée dans le code du projet

OuvreFenêtreMobile(FEN_InscriptionTerminer)
=========================================
ce code marche car je sauvegarde d'office la photo par dSauveImageJPEG
que la photo soit choisie (prise) ou pas.
j' essayé les tests suivants avant dSauveImageJPEG :

Test 1 : je compare le champ IMG_pohoto2 à "" : CA NE MARCHE PAS : je
passe toujours dedans meme si photo affichée,

Test 2 : j'utilise la fonction InfoBitmap() sur la photo que je viens de
sauvegarder (avec le chemin : ComplèteRep(fRepExe())+"LaPhoto.jpg"),
j'extrais la 1ère chaine de cette fonction et je récupère toujours "BAD"

Test 3 : je sauvegarde le champ image dans une variable globale de type
Image (dans le code du projet) et je mets vrai
dans une variable globale gbSphotoChangee (dans le code du projet) ,dans
la 2ème fenêtre j'ai toujours Faux dans la variable booléenne
===========================================
Voici le code Fin Initialisation de la 2ème fenêtre qui contient un
champ image : IMG_TERMINER
===========================================
SI gbSphotoChangee=Vrai ALORS
lImage est une Image
lImage=dChargeImage(ComplèteRep(fRepExe())+"LaPhoto.jpg")
//Info("dChargeJPEG"+RC+ErreurInfo())
IMG_TERMINER=lImage
SINON
IMG_TERMINER=""
FIN
===================================================
La Photo s'affiche si pas de SI des 3 tests cités et photo prise ou
choisie,
la Photo ne s'affiche pas autrement.
===================================================
or j'envoie cette photo par un webservice windev 20 qui la stocke dans
un fichier HFSQL.
si pas de photo choisie : il me stocke une photo vide dans
l'enregistrement ????????????????????

=========================================================
PRECISION UTILE : si je teste les 2 fenêtres avec photo en dur dans la
1ère et test avec GO : aucun souci,
Si j'utilise la fonctionnalité appareil photo en téléchargeant mon appli
depuis Google Play : Pb cité ci-dessus.

QUELQU'UN AURAIT GALÉRÉ COMME MOI ?



Merci de votre aide.

--
Chouaïb
Membre enregistré
247 messages
Popularité : +1 (1 vote)
Posté le 08 février 2017 - 16:03
Merci Fabrice pour ta réponse.
J'ai une question :

1) videoCapture me demande en 1er paramètre un champ caméra : faut il vraiment poser ce champ dans la fen ?

--
Chouaïb