Trouver des " ; " dans une ligne ?

cs_zyom Messages postés 5 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 5 mars 2007 - 2 mars 2007 à 07:19
ZedMaTrix Messages postés 178 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 14 août 2008 - 2 mars 2007 à 11:41
Bonjour à tous, c'est mon premier post et mon premier jour (première nuit plutot) de VB6 aussi :)

Je scripte habituellement en langage Pawno (pour SA-MP), et là je bloque sur un truc qui est tout simple je suis sûr :)

Bref...j'explique mon problème, je voudrais pouvoir écrire une ligne, en séparant différents arguments par des " ; " ou autres caractères:

exemple : "argument 1 ; argument 2 ; argument 3"

Donc écrire cette ligne n'est pas un problème ;) , mais je voudrais stocker ces différents arguments quelquepart pour en faire des lignes séparées dans un fichier texte:

arg1 = argument 1
arg2 = argument 2
arg3 = argument 3

Je précise que l'utilisateur peut mettre jusqu'a 15 arguments, donc pas forcément 3.Avec Pawno on peut utiliser strtok avec un for loop.

Alors en VB6, comment séparer ma ligne en ligne unique?

PS : désolé si je ne poste pas au bon endroit, je ne trouve pas vraiment de thème "petite question de débutant". Merci d'avance de vos réponses!

4 réponses

ZedMaTrix Messages postés 178 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 14 août 2008
2 mars 2007 à 07:50
Salut.

Bienvenue dans le monde du VB6

Bon effectivement, c'est asser simple grace aux fonctions de VB6.
Il existe la commande Split à laquelle tu passe en argument le string avec tout les arguments contenant les ";" puis le séparateur :

Dim lstrArgs As String

' Déclare une variable en tant que tableau de string
Dim lstrGetArg() As String

lstrArgs = "argument 1 ; argument 2 ; argument 3"

' On peut commencer par supprimer les espaces
lstrArgs = Replace(lstrArgs, " ", "")

' Puis on découpe le string selon les ";"
lstrGetArg = Split(lstrArgs, ";")

' Maintenant tu as un tableau contenant tout tes aguments.
' Pour l'utiliser tu peut faire :
MsgBox lstrGetArg(0)  ' Affiche l'argument 1
MsgBox lstrGetArg(1)  ' Affiche l'argument 2 etc ...

' Pour savoir combien il y a d'arguments, utilise :
MsgBox "Il y a " & ubound(lstrGetArg) + 1 & " arguments."

Voila

ZedMaTriX
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
2 mars 2007 à 08:51
Je ne comprend pas pourquoi tu conseilles de supprimer les espaces... c'est plutot dangereux..

Il est bien plus sage d'utiliser Trim$ afin de supprimer les espaces superflus de chaque argument :

MsgBox Trim$(lstrGetArg(0))  ' Affiche l'argument 1

Renfield
Admin CodeS-SourceS- MVP Visual Basic
0
cs_zyom Messages postés 5 Date d'inscription jeudi 1 mars 2007 Statut Membre Dernière intervention 5 mars 2007
2 mars 2007 à 09:23
Merci a vous deux, je pense que je m'en sortirais et...a bientôt :D
0
ZedMaTrix Messages postés 178 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 14 août 2008
2 mars 2007 à 11:41
Ouais c'est vrai tu as raison.. Je n'avais pas pensé au espaces dans les arguments...
J'avais pensé à parler du Trim... mais bon

ZedMaTriX
0
Rejoignez-nous