![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Регистрация: 20.11.2013
Сообщений: 8
|
![]()
Доброго всем времени суток.
Прошу подсказать знающих. В ComboBox1 вбито 3 строки (назовем их А,В,С). При нажатии кнопки выбранное значение переносится в Мемо1. (Это все отлично работает) Так же есть компонент Panel, в котором надо реализовать следующие: - на компоненте Panel должно подсчитываться (отображаться) количество записей "А" имеющихся в Мемо1. Подскажите как реализовать данную функцию, можно и не в компоненте Panel - а в любом другом. В крации: Надо отобразить сколько компонентов "А" вбито в Мемо. Код:
Последний раз редактировалось Stilet; 20.11.2013 в 12:02. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 05.07.2010
Сообщений: 136
|
![]() Код:
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 20.11.2013
Сообщений: 8
|
![]()
Теперь Panel1 постоянно отображает - Выбрано записей A:0
По сути надо сделать так чтоб Panel выводила число сколько раз я выбрал "А" в ComboBox и занес в Мемо Код:
Последний раз редактировалось Stilet; 20.11.2013 в 16:43. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]()
у вас в мемо сложная строка фрагментом которой является (или не является) нужный вам текст (А).
либо если есть гарантия (что вряд ли) неповторения такого текста в других составляющих строки (Edit1, Edit2, ....) воспользоваться для подсчета поиском в строке Код:
Код:
Код:
программа — запись алгоритма на языке понятном транслятору
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 20.11.2013
Сообщений: 8
|
![]()
Спасибо большое, все получилось, вариант второй подошел.
begin Memo1.Lines.Add(IntToStr(Memo1.Line s.Count + 1) + ' ' + Edit1.Text + '/' + Edit2.Text + '/' + Edit3.Text + '/' + MaskEdit1.Text + '/' + ComboBox1.Text + '/' + ComboBox2.Text + '/' + ComboBox3.Text); Cnt := 0; for I := 0 to Memo1.Lines.Count - 0 do if pos(combobox1.Items[0], memo1.Lines[i])>0 then Inc(cnt); Panel1.Caption:=inttostr(cnt); Panel1.Caption := 'Выбрано записей A: ' + IntToStr(Cnt); end; Последний раз редактировалось Plex3; 20.11.2013 в 23:41. |
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]() Цитата:
В этом случае возможны ошибки (ложные срабатывания), если вдруг текст из других источников (Edit1, Edit2 и т.д) окажется точно таким же как и первая строка Combobox1, хотя она в этой строке и не была бы использована.
программа — запись алгоритма на языке понятном транслятору
|
|
![]() |
![]() |
![]() |
#7 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
Просто у Вас подход неправильный. Не надо привязывать логику работы к компонентам, они лишь средства ввод-вывода информации. Лучше, например, завести пару массивов, и при первой операции заносить во второй массив информацию, какая была выбрана строка (из первого массива), а потом просто подсчитывать нужные записи из этого второго массива. Мемо при этом просто отображают содержимое 2го массива, а комбо - первого, по кнопке узнать индекс строки в комбо и произвести перенос из массива в массив и обновлять компоненты по мере надобности.
пс. За "В крации" надо карать методом скормления злобным лингвистам. ![]() Последний раз редактировалось phomm; 21.11.2013 в 16:11. |
![]() |
![]() |
![]() |
#8 |
Регистрация: 20.11.2013
Сообщений: 8
|
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с ComboBox | gsl180 | C++ Builder | 4 | 10.07.2012 14:12 |
Проблема с Combobox | Максим139 | Помощь студентам | 2 | 17.07.2011 09:21 |
Проблема comboBox | Kors07 | C# (си шарп) | 2 | 09.05.2011 16:27 |
Проблема с ComboBox | boostman | Общие вопросы Delphi | 13 | 13.08.2008 15:01 |
Проблема с ComboBox'ом | KORT | Помощь студентам | 8 | 27.10.2007 18:12 |