Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.014 c
11-1121939979
shalex
2005-07-21 13:59
2006.03.19
MHXPStyle


3-1138186225
SdrCoder
2006-01-25 13:50
2006.03.19
Variant or safe array is locked


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


2-1141142483
Pit
2006-02-28 19:01
2006.03.19
Hint


3-1138628947
= guest =
2006-01-30 16:49
2006.03.19
Как сделать, чтобы при нажатии на combobox - выпадал список табли





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский