IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Lire dans un fichier Random à longueur fixe


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Par défaut Lire dans un fichier Random à longueur fixe
    Bonjour à tous

    Voici mon problème.
    J'utilise un fichier Random avec des enregistrements de longueur fixe.
    J'arrive à écrire dedans avec "FilePut(NuméroDeFichier,Variable,NuméroEnregistrement)"
    Mais pour lire un enregistrement particulier, c'est une autre histoire.
    Dans l'excellent cours VB.Net de Phillipe Lasser,
    il propose la fonction "FileGetNuméroDeFichier,Variable,NuméroEnregistrement)"
    en indiquant qu'il faut avoir l'option Strict Off pour ne pas avoir d'erreur.
    Hé bien ça ne marche pas.
    Quelqu'un peut-il me dire comment faire pour lire dans ce type de fichier ?
    Merci de votre réponse

    Claude Azoulai

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 194
    Par défaut
    qu'appelle tu un fichier random ? pourquoi utiliser un fichier brut pour stocker tes données en 2010 ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Par défaut
    Merci Pol63

    J'utilise un fichier à accès aléatoire pour pouvoir écrire et lire un petit texte dans des enregistrements indexés.
    Il s'agit de commentaires sur des photos visionnées par mon application, et celui qui visionne les photos tape les commentaires qui sont enregistrés dans un enregistrement dont l'index correspond à l'index de la photo visionnée.

    J'espère avoir été clair.

    Claude Azoulai

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Par défaut
    pourquoi utiliser un fichier brut pour stocker tes données en 2010 ?
    Même question, utiliser un fichier texte pour stocker des données ca parait dépassé. Si ce sont des données temporaires garde les en mémoire, sinon un système de base de donnée parait beaucoup plus adapté.

    Je ne dis pas que faire un fichier pour stocker des données c'est impossible, c'est comme manger un yaourt avec une fourchette, tu peux le faire mais il existe des outils plus adaptés.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Par défaut
    Je sais bien que ce n'est pas élégant, mais comme je compte distribuer mon application à des amis, et que leur Windows n'est pas forcément de la dernière mouture, le fichier texte m'avait paru le plus directe à utiliser et aussi le moins volumineux.
    Je fais mes premiers pas dans VB.net et le fait qu'il existe une fonction "FilePut" pour écrire et pas son équivalant pour lire de la même manière me laisse perplexe.
    (tout comme l'équivalant de Form1.Clear qui n'éxiste pas en VB.net)
    En tous les cas, merci de ton aide.
    Claude Azoulai

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 194
    Par défaut
    ca faisait quoi form1.clear ?

    sinon en effet le fichier texte a comme avantage de ne rien demander comme dll ou programme externe et prend beaucoup moins de place qu'un xml

    mais dans ce cas je te conseille de ne pas travailler comme à l'époque
    en effet, maintenant les pc sont tellement rapide, que le plus simple est de lire tout le fichier pour le mettre en ram et de l'écrire d'un coup après les modifications
    ensuite tu travailles sur des classes et des collections donc c'est plus simple ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Par défaut
    tu peux regarder ce tutorial :

    http://www.codeproject.com/KB/files/ybrandomfile.aspx

    Sinon, effectivement un fichier XML je pense que ce serait plus pratique, par exemple avec un classe sérialisable tu peux lire et écrire un fichier relativement facilement.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Par défaut
    Merci à Pol63 et à Flamby38 pour votre sollicitude

    J'ai découvert pourquoi ça marchait pas.
    J'ai commencé par développer un petit programe en VB6 qui réalisait ce que je voulais faire.
    Ensuite, j'ai appelé ce programe avec VB.NET 5008? ce qui a provoqué la migration automatique vers VB.NET et le programme a fonctionné.
    J'ai comparé les lignes de programe avec mon application précédente et c'était les mêmes !!!
    J'ai cherché ce qui pouvait avoir de différent entre les deux programes et dans l'application précédente, il y avait une ligne "Imports System IO"
    A tout hasard je l'ai enlevée, et bien que je n'ai rien compris, ça a fonctionné.
    Je suis donc satisfait et je peux continuer à programmer mon application.
    En tous les cas, j'aprécie votre aide.

    Claude Azoulai

  9. #9
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 194
    Par défaut
    tu peux en effet continuer à programmer
    mais j'espère que c'est juste un hobby car programmer avec du code vb6 dans vb.net c'est plus du bidouillage que du professionnalisme
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. lire dans un fichier .ini
    Par porki dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 16/01/2006, 12h00
  2. lire dans un fichier .txt
    Par Baptiste Wicht dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 17/12/2005, 18h31
  3. Réponses: 4
    Dernier message: 01/12/2005, 01h01
  4. Ecrire et lire dans un fichier texte
    Par podz dans le forum C
    Réponses: 3
    Dernier message: 25/10/2005, 16h57
  5. Réponses: 18
    Dernier message: 09/08/2005, 12h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo