Форум: "Начинающим";
Текущий архив: 2012.03.04;
Скачать: [xml.tar.bz2];
Внизвырезать строку по длинне с вырезом в центре Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.003 c