распределить код по нескольким файлам и в основном в нужных местах вставить директиву включения
Файлы разные, а для компилятора область видимости одна.
Quote (TimKruz)
Тогда почему стандартные модули (не все, конечно), если их просто подключить, но не использовать, сильно увеличивают размер exe? У них там что, initialization и finalization по 100 КБ (после компиляции) каждый?
Просто там те самые *.dcu линкуются без разбору - надо, не надо, всё засунем. Размер кода, быстродействие не так ценятся, как время недопрограммиста. В Делфи ещё ничего, в Lazarus пустая заготовка после компиляции 5 Мб (!) весит. В итоге выдернул я оттуда компилятор и работаю с ним через командную строку. Без компонентов и формочек. Будь подобен лезвию бритвы: ярким, блестящим, отточенным, но холодным и не показывающим своего истинного цвета.
1)Компактность и чистота кода - в главном модуле только вызовы функций, описанных в других модулях. 2)Области видимости - в главном модуле доступны только необходимые переменные и функции. 3)'Умная' линковка (SmartLink) - ненужные функции из модулей не линкуются с готовым *.exe-файлом. 4)Можно через инструкции initialization и finalization назначить модулю действия при запуске программы, и, соответственно, при завершении.
Добавлено (17.06.2012, 13:17) --------------------------------------------- Может, у меня память плохая, но я не помню, чтобы на каждый компонент свой модуль создавался... При чём здесь компоненты?
Будь подобен лезвию бритвы: ярким, блестящим, отточенным, но холодным и не показывающим своего истинного цвета.
Сообщение отредактировал BASS - Воскресенье, 17 Июня 2012, 13:15
Demeron, спасибо! Всё отлично работает. А я даже и не подумал о нулевом меридиане, хотя в документации есть отсылка к UTC. Будь подобен лезвию бритвы: ярким, блестящим, отточенным, но холодным и не показывающим своего истинного цвета.
Доброго времени суток! При использовании Win32 API функции GetSystemTime() заметил некоторую странность - возвращаемое время на 4 часа "опаздывает", т.е. если текущее время 12:00, то будет возвращено 8:00.
Code
function GetDateTime:string; {день-месяц-год-часы-минуты-секунды} var DT:SystemTime; day,month,year,hour,minute,second:string; begin GetSystemTime(DT); Str(dt.wday,day); Str(dt.wmonth, month); Str(dt.wyear, year); Str(dt.whour+4, hour);{костыль! Сломать ногу!**********Пока вроде успешно работает... Почему?**********************} Str(dt.wminute, minute); Str(dt.wsecond, second); GetDateTime:=day+'.'+month+'.'+year+' '+hour+':'+minute+':'+second; end;
C такой поправкой (+4 часа) код вполне себе работает. В связи с чем возник вопрос: я что-то делаю не так, или это ошибка компилятора или ОС? Будь подобен лезвию бритвы: ярким, блестящим, отточенным, но холодным и не показывающим своего истинного цвета.
Сообщение отредактировал BASS - Воскресенье, 17 Июня 2012, 08:57
Нохчи, если именно эти баллы нужны Вам для поступления - вперёд. Если они не "решающие" - то не стОит оно того. ИМХО. Будь подобен лезвию бритвы: ярким, блестящим, отточенным, но холодным и не показывающим своего истинного цвета.
Я Вам вот что скажу:ИМХО, всё возможно, в этой жизни, на этой планете и, тем более, в этой стране. Может, БП повредил ОЗУ, может, ещё что-то. Важен сам факт работы (или сбоя). Будь подобен лезвию бритвы: ярким, блестящим, отточенным, но холодным и не показывающим своего истинного цвета.
Пардон, а антураж? Для перестрелки на астероиде подойдут одни звания, для забрасывания волосатых противников палками-копалками - другие =) Будь подобен лезвию бритвы: ярким, блестящим, отточенным, но холодным и не показывающим своего истинного цвета.
Зайдите в безопасном режиме. Будет вылетать - ответ на Ваш вопрос "Да". Не будет вылетать - "В принципе, всё может быть". О каких кодах ошибки может идти разговор при убитом БП? Или Вы по-фон-Неймановски пытаетесь создать "надёжную машину из ненадёжных элементов"? Будь подобен лезвию бритвы: ярким, блестящим, отточенным, но холодным и не показывающим своего истинного цвета.
jiumx60rus, любите ли Вы Хабр так же, как я? =) Будь подобен лезвию бритвы: ярким, блестящим, отточенным, но холодным и не показывающим своего истинного цвета.
Myxach, так для чего создана тема? Какой вопрос обсудить требуется? Что изменится от согласия или несогласия? Будь подобен лезвию бритвы: ярким, блестящим, отточенным, но холодным и не показывающим своего истинного цвета.
Aikidos, а можно поподробнее намекнуть по поводу звуков? Будь подобен лезвию бритвы: ярким, блестящим, отточенным, но холодным и не показывающим своего истинного цвета.
zac, bin-файл - это любой двоичный файл, содержащий всё, что угодно. Другое дело, что FPSC поддерживает формат "*.x", вот сюда надо копать. Экспортёр есть, не знаю, насколько он крив в новых версиях. Будь подобен лезвию бритвы: ярким, блестящим, отточенным, но холодным и не показывающим своего истинного цвета.