Manipulation des fichiers

rihabsati Messages postés 1 Date d'inscription mercredi 16 janvier 2008 Statut Membre Dernière intervention 28 janvier 2009 - 28 janv. 2009 à 15:30
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010 - 28 janv. 2009 à 15:50
Bonjour à tous ;


Je suis débutante en programmation, J’utilise comme outil le
VB .NET 


J’aimerais extraire à partir d’un fichier .dat quelques
enregistrements  et les classer dans un
fichier texte


Le fichier d’entrée (.dat) a la forme suivante  (tous les enregistrements sont séparés par des
 «, » ) :


"883","ALGIERS
CITIBANK","6110002","DZD","11/02/2008","11/02/2008","MR
LE RECEVEUR DES IMPORTS
DGE","136.065.391,92","134.315.548,16","151.657.350,93","148955","CHECK
PAID","11/02/2008","-637.958,00","DZ1594408307001G","153.750.269,06","Non","





Une idée :


Je ne sais pas si je dois parcourir le fichier caractère par
caractère pour chercher les virgules  et
comment  je puisse mettre toutes les
chaines de caractères  dans un tableau
pour pouvoir les filtrer après selon le besoin (l’ordre dans le tableau)


Merci à celui qui pourra m'apporter le renseignement  (un petit boue de code ou même une idée).

4 réponses

lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
28 janv. 2009 à 15:38
Bonjour,

instr()' String to search in.Dim SearchString As String "XXpXXpXXPXXP"' Search for "P".Dim SearchChar As String "P"Dim TestPos As Integer
' A textual comparison starting at position 4. Returns 6.
TestPos = InStr(4, SearchString, SearchChar, CompareMethod.Text)

' A binary comparison starting at position 1. Returns 9.
TestPos = InStr(1, SearchString, SearchChar, CompareMethod.Binary)

' If Option Compare is not set, or set to Binary, return 9.' If Option Compare is set to Text, returns 3.
TestPos = InStr(SearchString, SearchChar)

' Returns 0.
TestPos = InStr(1, SearchString, "W")


Extrait du msdn...

Après tu n'as qu'a faire du traitement de chaine de caractère (left(), right(), mid(),len())
Bon courage

S.L.B.
<hr />
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 janv. 2009 à 15:40
méthode SubString, et IndexOf de la classe String, en .NET ^^
0
lillith212 Messages postés 1229 Date d'inscription vendredi 16 novembre 2007 Statut Membre Dernière intervention 16 juin 2009
28 janv. 2009 à 15:40
Re,
Désolée de la mise en forme :
' String to search in.
Dim SearchString As String = "XXpXXpXXPXXP"
' Search for "P".
Dim SearchChar As String = "P"
Dim TestPos As Integer
' A textual comparison starting at position 4. Returns 6.
TestPos = InStr(4, SearchString, SearchChar, CompareMethod.Text) 
' A binary comparison starting at position 1. Returns 9.
TestPos = InStr(1, SearchString, SearchChar, CompareMethod.Binary) 
' If Option Compare is not set, or set to Binary, return 9.
' If Option Compare is set to Text, returns 3.
TestPos = InStr(SearchString, SearchChar) 
' Returns 0.
TestPos = InStr(1, SearchString, "W") 

S.L.B.
<hr />
0
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
28 janv. 2009 à 15:50
bonjour,
je n'ai jamais travaillé sur les fichiers .DAT mais voici ce que je fais avec les fichiers textes pour repondre à ton idée
d'abord il faut lire le fichier avec un streamreader
exemple :
Dim

StRead AsNew StreamReader("c:\test.txt", System.Text.Encoding.Default)

Dim text
As
String = StRead.ReadToEnd()StRead.Close()

ensuite tu peux le découper ("spliter") le fichier à chaque virgule dans un tableau de la façon suivante :

Dim TabChaine()
As
String = Split(text,
",")

et il ne te reste plus qu'a ecrire (streamwriter ) un nouveau fichier text dans lequel tu ecris les lignes recupérés dans tabchaine qui t'interessent.
exemple : ligne 1 du fichier source (celle avant la 1ere virgule) correspond à tabchaine (0), etc...

_____________
 (débutant inside)
0
Rejoignez-nous