|
Решил донести до вас правду об условной компиляции. Есть в бэйсике такая штука. Удобная временами. Что означает условная и для чего это надо в принципе?
Например, у вас есть программа, которая должна
работать как демо-версия и как полная версия.
Прекрасно, вы можете распространять полный код,
делая в нем проверку, какой тип версии сейчас
запущен. Однако вам боязно: вдруг сломают?
Условная компиляция - это возможность не
включать в код ненужные блоки. Или, более
приближенный к боевым условиям пример: В
программе полно отладочной информации - не
тащить же ее в реальный проект. Убрать - раз
плюнуть, но в какой-то
момент может и пригодится.
Условная компиляция дает нам возможность
избежать хранения отдельных версий в виде разных
проектов.
Вот вам для начала пример.
В модуле создаем паблик-процедуру:Public Sub WriteLog(MSG
As String)
Dim iFileNum As Long
const LogName = "AppLog" ' эту константу стоит убрать в
область деклараций модуля
iFileNum = FreeFile
Open App.Path & "\" & LogName For Append As iFileNum
Print #iFileNum, Format(Now, "mm/dd hh:nn:ss") & " " & MSG
Close #iFileNum
End Sub
Процедура делает элементарные вещи. Открывает
файл для записи и пишет туда что попросили. Штука
полезная для программ, работающих
самостоятельно, без участия человека.
Как будем ее вызывать:
#if isLog then
writelog "Сообщение для записи"
# endif
После чего идем в свойства проекта и в закладке
Make ищем поле для записи, обозначенное как Conditional
Compilation Arguments и вписываем туда
islog = 1
В этом случае после компиляции код будет
содержать вызов процедуры для записи в лог-файл.
Если же перед компиляцией изменить настройки
islog = 0,
код вызова включен не будет.
Можно писать туда несколько переменных islog (под
любым именем), разделяя каждую двоеточием :
|
|