Форум: "Начинающим";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];
ВнизКак вычесть из строки? Найти похожие ветки
← →
Adios © (2006-05-10 18:34) [0]Как вычесть из конца строки определённое количество символов, заранее спасибо.
← →
Desdechado © (2006-05-10 18:37) [1]Copy
если я правильно понял, что речь идет о попытке укоротить строку
← →
Adios © (2006-05-10 18:44) [2]если индекс ставить то лажа получается,
extractfilename(FileListBox1.FileName))
мне надо чтото добавить в вышеприведённую строку чтобы убрать последние 4 символа, тобишь расширение, ты знаешь как это стелать?
← →
Desdechado © (2006-05-10 18:49) [3]расширение не обязательно 3 знака
см. ExtractFileExt, Pos и Copy
← →
Loginov Dmitry © (2006-05-10 18:49) [4]Copy, Delete, SetLength и т.д.
← →
Adios © (2006-05-10 18:56) [5]мне надо чтобы получилось что-то вроде:
extractfilename(FileListBox1.FileName)-extrackfileext(FileListBox1.FileName)
тока на языке делфи, потому что - не прокатывает
← →
antonn © (2006-05-10 19:04) [6]
function DeleteExtension( Filename : String) : string;
var Ext : String; extl, p : Integer;
begin
Ext := ExtractFileExt(filename);
extl := Length(Ext);
P := Pos(Ext, Filename);
if P <> 0 then begin
Delete(Filename, Length(Filename) - extl + 1 ,extl);
Result := Filename;
end;
end;
ЗЫ не мое...
← →
Adios © (2006-05-10 19:11) [7]подскажы ещё как сделать чтобы эта функция не выводила путь к файлу?
← →
antonn © (2006-05-10 19:16) [8]мдя... DeleteExtension(extractfilename())
← →
begin...end © (2006-05-10 19:17) [9]function DeleteFilePathAndExt(const FileName: string): string;
var
I: Integer;
begin
Result := ExtractFileName(FileName);
I := LastDelimiter(".", Result);
if I > 0 then
Result := Copy(Result, 1, Length(Result) - I)
end
← →
Adios © (2006-05-10 19:19) [10]извиняюсь за напряг, но потому и пишу вопросы в конференции для начинающих :)
← →
Desdechado © (2006-05-10 19:21) [11]begin...end © (10.05.06 19:17) [9]
а кто сказал, что точка всегда есть в имени файла и что ее не бывает в именах папок?
ведь если у файла расширения нет, а в папке есть, то не будет работать
← →
antonn © (2006-05-10 19:22) [12]Desdechado © (10.05.06 19:21) [11]
function DirectoryExists(const Name: string): Boolean;
asm
PUSH EAX
CALL GetFileAttributes
INC EAX
JZ @@exit
DEC EAX
{$IFDEF PARANOIA}
DB $24, FILE_ATTRIBUTE_DIRECTORY
{$ELSE}
AND AL, FILE_ATTRIBUTE_DIRECTORY
{$ENDIF}
SETNZ AL
@@exit:
end;
:)
← →
begin...end © (2006-05-10 19:29) [13]> Desdechado © (10.05.06 19:21) [11]
> ведь если у файла расширения нет, а в папке есть, то не
> будет работать
Будет. Потому что после ExtractFileName в строке Result никаких папок уже не останется. А останется только имя файла, в котором LastDelimiter и будет искать последнюю точку.
← →
Desdechado © (2006-05-10 20:18) [14]begin...end © (10.05.06 19:29) [13]
сорри, я опять невнимательно код посмотрел :(
← →
Пусик © (2006-05-10 20:26) [15]ChangeFileExt(ExtractFileName(FilePath),"");
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.011 c