Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
ВнизСоздание окна About Найти похожие ветки
← →
Иванушка (2005-06-09 08:40) [0]Digitam, или как там тебя, обсуждение этой темы никак не закрыто.
Возможно я не правильно задал вопрос хотя по моему все понятно.
В репозитории форм находятся только одни заготовки в которых не прописано ни одного нормального кода. Да в VB я именно таким методом и понял откуда вытянуть данные о проекте, ну а в Delphi где-то конкретно спрятано. Спасибо за отклик.
← →
Digitman © (2005-06-09 08:45) [1]
> В репозитории форм находятся только одни заготовки в которых
> не прописано ни одного нормального кода.
так ведь на то и заготовки существуют !
> данные о проекте
не сподобишься ли конкретизировать, какие "данные о проекте" тебя интересуют ?
← →
Digitman © (2005-06-09 08:56) [2]инф-цию о проекте Делфи размещает в ресурсах генерируемого pe-модуля, доступ к этой инф-ции в ран-тайм осуществляется с пом. ф-ции GetFileVersionInfo()
← →
Иванушка (2005-06-09 09:32) [3]Digitman спасибо за твои отзывы. Скажем так мне, нужно все что задается на закладке Options проекта. Ну ты говоришь, что мол на то заготовки и существуют, ну почему бы их не конкретизировать. Может я тебе надоел своим VB ну все-таки в нем ставиш эту заготовочку дак в ней разработчики даже позаботились о выводе инфы о системе. Сразу приятно и быстро, и как наглядный примерчик. Да, а в делфях эту самую системную инфу как вытящить не подскажешь.
← →
Digitman © (2005-06-09 09:38) [4]
> Иванушка (09.06.05 09:32) [3]
> нужно все что задается на закладке Options проекта
все это (если указано тобой в опциях) как раз и помещается компилятором в упомянутый ресурс
> в нем ставиш эту заготовочку дак в ней разработчики даже
> позаботились о выводе инфы о системе
ничто не мешает тебе единожды сделать такую "заготовочку" формы и поместить ее в репозиторий, возможно заменив стандартную AboutBox-заготовку на свою
> эту самую системную инфу как вытящить
ты про GetFileVersionInfo уже почитал в справке ? вник ? что-то непонятно там ?
← →
Digitman © (2005-06-09 09:45) [5]есть в сети и куча готовых Делфи-компонентов, "вытаскивающих" эту инф-цию в готовом виде (в них, как правило, инкапсулирована функциональность GetFileVersionInfo)
зайди, например, на torry.net и набери строку поиска "AboutBox" - получишь минимум две ссылки на компоненты
← →
Иванушка (2005-06-09 09:53) [6]Digitman большое спасибо! Да я так и думал, что будет не просто.
В общем я думаю со временем разберусь. Только вот не напомнишь, какую роль игреат идентификатор VS_FIXEDFILEINFO после операторных скобок в этой структуре, а то с С++ я возился еще до армии, а там все мозги отбили.
Еще раз большое спасибо.
typedef struct _VS_FIXEDFILEINFO { // vsffi
DWORD dwSignature;
DWORD dwStrucVersion;
DWORD dwFileVersionMS;
DWORD dwFileVersionLS;
DWORD dwProductVersionMS;
DWORD dwProductVersionLS;
DWORD dwFileFlagsMask;
DWORD dwFileFlags;
DWORD dwFileOS;
DWORD dwFileType;
DWORD dwFileSubtype;
DWORD dwFileDateMS;
DWORD dwFileDateLS;
} VS_FIXEDFILEINFO;
← →
Иванушка (2005-06-09 09:57) [7]Да на счет
> эту самую системную инфу как вытящить
ты может меня не понял, но я имел в виду ту информацию, которую можно получить из свойств мой компьютер вывод стандартного окна, или же более расширенного тоже стандартного виндузовского Сведения о системе.
← →
Digitman © (2005-06-09 09:59) [8]на Паскале объявление этой станд.структуры уже присутствует в модуле windows.pas
цитирую :
PVSFixedFileInfo = ^TVSFixedFileInfo;
{$EXTERNALSYM tagVS_FIXEDFILEINFO}
tagVS_FIXEDFILEINFO = packed record
dwSignature: DWORD; { e.g. $feef04bd }
dwStrucVersion: DWORD; { e.g. $00000042 = "0.42" }
dwFileVersionMS: DWORD; { e.g. $00030075 = "3.75" }
dwFileVersionLS: DWORD; { e.g. $00000031 = "0.31" }
dwProductVersionMS: DWORD; { e.g. $00030010 = "3.10" }
dwProductVersionLS: DWORD; { e.g. $00000031 = "0.31" }
dwFileFlagsMask: DWORD; { = $3F for version "0.42" }
dwFileFlags: DWORD; { e.g. VFF_DEBUG | VFF_PRERELEASE }
dwFileOS: DWORD; { e.g. VOS_DOS_WINDOWS16 }
dwFileType: DWORD; { e.g. VFT_DRIVER }
dwFileSubtype: DWORD; { e.g. VFT2_DRV_KEYBOARD }
dwFileDateMS: DWORD; { e.g. 0 }
dwFileDateLS: DWORD; { e.g. 0 }
end;
TVSFixedFileInfo = tagVS_FIXEDFILEINFO;
{$EXTERNALSYM VS_FIXEDFILEINFO}
VS_FIXEDFILEINFO = tagVS_FIXEDFILEINFO;
теперь сравнивай это с C-декларацией и делай самостоятельные умозаключения
← →
Digitman © (2005-06-09 10:02) [9]
> Иванушка (09.06.05 09:57) [7]
сведения о системе можно получить с использованием станд. Win32API-ф-ций GeytSystemInfo, GetVersionEx
← →
Иванушка (2005-06-09 10:11) [10]Да спасибочки, накидал ты для моих мозгов снадобья на недельку. Слушай откуда все это. Только не говори, что эхо войны.
← →
P.N.P. © (2005-06-09 10:15) [11]>Иванушка (09.06.05 09:32) [3]
>разработчики даже позаботились о выводе инфы о системеuses Shellapi;
...
ShellAbout(Handle, "Project name","Advanced project info",Application.Icon.Handle);
Оно?
← →
Digitman © (2005-06-09 10:18) [12]
> откуда все это
из Windows Application Programming Interface
подробную инф-цию о ф-циях в составе этого API можно получить на msdn.microsoft.com
← →
-=XP=- © (2005-06-09 10:23) [13]ты может меня не понял, но я имел в виду ту информацию, которую можно получить из свойств мой компьютер вывод стандартного окна, или же более расширенного тоже стандартного виндузовского Сведения о системе.
ShellExecute(0, "open", "msinfo32.exe", "", "", SW_SHOW);
Это?
← →
Иванушка (2005-06-09 10:36) [14]P.N.P. в общем не плохая процедура. Но яне то имел в виду. Я о стандартном окне "Сведения о системе". Например зайди в dxdiag и на вкладке Если ничего не помогло нажми "Запуск MSInfo...".
>разработчики даже позаботились о выводе инфы о системе
вот тогда я имел именно это в виду. Ну и за это спасибо.
Digitman большое спасибо.
← →
Иванушка (2005-06-09 10:43) [15]-=XP=- © ты прав это то что я хотел. На самом деле как то велетело из башки то, что это простой екзешник. Короче я так понял этот самый uses Shell модуль с большим расширением, надо будет просмотреть поподробнее. Ну большое спасибочки всем. Пора возвращаться к работе.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.043 c