Déclarer un type date [Résolu]

Signaler
Messages postés
46
Date d'inscription
lundi 4 avril 2005
Statut
Membre
Dernière intervention
25 septembre 2007
-
Messages postés
16
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
15 juin 2005
-
BONJOUR,


je suis en train de faire une application qui manipule des redez-vous.Pour cela j'ai utiliser une StringGrid.


Ce que je veut faire c'est de remplir les cellules de la premiere colonne par les Heures.la premiére cellule porte 8:00


et la derniére 18:40 avec une différence de 20 minute entre 2 rendez-vous.


donc il faut declarer 2 variables


Date_init:initialisé parla valeur'7:45'


Date_inter:la duré intervalle entre 2 rendez-vous'0:20'


puis tapez le code suivant:


with grille do


begin


for i:=0 to 33 do


begin


Date_init:=Date_init+Date_inter;


cells[0,j]:=dattostr(Date_init);


end;


end;


Mon probléme c'est je ne sait pas déclarer mes 2 variables que j'ai mentionner en haut.


en plus je ne sait pas est ce que l'idée est correcte ou non.


SVP conceillez mois.


MERCI d'avance.

Hejer

10 réponses

Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
12
salut

il faut declarer

Date_init : TdateTime;

mais si tu veux afficher de heures/ minute /seconde la fonction

datetostr(Date_init); ne convient pas il faut utiliser la fonction :

timetostr(Date_init); sinon tu obtiens une date et non une heure

enfin plutot que de faire

Date_init:=Date_init+Date_inter;

utilise plutot la fonction

IncMinute(Date_init,Date_inter)

bonne prog
Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
12
salut

je suis desole mais l'aide donne bien un TdateTime en deuxieme parametre

d'autre part on peut utiliser un FormatSettings en troisieme parametre ce qui revient au meme que d'uiliser FormatDateTime

bonne prog
Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
12
c'est encore moi

pour FormatSettings c'est en 2° parametre timetostr et non en 3°

petite faute de frappe

excusez moi encore
Messages postés
16
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
15 juin 2005

bon je répond d'abord à hajer....

1. évidemment c'est pas un problème du tout c'est juste parceque len100 avait écrit IncMinute(Date_init,Date_inter) ce qui est faux, le bon exemple aurait été

IncMinute(Date_init,20) ou IncMinute(Date_init,intervalle) où intervalle est un integer
mais je vous l'accorde que ce n'est pas trop grave c'était juste pour etre précis...

2. pour le formadatetime ...
function FormatDateTime(const Format:string;DateTime:TDateTime):string;overload;
où tu indique le format que tu veux donner à ta date/heure ... si tu vas dans l'aide de delphi tu as une description exhaustive... tu peux faire des trucs du style "mardi 14/06/2005 à 15h00" ...
perso je n'utilises que ca ....

lolo
Messages postés
1606
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
12
salut loicbrenard,

les fonctions formatsetting et formatdatetime on le même effet sauf qu'avec formatsetting

que ne tu le faits qu'une fois et qu'ainsi tu es sur d'avoir le même resultat chaque fois que tu appelles timetostr
Messages postés
16
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
15 juin 2005

tu devrais plutot utiliser FormatDateTime... tu as beaucoup plus de possibilités ...

pour le incminute je suis d'accord sauf que le 2ème paramètre est un integer et pas un TDateTime

bon ben
Messages postés
16
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
15 juin 2005

ben zut la fin de mon message a été sauvagement tronquée...

je voulais juste dire

bon ben bon courrage


lolo
Messages postés
46
Date d'inscription
lundi 4 avril 2005
Statut
Membre
Dernière intervention
25 septembre 2007

Salut,
je veut remercier Jlen100 ça marche parfaitement.
Pour loicbernard je ne trouve pas un pb que le 2ème paramètre est un integer ,alors que je n'ai pas compris ce que tu veut dire "tu devrais plutot utiliser FormatDateTime... tu as beaucoup plus de possibilités ... "
expliquez SVP.
Hajer
Messages postés
16
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
15 juin 2005

voilà maintenant je répond à jlen100


1. voici l'ai de delphi 7 pour incminute


functionIncMinute(constAValue:TDateTime;constANumberOfMinutes:Int64 =1):TDateTime;
Description
IncMinute renvoie la valeur du paramètre AValue,augmentée de ANumberOfMinutes minutes.ANumberOfMinutes peut être négatif,pour renvoyer une valeur date/heure antérieure de N minutes àAValue.

2. Connaissais pas formatsetting mais formatdatetime me convient très bien ... de gustibus et coloribus non dispuntandur ;-)
Messages postés
16
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
15 juin 2005

merci du renseignement mais je n'ai pas forcément besoin d'afficher mes datetimes toujours avec le meme format. quoiqu'il en soit merci de l'explication

lolo