Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.10;
Скачать: CL | DM;

Вниз

проблема с календарем   Найти похожие ветки 

 
dis12345 ©   (2009-03-29 18:17) [0]

Здравствуйте, подскажите пожалуйста почему перестал работать простейший код, отображающий месяц и год и позволяющий их менять?
на форме Календарь, Панель, слева от панели Button1 и 3 , справа 4 и 2

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, Grids, Calendar, ExtCtrls, StdCtrls;

type
 TForm1 = class(TForm)
   Button1: TButton;
   Button2: TButton;
   Button3: TButton;
   Button4: TButton;
   Panel1: TPanel;
   Calendar1: TCalendar;
   procedure Button1Click(Sender: TObject);
   procedure Button2Click(Sender: TObject);
   procedure Button3Click(Sender: TObject);
   procedure Button4Click(Sender: TObject);
   procedure Calendar1Change(Sender: TObject);
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
  myMonth : array [1..12] of string[9];
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);   // ãîä -1
begin
Calendar1.Year:=Calendar1.Year-1;
end;

procedure TForm1.Button2Click(Sender: TObject);     // ãîä +1
begin
Calendar1.Year:=Calendar1.Year+1;
end;

procedure TForm1.Button3Click(Sender: TObject);    // ìåñÿö-1
begin
IF Calendar1.Month = 1 THEN BEGIN
   Calendar1.Year:=Calendar1.Year-1;
   Calendar1.Month:=12;
END
ELSE Calendar1.Month:=Calendar1.Month-1;
end;

procedure TForm1.Button4Click(Sender: TObject);       // ìåñÿö+1
begin
IF Calendar1.Month = 12 THEN BEGIN
   Calendar1.Year:=Calendar1.Year+1;
   Calendar1.Month:=1;
END
ELSE Calendar1.Month:=Calendar1.Month+1;
end;

procedure TForm1.Calendar1Change(Sender: TObject);
begin
 Panel1.Caption:=MyMonth[Calendar1.Month]+IntToStr(Calendar1.Year);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 myMonth[1]:= "январь   ";
 myMonth[2]:= "февраль  ";
 myMonth[3]:= "март     ";
 myMonth[4]:= "апрель   ";
 myMonth[5]:= "май      ";
 myMonth[6]:= "июнь     ";
 myMonth[7]:= "июль     ";
 myMonth[8]:= "август   ";
 myMonth[9]:= "сентябрь ";
 myMonth[10]:="октябрь  ";
 myMonth[11]:="ноябрь   ";
 myMonth[12]:="декабрь  ";
 Panel1.Caption:="";
 Button1.Caption:="<<";
 Button2.Caption:=">>";
 Button3.Caption:="<";
 Button4.Caption:=">";
end;
end.

Если на компе выбрана вчерашняя дата все работает прекрасно,
если сегодняшняя- то нельзя выбрать месяц левее марта и правее января- получаю
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EConvertError with message "Invalid argument to date encode". Process stopped. Use Step or Run to continue.

неужели виноват переход на летнее время, что за ерунда...
давно с дельфи не работал, сам никак не соображу, этот фрагмент работал года 3 без вопросов...


 
Сергей М. ©   (2009-03-29 20:02) [1]


> левее марта и правее января


Ты что, не в состоянии выговорить слово "февраль" ?


> неужели виноват переход на летнее время


Не виноват абсолютно.
Виноват ты, пытающийся установить в календаре дату 29 февраля в невисокосный год.


 
dis12345 ©   (2009-03-29 20:56) [2]

О! Спасибо!!! в силу специфики программу используют в начале месяца, ошибка не возникала


 
Palladin ©   (2009-03-30 07:53) [3]


> Ты что, не в состоянии выговорить слово "февраль" ?

:)))))



Страницы: 1 вся ветка

Текущий архив: 2009.05.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.006 c
15-1235543906
pavel_guzhanov
2009-02-25 09:38
2009.05.10
Кто-нибудь собирается на семинар?


2-1238312668
Rom1988
2009-03-29 11:44
2009.05.10
Загрузить файл в TMemoryStream под другим именем


15-1235986259
Nameziz
2009-03-02 12:30
2009.05.10
связь Программирования и Математики


2-1238154785
Andra
2009-03-27 14:53
2009.05.10
Как получить данные с другого приложения?


2-1238399050
Darvin
2009-03-30 11:44
2009.05.10
GetInterface и возврат интерфейсов