Problème illogique en VB.NET
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) :
Citation:
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:
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 :zen: