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

ARENIUS 16 Messages postés jeudi 27 janvier 2005Date d'inscription 8 décembre 2005 Dernière intervention - 4 nov. 2005 à 12:58 - Dernière réponse : ARENIUS 16 Messages postés jeudi 27 janvier 2005Date d'inscription 8 décembre 2005 Dernière intervention
- 7 nov. 2005 à 09:41
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!
Afficher la suite 

7 réponses

Meilleure réponse
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 4 nov. 2005 à 19:29
3
Merci
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)

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Meilleure réponse
linasteph 153 Messages postés lundi 16 décembre 2002Date d'inscription 22 juillet 2009 Dernière intervention - 7 nov. 2005 à 07:34
3
Merci
Ah oui parce que je me suis trompé c'est open Fso.textfile mais Fso.Opentextfile

Merci linasteph 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

linasteph 153 Messages postés lundi 16 décembre 2002Date d'inscription 22 juillet 2009 Dernière intervention - 4 nov. 2005 à 13:28
0
Merci
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
linasteph 153 Messages postés lundi 16 décembre 2002Date d'inscription 22 juillet 2009 Dernière intervention - 4 nov. 2005 à 13:35
0
Merci
Info complémentaire : FileSystemObject et TextStream sont disponibles si tu ajoute la référence "Microsoft scripting Runtime"
ARENIUS 16 Messages postés jeudi 27 janvier 2005Date d'inscription 8 décembre 2005 Dernière intervention - 4 nov. 2005 à 13:57
0
Merci
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....
ARENIUS 16 Messages postés jeudi 27 janvier 2005Date d'inscription 8 décembre 2005 Dernière intervention - 4 nov. 2005 à 14:06
0
Merci
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 ...........
ARENIUS 16 Messages postés jeudi 27 janvier 2005Date d'inscription 8 décembre 2005 Dernière intervention - 7 nov. 2005 à 09:41
0
Merci
Merci pour votre aide :D

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.