[ DELPHI ] Probleme de date et d'heure

Probleme de date et d'heure [ DELPHI ] - Programmation

Marsh Posté le 13-05-2001 à 16:04:42    

Salutations
bon je dois me cogner un petit logiciel de gestion d'un magasi nde video cassettes mais en delphi heu chui une patate...
J'arrive a recuperer l'heure systeme et  la date
Je peux recuperer les dates d'emprunt dans la base de donnee
Mais comment je les compare?
il faut le nombre de jours d'emprunt etc...
je pensais convertir la date en string
tronquer en recuperant le numero de jour, du mois, de l'annee
puis comparer ca dans les 2 dates
mais il doit y avoir mieux et plus rapide non? :hello:


---------------
http://www.estcebienitil.blogspot.com
Reply

Marsh Posté le 13-05-2001 à 16:04:42   

Reply

Marsh Posté le 13-05-2001 à 16:10:36    

oui et il y a aussi le probleme du nombre de jours dans le mois, comment gerer ca? par exemple une location qui commence le 30 et il le rend le 2 mais est ce que ca fait 3 ou 4 jours ??? selon si le mois fait 30 ou 31... et pour le mois de fevrier...

 

[edit]--Message édité par le pape--[/edit]


---------------
http://www.estcebienitil.blogspot.com
Reply

Marsh Posté le 13-05-2001 à 16:44:29    

j'en ai maaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrrrrrrrrrrrrreeeeeeeeeeeeeeee de ce putain de projet !!!!!

Reply

Marsh Posté le 13-05-2001 à 16:47:05    

Les dates sont gerees en interne par des reels representant le nbre de jours a partir du 30/12/1899 (je crois)
Si tu utilises un TDateTime, les chiffres apres la virgule representent le temps ecoule.
Si tu utilises un TDate, les chiffres apres la virgule n'ont pas d'importance.
donc pour trouver le nbre de jour entre 2 dates, une simple soustraction marchera.

Code :
  1. var
  2.   d: TDateTime;
  3. begin
  4.   d :=  now;
  5.   // dans 3 jours on sera le ?
  6.   ShowMessage(FormatDateTime('mmm ddd yyyy', d + 3));
  7.   // le 14 juillet c'est quand?
  8.   ShowMessage(IntToStr(Trunc(StrToDate('07/14/2001') - d)));
  9. end;


attention a la gestion de la localisation: aux US, il me faut mettre StrToDate('07/14/2001') ... j'imagine que pour toi ca sera StrToDate('14/07/2001')  !

 

[edit]--Message édité par JWhy--[/edit]


---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Marsh Posté le 13-05-2001 à 16:54:14    

Reply

Marsh Posté le 13-05-2001 à 18:17:34    

Bah en fait c'est pas si compliqué le Pascal à la sauce Borland!
 
Par contre, le coup des réels, c'est bizarre, en système, c'est un entier (32 bits si je me souviens bien, d'où bug en 2038)

Reply

Marsh Posté le 14-05-2001 à 23:19:59    

Va voir sur www.developpez.com, j'ai déja utilisé y'a une super fonction qui manipule les dates avec une facilité ...
fait un copier-coller et ca marche !! :)
Bonne chance,
Marc, ki fait de la prog aussi :)


---------------
Aménager un camping car poids lourd dans un bus / car / camion  - Boinc pour faire bosser votre pc
Reply

Marsh Posté le 15-05-2001 à 08:38:21    

les dates, faut pas se prendre la tête. Les opérateurs de comparaisons sont surchargés pour comparer 2 dates entres-elles.
date->string : ch = DateToStr(composantdate);
 
un composant très pratique est le dateTimePicker (srote de petit calendrier qui gère tout, mois, années, etc...)
si t'as un BD à faire en en delphi, fait-la en Paradox. C'esrt très simple. Pour qu'une bd marche sur un pc où y'a pas delphi, faut faire un setup (via le soft livré avec delphi) et inclure le moteur de BD de delphi.

Reply

Marsh Posté le 15-05-2001 à 09:54:36    

ayé le projet est rendu, la migration de chez moi a la fac ne s'est pas faite sans mal, etonnant.
par contre si un jour il arrive que delphi vous dise qu'une base est inaccessible alors qu'elle existe vraiment, c pas la peine de se prendre la tete 3 h la dessus, fo gentilment rebooter et ca rentre dans l'ordre......... :pt1cable:  
 
en tout cas  
merci les gars!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed