Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 31.03.2015, 11:55
mrSlink2012 mrSlink2012 вне форума
Прохожий
 
Регистрация: 13.03.2013
Сообщения: 18
Репутация: 10
По умолчанию Регулярные выражения

Всем привет.
Такой вопрос, как из пути до файла
C:\Program Files (x86)\DAEMON Tools Ultra\
Удалить все что бы осталось только DAEMON Tools Ultra
Ответить с цитированием
  #2  
Старый 31.03.2015, 13:29
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 576
Версия Delphi: 6
Репутация: выкл
По умолчанию

Если речь про Delphi, то правильный способ -- не регулярки, а функции SysUtils:
Код:
Result := ExtractFileName(ExcludeTrailingBackslash(Source));
__________________
Не стоит путать форумы с богадельнями. © Bargest
Ответить с цитированием
  #3  
Старый 31.03.2015, 13:57
mrSlink2012 mrSlink2012 вне форума
Прохожий
 
Регистрация: 13.03.2013
Сообщения: 18
Репутация: 10
По умолчанию

Да речь о Delphi.
Но данная функция просто удаляет последний \
а мне нужно что бы он удалил все кроме DAEMON Tools Ultra(Это название папки).
Ответить с цитированием
  #4  
Старый 31.03.2015, 14:10
mrSlink2012 mrSlink2012 вне форума
Прохожий
 
Регистрация: 13.03.2013
Сообщения: 18
Репутация: 10
По умолчанию

Или можно сравнить например в переменной S находится путь до файла(C:\Program Files (x86)\DAEMON Tools Ultra\) а в переменной W находится имя файла(DaemonTU.exe), и нужно их сравнить если в S будет хотя бы 3 похожих буквы с W то все ок(сравнивание без учета регистра).

Последний раз редактировалось mrSlink2012, 31.03.2015 в 15:17.
Ответить с цитированием
  #5  
Старый 31.03.2015, 16:07
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 576
Версия Delphi: 6
Репутация: выкл
По умолчанию

Цитата:
Сообщение от mrSlink2012
Да речь о Delphi.
Но данная функция просто удаляет последний \
а мне нужно что бы он удалил все кроме DAEMON Tools Ultra(Это название папки).
Я всё правильно написал. Если убрать последний слеш, функция ExtractFileName не догадается, что это папка. Каталог ведь тоже файл. Что нам теория ФС говорит?

Этот код показывает строку DAEMON Tools Ultra, как и требуется:
Код:
ShowMessage(ExtractFileName(ExcludeTrailingBackslash('C:\Program Files (x86)\DAEMON Tools Ultra\')));
В следующий раз советую читать мои ответы внимательней.
__________________
Не стоит путать форумы с богадельнями. © Bargest
Ответить с цитированием
Этот пользователь сказал Спасибо Freeman за это полезное сообщение:
mrSlink2012 (31.03.2015)
  #6  
Старый 31.03.2015, 16:12
mrSlink2012 mrSlink2012 вне форума
Прохожий
 
Регистрация: 13.03.2013
Сообщения: 18
Репутация: 10
По умолчанию

Я его в код вставил и он вывел ShowMessage(C:\Program Files (x86)\DAEMON Tools Ultra); мне просто нужно взять название папки и название файла и сравнить если они похожи то добавить в список если нет то пропустить. Вместо ShowMessage будет переменная типа String.
Ответить с цитированием
  #7  
Старый 31.03.2015, 16:19
mrSlink2012 mrSlink2012 вне форума
Прохожий
 
Регистрация: 13.03.2013
Сообщения: 18
Репутация: 10
По умолчанию

Все извините вы правы, я не так написал. Спасибо.
Ответить с цитированием
Этот пользователь сказал Спасибо mrSlink2012 за это полезное сообщение:
Freeman (31.03.2015)
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:22.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter