Получение имени файла из пути без или с его расширением

Советы » Файлы » Получение имени файла из пути без или с его расширением

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Получение имени файла из пути без или с его расширением.

Зависимости: нет
Автор:       VID, snap@iwt.ru, ICQ:132234868, Махачкала
Copyright:   VID
Дата:        18 апреля 2002 г.
***************************************************** }

function

ExtractFileNameEx(FileName: string

; ShowExtension: Boolean): string

; //Функция возвращает имя файла, без или с его расширением. //ВХОДНЫЕ ПАРАМЕТРЫ //FileName - имя файла, которое надо обработать //ShowExtension - если TRUE, то функция возвратит короткое имя файла // (без полного пути доступа к нему), с расширением этого файла, иначе, возвратит // короткое имя файла, без расширения этого файла. var

I: Integer; S, S1: string

; begin

//Определяем длину полного имени файла I := Length(FileName); //Если длина FileName <> 0, то if

I <> 0 then

begin

//С конца имени параметра FileName ищем символ "" while

(FileName[i] <> '') and

(i > 0) do

i := i - 1; // Копируем в переменную S параметр FileName начиная после последнего // "", таким образом переменная S содержит имя файла с расширением, но без // полного пути доступа к нему S := Copy(FileName, i + 1, Length(FileName) - i); i := Length(S); //Если полученная S = '' то фукция возвращает '' if

i = 0 then

begin

Result := ''; Exit; end

; //Иначе, получаем имя файла без расширения while

(S[i] <> '.') and

(i > 0) do

i := i - 1; //... и сохраням это имя файла в переменную s1 S1 := Copy(S, 1, i - 1); //если s1='' то , возвращаем s1=s if

s1 = '' then

s1 := s; //Если было передано указание функции возвращать имя файла с его // расширением, то Result = s, //если без расширения, то Result = s1 if

ShowExtension = TRUE then

Result := s else

Result := s1; end

//Иначе функция возвращает '' else

Result := ''; end

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com