Galère !!! recup de chaine de caractere...

bloupye Messages postés 2 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 16 novembre 2005 - 16 nov. 2005 à 16:04
cacalex Messages postés 69 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 3 avril 2008 - 16 nov. 2005 à 21:36
slt à tous,

souhaiterai récuperer la valeur d'une chaine contenue ds 1 fichier txt.
ex : ligne du fic : D:\temp\_todel\toto.txt


voudrai donc récupérer la chaine toto.txt

G utilisé fO Right, Instr, InstrRev, ... pas moyen....
en fait, le prob, c que cette chaine n'est pas tjs à la même place...ben ouais

merci de votre aide

11 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
16 nov. 2005 à 16:21
et pourtant, il faut bien utiliser InsStrRev pour récupèrer la position
du dernier "" et ensuite utiliser la fonction Right à partir de cette
position.

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
0
olixelle Messages postés 506 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 3 mars 2008 2
16 nov. 2005 à 16:37
utilises le fonction split avec "" en parametre et récupere le dernier élément du tableau généré

Rollerman
0
bloupye Messages postés 2 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 16 novembre 2005
16 nov. 2005 à 18:57
merci bp pour réponses rapidos...
detail imp je code en VBS
je prend la methode Split et je code ainsi
'Ligne = D:\temp\_todel\toto.txt
'Ligne suivante = D:\temp\_todel\toto.txt

MyString = Ligne 'du fichier txt
MyArray = Split(MyString, "", -1, 1)


Msg = MyArray(0) & ";" & MyArray(1)
Msg = Msg & ";" & MyArray(2)
Msg = Msg & ";" & MyArray(3)
Msg = Msg & ";" & MyArray(4)
Msg = Msg & " " & MyArray(5)

ca marche, mais jusqu'au moment où le nb de caractere varie dans la ligne du fichier...
v'la
0
olixelle Messages postés 506 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 3 mars 2008 2
16 nov. 2005 à 19:00
ta ka regardé la taille du tableau, mais je sais plus comment on fait en vb6 :(



sinon tu peux faire:



dim elt as string

for each elt in myarray

msg = msg & ";" & elt

next

Rollerman
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
16 nov. 2005 à 19:04
Ca ca devrait marcher :

MsgBox MyArray(UBound(MyArray))


ou alors :

MsgBox MyArray(UBound(MyArray)-1)

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
0
olixelle Messages postés 506 Date d'inscription vendredi 30 juillet 2004 Statut Membre Dernière intervention 3 mars 2008 2
16 nov. 2005 à 19:06
bien vu dark :)

pis vive le .net qd mm :p

Rollerman
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
16 nov. 2005 à 19:06
Salut, trop lent le split dans ce cas, c'est Dark qui a la solution quoique j'y apporterai une tite modif :

resultat = mid(ligne_du_fic, instrrev(ligne_du_fic, "") + 1)

Depuis que je suis obligé de jongler entre vb6 et vb.net, j'ai tendance à bannir les right et left qui ne sont pas compris par vb.net.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
16 nov. 2005 à 19:11
Aie, c'est vrai instrrev n'existe pas en vb5. Comme on oublie vite !

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
16 nov. 2005 à 19:21
Oups, pas vu les précédents posts.
Une autre méthode, si par hasard tu n'as pas la fonction split non plus :

Dim i As Integer
For i = Len(ligne_du_fic) To 1 Step -1
If Mid(ligne_du_fic, i, 1) = "" Then
Exit For
End If
Next


MsgBox Mid(ligne_du_fic, i + 1)

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
cacalex Messages postés 69 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 3 avril 2008
16 nov. 2005 à 21:32
En .NET :

dim nouvelleChaine as string
nouvelleChaine = _
ligneÀlire.substring(ligneÀlire.lastindexof(""), ligneÀlire.lenght - ligneÀlire.lastindexof("") )

À travers le miroir se trouve ma vraie nature...
Dans le miroir se trouve mon reflet...
0
cacalex Messages postés 69 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 3 avril 2008
16 nov. 2005 à 21:36
HUM, C'EST SORTI TOUT CROCHE...

dim nouvelleChaine as string
dim IntPos as integer=ligneÀlire.lastindexof("")
Alors :
nouvelleChaine = ligneÀlire.substring(IntPos, ligneÀlire.lenght - IntPos)

'substring(IndexDépart, longeurvoulue)

À travers le miroir se trouve ma vraie nature...
Dans le miroir se trouve mon reflet...
0
Rejoignez-nous