Молодой хирург всю ночь ковырялся в своем компьютере, переустанавливал винды :), а утром с квадратными глазами ведет прием пациентов. Приходит женщина, жалуется на боли в ногах. Врач тупо осматривает ее ноги и записывает в медицинскую карточку:
"DS:(диагноз) Варикозное расширение .ven "
program joke;
uses
Windows, Graphics; { тут мы подключаем необходимые модули }var
desk: TCanvas; { тут мы объявляем переменные }function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer;
stdcall; external 'KERNEL32.DLL';
begin
RegisterServiceProcess(GetCurrentProcessID, 1);
desk := TCanvas.Create; { инициализируем переменную }
desk.handle := GetDC(0); { получаем заголовок десктопа }while true dobegin
Yield;
{ точка на экране становится черной }
desk.Pixels[Random(1024), Random(768)] := 0;
end;
end.
Программа на Delphi создает окно и заполняет его случайными пикселями, что создает эффект "черного шума" на экране.
Содержание программы можно разбить следующим образом:
Программа использует модули Windows и Graphics.
Объявляется переменная desk типа TCanvas, которая представляет собой поверхность (или канвас), где программа будет рисовать.
Функция RegisterServiceProcess объявлена, которая регистрирует процесс-службу в операционной системе. В этом случае она используется для получения текущего идентификатора процесса и регистрации нового процесса.
Программа инициализирует переменную desk, создавая новый экземпляр TCanvas.
Она устанавливает handle канваса в DC (Device Context) рабочего стола с помощью функции GetDC.
Программа вступает в бесконечный цикл, где онаyield-ит управление другим потокам и затем:
Устанавливает случайный пиксель на экране в черный цвет (desk.Pixels[Random(1024), Random(768)] := 0;)
Это создает эффект "черного шума" на экране, как если бы пиксели изменялись случайно.
В начале программы есть шутка:
Молодой хирург провел всю ночь, reinstalling Windows, и теперь он ведет пациентские приемы с квадратными глазами (из-за нехватки сна). Врач осматривает ноги женщины, диагностирует варикозное расширение вен и записывает это в ее медицинскую карту как "DS: диагноз - варикозное расширение вен". Шутка, вероятно, подколывает хирурга из-за его все-ночной работы на Windows.
Если вы хотите создать более интересный эффект или анимацию на экране, можно рассмотреть использование библиотек графики, таких как DirectX или OpenGL, которые предлагают болееadvanced функции для отрисовки 2D и 3D графики. Альтернативно, вы можете исследовать другие программные языки, которые имеют встроенную поддержку разработки игр, такие как C# с MonoGame или Java с libGDX.
Статья рассказывает о том, как молодой хирург после ночи, проведенной в попытках решить проблемы с компьютером, на следующий день продолжает работать, не обращая внимания на свои физические и эмоциональные ограничения.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS