PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Problème fSelecteur vers un appareil Android
Problème fSelecteur vers un appareil Android
Iniciado por Simon, 27,mar. 2019 16:39 - 8 respuestas
Miembro registrado
17 mensajes
Publicado el 27,marzo 2019 - 16:39
Bonjour

Je développe une petite application basique pour copier des Fichiers d'un téléphone android vers un Pc par USB.
Le problème est que lors de l'appel de la fonction fSelecteur j'ai bien accès à mon portable mais je ne peux sélectionner que un seul fichier (image dans mon cas)





Si je sélectionne plusieurs fichiers qui ne sont pas dans mes fichiers android avec ce même fSelecteur je n'ai pas d'erreur.
Je ne souhaite pas faire de transfert par wifi car le client ne possède pas de connexion Wifi .


Je vous met le code utilisé tiré de l'exemple :
sFichierSelect est une chaîne = ""
sFichierSelect = fSélecteur("C:\Répertoires","Fichier.txt","Sélectionner un fichier","Image (*.JPG)" + TAB + "*.jpg" + RC + "Tous" + TAB + "*.*","jpg" ,fselExiste + fselMulti )
SI sFichierSelect <> "" ALORS
POUR TOUTE chaîne sUneligne de sFichierSelect SEPAREE PAR RC
SI sUneligne <> "" ALORS
fCopieFichier(sUneligne ,"D:\Mes Projets\Test")
FIN
FIN
FIN


J'ai déjà cherché et je suis tombé sur ce post qui ressemble à mon problème mais qui reste sans réponse :
https://forum.pcsoft.fr/fr-FR/pcsoft.fr.windev/186352-copier-fichiers-sur-peripherique-usb/read.awp

Merci par avance pour votre aide.

Cordialement.
Miembro registrado
3.784 mensajes
Publicado el 27,marzo 2019 - 21:41
il existe 2 exemple payant dans les lst Pcsoft.
En gros ça utilise les commandes ADB du SDK Android avec la classe cconsole de jurasik pork qui est sur le dépôt
Miembro registrado
17 mensajes
Publicado el 28,marzo 2019 - 09:22
J'ai oublié de préciser la solution par ADB ne m'intéresse pas car il faudrait activer le mode débogage sur chaque appareil de client ce qui n'est pas très instinctif . Je souhaite aller au plus simple c'est pour cela que la solution avec juste un fSelecteur sur l'appareil puis un simple copie fichier me semblais pas mal . Je suis preneur d'autres solutions des idées ?
Miembro registrado
3.784 mensajes
Publicado el 28,marzo 2019 - 11:53
Le problème est que fselecteur n'accède aux USB avec une lettre attribué.
La plupart du temps les smartphones n'ont pas de lettre.
Il faut regarder du côté des API Windows mais je ne sais lesquels utilisé.
Miembro registrado
17 mensajes
Publicado el 28,marzo 2019 - 12:31
Ce qui est bizarre c'est que mon fSelecteur et la copie marche très bien si je ne sélectionne que un seul dossier alors que mon périphérique n'a pas de lettre . Je ne peux pas passer par un fRepSelecteur pour prendre tous mes fichiers car mon Android n'est reconnu que par fSelecteur .
Même problème je ne peux pas passer par un fListefichier car pas de Lettre attribué .
Avec un seul fichier le chemin pris est le suivant :





Je ne comprends vraiment pas pourquoi il marche avec un seul fichier mais refuse d'en sélectionner plusieurs.
Miembro registrado
3.784 mensajes
Publicado el 28,marzo 2019 - 14:58
Personnellement, j'ai créer sous WM Android mon propre sélecteur de fichiers
En effet, la fonction n'existe pas en WM Android.
Tu as frep, flistefichier, etc tu met la liste dans une zone répétée multi sélection.
ou une table
Miembro registrado
17 mensajes
Publicado el 28,marzo 2019 - 15:46
Même si je liste mes fichiers sur une zone répétée dans mon WM le problème sera toujours de les copier dans mon Pc par USB car je n'arrive pas a faire un fCopieFichier entre mon Android et Mon Pc . C'est pour cela que j'essaye de le faire par Windev mais sans grand succès non plus .
Miembro registrado
3.784 mensajes
Publicado el 28,marzo 2019 - 18:42
Il te reste l'envoi de fichiers par sockets entre Android et windows
https://m.youtube.com/watch…
et
https://repository.windev.com/resource.awp…
Miembro registrado
17 mensajes
Publicado el 29,marzo 2019 - 14:45
J'ai bien suivi le fonctionnement mais cela m'amène à plusieurs problème :
J'arrive bien à Copier ma photo sur Mon Pc à partir du simulateur WM mais en physique avec mon appareil impossible




L'erreur me renvoie format de l'image invalide . (Le même code marche bien avec le simulateur)

Ensuite la connexion des socket se fais forcément sur le même réseau . Comment connecter l'appareil android sur le réseau du Pc Sans Wifi ?

- L'image que je récupère avec le simulateur à une qualité bien inférieur à celle envoyé . Est ce une limitation des sockets avec les images ?

Code de l'envoi du socket :

Image est une chaîne
dDateJour est une Date = DateSys()
SI EnModeTest() ALORS
IMG_SansNom2 = dChargeImage("D:\Mes Projets\TablettePhotoTest\2019\mars\11\P_20170503_161353.jpg" ,imgDéfaut)
Image = dSauveImageJPEG(IMG_SansNom2,enMémoire)
SINON
IMG_SansNom2 = dChargeImage("/storage/emulated/0/" +gsNomDossier + "/" + dDateJour..Année + "/" + DateVersMoisEnLettre(dDateJour) + "/" +dDateJour..Jour + "/Photo/up/ABC.jpg" ,imgDéfaut)
Image = dSauveImageJPEG(IMG_SansNom2,enMémoire)
FIN

SI SocketConnecte("EnvoiePhoto" ,64000 , ip) ALORS
SI SocketEcrit("EnvoiePhoto","Test" +RC+ Image) = Faux ALORS
Erreur("Impossible d'envoyer le socket : " + ErreurInfo())
FIN
SocketFerme("EnvoiePhoto")
SINON
Info("Impossible de se connecter au serveur")
FIN


L'envoi de Photo par Socket est vraiment la meilleur solution pour mon problème ?