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

Turbo Pascal Discussion :

[TP] Fichiers et tri


Sujet :

Turbo Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Par défaut [TP] Fichiers et tri
    BOnjour tout le monde

    J'ai un petit gros problème qui me tracasse depuis pas mal de temps (en fait il y en a 2) :

    1- Voilà, je voudrais créer un fichier qui contient des enregistrements puis y ajouter à chaque fois des données. Bon ça je l'ai fait mais ce que je n'arrive pas à faire c'est créer le fichier quand il existe pas et réécrire dessus quand il existe. Bien sûr, j'ai fait 2 procéduree : une qui crée le fichier (avec rewrite) et une autre qui y ajoute les données (avec reset). Mais comment savoir quand utiliser quoi, c.a.d comment et où je dois utiliser la première ou la deuxieme procédure ?

    J'ai essayé de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If FileSize<>0 then reset(f)
    Else rewrite(f)
    mais ça ne marche pas, il me dit à chaque fois "FILE NOT OPEN".

    Autre chose, je fais un classement et je ne veux afficher que les dix meilleurs seulement mais là aussi ça ne marche pas (en fait ça marche mais pas toujours), pourtant j'ai fait un tri par 1 table, j'ai réécrit dans mon fichier les enregistrements triés mais il ne trie que les 10 premières données entrées - les autres, il ne les affiche même pas. Je ne sais pas pourquoi, je crois qu'il ne prend pas en considération les données entrées après la 10ème mais je n'ai fait de restrictions que dans l'affichage du classement, normalement il doit toujours trier TOUS les enregistrements pour n'afficher que les 10 premiers.

    Voilà. Si vous avez compris mes points d'interrogation et que vous avez un semblant de solution j'espère que vous allez réagir et m'aider...

    MERCI BCP

  2. #2
    Membre émérite
    Avatar de denokan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2002
    Messages
    434
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2002
    Messages : 434
    Par défaut
    pour ta première question, voici un fichier qui contient une fonction FileExists : http://www.shiva2k2.com/unites/_deno.zip

    pour ta seconde question, essaye de la rédiger en francais, on verra si on trouve une solution

  3. #3
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Pour le second problème, vérifie ton algorithme de tri, c'est probablement de là que vient l'erreur.

    Il existe plusieurs algorithme de tri déjà codés testés et optimisés, alors autant les réutiliser :

    http://www.dailly.info/algorithmes-de-tri/index.php

  4. #4
    Membre émérite Avatar de Sheriff
    Inscrit en
    Octobre 2004
    Messages
    608
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 608
    Par défaut
    Salut !
    pour tester l'existence d'un fichier (en général pour avoir les résultats des opérations effectuées sur les fichiers) sers toi de la directive {$i}. tu trouveras ici de très bons cours et exercices en pascal pour t'exercer...
    http://general.developpez.com/cours/
    Quant au second problème, quel algorithme de tri utilise-tu ?
    @+

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 103
    Par défaut
    1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     
    tmp :integer;
     
    //spécification de l'emplacement de ton fichier sur le disque
    assign(f,'c:\fichier.txt');
     
    /* {$i-} empêche ton prog de bugger en cas d'erreur {$i+} rétablit la situation normale*/
    {$i-}
    reset(f,1);
    {$i+}
     
    /*stocke dans tmp un entier relatif à ioresult c.a.d un chiffre correspondant à une éventuelle erreur généré en l'occurence par reset(f,1)*/
    tmp:=ioresult;
     
    /* si tmp<>0 (soit une erreur s'est produite alors tu rewrite)*/
    if tmp<>0 then
     begin
      rewrite(f,1);
     end;

    2) j'imagine que tu utilises une requete sql pour faire ton tri, donne la ainsi que la table, les champs sur lesquels elle s'applique, ça peut aider.....

  6. #6
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Par défaut
    Salut,
    ben, voiLa les procedures qui concerne mon fichier et son tri, C un peu long dsl mais j'arrive tjrs pas a regler mon probleme.
    j'ajoute juste quelque details le tri que G employé et un tri avec 1 tableau a 1 dimension, info est un enregistrment que j'initialise avant a l'aide d'autres procedures.
    Au final je devrais avoir un ecran ou sera afficher donc les dix meilleurs enregistrements(info) par rapport a la note.

    Code supprimé par Hdd34


    MAERCI DE M'ACCORDER UN PEU DE VOTRE TEMPS ET DE VOTRE SAVOIR.

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

Discussions similaires

  1. sort écrase mon fichier avant tri
    Par slig_80 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 05/12/2010, 17h48
  2. Verif type fichiers copie tri doublons etc
    Par enlivraison dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 17/04/2009, 09h50
  3. Fichier texte / tri / affichage
    Par Sarrha dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 09/04/2009, 08h14
  4. Réponses: 2
    Dernier message: 24/01/2007, 17h38
  5. Réponses: 2
    Dernier message: 23/03/2006, 08h58

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