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 Mobile Discussion :

Aide sur opérations complexes


Sujet :

Windev Mobile

  1. #1
    Invité
    Invité(e)
    Par défaut Aide sur opérations complexes
    Bonjour,
    Je suis retraité et totalement débutant sur Windev mobile (V27) et j'aimerais un peu apprendre.
    J'ai commencé avec l'aide en ligne... bon ça va un peu pour créer un projet, une fenêtre, champs de saisie etc...
    Pas de souci pour l'instant pour des opérations simples, additions, soustractions etc...
    Donc je voudrais passer au dessus, donc:

    Dans une appli « mon Compte », je voudrais que lorsque je « saisie une dépense » que celle-ci se soustrait à un « solde », une fois saisie la variable reviennent à 0 pour être prête pour une nouvelle saisie.

    exemple
    solde :100
    Dépense : 10 solde : 90
    Dépense : 20 solde : 70
    Dépense : 30 solde : 40
    Etc…

    Je sais pas si je m'exprime correctement

    Merci à tous
    Cordialement

  2. #2
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Bonjour janmarie et bienvenue au club,

    Ce que tu demandes n'est pas bien compliqué, mais je pense que tu as surtout besoin de cours d’algorithmique. Ensuite quel que soit le langage, on arrive à trouver une solution pour que cela fonctionne. Tu peux regarder sur le forum, il y a des tutoriels qui te permettront d'appréhender certains concepts.

    Pour ta demande, la méthode est la suivante (pour l'instant): Tu as un champ de saisie pour le solde, un pour la dépense, un bouton pour calculer. Le code du bouton ressemble à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sai_Solde = Sai_Solde - Sai_Dépensse
    2 choses :
    - La première ressemble à une hérésie mathématique : a = a - b. Il faut comprendre que cela correspond à l'affectation du résultat du calcul.
    - La deuxième concerne le solde. Pourquoi ne pas le stocker et aller le rechercher quand on relance l'application (et tant qu'à faire garder l'historique des dépenses saisies) ? C'est à mon avis le but (à terme) de ton appli.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour Freshting et merci pour la réponse,
    Évidemment je vais suivre vos conseils !
    J'ai essayé mais ça ne marche pas trop, même pas du tout je suis un peu perdu !
    j'ai bien tenté une sauvegarde, déjà est ce que j'ai utilisé la bonne fonction ?
    "SauveParamètre",
    Effectivement cela me renvoie la bonne valeur (résultat du calcul) quand je visualise par "Trace".
    Mais après...
    j'ai bien essayé avec la fonction "Chargeparamètre"

    Mais le problème ça marche pour les 2 premières saisie de la dépense... mais après cela ne fonctionne plus.
    A la troisième saisie de la dépense je devrais obtenir solde = 900-150 = 750 et non 850 ???? (voir l'image)Nom : Sans titre.jpg
Affichages : 98
Taille : 37,1 Ko

    je vois pas comment faire.

    Est ce qu'il existerait un bout de code qui ferait ce travail et que je pourrais adapter à mon projet ?

    merci
    Cordialement

  4. #4
    Membre émérite
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    999
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 999
    Points : 2 526
    Points
    2 526
    Par défaut
    900-150 = 750 et non 850

    900 c'est le solde mais toi tu reprends le revenu de départ (1000).

    Voilà tout.

    Un conseil : cherches un peu plus de toi-même, c'était tout de même sous tes yeux.

    Et puis "Est ce qu'il existerait un bout de code qui ferait ce travail" :
    Là, c'est pas une bonne idée.
    Tu dis que tu veux apprendre, en copiant ?

    Cordialement.

  5. #5
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Bonjour,

    Chargeparamètre sert comme son nom l'indique à charger des paramètres (emplacements de fichiers, nom d'utilisateur,...) enregistrés grâce à sauveParamètre. Ce n'est théoriquement pas fait pour enregistrer des données des traitement. Ce n'est pas interdit. C'est juste que ce n'est, à la base, pas fait pour cela même si cela fonctionne.

    Dans un premier temps, regarde pour enregistrer ton solde soit dans un fichier texte (fouvre, flit, fecrit, fferme) ou un fichier ini (inilit, iniecrit).

    Ce qui ne va pas au vu de ta capture d'écran, c'est que tu as une zone Revenu qui est toujours valorisée à 1000.

    Pour résumer :
    1. Dans le code d'ouverture de ta fenêtre, tu vas lire le solde dans ton fichier et l'afficher dans ta zone de saisie SAI_Solde.
    2. Tu fais tes calculs avec ton bouton de calcul.
    3. Dans le code de fermeture de la fenêtre, tu enregistres le solde dans ton fichier.

    Pour le point 2, il y a un "piège". Il faut savoir si c'est un débit (charge) ou un crédit (revenu). C'est typiquement sur quoi tu dois réfléchir. Le principe est de se dire comment je le fait "à la main". Et d'écrire la même chose en code.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  6. #6
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 054
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 054
    Points : 9 394
    Points
    9 394
    Par défaut
    Quelles connaissances as-tu en programmation ?
    Windev-Mobile n'est pas un tableur. (J'imagine que tu connais des tableurs).

    Très vite, dans ton projet, tu vas avoir la question de sauvegarder des données, c'est à dire faire en sorte que les 4 ou 5 mouvements (débits ou crédits) saisis le jour J soient encore consultables quelques jours plus tard. Donc tu vas avoir une Base-de Données. Et donc tu vas avoir une Analyse.
    En principe, dans un programme, cette étape de recenser les différents fichiers de données (l'analyse), c'est la toute première étape, et on commence à écrire des lignes de code plus tard.

    Un programme pour gérer ses comptes, tu devrais trouver cela dans la liste des exemples qui sont fournis avec Windev. Sauf que toi, ce n'est pas Windev qui t'intéresse, mais Windev-Mobile.
    N'oubliez pas le bouton Résolu si vous avez obtenu une réponse à votre question.

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour et merci Tbc92,
    programmation, non !
    Oui j'utilisais Excel !
    Non, je n'ai pas la prétention d'aller jusque là... stocker et consulter les dépenses, dates etc... non !
    je veux juste me cantonner à un cumul de dépenses avec un solde... (solde - dépenses = nouveau solde) sans plus !
    Mon truc n'a pas de vocation à servir de gestion de comptes, il y a déjà pleins d'appli qui le font et même très bien.
    merci
    cordialement

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour et merci frenchsting,
    Je vais essayer !
    Merci
    cordialement

  9. #9
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 371
    Points : 627
    Points
    627
    Billets dans le blog
    1
    Par défaut
    Salut, pour info pcsoft fourni des livres sur les concepts et une auto-formation qui est aussi en ligne.
    Mais je pense qu'il faudrait aussi ajouter un cour sur merise ou une autre méthode sur les bases de données et les requêtes.

  10. #10
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    lorsque un fichier (txt) est créé, sur PC, il est stocké sur c:\Mes projets\nom du Projet\exe\nom du fichier.txt
    Mais une fois sur mobile où est il et y a t on accès ?
    Mon appli fonctionne sur PC, mais une fois sur mobile elle buggue ??????
    avec le message "GO xxxxxx s'est arrêté" , "envoyer le rapport d'erreur par email"
    sur le rapport:
    ===== Erreur =====
    Date et heure=17/02/2023 17:33:54
    Message=Vous avez demandé à manipuler le fichier n°-1 qui n'a pas été ouvert par fOuvre ou fCree.
    Fonction WLangage=fLitLigne
    Traitement=Validation par le clavier de Mission.Depense_INIT
    Pile WLangage=Validation par le clavier de Mission.Depense_INIT
    Pile Java=fr.pcsoft.wdjava.core.erreur.WDErreurManager.a(Unknown Source:15)
    fr.pcsoft.wdjava.core.erreur.WDErreurManager.b(Unknown Source:6)
    fr.pcsoft.wdjava.file.d.b(Unknown Source:22)
    fr.pcsoft.wdjava.api.WDAPIFichier_Commun.fLitLigne(Unknown Source:6)
    fr.pcsoft.wdjava.api.WDAPIFichier_Commun.fLitLigne(Unknown Source:2)
    com.masociete.testavirer.wdgen.GWDFMission$GWDDepense_INIT.clicBtnActionClavier(GWDFMission.java:534)
    fr.pcsoft.wdjava.ui.champs.saisie.d.executerTraitement(Unknown Source:19)
    fr.pcsoft.wdjava.ui.f.a(Unknown Source:12)
    fr.pcsoft.wdjava.ui.f.appelPCode(Unknown Source:101)
    fr.pcsoft.wdjava.ui.g.appelPCode(Unknown Source:9)
    fr.pcsoft.wdjava.ui.champs.t.appelPCode(Unknown Source:9)
    fr.pcsoft.wdjava.ui.champs.saisie.d$e.onEditorAction(Unknown Source:27)
    android.widget.TextView.onEditorAction(TextView.java:7718)
    com.android.internal.widget.EditableInputConnection.performEditorAction(EditableInputConnection.java:138)
    com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:363)
    com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:93)
    android.os.Handler.dispatchMessage(Handler.java:106)
    android.os.Looper.loop(Looper.java:246)
    android.app.ActivityThread.main(ActivityThread.java:8625)
    java.lang.reflect.Method.invoke(Native Method)
    com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
    com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
    Thread=id=2
    name=main
    priority=5
    groupName=main

    ===== Copie d'écran =====
    Chemin=file:///storage/emulated/0/Android/data/com.masociete.testavirer.go/cache/err1676651634560.png

    ===== Application =====
    Nom de l'application=GO TestAvirer
    Version de l'application=0.0.1.0
    Nom du package=com.masociete.testavirer
    Date et heure de lancement=17/02/2023 17:33:33
    Version du framework Android=27.0.273.0

    ===== Appareil =====
    Modèle=SM-A105FN
    Constructeur=samsung
    Marque=samsung

    ===== Système =====
    Numéro de version d'Android=11 (Android11)
    Api Level Android=30
    Mémoire de stockage interne totale=24,00 Go
    Mémoire de stockage interne disponible=15,79 Go
    Densité de l'écran=280
    Résolution de l'écran=720x1520
    /
    /
    ci dessous le code que j'ai écris....
    // Version 1
    // Description
    // Saisie d'un monétaire
    Revenu_INIT est un monétaire
    //
    // Ecriture du solde dans le fichier "RevenuINIT.txt"
    //
    nNumFichier1 est un entier
    sLigneAEcrire1 est un monétaire
    //
    nNumFichier1 = fOuvre("RevenuINIT.txt", foCréation)
    sLigneAEcrire1 = Revenu_INIT
    //Ecriture de la ligne
    fEcritLigne(nNumFichier1, sLigneAEcrire1)
    fFerme(nNumFichier1)

    merci
    Cdt

  11. #11
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 371
    Points : 627
    Points
    627
    Billets dans le blog
    1
    Par défaut
    Salut Jean Marie,
    Sur mobile, il faut utiliser frepexe par exemple
    Il existe aussi une fonction pour vérifier l'existence du fichier fFichierExiste et ne pas oublier de compléter le répertoire avec le bon séparateur avec
    ComplèteRep
    Je te conseille de lire les pages suivantes :
    https://doc.pcsoft.fr/?1000020167
    Et
    https://doc.pcsoft.fr/?3024038

  12. #12
    Invité
    Invité(e)
    Par défaut
    Bonsoir Popoy et merci,
    Désolé, je bite rien 😪...
    Vous pouvez m'en dire plus ?
    Merci
    Cdt

  13. #13
    Membre confirmé

    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 371
    Points : 627
    Points
    627
    Billets dans le blog
    1
    Par défaut
    Désolé mais
    Je ne fais que te fournir une liste de fonction qu'il suffit de chercher dans l'aide pour comprendre de quoi je parle.
    Un mobile, ce n'est pas un windows
    Chaque système d'exploitation à ces propres règles et je t'ai fourni des fonctions wlangage qui fonctionne quelques soient le système.
    C'est pour cela que j'ai choisi :
    Frepexe, ComplèteRep etc
    Après personnellement, j'aurais commencé à faire le programme sur windev et non windev mobile car les mobiles ont maintenant beaucoup de restrictions.

  14. #14
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Bonjour janmarie,

    +1 pour popoy.

    Je pense que l'erreur viens aussi du fait que tu forces un monétaire (c'est un numérique) et chaine (ce sont des caractères).

    Prends le temps de lire l'autoformation. Elle est bien faite. Et comme je l'avais dis dans mon premier message, va faire un tour sur les forums d'algorithmie.

    Et effectivement, je comprends cette idée de vouloir faire ton appli sur mobile, mais c'est plus facile de la faire en Windev, car tu pourras plus facilement retrouver tes petits.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  15. #15
    Invité
    Invité(e)
    Par défaut
    Bonsoir,
    J'ai trouvé !
    En fait il n'y a rien de spécial à faire. Mon erreur venait que deux fois le code avait été écrit mais dans des endroits différents. J'ai ai supprimé un et c'est bon.
    Une fois le fichier texte créé, lorsque l'on migre l'appli sur mobile tout suit très bien.
    Je vais quitter ce forum, il ne m'amène rien ! Il fait fait pour ceux qui maitrise déjà la programmation etc... pas fait pour les débutants. Il y a mieux ailleurs.
    L'aide y est plus précieuse.
    Merci à tous ceux qui ont pris la peine de me répondre... même parfois avec un peu de dédain.
    Bonne continuation !

  16. #16
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    914
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 914
    Points : 1 496
    Points
    1 496
    Par défaut
    Bonsoir,
    Citation Envoyé par janmarie Voir le message
    Je vais quitter ce forum, il ne m'amène rien ! Il fait fait pour ceux qui maitrise déjà la programmation etc... pas fait pour les débutants. Il y a mieux ailleurs.
    L'aide y est plus précieuse.
    Je suis curieux de voir ça.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2010] Aide sur requete complexe
    Par zefennec dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 12/12/2012, 17h36
  2. Besoin d'aide sur un select trop complexe pour moi
    Par Oribiahn dans le forum Requêtes
    Réponses: 1
    Dernier message: 24/08/2010, 15h22
  3. Réponses: 1
    Dernier message: 06/01/2009, 09h14
  4. aide sur requete SQL complexe
    Par saluts92b dans le forum Requêtes
    Réponses: 17
    Dernier message: 29/10/2008, 17h28
  5. Opération complexe sur colonne varchar
    Par CinePhil dans le forum Requêtes
    Réponses: 5
    Dernier message: 17/10/2008, 14h51

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