Вот те модуль внем все есть
DateLib.h
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.
// ---------------------------------------------------------------------------
#ifndef DateLibH
#define DateLibH
#include <system.hpp>
#include <Classes.hpp>
// ---------------------------------------------------------------------------
typedef struct{ char* Name[ 6 ];}TMonthName;
// 0 -(Именительный-кто?что?), 1 -(Родительный-кого?чего?), 2 -(Дательный-кому?чему?), 3 -(Винительнвй-кого?что?), 4 -(Творительный-кем?чем?), 5 -(Предложный-о ком?о чем?)
const TMonthName MonthName[ 12 ]={ "Январь" , "Января" , "Янарю" , "Январь" , "Январем" , "Январе" ,
"Февраль" , "Февраля" , "Февралю" , "Февраль" , "Февралём" , "Феврале" ,
"Март" , "Марта" , "Марту" , "Март" , "Мартом" , "Марте" ,
"Апрель" , "Апреля" , "Апрелю" , "Апрель" , "Апрелем" , "Апреле" ,
"Май" , "Мая" , "Маю" , "Май" , "Маем" , "Мае" ,
"Июнь" , "Июня" , "Июню" , "Июнь" , "Июнем" , "Июне" ,
"Июль" , "Июля" , "Июлю" , "Июль" , "Июлем" , "Июле" ,
"Август" , "Августа" , "Августу" , "Август" , "Августом" , "Августе" ,
"Сентябрь" , "Сентября" , "Сентябрю" , "Сентябрь" , "Сентябрем" , "Сентябре" ,
"Октябрь" , "Октября" , "Октябрю" , "Октябрь" , "Октябрем" , "Октябре" ,
"Ноябрь" , "Ноября" , "Ноябрю" , "Ноябрь" , "Ноябрем" , "Ноябре" ,
"Декабрь" , "Декабря" , "Декабрю" , "Декабрь" , "Декабрем" , "Декабре"
};
typedef struct{ char* Name[ 6 ];}TWeekName;
const TWeekName WeekDayName[ 7 ]={ "Понедельник" , "Понедельника" , "Понедельнику" , "Понедельник" , "Понедельником" , "Понедельнике" ,
"Вторник" , "Вторника" , "Вторнику" , "Вторник" , "Вторником" , "Вторнике" ,
"Среда" , "Среды" , "Среде" , "Среду" , "Средой" , "Среде" ,
"Четверг" , "Четверга" , "Четвергу" , "Четверг" , "Четвергом" , "Четверге" ,
"Пятница" , "Пятницы" , "Пятнице" , "Пятницу" , "Пятницей" , "Пятнице" ,
"Суббота" , "Субботы" , "Субботе" , "Субботу" , "Субботой" , "Субботе" ,
"Воскресенье" , "Воскресенья" , "Воскресенью" , "Воскресенье" , "Воскресеньем" , "Воскресенье"
};
// ---------------------------------------------------------------------------
AnsiString GetMonthName(TDateTime aDate,int pad);
int MonthNo(TDateTime aDate);
int DayInMonth(TDateTime aDate);
int DayOfWeek(TDateTime aDate);
AnsiString NameOfDayOfWeek(TDateTime aDate,int pad);
void GetMonthNameList(TStringList *MonthList);
// ---------------------------------------------------------------------------
#endif
DateLib.c
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. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75.
// ---------------------------------------------------------------------------
#pragma hdrstop
#include "DateLib.h"
// ---------------------------------------------------------------------------
#pragma package(smart_init)
// ---------------------------------------------------------------------------
AnsiString GetMonthName(TDateTime aDate,int pad){
unsigned short year;
unsigned short month;
unsigned short day;
aDate.DecodeDate(&year,&month,&day);
return MonthName[month- 1 ].Name[pad- 1 ];
};
// ---------------------------------------------------------------------------
int MonthNo(TDateTime aDate){
unsigned short year;
unsigned short month;
unsigned short day;
aDate.DecodeDate(&year,&month,&day);
return month;
};
// ---------------------------------------------------------------------------
int DayInMonth(TDateTime aDate){
unsigned short year;
unsigned short month;
unsigned short day;
aDate.DecodeDate(&year,&month,&day);
month++;
if(month> 12 ){
month= 1 ;
year++;
};
TDateTime dt(year,month,day);
dt=dt- 1 ;
dt.DecodeDate(&year,&month,&day);
return day;
};
// ---------------------------------------------------------------------------
int DayOfWeek(TDateTime aDate){
int dow=Sysutils::DayOfWeek(aDate)- 1 ;
if(dow== 0 )dow= 7 ;
return dow;
};
// ---------------------------------------------------------------------------
AnsiString NameOfDayOfWeek(TDateTime aDate,int pad){
return WeekDayName[Sysutils::DayOfWeek(aDate)- 1 ].Name[pad- 1 ];
};
// ---------------------------------------------------------------------------
void GetMonthNameList(TStringList *MonthList){
if(!MonthList){MonthList=new TStringList();};
for(int i= 0 ;i<= 11 ;i++){
MonthList->Add(MonthName.Name[ 0 ]);
};
};
// [i]---------------------------------------------------------------------------
void GetWeekNameList(TStringList *WeekList){
if(!WeekList){WeekList=new TStringList();};
for(int i= 0 ;i<= 6 ;i++){
WeekList->Add(WeekDayName[i].Name[ 0 ]);
};
};
//---------------------------------------------------------------------------
|