|
Как в программе сохранить константу с датой компиляции
|
|||
---|---|---|---|
#18+
Добрый день! Возникла необходимость иметь в программе константу, в которой бы хранилась дата компиляции проекта. Каким образом в программе можно сохранять такую константу? Пока делаю это вручную... а хотелось бы автоматизировать, потому как часто приходится компилить проект... Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2008, 12:27 |
|
Как в программе сохранить константу с датой компиляции
|
|||
---|---|---|---|
#18+
Сам никогда не пользовал, но думаю обязательно должно быть событие BeforBuild или AfterBuild , где можно создать ini-файл и записать дату. Объект типа ProjectHook является базовым классом Visual FoxPro, который позволяет определить Значения Свойств Проекта всякий раз, когда данный Проект Открывается. (Вы можете использовать опциональный параметр NOPROJECTHOOK для команды CREATE PROJECT или команды MODIFY PROJECT, которая обеспечивает блокировку создания и подсоединения описываемого Объекта ProjectHook.) Рассматриваемый объект ProjectHook обеспечивает программный доступ к Событиям, пороисходящим в рассматриваемом Проекте. Например, вы можете контролировать (или выполнять некоторый программный код) в том случае, когда в Проект добавляется новый Программный файл. Обратите внимание, что вы можете определить некоторый класс типа ProjectHook для каждого нового, создаваемого Проекта, для этого рекомендуется использовать Закладка Projects, которая находится в диалоговом боксе Options, или можно определить рассматриваемый Класс для конкретного, нового Проекта, для этого рекомендуется использовать Диалоговый Бокс Project Information. При выполнении программного Модуля, вы можете определить требуемый объект класса ProjectHook как показано в следующем Фрагменте Программного Кода: Копировать Код MODIFY PROJECT MyProject_VFP.Projects('MyProject.pjx').ProjectHook = ; NewObject('MyProjectHook', 'MyClass.vcx') ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2008, 12:57 |
|
Как в программе сохранить константу с датой компиляции
|
|||
---|---|---|---|
#18+
psv73Добрый день! Возникла необходимость иметь в программе константу, в которой бы хранилась дата компиляции проекта. Каким образом в программе можно сохранять такую константу? Пока делаю это вручную... а хотелось бы автоматизировать, потому как часто приходится компилить проект... Спасибо! Использую для этого класс ProjectHook, в событии которого AfterBuild можно считать свойтство из Application.ActiveProject.BuildDateTime и сохранить куда тебе надо. С уважением, Алексей ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2008, 13:02 |
|
Как в программе сохранить константу с датой компиляции
|
|||
---|---|---|---|
#18+
psv73Добрый день! Возникла необходимость иметь в программе константу, в которой бы хранилась дата компиляции проекта. Каким образом в программе можно сохранять такую константу? Пока делаю это вручную... а хотелось бы автоматизировать, потому как часто приходится компилить проект... Спасибо! А вариант Date_of_project=fdate("MyEXE") не подойдет? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2008, 13:07 |
|
Как в программе сохранить константу с датой компиляции
|
|||
---|---|---|---|
#18+
stoopperpsv73Добрый день! Возникла необходимость иметь в программе константу, в которой бы хранилась дата компиляции проекта. Каким образом в программе можно сохранять такую константу? Пока делаю это вручную... а хотелось бы автоматизировать, потому как часто приходится компилить проект... Спасибо! А вариант Date_of_project=fdate("MyEXE") не подойдет? При компиляции проекта не обязательно генерится EXE-файл. С уважением, Алексей ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2008, 13:09 |
|
Как в программе сохранить константу с датой компиляции
|
|||
---|---|---|---|
#18+
Aleksey-Kstoopperpsv73Добрый день! Возникла необходимость иметь в программе константу, в которой бы хранилась дата компиляции проекта. Каким образом в программе можно сохранять такую константу? Пока делаю это вручную... а хотелось бы автоматизировать, потому как часто приходится компилить проект... Спасибо! А вариант Date_of_project=fdate("MyEXE") не подойдет? При компиляции проекта не обязательно генерится EXE-файл. С уважением, Алексей Хорошо, тогда любой файл проекта, который явно меняется вместо MyEXE ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2008, 13:13 |
|
Как в программе сохранить константу с датой компиляции
|
|||
---|---|---|---|
#18+
stoopperА вариант Date_of_project=fdate("MyEXE") не подойдет? Важно, чтобы это был не атрибут файла!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2008, 13:14 |
|
Как в программе сохранить константу с датой компиляции
|
|||
---|---|---|---|
#18+
Нужна именно дата? Или достаточно просто некоего уникального идентификатора, по которому можно отличить одну версию от другой? Если нужен всего-лишь идентификатор, то когда выбираешь компиляцию файла Exe становится доступна кнопочка Version. Там можно задать значения 3 частей Version Number. Причем, если поставить птичку "Auto Increment", то значение последней (третьей) части номера будет автоматически увеличиваться на 1 при каждой последующей компиляции. Ну, а прочитать номер версии можно при помощи функции AGetVersion() ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2008, 14:46 |
|
Как в программе сохранить константу с датой компиляции
|
|||
---|---|---|---|
#18+
ВладимирМНужна именно дата? Или достаточно просто некоего уникального идентификатора, по которому можно отличить одну версию от другой? Если нужен всего-лишь идентификатор, то когда выбираешь компиляцию файла Exe становится доступна кнопочка Version. Там можно задать значения 3 частей Version Number. Причем, если поставить птичку "Auto Increment", то значение последней (третьей) части номера будет автоматически увеличиваться на 1 при каждой последующей компиляции. Ну, а прочитать номер версии можно при помощи функции AGetVersion() Нужна именно дата!!!! А можно пример, как это все (ProjectHook) использовать в скомпилином проекте? что-то никак не пойму... как к этому добру обратится из VFP понятно, а из скопилинного проекта никак нераздуплюсь... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2008, 15:03 |
|
Как в программе сохранить константу с датой компиляции
|
|||
---|---|---|---|
#18+
Далеко не при всякой компиляции проекта нужно приращивать номер версии, поэтому просто в главном меню фокса есть несколько пунктов: "Прирастить номер версии", компилирую exe, "Установить новую версию программы",... Хранить константы в проекте можно включив в проект какой-нибудь файл (в том числе dbf), у меня const.ini [App] Name = Title = Copyright = Version = Release = DBVersion = DBRelease = Icon = ... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2008, 15:30 |
|
Как в программе сохранить константу с датой компиляции
|
|||
---|---|---|---|
#18+
авторНужна именно дата!!!! ну хозяин - барин Вам необходим пример? мне рисовать лень, но принцип таков и поищите примеры по ProjectHook я когда-то рисовал на событие до сборки вешаете код генерации доп.модуля к примеру так text to lcStr #define tttt <<dtoc(date())>> return .....) endte strtofile(lcStr,"getExeBuildData.prg") файлик getExeBuildData.prg должен быть включен при сборке он скомпилится при включенной опции рекомпайл в проекте в нужны местах Вы можете звать свою дату так messagebox(getExeBuildData()) ну и т.д., вариаций может быть много на эту тему, до подмены какой-то строки в каком-то модуле + к вышесказанному. для сложных сценариев сборки в фокспро возможно написание дополнительных модулей-сборщиков, которые собирают приложения со сложной архитектурой. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2008, 15:40 |
|
Как в программе сохранить константу с датой компиляции
|
|||
---|---|---|---|
#18+
psv73ВладимирМНужна именно дата? Или достаточно просто некоего уникального идентификатора, по которому можно отличить одну версию от другой? Если нужен всего-лишь идентификатор, то когда выбираешь компиляцию файла Exe становится доступна кнопочка Version. Там можно задать значения 3 частей Version Number. Причем, если поставить птичку "Auto Increment", то значение последней (третьей) части номера будет автоматически увеличиваться на 1 при каждой последующей компиляции. Ну, а прочитать номер версии можно при помощи функции AGetVersion() Нужна именно дата!!!! А можно пример, как это все (ProjectHook) использовать в скомпилином проекте? что-то никак не пойму... как к этому добру обратится из VFP понятно, а из скопилинного проекта никак нераздуплюсь... Вот пример использования ProjectHook немного для других целей (обновления файлов отчетов при компиляции проекта в версии VFP 8), но думаю разберешься - http://www.caws.atnet.ru/vfox/vfoxpro4.html С уважением, Алексей ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2008, 15:40 |
|
Как в программе сохранить константу с датой компиляции
|
|||
---|---|---|---|
#18+
Aleksey-KВот пример использования ProjectHook немного для других целей (обновления файлов отчетов при компиляции проекта в версии VFP 8), но думаю разберешься - http://www.caws.atnet.ru/vfox/vfoxpro4.html С уважением, Алексей Огромное спасибо за пример!!! Разобрался в тонкостях использования класса в проекте.. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2008, 16:57 |
|
|
start [/forum/topic.php?fid=41&msg=35625351&tid=1587127]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 321ms |
total: | 478ms |
0 / 0 |