begin process at 2012 02 14 15:45:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Visual Basic 6

 > 

Divers

 > 

Débutants

 > 

Recupération plusieures valeurs


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Recupération plusieures valeurs

mercredi 24 janvier 2007 à 02:07:19 | Recupération plusieures valeurs

BiGOuF

Bonjour,
je suis débutant en VB6, et je suis à la recherche d'une petite astuce.
J'aimerai remplir des champs automatiquement à la récupération de données collées dans une textbox.
En gros, les données seraient du genre
TEXTE1 (Texte Numéro )
TEXTE2 (Texte Numéro )
...
Il me faudrait donc que une fois que j'ai remplis la textbox, et que je valide sur un bouton, il vérifie que si dans la textbox, il y a "
TEXTE1 (Texte ", il récupère la valeur du numéro (dont je ne connais pas la longueur, mais un len devrait etre assez facile pour moi je pense) et remplisse la textbox Text1, et ainsi de suite pour le 2 avec Text2 etc.

J'espère avoir été assez clair, j'ai peur d'avoir oublié des élèments ;)

En vours remerciant d'avance, et je suis à votre entière disponibilité.

Cordialement
mercredi 24 janvier 2007 à 07:55:29 | Re : Recupération plusieures valeurs

jmfmarques

Membre Club
Si "Texte" ne comporte pas d'espaces en son sein, il te suffit d'aller chercher la position de l'espace entre Texte et Numéro (par Instr) puis d'utiliser Mid pour extraire Numéro à partir de cette position + 1

Si "texte" comporte un espace en son sein, ou encore qu'aucun espace ne sépare "Texte" de "Numéro", il te suffit d'utiliser, en boucle sur la longueur totale, Mid et Isnumeric. Dès que tu trouves un chiffre, tu fais comme dit précédemment, avec sa position et Mid

Tu peux également faire comme ceci, toutefois, juste pour t'amuser :

Private Sub Command1_Click()
  toto = "ce que tu veux 0227"
  For i = 1 To Len(toto)
      toto = Mid(toto, i)
      If Val(toto) <> 0 Then
      Exit For
    End If
  Next
  MsgBox Trim(toto)
End Sub

Iu encore utiliser Instrev, "capter la position de l'espace, etc...

Bref : une foule de solutions existent, selon tes goûts...
mercredi 24 janvier 2007 à 10:42:34 | Re : Recupération plusieures valeurs

PCPT

Administrateur CodeS-SourceS
salut,

plus précisément pour ton exemple (et adapté puisque tu as plusieurs zones de texte) :


'poser une zone de texte nommée Text1
Option Explicit
'
Private Sub Form_Load()
    Text1.Text = "TEXTE1 (Texte 5 )"
    MsgBox GetNombre(Text1) 'retournera 5

    Unload Me
End Sub
'
Function GetNombre(oTB As TextBox) As Long
    Dim iPos As Integer
    iPos = InStr(1LCase$(oTB.Text), "(texte")
    GetNombre = Mid(oTB.Text, iPos + 7Len(oTB.Text) - iPos - 8)
End Function

Coloration syntaxique automatique [AFCK]
       

++
PCPT   [AFCK]

Prenez un instant pour répondre à ce sondage svp
mercredi 24 janvier 2007 à 13:43:34 | Re : Recupération plusieures valeurs

BiGOuF

Et ben ... on voit que je suis débutant, il me reste du temps avant de manipuler toutes ces solutions ;)
En fait, pour être sincère, il s'agit d'un petit soft perso pour un jeu online (Ogame, pour définitivement passer pour un geek), et donc, j'aimerai remplis des champs automatiquement si je selectionne le contenu de toute la page.
Or, il apparait également des nombres dans la pages qui ne m'interessent pas.
Un exemple pour que ca soit concrêt.

       Métal     Cristal     Deutérium     Energie      
    249.980     99.142     70.876     20/15.707    

    Mine de métal (Niveau 31)
Principal fournisseur de matières premières pour la construction de structures portantes et de vaisseaux.
Ressources nécessaires : Métal: 17.257.595 Cristal: 4.314.398
Durée de construction :1j 17h 29m 4s
Construction possible dans : 39j 15h 44m 29s    Construction
du niveau 32
    Mine de cristal (Niveau 27 )
Fournisseur principal de ressources pour les installations électroniques et pour les alliages.
Ressources nécessaires : Métal: 15.576.890 Cristal: 7.788.445
Durée de construction :1j 20h 56m
Construction possible dans : 45j 4h 40m 52s    Construction
du niveau 28



C'est ce genre de texte qui serait rentré dans la TextBox, et comme vous pouvez le constater, il y a pas mal de nombres qui m'importent peu.

mercredi 24 janvier 2007 à 13:59:00 | Re : Recupération plusieures valeurs

PCPT

Administrateur CodeS-SourceS
une lettre de plus, dans l'exemple rempli la textbox par un vrai cas et dans la fonction remplace (texte par (niveau et 8 par 7
mercredi 24 janvier 2007 à 14:03:22 | Re : Recupération plusieures valeurs

jmfmarques

Membre Club
Un exemple et des explications , donc, pour que l'on te comprenne et t'aide bien une fois pour toutes (car ta nouvelle explication s'écarte quelque peu de ta 1ère demande) :

1) que vient faire là-dedans :

 Métal     Cristal     Deutérium     Energie      
    249.980     99.142     70.876     20/15.707    
que tu n'utilises apparemment pas ailleurs ?
2) mets entre guillemets la totalité de ce que tu as dans ta textbos et mets en rougece que tu veux en extraire
3) explique le raisonnement logique de cette "extraction" . une telle extraction ne peut être faite par un ordinnateur (un ordinnateur ne réféchit pas... il exécute) que si on lui indique ce raisonnement, qu'il répètera bêtement...

mercredi 24 janvier 2007 à 14:23:57 | Re : Recupération plusieures valeurs

BiGOuF

1) Alors en fait, pour mon soft, je veux selectionner l'entièreté de ce qu'il y a dans la page, et donc, celà en fait partie
2) Ce qu'il y aura dans la TextBox, c'est ce que j'ai mis en italique dans le message précédent, et ce que je dois récuperer pour mes champs, c'est ce qu'il y a en gras et rouge (c'est-à-dire le niveau de la mine).
donc, en gros voici ce qui sera collé dans la textBox

       Métal     Cristal     Deutérium     Energie      
    3.633     7.575     72.639     20/15.707    

    Mine de métal (Niveau 31 )
Principal fournisseur de matières premières pour la construction de structures portantes et de vaisseaux.
Ressources nécessaires : Métal: 17.257.595 Cristal: 4.314.398
Durée de construction :1j 17h 29m 4s
Construction possible dans : 40j 5h 31m 37s    Construction
du niveau 32
    Mine de cristal (Niveau 27 )
Fournisseur principal de ressources pour les installations électroniques et pour les alliages.
Ressources nécessaires : Métal: 15.576.890 Cristal: 7.788.445
Durée de construction :1j 20h 56m
Construction possible dans : 45j 17h 35m 52s    Construction
du niveau 28
    Synthétiseur de deutérium (Niveau 26 )
Extrait la petite quantité de deutérium de l'eau d'une planète.
Ressources nécessaires : Métal: 8.522.269 Cristal: 2.840.756
Durée de construction :21h 51m 7s
Construction possible dans : 19j 20h 42m 2s    Construction
du niveau 27
    Centrale électrique solaire (Niveau 26 )
Les centrales électriques solaires transforment les rayons de soleil en énergie. Presque tous les bâtiments ont besoin d'énergie pour fonctionner.
Ressources nécessaires : Métal: 2.840.756 Cristal: 1.136.302
Durée de construction :7h 38m 53s
Construction possible dans : 6j 15h 13m 21s    Construction
du niveau 27
    Centrale électrique de fusion
La centrale électrique de fusion produit de l'énergie en fusionnant 2 atomes d'hydrogène en un atome d'hélium
Ressources nécessaires : Métal: 900 Cristal: 360 Deutérium: 180
Durée de construction :8s
    construire
    Usine de robots (Niveau 12 )
Les usines de robots produisent des robots ouvriers qui servent à la construction de l'infrastructure planétaire. Chaque niveau augmente la vitesse de construction des différents bâtiments.
Ressources nécessaires : Métal: 1.638.400 Cristal: 491.520 Deutérium: 819.200
Durée de construction :4h 5m 45s
Construction possible dans : 8j 9h 49m 41s    Construction
du niveau 13
    Usine de nanites (Niveau 4 )
C'est le perfectionnement de la technologie de robots. Chaque niveau augmente la vitesse de construction des vaisseaux et des bâtiments.
Ressources nécessaires : Métal: 16.000.000 Cristal: 8.000.000 Deutérium: 1.600.000
Durée de construction :1j 22h 9m 13s
Construction possible dans : 46j 23h 26m 26s    Construction
du niveau 5
    Chantier spatial (Niveau 14 )
Le chantier spatial permet de construire les vaisseaux et les installations de défense.
Ressources nécessaires : Métal: 6.553.600 Cristal: 3.276.800 Deutérium: 1.638.400
Durée de construction :18h 54m 16s
Construction possible dans : 19j 5h 10m 8s    Construction
du niveau 15
    Hangar de métal (Niveau 7 )
Hangar pour minerai avant le traitement.
Ressources nécessaires : Métal: 256.000
Durée de construction :29m 32s
Construction possible dans : 14h 7m 21s    Construction
du niveau 8
    Hangar de cristal (Niveau 5 )
Hangar pour cristal avant le traitement.
Ressources nécessaires : Métal: 64.000 Cristal: 32.000
Durée de construction :11m 4s
Construction possible dans : 3h 26m 44s    Construction
du niveau 6
    Réservoir de deutérium (Niveau 1 )
Réservoirs géants pour le stockage de deutérium.
Ressources nécessaires : Métal: 4.000 Cristal: 4.000
Durée de construction :55s
Construction possible dans : 1m 14s    Construction
du niveau 2
    Laboratoire de recherche (Niveau 11 )
Le laboratoire de recherche est nécessaire pour développer de nouvelles technologies.
Ressources nécessaires : Métal: 409.600 Cristal: 819.200 Deutérium: 409.600
Durée de construction :2h 21m 47s
Construction possible dans : 4j 18h 29m 27s    Construction
du niveau 12
    Terraformeur (Niveau 4 )
Le terraformeur permet d'agrandir la surface utile des planètes
Ressources nécessaires : Cristal: 800.000 Deutérium: 1.600.000 Energie: 16.000
Durée de construction :1h 32m 18s
    Construction
du niveau 5
    Silo de missiles (Niveau 6 )
Les silos de missiles servent à stocker les missiles.
Ressources nécessaires : Métal: 1.280.000 Cristal: 1.280.000 Deutérium: 64.000
Durée de construction :4h 55m 23s
Construction possible dans : 7j 11h 29m 35s    Construction
du niveau 7

Or, ce qui m'interesse n'est que ce qui est souligné (c'est-à-dire le niveau de metal, de cristal et de deutérium).
Donc, pour résumer.
1) Je séléctionne l'entièreté du contenu de la page dans mon browser
2) Je colle le contenu dans une TextBox
3) Je clique sur le bouton, ce qui va entrainer la recherche du niveau des 3 mines que je veux, et remplir les cases selon le bouton Radio (que je vais seulement insérer aprés, à coté de chaque planète,ainsi que la-dite TextBox) pour remplir les cases de la planète séléctionnée automatiquement au click.
Calculateur.gif

J'espère avoir répondu à vos questions
mercredi 24 janvier 2007 à 22:47:54 | Re : Recupération plusieures valeurs

caramelmou

Rigolo, j'avis fait un truc du genre pour recuperer les valeurs
d'analyse d'un vieil automate de biochimie:

Pour ton exemple, voici un code à adapter
Private Sub Command1_Click()
    MsgBox search_val(26, "Cristal")    ' affiche 2840756
    MsgBox search_val(4, "Deutérium")  ' affiche 1600000
End Sub

Function search_val(critere1 As Long, critere2 As String)
    Dim c As String, strval As String, pos As Long
    pos = InStr(Me.Text1, "Niveau " & critere1 & " )")
    ' j'ajoute le ' )' pour ne pas risquer de confondre niveau 6 et niveau 66
    If pos > 0 Then
        pos = InStr(pos, Me.Text1.Text, critere2)
        If pos > 0 Then
            pos = pos + Len(critere2)
            c = Mid(Me.Text1, pos, 1)
            ' il faut eliminer les sepérateur de milliers americain (le point)
            While (c >= "0" And c <= "9") Or c = "." Or c = " " Or c = ":"
                If (c >= "0" And c <= "9") Then
                    strval = strval & c
                End If
                pos = pos + 1
                c = Mid(Me.Text1, pos, 1)
            Wend
        End If
    End If
    search_val = Val(strval)
End Function

On peut surement optimiser et adapter

Dr.T

mercredi 24 janvier 2007 à 22:58:24 | Re : Recupération plusieures valeurs

jmfmarques

Membre Club
Pas d'accord di tout !
Le mot niveau exisqte également ailleurs !
Ici, entre autres :
Construction possible dans : 40j 5h 31m 37s    Construction
du niveau 32


A sa place, je ferais un split sur "(Niveau " ===>>> j'obtiendrais alors des chaines toto de type ##AAAAAAA... dont la valeur ( Val(toto), donc ) serait excatement ce que je cherche, à savoir ##
 et voilà .
mercredi 24 janvier 2007 à 23:03:56 | Re : Recupération plusieures valeurs

BiGOuF

et c'est pas possible de faire une recherche simplement sur Mine de métal (Niveau, Mine de métal (Niveau  et Mine de deutérium(Niveau ?

Pour le code de Caramelmou, j'avoue ne pas comprendre du tout le fonctionnement.
Private Sub Command1_Click()
    MsgBox search_val(26, "Cristal")   
' affiche 2840756
    MsgBox search_val(4, "Deutérium")  '
affiche 1600000
End Sub

A quoi correspond le 2840756 et le1600000 ?
De plus, comment en cliquant sur le command1 vas-tu rechercher le contenu de la TextBox ?

1 2 3

Cette discussion est classée dans : textbox, texte, numéro, plusieures, recupération


Répondre à ce message

Sujets en rapport avec ce message

Créer des masques [ par Thibault ] A partir d'un fichier texte Ascii disposé précisément de cette manière :**************************************# Ligne de texte 1 # Ligne de te Changer le texte d'un textbox à partir d'un combobox [ par Bloodlust007 ] J'essaye de faire changé le texte de la textbox1 quand quand on choisi tel item dans la combobox. J'avoue, je connais rien au vb. Insérer du texte dans un textbox [ par phil ] Salut !J'ai un textbox,je suis a un endroit donne dans le contenu du textbox (exemple : en plein milieu).Je clique sur un bouton et je veux qu'a l'end rajouter du texte dans une textbox [ par Yoshi ] comment rajouter du texte dans une textbox qui en contient déja ?pas seulement au début ou a la fin mais a n'import quel endroit Selection de texte [ par hub ] Bonjour à tous,Quelqu'un connait t-il une méthode pour selectionner automatiquement 1 paragraphe d'un Textbox :Lorsque l'utilisateur clique sur un mot mettre du texte en majuscule \_(°°)_/ [ par darkyoda ] salut a tous!j'aimerrais savoir commentmettre du texte en majusculedes qu'il a été saisit dans une textboxpar exemplel'utilisateur saisit "m08resc48"e pb saisie de texte dans textbox [ par footyak ] bonjour, j'ai un pb: lorsque je saisis la valeur numérique d'un résultat et qu'il ya une virgule , le prog ne prend que la première valeur avant la vi Décompte de lettres dans une textbox ! [ par THeTiTeuF ] C'est très vite expliquéJe veux faire un programme pour envoyer des SMS, et je veux avoir une boite de texte qui met le nombre de caractères restant s Comment Enregistrer????? [ par wojc ] Bonjours à tous....Voila, j'ai réalisé un programme avec des TextBox, lorsque je remplis les champs des Textbox et que j'appuis sur le bouton OK, un d


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 7,082 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales