Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Проверка дат (2)

Delphi , Синтаксис , Дата и Время

Проверка дат (2)

 
Code:
function DateExists(Date: string; Separator: char): Boolean;
var
OldDateSeparator: Char;
begin
Result := True;
OldDateSeparator := DateSeparator;
DateSeparator := Separator;
try
   try
     StrToDate(Date);
   except
     Result := False;
   end;
finally
   DateSeparator := OldDateSeparator;
end;
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
if DateExists('35.3.2001', '.') then
begin
   {your code}
end;
end;
Взято с Delphi Knowledge Base: http://www.baltsoft.com/

Программирование на Delphi: проверка существования даты с возможностью указания пользовательского символа разделителя.

Вот разбивка кода:

  1. Функция DateExists принимает два параметра:
    • Date: строка, представляющая дату в формате "dd.mm.yyyy" или "dd/mm/yyyy" (в зависимости от символа разделителя).
    • Separator: одиночный символ, разделяющий компоненты дня, месяца и года даты.
  2. Функция инициализирует Result в значение True, что означает, что она предполагает, что дата является валидной изначально.
  3. Затем функция сохраняет текущее значение системной переменной DateSeparator, которая определяет, как даты интерпретируются в Delphi.
  4. Функция устанавливает DateSeparator в указанный пользователем символ разделителя.
  5. В блоке try-except функция пытается разобрать строку даты с помощью функции StrToDate.
    • Если разбор успешен, функция ничего не делает и продолжает выполнение.
    • Если разбор проваливается (например, потому что дата является недопустимой), исключение ловится, и Result устанавливается в значение False.
  6. Наконец, функция восстанавливает оригинальное значение DateSeparator с помощью блока finally.

Процедура FormCreate - это обработчик события создания формы. Она вызывает функцию DateExists с конкретной строкой даты ('35.3.2001') и символом разделителя ('.') в качестве аргументов.

Некоторые предложения:

  • Вместо использования жестко закодированной строки даты и символа разделителя, рассмотрите возможность передачи их как параметров процедуры FormCreate.
  • Вы можете добавить более функциональности к функции DateExists, например, возвращение сообщения об ошибке или описания причины недопустимости даты.
  • Если вы хотите использовать эту функцию в различных частях вашего кода, рассмотрите возможность создания отдельного модуля (например, файла на Pascal) для ее реализации.

Функция DateExists в Delphi позволяет проверить существование даты, указанной в строковом формате, используя заданный разделитель для дат.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Дата и Время ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:16:16/0.003741979598999/0