| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Мегабайты отдыхают
Автор: Alex Storm
1. Постановка задачи Данный способ позволяет значительно экономить ресурсы компьютера. Кроме того, все знают, что минимальный размер готового проекта с (формой) на делфи составляет 250-300 Кб. А если там не одна форма, а несколько, то проекты зачастую разрастаются до 3-4 и более Мб. Я же научу вас создавать приложения с формами, но весить такие проекты будут по 15-20 Кб.Данный способ требует отказа от использования всех VCL, т.е. все придеться делать ручками. Он основан на использовании функции CreateWindow, которая может создавать любое окно в соответствии с заданными параметрами. Интересно? Читайте дальше! 2.Пример решения с исходным кодом Создание компонентов данным методом требует от программиста большого труда и терпения, т.к. теперь придется забыть о благосклонности делфи, делающей за нас все шаблоны функций, заготовки модулей и прочую "черную работу". Теперь, как я уже сказал выше, все придется писать нам самим, вручную ;)Итак, для начала создадим проект в делфи, нажав File->New->Application. Поскольку мы договорились не использовать формы, то делаем так: Project->Remove From Project, выбираем Unit1 и нажимаем кнопку ОК. Затем нужно вывести на экран код программы: Project->View Source. Открылся текстовый редактор с кодом программы. Из секции uses удаляем все, вписываем туда windows, messages; Затем удаляем begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. В принципе, все подготовлено к написанию кода самой программы. Суть которой заключается в простейших действиях Есть кнопка, есть метка, есть эдит-бокс. При нажатии на кнопку метке присваивается надпись из эдит-бокса. Все. Программа, конечно, совершенно ненужная никому, но в качестве примера пойдет. program Project1; uses windows, messages; {$R *.res} var procedure Resize; //Демонстрация изменения размеров и положения
компонентов программным способом, если мы изменяем окно procedure ShutDown; // Выключение procedure Click; // Задача для кнопки function ClickProc(hwnd,msg,wparam,lParam:longint):longint;stdcall;
// Обработка каждого сообщения, посланного кнопке function WindowProc(hwnd, msg, wparam, lparam:longint):longint;stdcall;
//То же самое для окна begin //А теперь задаем свойства окна with WinClass do //Регистрируем наш класс //Собственно создание нашего окна. // Создаем кнопку // Создаем эдит-бокс //Создаем label
//Назначаем кнопке процедуру //Установка фокуса ввода на кнопку while(GetMessage(Msg,Handle,0,0))do
3.Выгода при использовании данного решения. Про выгоду я уже сказал выше-данное решение позволяет ОЧЕНЬ сильно сократить размеры исполняемого файла. Где же применять данное решение? не мне вас учить - все зависит от вашей фантазии!4. Заключение. Таким образом мы научились писать программы, весящие жалкие Кб...Вроде все должно работать.Рубрика: Разные статьи
Вышел MySQL 5.1.30, первый стабильный рели....
После публикации 29 тестовых версий анонсирован первый стабильный релиз MySQL 5.1, пригодный для промышленной эксплуатации и обеспечивающий увеличение производительности для "тяжелых" SQL запросов, по сравнению с MySQL 5.0, примерно на 15-20%. Главные новшества появившиеся в MySQL 5.1:
Подробнее... |
Рубрика: MySQL
| Добавлено: 28.11.2008
Тестирование параллельных программ.
Тестирование параллельного программного обеспечения представляет собой более сложную задачу по сравнению с тестированием последовательной программы. Программист должен знать о подводных камнях при тестировании параллельного кода, имеющихся методологиях и инструментарии.
Подробнее... |
Рубрика: Тестирование
| Добавлено: 28.11.2008
Архитектура AMD64 (EM64T).
Аннотация. В статье кратко рассматривается архитектура AMD64 компании AMD и ее реализация EM64T компании Intel. Описаны особенности архитектуры, ее возможности, достоинства и недостатки.
Подробнее... |
Рубрика: Архитектура AMD
| Добавлено: 27.11.2008
Остальные статьи: |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|