Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 30.10.2016
Сообщений: 6
1

Ввод даты в заданном формате.

30.10.2016, 23:03. Показов 751. Ответов 1
Метки нет (Все метки)

На форме располагается таблица StringGrid с 3 строками. Число столбцов в диапа-зоне 3 .. 7 задается линейкой ScrollBar. Слева от таблицы радиогруппа задает ак-тивную строку, в которую можно вводить информацию. При этом в 1-ю строку можно вводить только целые числа, вторую - только текст, третью - даты по фор-мату дд-мм-гг. Контекстное меню формы закрывает ее.
Есть код, но не могу прописать третью - даты по фор-мату дд-мм-гг.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
var
  Form1: TForm1;
 
implementation
 
{$R *.xfm}
 
procedure TForm1.N111Click(Sender: TObject);
begin
Form1.Close;
end;
 
procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
StringGrid1.ColCount:=scrollbar1.position;
StringGrid1.Selection:=tgridrect(rect(0,radiogroup1.ItemIndex,scrollbar1.Position-1,radiogroup1.ItemIndex));
end;
 
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
StringGrid1.Selection:=tgridrect(rect(0,radiogroup1.ItemIndex,scrollbar1.Position-1,radiogroup1.ItemIndex));
 
end;
 
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
case StringGrid1.selection.Top of
0:If not (key in ['0'..'9',#8]) then key:=#0;
1:If not (key in ['а'..'я','А'..'Я',#8]) then key:=#0;
//Вот здесь
2:
begin
If not (key in ['0'..'9']) then key:=#0;
 
 
end;
end;
 
end;
end.
помогите все пересмотрела , не как не доходит что б использовался формат.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.10.2016, 23:03
Ответы с готовыми решениями:

Запрос у пользователя даты в кратком формате и ее вывод в полном формате
Нужна программа запрашивающую у пользователя дату в кратком формате дд.мм.гг (например:...

Ввод даты в заданном формате
Еще один вопрос про дату:) Мне тоже нужно вводить дату, но надо сделать это в заданном формате....

Валидность даты в заданном формате (RegExp wanted)
Привет, Релиб! Подскажите, пожалуйста, как верно составить регулярное выражение для проверки...

Ввод текста в TextBox в заданном формате
Добрый день, уважаемые коллеги! У меня такой вопрос. Нужно в TextBox (или в MaskedTextBox, пока не...

1
Модератор
64056 / 47472 / 32727
Регистрация: 18.05.2008
Сообщений: 115,185
31.10.2016, 08:25 2
Мне кажется что дату нужно ввести, а потом проверить и если неверно, то повторить ввод. Там мало того что нужно ввести по заданной маске, еще нужно чтобы день был от 1 до 28, 29, 30, 31 в зависимости от месяца и года, месяц от 1 до 12.
Например так.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.Button1Click(Sender: TObject);
var d:TDate;
begin
DateSeparator:='-';
ShortDateFormat:='dd-mm-yy';
d:=StrTodateDef(StringGrid1.Cells[0,2],0);//проверим ввод даты
if d=0 then //если неверно, извещаем и ожидаем нового ввода
 begin
  showmessage('Введите правильную дату в формате дд-мм-гг');
  StringGrid1.Cells[0,2]:='';
  exit
 end;
Edit1.Text:=DateToStr(d);
end;
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.10.2016, 08:25

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Написать программу ввод даты в формате ДД.ММ.ГГГГ
которая запрашивает от пользователя ввод даты в формате ДД.ММ.ГГГГ, и не позволяет ему ввести...

Запросить на ввод значения часов и минут и вывести их в заданном формате
Доброго времени суток, форумчане. Просьба помочь с простыми программами на С++. Только начал...

Добавление текущей даты к имени файла при нестандартном формате вывода даты
Приветствую ! Давно и успешно используется код, который мне когда-то подсказали тут на форуме ...

Вывод даты в ясейку Excel в формате даты
Здравствуйте. Пытаюсь вывести из табличной части обработки 1с дату в ячейку Excel: Лист.Cells(Стр...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.