Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.29;
Скачать: CL | DM;

Вниз

Создание окна 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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.026 c
6-1112459975
Muh
2005-04-02 20:39
2005.06.29
Трабла с чатом


5-1088249593
Виталя
2004-06-26 15:33
2005.06.29
Событие OnExit для наследника TEdit


14-1117394899
Knight
2005-05-29 23:28
2005.06.29
Где-то тут меня убеждали, что автогражданка - это гуд...


1-1118005957
alex-drob
2005-06-06 01:12
2005.06.29
Динамическое создание разделов в TreeView


1-1117881436
Frozzen
2005-06-04 14:37
2005.06.29
Работа с диалогом ShowModal