Главная страница
    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.48 MB
Время: 0.016 c
2-1141287325
Cedrt
2006-03-02 11:15
2006.03.19
TRichEdit


15-1140573830
vidiv
2006-02-22 05:03
2006.03.19
редактор диска или помогите восстановить БИОС


2-1141537128
anubis
2006-03-05 08:38
2006.03.19
Поиск окна


15-1140775934
DSKalugin
2006-02-24 13:12
2006.03.19
Способы защиты exe/dll от модификации ресурсов


6-1133858903
Alexandr
2005-12-06 11:48
2006.03.19
выбор технологии для обмена данными





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский