PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 2025 → Changer couleur texte d'un champs si la date est dépassée
Changer couleur texte d'un champs si la date est dépassée
Iniciado por bob06800, 08,dic. 2019 12:41 - 10 respuestas
Miembro registrado
55 mensajes
Publicado el 08,diciembre 2019 - 12:41
Bonjour,
J'aimerais solliciter votre aide car je bloque sur un truc qui à l'air tout simple, mais que je n'arrive pas à faire....
(Je possède WinDev 24)

J'ai un Champs date (SAI_DateFin), j'aimerai que quand on sélectionne une date inférieure à celle du jour, cette date s'affiche en vert, et si elle est supérieur à la date du jour, qu'elle s'affiche en rouge.

Voici ce que j'ai rentré dans initialisation de SAI_DateFin:

SI SAI_DateFin > DateSys() ALORS
SAI_DateFin..Couleur = RougeClair
SINON
SAI_DateFin..Couleur = VertClair
FIN

Le problème est que quand je choisi une date, celle-ci s'affiche tout le temps en vert du coup...

Merci d'avance pour votre aide
Miembro registrado
4.361 mensajes
Publicado el 08,diciembre 2019 - 13:00
Bonjour,
Essaye de voir du côté de DateDifférence ou de DateVersEntier

--
Il y a peut être plus simple, mais, ça tourne
Miembro registrado
166 mensajes
Publicado el 08,diciembre 2019 - 13:38
Bonjour;
Change l'endroit de ton code.
met le dans à chaque modification de SAI_DateFin
Bon Dev.
Miembro registrado
55 mensajes
Publicado el 08,diciembre 2019 - 14:30
Merci beaucoup Fouedusa, c'était si bête que ça....

Merci encore
Miembro registrado
55 mensajes
Publicado el 08,diciembre 2019 - 14:44
Par contre ca marche très bien quand on saisit la date, mais une fois enregistré dans la base de donnée, et qu'on fait appel à cette date, elle ne s'affiche plus en rouge. Une idée?
Merci bien
Miembro registrado
166 mensajes
Publicado el 08,diciembre 2019 - 15:07
Dans ce cas à l’initialisation avec le même code mais avec la rubrique du fichier.
SI MonFichier.DateFin > DateSys() ALORS
SAI_DateFin..Couleur = RougeClair
SINON
SAI_DateFin..Couleur = VertClair
FIN


Bon Dev
Miembro registrado
55 mensajes
Publicado el 08,diciembre 2019 - 15:25
J'ai essayé, mais du coup quand j'appel cette date, elle reste toujours en vert :s
Dans ma base, le fichier DateFin est bien en type Date (aaaammjj)
Peux être faut t'il lui donner un autre format pour qu'il puisse comparer avec DateSys() non?
Miembro registrado
166 mensajes
Publicado el 08,diciembre 2019 - 18:16
initialisation de la fenêtre
Publicado el 09,diciembre 2019 - 09:40
Bonjour,
peut-être avec ce code en Sortie de SAI_DateFin

SAI_DateFin..Couleur = CouleurDefaut
SI MonFichier.DateFin > DateSys() ALORS
SAI_DateFin..Couleur = RougeClair
SINON
SI MonFichier.DateFin < DateSys() ALORS
SAI_DateFin..Couleur = VertClair
FIN
FIN

Cordialement
Miembro registrado
1.640 mensajes
Publicado el 09,diciembre 2019 - 15:12
Sinon, en windev il existe un outil qui s'appelle EyeMagnet qui est fait pour faire ce genre de choses.
On le trouve dans l'onglet IHM de la description du champ :





IL n'y a rien a coder, l'appli gérera d'elle même le format conditionnel. (un peu comme sur Excel)
Miembro registrado
55 mensajes
Publicado el 09,diciembre 2019 - 18:16
E. Rossi, non ça ne marche pas non plus malheureusement :s

François C. , oui effectivement j'y avait pensé, mais comment rentrer la condition: est supérieur à la date du jour? il ne comprend pas le datesys() quand on rentre ça dans condition :s