Версия ОС

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
Rain
новенький
Сообщения: 21
Зарегистрирован: 19.10.2006 03:12:00

Версия ОС

Сообщение Rain »

Здравствуйте!

Подскажите, пожалуйста, с помощью какой процедуры/функции можно определить версию операционной системы, под которой запуцена программа?
serg_iv
постоялец
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Сообщение serg_iv »

А смысл?
Если получится запустить виндовую в линухе, то только под эмулятором. Она и определится как вынь-да. И наоборот.
Rain
новенький
Сообщения: 21
Зарегистрирован: 19.10.2006 03:12:00

Сообщение Rain »

serg_iv писал(а):А смысл?
Если получится запустить виндовую в линухе, то только под эмулятором. Она и определится как вынь-да. И наоборот.


Вот это мне и надо определить. Потому что у меня исходники кроссплатформанные и название программы меняется в зависимости от ОС, под которой запущена. Например, сборка под Linux будет my_pro/lnx, под Windows -- my_pro/win32, etc.
serg_iv
постоялец
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Сообщение serg_iv »

Все равно не понял, что тут имеется ввиду.
Если нужно сделать кросплатформенную программу, это одно.
А определять запущена она из под эмулятора или нет, это совсем другое.
Rain
новенький
Сообщения: 21
Зарегистрирован: 19.10.2006 03:12:00

Сообщение Rain »

serg_iv писал(а):Все равно не понял, что тут имеется ввиду.
Если нужно сделать кросплатформенную программу, это одно.
А определять запущена она из под эмулятора или нет, это совсем другое.


Так. Допустим, я собираю программу под Linux, запускаю и вижу на экране "эта программа собрана под Linux". Дальше. Ничего не меняя в исходниках собираю программу под W32 и вижу на экране "эта программа собрана под W32". Вот.
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

{$IFDEF MSWINDOWS}
self.caption := 'эта программа собрана под W32';
{$ELSE}
self.caption := 'эта программа собрана под Linux';
{$ENDIF}
serg_iv
постоялец
Сообщения: 276
Зарегистрирован: 15.10.2005 18:45:46
Откуда: Миасс

Сообщение serg_iv »

Так. Допустим, я собираю программу под Linux, запускаю и вижу на экране "эта программа собрана под Linux". Дальше. Ничего не меняя в исходниках собираю программу под W32 и вижу на экране "эта программа собрана под W32". Вот.


Вот это правильный вопрос. И на него даден ответ.
Почти на любой вопрос можно получить ответ, если его правильно задать. Сократ вроде бы.
trifon
постоялец
Сообщения: 135
Зарегистрирован: 24.12.2006 11:08:35

Сообщение trifon »

Да он наверное трояна слепить пытается.
ev
долгожитель
Сообщения: 1793
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Сообщение ev »

а при чем тут троян? стандартная задача
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

тут единственное что не правильный вопрос был, а так все нормально, правда можно её расширить до узнаваемости версии венды и ядра\дистрибутива линукса но задачи не было :)
Rain
новенький
Сообщения: 21
Зарегистрирован: 19.10.2006 03:12:00

Сообщение Rain »

Attid писал(а):тут единственное что не правильный вопрос был, а так все нормально, правда можно её расширить до узнаваемости версии венды и ядра\дистрибутива линукса но задачи не было :)


Это хорошо, конечно, а как? :)
trifon
постоялец
Сообщения: 135
Зарегистрирован: 24.12.2006 11:08:35

Сообщение trifon »

Ещё есть сомнения?
Mirror
новенький
Сообщения: 49
Зарегистрирован: 22.05.2005 12:02:48
Откуда: Порту

Сообщение Mirror »

Версию Window узнать можно с помощью GetVersionEx. Проблема в том, что тогда ещё в сверху в uses надо подключать {$IFDEF MSWINDOWS}, Windows{$ENDIF} или нечто вроде того. :)
Ответить