Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.47 MB
Время: 0.018 c
2-1147257319
alkin
2006-05-10 14:35
2006.05.28
Как отсортировать TreeView по ВТОРОЙ колонке ?


2-1147343034
Призрак
2006-05-11 14:23
2006.05.28
TOverlapped


2-1147242403
Id
2006-05-10 10:26
2006.05.28
Регистарция входа в базу данных на FB


2-1147280995
BAngel
2006-05-10 21:09
2006.05.28
как создать свой цвет


1-1145395794
MZUser
2006-04-19 01:29
2006.05.28
EXE из памяти





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский