Comment lire les 188 derniers octets (caractères) d'un fichier texte ? [Résolu]

Signaler
Messages postés
16
Date d'inscription
jeudi 27 janvier 2005
Statut
Membre
Dernière intervention
8 décembre 2005
-
Messages postés
16
Date d'inscription
jeudi 27 janvier 2005
Statut
Membre
Dernière intervention
8 décembre 2005
-
Bonjour à tous,

Je suis en train de faire un programme de gestion des alarmes sur un parc d'équipement et je dois aller lire dans un fichier texte volumineux (254ko). Ce fichier est composé d'un succession de chaîne de caractères de 188 octets (ou caractères) accolés (sans séparation). Je veux pouvoir lire la dernière chaine de 188 octet à la fin du fichier et rechercher des chaines de caractères defaut ou alarme dans celle ci .

Comment faire pour lire la dernière chaîne de 188 octets du fichier ?

Merci d'avance!

7 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
76
Salut
Cette technique fonctionnera (en vb.Net) mais tu seras obligé de lire toutes les données en mémoire. Si ton fichier est gros, ce n'est peut-être pas la bonne solution.
En VB6 :
Open monFichier For Binary As #1
Longueur = LOF(1)
Début = Longueur - 188
Chaine = Space$(188)
Get #1, Début, Chaine
Close #1
Le fait de préparer une chaine de longueur déterminée forcera le Get à lire cette longueur là.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci

Messages postés
153
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
22 juillet 2009
1
Ah oui parce que je me suis trompé c'est open Fso.textfile mais Fso.Opentextfile
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci

Messages postés
153
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
22 juillet 2009
1
si ce sont les 188 derniers caractères du fichier que tu veux lire voici ce que je te préconise:



dim FSO as New FileSystemObject

Dim tsFile as TextStream



set TsFile as FSO.textfile(MonfichierTexte,1)

sFile = tsFile.ReadAll

tsFile.Close



sString = right(sFile,188)

sString contient donc les 188 derniers caractères
Messages postés
153
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
22 juillet 2009
1
Info complémentaire : FileSystemObject et TextStream sont disponibles si tu ajoute la référence "Microsoft scripting Runtime"
Messages postés
16
Date d'inscription
jeudi 27 janvier 2005
Statut
Membre
Dernière intervention
8 décembre 2005

Ok merci je vais essayer(pas aujourd'hui je n'ai pas le temps), mais est tu sur que les méthodes filesystemobject et textstream sont disponibles sur VB 6.0 ? Je crois me souvenir que ce n'est pas le cas....
Messages postés
16
Date d'inscription
jeudi 27 janvier 2005
Statut
Membre
Dernière intervention
8 décembre 2005

Arf j'ai quand même eu le temps d'essayer et le compilateur me fait une erreur (méthode or data number not found) en s'arrêtant sur FSO.textfile ...........
Messages postés
16
Date d'inscription
jeudi 27 janvier 2005
Statut
Membre
Dernière intervention
8 décembre 2005

Merci pour votre aide :D