Programmation delphi [Résolu]

Messages postés
3
Date d'inscription
mercredi 11 avril 2012
Statut
Membre
Dernière intervention
22 mai 2012
- - Dernière réponse : cs_walidlam
Messages postés
111
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
29 avril 2013
- 13 mai 2012 à 19:22
j'ai une base de donnee paradox, j'ai deux date date B.C et date ech je veux une requette sous delphi 7 où quanq je saisie la date B.C l'autre date monte d'un mois exp: date B.C:= 01/01/2011 sera date ech := 01/02/2011 automatique ; fatima
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
111
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
29 avril 2013
1
3
Merci
salut
1- mettez cette fonction
function  mois(const a:tdate):tdatetime;
var  LYear,Lmonth, LDay: Word;
begin
decodedate(a,Lyear,lmonth,lday);
if (Lmonth = 12) then
result:=EncodeDate(LYear+1,1, LDay) else
result:=EncodeDate(LYear,Lmonth+1, LDay);end;

A avec dbedit {evenement onexit}
[code=pas]procedure TForm.DBEdit1Exit(Sender: TObject);
begin
if latable.State in[dsinsert,dsedit] then 
laTableDateech.AsDateTime:=mois(laTabledateB_C.AsDateTime) 
end;
/code
b avec DateTimePicker {evenement onchange}
procedure TForm.DateTimePickerChange(Sender: TObject);
begin
if latable.State in[dsinsert,dsedit] then
begin
laTabledateB_C.AsDateTime:=DateTimePicker.date;
laTableDateech.AsDateTime:=mois(DateTimePicker.date);
 end ;
end;

et voila!!
{si ca marche click sur bonne repense @+}

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 138 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_walidlam
Messages postés
4307
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
25
3
Merci
non la première fonction est fausse car Month+1 = 13 si month = 12

Il suffit de déclarer DateUtils dans les Uses et d'utiliser IncMonth(Date,1);


________________________________________________________

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 138 internautes nous ont dit merci ce mois-ci

Commenter la réponse de f0xi
Messages postés
111
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
29 avril 2013
1
3
Merci
salut
c'est pas fausse mon ami!!!!!!
if (Lmonth = 12) then
result:= EncodeDate(LYear+1,1, LDay) else
result: =EncodeDate(LYear,Lmonth+1, LDay);end;
si month =12 alors
month=1
sinon
month:=month+1
@+ foxi

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 138 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_walidlam
Messages postés
4307
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
25
3
Merci
Houla oui j'avais pas vus la condition, je devais être dans la lune.

Mais il n'empèche qu'il est plus pratique d'utiliser IncMonth ;) ça evite tout un fatra de bidule (qui certes ne sont pas inintéréssant à savoir quand dans un langage il n'existe pas de fonction IncMonth, IncDay ou IncYear).

________________________________________________________

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 138 internautes nous ont dit merci ce mois-ci

Commenter la réponse de f0xi
Messages postés
111
Date d'inscription
lundi 30 mai 2011
Statut
Membre
Dernière intervention
29 avril 2013
1
0
Merci
salut!!
oui avec DateUtils c est facile ;mais l objectif c est d aider les gents a faire leurs procedures et fonctions aussi pas seulement resoudre les problemes et merci
@+
Commenter la réponse de cs_walidlam