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

 Delphi Discussion :

Problème conditions d'affichage en Delphi


Sujet :

Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Assistant ingénieur en ressources documentaires
    Inscrit en
    Novembre 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Assistant ingénieur en ressources documentaires
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 22
    Points : 18
    Points
    18
    Par défaut Problème conditions d'affichage en Delphi
    Bonjour,

    Précision préliminaire importante : je ne suis pas développeur mais documentaliste, merci donc pour votre indulgence et vos conseils…
    Un outil de publication intégré à notre SIGB (basé sur une vieille version de Fastrapport*) a une fonctionnalité avancée pour ajouter une couche de "programmation évènementielle type Delphi Pascal" - dixit la mini page d'aide du bidule en question. Mes recherches actuelles :

    - Je dois imprimer des listes de documents d'après des conditions prises dans différents champs.

    En me basant sur des modèles et des tutos en ligne, j'utilise la procédure 'OnBeforePrint' pour masquer / afficher des blocs de données avec des scripts 'visible:=false / true;'

    Dans le fichier joint Exemple_bandes, la bande Maître se rapporte à UN document, la bande détail1 à UN emprunteur, mais la bande détail2 à une LISTE de plusieurs exemplaire rattaché à ce document.

    Dans les deux premières bandes, mes conditions d'affichage fonctionnement sans soucis. J'ai un problème que je ne peux résoudre sur la bande détail2. Je souhaiterais en effet conditionner un ' DonneesMaitre1.visible:=false;' à des données issues de la Bande détail2 : dans l'exemple_script, je voudrais que la ligne surlignée s'applique à la bande Maître (elle ne s'applique ici qu'à une ligne de la liste d'exemplaires).
    Je ne sais pas si tout cela est clair, et encore moins si c'est faisable…

    Merci d'avance !!!

    *Désolé pour le double postage, dans la mesure où j'ignore si ce prble pourrait se régler soit via des fonctionnalités de Fastrapport soit en programmation pure, en l'absence de réponse ici je tente ma chance là….
    Images attachées Images attachées   

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    Oui, le langage est du pseudo Pascal/Delphi mais Non vous ne pourrez pas faire de cette manière car une fois imprimé vous ne pouvez revenir en arrière

    La piste de travail que je vous propose est de traiter ce problème en amont c'est à dire sur les données de Maitre1 ,
    bien évidemment il faut pour cela que les données proviennent d'un requête SQL ce qui est très difficile de vous fournir sans la structure des tables, le SGBD etc...

    Quelque chose comme ceci pour donnéesMaitre:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT NOTICES.* FROM NOTICES JOIN EXEMPLAIRES ON NOTICES.ID=EXEMPLAIRES.ID  AND EXEMPLAIRES.EMPLACEMENT<>'Arras' OR (EXEMPLAIRES.EMPLACEMENT='Arras' AND EXEMPLAIRES.SITUATION<>'Disponible')
    vous permettrait de ne pas imprimer les notices ou il y a un exemplaire disponible à Arras

    Vous pourriez d'ailleurs traiter de la même manière la plupart de vos conditions et ainsi alléger grandement le script de l'état
    Quelque chose comme ceci pour donnéesDetail2
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM RESERVATIONS WHERE NOT EMPLACEMENT IN ('Calais','Gravelines','Valencienne)
    Réduirai(enlèverai) votre test onBeforePint sous la partie surlignée (premier if sur les emplacements) etc ....

    Maintenant
    • Quel est votre S.I.G.B. si vous ne connaissez pas le SGBD utilisé par ce dernier par recherche on pourrait peut être le déduire?
    • est-ce que vous avez la possibilité d'utiliser des requêtes plutôt que ce qui semble des tables ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Membre à l'essai
    Homme Profil pro
    Assistant ingénieur en ressources documentaires
    Inscrit en
    Novembre 2014
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Assistant ingénieur en ressources documentaires
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    Bonsoir,

    Merci pour la réponse, je me doutais un peu de qq chose dans ce genre...

    Concernant la requête SQL : hélas je me pose ces questions dans le cadre d'une migration d'un SIGB Flora avec SGBD Oracle vers un logiciel bcp plus ligth, BCDI : donc plus de SQL à disposition (sob, sob...), et l'interface de recherche du SIGB n'est pas assez efficace en multi-tables pour ce style de besoin. Mes tables sont sur un format propriétaire en XML.

    Je ne pense donc pas que ce je souhaitais faire soit jouable. Mais bon, j'arrive à améliorer un peu les exports avec qq bidouilles à ma portée via Fastreport et un zest de Pascal : c'est déjà ça...

Discussions similaires

  1. [Débutant] Problème de condition à l'affichage
    Par chipster45 dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 09/06/2008, 09h26
  2. Problème liste d'affichage
    Par nicolas66 dans le forum OpenGL
    Réponses: 6
    Dernier message: 06/12/2004, 10h10
  3. Problème de mémoire Affichage images
    Par Repti dans le forum C++Builder
    Réponses: 6
    Dernier message: 29/03/2004, 20h06
  4. Réponses: 11
    Dernier message: 16/12/2003, 19h58
  5. Problème a l'affichage dans la console (printf)
    Par PhoneKilleR dans le forum C
    Réponses: 21
    Dernier message: 23/09/2003, 17h21

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