Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.10.11;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.051 c
15-1250000457
Пит
2009-08-11 18:20
2009.10.11
Проверка логина на PHP + Postgres


9-1182245762
Домик
2007-06-19 13:36
2009.10.11
Как из двух изображений получить TGA с альфа каналом?


1-1219162412
yaric
2008-08-19 20:13
2009.10.11
Отрисовка TRichEdit


2-1249455497
niel
2009-08-05 10:58
2009.10.11
CharPrev


15-1249737117
alex649
2009-08-08 17:11
2009.10.11
алгоритм кластеризации ISODATA





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