Главная страница
    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.011 c
2-1147502661
Mich
2006-05-13 10:44
2006.05.28
Timage


1-1145334556
Layner
2006-04-18 08:29
2006.05.28
TChart > Axis > Scales > Automatic, но как показать график чуть


2-1147460349
News
2006-05-12 22:59
2006.05.28
Объекты


2-1146582118
@gent
2006-05-02 19:01
2006.05.28
Как вывести на печать форму с нужным разрешением экрнана ?


4-1141560528
Игорь Степанов
2006-03-05 15:08
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский