Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Маски ввода 
:(
    Опции темы
legwar
Дата 1.2.2005, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 24.12.2004
Где: Москва

Репутация: нет
Всего: нет



Здравствуйте никто не подскажет способ реализации корректного ввода информации в maskedit.
чтоб
dd.mm.yyyy
dd-1-30
mm-1-12
yyyy-1980-1999

PM MAIL ICQ   Вверх
Satana
Дата 1.2.2005, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 564
Регистрация: 15.9.2004
Где: Ставрополь, СЗ ра йон

Репутация: 1
Всего: 5



чото я не уловил сути вопроса? там же есть форматы по умолчанию, вот и отредактируй под себя


--------------------
 Работай на себя 
www.abalentsev.com - Сайт портфолио.
www.pokushau.ru - Рецепты со всего мира.
PM MAIL WWW ICQ   Вверх
Guest
Дата 2.2.2005, 17:00 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Satana @ 1.2.2005, 22:47)
чото я не уловил сути вопроса? там же есть форматы по умолчанию, вот и отредактируй под себя

Суть вопроса в том, чтоб избежать анамалий ввода, чтоб в поле dd не могли ввести 41 день
или в mm - 13

  Вверх
Snowy
Дата 2.2.2005, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



А вот это не заблокируешь. Единственный вариант контролировать самому через OnChange.
Или использовать TDateTimePicker.
PM MAIL   Вверх
~FoX~
Дата 2.2.2005, 17:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Лучше не по onChange а по KeyUp, KeyDown или KeyPress, но все равно нудно получиться.
Используй DateTimePicker прада он тоже не очень удобный в плане ввода с клавы, но это обойти легко.


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
legwar
Дата 2.2.2005, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 24.12.2004
Где: Москва

Репутация: нет
Всего: нет



проблему решил функцией copy.
стандартная проверка
если скопированные цифры >'31' в значении дня тогда анамалия ввода
ну и т.д.

PM MAIL ICQ   Вверх
Гость_Demon
Дата 13.3.2005, 02:30 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











function TFEdit.pDate(st:string):boolean;
var m:array[1..12] of word;
d,mes,y:integer;
begin
pdate:=true;
if length(st)<>10 then begin messageDlg('Неправильный формат. ведите в формате дд.мм.гггг',mtError, [mbOk],0); pdate:=false; end;
d:=strtoint(copy(st,1,2));
mes:=strtoint(copy(st,4,2));
y:=strtoint(copy(st,7,4));

m[1]:=31; if IsLeapYear(y) then m[2]:=29 else m[2]:=28;
m[3]:=31; m[4]:=30; m[5]:=31; m[6]:=30;
m[7]:=31; m[8]:=31; m[9]:=30;
m[10]:=31; m[11]:=30; m[12]:=31;

if mes>12 then begin messageDlg('В году только 12 месяцев!',mtError, [mbOk],0); pdate:=false; end;
if d>m[mes] then begin messageDlg('В этом месяце '+Inttostr(m[mes])+'дней',mtError, [mbOk],0); pdate:=false; end;


end;
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.