![]() |
|
|
#1
|
||||
|
||||
|
Вот цикл подсчета суммы в ячейках StringGrid-a:
Код:
var
i: integer;
summ: array[1..25] of real;
begin
for i:=1 to 25 do
begin
summ:=(StrToFloat(SG3.Cells[2,i])+ StrToFloat(SG3.Cells[8,i])+
StrToFloat(SG3.Cells[14,i])+ StrToFloat(SG3.Cells[20,i])/4;
SG3.Cells[26,i]:=FloatToStr(summ,ffFixed,1,1);
end;
end; |
|
#2
|
|||
|
|||
|
Код:
var
i: integer;
summ: array[1..25] of real;
begin
for i:=1 to 25 do
begin
If (SG2.Cells[2,i] = '') Or (SG3.Cells[8,i] = '') Or (SG3.Cells[14,i] = '') Or (SG3.Cells[20,i] = '') Then SG3.Cells[26,i]:= '0' Else
begin
summ:=(StrToFloat(SG3.Cells[2,i])+ StrToFloat(SG3.Cells[8,i])+
StrToFloat(SG3.Cells[14,i])+ StrToFloat(SG3.Cells[20,i])/4;
SG3.Cells[26,i]:=FloatToStr(summ,ffFixed,1,1);
End;
end;
end; |
|
#3
|
||||
|
||||
|
Спасибо тебе, Imikle!) Я щас попробую сделать)
|
|
#4
|
||||
|
||||
|
Код работает). Теперь у меня еще вот какой вопрос: как написать процедуру (или цикл), который бы удалял нули из таблицы? Если можете, то может его можно встроить в код, который я дал в начале страницы темы). А как еще избавииться от того, чтобы не появлялось сообещение типа: " ' ' is not a valid floating point value"?)
|
|
#5
|
|||
|
|||
|
1. что значит "удалял"? Менял на пустую строку?
2. Использовать, например, конструкцию Try...Except...End. Под отладчиком все-равно будут возникать, но при работе - нет. |
|
#6
|
||||
|
||||
|
Цитата:
|
|
#7
|
|||
|
|||
|
1. по всем ячейкам меняем 0 на пустую строку:
Код:
var
I, J : Integer;
begin
For I := 0 To SG3.ColCount Do
For J := 0 To SG3.RowCount Do
If SG3.Cells[I,J[ = '0' Then SG3.Cells[I,J[ := '';
end;2. Если не удалось конвертировать хоть одно число, то ставит в ячейку 0: Код:
var
i: integer;
summ: array[1..25] of real;
begin
for i:=1 to 25 do
begin
If (SG3.Cells[2,i] = '') Or (SG3.Cells[8,i] = '') Or (SG3.Cells[14,i] = '') Or (SG3.Cells[20,i] = '') Then SG3.Cells[26,i]:= '0' Else
begin
Try
summ:=(StrToFloat(SG3.Cells[2,i])+ StrToFloat(SG3.Cells[8,i])+
StrToFloat(SG3.Cells[14,i])+ StrToFloat(SG3.Cells[20,i])/4;
SG3.Cells[26,i]:=FloatToStr(summ,ffFixed,1,1);
Except
SG3.Cells[26,i]:= '0';
End;
End;
end;
end; |
|
#8
|
||||
|
||||
|
Спасибо, уважаемый коллега!) Я попробую сделать)
|