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

•  Animation Loaders  640

•  DeLiKaTeS Tetris (Тетрис)  5 653

•  TDictionary Custom Sort  7 612

•  Fast Watermark Sources  7 304

•  3D Designer  10 501

•  Sik Screen Capture  7 821

•  Patch Maker  8 050

•  Айболит (remote control)  8 106

•  ListBox Drag & Drop  6 914

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

•  Графические эффекты  8 171

•  Рисование по маске  7 571

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

•  Canvas Drawing  6 541

•  Рисование Луны  6 468

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

•  Рисование стержней  4 569

•  Paint on Shape  3 276

•  Генератор кроссвордов  4 262

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

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

•  Пазл Numbrix  2 741

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

•  Игра HIP  2 446

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

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

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

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

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

•  HEX View  2 902

 
скрыть

  Форум  

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

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



Delphi Sources

Показ логотипа при запуске приложения 2



Автор: Howard Harkness

Юзер - это человек, который иногда наступает на грабли.
Чайник - это человек, который всегда наступает на грабли.
Ламер - это человек, который считает, что не наступает на грабли, но на самом деле наступает на них чаще, чем чайник.
Программист - это человек, который изобретает новые грабли.
Билл Гейтс - некое мифическое существо, покровителей граблей.
МикроСофт - завод по производству граблей.
Ассемблер - язык программирования, в котором программист наступает на грабли миллион раз в секунду.

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

После моего хирургического вмешательства осталось всего пять или шесть строк кода, вплетенных в скелет формы. После сравнения моего кода с демо-проектом, поставляемым с Delphi (MastApp), я понял, что мой код много проще.

Я не хочу обвинять автора в том, что он плохо сделал свою работу. Без его помощи этого кода просто бы не существовало. Я нахожу, что изучение чужого кода всегда существенно расширяет и дополняет багаж программиста.

Код производит впечатление, что создание окошка с логотипом в Delphi плевое дело. Ну за дело: сначала, с помощью редактора, создайте форму (лучшим решением будет создание нового проекта в отдельном каталоге) и установите лучшие, на ваш художественный взгляд, значения таких свойств, как позиция, размеры и границы. Затем создайте обработчик события OnDeactivate и добавьте единственную строчку кода, в которой мы освобождаем форму. И, последнее, добавьте секцию initialization с тремя строчками кода, которые создают, выводят и обновляют форму.

Для того, чтобы использовать новое окошко с логотипом, скопируйте получившийся .PAS-файл в каталог с проектом, в котором вы намереваетесь его использовать, и вставьте ссылку на модуль в самую верхнюю часть секции uses. НЕ добавляйте форму к проекту.

Ниже приведен пример кода (форма имеет имя SplashForm, модуль обозван как SPLASH). Мой код добавлен между закомментаренных блоков {>>вставить} и {<<конец вставки}, весь остальной код генерируется Delphi.


type
  TSplashForm = class(TForm)
    [...labels, bitmaps, и пр., добавляется редактором Delphi...]
    procedure FormDeactivate(Sender: TObject);
  end;

var
  SplashForm: TSplashForm;

implementation

{$R *.DFM}

{ Это шаманское место. Application.Run в нашем случае
вызывает программу деактивации.}

procedure TSplashForm.FormDeactivate(Sender: TObject);
begin
  {>>вставить}
  Free;
  {<<конец вставки}

end;

{>>вставить}

initialization
  begin
    SplashForm := TSplashForm.Create(nil);
    SplashForm.Show;

    { Я не уверен, но причина наличия здесь Update в том,
    что, как мне кажется, приложение пока не может работать
    c очередью своих сообщений}

    SplashForm.Update;
  end;
  {<<конец вставки}
end.

В головном модуле после строчки USES (.DPR-файл) просто добавьте "SPLASH," (не заключайте это в кавычки). Это все. Никакой головной боли с таймерами, никаких запусков отдельных приложений. Логотип быстро появляется и остается до тех пор, пока приложение не начнет свою работу.





Похожие по теме исходники

Примеры работы с БД

Примеры оформления DBGrid

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

База предприятий и менеджеров 0.99

 

Консольное DOS приложение

Работа с принтером

Локализация приложений




Copyright © 2004-2026 "Delphi Sources" by «SiteAnalyzer». Delphi World FAQ

Группа ВКонтакте