Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

text [D5, WinXP]


mrAndersen ©   (2006-03-06 23:28:00) 

Подскажите хотя бы как изменить значение позиции с которой бы начиналась команда pos, потому что эта команда начинает действовать с 1-й позиции  (как ее изменить)


Leonid Troyanovsky   (2006-03-07 09:23:00) [1]


> Германн ©   (07.03.06 02:26) [4]

> (Если нужно) Copy
> Delete.



var
 p, p0: PChar;
..
p0 := PChar(s);
p := AnsiStrPos(p0 + i, PChar(substr)); // пропустим i символов
if Assigned(p) then
  ShowMessage(IntToStr(p - p0 +1));


--
Regards, LVT.


mrAndersen   (2006-03-07 02:37:00) [2]

Я над этим тоже думал


Германн   (2006-03-07 02:26:00) [3]

Pos.
(Если нужно) Copy
Delete.
И снова
Pos.
(Если нужно) Copy.
Delete.
И так до бесконечности. (Точнее до Lehgth() < 0)


Virgo_Style   (2006-03-07 00:50:00) [4]

см. также PosEx


mrAndersen   (2006-03-07 00:02:00) [5]

Я на Delphi5 делаю проги, но все равно очень благодарен за этот программный код


wicked   (2006-03-06 23:36:00) [6]

типа так.....
function pos2(const subs, s: string; start: integer): integer;
var r: integer;
begin
r := pos(subs, substring(s, start, maxint));
if r > 0 then
result := r + start;
else
result := 0;
end;


за ошиПки не ругайте, я на паскале уже пару лет не писал....


Наверх

Титульная страница Поиск, карта сайта Написать письмо