Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.24;
Скачать: CL | DM;

Вниз

Pos() RTL   Найти похожие ветки 

 
Чапаев ©   (2006-08-09 18:37) [0]

Нужно искать последнее вхождение подстроки в строку. Конечно, можно циклически PosEx() вызывать, но это очень неудобно, так как позже понадобится предпоследнее вхождение и тыды.

Как бы организовать поиск "справа налево" с наименьшими трудозатратами?


 
Desdechado ©   (2006-08-09 18:40) [1]

Написать самому?

Когда-то писал для эксперимента. На эталон не претендует :)
{----- поиск подстроки lpSub от конца строки lpStr -----}
function fn_StrAtR( lpSub, lpStr: PChar ): Integer; cdecl; export;
var
 nLenSub, nLenStr, nStrPos, i: Integer;
begin
 result := 0;
 nLenSub := StrLen( lpSub );
 nLenStr := StrLen( lpStr );
 if( ( nLenSub > 0 ) and ( nLenStr > 0 ) and ( nLenSub <= nLenStr ) ) then
   begin
     nStrPos := nLenStr - 1;     // номер символа, от которого идет поиск влево
     while( nStrPos + 1 >= nLenSub ) do
       begin
         i := 0;                 // счетчик символов в подстроке
         while( ( i < nLenSub ) and
                ( lpStr[ nStrPos - i ] = lpSub[ nLenSub - 1 - i ] ) ) do
           Inc( i );
         if( i = nLenSub ) then
           begin
             result := nStrPos - nLenSub + 2;      // для нумерации с 1
             break;
           end;
         Dec( nStrPos );
       end; // while
   end;
end;


 
Jeer ©   (2006-08-09 18:52) [2]

Перевернуть и искать перевернутое же.


 
Dmitrij_K   (2006-08-09 20:32) [3]

Посмотри модуль AcedStrings.pas acedutils.narod.ru функции G_LastPos*



Страницы: 1 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.031 c
3-1153900271
miammiam
2006-07-26 11:51
2006.09.24
Нужно перенести данные из одной DBF в другую DBF таблицу


2-1157531619
webpauk
2006-09-06 12:33
2006.09.24
как определить в каком столбце DBGrid юзер кликнул мышью?


3-1153747299
VALUA
2006-07-24 17:21
2006.09.24
DBGRID - как поместить графическое изображение в колонку


2-1157113761
Серге И
2006-09-01 16:29
2006.09.24
Помогите определить количество суббот????


11-1130323876
Reset
2005-10-26 14:51
2006.09.24
"Закрыть" MAINICON