none
Probleme Lecteur Tableau RRS feed

  • Question

  • Bonjour,

    Je rencontre le probleme plutot bizarre suivant :

    A partir du code source d'un fichier en PHP, je cree un tableau que je souhaite parcourir depuis VB pour effectuer des modifications dans le code PHP. J'ai un superbe plantage à la lecture de la ligne 3 du tableau avec le message "Index Out of Range"

    Le contenu de mon tableau (le début, il y a 103 lignes dedans...)

    0 <?php

    1 session_start();

    2 include('../header.html');

    3 ?>

    4 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    etc etc jusqu'a la 103eme ligne

    Mon Code de creation et de lecture du tableau

    Case "Modification Accès Base de Données"
                            Dim TabCode() As String
                            TabCode = Split(TextCodeSource.Text, vbCrLf)
                            Dim Ligne As String = ""
                            For i = 1 To TabCode.Length - 1
                                Ligne = TabCode(i).ToString
                                If InStr(1, Ligne(i).ToString, "$connection", CompareMethod.Text) Then
                                    Dim LigneModifie As String = Ligne(i).ToString
                                    LigneModifie = Replace(Ligne(i).ToString, "$connection", "//$connection")
                                    TextBoxCodeModifie.Text = TextBoxCodeModifie.Text & LigneModifie & vbCrLf
                                    LigneModifie = Ligne(i + 1).ToString
                                    LigneModifie = Replace(Ligne(i + 1).ToString, "//$connection", "$connection")
                                    TextBoxCodeModifie.Text = TextBoxCodeModifie.Text & LigneModifie & vbCrLf
                                End If
                            Next

    L'erreur se produit au moment ou le code passe à la ligne if Instr(1, Ligne(i).tostring, "$connection, Comparedmthod.text) pour la ligne 3 (?>) du tableau, la lecture des deux premieres lignes se passe correctement.... TabCode.length = 103

    Avez vous une idee de ce qui peux generer ce truc la ??

    Merci par avance de vos reponses.

    Thierry

    lundi 8 février 2021 04:27

Réponses

  • Bonjour Thierry,

    Le problème vient de l'expression Ligne(i).ToString lorsque i=3. Cela signifie que vous avez pris la quatrième ligne du fichier et vous l'avez affectée à la variable Ligne ("?>"). Écrit de cette façon, ce code commence à chercher dans le quatrième caractère de cette ligne qui n'existe pas, parce que cette ligne est composée par deux caractères: Ligne(0)="?" et Ligne(1)=">".
    Si TabCode est un tableau de chaînes du fichier php, et dans Ligne, vous avez placé les lignes une par une, Ligne (i) n'est pas une chaîne entière String, mais un seul caractère Char.
    Essayez avec :

    If InStr(1, Ligne.ToString, "$connection", CompareMethod.Text) Then


    Cordialement,
    Nina


    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.


    lundi 8 février 2021 13:44
    Modérateur

Toutes les réponses

  • Bonjour Thierry,

    Le problème vient de l'expression Ligne(i).ToString lorsque i=3. Cela signifie que vous avez pris la quatrième ligne du fichier et vous l'avez affectée à la variable Ligne ("?>"). Écrit de cette façon, ce code commence à chercher dans le quatrième caractère de cette ligne qui n'existe pas, parce que cette ligne est composée par deux caractères: Ligne(0)="?" et Ligne(1)=">".
    Si TabCode est un tableau de chaînes du fichier php, et dans Ligne, vous avez placé les lignes une par une, Ligne (i) n'est pas une chaîne entière String, mais un seul caractère Char.
    Essayez avec :

    If InStr(1, Ligne.ToString, "$connection", CompareMethod.Text) Then


    Cordialement,
    Nina


    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.


    lundi 8 février 2021 13:44
    Modérateur
  • Bonjour Nina

    Effectivement cela fonctionne maintenant. Merci de votre réponse.

    Cordialement.

    Thierry

    lundi 8 février 2021 15:45