Войти

Показать полную графическую версию : [решено] Заполнение экземпляров класса


Snake750
24-03-2010, 20:04
Доброго времени суток. Помогите пожалуйста разобраться. Имеется вот что:
Описываем класс Студ в котором содержатся имена студентов и оценки по дисциплинам :Программирование, Математика, Черчение, Русский и Суммарный бал по дисциплинам.
type
TStud = Record
Name:string[20];
Progr:real;
Mathem:real;
Cherchen:real;
Russian:real;
SummPoDisc:real;
end;

Создаю экземпляры класса
var a:array[1..5] of TStud;

Написал процедуру которая заполняет данные экземпляров класса TStud из StringGrid1.

Procedure ReadInfoFromUser(x:TStud; i,j:integer);
begin
x.Name:=(form1.stringgrid1.Cells [i,j]);
x.Progr:=strtofloat(form1.stringgrid1.Cells [i+1,i+1]);
x.Mathem:=strtofloat(form1.stringgrid1.Cells [i+2,j]);
x.Cherchen:=strtofloat(form1.stringgrid1.Cells[i+3,j]);
x.Russian:=strtofloat(form1.stringgrid1.Cells [i+4,j]);
x.SummPoDisc:=0;
x.SummPoDisc:= ( x.Progr+ x.Mathem + x.Cherchen+ x.Russian);
form1.Stringgrid1.Cells [5,j]:=floattostr( x.SummPoDisc);
end;
Вызываю процедуру:
For i:=1 to 5 do
begin
ReadInfoFromUser(a[i],0,i);
end;

И вот тут почему то не заполняются значения экземпляров класса, но значение SummPoDisc считается и заполняется в StringGrid.
Прилагается исходник для удобства видения.

Snake750
25-03-2010, 13:51
Господа, помогите разобраться,2 день уже понять не могу в чем проблема

Snake750
25-03-2010, 18:32
Товарищи с другого ресурса подсказали
Procedure ReadInfoFromUser(var x:TStud; i,j:integer);




© OSzone.net 2001-2012