Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.28;
Скачать: 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 вся ветка

Текущий архив: 2006.05.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
15-1146758657
Axis_of_Evil
2006-05-04 20:04
2006.05.28
реестр + запуск программы с параметром


15-1146430993
iZEN
2006-05-01 01:03
2006.05.28
С днём весны и труда.


1-1145553236
viktorsen
2006-04-20 21:13
2006.05.28
Написание собственного инсталлятора


15-1146556510
Untermensch
2006-05-02 11:55
2006.05.28
Подскажите, какую нить библиотечку попроще, для MsSQL2005


2-1147423268
Megabyte
2006-05-12 12:41
2006.05.28
создание простейшего сервиса





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский