Правила Форума редакция от 22.06.2020 |
|
|
|
|
|
Опции темы | Опции просмотра | Language |
23.11.2007, 16:31 | #1 |
функция определения маски
Вопрос покажите реализацию функции, которая определяет (исходя из 2 строк: маска + строка) удослетворяет строка маске или нет (т.е. возвращает )). Нужна реализация желательно на Паскале, но расберусь и в С коде.
Нужна именно реализация!!! |
|
Реклама: | бояринцевы алупка | Отличное предложение в КНС Нева - intel d3-s4520 - корпоративные поставки в Санкт-Петербурге. | решетка пдр | круизы по волге в сентябре из москвы 2024 | Супермаркет техники KNSneva.ru - катюша м348 - специальные условия для корпоративных клиентов в Санкт-Петербурге. |
02.10.2008, 18:04 | #3 |
Неактивный пользователь
Регистрация: 30.09.2008
Сообщений: 14
Репутация: 2
|
Re: функция определения маски
функция для даты.
ParseDate (const wxString& value) { wxString str = value; str.Replace(wxT(" "), wxT("")); str.Trim(false); str.Trim(); int mon = 0, day = 0, year = 0; const wxChar* p1 = str.wx_str(); const wxChar* p2; if ( StringTools::IsAlpha(p1) ) { // format: Mon[.|-] DD[[,] YY|YYYY] // parse month name p2 = StringTools::SkipAlpha(p1); mon = checkMonthName(p1); // skip delimiters if ( p2[0] == '.' || p2[0] == '-' ) { ++p2; } while ( p2[0] == ' ' ) { ++p2; } // parse day day = StringTools::ToInt(p2); p2 = StringTools::SkipDigit(p2); // parse year if ( p2[0] == ',' ) { year = checkYear(p2+1); } } else if ( StringTools::IsDigit(p1) ) { // parse first number p2 = StringTools::SkipDigit(p1); // check format if ( p2[0] == '/' ) { // format: MM/DD/YY | MM/DD/YYYY mon = StringTools::ToInt(p1); p1 = StringTools::SkipDigit(p1) + 1; day = StringTools::ToInt(p1); p1 = StringTools::SkipDigit(p1) + 1; year = checkYear(p1); } else if ( p2[0] == '.' ) { // format: DD.MM.YY | DD.MM.YYYY day = StringTools::ToInt(p1); p1 = StringTools::SkipDigit(p1) + 1; mon = StringTools::ToInt(p1); p1 = StringTools::SkipDigit(p1) + 1; year = checkYear(p1); } else if ( p2[0] == ' ' || p2[0] == '-' ) { // format: DD[ |-]Mon[ YY|YYYY] day = StringTools::ToInt(p1); mon = checkMonthName(p1 = p2 + 1); p2 = StringTools::SkipAlpha(p1); year = checkYear(p2); } } if ( year == 0 ) { wxDateTime dt = wxDateTime::Now(); year = dt.GetYear(); } if ( 0 < day && day <= 31 && 0 < mon && mon <= 12 && year != 0 ) { str = wxString::Format(wxT("%04i%02i%02i"), year, mon, day); } else { str = wxT(""); } return str; } |
03.01.2009, 14:35 | #4 |
Неактивный пользователь
Пол: Регистрация: 03.01.2009
Адрес: xUSSR
Сообщений: 11
Репутация: 2
|
Re: функция определения маски
не ясен стандарт маски - регулярное выражение, досовские шаблоны или ещё что. может вордовские вовсе. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Признаки, классификации и определения | stupid | Юмор | 972 | 09.10.2024 10:00 |
программ, для определения координат на экране | Tuco | Скорая помощь | 2 | 13.06.2009 03:34 |
Определения пароля | osso | Скорая помощь | 3 | 02.10.2008 17:27 |
Программа для определения скорости сети. | Зак | Microsoft Windows | 1 | 24.05.2007 07:41 |
Программа для определения недостающих кодеков | konstkut | Варезник | 4 | 28.06.2006 12:31 |
|
|