Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

вырезать строку по длинне с вырезом в центре


Gu ©   (2011-11-28 15:28:00) 

нет ли в дельфях какой готовой фунции (или алгоритма), которая бы делала это

Function MyFunc(path:string;PathCut:integer):string;

например
при path='c:\какойто длинный путь' и PathCut=например 14

возвращала бы

'c:\ка\...\путь'

а при PathCut>=length(str) возвращала path без обрезки?

т.е. обрезала бы путь по указанной длине с вставкой ... или \...\ в центре


Gu   (2011-11-28 16:10:00) [1]


> И. Павел

спасибо, как вариант.

нашел, даже лучше: PathCompactPathEx, то, что надо.


RWolf   (2011-11-28 16:01:00) [2]

ну и зачем нужна эта строка с многоточиями?
в БД в поле таблицы вписывать, что ли?


Anatoly Podgoretsky   (2011-11-28 15:56:00) [3]

> Gu  (28.11.2011 15:45:05)  [5]

А этот путь и есть рисунок, а не строка.


clickmaker   (2011-11-28 15:48:00) [4]

> если бы результат возвращала string

DT_MODIFYSTRING


И. Павел   (2011-11-28 15:48:00) [5]

Как-то так:
function cut(s: string; size: integer): string;
begin
 if length(s) > size then
 begin
   size := size — 3;
   Delete(s, size div 2 + size mod 2 + 1, length(s) — size);
   Insert('...', s, size div 2 + size mod 2 + 1);
 end;
 result := s;
end;


Gu   (2011-11-28 15:45:00) [6]

DT_PATH_ELLIPSIS это то что надо было бы, если бы результат возвращала string, а не рисовала.


Gu   (2011-11-28 15:43:00) [7]

ExtractShortPathName это не то, это короткий путь из длинного.
а мне надо - отображение пути при копировании например, если он в окно не влазиет, где путь показан. вроде far или dos navigator так пути показывали при копировании или др. файловых операциях, когда они очень длинные.


clickmaker   (2011-11-28 15:41:00) [8]

DrawText DT_PATH_ELLIPSIS


Омлет   (2011-11-28 15:39:00) [9]

Капуть мозга.


Ega23   (2011-11-28 15:33:00) [10]

http://docwiki.embarcadero.com/VCL/en/SysUtils.ExtractShortPathName
+ See Also
Поройся, может чё найдёшь.


Наверх

Титульная страница Поиск, карта сайта Написать письмо