Вниз
Скачать: CL | DM;

Ячейки   Найти похожие ветки 

 
Silica ©   (2006-02-05 11:16) [0]

Нужно в StringGrid (таблице) подсчитать количество ячеек в нулевой строке, но без тех ячеек, которые имеют значение "-1". Следующий код подсчитывает количество, но иногда выводит неправильное значение. Всего ячеек 10 в строке. Иногда вместо 10, выводится 9, вместо 7 - 6. Иногда правильно выводит.

procedure TForm1.Button3Click(Sender: TObject);
var x, y : integer;
begin
 y := 0;
 for i := 0 to k do
 begin
   if stringgrid1.Cells[i,0] = "-1" then
   y := y + 1;
   x := stringgrid1.ColCount - y;
   label1.Caption := inttostr(x);
   end;
end;

Подскажите, пожалуйста, что не так.


 
Palladin ©   (2006-02-05 12:01) [1]

попробуй так


procedure TForm1.Button3Click(Sender: TObject);
var i,n : integer;
begin
n := 0;
for i := 0 to k do
begin
  if trim(stringgrid1.Cells[i,0]) = "-1" then
  Inc(n);
 end;
label1.Caption := inttostr(stringgrid1.ColCount-n);
end;


 
Плохиш ©   (2006-02-05 12:48) [2]

Может стоит без лишних телеодвижений задачу реализовывать?

procedure TForm1.Button3Click(Sender: TObject);
var i,n : integer;
begin
 n := 0;
 for i := 0 to k do
   if trim(stringgrid1.Cells[i,0]) <> "-1" then Inc(n);
 label1.Caption := inttostr(n);
end;


 
Плохиш ©   (2006-02-05 12:50) [3]

Хотя, пардон, но переменная "k" как-то в условия задачи [0] не вписывается, если её значение не равно количеству столбцов в гриде.


 
Silica ©   (2006-02-05 14:12) [4]


> Palladin


> Плохиш


все равно ошибается иногда на единицу. с первой загрузки показывает правильно, но при последующих может ошибаться. У меня в таблице числа генерируются(button 1), затем удаляются совпадения(button2), заменяясь на "-1"  и выводится отчет(button3).
k := 10. -  это константа.


 
Apollon_604   (2006-02-05 17:35) [5]

Попробуй отладчик использовать


 
Плохиш ©   (2006-02-05 22:09) [6]


> k := 10. -  это константа.

Может лучше вместо этого stringgrid1.ColCount - 1 использовать.

А в общем-то рекомендую к [5] прислушаться.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.04 c
8-1127121475
NightLord
2005-09-19 13:17
2006.02.26
Графические форматы


2-1139427771
Руслан
2006-02-08 22:42
2006.02.26
Не могу заставить говорить TAgent


3-1135861106
linx
2005-12-29 15:58
2006.02.26
Чтобы сервер InterBase стартовал раньше ввода пароля


3-1134236235
ArhArhangel
2005-12-10 20:37
2006.02.26
Динамическое добавление полей в ADOQuery.Fields


15-1138969362
Pazitron_Brain
2006-02-03 15:22
2006.02.26
Процените сайт!




   Наверх