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

Вниз

как сделать?   Найти похожие ветки 

 
dera   (2006-02-27 17:10) [0]

На форме есть 3 эдита и напротив каждого 3 батона. Необходимо, чтоб по нажатию на первый батон появился календарь (MonthCalendar) и по двойному клику вставить дату в первый эдит. То же самое для второго батона и второго эдита. Но компонент MonthCalendar должен быть один, а не 3. Просьба не предлягать DateTimePicker.
Спасибо


 
umbra ©   (2006-02-27 17:13) [1]

а где знак вопроса? да и сам вопрос. :)


 
dera   (2006-02-27 17:26) [2]

Вопрос в том, как такое организовать? А точнее, что писать тут:
procedure TForm1.Button1Click(Sender: TObject);
begin
 MonthCalendar1.Visible:=true;
 ??????????
end;


 
DesWind ©   (2006-02-27 17:41) [3]

Как-нибудь дать знать календарю в какой едит вставлять значение. Ведь, насколько я понял вставлять значение надо по двойному щелчку по календарю?


 
dera   (2006-02-27 17:55) [4]

>DesWind ©   (27.02.06 17:41) [3]
совершенно верно


 
clickmaker ©   (2006-02-27 17:57) [5]

MonthCalendar1.Tag := integer(Edit1);

при обработке щелчка на календаре
TEdit(Sender.Tag).Text := TMonthCalendar(Sender).Date;


 
dera   (2006-02-27 18:11) [6]

>TEdit(Sender.Tag).Text := TMonthCalendar(Sender).Date;

выдает - Undeclared identifier: "Tag"


 
novice_man ©   (2006-02-27 18:18) [7]

dera   (27.02.06 18:11) [6]
Потому, что у TObject нет поля tag/


 
dera   (2006-02-27 18:22) [8]

и что можна сделать?


 
azl ©   (2006-02-27 18:31) [9]

А какие собственно говоря проблемы?

procedure TForm1.Button1Click(Sender: TObject);
begin
 MonthCalendar1.Visible := true;
end;

procedure TForm1.MonthCalendar1DblClick(Sender: TObject);
begin
 Edit1.Text := DateToStr(MonthCalendar1.Date);
end;

Button2 - Events - OnClick - Button1Click


 
novice_man ©   (2006-02-27 18:32) [10]

procedure TForm1.Button1Click(Sender: TObject);
begin
MonthCalendar1.Visible := true;
MonthCalendar1.Tag := 1;
end;

procedure TForm1.MonthCalendar1DblClick(Sender: TObject);
begin
 MonthCalendar1.Visible := false;
 case MonthCalendar1.Tag of
    1: Sender := Edit1;
    2: Sender := Edit2;
 end;
TEdit(Sender).Text := DateToStr(TMonthCalendar(Sender).Date);
end;


Не единственный вариант.


 
novice_man ©   (2006-02-27 18:34) [11]

novice_man ©   (27.02.06 18:32) [10]
TEdit(Sender).Text := DateToStr(TMonthCalendar(Sender).Date);

То есть:
TEdit(Sender).Text := DateToStr(TMonthCalendar.Date);


 
novice_man ©   (2006-02-27 18:36) [12]

Расставь в кнопках tag (1,2 ... 5)
и обработчик OnClick теперь выглядет так:
procedure TForm1.Button1Click(Sender: TObject);
begin
 MonthCalendar1.Visible := true;
 MonthCalendar1.Tag := TButton(Sender).Tag;
end;


 
novice_man ©   (2006-02-27 18:40) [13]

novice_man ©   (27.02.06 18:34) [11]
TEdit(Sender).Text := DateToStr(MonthCalendar1.Date);


 
clickmaker ©   (2006-02-27 18:41) [14]

сначала кнопкам даем Tag от 1 до 3

procedure TForm1.ButtonClick(Sender: TObject); // для всех 3
begin
MonthCalendar.Tag := TButton(Sender).Tag;
MonthCalendar.Visible := true;
end;

procedure TForm1.MonthCalendar1DblClick(Sender: TObject);
var Edit: TEdit;
begin
  Edit := FindComponent("Edit" + IntToStr(TMonthCalendar(Sender).Tag));
  if (Edit <> nil) then Edit.Text := DateToStr(TMonthCalendar(Sender).Date);
end;


 
dera   (2006-02-27 18:41) [15]

>novice_man ©   (27.02.06 18:32) [10]
огромное спасибо!


 
azl ©   (2006-02-27 18:44) [16]

var
 Form1: TForm1;
 Bt1, Bt2: boolean;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
 MonthCalendar1.Visible := true;
 Bt1 := true; Bt2 := False;
end;

procedure TForm1.MonthCalendar1DblClick(Sender: TObject);
begin
 if Bt1 then
    Edit1.Text := DateToStr(MonthCalendar1.Date);
 if Bt2 then
    Edit2.Text := DateToStr(MonthCalendar1.Date);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 MonthCalendar1.Visible := true;
 Bt1 := False; Bt2 := true;
end;


 
dera   (2006-02-27 18:44) [17]

>clickmaker ©   (27.02.06 18:41) [14]
и Вам тоже благодарен. Заоодно чуть-чуть разобрался что такое Tag



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

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

Наверх




Память: 0.5 MB
Время: 0.037 c
1-1139832843
Yozch1
2006-02-13 15:14
2006.03.19
Коллеги, как убрать крыжик ()закладку, кнопку) в TabSheet ?


1-1140201021
RayGun
2006-02-17 21:30
2006.03.19
Структура программы


6-1133428225
_PG_
2005-12-01 12:10
2006.03.19
Не могу понять-с клиента получаю сигнал а посланный с сервера нет


2-1141296138
VitV
2006-03-02 13:42
2006.03.19
Выполнение запроса по нажатию кнопки...


2-1141566700
ctudent
2006-03-05 16:51
2006.03.19
Помогите разобраться с ошибкой!