Manipulation de chaine... la galere

waspy59 Messages postés 189 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 15 mai 2013 - 3 déc. 2004 à 01:58
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 3 déc. 2004 à 02:55
bonjour, eh oui c encore moi et toujours avec un probleme de manipulation de chaine.
voila g une variable s1 contenant une chaine de caractere hexa de taille variable.
j'analyse cette chaine caractere hexa par caractere hexa ( avec while et mid$).... jusque a pas de probleme.
mais quand j'arrive a un carctere particulier (par exemple "00"), je voudrait que si le carctere suivant est different de "00" alors:

-recuperer le debut de la chaine jusqu'au caractere "00" et le mettre dans un tableau t.
- recuperer la fin de la chaine a partir du carctere "00" est l'enregistrer dans s1.

par exemple:

s1= "65458751000025452523"
I
I
ANALYSE
I
t(1) contient "654587510000"
s1 contienne "25452523"

voila j'espere avoir été clair,
a l'avance merci de vos reponses

1 réponse

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
3 déc. 2004 à 02:55
s'il y a d'autres séries de zéros je les traite aussi en les mettant dans la table.

    Dim s1  As String
    Dim T() As String
    Dim n   As Integer
    Dim i   As Integer
    Dim j   As Integer
    Dim x   As Integer
    Dim z   As Integer

    s1 = "6545875100002545252300012345"
    
    z = 1
    For i = 1 To Len(s1)
        x = InStr(i, s1, "00")
        If x > 0 Then
           For j = x + 2 To Len(s1)
               If Mid$(s1, j, 1) <> "0" Then Exit For
               Next
           If (j - z) > 0 Then
               n = n + 1: ReDim T(n)
               T(n) = Mid$(s1, z, j - z)
               MsgBox T(n)
               End If
           z = j
           i = j - 1
           End If
        Next
        
    s1 = Mid$(s1, z, i - z)


Daniel
0
Rejoignez-nous