Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069

Тренажер работы с датой и временем

21.10.2011, 16:48. Показов 4063. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый день! Вот от сюда взял код проекта по работе с датой и временем.
Создал новый проект и мне выдало аж 25 ошибок, я их немного изучил и понял что механических ошибок там нет, возможно что то надо за инклудить или глобально объявить очем автор листинга умолчал...
Решим проблему думаю такой исходник пригодится многим.
Код проекта:
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMainForm *MainForm;
//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
    : TForm(Owner)
{
  DateFormat = "dd.mm.yy ";
  TimeFormat = "hh:nn";
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::OkButtonClick(TObject *Sender)
{
  TDateTime DateTime = TDateTime::CurrentDateTime();
 
      CurrenDatetTimeLabel->Caption = DateTime.DateTimeString();
      CurrentDateLabel->Caption = DateTime.DateString();
      CurrentTimeLabel->Caption = DateTime.TimeString();
 
      int DayOfWeek = DateTime.DayOfWeek();
      switch(DayOfWeek)
         {
            case 1:
               DayOfWeekLabel->Caption = "сейчас воскресенье, " + AnsiString(DateTime);
            break;
            case 2:
               DayOfWeekLabel->Caption = "сейчас понедельник, " + AnsiString(DateTime);
            break;
            case 3:
               DayOfWeekLabel->Caption = "сейчас вторник, " + AnsiString(DateTime);
            break;
            case 4:
               DayOfWeekLabel->Caption = "сейчас среда, " + AnsiString(DateTime);
            break;
            case 5:
               DayOfWeekLabel->Caption = "сейчас четверг, " + AnsiString(DateTime);
            break;
            case 6:
               DayOfWeekLabel->Caption = "сейчас пятница, " + AnsiString(DateTime);
            break;
            case 7:
               DayOfWeekLabel->Caption = "сейчас суббота, " + AnsiString(DateTime);
            break;
         }
 
      DateTime = TDateTime::FileDateToDateTime(FileAge(Application->ExeName));
      FileDatetTimeLabel->Caption = "дата и время файла: " + DateTime.DateTimeString();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ExitButtonClick(TObject *Sender)
{
   Application->Terminate();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::DateDifferenceClick(TObject *Sender)
{
   TCursor OldCursor = Screen->Cursor;
      Screen->Cursor = crHourGlass;
 
      TDateTime StartDateTime = TDateTime::CurrentDateTime();
 
      for(int i = 0; i < 500000; i++)
         {
            TDateTime(TDateTime::CurrentDateTime().DateTimeString());
            Application->ProcessMessages();
         }
 
      TDateTime EndDateTime = TDateTime::CurrentDateTime();
 
      Screen->Cursor = OldCursor;
 
      DateDifferenceLabel->Caption = (EndDateTime - StartDateTime).TimeString();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::IncrementDateButtonClick(TObject *Sender)
{
      static TDateTime DateTime = TDateTime::CurrentDateTime();
      IncrementDateLabel->Caption = (DateTime++).DateTimeString();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::DateAdditionButtonClick(TObject *Sender)
{
   static TDateTime DateTime = TDateTime::CurrentDateTime();
      DateAdditionLabel->Caption =(DateTime += 1.125).DateTimeString();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::TimerTimer(TObject *Sender)
{
    FormatDateTimeLabel->Caption = TDateTime::CurrentDateTime().
        FormatString(DateFormat + TimeFormat);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FullDateCheckBoxClick(TObject *Sender)
{
  if(FullDateCheckBox->Checked)
         DateFormat = "dddddd ";
      else
         DateFormat = "ddddd ";
 
      FormatDateTimeLabel->Caption = TDateTime::CurrentDateTime().
        FormatString(DateFormat + TimeFormat);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FullTimeCheckBoxClick(TObject *Sender)
{
  if(FullTimeCheckBox->Checked)
         TimeFormat = "hh:nn:ss";
      else
         TimeFormat = "hh:nn";
 
      FormatDateTimeLabel->Caption = TDateTime::CurrentDateTime().
        FormatString(DateFormat + TimeFormat);
}
//---------------------------------------------------------------------------
Ошибки причем одинаковые:
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
[BCC32 Error] Unit1.cpp(15): E2451 Undefined symbol 'DateFormat'
  Full parser context
    Unit1.cpp(13): parsing:  _fastcall TMainForm::TMainForm(TComponent *)
[BCC32 Error] Unit1.cpp(16): E2451 Undefined symbol 'TimeFormat'
  Full parser context
    Unit1.cpp(13): parsing:  _fastcall TMainForm::TMainForm(TComponent *)
[BCC32 Error] Unit1.cpp(31): E2015 Ambiguity between '_fastcall System::AnsiStringT<0>::AnsiStringT(int) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:415' and '_fastcall System::AnsiStringT<0>::AnsiStringT(double) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:422'
  Full parser context
    Unit1.cpp(20): parsing: void _fastcall TMainForm::OkButtonClick(System::TObject *)
[BCC32 Error] Unit1.cpp(31): E2031 Cannot cast from 'TDateTime' to 'AnsiString'
  Full parser context
    Unit1.cpp(20): parsing: void _fastcall TMainForm::OkButtonClick(TObject *)
[BCC32 Error] Unit1.cpp(34): E2015 Ambiguity between '_fastcall System::AnsiStringT<0>::AnsiStringT(int) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:415' and '_fastcall System::AnsiStringT<0>::AnsiStringT(double) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:422'
  Full parser context
    Unit1.cpp(20): parsing: void _fastcall TMainForm::OkButtonClick(System::TObject *)
[BCC32 Error] Unit1.cpp(34): E2031 Cannot cast from 'TDateTime' to 'AnsiString'
  Full parser context
    Unit1.cpp(20): parsing: void _fastcall TMainForm::OkButtonClick(TObject *)
[BCC32 Error] Unit1.cpp(37): E2015 Ambiguity between '_fastcall System::AnsiStringT<0>::AnsiStringT(int) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:415' and '_fastcall System::AnsiStringT<0>::AnsiStringT(double) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:422'
  Full parser context
    Unit1.cpp(20): parsing: void _fastcall TMainForm::OkButtonClick(System::TObject *)
[BCC32 Error] Unit1.cpp(37): E2031 Cannot cast from 'TDateTime' to 'AnsiString'
  Full parser context
    Unit1.cpp(20): parsing: void _fastcall TMainForm::OkButtonClick(TObject *)
[BCC32 Error] Unit1.cpp(40): E2015 Ambiguity between '_fastcall System::AnsiStringT<0>::AnsiStringT(int) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:415' and '_fastcall System::AnsiStringT<0>::AnsiStringT(double) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:422'
  Full parser context
    Unit1.cpp(20): parsing: void _fastcall TMainForm::OkButtonClick(System::TObject *)
[BCC32 Error] Unit1.cpp(40): E2031 Cannot cast from 'TDateTime' to 'AnsiString'
  Full parser context
    Unit1.cpp(20): parsing: void _fastcall TMainForm::OkButtonClick(TObject *)
[BCC32 Error] Unit1.cpp(43): E2015 Ambiguity between '_fastcall System::AnsiStringT<0>::AnsiStringT(int) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:415' and '_fastcall System::AnsiStringT<0>::AnsiStringT(double) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:422'
  Full parser context
    Unit1.cpp(20): parsing: void _fastcall TMainForm::OkButtonClick(System::TObject *)
[BCC32 Error] Unit1.cpp(43): E2031 Cannot cast from 'TDateTime' to 'AnsiString'
  Full parser context
    Unit1.cpp(20): parsing: void _fastcall TMainForm::OkButtonClick(TObject *)
[BCC32 Error] Unit1.cpp(46): E2015 Ambiguity between '_fastcall System::AnsiStringT<0>::AnsiStringT(int) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:415' and '_fastcall System::AnsiStringT<0>::AnsiStringT(double) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:422'
  Full parser context
    Unit1.cpp(20): parsing: void _fastcall TMainForm::OkButtonClick(System::TObject *)
[BCC32 Error] Unit1.cpp(46): E2031 Cannot cast from 'TDateTime' to 'AnsiString'
  Full parser context
    Unit1.cpp(20): parsing: void _fastcall TMainForm::OkButtonClick(TObject *)
[BCC32 Error] Unit1.cpp(49): E2015 Ambiguity between '_fastcall System::AnsiStringT<0>::AnsiStringT(int) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:415' and '_fastcall System::AnsiStringT<0>::AnsiStringT(double) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:422'
  Full parser context
    Unit1.cpp(20): parsing: void _fastcall TMainForm::OkButtonClick(System::TObject *)
[BCC32 Error] Unit1.cpp(49): E2031 Cannot cast from 'TDateTime' to 'AnsiString'
  Full parser context
    Unit1.cpp(20): parsing: void _fastcall TMainForm::OkButtonClick(TObject *)
[BCC32 Error] Unit1.cpp(96): E2451 Undefined symbol 'FormatDateTimeLabel'
  Full parser context
    Unit1.cpp(95): parsing: void _fastcall TMainForm::TimerTimer(TObject *)
[BCC32 Error] Unit1.cpp(97): E2451 Undefined symbol 'DateFormat'
  Full parser context
    Unit1.cpp(95): parsing: void _fastcall TMainForm::TimerTimer(TObject *)
[BCC32 Error] Unit1.cpp(97): E2451 Undefined symbol 'TimeFormat'
  Full parser context
    Unit1.cpp(95): parsing: void _fastcall TMainForm::TimerTimer(TObject *)
[BCC32 Error] Unit1.cpp(103): E2451 Undefined symbol 'DateFormat'
  Full parser context
    Unit1.cpp(101): parsing: void _fastcall TMainForm::FullDateCheckBoxClick(TObject *)
[BCC32 Error] Unit1.cpp(107): E2451 Undefined symbol 'FormatDateTimeLabel'
  Full parser context
    Unit1.cpp(101): parsing: void _fastcall TMainForm::FullDateCheckBoxClick(TObject *)
[BCC32 Error] Unit1.cpp(108): E2451 Undefined symbol 'TimeFormat'
  Full parser context
    Unit1.cpp(101): parsing: void _fastcall TMainForm::FullDateCheckBoxClick(TObject *)
[BCC32 Error] Unit1.cpp(114): E2451 Undefined symbol 'TimeFormat'
  Full parser context
    Unit1.cpp(112): parsing: void _fastcall TMainForm::FullTimeCheckBoxClick(TObject *)
[BCC32 Error] Unit1.cpp(118): E2451 Undefined symbol 'FormatDateTimeLabel'
  Full parser context
    Unit1.cpp(112): parsing: void _fastcall TMainForm::FullTimeCheckBoxClick(TObject *)
[BCC32 Error] Unit1.cpp(119): E2451 Undefined symbol 'DateFormat'
  Full parser context
    Unit1.cpp(112): parsing: void _fastcall TMainForm::FullTimeCheckBoxClick(TObject *)
Миниатюры
Тренажер работы с датой и временем  
Вложения
Тип файла: rar Урок с Датой и временем.rar (3.48 Мб, 53 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.10.2011, 16:48
Ответы с готовыми решениями:

Разработать класс DateTime для работы с датой/временем
В качестве основы взять функции и структуры для работы с временем из стандартной библиотеки (struct tm, time, localtime, mktime) ...

Применение для работы с датой и временем класса TDateTime (визуальный режим)
доброй ночи, уважаемые программисты и любители кодить. помогите, пожалуйста, написать программу на языке С++ в визуальном режиме. ВОТ...

Вычислить промежуток времени между текущей датой/временем и временем, введенным пользователем
Создайте новое приложение. Пакет приложения назовите com.ВАШЕ_ИМьЯ.time_span. Функционал приложения следующий: пользователь вводит дату...

11
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
21.10.2011, 17:40
C++
1
Ambiguity between
пробуй указать область видимости:
C++
1
::
C++
1
Cannot cast from 'TDateTime' to
можно попробовать:
C++
1
2
3
AnsiString DATE_TIME = FormatDateTime("YYYY-MM-DD",Date())+
                       "-"
                       +FormatDateTime("HH:NN:SS:ZZZ",Time());
, btw, я тебе это уже показывал

Добавлено через 1 минуту
и цитируй строку, к которой относятся ошибки, потому что в твоем цитатнике строка № 20 - пуста.
1
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
21.10.2011, 17:51
А у меня при компиляции все ошибки (8 шт) свелись к двум: Undefined symbol `DateFormat` (`TimeFormat`), но это, я думаю, ограниченность 5-й версии Билдера.
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
21.10.2011, 19:04
nick42, там упоминаются библиотеки Sysutils.hpp, systdate.h - подключать (#include ...) не пробовал ?
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
21.10.2011, 19:19  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
nick42, там упоминаются библиотеки Sysutils.hpp, systdate.h - подключать (#include ...) не пробовал ?
Попробовал не помогает.
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
21.10.2011, 19:45
Я прошарил весь Борландовский каталог в поисках этих злосчастных TimeFormat, но что ни подставлял в инклюды - корректно не работает; из чего и сделал вывод, что эти функции в более поздних версиях реализованы. ХПП-шек с такими функциями у меня в заначке хватает, но нормально устанавливаться они не желают, - капризничают (я, правда, далеко не все пробовал).
1
return (true);
 Аватар для mimicria
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
21.10.2011, 20:31
TDateTime is the C++ analog for the Object Pascal TDateTime data type.
Header: systdate.h
Цитата Сообщение от nick42 Посмотреть сообщение
Я прошарил весь Борландовский каталог в поисках этих злосчастных TimeFormat
Я так понял это из самого исходника, нет?
C++
1
2
  DateFormat = "dd.mm.yy ";
  TimeFormat = "hh:nn";
Добавлено через 7 минут
По ссылке:
В секции private класса формы объявлены две переменные: DateFormat для формата даты; TimeFormat для формата времени. Код:
C++
1
private: AnsiString DateFormat; AnsiString TimeFormat;
В конструкторе формы задаются начальные значения этих переменных:
C++
1
DateFormat = "dd.mm.yy "; TimeFormat = "hh:nn";
2
 Аватар для QVO
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
21.10.2011, 20:45
C++
1
2
3
4
5
6
7
8
// Объявили
TDateTime DT;
//Заполнили
DT = Now();
// Передали в строку
AnsiString D = FormatDateTime("dd.mm.yyyy", DT);
AnsiString T = FormatDateTime("hh:mm:ss", DT);
// Можем вывести
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
21.10.2011, 21:15  [ТС]
Я применил совет mimicrii и вот результат

Строки которые не нравятся компилятору
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
//---------------------------------------------------------------------------
void __fastcall TMainForm::OkButtonClick(TObject *Sender)
{
  TDateTime DateTime = TDateTime::CurrentDateTime();
 
      CurrenDatetTimeLabel->Caption = DateTime.DateTimeString();
      CurrentDateLabel->Caption = DateTime.DateString();
      CurrentTimeLabel->Caption = DateTime.TimeString();
 
      int DayOfWeek = DateTime.DayOfWeek();
      switch(DayOfWeek)
         {
            case 1:
      DayOfWeekLabel->Caption = "сейчас воскресенье, " + AnsiString(DateTime);// 2 ошибки сдесь
            break;
            case 2:
               DayOfWeekLabel->Caption = "сейчас понедельник, " + AnsiString(DateTime);// 2 ошибки сдесь
            break;
            case 3:
               DayOfWeekLabel->Caption = "сейчас вторник, " + AnsiString(DateTime);// 2 ошибки сдесь
            break;
            case 4:
               DayOfWeekLabel->Caption = "сейчас среда, " + AnsiString(DateTime);// 2 ошибки сдесь
            break;
            case 5:
               DayOfWeekLabel->Caption = "сейчас четверг, " + AnsiString(DateTime);// 2 ошибки сдесь
            break;
            case 6:
               DayOfWeekLabel->Caption = "сейчас пятница, " + AnsiString(DateTime);// 2 ошибки сдесь
            break;
            case 7:
               DayOfWeekLabel->Caption = "сейчас суббота, " + AnsiString(DateTime);// 2 ошибки сдесь
            break;
         }
 
      DateTime = TDateTime::FileDateToDateTime(FileAge(Application->ExeName));
      FileDatetTimeLabel->Caption = "дата и время файла: " + DateTime.DateTimeString();
}
//---------------------------------------------------------------------------
Ошибки:
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
[BCC32 Error] Unit1.cpp(32): E2015 Ambiguity between '_fastcall System::AnsiStringT<0>::AnsiStringT(int) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:415' and '_fastcall System::AnsiStringT<0>::AnsiStringT(double) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:422'
  Full parser context
    Unit1.cpp(21): parsing: void _fastcall TMainForm::OkButtonClick(System::TObject *)
[BCC32 Error] Unit1.cpp(32): E2031 Cannot cast from 'TDateTime' to 'AnsiString'
  Full parser context
    Unit1.cpp(21): parsing: void _fastcall TMainForm::OkButtonClick(TObject *)
[BCC32 Error] Unit1.cpp(35): E2015 Ambiguity between '_fastcall System::AnsiStringT<0>::AnsiStringT(int) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:415' and '_fastcall System::AnsiStringT<0>::AnsiStringT(double) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:422'
  Full parser context
    Unit1.cpp(21): parsing: void _fastcall TMainForm::OkButtonClick(System::TObject *)
[BCC32 Error] Unit1.cpp(35): E2031 Cannot cast from 'TDateTime' to 'AnsiString'
  Full parser context
    Unit1.cpp(21): parsing: void _fastcall TMainForm::OkButtonClick(TObject *)
[BCC32 Error] Unit1.cpp(38): E2015 Ambiguity between '_fastcall System::AnsiStringT<0>::AnsiStringT(int) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:415' and '_fastcall System::AnsiStringT<0>::AnsiStringT(double) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:422'
  Full parser context
    Unit1.cpp(21): parsing: void _fastcall TMainForm::OkButtonClick(System::TObject *)
[BCC32 Error] Unit1.cpp(38): E2031 Cannot cast from 'TDateTime' to 'AnsiString'
  Full parser context
    Unit1.cpp(21): parsing: void _fastcall TMainForm::OkButtonClick(TObject *)
[BCC32 Error] Unit1.cpp(41): E2015 Ambiguity between '_fastcall System::AnsiStringT<0>::AnsiStringT(int) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:415' and '_fastcall System::AnsiStringT<0>::AnsiStringT(double) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:422'
  Full parser context
    Unit1.cpp(21): parsing: void _fastcall TMainForm::OkButtonClick(System::TObject *)
[BCC32 Error] Unit1.cpp(41): E2031 Cannot cast from 'TDateTime' to 'AnsiString'
  Full parser context
    Unit1.cpp(21): parsing: void _fastcall TMainForm::OkButtonClick(TObject *)
[BCC32 Error] Unit1.cpp(44): E2015 Ambiguity between '_fastcall System::AnsiStringT<0>::AnsiStringT(int) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:415' and '_fastcall System::AnsiStringT<0>::AnsiStringT(double) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:422'
  Full parser context
    Unit1.cpp(21): parsing: void _fastcall TMainForm::OkButtonClick(System::TObject *)
[BCC32 Error] Unit1.cpp(44): E2031 Cannot cast from 'TDateTime' to 'AnsiString'
  Full parser context
    Unit1.cpp(21): parsing: void _fastcall TMainForm::OkButtonClick(TObject *)
[BCC32 Error] Unit1.cpp(47): E2015 Ambiguity between '_fastcall System::AnsiStringT<0>::AnsiStringT(int) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:415' and '_fastcall System::AnsiStringT<0>::AnsiStringT(double) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:422'
  Full parser context
    Unit1.cpp(21): parsing: void _fastcall TMainForm::OkButtonClick(System::TObject *)
[BCC32 Error] Unit1.cpp(47): E2031 Cannot cast from 'TDateTime' to 'AnsiString'
  Full parser context
    Unit1.cpp(21): parsing: void _fastcall TMainForm::OkButtonClick(TObject *)
[BCC32 Error] Unit1.cpp(50): E2015 Ambiguity between '_fastcall System::AnsiStringT<0>::AnsiStringT(int) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:415' and '_fastcall System::AnsiStringT<0>::AnsiStringT(double) at c:\program files (x86)\embarcadero\rad studio\8.0\include\windows\rtl\dstring.h:422'
  Full parser context
    Unit1.cpp(21): parsing: void _fastcall TMainForm::OkButtonClick(System::TObject *)
[BCC32 Error] Unit1.cpp(50): E2031 Cannot cast from 'TDateTime' to 'AnsiString'
  Full parser context
    Unit1.cpp(21): parsing: void _fastcall TMainForm::OkButtonClick(TObject *)
В каждой строке по две и одинаковые...
0
 Аватар для QVO
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
21.10.2011, 22:44
Samrisbe, http://www.yevol.com/bcb/Lesson33.htm
1
 Аватар для Samrisbe
1365 / 732 / 67
Регистрация: 28.01.2011
Сообщений: 2,069
23.10.2011, 20:58  [ТС]
Чет не получается, чес слов сижу над этим целый день.
1
Прогер
 Аватар для Programmer.
632 / 263 / 15
Регистрация: 17.11.2010
Сообщений: 1,371
Записей в блоге: 2
24.10.2011, 07:43
Samrisbe,

На тебе, я как то не в уме еe болше перекрутивать, поидука я спать

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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMainForm *MainForm;
UnicodeString DateFormat;
UnicodeString TimeFormat;
//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
    : TForm(Owner)
{
TDateTime DateTime;
DateFormat = FormatDateTime(L"dd.mm.yy",DateTime);
TimeFormat = FormatDateTime(L"hh:nn",DateTime);
 
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::OkButtonClick(TObject *Sender)
{
  TDateTime *DateTime =new TDateTime();
 
      CurrenDatetTimeLabel->Caption =  DateTime->CurrentDateTime();
      CurrentDateLabel->Caption = DateTime->DateString();
      CurrentTimeLabel->Caption = DateTime->TimeString();
 
      int DayOfWeek = DateTime->DayOfWeek();
      switch(DayOfWeek)
         {
            case 1:
               DayOfWeekLabel->Caption = "сейчас воскресенье, " + DateTime->DateTimeString();
            break;
            case 2:
               DayOfWeekLabel->Caption = "сейчас понедельник, " + DateTime->DateTimeString();
            break;
            case 3:
               DayOfWeekLabel->Caption = "сейчас вторник, " + DateTime->DateTimeString();
            break;
            case 4:
               DayOfWeekLabel->Caption = "сейчас среда, " + DateTime->DateTimeString();
            break;
            case 5:
               DayOfWeekLabel->Caption = "сейчас четверг, " + DateTime->DateTimeString();
            break;
            case 6:
               DayOfWeekLabel->Caption = "сейчас пятница, " + DateTime->DateTimeString();
            break;
            case 7:
               DayOfWeekLabel->Caption = "сейчас суббота, " + DateTime->DateTimeString();
            break;
         }
 
 
   //    TDateTime DateTime = TDateTime::FileDateToDateTime(FileAge(Application->ExeName));
 
   TDateTime DateTime1 = DateTime->FileDateToDateTime(FileAge(Application->ExeName));
   UnicodeString DateString = DateTime1.DateTimeString();
      FileDatetTimeLabel->Caption = "дата и время файла: " + DateString;
 
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ExitButtonClick(TObject *Sender)
{
   Application->Terminate();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::DateDifferenceClick(TObject *Sender)
{
   TCursor OldCursor = Screen->Cursor;
      Screen->Cursor = crHourGlass;
 
      TDateTime StartDateTime = TDateTime::CurrentDateTime();
 
      for(int i = 0; i < 500000; i++)
         {
            TDateTime(TDateTime::CurrentDateTime().DateTimeString());
            Application->ProcessMessages();
         }
 
      TDateTime EndDateTime = TDateTime::CurrentDateTime();
 
      Screen->Cursor = OldCursor;
 
      DateDifferenceLabel->Caption = (EndDateTime - StartDateTime).TimeString();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::IncrementDateButtonClick(TObject *Sender)
{
      static TDateTime DateTime = TDateTime::CurrentDateTime();
      IncrementDateLabel->Caption = (DateTime++).DateTimeString();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::DateAdditionButtonClick(TObject *Sender)
{
   static TDateTime DateTime = TDateTime::CurrentDateTime();
      DateAdditionLabel->Caption =(DateTime += 1.125).DateTimeString();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::TimerTimer(TObject *Sender)
{
    FormatDateTimeLabel->Caption = TDateTime::CurrentDateTime().
        FormatString(DateFormat + TimeFormat);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FullDateCheckBoxClick(TObject *Sender)
{
  if(FullDateCheckBox->Checked)
         DateFormat = "dddddd ";
      else
         DateFormat = "ddddd ";
 
      FormatDateTimeLabel->Caption = TDateTime::CurrentDateTime().
        FormatString(DateFormat + TimeFormat);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FullTimeCheckBoxClick(TObject *Sender)
{
  if(FullTimeCheckBox->Checked)
         TimeFormat = "hh:nn:ss";
      else
         TimeFormat = "hh:nn";
 
      FormatDateTimeLabel->Caption = TDateTime::CurrentDateTime().
        FormatString(DateFormat + TimeFormat);
}
//---------------------------------------------------------------------------
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.10.2011, 07:43
Помогаю со студенческими работами здесь

Оперирование с датой и временем в VB 6.0
привет мир, решил самостоятельно изучить программирование и решил поставить перед собой задачу вот такую... Я работаю помощником машиниста...

Проблемы с датой и временем.
Situatciya: Baza Access2000, pole tipa Date/Time (format General Date), v sisteme ystanovleno v Regional Options-akh, dlya Time: hh:mm:ss...

Работа с датой и временем
Программа для расчета оплаты труда в зависимости от проработанного количества дней.

Управление датой и временем
Помогите пожалуйста решить задачи по php, завтра екзамен!!!(наброски, предложения, я в этом чайник) Управление датой и временем

Работа с датой и временем
Подскажите пожалуйста как реализовать следующую вещь: bat создаёт папку с датой и временем и если такая папка существует то создаёт...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru