Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2009, 17:26   #1
Evgenii
Форумчанин
 
Аватар для Evgenii
 
Регистрация: 04.01.2008
Сообщений: 201
По умолчанию Вопрос по использованию системной даты в программе

В программе нужно постоянно вводить текущую дату. Видел такой вариант, когда вместо того чтобы вводить дату самому, при нажатии пробела автоматически вводится сначала число, затем при втором нажатии пробела - месяц и год. Т.е. программа берет системную дату и помещает ее в нужное поле. Подскажите пожалуйста, как реализовать такой вариант???
Evgenii вне форума Ответить с цитированием
Старый 18.06.2009, 17:37   #2
__STDC__
Участник клуба
 
Аватар для __STDC__
 
Регистрация: 16.03.2009
Сообщений: 1,013
По умолчанию

ну к примеру число можно так вывести
Код:
s := datetostr(now);
label1.Caption := copy(s,1,pos('.',s)-1);
аналогично разбирать строку для каждого нажатия на пробел, учитывая их кол-во
Uguu~
__STDC__ вне форума Ответить с цитированием
Старый 18.06.2009, 17:42   #3
Daramant
Форумчанин
 
Регистрация: 06.01.2009
Сообщений: 340
По умолчанию

Например вот так:
Код:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key <> ' ' then
    exit;
  if Edit1.Text = '' then
    Edit1.Text := FormatDateTime('dd', Date)
  else
    Edit1.Text := FormatDateTime('dd.mm.eeee', Date);

  Key := Chr(0);
end;
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Daramant вне форума Ответить с цитированием
Старый 09.07.2009, 19:05   #4
Evgenii
Форумчанин
 
Аватар для Evgenii
 
Регистрация: 04.01.2008
Сообщений: 201
По умолчанию

а вот было бы еще неплохо вставить дату не в label, а в ячейку dbgrida
Это возможно? или для этого в dbgrid нужно вставлять компонент?
Evgenii вне форума Ответить с цитированием
Старый 10.07.2009, 01:10   #5
goblinyara
Форумчанин
 
Аватар для goblinyara
 
Регистрация: 02.01.2009
Сообщений: 340
По умолчанию

Код:
DataSource.DataSet.edit;
DataSource.DataSet.FieldByName(имя поля).AsString:= FormatDateTime('dd.mm.eeee', Date);
DataSource.DataSet.post;
DelphiWorld 6. Скачай, поставь, и будет тебе счастье=)
Программирование, как и любовь -- одно слово, за которым скрывается бесконечное множество занятий.
goblinyara вне форума Ответить с цитированием
Старый 13.07.2009, 17:13   #6
Evgenii
Форумчанин
 
Аватар для Evgenii
 
Регистрация: 04.01.2008
Сообщений: 201
По умолчанию

Спасибо!!!

если этот код написать например в событии oncellclick, то дата в нужной ячейке появляется где бы не был произведен клик. А нужно чтобы появление даты было связано с кликом именно на нужной ячейке. это возможно?

Последний раз редактировалось Stilet; 14.07.2009 в 11:47.
Evgenii вне форума Ответить с цитированием
Старый 13.07.2009, 19:02   #7
Вавел из ГМТУ
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 896
По умолчанию

Это возможно. Только нужно правильно составить задачу и грамотно к ней подойти.. Я чтото непонял про какую ячейку тут речь идёт?
Вавел из ГМТУ вне форума Ответить с цитированием
Старый 13.07.2009, 19:27   #8
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

нужно просто добавить проверку, там ли произошол клик.
В событии oncellclick можно примерно так сделать
Код:
if Column.FieldName='Имя поля' then
vovk вне форума Ответить с цитированием
Старый 13.07.2009, 19:51   #9
Evgenii
Форумчанин
 
Аватар для Evgenii
 
Регистрация: 04.01.2008
Сообщений: 201
По умолчанию

с проверкой получилось. хотел перенести появление даты на нажатие пробела, но там не получается.. Подскажите пожалуйста как изменить код чтобы та же самая процедура выполнялась в событии onkeypress
Хочу уточнить, что нажатие пробела в том случае когда фокус находится на ячейке любого другого столбца, дата не должна появляться

Последний раз редактировалось Evgenii; 13.07.2009 в 19:53.
Evgenii вне форума Ответить с цитированием
Старый 13.07.2009, 19:56   #10
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Код:
if DBGrid1.Fields[DBGrid1.SelectedIndex].FieldName='Имя поля' then
vovk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по использованию SQLite в delphi ROFF Помощь студентам 1 06.05.2009 09:26
Вопрос по использованию OLE yngwie Общие вопросы C/C++ 0 19.03.2009 00:56
вопрос по использованию BMP для кнопок Evgenii Мультимедиа в Delphi 2 25.02.2009 01:48
Установка системной даты и времени (С++) Juli Помощь студентам 1 07.12.2007 15:50
вопрос по использованию конструкции if zetrix Microsoft Office Excel 0 31.10.2006 07:52