Bonsoir à tous,

Je fais appel à vous suite à un problème que je rencontre et qui me perturbe.

Voilà, je lis un fichier score.txt qui contient (Nom du joueur, nombre de partie, minute, seconde) :

AAA,999,10,00;
AAB,998,00,04;
AAC,997,00,06;
AAD,996,00,10;
AAE,995,10,12;
Pour lire les valeurs, je le fais avec StreamReader, donc je récupère le tout normalement avec la suite d'instructions habituelle spliter par rapport au ";" récupéré dans le tableau nommé "ligne".
Ensuite je fais un split par rapport au "," de ligne, récupéré dans le tableau "result".

Avec le code suivant,

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
Public Sub hight_score(ByVal minute, ByVal seconde)
    Dim Score As String = "./Ressources/Score.txt"
    Dim sr As New System.IO.StreamReader(Score)
    Dim Source As String
    Dim result() As String
    Dim i As Integer
    Source = sr.ReadToEnd()
    Dim ligne() As String = Split(Source, ";")
    For i = 0 To 4
       result = Split(ligne(i), ",")
       Dim mm As Integer = CType(result(2), Integer)
       Dim ss As Integer = CType(result(3), Integer)
 
       MsgBox(mm & "'" & ss & "'' et " & minute & "'" & seconde & "''")
       If minute <= mm Then
           If seconde <= ss Then
               MsgBox("ok")
           End If
       End If
    Next
End Sub
Pour un passage en fonction de (0,3), je devrais trouver "ok" pour toutes les lignes, soit 5 fois.

Or avec le 10'00 et le 10'12, le programme ne m'affiche pas le "ok".

Je ne comprends pas pourquoi, je teste bien deux integer, et non des string avec des integer ou encore deux string.

Je voudrais vérifier si le temps que je passe en paramètre est inférieur à un des temps du fichier.
Quelqu'un aurait une réponse/solution à mon problème ?

Nir3x