Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
frostify
0 / 0 / 0
Регистрация: 29.05.2016
Сообщений: 16
#1

Поиск в StringGrid - Delphi

29.05.2017, 23:05. Просмотров 192. Ответов 10
Метки нет (Все метки)

Не получается осуществить вывод в memo ударников. Сделала отличников, не аттестованных, но с ударниками всё плохо. Подскажите пожалуйста.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 //ОТЛИЧНИКИ
  for j := 1 to Form2.StringGrid1.RowCount - 1 do 
     begin
       k:=0;
       for i := 1 to Form2.StringGrid1.ColCount - 4 do
          if Form2.StringGrid1.Cells[i,j] = '5' then
             inc(k);
             if k = i-1 then
               begin
                  Form2.Memo4.Lines.Add(Form2.StringGrid1.Cells[0,j]);
                  Form2.StringGrid2.Cells[1, 3] := IntToStr(Form2.Memo4.Lines.Count);
               end;
       end;
 
//НЕ АТТЕСТОВАНЫ
for j := 1 to Form2.StringGrid1.RowCount - 1 do 
   begin
       k := 0;
       for i := 1 to Form2.StringGrid1.ColCount - 4 do
          if Form2.StringGrid1.Cells[i, j] = '2' then
             inc(k);
             if (k = 1) or (k > 1) then
                begin
                   Form2.Memo1.Lines.Add(Form2.StringGrid1.Cells[0, l]);
                   Form2.StringGrid2.Cells[1, 6] := IntToStr(Form2.Memo1.Lines.Count);
                 end;
     end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2017, 23:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Поиск в StringGrid (Delphi):

Поиск в StringGrid - Delphi
Добрый день! Проблема с поиском.Мне нужно, чтобы поиск начинался с конкретного символа. Как это можно сделать?Как вариант читал про PosEx,...

Поиск в StringGrid - Delphi
Добрый день! Подскажите, пожалуйста, как сделать поиск данных в StringGrid через Edit

Поиск в StringGrid - Delphi
Есть просто поиск по третьему столбцу, а нужно сделать бинарный поиск. Сначала столбец сортируется, происходит поиск и выносит результат...

Поиск в StringGrid - Delphi
Есть код поиска, полностью рабочий, но он делает поиск по всем символам нужного параметра, а нужно чтоб он работал по первому символу. То...

Поиск в Stringgrid - Delphi
Здравствуйте! Подскажите, пожалуйста, как сделать поиск данных в Stringgrid по определенному столбцу(например по 3 столбцу) через Edit...

StringGrid и поиск - Delphi
Есть массив из 2 столбцов-зависимость давления от времени. Далее у нас есть время. Как, зная это время, определить соответствующее ему...

10
AndreyKaO20
0 / 0 / 0
Регистрация: 22.05.2017
Сообщений: 16
29.05.2017, 23:26 #2
Delphi
1
Form2.Memo1.Lines.Add(Form2.StringGrid1.Cells[0, l]);
Скорее всего надо так
Delphi
1
Form2.Memo1.Lines.Add(Form2.StringGrid1.Cells[0, j]);
0
frostify
0 / 0 / 0
Регистрация: 29.05.2016
Сообщений: 16
29.05.2017, 23:35  [ТС] #3
Ой, извините, не внимательно перепечатала программу. Просто у меня другие переменные. Эти циклы у меня рабочие, я просто не могу сделать наподобие про ударников.
0
northener
пофигист широкого профиля
3194 / 2247 / 479
Регистрация: 15.07.2013
Сообщений: 13,102
30.05.2017, 02:04 #4
А чем "ударники" отличаются от "отличников"?
0
frostify
0 / 0 / 0
Регистрация: 29.05.2016
Сообщений: 16
30.05.2017, 05:43  [ТС] #5
Не находит тех, кого я ищу.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
for j := 1 to Form2.StringGrid1.RowCount - 1 do 
   begin
       k := 0;
       for i := 1 to Form2.StringGrid1.ColCount - 4 do
          if (Form2.StringGrid1.Cells[i, j] = '4')and(Form2.StringGrid1.Cells[i, j] = '5') then
             inc(k);
             if (k = 1) or (k > 1) then
                begin
                   Form2.Memo2.Lines.Add(Form2.StringGrid1.Cells[0, j]);
                   Form2.StringGrid2.Cells[1, 5] := IntToStr(Form2.Memo2.Lines.Count);
                 end;
     end;
0
AHBAR
232 / 232 / 96
Регистрация: 05.04.2013
Сообщений: 1,076
30.05.2017, 08:28 #6
Цитата Сообщение от frostify Посмотреть сообщение
if (Form2.StringGrid1.Cells[i, j] = '4')and(Form2.StringGrid1.Cells[i, j] = '5') then
вы подумайте как ячейка может быть равна одновременно 4 и 5? ячейка Шрёдингера?
скорее всего вам нужно писать:
Delphi
1
if (Form2.StringGrid1.Cells[i, j] = '4') OR (Form2.StringGrid1.Cells[i, j] = '5') then
так как ударники это видимо у кого 4 ИЛИ 5
0
frostify
0 / 0 / 0
Регистрация: 29.05.2016
Сообщений: 16
30.05.2017, 09:33  [ТС] #7
Даже если писать OR, выводит не правильно, даже если написать <>3 и/или 2, тоже не верно. Меняла условие с переменной k, ничего не вышло. Помогите пожалуйста!
0
AHBAR
232 / 232 / 96
Регистрация: 05.04.2013
Сообщений: 1,076
30.05.2017, 10:36 #8
frostify, можно скриншот вашей таблицы откуда берутся учащиеся с оценками?
0
frostify
0 / 0 / 0
Регистрация: 29.05.2016
Сообщений: 16
30.05.2017, 11:14  [ТС] #9
Поиск в StringGrid
0
AHBAR
232 / 232 / 96
Регистрация: 05.04.2013
Сообщений: 1,076
30.05.2017, 15:48 #10
frostify, вам нужно создать счетчик четвёрок и счетчик пятёрок
если ячейка = 4 то накручивать счетчик четверок
если ячейка = 5 то накручивать счетчик пятерок
смотреть условие чтобы не было всех пятерок (так как это уже отличники) и чтобы сумма счетчиков 4 и 5 = количеству предметов

Добавлено через 2 минуты
frostify, вот каг-то таг:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
VAR
i,j,count4,count5:Integer;
begin
For j := 1 to sg.RowCount-1 do Begin
count4 := 0;
count5 := 0;
For i := 1 to sg.ColCount-4 do Begin
if sg.Cells[i,j] = '4' then inc(count4);
if sg.Cells[i,j] = '5' then inc(count5);
End;
if ((count4 + count5) =  sg.ColCount-4) and (count5 <> sg.ColCount-4) then Memo1.Lines.Add(sg.Cells[0,j]);
End;
end;
0
frostify
0 / 0 / 0
Регистрация: 29.05.2016
Сообщений: 16
01.06.2017, 23:14  [ТС] #11
Не работает. Пустое memo.
0
01.06.2017, 23:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2017, 23:14
Привет! Вот еще темы с ответами:

Поиск в StringGrid - Delphi
procedure FindClick(Sender: TObject); var i:integer; e:string; Col, Row : Integer; begin e:=InputBox ('Поиск текста','',''); ...

Поиск в Stringgrid - Delphi
Добрый день! Помогите пожалуйста с вопросом. Мне нужно осуществить поиск построчно . Если найдена только одна тройка во всей строке - то...

поиск по stringgrid - Delphi
всем привет! подскажите, как сделать поиск по таблице stringgrid. надо чтобы при нажатии на кнопку поиск открылась новая форма со всеми...

Поиск в StringGrid - Delphi
Доброго вечера всем. У меня просьба: помогите сделать поиск в таком стиле как на картинке, что бы искал по столбцу нужную остановку и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.