Показать сообщение отдельно
  #2  
Старый 16.10.2013, 10:42
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

Ром, скажу откровенно, так считать - зло.
Но, в твоём случае можно использовать StrToIntDef(Строка, 0);
Ноль будет возвращаться в том случае, если конвертировать строку не получится.

Код:
for i:=3 to stringgrid1.ColCount-1 do // по всем предметам, кроме учебных работ
  begin
  for j:= 2 to stringgrid1.RowCount do // по всем ученикам
  begin
    ok := Boolean(StrToInt(stringgrid1.Cells[8,j]));
    if stringgrid1.Cells[i,j] = '3' and ok then k := 1.00 // если появилась хоть одна тройка, но всё ок с общ работой, то степуха будет
    else if stringgrid1.Cells[i,j] = '4' then k := 1.25 // если троек нет, но есть 4ка то степухе + 25%
    else k := 1.5; // если ни 3ек ни 4ок и с работой ок то к степухе 50%
  end;
  stringgrid1.Cells[9,i] := FormatFloat('0.00', StrToFloat(Edit1.Text) * k);
end;
  
Ответить с цитированием