Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2012.03.04;
Скачать: CL | DM;

Вниз

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

 
Gu   (2011-11-28 15:28) [0]

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

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

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

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

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

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

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


 
Ega23 ©   (2011-11-28 15:33) [1]

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


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

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


 
clickmaker ©   (2011-11-28 15:41) [3]

DrawText DT_PATH_ELLIPSIS


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

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


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

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


 
clickmaker ©   (2011-11-28 15:48) [6]

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

DT_MODIFYSTRING


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

Как-то так:
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;


 
Anatoly Podgoretsky ©   (2011-11-28 15:56) [8]

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

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


 
RWolf ©   (2011-11-28 16:01) [9]

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


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


> И. Павел

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

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



Страницы: 1 вся ветка

Текущий архив: 2012.03.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.009 c
15-1321182125
clickmaker
2011-11-13 15:02
2012.03.04
Баг в DMClient


3-1272459836
mefodiy
2010-04-28 17:03
2012.03.04
Несоответствие между ADO и AnyDAC


15-1321302603
Юрий
2011-11-15 00:30
2012.03.04
С днем рождения ! 15 ноября 2011 вторник


4-1254841791
intlex
2009-10-06 19:09
2012.03.04
как определить владельца мьютекса (mutex owner)


2-1322482246
Scott Storch
2011-11-28 16:10
2012.03.04
проверка на nil