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

VB 6 et antérieur Discussion :

Sélection de certains mots dans un .txt


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Par défaut Sélection de certains mots dans un .txt
    Salutations.

    J'essai de créer quelques choses en rapport avec une base de donnée ACCESS. Avant de commencer, la base de donnée s'appelle "Exemple.mdb"

    Dans un TextBox, nommé par exemple "txtLettre", je demande à l'utilisateur d'écrire une lettre selon des bases. Les voici:

    Bonjour, je m'apelle "tonNom", j'ai "tonAge" ans. Je vais "tonHumeur".
    Exemple concrèt:
    Bonjour, je m'apelle Dorhken, j'ai 99 ans. Je vais bien.
    Je veux sélectionner "tonNom", "tonAge" et "tonHumeur" et puis les classer dans une base de donnée (Exemple.mdb).

    Si chacun (tonNom, tonage, tonHumeur) auraient un TextBox à eux-mêmes, ce serait facile. Ça pourrait donner ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Command1_Click()
    With Principale.Data1.Recordset
    .AddNew
    !Nom = tonNom.Text
    !Age = tonAge.Text
    !Humeur = tonHumeur.Text
    .Update
    Ajout.Hide
    End With
    End Sub
    Cependant dans ce cas, la phrase complète ce retrouve dans un seul textBox.

    Autre point, la bonne phrase c'est
    "Bonjour, je m'apelle Dorhken, j'ai 99 ans. Je vais bien."
    Si l'utilisateur écrit
    "Bonjour, mon nom c'est Dorhken, j'ai presque 99 ans. Je vais bien."
    Bah ça ne marchera pas, je crois donc que ça résous la difficulter du probleme. (Probleme ? Je ne crois pas, c'est un quasi-tutoriel que je demande, mais après mes recherches; aucun résultat)


    Merci, j'espère avoir été clair.

  2. #2
    Membre confirmé Avatar de AurelieB
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 55
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2006
    Messages : 91
    Par défaut Fonction InStr()
    Bonjour,
    tu devrais pouvoir coder ce que tu desires avec les fonctions de manipulation de string.
    Par exemple InStr(txt1, txt2) sert a rechercher la premiere occurence d'un string dans un autre, ensuite tu decoupes l'age le nom etc...
    Avec quelques tu vas vite en venir a bout de ce probleme... des que tu as un debut de code mets le sur le forum qu'on puisse l'admirer.

  3. #3
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Rigoureusement impossible (puisque la rédaction est "libre") sans :
    - soit l'insertion de séparateurs identifiables
    - soit l'utilisation de champs de saisie (appelables ou non depuis un événement de la textbox de "rédaction du message")

    Bonne continuation

    EDIT : je précise que ceux qui constituent des bases de données (souvent "dans l'ombre") à partir de textes le font à l'aide d'un logiciel (et d'un dictionnaire triangulaire) qu'une armée d'intervenants éduquent peu à peu sur les idiomatismes. Une moulinette intervient ensuite, puis une seconde "armée" vient "épouiller" les résultats obtenus.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Par défaut
    Citation Envoyé par AurelieB
    Bonjour,
    tu devrais pouvoir coder ce que tu desires avec les fonctions de manipulation de string.
    Par exemple InStr(txt1, txt2) sert a rechercher la premiere occurence d'un string dans un autre, ensuite tu decoupes l'age le nom etc...
    Oui et c'est la que réside le probleme. Si le nom possède toujours le même nombre de caractère, nous pourions facilement faire un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Form_Load()
    Textbox.Text = Mid("Bonjour, je m'apelle Dorhken", 22, 7)
    'Ça renvoie donc "Dorhken"
    End Sub
    Mais si le nom, au lieu de Dorhken, c'est
    "Abougrahidjamanji"
    . La réponse renvoyé est
    "Abougra"
    . De plus, je ne pourrais pas mettre, par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mid("Bonjour, je m'apelle Dorhken", 22, 27)
    Puisque ça sélectionnerais le reste de ma phrase.

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    L'exemple donné ici est bien facile à résoudre ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Command2_Click()
       la_phrase = "Bonjour, je m'appelle Dorhken"
       MsgBox Trim(Mid(la_phrase, InStr(la_phrase, "m'appelle ") + Len("m'appelle ")))
    End Sub
    Mais cela ne résoudra en rien le reste, puisqu'il a été précisé plus haut que l'utilisateur riquerait de formuler autrement ...

    Citation :

    "Bonjour, mon nom c'est Dorhken, j'ai presque 99 ans. Je vais bien."
    Et le problème demeure donc entier !

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Par défaut
    Citation Envoyé par ucfoutu
    Mais cela ne résoudra en rien le reste, puisqu'il a été précisé plus haut que l'utilisateur riquerait de formuler autrement ...
    Ça je m'en contre-fiche. Il n'aura qu'une seule manière de formuler. S'il ne formule pas correctement, tant pis pour lui !

    EDIT: Qu'elle manière permet de renvoyer les chiffres/lettres entre 2 caractère ?

    Par-exemple: Programme, donne moi tout les chiffres et nombres qu'il y a entre le caractère 27 et le caractère 41.

  7. #7
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Un minimum de connaissances et de réflexion me paraît là fort souhaitable.
    3 indications, donc, et elles devraient largement suffire :
    1) Mid(texte,position,1) retourne un seul caractère, commençant à la position position.
    2) Isnumeric(variable) retourne True (vrai) si la chaîne de caractères variable peut être traduite en un numérique
    3) une simple boucle sur la variable position, de 27 à 41 (dans ton cas) te permet d'extraire chaque caractère, un par un (et donc d'aller ensuite vérifier sa qualité de numérique ou non)
    Bonne réflexion...

Discussions similaires

  1. compter le nombre de meme mot dans un .txt
    Par Gogad dans le forum Général Python
    Réponses: 11
    Dernier message: 04/05/2009, 00h50
  2. [RegEx] Se débarraser de certains mots dans une chaine
    Par Bruno.C dans le forum Langage
    Réponses: 5
    Dernier message: 19/12/2008, 18h34
  3. Réponses: 7
    Dernier message: 22/10/2008, 14h48
  4. c++ position de mot dans un .txt
    Par yanlou dans le forum C++
    Réponses: 6
    Dernier message: 09/07/2008, 11h48
  5. Faire un variable à partir d'un mot dans un txt
    Par Apophis03 dans le forum C
    Réponses: 16
    Dernier message: 21/12/2005, 15h53

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