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

Вниз

Каковы перспективы Mono?   Найти похожие ветки 

 
Petr V. Abramov ©   (2007-10-13 00:40) [0]

будет ли Mono, совместимое с fw 2.0?
пугает

В ноябре 2006 г. между Microsoft и одним из вендоров Linux, компанией Novell, было заключено двухстороннее соглашение. В его рамках компании договорились воздержаться от обвинений в нарушении патентов и незаконного использования интеллектуальной собственности в своих продуктах вплоть до 2012 г.

http://cnews.ru/news/top/index.shtml?2007/10/12/270248#top_static


 
DrPass ©   (2007-10-13 00:45) [1]


> будет ли Mono, совместимое с fw 2.0?

А надо?


 
turbouser ©   (2007-10-13 00:52) [2]

> [0] Petr V. Abramov ©   (13.10.07 00:40)

мс любят пошуметь. нет по моему (и не только) мнению тупиковая технология.
заявленной кросплатформенности до сих пор нет (а сколько лет прошло??)
моно можно сравнить с wine — «вроде бы все на месте, но чего-то не хватает»
то, что мс опять катит бочку на кого-то чаще всего означает что кто-то
делает что-то полезное и забесплатно.
Для меня вот самое интересное — мс поддерживает suse linux. Зачем?


 
ferr   (2007-10-13 00:57) [3]

> будет ли Mono, совместимое с fw 2.0?

Конечно будет, но проблема в том что уже fw 3.5 на подходе..


 
ferr   (2007-10-13 01:02) [4]

Да и информация старая, вот что на сайте висит:
The Mono C# compiler is considered feature complete for C# 1.0 and C# 2.0 (ECMA) and also contains some of the C# 3.0 features.


 
turbouser ©   (2007-10-13 01:07) [5]

> [3] ferr   (13.10.07 00:57)


> [4] ferr   (13.10.07 01:02)

:-)

> [1] DrPass ©   (13.10.07 00:45)

+1


 
Petr V. Abramov ©   (2007-10-13 01:11) [6]

> Конечно будет, но проблема в том что уже fw 3.5 на подходе..
в случае массового перехода платежеспособных на линух -  на 3.5 с Останкинской башни


 
Petr V. Abramov ©   (2007-10-13 01:15) [7]

> нет по моему (и не только) мнению тупиковая технология.
для моих задач суперудобная
> заявленной кросплатформенности до сих пор нет (а сколько лет прошло??)
а я за mono потому и волнуюсь


 
имя   (2007-10-13 02:32) [8]

Удалено модератором


 
Petr V. Abramov ©   (2007-10-13 02:40) [9]

> юзерам сложно, так как фреймворк нужно либо качать,
юзерам по, они слова такого, "фреймворк" не знают и знать не обязаны

мы (я :), конечно, говорим о корпоративных юзерах


 
turbouser ©   (2007-10-13 03:13) [10]

> [9] Petr V. Abramov ©   (13.10.07 02:40)

А не шло бы оно лесом, это NET ?
Я еще ни от кого не слышал нормальных
доводов в пользу этой древней вымирающей
(да да!) технологии.


 
Petr V. Abramov ©   (2007-10-13 03:17) [11]

turbouser ©   (13.10.07 03:13) [10]
эмоционально но голословно


 
turbouser ©   (2007-10-13 03:31) [12]

> [11] Petr V. Abramov ©   (13.10.07 03:17)

Я все же останусь при своем мнении.


 
Sergey Masloff   (2007-10-13 10:25) [13]

wl   (13.10.07 02:32) [8]
Про b2b слышал что-нибудь? Какие юзеры?
С переходом на .NET то чем раньше целый сектор занимался я сейчас один делаю занимая от своего рабочего времени 10%.


 
Alkid ©   (2007-10-13 11:01) [14]


> А не шло бы оно лесом, это NET ?
> Я еще ни от кого не слышал нормальных
> доводов в пользу этой древней вымирающей
> (да да!) технологии.

Нет, не шло бы. У .NET есть куча своих плюсов и кроме мифической кросс-платформенности.


 
wl   (2007-10-13 13:45) [15]

Sergey Masloff   (13.10.07 10:25) [13]
нет не слышал, а что такое b2b.
ну в целом я говорил о том, что дотнет в первую очередь удобен для программиста, или скорее даже группы программистов


 
Petr V. Abramov ©   (2007-10-13 13:55) [16]

> ну в целом я говорил о том, что дотнет в первую очередь удобен для
> программиста, или скорее даже группы программистов
а vcl удобна для юзера? :)


 
Kostafey ©   (2007-10-13 14:11) [17]

> [15] wl   (13.10.07 13:45)
> ну в целом я говорил о том, что дотнет в первую очередь
> удобен для программиста, или скорее даже группы программистов

В чем заключается удобство кроме функций наблюдения
и управления кодом и сборщика мусора?


 
Petr V. Abramov ©   (2007-10-13 14:14) [18]

> Kostafey ©   (13.10.07 14:11) [17]
reflection, остальное все vcl как vcl


 
Eraser ©   (2007-10-13 14:16) [19]

в связи с тем, что открыли исходники .net, перспективы думаю есть.


 
ferr   (2007-10-13 14:18) [20]

> В чем заключается удобство кроме функций наблюдения
> и управления кодом и сборщика мусора?

Всё перечислять на книгу таки вылезет. Во-первых по мне это один из самых продуманных языков из когда-либо существовавщих, в противовес джаве и с++. Удобства например такие: анонимные делегаты, выводимость типов, поддержка обобщённых классов, удобные делегаты, свойства, события, итераторы, удобная многопоточность, LINQ, Reflection, возможность функции возвращать несколько значений и т д..

Во всём этом нет ничего особо нового, но всё это вместе образует "среду" для эффективного и гланое быстрого создания программ.


 
Kostafey ©   (2007-10-13 14:31) [21]

> [20] ferr   (13.10.07 14:18)
> Во-первых по мне это один из самых продуманных языков из
> когда-либо существовавщих, в противовес джаве и с++.

По-моему речь шла про .net а не про C#, но суть ясна.


> например такие: анонимные делегаты, выводимость типов, поддержка
> обобщённых классов, удобные делегаты, свойства, события,
> итераторы, удобная многопоточность, LINQ, Reflection, возможность
> функции возвращать несколько значений и т д..

К сожалению, пока я не смогу по достоинству оценить все эти преимущества :)


> Во всём этом нет ничего особо нового, но всё это вместе
> образует "среду" для эффективного и гланое быстрого создания
> программ.

Вообще, интересно.
Под средой уже понимаем не IDE а комплекс IDE, язык, среда выполнения.
Наверное, это и правильно.

Но идти на поводу .net не означает ли признание монополии Microsoft?
Да, прошу понять меня правильно, я вовсе не призываю к холивару на тему.


 
Petr V. Abramov ©   (2007-10-13 15:09) [22]

> Kostafey ©   (13.10.07 14:31) [21]
а у тебя цель чтоб тебе было хорошо или чтоб МС сдохла?


 
Kostafey ©   (2007-10-13 15:22) [23]

> [22] Petr V. Abramov ©   (13.10.07 15:09)
> > Kostafey ©   (13.10.07 14:31) [21]
> а у тебя цель чтоб тебе было хорошо или чтоб МС сдохла?


Чтоб было хорошо.
А хорошо не может быть в условиях тотальной гигемонии
проприетарных продуктов.
MS не сдохнет. Но и не в этом дело.

Наблюдаемый сегодня бум IT-индустрии во многом обязан
жесткой конкуренции между крупнейшими компаниями.

Конечно, повлиять на это не представляется возможным,
остается наблюдать :)


 
Petr V. Abramov ©   (2007-10-13 15:28) [24]

> Kostafey ©   (13.10.07 15:22) [23]
да нет особой конкуренции, все процентов по 70-90 в своих нишах держат.
если только sun-ibm-hpcompaq на больших серверах воюют


 
Kostafey ©   (2007-10-13 15:33) [25]

> [24] Petr V. Abramov ©   (13.10.07 15:28)
> > Kostafey ©   (13.10.07 15:22) [23]
> да нет особой конкуренции, все процентов по 70-90 в своих
> нишах держат.
> если только sun-ibm-hpcompaq на больших серверах воюют

В целом согласен.

Но в Web разработке .net с java все же ощутимо конкурируют.


 
Petr V. Abramov ©   (2007-10-13 15:35) [26]

> Kostafey ©   (13.10.07 15:33) [25]
ну это да.


 
Petr V. Abramov ©   (2007-10-13 15:40) [27]

> Kostafey ©   (13.10.07 15:33) [25]
по перейти на java - признать монополию sun :))


 
boa_kaa ©   (2007-10-13 15:48) [28]


> Но идти на поводу .net не означает ли признание монополии
> Microsoft?

бред какой-то. А если я купил торт, значит ли это, что я признал монополию КФ Север?


 
oxffff ©   (2007-10-13 16:32) [29]


> ferr   (13.10.07 14:18) [20]


> возможность функции возвращать несколько значений


не поясните?


 
ferr   (2007-10-13 16:43) [30]

> не поясните?

Я кратко выразился, так что двусмысленно звучит..
Что-то типа:


IEnumerable<int> MyFunc()
{
  for(int i = 0; i < 100; ++i)
     yield return i;
  yield break;
}

...
foreach(int a in MyFunc())
 Console.WriteLine(a);


P.S. мелкая приятность..


 
oxffff ©   (2007-10-13 16:52) [31]


> P.S. мелкая приятность..


А знаменитый yield. А вы знаете как он работает?
Если нет, то очень рекомендую заглянуть в отладчик.
Не сломайте себе мозг.

Да и еще к этому знаменитому yield незабудьте приложить help.

The are several restrictions on where a yield statement can appear, as described in the following.

• It is a compile-time error for a yield statement (of either form) to appear outside a method-body,
operator-body, or accessor-body.
• It is a compile-time error for a yield statement (of either form) to appear inside an anonymous method.
• It is a compile-time error for a yield statement (of either form) to appear in the finally clause of a
try statement.
• It is a compile-time error for a yield return statement to appear anywhere in a try statement that
contains catch-clauses.


 
Kostafey ©   (2007-10-13 17:36) [32]

> [28] boa_kaa ©   (13.10.07 15:48)
>
> > Но идти на поводу .net не означает ли признание монополии
>
> > Microsoft?
>
> бред какой-то. А если я купил торт, значит ли это, что я
> признал монополию КФ Север?

Гы-гы-гы :)
Почто так перегибать-то?


 
celades ©   (2007-10-13 18:13) [33]


> А знаменитый yield. А вы знаете как он работает?
> Если нет, то очень рекомендую заглянуть в отладчик.
> Не сломайте себе мозг.
>
> Да и еще к этому знаменитому yield незабудьте приложить
> help.
>

тебе шашечки или ехать? генераторы на основе yield очень удобная вещь.


 
oxffff ©   (2007-10-13 19:09) [34]


> celades ©   (13.10.07 18:13) [33]
>
> > А знаменитый yield. А вы знаете как он работает?
> > Если нет, то очень рекомендую заглянуть в отладчик.
> > Не сломайте себе мозг.
> >
> > Да и еще к этому знаменитому yield незабудьте приложить
>
> > help.
> >
>
> тебе шашечки или ехать? генераторы на основе yield очень
> удобная вещь.


А я еще раз повторяю. Что смотреть реализацию в C#.
Чтобы не было лишних вопросов.
и Для того, чтобы понять

• It is a compile-time error for a yield statement (of either form) to appear in the finally clause of a
try statement.
• It is a compile-time error for a yield return statement to appear anywhere in a try statement that
contains catch-clauses.


 
celades ©   (2007-10-13 19:31) [35]

>А я еще раз повторяю.
>чтобы понять
молодец. такое стремление к знаниям похвально.


 
oxffff ©   (2007-10-13 19:50) [36]


> celades ©   (13.10.07 19:31) [35]
> >А я еще раз повторяю.
> >чтобы понять
> молодец. такое стремление к знаниям похвально.


Я не совсем корректно выразился.
Мне собствено без разницы.
Главное, чтобы другие понимали как работает yield.
И не утверждали, что C# - это вверх мастерства.
Стоит различать .NET и сам язык.
Но неплохо бы еще знать реализацию, прежде чем говорить так.

Я кстати, сейчас занимаюсь реализаций yield на delphi.
Правда без ASM не обойтись. :)


 
oxffff ©   (2007-10-13 19:52) [37]


> Правда без ASM не обойтись. :)


Если получится, можно будет делать так.

begin
Yield(1);
Yield(2);
Yield(3);
Yield(4);
Yield(5);
......
end;


 
tesseract ©   (2007-10-13 20:08) [38]


> Я кстати, сейчас занимаюсь реализаций yield на delphi.


Щас немного не в теме - но типизированные данные через указатель передаються в лёгкую. Это "фича", а не необходимость в стандартных языках.


 
iZEN ©   (2007-10-13 22:12) [39]


> Eraser ©   (13.10.07 14:16) [19]
>
> в связи с тем, что открыли исходники .net, перспективы думаю
> есть.

Один читает вслух другому. Другой рисует диаграмму. Третий по диаграмме пишет библиотеку. Так создаётся Mono 3. :)))


 
iZEN ©   (2007-10-13 22:16) [40]


> Petr V. Abramov ©   (13.10.07 15:40) [27]
>
> > Kostafey ©   (13.10.07 15:33) [25]
> по перейти на java - признать монополию sun :))

Java — OpenSource, причём по GPLv2. На слуху разработчиков прежде всего группа Apache Foundation, 95% проектов которой написаны на Java.


 
tesseract ©   (2007-10-13 22:23) [41]


> Один читает вслух другому. Другой рисует диаграмму. Третий
> по диаграмме пишет библиотеку. Так создаётся Mono 3. :)))


Несколько не так - кому-то понадобилось то-то и то-то, он это сделал и выложил. Mono - это продукт заклятой дружбы novell и sun - ну они друг друга 30 лет не любят, ну что с них взять ? А тут ещё такой подарок от ibm как пиарнутый Linux. Кстати SLED с Solaris  - почти единичный нескрещиваемый случай. На остальных дистрах совместиться можно :-)


 
Petr V. Abramov ©   (2007-10-14 03:36) [42]

> iZEN ©   (13.10.07 22:16) [40]
> Java — OpenSource, причём по GPLv2.
и чего?
mono - тоже open.
a .Net - не open, а при определенных условиях - тоже хорошо. А windows - так совсем не open, и ничего, работает, и покупают даже. А перестанут покупать - так и волнуюсь за mono, которое open. А даже и не open, вопрос приемлемости цены

>  На слуху разработчиков прежде всего группа Apache Foundation
от этого далек, сказать не могу ничего, кроме того, что краем уха слышал, зачем вообще  Apache

но так вот получилось (может, злая судьба) - не видел я приложений для end-user, на которые нельзя без слез взглянуть, какие бы именитые компании их ни выпускали и как бы я ни относился к другим продуктам этих компаний. Может, потому что "java для индусов"((с) кто-то отседа)?


 
Kostafey ©   (2007-10-14 14:59) [43]

> [42] Petr V. Abramov ©   (14.10.07 03:36)
> Может, потому что "java для индусов"((с) кто-то отседа)?

Один весьма квалифицированный товарищь как-то
высказал такое мнение, что в java можно быть
или очень хорошим специалистом или очень плохим.
Третьего не дано :)


 
oxffff ©   (2007-10-14 16:52) [44]


> Я кстати, сейчас занимаюсь реализаций yield на delphi.
> Правда без ASM не обойтись. :)


Сделал, даже с возможностью использования локальных параметров.

пример использования.

var i:integer;
   s:string;
begin
s:="1111";
s:=s+"111122222";
for i:= 1 to 20 do Yield(i);
showmessage(s);
Yield(30);
for i:= 80 to 300 do Yield(i);
showmessage(s);

Правда у этого  yield есть незначительная особенность надо до-yield-ить до конца, только тогда локальные параметры финализируется.
В .NET проще.
Хотя если codegear сделает это на уровне компилятора, тогда это ограничение можно снять.


 
oxffff ©   (2007-10-14 20:29) [45]


> oxffff ©   (14.10.07 16:52) [44]
>
> > Я кстати, сейчас занимаюсь реализаций yield на delphi.
>
> > Правда без ASM не обойтись. :)
>
>
> Сделал, даже с возможностью использования локальных параметров.
>


Добавил динамическую подстройку EBP при смене расположения локальных параметров после каждого yield


 
atruhin ©   (2007-10-14 20:49) [46]

> [45] oxffff ©   (14.10.07 20:29)

Ну дак показал бы код народу.


 
oxffff ©   (2007-10-14 20:57) [47]


> atruhin ©   (14.10.07 20:49) [46]
> > [45] oxffff ©   (14.10.07 20:29)
>
> Ну дак показал бы код народу.


Я не думаю, что тебе от этого станет легче.
Признаю, что можно оптимизировать.
например заменить movsb на movsd.

function TYieldObject.MoveNext: boolean;
begin
IsYield:=false;
asm
push ebp;
push ecx;
push edx;
push eax;
push ebx;
push edi;
push esi;
push offset @a1
xor edx,edx;
cmp eax.TYieldObject.BESP,edx;
jz @AfterEBPAdjust;
//Правка ebp
mov edx,esp;
sub edx,eax.TYieldObject.BESP;
add [eax.TYieldObject.REBP],edx
@AfterEBPAdjust:
mov eax.TYieldObject.BESP,esp;
//Есть ли локальные параметры
cmp eax.TYieldObject.StackFrameSize,0
jz @JumpIn;
//Восстановить локальные параметры и состояние регистров.
mov ecx,eax.TYieldObject.StackFrameSize;
sub esp,ecx;
mov edi,esp;
lea esi,eax.TYieldObject.StackFrame;
rep movsb;
@JumpIn:
mov ebx,eax.TYieldObject.REBX;
mov ecx,eax.TYieldObject.RECX;
mov edx,eax.TYieldObject.REDX;
mov esi,eax.TYieldObject.RESI;
mov edi,eax.TYieldObject.REDI;
mov ebp,eax.TYieldObject.REBP;
push [eax.TYieldObject.NextItemEntryPoint];
mov eax,eax.TYieldObject.REAX;
ret;
@a1:;
pop esi;
pop edi;
pop ebx;
pop eax;
pop edx;
pop ecx;
pop ebp;
end;
result:=IsYield;
end;

procedure TYieldObject.Yield(i: TYieldItemType);
begin
asm
mov eax.TYieldObject.REBP,ebp;
mov eax.TYieldObject.REAX,eax;
mov eax.TYieldObject.REBX,ebx;
mov eax.TYieldObject.RECX,ecx;
mov eax.TYieldObject.REDX,edx;
mov eax.TYieldObject.RESI,ESI;
mov eax.TYieldObject.REDI,EDI;
pop ecx;
mov eax.TYieldObject.NextItemEntryPoint,ecx;
mov ecx,eax.TYieldObject.BESP;
sub ecx,esp;
mov eax.TYieldObject.StackFrameSize,ecx;
jz @AfterSaveStack;
push edi;
push esi;
lea esi,[esp+8];
lea edi,[eax.TYieldObject.StackFrame];
rep movsb;
pop esi;
pop edi;
mov esp,eax.TYieldObject.BESP;
@AfterSaveStack:
mov eax.TYieldObject.IsYield,1;
end;
Item:=i;
end;


 
oxffff ©   (2007-10-14 21:02) [48]


> atruhin ©   (14.10.07 20:49) [46]
> > [45] oxffff ©   (14.10.07 20:29)
>
> Ну дак показал бы код народу.


Никаких пока комментариев давать не буду.
Но такая конструкция работает.

var i:integer;
   s:string;
begin
s:="1111";
Yield(i);
s:=s+"111122222";
showmessage(s);
Yield(i);

for i:= 1 to 20 do Yield(i);
showmessage(s);
Yield(30);
for i:= 80 to 300 do Yield(i);
showmessage(s);
end;


 
oxffff ©   (2007-10-14 21:03) [49]


> oxffff ©   (14.10.07 21:02) [48]


Естественно локальные переменные нормально финализируются.


 
oxffff ©   (2007-10-14 21:41) [50]


> oxffff ©   (14.10.07 21:03) [49]
>
> > oxffff ©   (14.10.07 21:02) [48]
>
>
> Естественно локальные переменные нормально финализируются.
>


Их число тоже не ограничено(локальных переменных) и также не требует модификации ASM кода.


 
KSergey ©   (2007-10-15 08:47) [51]

> oxffff ©   (13.10.07 19:50) [36]
> Я кстати, сейчас занимаюсь реализаций yield на delphi.

Прошу прощения, а массив динамический вернуть - не то же самое будет по сути?


 
oxffff ©   (2007-10-15 12:13) [52]


> Прошу прощения, а массив динамический вернуть - не то же
> самое будет по сути?


По сути не тоже самое.
Для этого вам нужно почитать про С# yield.

Упрощенный пример. Самое главное посмотри на последовательность вывода сообщения.

  public static IEnumerable Power(int number, int exponent)
   {
      yield return 1;
      Console.Write("We are here ", i);
      yield return 2;
     Console.Write("We are here Again", i);
      yield return 3;
  }

   static void Main()
   {
       // Display powers of 2 up to the exponent 8:
       foreach (int i in Power(2, 8))
       {
           Console.Write("{0} ", i);
       }
   }

На экране будет следующая последовательность
1                         <- Это выводиться из Main
We are here         <- Это выводиться из Power!!!!!!!!
2                         <- Это выводиться из Main
We are here Again <- Это выводиться из Power!!!!!!!!
3                          <- Это выводиться из Main


 
tesseract ©   (2007-10-15 14:30) [53]


> По сути не тоже самое. Для этого вам нужно почитать про
> С# yield.


По сути может и не то. Но вот сильного практического смысла не вижу.


 
KSergey ©   (2007-10-15 16:18) [54]

> oxffff ©   (15.10.07 12:13) [52]
> Упрощенный пример.

Понял, спасибо.
Ну, раз сделали - значит каким-то индусам оно полезно...


 
pasha_golub ©   (2007-10-15 16:24) [55]


> tesseract ©   (15.10.07 14:30) [53]

Поддерживаю


 
oxffff ©   (2007-10-15 17:44) [56]


> KSergey ©   (15.10.07 16:18) [54]
> > oxffff ©   (15.10.07 12:13) [52]
> > Упрощенный пример.
>
> Понял, спасибо.
> Ну, раз сделали - значит каким-то индусам оно полезно...
>


Если расчет каждого элемента вычисляется по разным (меняющейся) схемам, то придется сохранять состояние входных параметров схемы расчета, а также где то хранить переключатель на схему для расчета следующего элемента. А если схемы еще и связаны, то выдялять эти состояния будет трудоемко.
Поэтому при написании объекта обертки, можно мягко говоря "сильно попотеть" для "вычленения межсостояний".
Поэтому это востребовано может быть не только индусам, но и нам с вами.


 
tesseract ©   (2007-10-15 18:08) [57]


> Если расчет каждого элемента вычисляется по разным (меняющейся)
> схемам, то придется сохранять состояние входных параметров
> схемы расчета, а также где то хранить переключатель на схему
> для расчета следующего элемента. А если схемы еще и связаны,
>  то выдялять эти состояния будет трудоемко.


Переведи плиз. Я тут понял, что-то с полиморфными функциями, но вот что не совсем доходит.


 
oxffff ©   (2007-10-15 18:21) [58]


> Я тут понял, что-то с полиморфными функциями, но вот что
> не совсем доходит.


Посмотрите oxffff ©   (15.10.07 12:13) [52].
Последовательность вывода на экран даст тебе понимание.

Если словами то Yield - способ передачи очередного значения Enumerator"a во внешнюю функцию, без "выхода из функции которая формирует значения".


 
oxffff ©   (2007-10-15 18:24) [59]


> Если словами то Yield - способ передачи очередного значения
> Enumerator"a во внешнюю функцию, без "выхода из функции
> которая формирует значения".


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


 
jack128 ©   (2007-10-15 19:46) [60]


> По сути может и не то. Но вот сильного практического смысла
> не вижу.

ну а допустим в серверном курсоре в ado - видешь практический смысл??  Так же хрень...


 
jack128 ©   (2007-10-15 19:46) [61]


>   Та же хрень...


 
oxffff ©   (2007-10-15 19:52) [62]


> jack128 ©   (15.10.07 19:46) [61]
>
> >   Та же хрень...


Ну если ты не видешь смысл, это только значит что ты не видешь


 
oxffff ©   (2007-10-15 20:02) [63]

Чтобы особо непонятливые поняли, предлагаю вам
особо не понятливым реализовать пример на обычных средствах.
Только с одним условием.
Все элементы формируются по запросу.
А не сначала формируются, а потом выводятся.
Чисто из любопытства сравним ваш код, и мой код.

procedure TYieldObject.YieldUseProc;
var i,g:integer;
   number,exponent,counter,Res:integer;
begin
for i := 1 to 10 do Yield(i);
Yield(11);
Yield(24);
for i := 1 to 10 do Yield(trunc(sin(i)));
Yield(15);
g:=1;
for i := 1 to 10 do
   begin
   g:=trunc(sin(i));
   Yield(trunc(g*cos(i*2)));
   end;
Yield(g+10);
number:=2;
exponent:=8;
counter:= 1;
Res:=1;
while counter<exponent do
begin
Res:=Res*number;
Yield(Res);
inc(counter);
end;
end;


 
tesseract ©   (2007-10-15 21:43) [64]


> особо не понятливым реализовать пример на обычных средствах.


Все равно не понимаю, чем абстрактные классы и Variant хуже. С учётом того, что перестраивать код проще.



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

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

Наверх




Память: 0.66 MB
Время: 0.018 c
15-1192519969
Александр
2007-10-16 11:32
2007.11.18
Автоматическое копирование обновлённой версии программы


15-1192101300
Knight
2007-10-11 15:15
2007.11.18
Как исправить html-страницу в которой почти вся кириллица кодами?


4-1178892371
Zagaevskiy
2007-05-11 18:06
2007.11.18
Handle иконок рабочего стола


4-1178126275
Альберт
2007-05-02 21:17
2007.11.18
перевод 8 битного битмапа в 24 битный


9-1162551661
megabyte-ceercop
2006-11-03 14:01
2007.11.18
Попинайте дему