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

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

подсчет букв в длинном тексте [D6, Win95/98]


kolega ©   (2002-11-02 22:42:00) 

Ребя!!! Нужно для криптографической работы посчитать кол-во букв, но не всех вместе(я это уже сделал), а каждое наименование букв отдельно. Например а=столько, б=столько, в=Столько и т.д. Буду благодарен за пример. С уважением.


TTCustomDelphiMaster   (2002-11-02 23:22:00) [1]

const
RusChar = ["а".."я", "ё"];
var
bukva: array [0..$FF] of LongWord;
i: LongWord;
txt: string;
begin
txt := AnsiLowerCase("абвгАБВГДЁ");
for i := 0 to $FF do
bukva[i] := 0;
for i := 1 to Length(txt) do
if txt[i] in RusChar then
Inc(bukva[Ord(txt[i])]);
for i := 0 to $FF do
if Chr(i) in RusChar then
Memo1.Lines.Add(Chr(i)+" = " + inttostr(bukva[i]));
end;


Юрий Зотов   (2002-11-02 23:12:00) [2]

> но не всех вместе(я это уже сделал)
Это сделала и Borland - Length.

> каждое наименование букв отдельно

Пример для английских букв (S - строка с текстом).

var
Arr: array["A".."Z"] of DWord;
i: DWord;
begin
ZeroMemory(@Arr["A"], SizeOf(Arr));
for i := 1 to Length(S) do Inc(Arr[UpCase(S[i])])
end;


Наверх

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