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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.07.2010, 16:16   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Название столба 100.
именно так? с точкой?...
впрочем, такое увидеть после строчки:
ShowMessage("Заголовок равен "+Trim(Form1.RzStringGrid1.Cell s[4,0]));
НЕВОЗМОЖНО!
Наверное, было сообщение:
Заголовок равен 100
ну так и должно быть.
Очень странно, что такое не нашлось в таблице значений (с 8-го столбца по последний.) o_O

Но мы не привыкли отступать!!
пробуй такой код:
Код:
var k, j : integer;
     ArrCounter : array[1..4] of integer; 
     ArrValue : array[1..4] of string[20]; 

....
  ArrValue[1] := '100';
  ArrValue[2] := '200';
  ArrValue[3] := '300';
  ArrValue[4] := '400';

  for k:=1 to  Form1.RzStringGrid1.RowCount - 1 do begin 

   for j:=1 to 4 do begin 
      ArrCounter[j] := 0; 
      Form1.RzStringGrid1.Cells[3+j,k]:='n/a'; 
   end;

   for x1:=8 to Form1.RzStringGrid1.ColCount - 1 do  //начиная с восьмого столбца
   begin
      for j:=1 to 4 do 
        if Trim(Form1.RzStringGrid1.Cells[x1,k]) = 
                  ArrValue[j]  then Inc(ArrCounter[j]);
   end;
   for j:=1 to 4 do
     Form1.RzStringGrid1.Cells[3+j,k]:=IntToStr(ArrCounter[j]);
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.07.2010, 16:34   #12
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Цитата:
Наверное, было сообщение:
Заголовок равен 100
Да
Serge_Bliznykov, спасибо сейчас считает все правильно. Только он по-прежнему во все остальные строчки проставляет нули. Но считает при этом правильно. Просто все остальные строчки, в которых нет искомых значений, прога проставляет нули.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 25.07.2010, 16:38   #13
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Просто все остальные строчки, в которых нет искомых значений, прога проставляет нули.
угу. Так и должно быть.
А что нужно поставить в столбец "100"
если в строчке нет ни одного значения "100" ?!
в этом случае счётчик появления значения 100 равен нулю! (попробуйте в MS Excel работу функции СЧЕТЕСЛИ(...) - убедитесь в правильности подсчёта...)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.07.2010, 16:54   #14
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,210
По умолчанию

Тогда тут 2 варианта.

1 вариант. Либо я делаю проверку на наличие пустых строк перед подсчетом значений.

2 вариант. Либо я вешаю на кнопку дополнительную процедуру, которая будет убирать все нули из этих четырех столбцов.
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 25.07.2010, 17:58   #15
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

artemavd, Вы опять не ответили на мой вопрос...

Ладно, попытаюсь угадать.

Вы хотите, в тех строках, где нет нужной величины в соответствующих столбцах (4-7) чтобы вместо нуля было просто пусто?!
Так достаточно изменить цикл присвоения на такой:
Код:
   for j:=1 to 4 do
     if ArrCounter[j]>0 then
       Form1.RzStringGrid1.Cells[3+j,k]:=IntToStr(ArrCounter[j])
     else 
       Form1.RzStringGrid1.Cells[3+j,k]:='';
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цикл подстановки в Edit из StringGrid artemavd Общие вопросы Delphi 11 06.07.2010 10:21
Цикл по времени - Как сделать так чтобы цикл выполнялся к примеру 10 секунд ? Anarki Общие вопросы C/C++ 3 13.11.2009 19:23
[B]Странный макрос[/B] mephist Microsoft Office Word 10 12.06.2009 11:46
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34