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

Вниз

А кому не жалко, выложите, образцовые исходники проекта   Найти похожие ветки 

 
Lip   (2008-01-17 20:54) [0]

какого-нибудь... Всем известно, что полезно смотреть код, написанный профессионалами. Поэтому, пожалуйста, выложите что-нибудь образцовое и качественно написанное!
Заранее благодарен!


 
DrPass ©   (2008-01-17 21:03) [1]

Держи. От души отрываю буквально:
program HelloLip;
begin
 writeln("Hello, Lip!");
end.


 
Lip   (2008-01-17 21:32) [2]


> program HelloLip;begin  writeln("Hello, Lip!");end.


а что-нибудь по объемнее есть?


 
Юрий ©   (2008-01-17 21:33) [3]

Рекомендуют читать исходники VCL. Там где Delphi/Source.


 
Германн ©   (2008-01-17 21:34) [4]


> Lip   (17.01.08 21:32) [2]

А в папку Demos заглянуть не судьба?


 
DVM ©   (2008-01-17 21:58) [5]


> А в папку Demos заглянуть не судьба?

Эээ. Там лежат далеко не образцы. VCL - да, но те демки - это лишь демки.


 
palva ©   (2008-01-17 22:24) [6]

Скачайте исходники Free Pascal написанные на паскале.


 
Anatoly Podgoretsky ©   (2008-01-17 22:48) [7]

> Lip  (17.01.2008 21:32:02)  [2]

Скромнее надо быть.


 
Loginov Dmitry ©   (2008-01-17 23:17) [8]

http://www.remobjects.com/?ps

http://synedit.sourceforge.net/

http://fastmm.sourceforge.net/

Это достаточно популярные OpenSource-проекты - вполне образцовые и качественные.
Но лучше все-таки курить VCL - пользы гораздо больше.


 
Dib@zol ©   (2008-01-18 13:49) [9]

http://fastcodeproject.org/

Читай, фтыкай :) Я в данный момент разбираюсь с принципом работы тамошней Pos. Написано вообсче отпадно...


 
clickmaker ©   (2008-01-18 13:57) [10]

function BoolToStr(AValue: boolean): string;
begin
 if (AValue = true) then
   Result := "True"
 else if (AValue = false) then
   Result := "False"
 else
   Result := "Unknown";
end;


 
Searcher   (2008-01-18 14:09) [11]

clickmaker ©   (18.01.08 13:57) [10]
несмешно нифика


 
Dib@zol ©   (2008-01-18 14:12) [12]

> [11] Searcher   (18.01.08 14:09)
Реинкарнация гаспадина ZoldBerger"a?

Вот мой (не претендую на профессионализм, он мне просто нравится, ибо красивое решение) код нахождения ближайшей к числу степени двойки:

function cp2(n:Cardinal):Cardinal;
asm
 XOR EDX, EDX;
 BSR ECX, EAX;
 JE @exit;
 BTS EDX, ECX;
 SUB EAX, EDX;
 ADD EAX, EAX;
 CMP EAX, EDX;
 MOV EAX, EDX;
 JLE @exit;
 ADD EAX, EAX;
 @exit:
end;


 
Lip   (2008-01-18 14:34) [13]


> asm  XOR EDX, EDX;  BSR ECX, EAX;  JE @exit;  BTS EDX, ECX;
>   SUB EAX, EDX;  ADD EAX, EAX;  CMP EAX, EDX;  MOV EAX,
> EDX;  JLE @exit;  ADD EAX, EAX;  @exit:end;


ой ужас


 
Юрий Зотов ©   (2008-01-18 15:11) [14]

> Dib@zol ©   (18.01.08 14:12) [12]

Логарифм числа по основанию 2, округленный до ближайшего целого.


 
Dib@zol ©   (2008-01-18 15:26) [15]

> [14] Юрий Зотов ©   (18.01.08 15:11)

Вы предлагаете что-то наподобие этого?

function cp2F(n:Cardinal):Cardinal;
asm
 TEST EAX, EAX;
 JE @exit;
 FLD1;
 PUSH EAX;
 FILD DWORD PTR [ESP];
 FYL2X;
 FISTP DWORD PTR [ESP];
 POP EDX;
 DEC EDX;
 XOR EAX, EAX;
 BTS EAX, EDX;
 @exit:
end;

Если да, то смею заверить, что этот способ работает в 9.76 раз медленнее представленного мной. Тем более, используя FPU. И я сомневаюсь, что этот вариант можно оптимизировать для ускорения расчётов в 9.76 раз.


 
Игорь Шевченко ©   (2008-01-18 15:29) [16]

У профессионалов символ @ в нике отсутствует


 
Dib@zol ©   (2008-01-18 15:31) [17]

> У профессионалов символ @ в нике отсутствует

> не претендую на профессионализм

:)


 
Юрий Зотов ©   (2008-01-18 15:33) [18]

> Dib@zol ©   (18.01.08 15:26) [15]

Нет, я предлагаю использовать модуль Math и написать одну строку на Паскале.

В том, что Ваш код по скорости может оказаться значительно лучше никаких сомнений нет. Но в большинстве реальных случаев понятность кода важнее его скорострельности, поэтому Паскаль предпочтительнее. А в остальных случаях - да, согласен.


 
Mystic ©   (2008-01-18 16:58) [19]

http://mu.webest.net/install/tex.zip


 
Lamer@fools.ua ©   (2008-01-18 17:35) [20]

>>Игорь Шевченко ©   (18.01.08 15:29) [16]

>У профессионалов символ @ в нике отсутствует
Вот блин... [ушёл убивать себя об стену, вымазанную ядом]
:-)


 
Dib@zol ©   (2008-01-18 17:36) [21]

Ээээ.... а што ето? ©


 
Dib@zol ©   (2008-01-18 17:36) [22]

В смысле, я про пост №19.


 
Kolan ©   (2008-01-18 17:56) [23]

> [19] Mystic ©   (18.01.08 16:58)

А че это? Что-то «was written in 1981». Конвертит пас файлы в «Web» файлы, что такое вэб файлы вообще?


 
Mystic ©   (2008-01-18 19:51) [24]

Это исходники TeX. Правда не самая последняя версия (в этой три бага, а в последней их нет). Комментарий
% A reward of $327.68 will be paid to the first finder of any remaining bug.
все еще актуален.

Выполнен с использованием техники литературного программирования, когда параллельно пишется и сама программа, и книга, которая рассказывает о том, как составлена программа. На выходе из web-файла получается как паскалевский исходник, так и файл документации (представлен в архиве в виде PDF).



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

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

Наверх




Память: 0.52 MB
Время: 0.022 c
4-1183687219
AlexanderMS
2007-07-06 06:00
2008.02.17
Стиль элементов управления.


15-1200313761
Human
2008-01-14 15:29
2008.02.17
аналог VMware Converter но для Virtual PC 2007


15-1200305272
DiamondShark
2008-01-14 13:07
2008.02.17
А есть здесь счастливые обладатели тюнера MSI TV Anywhere?


15-1200597998
ProgRAMmer Dimonych
2008-01-17 22:26
2008.02.17
К вопросу об учителях и системе образования


6-1180615621
Alex_C
2007-05-31 16:47
2008.02.17
Получить данные через https протокол