Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужна помощь с ValueListEditor 
:(
    Опции темы
weg
Дата 24.3.2010, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 22.10.2008

Репутация: нет
Всего: нет



Привет программистам помогите плиз мне надо чтоб из Memo1 каждое слово вставлялось в ValueListEditor и количество этого слова встречающего в тексте т.е слово = количество. 
вот функция подсчета количества всех слов мож кому поможет
Код

function GetWordsCount(const aMemo:TMemo):Integer;
var
  i:integer;
  s:string;
begin
  Result:=0;
  s:=AMemo.Lines.Text;
  s := s + ' ';
  with aMemo do
    if Length(s)>0 then
      begin
        for i:=1 to Length(s) do
        begin
          if s[i] in ['.',',','!',':',';','(',')'] then
            continue;
          if (s[i]=' ')and (s[i]=' ') then
          begin
            delete(s,i,1);
            inc(result);
          end;
        end;
      end;
end;

PM MAIL   Вверх
DarkProg
Дата 24.3.2010, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

Репутация: 4
Всего: 19



Значит обрисую на пальцах, а реализовывать уже как-нить сами пожалуйста иначе "центр помощи".
Значит есть такая функция pos ещё с Pascal осталась, она находит первое вхождение подстроки в строку(как работает будешь искать уже сам)
Значит берёшь первую строчку и присваеваем её значение некоторой переменной, далее ищем при помощи pos первый пробел, находим используем copy(тоже найдёшь в учебники по Pascal'ю как работает), то что выдернули copy проверяем последний символ, если запятая или точка или ещё какой знак препинания, то его удаляем функцией delete. Потом опять Delete, только удаляем из исходной строки все символы что выдернул copy и минус пробел.
Все функции что я указал описаны в любом нормальном учебнике по Pascal'ю, но вроде есть и в некоторых учебниках по Delphi, если нет учебников, то скачать никаких проблем не представляет - благо инет огромен.

Далее желательно видеть попытку реализации алгоритма smile


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
Keeper89
Дата 24.3.2010, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



Хотелось бы знать, что за текст в Memo (как отделены слова друг от друга).

Это сообщение отредактировал(а) Keeper89 - 24.3.2010, 22:09


--------------------
PM MAIL WWW   Вверх
DarkProg
Дата 24.3.2010, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Законченный романтик
***


Профиль
Группа: Завсегдатай
Сообщений: 1784
Регистрация: 11.3.2009
Где: Земля

Репутация: 4
Всего: 19



Цитата(Keeper89 @  24.3.2010,  22:04 Найти цитируемый пост)
Хотелось бы знать, что за текст в Memo (как отделены слова друг от друга).

НУ судя по 14 строчке там запятые есть точки и ещё кое что а также прОбЕлы  smile

Добавлено через 2 минуты и 53 секунды
А ещё мне очень нравится 16 строчка  smile  smile  smile 

P.S. модераторы не ругайте меня, а то день был длинным и теперь начинаю издеватьсяя над всеми


--------------------
"И твоя голова всегда в ответе за то куда сядет твой зад..."

"Я студент - скажите с какого я ВУЗа..."

 smile  smile  smile 
PM MAIL   Вверх
Keeper89
Дата 25.3.2010, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 9
Всего: 58



Цитата(DarkProg @  24.3.2010,  23:40 Найти цитируемый пост)
НУ судя по 14 строчке там запятые есть точки и ещё кое что а также прОбЕлы

Что там судить, пусть ТС и скажет smile


--------------------
PM MAIL WWW   Вверх
weg
  Дата 26.3.2010, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 22.10.2008

Репутация: нет
Всего: нет



вот пытался написать ну чет не получается
Код

s:=Memo1.Lines.Text;
  s := s + ' ';
  n:=1;i:=2;k:=0;
  ValueListEditor3.Strings.Clear;
  while i<= length(s)  do
  begin
    if s[i]=' ' then
    begin
      sl:=copy(s,n,i-1);
      n:=i+1;
       if not ValueListEditor2.FindRow(sl,k) then
         ValueListEditor3.Strings.Add(sl+'=1')
      else
        begin
          k:=StrToInt(ValueListEditor3.Values[sl]);
          inc(k);
          ValueListEditor3.Values[sl]:=IntToStr(k);
        end;
    end;
    inc(i);
  end;

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0726 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.