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

Pascal Discussion :

Recherche multicritères dans une seule fonction ?


Sujet :

Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 16
    Par défaut Recherche multicritères dans une seule fonction ?
    Bonjour tout le monde,
    j'ai réellement besoin de votre aide, je dois faire la gestion d'une bibliotheque
    et en ce qui concerne la recherche d'un livre elle doit etre multicritère, cad que je dois rechercher soit par code, par titre, par auteur ou par mot clé.
    ce que je vois c des fonctions séparées, mais ca va etre lourd,
    je preférerai intégrer tout ca dans une seule fonction, mais comme je suis débutant en pascal, je serai intéréssé par vos idées les amis
    merci d'avance

  2. #2
    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
    Tout dépend de la structure de donnée que tu utilises. Sans ça on ne peut pas te dire grand chose.

  3. #3
    Invité de passage
    Inscrit en
    Mai 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 1
    Par défaut
    Tout est structuré sous forme de fichiers d'enregistrements.
    je dois alors ouvrir mon fichier mais quels seront les critères a utiliser pour la recherche? un seul critère est suffisant pour effectuer la recheche. donc comment faire?

  4. #4
    Membre expérimenté Avatar de Ultima
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 223
    Par défaut
    Citation Envoyé par Loceka
    Tout dépend de la structure de donnée que tu utilises. Sans ça on ne peut pas te dire grand chose.
    +le préférable serait que tu utilise les enregistrements (record):

    Par exemple:
    livre1.auteur = 'La Fontaine'
    livre1.titre = 'L' Amour et la Folie'
    livre1.code = ...


    Ensuite la bibliothèque pourait être un tableau:
    Exemple:
    Biblio = array [1..NbLivre] of T_Livre

    Avec un bon codage, les fonctions seront faciles à écrire.

  5. #5
    Membre expérimenté Avatar de Ultima
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 223
    Par défaut
    Salut,
    Montre comment sont codés tes enregistrements.

  6. #6
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 16
    Par défaut
    je suis obligé d'utiliser des fichiers pour la gesion de la biblio
    ca rentre dans le cadre de mon cours en pascal.

    voila mon enregistrement livre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    enreg_livre = record
        code : string[20];
        titre : string [20];
        auteur : string [10];
        editeur : string [10];
        resume : string [100];
    end;
    et voici le fichier livres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    t_livre = file of enreg_livre;

  7. #7
    Membre émérite
    Avatar de CapJack
    Homme Profil pro
    Prof, développeur amateur vaguement éclairé...
    Inscrit en
    Mars 2004
    Messages
    624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Prof, développeur amateur vaguement éclairé...
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 624
    Par défaut
    Citation Envoyé par ilouma
    ca rentre dans le cadre de mon cours en pascal.
    Sinon, il y aurait encore plus simple : utiliser un logiciel de gestion de fond documentaire, il en existe une foultitude !

    Pour en revenir à la fonction, je ne suis pas d'accord sur le fait de déporter les différents critères de recherche dans des fonctions séparées, car celà interdirait une recherche multicritère (un auteur et un titre par ex.). C'est le reproche que le correcteur risque de faire, selon moi.

    Je pense qu'il faut gérer les qatre critères de recherche simultanément dans la même fonction. Par ailleurs, penser que l'utilisateur peut aussi vouloir utiliser seulement un bout du nom ou du titre, etc.

  8. #8
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 967
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 967
    Par défaut
    Kak,
    Citation Envoyé par ilouma
    Bonjour tout le monde,
    j'ai réellement besoin de votre aide, je dois faire la gestion d'une bibliotheque
    et en ce qui concerne la recherche d'un livre elle doit etre multicritère, cad que je dois rechercher soit par code, par titre, par auteur ou par mot clé.
    ce que je vois c des fonctions séparées, mais ca va etre lourd,
    je preférerai intégrer tout ca dans une seule fonction,
    mais comme je suis débutant en pascal, je serai intéréssé par vos idées les amis
    merci d'avance
    Plusieurs fonctions + 1 qui orientera ver l'une ou l'autre sera beaucoup moins lourd qu'une seule grosse fonction, meilleur moyen de faire un truc ingérable à terme.

    D'autre part, il serait préférable de t'orienter vers une base de données plutôt que de faire tes propres fichiers avec ton format : cela assure une évolution beaucoup plus simple (car l'expérience montre qu'il y a toujours évolution de ce type de projet), et d'avoir des moyens de recherche dans la base très évolués.

  9. #9
    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
    C'est pour un cours ou pour un travail en entreprise (ou projet personnel) ?

    Si c'est pour un cours, le mieux c'est d'utiliser des record.

    Sinon plutôt des bases de données ou des fichiers XML (sachant qu'il faudra les parser...).

    Comme l'a dit Droggo, faire plusieurs fonctions de recherches interfacées par une seule fonction est moins lourd qu'en faire une seule grosse qui traite tout. Enfin ceci n'est pas vrai si tu utilises des bases de données vu que la seule chose qui changerais serait le nom du "champ" que tu passerais alors en paramètre (enfin si l'accès au BD en Pascal se fait comme en PHP ou en Java...).

Discussions similaires

  1. [MySQL] Afficher le resultat d'une recherche multicritére dans une autre page
    Par nash40 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 23/01/2013, 12h45
  2. plusieurs return dans une seule fonction?
    Par grodashe dans le forum Débuter
    Réponses: 4
    Dernier message: 01/01/2010, 17h09
  3. Réponses: 6
    Dernier message: 19/06/2009, 16h39
  4. allier onMouseOver, onMouseOut et onClick dans une seule fonction
    Par crypticcyco dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 16/09/2008, 13h39
  5. Render :update et Render :partial dans une seule fonction
    Par Ertai dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 03/08/2007, 18h40

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