[PB VB.net]Pb ouverture de fichier deux fois de suite
bonjour, je crée une application destiné à des préleveurs d'échantillons d'eau.
Leur points de prélèvements à effectués d'après une liste de points (situées dans mon application dans un fichier simple .txt)
je suis en train de créer un interface d'administration qui permet entre autre d'ajouter un point.
Pour cela l'utilisateur entre le code du nouveau point dans une textbox.
Je lance une recherche de ce même code, s'il existe deja dans la liste, un message s'affiche et le code n'est pas créé.
S'il ne l'ai pas alors il est enregistré.
Mon problème c'est qu'il n'ouvre qu'une fois mon fichier, donc si le code n'existe pas pas de problème.
Mais si je réenchaine par un autre point c'est foutu... ou je peux plus ecrire si le code n'existe pas
comment fermer le processus? ou comment contourner ce problème?
voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
| Imports System.IO
Public Class Ajout_PSV
Dim recherche As Boolean = False
Dim codepsv As String
Sub RecherchePSV()
Dim sr As New StreamReader("\My Documents\aip_ressources\2007.txt")
Dim AnalyseChaine As String
Dim uneligne As String
Do
uneligne = sr.ReadLine()
If Not uneligne Is Nothing Then
AnalyseChaine = uneligne.IndexOf(";" + codepsv + ";")
If AnalyseChaine >= 0 Then MsgBox("Ce code existe déjà") : recherche = True
Else
recherche = False
End If
Loop Until (uneligne Is Nothing)
sr.Close()
End Sub
Private Sub Button_Valider_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Valider.Click
codepsv = Box_Code_PSV.Text
If Box_Code_PSV.Text = ("") Then
MsgBox("Aucun code PSV n'a été rentré", MsgBoxStyle.Critical, "Erreur")
Else
RecherchePSV()
Dim sw As New StreamWriter("\My Documents\aip_ressources\2007.txt", True)
If recherche Then
sw.Write(";")
sw.Write(Box_Code_PSV.Text)
sw.Write(";")
sw.Write(Box_Commune.Text)
sw.Write(";")
sw.Write(Box_Type_Installation.Text)
sw.Write(";")
sw.Write(Box_Payeur.Text)
sw.Write(";")
sw.Write(Box_Installation.Text)
sw.Write(";")
sw.Write(Box_Nom_PSV.Text)
sw.Write(";")
sw.Write(Box_Lieu_PSV.Text)
sw.Write(";")
sw.Write(Box_Type_Eau.Text)
sw.Write(";")
sw.Write(Box_Responsable.Text)
sw.Write(";")
If CheckBox_Eau.Checked = True Then
sw.Write("oui")
sw.Write(";")
Else
sw.Write("non")
sw.Write(";")
End If
If CheckBox_Option.Checked = True Then
sw.Write("oui")
sw.Write(";")
Else
sw.Write("non")
sw.WriteLine(";")
End If
sw.Close()
MsgBox("PSV ajouté")
AIP.Show()
End If
End If
End Sub
End Class |
merci de votre aide