Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2008, 09:59   #11
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

а не проще исключить из строки результат ExtractFileExt
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 24.09.2008, 10:03   #12
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

кстати и не зря в этой функции (extractfileext) используется LastDelimiter
ведь очень удобная вещь, зачем городить....

Цитата:
LastDelimiter Routine

Returns the byte index of the last character that matches any character in a specified set of delimiters.

Unit
SysUtils

Syntax


[Delphi] function LastDelimiter(const Delimiters: string; const S: string): Integer;


Description
Call LastDelimiter to locate the last delimiter in a specified string.

Delimiters is a string where each character is a valid delimiter.

S is the string to search for delimiters.

For example, the line

MyIndex := LastDelimiter('\.:','c:\filename.ex t'); // Delphi
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 24.09.2008, 10:41   #13
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Сообщение от Квэнди Посмотреть сообщение
а не проще исключить из строки результат ExtractFileExt
А как это сделать? В смысле удалить из строки определенную подстроку?

Serge_Bliznykov, PosEx описана в модуле StrUtils, в D5 нет ни того ни другого.
Добавляй в проект и пользуйся (лучше конечно хотя бы D7 поставить, и та устарела уже)
Код:
function PosEx(const SubStr, S: string; Offset: Cardinal = 1): Integer;
var
  I,X: Integer;
  Len, LenSubStr: Integer;
begin
  if Offset = 1 then
    Result := Pos(SubStr, S)
  else
  begin
    I := Offset;
    LenSubStr := Length(SubStr);
    Len := Length(S) - LenSubStr + 1;
    while I <= Len do
    begin
      if S[I] = SubStr[1] then
      begin
        X := 1;
        while (X < LenSubStr) and (S[I + X] = SubStr[X + 1]) do
          Inc(X);
        if (X = LenSubStr) then
        begin
          Result := I;
          exit;
        end;
      end;
      Inc(I);
    end;
    Result := 0;
  end;
end;
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 24.09.2008, 10:54   #14
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Код:
var s,s1,sr:string;
begin
s:='name.jpg';
s1:=extractfileext(s);
delete(s,pos(s1,s),length(s1));
showmessage(s);
end;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с текстом pupil Паскаль, Turbo Pascal, PascalABC.NET 4 15.03.2008 14:00
Работа с текстом Sanek_ntsk Общие вопросы C/C++ 10 12.01.2008 19:42
Работа с текстом wwww Общие вопросы Delphi 5 18.12.2007 17:23
Работа с текстом, в паскале. Cartman18 Помощь студентам 4 10.12.2007 18:06
Работа с текстом (замена подстроки) GAGARIN-NEW Общие вопросы Delphi 12 20.11.2007 16:54