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

WinDev Discussion :

Afficher dans une SAI des choix multipes d'un calendrier [WD17]


Sujet :

WinDev

  1. #1
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Points : 56
    Points
    56
    Par défaut Afficher dans une SAI des choix multipes d'un calendrier
    Bonjour,

    J'ai un calendrier spécifié choix multiple.
    Je n'arrive pas à cumuler et afficher les dates choisies de mon calendrier dans une SAI. J'aimerais qu'elle s'affiche sur plusieurs lignes ou à la suite les unes des autres.
    Genre "01/02/2014, 05/07/2014, ....."

    J'ai opté pour un code simple dans la section "Sélection d'un jour dans CAL_date_multi" qui est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Madatemulti est une chaîne
    I est un réel
     
    I = CalendrierSelectOccurrence(CAL_date_multi)
    Madatemulti+=CalendrierSelect(CAL_date_multi,I)
     
    SAI_datesmulti=Gauche(Madatemulti,Taille(Madatemulti))
    Auriez-vous une idée ?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    556
    Détails du profil
    Informations personnelles :
    Localisation : Laos

    Informations forums :
    Inscription : Mars 2003
    Messages : 556
    Points : 1 198
    Points
    1 198
    Par défaut
    Bonjour,

    je vais faire dans le minimalisme

    Citation Envoyé par franck34matlab Voir le message
    Bonjour,
    ...

    SAI_datesmulti=Gauche(Madatemulti,Taille(Madatemulti))
    ...

  3. #3
    R&B
    R&B est déconnecté
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2005
    Messages : 571
    Points : 1 263
    Points
    1 263
    Par défaut
    Ry_Yo m'a tuer

    Symptôme : Trop long à comprendre
    Traitement : Remplacer caféine par sommeil au plus tôt ou acheter des yeux

  4. #4
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Points : 56
    Points
    56
    Par défaut
    Heu je n'ai pas les dates affichées à la suite les unes des autres dans ma SAI... pas compris le message.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    556
    Détails du profil
    Informations personnelles :
    Localisation : Laos

    Informations forums :
    Inscription : Mars 2003
    Messages : 556
    Points : 1 198
    Points
    1 198
    Par défaut
    Vous avez mixé 2 approches différentes, ce qui donne pas le résultat voulu :
    - soit vous stocker tout dans une variable globale (et pas local) et dans ce cas vous ne mémoriser que la dernière date sélectionnée puis vous l'affectez à votre champ.
    - soit vous parcourez toutes les dates sélectionnées puis vous l'affectez à votre champ.

    A la lecture de votre code, vous avez optez pour la 1ère solution, donc vous avez un problème de portée de variable

    Dans celle que j'ai mis en rouge, il vous manque le parcours de parcours de votre calendrier voir aide : http://doc.pcsoft.fr/fr-FR/?10000172...lectOccurrence


    Donc à vous de choisir, portée de variable ou boucle sur les dates sélectionnées.

    PS : personnellement, j'opte pour la boucle parce que si l'utilisateur décoche une date... c'est plus compliqué à gérer avec la solution de la portée. La boucle est universelle dans tous les cas.

  6. #6
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Points : 56
    Points
    56
    Par défaut
    Merci j'opte pour la 2ème solution, j'avais mis ce code dans le bouton valider et ça ne fonctionnait pas.
    Dans la section "sélection d'un jour" ça marche mais uniquement en format texte. Ne fonctionne pas au format date !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Madatemulti est une chaîne
     
    // Parcours des dates sélectionnées dans le champ Calendrier
    POUR I = 1 _A_ CalendrierSelectOccurrence(CAL_date_multi)
     
    Trace(CalendrierSelect(CAL_date_multi, I))
     
    	Madatemulti+=CalendrierSelect(CAL_date_multi, I) + " "
     
    FIN
    SAI_datesmulti=Gauche(Madatemulti,Taille(Madatemulti))
    Ensuite je renvoie cette valeur (texte) dans une colonne d'une table, mais seule une date ressort.

    J'ai 2 nouveaux problèmes : un de format, un d'affichage dans une colonne.

  7. #7
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Points : 56
    Points
    56
    Par défaut
    Bon, j'ai passé dans mon analyse la référence de ma colonne en champ texte et plus date. Ca renvoie bien dans ma table les dates mais c'est pas beau... j'ai par exemple : "20140525 20140612"
    Quand je passe en format date le libellé, je n'ai plus qu'une date...

    Je vais tenter d'affiche un calendrier reprenant les dates sélectionnées.

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    556
    Détails du profil
    Informations personnelles :
    Localisation : Laos

    Informations forums :
    Inscription : Mars 2003
    Messages : 556
    Points : 1 198
    Points
    1 198
    Par défaut
    Citation Envoyé par franck34matlab Voir le message
    ...
    Quand je passe en format date le libellé, je n'ai plus qu'une date...
    Là c'est une question de rigueur informatique

    A votre avis si on défini une variable de type "date" l'ordinateur s'attend à recevoir quoi comme format ? AAAAMMJJ ou AAAAMMJJZADggezaehafFAAGAGazg ?

    Donc pour l'ordinateur est-ce que cette date existe : "20140525 20140612" ?

    Et voici l'aide concernant le format d'une date en chaine :
    http://doc.pcsoft.fr/fr-FR/?3027025&name=DateVersChaine

  9. #9
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Points : 56
    Points
    56
    Par défaut
    Bon bhen nikel ça marche. Merci à vous !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Madatemulti+=DateVersChaîne(CalendrierSelect(CAL_date_multi, I)) + ", "

  10. #10
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Points : 56
    Points
    56
    Par défaut
    Re bonjour,

    J'aimerais maintenant faire l'inverse. C'est-à-dire pouvoir resélectionner les dates que j'avais choisi auparavant dans mon calendrier, car quand je reviens sur mon calendrier plus rien n'est sélectionné.

    J'ai pour cela utilisé chaine vers date, mais je me retrouve avec par exemple ceci : "20140802, 20140803, 20140804"

    Pour imputer ces dates dans le calendrier je ne trouve pas le code pour séparer ces dates multiples et les imputer dans mon calendrier via une boucle par exemple.
    Mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	sMultidates est une chaîne = FEN_MENU.SAI_datemultichoisies..Valeur
     
    	SousChaîne est une chaîne = ExtraitChaîne(sMultidates, rangPremier, ", ")
     
    	TANTQUE SousChaîne <> EOT
    		Info(SousChaîne) 
    		SousChaîne = ExtraitChaîne(sMultidates, rangSuivant, ", ")
    		CalendrierSelectPlus(FEN_Fiche_AstroImagesLibrary.SC_Fiche.ONG_detail_imaging.CAL_date_multi,SousChaîne)
    	FIN

  11. #11
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Points : 56
    Points
    56
    Par défaut
    J'ai testé avec ce code là aussi : la première date est parfaitement sélectionnée mais les suivantes ne sont plus des dates mais un caractère tout bizarre ! Du coup je n'ai que la première date de sélectionnée.

    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
    21
    22
    sMultidates est une chaîne = FEN_MENU.SAI_datemultichoisies..Valeur
    	Info("dates sous forme de chaine : " + sMultidates)
     
    	sDatessélectionnées est une chaîne = ChaîneVersDate(sMultidates)
     
    //nombre de dates sélectionnées : limite de la boucle
    	occ est un entier = FEN_MENU.SAI_occurences_datesmulti..Valeur
     
            K est une chaîne //dates sorties de la chaine
    	J est un entier //indice de la boucle
     
    	POUR J = 1 _A_ occ
     
    		K = ExtraitChaîne(sDatessélectionnées, J, " ")
    		Info("Date n° " + J +" extraite = " + K)
     
    		//CalendrierSelectPlus(FEN_Fiche_AstroImagesLibrary.SC_Fiche.ONG_detail_imaging.CAL_date_multi,K)
    		testdate+=Gauche(K,Taille(K))
     
     
     
    	FIN

  12. #12
    Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Novembre 2012
    Messages
    166
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Novembre 2012
    Messages : 166
    Points : 56
    Points
    56
    Par défaut
    C'est bon j'ai trouvé : par exemple pour 2 dates sélectionnées dans mon calendrier :

    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
    	sMultidates est une chaîne = FEN_MENU.SAI_datemultichoisies..Valeur
    	Info("dates sous forme de chaine : " + sMultidates)
    	rAbc est un réel
    	sDatesélectionnée est une chaîne
    	dChainessélectionnée est une Date
     
     
    	POUR nAbc = 1 _A_ 2
    		//info(ExtraitChaîne(sMultidates, nAbc," "))
    		sDatesélectionnée = ExtraitChaîne(sMultidates, nAbc," ")
    		Info(sDatesélectionnée)
    		dChainessélectionnée=ChaîneVersDate(sDatesélectionnée)
     
    		CalendrierSelectPlus(FEN_Fiche_AstroImagesLibrary.SC_Fiche.ONG_detail_imaging.CAL_date_multi,dChainessélectionnée)
    	FIN

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/05/2007, 11h01
  2. Insérer des images dans une liste de choix ?
    Par Strix dans le forum Balisage (X)HTML et validation W3C
    Réponses: 13
    Dernier message: 04/05/2007, 12h48
  3. Réponses: 1
    Dernier message: 19/01/2007, 11h19
  4. Réponses: 3
    Dernier message: 16/05/2006, 14h47
  5. Comment afficher dans une combobox les driver des imprimante
    Par lassad dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/10/2005, 08h56

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