Вниз
Скачать: CL | DM;

Как вычесть из строки?   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.036 c
2-1147261376
Fl@sh
2006-05-10 15:42
2006.05.28
Клиент сервер и мемори стрим


2-1147424074
max32
2006-05-12 12:54
2006.05.28
delfi------->msword


1-1145295250
Volf_555
2006-04-17 21:34
2006.05.28
Как в TWebBrowser изменить кодировку на КИРИЛЛИЦУ?!


15-1146649865
erika
2006-05-03 13:51
2006.05.28
Проблема с программой написанонй под D3 с работой в WS XP


3-1143990847
так себе
2006-04-02 19:14
2006.05.28
Создать отчет в FastReport2.x




   Наверх