powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как в программе сохранить константу с датой компиляции
13 сообщений из 13, страница 1 из 1
Как в программе сохранить константу с датой компиляции
    #35625200
psv73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Возникла необходимость иметь в программе константу, в которой бы хранилась дата компиляции проекта. Каким образом в программе можно сохранять такую константу?

Пока делаю это вручную... а хотелось бы автоматизировать, потому как часто приходится компилить проект...

Спасибо!
...
Рейтинг: 0 / 0
Как в программе сохранить константу с датой компиляции
    #35625291
homik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам никогда не пользовал, но думаю обязательно должно быть событие 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')
...
Рейтинг: 0 / 0
Как в программе сохранить константу с датой компиляции
    #35625307
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
psv73Добрый день!

Возникла необходимость иметь в программе константу, в которой бы хранилась дата компиляции проекта. Каким образом в программе можно сохранять такую константу?

Пока делаю это вручную... а хотелось бы автоматизировать, потому как часто приходится компилить проект...

Спасибо!
Использую для этого класс ProjectHook, в событии которого AfterBuild можно считать свойтство из Application.ActiveProject.BuildDateTime и сохранить куда тебе надо.
С уважением, Алексей
...
Рейтинг: 0 / 0
Как в программе сохранить константу с датой компиляции
    #35625324
stoopper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
psv73Добрый день!

Возникла необходимость иметь в программе константу, в которой бы хранилась дата компиляции проекта. Каким образом в программе можно сохранять такую константу?

Пока делаю это вручную... а хотелось бы автоматизировать, потому как часто приходится компилить проект...

Спасибо!


А вариант Date_of_project=fdate("MyEXE") не подойдет?
...
Рейтинг: 0 / 0
Как в программе сохранить константу с датой компиляции
    #35625331
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stoopperpsv73Добрый день!

Возникла необходимость иметь в программе константу, в которой бы хранилась дата компиляции проекта. Каким образом в программе можно сохранять такую константу?

Пока делаю это вручную... а хотелось бы автоматизировать, потому как часто приходится компилить проект...

Спасибо!


А вариант Date_of_project=fdate("MyEXE") не подойдет?
При компиляции проекта не обязательно генерится EXE-файл.
С уважением, Алексей
...
Рейтинг: 0 / 0
Как в программе сохранить константу с датой компиляции
    #35625346
stoopper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-Kstoopperpsv73Добрый день!

Возникла необходимость иметь в программе константу, в которой бы хранилась дата компиляции проекта. Каким образом в программе можно сохранять такую константу?

Пока делаю это вручную... а хотелось бы автоматизировать, потому как часто приходится компилить проект...

Спасибо!


А вариант Date_of_project=fdate("MyEXE") не подойдет?
При компиляции проекта не обязательно генерится EXE-файл.
С уважением, Алексей

Хорошо, тогда любой файл проекта, который явно меняется вместо MyEXE
...
Рейтинг: 0 / 0
Как в программе сохранить константу с датой компиляции
    #35625351
psv73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
stoopperА вариант Date_of_project=fdate("MyEXE") не подойдет?

Важно, чтобы это был не атрибут файла!!!
...
Рейтинг: 0 / 0
Как в программе сохранить константу с датой компиляции
    #35625672
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужна именно дата? Или достаточно просто некоего уникального идентификатора, по которому можно отличить одну версию от другой?

Если нужен всего-лишь идентификатор, то когда выбираешь компиляцию файла Exe становится доступна кнопочка Version. Там можно задать значения 3 частей Version Number. Причем, если поставить птичку "Auto Increment", то значение последней (третьей) части номера будет автоматически увеличиваться на 1 при каждой последующей компиляции.

Ну, а прочитать номер версии можно при помощи функции AGetVersion()
...
Рейтинг: 0 / 0
Как в программе сохранить константу с датой компиляции
    #35625749
psv73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМНужна именно дата? Или достаточно просто некоего уникального идентификатора, по которому можно отличить одну версию от другой?

Если нужен всего-лишь идентификатор, то когда выбираешь компиляцию файла Exe становится доступна кнопочка Version. Там можно задать значения 3 частей Version Number. Причем, если поставить птичку "Auto Increment", то значение последней (третьей) части номера будет автоматически увеличиваться на 1 при каждой последующей компиляции.

Ну, а прочитать номер версии можно при помощи функции AGetVersion()

Нужна именно дата!!!!

А можно пример, как это все (ProjectHook) использовать в скомпилином проекте? что-то никак не пойму... как к этому добру обратится из VFP понятно, а из скопилинного проекта никак нераздуплюсь...
...
Рейтинг: 0 / 0
Как в программе сохранить константу с датой компиляции
    #35625846
XAndy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Далеко не при всякой компиляции проекта нужно приращивать номер версии, поэтому просто в главном меню фокса есть несколько пунктов: "Прирастить номер версии", компилирую exe, "Установить новую версию программы",... Хранить константы в проекте можно включив в проект какой-нибудь файл (в том числе dbf), у меня const.ini

[App]
Name =
Title =
Copyright =
Version =
Release =
DBVersion =
DBRelease =
Icon =
...
...
Рейтинг: 0 / 0
Как в программе сохранить константу с датой компиляции
    #35625879
12345зайчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторНужна именно дата!!!!

ну хозяин - барин

Вам необходим пример?
мне рисовать лень, но принцип таков
и поищите примеры по ProjectHook я когда-то рисовал

на событие до сборки вешаете
код генерации доп.модуля
к примеру так

text to lcStr
#define tttt <<dtoc(date())>>
return .....)
endte

strtofile(lcStr,"getExeBuildData.prg")

файлик getExeBuildData.prg должен быть включен
при сборке он скомпилится при включенной опции рекомпайл

в проекте в нужны местах Вы можете звать свою дату так
messagebox(getExeBuildData())

ну и т.д., вариаций может быть много на эту тему, до подмены
какой-то строки в каком-то модуле


+ к вышесказанному.
для сложных сценариев сборки
в фокспро возможно написание дополнительных модулей-сборщиков,
которые собирают приложения со сложной архитектурой.
...
Рейтинг: 0 / 0
Как в программе сохранить константу с датой компиляции
    #35625880
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
psv73ВладимирМНужна именно дата? Или достаточно просто некоего уникального идентификатора, по которому можно отличить одну версию от другой?

Если нужен всего-лишь идентификатор, то когда выбираешь компиляцию файла Exe становится доступна кнопочка Version. Там можно задать значения 3 частей Version Number. Причем, если поставить птичку "Auto Increment", то значение последней (третьей) части номера будет автоматически увеличиваться на 1 при каждой последующей компиляции.

Ну, а прочитать номер версии можно при помощи функции AGetVersion()

Нужна именно дата!!!!

А можно пример, как это все (ProjectHook) использовать в скомпилином проекте? что-то никак не пойму... как к этому добру обратится из VFP понятно, а из скопилинного проекта никак нераздуплюсь...
Вот пример использования ProjectHook немного для других целей (обновления файлов отчетов при компиляции проекта в версии VFP 8), но думаю разберешься - http://www.caws.atnet.ru/vfox/vfoxpro4.html
С уважением, Алексей
...
Рейтинг: 0 / 0
Как в программе сохранить константу с датой компиляции
    #35626118
psv73
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aleksey-KВот пример использования ProjectHook немного для других целей (обновления файлов отчетов при компиляции проекта в версии VFP 8), но думаю разберешься - http://www.caws.atnet.ru/vfox/vfoxpro4.html
С уважением, Алексей

Огромное спасибо за пример!!! Разобрался в тонкостях использования класса в проекте..
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как в программе сохранить константу с датой компиляции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]