1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
//déclaration des jours et mois
char jours[7][10] = {"Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi" };
char mois[12][10] = {"Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Aout", "Septembre", "Octobre", "Novembre", "Décembre"};
int Mois;
AnsiString CJour,CMois,CAnnee,CDate;
//décriptage de la date
TDateTime dtDate = Now();
CDate = dtDate.CurrentDateTime();
CJour = CDate.SubString(1,CDate.Pos('/')-1);
CDate.Delete(1,CDate.Pos('/'));
CMois = CDate.SubString(1,CDate.Pos('/')-1);
CDate.Delete(1,CDate.Pos('/'));
CAnnee = CDate.SubString(1,CDate.Pos(' ')-1);
//recherche du premier jour de l'année
int PremierJour = 0;
while(CCalendar1->CellText[PremierJour][1] != "1")
{
PremierJour++;
}
if(PremierJour == 6) PremierJour++; //adaptation lundi->dimanche
Mois = StrToInt(CMois);
CJour = jours[dtDate.DayOfWeek() - 1] + AnsiString(" ") + CJour;
CMois = mois[Mois];
//Affichage de la date
Label1->Caption = CJour + " " + CMois + " " + CAnnee;
//déclaration du calendrier
TStringGrid *GridMois[12];
int j=PremierJour-1,
k;
for(k=0;k<12;k++)
{
GridMois[k] = new TStringGrid(this);
GridMois[k]->Parent = Form1;
GridMois[k]->Top = 30;
GridMois[k]->Left = k*(Screen->Width/12);
GridMois[k]->ColCount = 2;
GridMois[k]->Height = 15*32 + 1.1*32.0;
if(k == 0 || k == 2 || k == 4 || k == 6 || k == 7 || k == 9 || k == 11)
GridMois[k]->RowCount = 32;
else if(k == 1)
if(StrToInt(CAnnee)%4 == 0) GridMois[k]->RowCount = 30;
else GridMois[k]->RowCount = 29;
else
GridMois[k]->RowCount = 31;
for(int i=0;i<GridMois[k]->RowCount;i++)
{
GridMois[k]->RowHeights[i] = 15;
if(i!=0) GridMois[k]->Cells[0][i] = AnsiString(jours[j][0]) + " " + IntToStr(i);
if(j++>5)j=0;
}
j--;
GridMois[k]->Width = Screen->Width/12;
GridMois[k]->ColWidths[0] = 30;
GridMois[k]->ColWidths[1] = GridMois[k]->Width - 30 -6;
} |
Partager