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

Вниз

Подскажите функцию для посчёта количества символов...   Найти похожие ветки 

 
vegarulez ©   (2007-09-22 15:27) [0]

Привет всем масетрам!
Подскажите функцию для посчёта количества символов в строке...
если таковая имеется...
допустим есть слово "молоко" мне нужно функцию которая возратит 3 при поиске символа "о"...
Есть ли такая?


 
Ping   (2007-09-22 15:36) [1]

function CountChars(const a_sString: string; a_cChar: Char): integer;
var
 P: PChar;
begin
 Result := 0;
 P := PChar(a_sString);
 while (P^ <> #0) do
 begin
   if (P^ = a_cChar) then
     Result := Result + 1;
   P := CharNext(P);
 end;
end;


 
vegarulez ©   (2007-09-22 15:49) [2]

пасип


 
Leonid Troyanovsky ©   (2007-09-22 16:18) [3]


> vegarulez ©   (22.09.07 15:49) [2]


function CountChars(const a_sString: string; a_cChar: Char): Cardinal;
var
 i: Cardinal;
begin
Result := 0;
for i := 1 to Length(a_sString) do
   if (a_sString[i] = a_cChar) then
     inc(Result);
end;


--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2007-09-22 16:19) [4]

> vegarulez  (22.09.2007 15:27:00)  [0]

А должна 6, поскольку количество равно 6


 
Dimaxx ©   (2007-09-23 15:02) [5]


> А должна 6, поскольку количество равно 6

В слове "молоко" 6 букв "о"?? Оо


 
Суслик ©   (2007-09-23 15:05) [6]

Считаю функцию из [1] не совсем корректной, ибо строки в дельфи могут содержать символы #0, которые не являются  признаком конца строки.


 
Anatoly Podgoretsky ©   (2007-09-23 15:05) [7]


> функцию для посчёта количества символов в строке...


 
Denis_ ©   (2007-09-23 15:30) [8]


> А должна 6, поскольку количество равно 6

ну Вы блин даёте! (С)


 
Johnmen ©   (2007-09-23 15:49) [9]

Количество символов в строке "молоко" действительно 6...:)


 
Navuh ©   (2007-09-25 18:25) [10]


> for i := 1 to Length(a_sString) do

постоянно вычислять длину в цикле?
а если таких строк, как в Бразилии обизян? ;)


 
Zeqfreed ©   (2007-09-25 18:28) [11]

> Navuh ©   (25.09.07 18:25) [10]

Не хотелось бы, но придется сказать, что таки длина не будет вычисляться каждую итерацию. Хотя, кажется, есть какая-то соответствующая директива, которая меняет такое поведение.


 
Anton_K ©   (2007-09-25 21:07) [12]


> Хотя, кажется, есть какая-то соответствующая директива,
> которая меняет такое поведение.

Нет, такой директивы нет.


 
tesseract ©   (2007-09-25 22:54) [13]


>  Хотя, кажется, есть какая-то соответствующая директива,
>  которая меняет такое поведение.


Нет директивы, есть цикл repeat .. until и do..while.


 
Dmitro ©   (2007-09-25 22:58) [14]


> tesseract ©   (25.09.07 22:54) [13]
>
> >  Хотя, кажется, есть какая-то соответствующая директива,
>
> >  которая меняет такое поведение.
>
>
> Нет директивы, есть цикл repeat .. until и do..while.

НЕ do..while, а while..do


> Leonid Troyanovsky ©   (22.09.07 16:18) [3]

РЕСПЕКТ: Нормальный пример для начинающего - все понятно и работает!


 
Zeqfreed ©   (2007-09-25 23:05) [15]

> Anton_K ©   (25.09.07 21:07) [12]

На нет и суда нет. В джаббер принципиально не выходишь? :)



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

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

Наверх




Память: 0.5 MB
Время: 0.021 c
11-1174291077
Don
2007-03-19 10:57
2007.10.21
StatusBar и OpenSaveDialog


3-1181655989
Лёля
2007-06-12 17:46
2007.10.21
Midas Insufficient memory for this operation


15-1190615735
БарЛог
2007-09-24 10:35
2007.10.21
Проблема при установке Win 2003, XP...


15-1190638144
Empleado
2007-09-24 16:49
2007.10.21
И почему я - не таракан?!


9-1161516574
Fastics
2006-10-22 15:29
2007.10.21
Реализация физики и столкновений на ODE или Newton.