|
Fichier texte issu d'une appli A vide en lecture dans l'appli B |
Started by EVonZ, May, 19 2017 4:51 PM - 11 replies |
| |
| | | |
|
| |
Registered member 26 messages |
|
Posted on May, 19 2017 - 4:51 PM |
Bonjour,
Depuis une appli A je créé un fichier texte avec un code postal: 13000 par exemple J'ouvre une appli B depuis cette même appli A avec un code natif Java (de suis en Windev Mobile 21 pour Android)
J'essaye de récupérer le code postal depuis l'appli B, mais c'est impossible!! Voici mon code dans l'appli B
bufBuffCP = fChargeTexte(sPath) sLigneTxt = bufBuffCP nCodePostal = Val(sLigneTxt)
la variable nCodePostal est vide!!!
J'ai essayé avec fOuvre() et fLit(), c'est la même chose.
A noter, que cela fonctionne très bien depuis mon PC en mode émulateur. Le fichier existe bien depuis l'appli B Existe(sPath) = vrai et taille(sPath) est supérieur à 0 depuis l'appli B
Je ne vois pas du tout la solution.
Merci. |
| |
| |
| | | |
|
| | |
| |
Registered member 66 messages Popularité : +6 (6 votes) |
|
Posted on May, 19 2017 - 5:20 PM |
Bonjour
c'est la joie du Ansi et de l'Unicode
quelques pistes :
les 2 applis sont sous Android ??
sLigneTxt est une chaine Unicode ??
dans l'appli A crait le fichier en mettant par exemple $13000$ au lieu de 13000 dans l'appli B slignetxt=extraitchaine(sansespace(bufbuffcp},2,"$") cela évite les RC, TAB, espaces, \0 qui peuvent exister
ATTENTION en Android ,Val renvoie un réel pas un entier
bon courage |
| |
| |
| | | |
|
| | |
| |
Registered member 26 messages |
|
Posted on May, 19 2017 - 5:29 PM |
Oui les deux applis sont sous Android.
J'ai mis: sLigneTxt est une chaine Unicode puis slignetxt=extraitchaine(sansespace(bufbuffcp},2,"$")
mais j'ai une erreur: Le passage du paramètre 1 a provoqué une erreur. Conversion ambiguë d'un buffer vers une chaîne Ansi ou Unicode.Message modified, May, 19 2017 - 5:33 PM |
| |
| |
| | | |
|
| | |
| |
Registered member 1,603 messages Popularité : +64 (70 votes) |
|
Posted on May, 20 2017 - 10:09 AM |
| |
| |
| | | |
|
| | |
| |
Registered member 199 messages Popularité : +14 (16 votes) |
|
Posted on May, 22 2017 - 8:26 AM |
Bonjour,
Es tu certain que les deux programmes, puissent avoir accès au dossier référencé dans ta variable SPath ?
-- Bon développement
Pierre Devillers |
| |
| |
| | | |
|
| | |
| |
Registered member 26 messages |
|
Posted on May, 22 2017 - 8:51 AM |
Merci pour vos propositions, mais aucune des solutions proposées ne fonctionnent.
sLigneTxt est une chaîne UNICODE = fChargeTexte(sPath) nCodePostal = Val(sLigneTxt) Info(nCodePostal)
Info me sort 0 |
| |
| |
| | | |
|
| | |
| |
Registered member 26 messages |
|
Posted on May, 22 2017 - 8:55 AM |
Bonjour DIP ...
Non, je n'en suis pas certain. Comment faire pour savoir si Appli B accède bien au fichier qui est situé dans Appli A?
Appli B trouve bien le fichier, puisque fFichierExiste(sPath) = vrai.Message modified, May, 22 2017 - 8:59 AM |
| |
| |
| | | |
|
| | |
| |
Registered member 26 messages |
|
Posted on May, 22 2017 - 9:45 AM |
J'ai testé juste après sa création dans Appli A, le fichier texte. Je le réouvre et essaye de lire la ligne.
fFerme(nIDFichier)
... bufBuffTest = fChargeTexte(sPath) sLigneTxt = bufBuffTest nEntierTest est un entier = Val(sLigneTxt) Info(nEntierTest)
En mode émulateur sur le PC, c'est OK: 13000 Sur le smartphone ce n'est pas bon!!! info me sort '0'Message modified, May, 22 2017 - 9:47 AM |
| |
| |
| | | |
|
| | |
| |
Registered member 26 messages |
|
Posted on May, 22 2017 - 10:39 AM |
Il semblerait effectivement que l'Appli B ne puisse pas lire le fichier texte présent dans l'Appli A.
Si quelqu'un à une piste, ou comment passer un paramètre entre applications Android sous Windev Mobile 21.
Merci |
| |
| |
| | | |
|
| | |
| |
Registered member 199 messages Popularité : +14 (16 votes) |
|
Posted on May, 22 2017 - 11:20 AM |
Re Bonjour,
Oui, il existe plusieurs pistes. 1. Vérifier que les deux applications on bien l'autorisation "Stockage". Pour cela sur le smartphone : Paramètres -> Applications -> Configurer les applis (roue dentée en haut à droite) -> Stokage
2. Mettre le fichier à partager dans un dossier sur la SD Card (réelle ou virtuelle)
2 bis . Si tu as plusieurs fichiers en commun dans les deux applications, déclarer le répertoire de travail sur la SD comme ceci :
SI PAS EnModeTest() ALORS CheminData est une chaîne = "/sdcard/MonDossierCommun/data/" HDécritConnexion ("CnxSDCard", "", "", CheminData, "", hAccèsHF7, hOLectureEcriture, "") HChangeConnexion("*", "CnxSDCard") SINON CheminData="D:\Mes Projets\MonProgramme\Exe\Data" FIN
-- Bon développement
Pierre Devillers |
| |
| |
| | | |
|
| | |
| |
Registered member 26 messages |
|
Posted on May, 22 2017 - 11:25 AM |
Bon, j'ai fini par trouve rune solution...
Le problème venait du répertoire contenant le fichier qui n'était pas accessible par l'appli B.
J'ai donc contourné le problème à la création coté appli A
fCrée(SysRepCarteStockage()+"/CodePostal.txt") ...
et à la lecture coté Appli B:
fOuvre(SysRepCarteStockage()+"/CodePostal.txt")
le paramètre est bien passé entre les deux applis. "Sous Android, sur l'appareil comme sur l'émulateur, le système de fichiers est en lecture seule. Une application a uniquement le droit d'écrire dans son répertoire d'installation ou dans un de ses sous-répertoires, ainsi que sur la mémoire externe (SDCard)." |
| |
| |
| | | |
|
| | |
| |
Registered member 26 messages |
|
Posted on May, 22 2017 - 2:06 PM |
SysRepcarteStockae() semble moins réactif...à suivre!Message modified, May, 22 2017 - 2:07 PM |
| |
| |
| | | |
|
| | | | |
| | |
|