Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.047 c
3-1191485669
Ega23
2007-10-04 12:14
2008.02.17
TADODataSet.Post - не сохранять данные в БД


2-1201243371
tytus
2008-01-25 09:42
2008.02.17
Excel (Office2003) - как писать в разных листах?


15-1200286337
Slider007
2008-01-14 07:52
2008.02.17
С днем рождения ! 14 января 2008 понедельник


2-1201105865
SamProf
2008-01-23 19:31
2008.02.17
Как правильно сделать работу с TAdvNavBar


15-1200305773
AntiUser
2008-01-14 13:16
2008.02.17
Oracle.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский