Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
Есть имя каталога:
c:windowsmedia empabcsoundchime.wav
Мне необходима сокращенная запись, такая как
c:windows..soundchime.wav
а не полный путь к файлу.
Есть ли простой способ для этого?
Я разработал процедуру, которая делает нечто похожее. Она сокращает имя каталога, когда он и текущий путь имеют в корне тот же диск и/или часть пути, совпадающие вначале. Полученный результат (сокращенная запись) действительно легче для восприятия. Я производил кодирование в шестнадцатиричном редакторе в Borland Pascal и некоторое время не использовал. Я не думаю, что данный код может быть несовместим с последними версиями Delphi.
functionshortenfilename(s: string
): string
; var
drive, curdrive: string
[2]; dir, curdir: string
[80]; name: string
[20]; ext: string
[5]; i: byte; begin
for
i := 1 to
length(s) do
s[i] := upcase(s[i]); s := fexpand(s); fsplit(s, dir, name, ext); drive := copy(dir, 1, 2); dir := copy(dir, 4, length(dir) - 3); getdir(0, curdir); curdrive := copy(curdir, 1, 2); curdir := copy(curdir, 4, length(curdir) - 3) + ''; if
drive = curdrive then
begin
if
copy(dir, 1, length(curdir)) = curdir then
begin
i := length(curdir); if
length(dir) <> i then
dir := dir + ''; shortenfilename := copy(dir, i + 1, length(dir) - i - 1) + name + ext; end
else
shortenfilename := copy(s, 3, length(s) - 2); end
else
shortenfilename := s; end
;