Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.026 c
15-1139395548
M@D
2006-02-08 13:45
2006.02.26
Активная дириктория &amp; Delphi


2-1139742665
13
2006-02-12 14:11
2006.02.26
модуль


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


2-1139422708
serko
2006-02-08 21:18
2006.02.26
Socket


15-1138999015
Nic
2006-02-03 23:36
2006.02.26
Сижу, антивирусник обновляю





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский