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

Вниз

CharPrev   Найти похожие ветки 

 
niel ©   (2009-08-05 10:58) [0]

Задача в том, чтобы пробежать строку с начала в конец и с конца в начало. С CharNext проблем нет, делаю так:


 procedure ToEof(const S: string);
 var
   P: PChar;
 begin
   P := PChar(S);
   while P^ <> #0 do
   begin
     ShowMessage(P^);
     P := CharNext(P);
   end;
 end;


А вот с CharPrev никак не разберусь, примеров тоже не нашел.


 
Palladin ©   (2009-08-05 11:05) [1]

учите основы, еклмн

For i:=1 to Length(s) Do
ShowMessage(s[i]);


 
niel ©   (2009-08-05 11:08) [2]


> учите основы, еклмн
For i:=1 to Length(s) Do
 ShowMessage(s[i]);


Так-то все ясно..., меня интересует возможность сделать данное, испольльзуя CharPrev.


 
Palladin ©   (2009-08-05 11:13) [3]

и нафига это спрашивается?
для того что бы сделать CharPrev нужно сначала добратся до индекса для которого его нужно применить.


 
Palladin ©   (2009-08-05 11:17) [4]

PChar, кстати говоря, точно также легко индексируется как и String
Нафига этот выпендреж нужен?


 
Сергей М. ©   (2009-08-05 11:19) [5]


> пробежать строку с начала в конец и с конца в начало


Проще пареной репы:

var
  P: PChar;
begin
  P := PChar(S);
// с начала в конец
  while P^ <> #0 do
  begin
    ShowMessage(P^);
    P := CharNext(P);
  end;
// с конца в начало
  repeat
    ShowMessage(P^);
    P := CharPrev(P);
  until P = PChar(s)
;


 
Сергей М. ©   (2009-08-05 11:21) [6]

пардон, наоборот:
 repeat
   P := CharPrev(P); //на символ назад к началу строки
   ShowMessage(P^);
 until P = PChar(s); //выход из цикла, если добежали до начала строки


 
niel ©   (2009-08-05 11:27) [7]


> пардон, наоборот:  repeat    P := CharPrev(P); //на символ
> назад к началу строки    ShowMessage(P^);  until P = PChar(s);
>  //выход из цикла, если добежали до начала строки


не компилится, CharPrev требует указания 2-х параметров,

LPTSTR CharPrev(

   LPCTSTR lpszStart, // pointer to first character
   LPCTSTR lpszCurrent  // pointer to current character  
  );



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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
2-1248866160
belmol
2009-07-29 15:16
2009.10.11
фигурная форма.


15-1249924835
@!!ex
2009-08-10 21:20
2009.10.11
Где найти книг во вселенной BattleTech?


6-1179900339
allucard
2007-05-23 10:05
2009.10.11
Отправка письма indy.


2-1249984784
Иван
2009-08-11 13:59
2009.10.11
Значение конкретного поля


1-1218827308
Дед
2008-08-15 23:08
2009.10.11
Добавление нового элемента в меню