Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 803

•  TDictionary Custom Sort  6 801

•  Fast Watermark Sources  6 586

•  3D Designer  9 544

•  Sik Screen Capture  6 924

•  Patch Maker  7 373

•  Айболит (remote control)  7 311

•  ListBox Drag & Drop  6 175

•  Доска для игры Реверси  98 122

•  Графические эффекты  7 487

•  Рисование по маске  6 778

•  Перетаскивание изображений  5 631

•  Canvas Drawing  6 011

•  Рисование Луны  5 802

•  Поворот изображения  5 253

•  Рисование стержней  3 849

•  Paint on Shape  3 006

•  Генератор кроссвордов  3 959

•  Головоломка Paletto  3 141

•  Теорема Монжа об окружностях  3 973

•  Пазл Numbrix  2 624

•  Заборы и коммивояжеры  3 434

•  Игра HIP  2 353

•  Игра Go (Го)  2 265

•  Симулятор лифта  2 669

•  Программа укладки плитки  2 229

•  Генератор лабиринта  2 781

•  Проверка числового ввода  2 388

•  HEX View  2 725

•  Физический маятник  2 414

 
скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Здесь был Я



Автор: HuNtEr

Письмо пользователя в группу технической поддержки сетевой игры "Квейк": "Я нашел глюк. Прямо посреди сцены во время игры постоянно зависают пять ботов." Ответ группы поддержки: "Это не глюк. Это не зависают пять ботов, это играет команда финов."

Откуда пошла привычка у людей - везде оставлять свои автографы - остаётся только догадываться. Скорее всего, мы это позаимствовали с наскальных рисунков эпохи неолита. Но это в прошлом, а сейчас мы попытаемся оставить след о себе уже в компьютерном варианте.

  • Добавляем своё имя в System Tray (рядом с часами)

program Name_in_tray;

{$APPTYPE CONSOLE}
uses
  registry, windows;

procedure name_in_tray;
const
  name = 'Delphi World'; // Указываем своё имя или какое-либо слово
var
  reg: tregistry;
begin
  reg:=tregistry.Create;
  reg.RootKey:=HKEY_CURRENT_USER;
  reg.OpenKey('Control Panel\International',true);
  reg.WriteString('s1159',name);
  reg.WriteString('s2359',name);
  reg.WriteString('sTimeFormat','HH:mm:ss tt');
  reg.CloseKey;
end;

begin
  name_in_tray;
end.

  • Пишем на кнопке Пуск

program Name_on_pusk;

{$APPTYPE CONSOLE}

uses
  windows;

procedure name_on_pusk;
const
  name='Delphi World';
var
  h, h1: hwnd;
begin
  h := findwindow('Shell_TrayWnd', nil);
  h1 := findwindowex(h, 0, 'Button', nil);
  setwindowtext(h1, name);
end;

begin
  name_on_pusk;
end.

  • Рисуем прямо по экрану (поверх всех окон)

program Name_on_screen;

{$APPTYPE CONSOLE}

uses
  windows, graphics;

procedure Name_on_screen;
const
  name='Delphi World';
var
  ScreenDC: hDC;
begin
  ScreenDC := GetDC(0);
  settextcolor(screendc,clred); // Устанавливаем цвет текста, в данном случае
  // clRed - красный.
  SetBkMode(screendc, TRANSPARENT); // Рисуем на прозрачном фоне,
  // без этой строчки фон - белый.
  textout(screendc,0,0,name,6); // Устанавливаем координаты вывода и длину
  // строки (в нашем случае - 6 символов)
  ReleaseDC(0,ScreenDC);
end;

begin
  name_on_screen;
end.

Надеюсь, кому-то это пригодиться, хотя бы ради развлечения =). Но смотрите - не перетрудитесь!