Re: Format d'une date dans un combo

Posté par drcharly93 le 10/7/2007 12:54:00
Bonjour,

Quel est le format de stockage dans la base et de quelle base de données s'agit-il ?
Apparement il ne s'agit pas de format date natif à WinDev qui Idée
Créer une procédure qui va transformer la date passée en paramètre en DateHeure manipulable par WinDev et optionnellement un variable qui contiendra la valeur a afficher dans la combo.

Pour la procédure
//proAfficheDateHeure (<pValue_in> est chaîne, <pDateHeure_out> est dateheure [, <pPourAffichage_out> est chaîne])
//
// Paramètres :
//	pValue_in (chaîne) : Date sous la forme JJMMAAHHMMSS,JJ-MM-AA HH:MM:SS, JJ/MM/AA HH:MM:SS, JJ?MM?AA?HH?MM?SS?,etc...
//	pDateHeure_out (dateheure) : variable de retour contenant la transformation en DateHeure
//	pPourAffichage_out (chaîne - valeur par défaut="") : idem mais pour affichage
PROCEDURE proAfficheDateHeure(LOCAL pValue_in est une chaîne, pDateHeure_out est une DateHeure, pPourAffichage_out est une chaîne = "" )

//On enlève tous les espaces
pValue_in = Remplace( pValue_in, " ", "" )
//On enlève tous les caractères de séparation
pValue_in = Remplace( pValue_in, "-", "" )
pValue_in = Remplace( pValue_in, ":", "" )
//On renseigne une variable de type DateHeure natif à WinDev
pDateHeure_out = ChaîneVersDate( pValue_in[[ A 4]] + "20" + pValue_in[[5 A 6]], "JJMMAAAA") + pValue_in[[ 7 A ]]
//On formate pour l'affichage
pPourAffichage_out = DateVersChaîne( pDateHeure_out..PartieDate, "JJ/MM/AAAA" ) + " " + HeureVersChaîne(pDateHeure_out..PartieHeure, "HH:MM:SS" )

Pour remplir votre combo il vous suffira d'utiliser comme exemple la syntaxe suivante:
dDateHeure est une DateHeure
sDateHeure est une chaîne

proAfficheDateHeure( "12-06-07 12:10:00", dDateHeure, sDateHeure)
ListeAjoute(Combo1, sDateHeure + gLien(dDateHeure) )
proAfficheDateHeure( "13-06-07 13:10:00", dDateHeure, sDateHeure)
ListeAjoute(Combo1, sDateHeure + gLien( dDateHeure ) )
proAfficheDateHeure( "14-06-07 12:11:00", dDateHeure, sDateHeure)
ListeAjoute(Combo1, sDateHeure + gLien( dDateHeure ) )
ListeSelectPlus(Combo1,1)

a Adapter à vos besoins

Pour récupérer une valeur de type DateHeure manipulable directement par WinDev
Exemple de code mit dans le bloc 'Sélection d'une ligne dans combo1'
Info(Combo1)

la valeur retournée par la combo sera alors au format DateHeure du style AAAAMMJJHHMMSSMMM

IMPOORTANT
Dans mon exemple la combo doit retourner la valeur du lien a activer dans l'onglet détail de la fenêtre description de 'Combo1' <gLien>

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=18&topic_id=5259&post_id=21767