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 :

lire fichier TXT et generer messages info


Sujet :

WinDev

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2020
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2020
    Messages : 37
    Points : 0
    Points
    0
    Par défaut lire fichier TXT et generer messages info
    Bonjour,
    je cherche a lire un fichier TXT et suivant le texte a l’intérieur générer un message d'info différent
    j'ai fait le code suivant mais j'ai tout le temps le message d'info 1 qui arrive pas le 2 même si mon fichier est vide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    nNumFichier		est un entier
    sLigne est une chaîne
     
    nNumFichier	= fOuvre("C:\temp\stratime.txt", foCréationSiInexistant+foAjout)//j'ouvre mon fichier
     
    sLigne		= fLitLigne(nNumFichier)//je lis mon fichier
    sMaChaîne est une chaîne = "Le service 4D Server: STRADAtime a d‚marr‚." //text a trouver dans mon fichier
    SI Contient(sMaChaîne, "STRADAtime a d‚marr‚.") = Vrai ALORS //si contient alors message info
    	Info("Le service a été démarré")
    SINON
    	Info("le Service n'as pas ete demarré ou est deja demarré") // message info si le fichier ne contient pas une partie de ma chaine
    FIN
     
    fFerme(nNumFichier)

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Tu cherches dans une chaîne, une sous chaîne qui, par construction, est dans la chaîne, c'est logique que la valeur renvoyée soit VRAI.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2020
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2020
    Messages : 37
    Points : 0
    Points
    0
    Par défaut
    oui mais soit mon fichier txt contient cette chaine soit il est totalement vide alors pourquoi quand il est vide il me renvois Vrai aussi ?

  4. #4
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Parce que nulle part tu ne fais de comparaison avec le contenu du fichier.
    Par ailleurs pourquoi ne pas utiliser ServiceEtat
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2020
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2020
    Messages : 37
    Points : 0
    Points
    0
    Par défaut
    j'ai tester plein de truc dont ça, si je comprend bien la je lui dit bien que ma chaine est la 1er ligne de mon fichier TXT et je dit bien que si il ne contient pas ST alors mon message 1 s'affiche sinon c'est mon message 2?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    nNumFichier est un entier
    sLigne est une chaîne
    sMaChaîne est une chaîne = sLigne //texte a trouver dans mon fichier (lecture le de 1er ligne plus bas)
     
    nNumFichier	= fOuvre("C:\temp\stratime.txt", foCréationSiInexistant+foAjout) //j'ouvre mon fichier
     
    sLigne		= fLitLigne(nNumFichier)//je lis la 1er ligne mon fichier
    SI Contient(sMaChaîne, "ST") = Faux ALORS //si contient pas ST sur la 1er ligne alors message info
    	Info("le Service n'as pas ete demarré ou est deja demarré ")
    SINON
    	Info("le Service a ete démarré") // message info si le fichier  contient bien ST sur la 1er ligne de mon fichier 
    FIN
     
    fFerme(nNumFichier)

  6. #6
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Tu affectes une chaîne vide à sMaChaine (c'est comme si tu ne faisais rien).
    Ton code équivaut à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SI Contient("","ST") ALORS
    ......
    A la différence de Prolog, Windev ne travaille pas par prédicat. Ce n'est pas parce que tu dis en début de programme que sChaine va avoir être égal à une autre variable que lorsque la valeur de cette variable change sChaine va changer. Ou alors, il faut travailler par adresse.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2020
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2020
    Messages : 37
    Points : 0
    Points
    0
    Par défaut
    je ne comprend plus rien sMaChaine est bien égale a sLigne donc la 1er ligne de mon fichier TXT? et je demande bien de trouver ST sur cette 1er ligne? si il ne trouve pas (parce que le fichier est vide) il met le message 1 sinon si il trouve car j'ai la ligne "Le service 4D Server: STRADAtime d‚marre." le message 2 car ST est le début du mot STRADA?

  8. #8
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 807
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 807
    Points : 5 263
    Points
    5 263
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par charlynux79 Voir le message
    sMaChaine est bien égale a sLigne
    Non.
    Un point d'arrêt au niveau de la comparaison t'en donnera la preuve.
    Ton code équivaut à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    nToto est entier
    nTata est entier
     
    nToto=nTata
    nTata=1
     
    SI nToto=1 ALORS
        Trace("Gagné")
    SINON
        Trace("Perdu")
    FIN
    Pour gagner, il faudrait :
    Mais bon, c'est très lours pour une comparason.
    D'ailleurs, sMaChaine est inutile, une comparaison sur sLigne suffirait
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2020
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Octobre 2020
    Messages : 37
    Points : 0
    Points
    0
    Par défaut
    merci pour tes explication je me suis debrouiller autrement je suis partie sur une recherche d'un mot dans mon fichier avec le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    unechaine est une chaîne = fChargeTexte("C:\temp\stratime.txt")
     
    SI ChaîneOccurrence(unechaine,"service") ALORS
    	Info("Le service a été démarré")
    SINON
    	Info("le Service n'as pas ete demarré ou est deja demarré ")
    FIN
    pourquoi faire compliqué quand on peux faire simple :p

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

Discussions similaires

  1. Lire fichier txt et remplir int tab[][]
    Par JaneR dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 28/01/2015, 15h33
  2. Réponses: 2
    Dernier message: 15/03/2011, 20h12
  3. Lire fichier txt et afficher des infos
    Par bk930 dans le forum Entrée/Sortie
    Réponses: 15
    Dernier message: 03/02/2010, 11h08
  4. lire fichier .txt (NOTEPAD) ligne par ligne
    Par skambram dans le forum VB.NET
    Réponses: 1
    Dernier message: 06/06/2009, 18h41
  5. Lire fichier txt + listview
    Par yidboulmane dans le forum Windows Forms
    Réponses: 4
    Dernier message: 25/11/2008, 10h57

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