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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Парсинг даты 
V
    Опции темы
MacTep
Дата 24.4.2012, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

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



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

Примеры строки:
- 2011
- сентябрь 2012
- октябрь 2012 - сентябрь 2013
- 12.05.2011-15.05.2012
- 8-9 сентября 2015

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

Тупо парсинг с анализом функциями Trim, Copy, Pos? Или может красивее решение можно придумать?


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
baldina
Дата 24.4.2012, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



тупо парсинг. получается длинно и не слишком красиво, но можно украсить разделением на функции
PM MAIL   Вверх
Данкинг
Дата 24.4.2012, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(baldina @  24.4.2012,  19:36 Найти цитируемый пост)
но можно украсить разделением на функции 

ИМХО красивей одна функция, которая определяет тип даты и парсит соответствующим образом.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
MacTep
Дата 24.4.2012, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

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



Ну то есть тупо парсинг-таки? smile
То, что реализация будет функцией - это и не обсуждается smile

Это сообщение отредактировал(а) MacTep - 24.4.2012, 20:34


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Данкинг
Дата 24.4.2012, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Так тупо парсинг, а что ещё.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
baldina
Дата 26.4.2012, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Данкинг @  24.4.2012,  19:46 Найти цитируемый пост)
которая определяет тип даты и парсит соответствующим образом.

за соответствующий образ логично назначить ответственную функцию. нет? ;-)
PM MAIL   Вверх
Данкинг
Дата 26.4.2012, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



baldina, так аналогично придётся определять тип строки. Так логичней сделать это внутри функции.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
baldina
Дата 26.4.2012, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



да. в функции. а в ней еще функции. а в них, возможно, еще

PM MAIL   Вверх
baldina
Дата 26.4.2012, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



что-то типа такого ужасного, только на паскале smile
http://codepad.org/DU9Rj6kC
PM MAIL   Вверх
Данкинг
Дата 26.4.2012, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



А что за atol такой там?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
baldina
Дата 26.4.2012, 14:02 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



строка в длинное целое

Добавлено через 15 секунд
ASCII to Long
PM MAIL   Вверх
MacTep
Дата 26.4.2012, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

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



Цитата(baldina @  26.4.2012,  13:27 Найти цитируемый пост)
что-то типа такого ужасного, только на паскале smile
http://codepad.org/DU9Rj6kC 

Ох уж этот C++


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
baldina
Дата 26.4.2012, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



для С++ библиотеки есть полезные, так что в реальной жизни не так страшно smile
да и вообще можно попробовать другой подход - регулярные выражения

Добавлено через 1 минуту и 53 секунды
или даже составление грамматики и синтаксический анализ
PM MAIL   Вверх
Keeper89
Дата 26.4.2012, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

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



В данном случае регулярки спасут отца русской демократии.


--------------------
PM MAIL WWW   Вверх
MacTep
Дата 27.4.2012, 06:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

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



Цитата(Keeper89 @  26.4.2012,  22:52 Найти цитируемый пост)
В данном случае регулярки спасут отца русской демократии. 

Вот с этим у меня жутко тяжко... Никогда не умел писать регулярные выражения.


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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