OS/2 FAQ
OS/2 Programming FAQ - пpогpаммиpование. Статья 049
Сопоставление с шаблоном. Звёздочки, вопросики. Паскаль. | |
(DZ FAQ) Vadim Rumyantsev, 2:5030/301
UNIT UslPatrn; INTERFACE function MatchLineOk (pattern, line : string) : boolean; function MatchFileOk (pattern, name : string) : boolean; IMPLEMENTATION uses Dos; function MatchLineOk; function SubOk (ppos, lpos : byte) : boolean; begin if ppos > length (pattern) then SubOk := lpos > length (line) else if lpos > length (line) then SubOk := (pattern [ppos] = '*') and SubOk (ppos+1, lpos) else if pattern [ppos] = '*' then begin SubOk := false; for lpos := length (line) + 1 downto lpos do if SubOk (ppos+1, lpos) then begin SubOk := true; break end end else SubOk := ((pattern [ppos] = '?') or (pattern [ppos] = line [lpos])) and SubOk (ppos+1, lpos+1) end; begin MatchLineOk := SubOk (1, 1) end; function MatchFileOk; var pd, nd : DirStr; pn, nn : NameStr; px, nx : ExtStr; begin FSplit (pattern, pd, pn, px); FSplit (name, nd, nn, nx); MatchFileOk := ((pd = '') or (pd = nd)) and MatchLineOk (pn, nn) and MatchLineOk (px, nx) end; END. Этот файл можно взять здесь |
К предыдущей статье | К оглавлению раздела | К следующей статье
Вернуться к списку разделов FAQ.
Если у вас есть вопросы или пожелания, пишите, мы будем рады.Данный FAQ cоставили Ivan Borovicov и Viatcheslav Odintsov (2:5020/181) на основе OS/2 FAQ Дмитрия Завалишина (dz) и материалов переписки в группе эхоконференций su.os2.*. Оформление статей: Николай Королев. Программирование JSP для RU/2: Евгений Кулешов. Благодарности: Дмитрию Максимовичу (MaximDim) за громадную помощь на первых этапах и Дмитрию Бану (banshee) за его помощь при проверке текста.
Интересные ссылки:
Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ