Besoin de lire une ligne spécifique dans un fichier texte

bolivier4 Messages postés 2 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 22 juillet 2010 - 22 juil. 2010 à 10:20
madaal Messages postés 17 Date d'inscription lundi 21 juin 2010 Statut Membre Dernière intervention 6 mai 2011 - 21 nov. 2010 à 09:08
Bonjour

J'avais réaliser sous VB6 un programme permettant de lire un fichier texte "D:\Test.txt" de ce type

[LOGO]
1=AMS
2=DVH
3=BDV
4=RTV

etc...

Dans un module j'ai ecrit :

Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileNama As String) As Integer

Public Function LireTxt(ByVal sSection As String, ByVal sKey As String, ByVal sDefault As String, ByVal sFile As String) As String

Dim sRet As String
Dim lRet As Integer

sRet = New String(Chr(0), 2048)
lRet = GetPrivateProfileString(sSection, sKey, sDefault, sRet, Len(sRet), sFile)
LireTxt = Left(sRet, lRet)

End Function

Dans le programme VB6, j'ai mis :

Dim Fichier As String
'Lecture du fichier
Fichier = "D:\Test.txt"

Text1.Text = LireTxt("Logo", "1", "", Fichier)

Cela allait cherché dans le chapitre LOGO du ficheier texte, le logo "1" et affichait donc "AMS" dans le textbox

En passant sous VB2005, j'ai modifié le programme pour qu'il soit compatible mais il me met un PB de sécurité du type "Interdiction d'ouvrir le fichier texte si vous n'utiliser pas le systmé "System.Security.Permissions.SecurityPermission" disant que je dois utiliser le systéme "Isolated Storage File" pour ourir, lire et enregistrer mes fichiers

N'ayant jamais utiliser cela, pourriez vous m'aider dans l'écriture de la source....

Merci d'avance

Olivier

2 réponses

madaal Messages postés 17 Date d'inscription lundi 21 juin 2010 Statut Membre Dernière intervention 6 mai 2011
21 nov. 2010 à 09:06
Pourquoi ne pas passer par un streamreader ?

tu fait :

dim MonStreamreader As StreamReader = New StreamReader("D:\Test.txt")
Dim Ligne as String = Monstreamreader.ReadLine()

While not Ligne = ""

'Ici tu vérifie si la première lettre est bien 1, dans ce cas tu fait replace(Ligne, "1=", "") et il restera dans ligne uniquement AMS

End While


PS : n'oublie pas d'inclure System.IO
0
madaal Messages postés 17 Date d'inscription lundi 21 juin 2010 Statut Membre Dernière intervention 6 mai 2011
21 nov. 2010 à 09:08
Ah excuse j'ai oublié dans la boucle while d'avant :

While not Ligne = ""

'Ici tu vérifie si la première lettre est bien 1, dans ce cas tu fait replace(Ligne, "1=", "") et il restera dans ligne uniquement AMS

Ligne = monstramreader.ReadLine() 'lit la ligne suivante

End While
0
Rejoignez-nous