OVH Cloud OVH Cloud

gestion des strings

8 réponses
Avatar
thierry
Hello,

avant de vous poster ce message, je suis allé voir sur la FAQ, et je
n'ai rien trouvé.
En fait, la question est peut être trop simple. Je récupére à partir
d'un fichier texte, lu en séquentiel, une ligne.
Dans cette ligne, j'ai des caractères spéciaux (* ou ;). Je croyais
qu'il existait une fonction comme locate, qui permettait de localiser un
de ces charactères dans la ligne.
De plus, je voulais connaître la longueur de la ligne. (j'ai essayé
lenght, mais il semblerait que cela ne soit pas défini pour des types
strings.)

Auriez vous des exemples de "décortication" de type string?

Cdt

Thierry

8 réponses

Avatar
Boss Hog
Salut,

tu pourrai utiliser Split(machaine,"*")
qui te retourne un tableau de String

pour la longueur il y à aussi Len(Machaine)

pour la position il y a: MyPos = Instr(4, SearchString, SearchChar, 1)
' InStr([start, ]string1, string2[, compare])

ouala
@+
Boss Hog

"thierry" wrote in message
news:

Hello,

avant de vous poster ce message, je suis allé voir sur la FAQ, et je
n'ai rien trouvé.
En fait, la question est peut être trop simple. Je récupére à partir
d'un fichier texte, lu en séquentiel, une ligne.
Dans cette ligne, j'ai des caractères spéciaux (* ou ;). Je croyais
qu'il existait une fonction comme locate, qui permettait de localiser un
de ces charactères dans la ligne.
De plus, je voulais connaître la longueur de la ligne. (j'ai essayé
lenght, mais il semblerait que cela ne soit pas défini pour des types
strings.)

Auriez vous des exemples de "décortication" de type string?

Cdt

Thierry


Avatar
thierry
In article <Ozp$, "Boss Hog" <bosshog
<replace>@tiscali.fr> says...
Salut,

tu pourrai utiliser Split(machaine,"*")
qui te retourne un tableau de String

pour la longueur il y à aussi Len(Machaine)

pour la position il y a: MyPos = Instr(4, SearchString, SearchChar, 1)
' InStr([start, ]string1, string2[, compare])

ouala
@+
Boss Hog

"thierry" wrote in message
news:
>
> Hello,
>
> avant de vous poster ce message, je suis allé voir sur la FAQ, et je
> n'ai rien trouvé.
> En fait, la question est peut être trop simple. Je récupére à partir
> d'un fichier texte, lu en séquentiel, une ligne.
> Dans cette ligne, j'ai des caractères spéciaux (* ou ;). Je croyais
> qu'il existait une fonction comme locate, qui permettait de localiser un
> de ces charactères dans la ligne.
> De plus, je voulais connaître la longueur de la ligne. (j'ai essayé
> lenght, mais il semblerait que cela ne soit pas défini pour des types
> strings.)
>
> Auriez vous des exemples de "décortication" de type string?
>
> Cdt
>
> Thierry





ok, merci je commence tout de suite...
A +
Avatar
LE TROLL
Salut,

Déjà pour la longueur il faut une string à longueur non déterminé, sinon
ça te renvoie toujours la longueur déclarée, donc
Ne pas aire -> Dim chaine As String * 10
Mais FAIRE -> Dim chaine As String

De facto, tu aura la longueur, soit:
Dim LgrStr As Integer
LgrStr = Len(chaine)

Pour retrouver un caractère:
Dim position As Integer
position = InStr(1, chaine, "élément_recherché", 1)

Des tes 4 params, tu as recpectivement:
Position de départ, chaîne concernée, élément recherché, type de recherche 1
= texte...

Si tu as un caractère que tu n'arrives pas à reproduire à l'écran, tu
peux le rechercher en ascii, déjà évidemment l'identifier quant à sa valeur
ascii x, puis:

Dim octet As String * 1
Dim ascii As Integer
Dim ValAscii As Integer
Dim i As Integer
'
ValAscii = x ' ta valeur ascii recherchée
For i = 1 to len(ta_chaine) ' je décompose au maximum, c'est + clair...
octet = Mid(ta_chaine, i, 1) ' i=position, 1=nombre octets
ascii = Asc(octet)
If ValAscii = ascii Then Exit For
Next i
' i = position de l'ascii recherché...

In fine, recherche avec <F1> l'aide de VB concernant les "string", tu
verras, tu as plein de fonctions pour les manipuler dans tous les sens...
------------------------------
Avatar
LE TROLL
J'ai oublié, tu as aussi pour retasser un chaine de longueur
indéterminée:

ma_chaine = Trim(ma_chaine)
-------------------------------

"thierry" a écrit dans le message de
news:

Hello,

avant de vous poster ce message, je suis allé voir sur la FAQ, et je
n'ai rien trouvé.
En fait, la question est peut être trop simple. Je récupére à partir
d'un fichier texte, lu en séquentiel, une ligne.
Dans cette ligne, j'ai des caractères spéciaux (* ou ;). Je croyais
qu'il existait une fonction comme locate, qui permettait de localiser un
de ces charactères dans la ligne.
De plus, je voulais connaître la longueur de la ligne. (j'ai essayé
lenght, mais il semblerait que cela ne soit pas défini pour des types
strings.)

Auriez vous des exemples de "décortication" de type string?

Cdt

Thierry


Avatar
thierry
In article <#, "LE TROLL" <le
says...
J'ai oublié, tu as aussi pour retasser un chaine de longueur
indéterminée:

ma_chaine = Trim(ma_chaine)
-------------------------------

"thierry" a écrit dans le message de
news:
>
> Hello,
>
> avant de vous poster ce message, je suis allé voir sur la FAQ, et je
> n'ai rien trouvé.
> En fait, la question est peut être trop simple. Je récupére à partir
> d'un fichier texte, lu en séquentiel, une ligne.
> Dans cette ligne, j'ai des caractères spéciaux (* ou ;). Je croyais
> qu'il existait une fonction comme locate, qui permettait de localiser un
> de ces charactères dans la ligne.
> De plus, je voulais connaître la longueur de la ligne. (j'ai essayé
> lenght, mais il semblerait que cela ne soit pas défini pour des types
> strings.)
>
> Auriez vous des exemples de "décortication" de type string?
>
> Cdt
>
> Thierry





c'est vraiment très bien, merci beaucoup

CDT

Thierry
Avatar
Boss Hog
Yes
et pour finir si tu utilise Split() pour générer un tableau EX:

toto = Split("ab*cd*ef")

tu aura : toto(0) = "ab", toto(1) = "cd", toto(2) = "ef" {heu je crois les
tableaux VB sont en base 1}

pour reconstruire ta chaine comme à l'origine tu fait ceci

machaine = Join(toto,"*")
ce qui donne : machaine = "ab*cd*ef"

et ouala
@+
Boss Hog

"Boss Hog @tiscali.fr>" <bosshog<replace> wrote in message
news:Ozp$
Salut,

tu pourrai utiliser Split(machaine,"*")
qui te retourne un tableau de String

pour la longueur il y à aussi Len(Machaine)

pour la position il y a: MyPos = Instr(4, SearchString, SearchChar, 1)
' InStr([start, ]string1, string2[, compare])

ouala
@+
Boss Hog

"thierry" wrote in message
news:
>
> Hello,
>
> avant de vous poster ce message, je suis allé voir sur la FAQ, et je
> n'ai rien trouvé.
> En fait, la question est peut être trop simple. Je récupére à partir
> d'un fichier texte, lu en séquentiel, une ligne.
> Dans cette ligne, j'ai des caractères spéciaux (* ou ;). Je croyais
> qu'il existait une fonction comme locate, qui permettait de localiser un
> de ces charactères dans la ligne.
> De plus, je voulais connaître la longueur de la ligne. (j'ai essayé
> lenght, mais il semblerait que cela ne soit pas défini pour des types
> strings.)
>
> Auriez vous des exemples de "décortication" de type string?
>
> Cdt
>
> Thierry




Avatar
LE TROLL
Merci de dire merci :o)
--------

"thierry" a écrit dans le message de
news:
In article <#, "LE TROLL" <le
says...
> J'ai oublié, tu as aussi pour retasser un chaine de longueur
> indéterminée:
>
> ma_chaine = Trim(ma_chaine)
> -------------------------------
>
> "thierry" a écrit dans le message de
> news:
> >
> > Hello,
> >
> > avant de vous poster ce message, je suis allé voir sur la FAQ, et je
> > n'ai rien trouvé.
> > En fait, la question est peut être trop simple. Je récupére à partir
> > d'un fichier texte, lu en séquentiel, une ligne.
> > Dans cette ligne, j'ai des caractères spéciaux (* ou ;). Je croyais
> > qu'il existait une fonction comme locate, qui permettait de localiser


un
> > de ces charactères dans la ligne.
> > De plus, je voulais connaître la longueur de la ligne. (j'ai essayé
> > lenght, mais il semblerait que cela ne soit pas défini pour des types
> > strings.)
> >
> > Auriez vous des exemples de "décortication" de type string?
> >
> > Cdt
> >
> > Thierry
>
>

c'est vraiment très bien, merci beaucoup

CDT

Thierry


Avatar
Boss Hog
Merci de remercier les gents qui disent merci
Boss Hog
"LE TROLL" <le wrote in message
news:e9huR$
Merci de dire merci :o)
--------

"thierry" a écrit dans le message de
news:
> In article <#, "LE TROLL" <le
> says...
> > J'ai oublié, tu as aussi pour retasser un chaine de longueur
> > indéterminée:
> >
> > ma_chaine = Trim(ma_chaine)
> > -------------------------------
> >
> > "thierry" a écrit dans le message de
> > news:
> > >
> > > Hello,
> > >
> > > avant de vous poster ce message, je suis allé voir sur la FAQ, et


je
> > > n'ai rien trouvé.
> > > En fait, la question est peut être trop simple. Je récupére à partir
> > > d'un fichier texte, lu en séquentiel, une ligne.
> > > Dans cette ligne, j'ai des caractères spéciaux (* ou ;). Je croyais
> > > qu'il existait une fonction comme locate, qui permettait de


localiser
un
> > > de ces charactères dans la ligne.
> > > De plus, je voulais connaître la longueur de la ligne. (j'ai essayé
> > > lenght, mais il semblerait que cela ne soit pas défini pour des


types
> > > strings.)
> > >
> > > Auriez vous des exemples de "décortication" de type string?
> > >
> > > Cdt
> > >
> > > Thierry
> >
> >
>
> c'est vraiment très bien, merci beaucoup
>
> CDT
>
> Thierry