Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.20;
Скачать: CL | DM;

Вниз

Функции в Delphi   Найти похожие ветки 

 
Id   (2006-08-02 16:24) [0]

Еще раз здраствуйте.
Вопрос по function.
Ee можно использовать для получения какого-то результата с входными параметрами. Выходной параметр один - Result.
А если мне надо несколько выходных параметров?
Подскажите синтаксис.(Если это возможно)


 
Alkid ©   (2006-08-02 16:30) [1]

Это можно сделать несколькими методами.
Самый простой: определять параметры по ссылке:

function sumAndCheck(a,b : integer;var c : integer) : boolean;
begin
 c := a + b;
 Result := c < 10;
end;

Данная функция суммирует 2 числа и возвращает true, если сумма меньше 10.
При этомо на так же возвращает И результат - через параметр c.

Синтаксис для вызова:

var r : integer;
    b : boolean;

begin
  b :=  sumAndCheck(10,15,r);
end;

Теперь в b - результат сравнения,  а  в r - сумма


 
Zeqfreed ©   (2006-08-02 16:35) [2]

function SomeRoutine(out OutParam; var VarParam) : ReturnParam;
begin
 OutParam := VarParam;
 Result := Whatever;
end;


See Also: Delphi Help: Parameter semantics


 
Сергей М. ©   (2006-08-02 16:37) [3]


> А если мне надо несколько выходных параметров?


К функции как таковой это отношения не имеет.


 
Desdechado ©   (2006-08-02 16:40) [4]

У тебя Result может быть и массивом типизированным или даже разнотипным, если он Variant.
Не запутайся только.
Возврат функцией нескольких значений, особенно разнотипных, говорит о плохом проектировании.


 
Id   (2006-08-02 16:52) [5]

Огромное спа!


 
Ega23 ©   (2006-08-02 17:06) [6]

Как Result ты можешь и класс и рекорд получить. А в нём уже всё, что тебе надо.

type
 TОфигеннаяСтруктура=record
    ОфигенныйПараметр1 : Boolean;
    ОфигенныйПараметр2 : Integer;
    ОфигенныйПараметр3 : String;
   ............
 end;

function Ля_ля:TОфигеннаяСтруктура;




Страницы: 1 вся ветка

Текущий архив: 2006.08.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
4-1146212864
gear
2006-04-28 12:27
2006.08.20
Рельно ли перехватить событие ухода компьютера в standby и hib...


4-1145678472
Коля
2006-04-22 08:01
2006.08.20
Не получается отключить автовыключение монитора


4-1146047721
Still Swamp
2006-04-26 14:35
2006.08.20
Лог Windows


3-1150550005
Проходил мимо
2006-06-17 17:13
2006.08.20
Какую БД лучше использовать (в принципе)???


15-1153555789
jack128
2006-07-22 12:09
2006.08.20
Classes.pas из под Delphi5