![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Надо запустить разные функции на разних виндах.
DeMoN-777 © (2002-06-17 16:31:00)Приветствую мастаков !
Такая трабла возникла..
Надо запустить разные функции на разних виндах.
Вопрос:
Как объяснить программе следующее:
if Win95\98\me then
begin
Моя процедура 1
...............
end;
If WinNT\2000\Xp then
begin
Моя процедура 1
...............
end;
Ну вот в принципе и вся трабла.
DeMoN-777 (2002-06-18 13:05:00) [1]Большое спасибо всем откликнувшимся !
Игорь Шевченко (2002-06-18 09:47:00) [2]uses
SysUtils;
if Win32Platform = VER_PLATFORM_WINDOWNS then
MyProcedureYYY
else if Win32Platform = VER_PLATFORM_WIN32_NT then
MyProcedureXXX;
Pat © (17.06.02 17:47)
RTL Delphi при запуске приложения уже все определяет, можно не изобретать велосипед.
Pat (2002-06-17 17:47:00) [3]
var data:OSVERSIONINFO;
Winda:string;
begin
data.dwOSVersionInfoSize:=sizeof(OSVERSIONINFO);
GetVersionEx(data);
Winda:="Unknown";
case data.dwPlatformId of
VER_PLATFORM_WIN32s:Winda:="Windows 3.11";
VER_PLATFORM_WIN32_WINDOWS:
begin
if data.dwMajorVersion>=4 then
begin
if data.dwMinorVersion<10 then Winda:="Windows 95 "+
inttostr(data.dwMajorVersion)+"."+
inttostr(data.dwMinorVersion)+
data.szCSDVersion;
if data.dwMinorVersion>=10 then
if data.szCSDVersion[1]="A" then
Winda:="Windows 98 "+
inttostr(data.dwMajorVersion)+"."+
inttostr(data.dwMinorVersion)+
" SE"
else
Winda:="Windows 98 "+
inttostr(data.dwMajorVersion)+"."+
inttostr(data.dwMinorVersion)+
data.szCSDVersion;
if data.dwMinorVersion>=90 then Winda:="Windows ME "+
inttostr(data.dwMajorVersion)+"."+
inttostr(data.dwMinorVersion)+
data.szCSDVersion;
end;
end;
VER_PLATFORM_WIN32_NT:
begin
if data.dwMajorVersion<=4 then Winda:="Windows NT "+
inttostr(data.dwMajorVersion)+"."+
inttostr(data.dwMinorVersion)+
data.szCSDVersion;;
if data.dwMajorVersion=5 then
begin
if data.dwMinorVersion=0 then Winda:="Windows 2000 "+
inttostr(data.dwMajorVersion)+"."+
inttostr(data.dwMinorVersion)+
data.szCSDVersion;;
if data.dwMinorVersion>=1 then Winda:="Windows XP "+
inttostr(data.dwMajorVersion)+"."+
inttostr(data.dwMinorVersion)+
data.szCSDVersion;;
end;
end;
end;
messagebox(handle,pchar(Winda),"OS",0);