Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.49 MB
Время: 0.039 c
4-1115072311
jcrush
2005-05-03 02:18
2005.06.29
Добавить изменить иконку в треи


5-1087794979
Adis
2004-06-21 09:16
2005.06.29
Ресурс


8-1110101334
romantic
2005-03-06 12:28
2005.06.29
Положение TImage в Scrollbox`е


14-1117458253
evvcom
2005-05-30 17:04
2005.06.29
Весёлое сообщение об ошибке


3-1116322658
Term
2005-05-17 13:37
2005.06.29
Запрос к базе в потоке





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский