Главная страница
    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.48 MB
Время: 0.011 c
15-1146659495
Layner
2006-05-03 16:31
2006.05.28
Вопрос, есть ли паромное сообщение между Крымом и Россией?


2-1147625260
maniaks1
2006-05-14 20:47
2006.05.28
атрибуты файла


4-1141514317
Piter
2006-03-05 02:18
2006.05.28
Как добавить иконку во всплывающее меню?


1-1145341487
Гоша
2006-04-18 10:24
2006.05.28
Как открыть интернет эксплорер внутри своего окна?


2-1146962389
Интересующийся
2006-05-07 04:39
2006.05.28
Проект Delphi без System, как?





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