Главная страница
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.022 c
15-1190181663
oldman
2007-09-19 10:01
2007.10.21
Все программисты знают, что компьютер - железный глупый ящик


2-1190878733
fff
2007-09-27 11:38
2007.10.21
курсор


4-1177393309
AlexEgorov
2007-04-24 09:41
2007.10.21
Межпотоковое взаимодействие: есть поток, который при


2-1190817616
Vitek2
2007-09-26 18:40
2007.10.21
Помогите с TabControl!


1-1186554726
Dr. Andrew
2007-08-08 10:32
2007.10.21
Как по нажатию кнопки вставить символ в ElTreeInplaceEdit?