Форум: "Начинающим";
Текущий архив: 2009.04.19;
Скачать: [xml.tar.bz2];
ВнизПередача значений из функции Найти похожие ветки
← →
Pavel (2009-02-26 22:30) [0]Как мне из функции передать два значения?
Спасибо за ответы.
← →
Johnmen © (2009-02-26 22:43) [1]procedure MyFunction(var variable1: type1; var variable2: type2);
← →
Медвежонок Пятачок © (2009-02-26 22:53) [2]function myfirstfunction : mysinglevaluetype;
begin
MySecondFunction(value1,value2);
end;
← →
korneley © (2009-02-26 22:53) [3]Или через запись ;)
type
TMyRecord = record
i : integer;
b : byte;
end;
function MyFunc : TMyRecord;
...
function MyFunc : TMyRecord;
begin
Result.i := trunc(Now);
Result.b := $E3;
end;
...
procedure TForm1.Button13Click(Sender: TObject);
var MyRecord : TMyRecord;
begin
MyRecord := MyFunc;
ShowMessage(DateTimeToStr(MyRecord.i) + char(MyRecord.b) + ".");
end;
← →
Медвежонок Пятачок © (2009-02-26 22:57) [4]зачем через рекорд?
ему же передать надо, а не вернуть
← →
korneley © (2009-02-26 23:01) [5]
> Медвежонок Пятачок © (26.02.09 22:57) [4]
Не... Телепатическая составляющая подсказывает, что если "из", то всё-таки вернуть :)
← →
Медвежонок Пятачок © (2009-02-26 23:04) [6]а как можно передать не "из" ?
← →
Медвежонок Пятачок © (2009-02-26 23:05) [7]передают параметры, возвращают значения.
параметров может быть вагон.
← →
korneley © (2009-02-26 23:20) [8]
> Медвежонок Пятачок © (26.02.09 23:05) [7]
> передают параметры, возвращают значения.параметров может
> быть вагон.
> Pavel (26.02.09 22:30)
> Как мне из функции передать два значения?
Не будем бодаться, т.к по [0] понятно, что человек хочет получить 2 значения чего-то там. Из функции. Ну не те термины выбрал, так "...профессионалам отдельная просьба - быть снисходительными..." ;)
← →
Медвежонок Пятачок © (2009-02-26 23:34) [9]считаешь здесь полезно получать только то, про что спросил и ни граммом больше?
← →
Pavel (2009-02-26 23:38) [10]korneley, спасибо за понимание.
← →
Медвежонок Пятачок © (2009-02-26 23:42) [11]вот видишь, корнелий, что ты натворил.
одним человеком, считающим чт функция может возвратить два значения стало больше.
причем еще и значение не возвращается, а передается.
вредитель ты.
← →
Anatoly Podgoretsky © (2009-02-26 23:57) [12]Варианта A,B,...N := Func, где A,B,...N получают разные значения, в природе не существует
← →
korneley © (2009-02-27 00:21) [13]
> вредитель ты.
Дык, вроде, конференция "начинающим" И понятие "возвратить" не обязательно должно включать в себя "передать и потом возвратить". Напомнило:
- Стой, кто идёт?
- Ну кто с той идёт, а кто и с этой...
← →
Германн © (2009-02-27 00:27) [14]В 21 веке все функции следует заменить на процедуры. Некоторые из процедур должны возвращать результат булевского типа свидетельствующий об успехе/неуспехе выполнения данной процедуры.
← →
Anatoly Podgoretsky © (2009-02-27 00:39) [15]> Германн (27.02.2009 0:27:14) [14]
Каких только новостей не начитаешься на форумах.
← →
korneley © (2009-02-27 00:39) [16]
> Германн © (27.02.09 00:27) [14]
Ну так это и исключениями можно добиться. А если учесть " Некоторые из процедур должны возвращать результат...", то это всё-таки функции :) Хотя... "все братья - сёстры", "все процедуры, суть функции" :)))
> Медвежонок Пятачок © (26.02.09 23:42) [11]
> вот видишь, корнелий, что ты натворил.одним человеком, считающим
> чт функция может возвратить два значения стало больше.
Ни фига. Значение одно: типа, рекорд. А уж сколько полей там, только от фантазии зависит :)
← →
Медвежонок Пятачок © (2009-02-27 00:41) [17]я и не говорил что их два (значения).
я сказал, что стало больше одним человеком, который считает что их два.
← →
korneley © (2009-02-27 00:54) [18]
> Медвежонок Пятачок © (27.02.09 00:41) [17]
> я и не говорил что их два (значения).я сказал, что стало
> больше одним человеком, который считает что их два
Ну с чего это? В [3] не классика, конечно, но если человек захочет разобраться, то поймёт, что таки одно. Я там даже умышленно присвоение ввёл, чтобы избежатьShowMessage(DateTimeToStr(MyFunc.i) + char(MyFunc.b) + ".")
← →
Германн © (2009-02-27 00:57) [19]
> Anatoly Podgoretsky © (27.02.09 00:39) [15]
>
> > Германн (27.02.2009 0:27:14) [14]
>
> Каких только новостей не начитаешься на форумах.
>
> korneley © (27.02.09 00:39) [16]
>
>
> > Германн © (27.02.09 00:27) [14]
>
> Ну так это и исключениями можно добиться. А если учесть
> " Некоторые из процедур должны возвращать результат...",
> то это всё-таки функции :) Хотя... "все братья - сёстры",
> "все процедуры, суть функции" :)))
Я был уверен, что чувство юмора вам не изменяет.
:)
← →
Медвежонок Пятачок © (2009-02-27 01:02) [20]Ну с чего это? В [3] не классика, конечно, но если человек захочет разобраться, то поймёт, что таки одно.
ты хочешь сказать, что автор без тебя не слышал ни про рекорды, ни про массивы?
← →
Германн © (2009-02-27 01:09) [21]
> Медвежонок Пятачок © (27.02.09 01:02) [20]
>
> Ну с чего это? В [3] не классика, конечно, но если человек
> захочет разобраться, то поймёт, что таки одно.
>
> ты хочешь сказать, что автор без тебя не слышал ни про рекорды,
> ни про массивы?
>
Имхо, автор очень много чего не слышал (точнее не знает).
Иначе не задал бы такой вопрос. Ему простой учебник бы в руки.
← →
Медвежонок Пятачок © (2009-02-27 01:10) [22]теперь он знает что "функция может вернуть два значения"
← →
korneley © (2009-02-27 01:12) [23]
> Медвежонок Пятачок © (27.02.09 01:02) [20]
> ты хочешь сказать, что автор без тебя не слышал ни про рекорды, ни
> про массивы?
За массивы не скажу (это всё-таки набор однотипных элементов), как и за автора. Слышать-то может и слышал, но подтолкнуть его в нужном направлении, разве не задача форума? Если у меня есть штангенциркуль, это не не означает, что я знаю, как им пользоваться :)
← →
Плохиш © (2009-02-27 01:23) [24]
> Слышать-то может и слышал, но подтолкнуть его в нужном направлении,
> разве не задача форума?
Хм, всегда думал, что задача форума помочь решить интересную задачу. А толкнуть в направлении работы чего-либо - задача инструкции пользователя.
← →
Германн © (2009-02-27 01:25) [25]
> Медвежонок Пятачок © (27.02.09 01:10) [22]
>
> теперь он знает что "функция может вернуть два значения"
>
А разве это плохо?
← →
Германн © (2009-02-27 01:34) [26]
> Плохиш © (27.02.09 01:23) [24]
>
>
> > Слышать-то может и слышал, но подтолкнуть его в нужном
> направлении,
> > разве не задача форума?
>
> Хм, всегда думал, что задача форума помочь решить интересную
> задачу. А толкнуть в направлении работы чего-либо - задача
> инструкции пользователя.
>
В конференции " Начинающим" - это немного не так.
← →
korneley © (2009-02-27 01:36) [27]
> Плохиш © (27.02.09 01:23) [24]
> > Слышать-то может и слышал, но подтолкнуть его в нужном
> направлении,> разве не задача форума?Хм, всегда думал,
> что задача форума помочь решить интересную задачу. А толкнуть
> в направлении работы чего-либо - задача инструкции пользователя.
>
Дык, иногда надо и сказать, где инструкция лежит :) А дальше, естественно, сами, сами...
← →
Anatoly Podgoretsky © (2009-02-27 09:38) [28]> Германн (27.02.2009 0:57:19) [19]
Опять сомневаешься?
← →
Anatoly Podgoretsky © (2009-02-27 09:39) [29]> Германн (27.02.2009 1:09:21) [21]
При том учебник математики.
← →
Anatoly Podgoretsky © (2009-02-27 09:40) [30]> Плохиш (27.02.2009 1:23:24) [24]
Это не задача форума, это личное дело каждого участника.
Задача форума одна, общаться как на базаре, именно так форум и переводится.
← →
korneley © (2009-02-27 09:53) [31]
> Anatoly Podgoretsky © (27.02.09 09:40) [30]
> Задача форума одна, общаться
> как на базаре, именно так форум и переводится.
Вот. А на базаре можно много нового узнать. Но и там разные торговые ряды присутствуют. :)
← →
charoey_mag (2009-02-27 12:30) [32]Если посмотреть с машинной точки зрения то "функция" как обертка над CALL может все таки вернуть больше одного результата.
Все параметры передаются через стек и адрес возврата его замыкает, поэтому больше чем явно указанных вернуть не получится, но результат выполнения в 90% случаев возвращается через EAX, а в собственных функциях, где регламент возвращаемых значений вообще не устанавлен, никто не запрещает использовать дополнительные регистры для возврата значений. И получается что результатов выполнения может быть не просто несколько, а их кол-во может динамически изменяться
← →
Palladin © (2009-02-27 12:38) [33]
> charoey_mag (27.02.09 12:30) [32]
это все здорово. тебе осталось только изобрести синтаксис, что бы одним приравниванием->одним вызовом ассигновать сразу несколько переменных, количество которых может изменятся. тогда сразу поймешь почему функция не может возвращать более одного значения.
← →
Плохиш © (2009-02-27 13:07) [34]
> Германн © (27.02.09 01:34) [26]
Знаю, знаю, что здесь филиал гугля и заменитель справки с документацией, да ещё и с использованием телепаторов :-))
> Anatoly Podgoretsky © (27.02.09 09:40) [30]
> Задача форума одна, общаться как на базаре
Ну дык, так ведь сам не дашь здеся пообщаться, фсё потрёшь :-P
← →
Amoeba © (2009-02-27 17:43) [35]Господа, а куда делся уважаемый приснопамятный АВТОР? Выходит, что весь флейм пропал втуне. Жаль ...
← →
Anatoly Podgoretsky © (2009-02-27 19:09) [36]> Amoeba (27.02.2009 17:43:35) [35]
Не может он пропасть, он не для него, а для нас, а мы все тут.
← →
korneley © (2009-02-27 22:08) [37]
> Anatoly Podgoretsky © (27.02.09 19:09) [36]
> > Amoeba (27.02.2009 17:43:35) [35]Не может он пропасть,
> он не для него, а для нас, а мы все тут.
Ну понятно, сначала Автора обсуждаем, а потом начинаем мейнфреймами меряться :)))
← →
Игорь Шевченко © (2009-02-27 22:10) [38]
> В конференции " Начинающим" - это немного не так.
Да. В конференции " Начинающим" функция может возвращать до пяти различных значений одновременно.
Впрочем, у кого есть желание стоять с ложкой - никто не ограничивает, другое дело, что оно не у всех есть, а поообщаться хочется.
← →
Германн © (2009-02-28 00:34) [39]
> Игорь Шевченко © (27.02.09 22:10) [38]
ИШ нынче злой :)
Три ветки одним махом!
← →
Anatoly Podgoretsky © (2009-02-28 10:34) [40]> Германн (28.02.2009 0:34:39) [39]
Одним махом, семерых побивахом.
Чешская народная сказка.
Сказал бы что уже полночь, но будет неправда.
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.04.19;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.049 c