Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выходной параметр процедуры


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 - динамический массив, то вроде всё правильно. Ошибка с плавающей запятой, вот её и ищи ;)


Наверх

Титульная страница Поиск, карта сайта Написать письмо