![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выходной параметр процедуры
Skopaas © (2007-01-13 12:55:00)Доброго всем!
Вопрос такой.
Возможно ли в качестве выходного параметра в процедуре получить массив данных?
Вот код:
procedure KrCalculation(var OstatokKredita,ProcentstavkaMount,ClearPlatechz:real; out OstatokKreditaMas,ProcentInMountMas,PlatezhMas:massiv);
var
i,k:integer;
begin
k:=KrValueMount(OstatokKredita,ClearPlatechz);
SetLength(OstatokKreditaMas,k);
SetLength(ProcentInMountMas,k);
SetLength(PlatezhMas,k);
for i:=0 to k do begin
if i=0 then begin
OstatokKreditaMas[i]:=OstatokKredita;
ProcentInMountMas[i]:=OstatokKreditaMas[i]*ProcentstavkaMount/100;
PlatezhMas[i]:=ProcentInMountMas[i]+ClearPlatechz;
end
else begin
OstatokKreditaMas[i]:=OstatokKreditaMas[i-1]-ClearPlatechz;
ProcentInMountMas[i]:=OstatokKreditaMas[i]*ProcentstavkaMount/100;
PlatezhMas[i]:=ProcentInMountMas[i]+ClearPlatechz;
end;
end;
привызове процедуры компилятор пишет что невыполнимая опрация с плавуещей запятой. Вот такая проблема как её решить?
За ранее Благодарен. С ув. Skopas
Skopas (2007-01-13 14:05:00) [1]Прошу извенить,разобрался (наверное не доспал), тема закрыта. Всем спасибо огромное.
skopas (2007-01-13 13:36:00) [2]Да массивы динамические.
Дело в том, что когда я обьявляю эти массивы как глобальные переменные то все работает как часики, а так при вызове этой процедуры она не передает значения массивов :( . В Вызываю её я так:
SetLength(рOstatokKreditaMas,KrValueMount(OstatokKredita,ClearPlatechz));
SetLength(рProcentInMountMas,KrValueMount(OstatokKredita,ClearPlatechz));
SetLength(рPlatezhMas,KrValueMount(OstatokKredita,ClearPlatechz));
KrCalculation(OstatokKredita,ProcentstavkaMount,ClearPlatechz,pOstatokKreditaMas ,pProcentInMountMas,pPlatezhMas)
DevilDevil (2007-01-13 13:11:00) [3]если massive - динамический массив, то вроде всё правильно. Ошибка с плавающей запятой, вот её и ищи ;)