Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2008, 06:59   #1
Ensoph
Пользователь
 
Аватар для Ensoph
 
Регистрация: 29.06.2007
Сообщений: 47
По умолчанию Подсчет количества и частоты

(Для текстового редактора) Помогите пожалуйста в delphi с помощью модального окна вывести информацию о количестве символов, слов и предложений в тексте, и с помощью немодального окна вывести информацию о частоте встречаемости одного символа (без учета регистра). Процесс выполнения поиска отобразить на компоненте TProgressBar.
все когда-то начинали с элементарного...
Ensoph вне форума Ответить с цитированием
Старый 08.05.2008, 07:47   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Какого редактора?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.05.2008, 07:51   #3
Ensoph
Пользователь
 
Аватар для Ensoph
 
Регистрация: 29.06.2007
Сообщений: 47
По умолчанию

ну пишется прога текстового редактора. и в этой программе необходимо реализовать следующее... см. выше
все когда-то начинали с элементарного...
Ensoph вне форума Ответить с цитированием
Старый 08.05.2008, 08:07   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

На чем основан редактор? на РичЭдите, на Мемо?...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.05.2008, 08:12   #5
Ensoph
Пользователь
 
Аватар для Ensoph
 
Регистрация: 29.06.2007
Сообщений: 47
По умолчанию

второе. на мемо
все когда-то начинали с элементарного...
Ensoph вне форума Ответить с цитированием
Старый 08.05.2008, 09:34   #6
-=<[Evklidd]>=-
Форумчанин Подтвердите свой е-майл
 
Аватар для -=<[Evklidd]>=-
 
Регистрация: 22.01.2008
Сообщений: 161
По умолчанию

По моему это должно выглядеть так, вывод с помощью модального окна организуете сами
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
 dec: set of char;
 i, w, sim, pr, sl, c: integer;
 str, ch: string;
begin
 ch:= Edit1.Text;
 dec:= ['.','!','?'];
 sim:= 0;
 pr:= 0;
 sl:= 0;
 c:= 0;
 for i:= 0 to Memo1.Lines.Count-1 do
  begin
   str:= Memo1.Lines[i];
   sim:= sim + Length(str);
   for w:= 1 to Length(str) do
    begin
     if str[w] = ch then
     inc(c);
     if str[w]= ' ' then
     inc(sl);
     if str[w] in dec then
     inc(pr);
    end;
   inc(sl);
  end;
 with ProgressBar1 do
  begin
   Position:= Round((c/sim)*100);
  end;
 Label1.Caption:= 'Simvolov: '+ IntToStr(sim)+ #13 + 'Slov: '+IntToStr(sl)
 + #13+ 'Predlosheni: '+ IntToStr(pr);
end;
ЗЫ Следите за пробелами и знаками препинания, если не поставить точку в конце предложения например, то программа его не увидит и не увеличит счетчик, то же самое и с пробелами и словами
-=<[Evklidd]>=- вне форума Ответить с цитированием
Старый 08.05.2008, 10:16   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А мне кажется так лучше будет рассчитать кол-во слов и предложений:
Код:
var slov,predl,i:integer;
begin
//********* FOR ******************
for i :=0  to Length(Memo1.Lines.Text) do
begin
 if Memo1.Lines.Text[i]=' ' then inc(slov);
 if Memo1.Lines.Text[i]='.' then inc(predl);
end;
//******* END FOR ****************{}
caption:='Слов='+IntToStr(slov)+' Предложений='+IntToStr(predl)
+' Символов='+IntToStr(length(Memo1.Lines.Text)-Memo1.Lines.Count*2);
end;
P.S. Это ни в коем случае не критика, просто предложение пооптимальнее
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчитать количества знака в числе valerij Microsoft Office Excel 5 17.08.2008 16:52
Подсчет количества заданных символов в строке Mihailo Помощь студентам 3 23.12.2007 11:58
Нахождение количества понедельников в XX веке Omedus Паскаль, Turbo Pascal, PascalABC.NET 5 28.11.2007 22:17