Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Version windows'?? (https://www.clubdelphi.com/foros/showthread.php?t=20379)

vtdeleon 14-04-2005 04:26:08

Version windows'??
 
Saludos

Quiero presentar edit o label... la version de windows en la cual se esta corriendo la aplicacion.

Cual es la variable que usa delphi?

Hasta luego y Grax.

ajmacias 14-04-2005 04:52:02

Extraido de "algun lao que no recuerdo..."
 
Código:

unit WVersion;
 
 interface
 
 uses
  Windows, SysUtils;
 
 function GetWindowsVersion: String;
 
 implementation
 
 function GetWindowsVersion: String;
 const
  cOsUnknown : Integer = -1;
  cOsWin95 : Integer = 0;
  cOsWin98 : Integer = 1;
  cOsWin98SE : Integer = 2;
  cOsWinME : Integer = 3;
  cOsWinNT : Integer = 4;
  cOsWin2000 : Integer = 5;
  cOsWinXP : Integer = 6;
 var
  osVerInfo : TOSVersionInfo;
  majorVer,
  minorVer,
  VersionCode: Integer;
 begin
  osVerInfo.dwOSVersionInfoSize := SizeOf( TOSVersionInfo );
  if ( GetVersionEx( osVerInfo ) ) then
  begin
        majorVer := osVerInfo.dwMajorVersion;
        minorVer := osVerInfo.dwMinorVersion;
        case ( osVerInfo.dwPlatformId ) of
 
          VER_PLATFORM_WIN32_NT : { Windows NT/2000/XP }
          begin
                if ( majorVer <= 4 ) then VersionCode := cOsWinNT
                else
                if ( ( majorVer = 5 ) and ( minorVer= 0 ) ) then VersionCode := cOsWin2000
                else
                if ( ( majorVer = 5) and ( minorVer = 1 ) ) then VersionCode := cOsWinXP
                else
                VersionCode := cOsUnknown;
          end;
 
          VER_PLATFORM_WIN32_WINDOWS : { Windows 9x/ME }
          begin
                if ( ( majorVer = 4 ) and ( minorVer = 0 ) ) then VersionCode := cOsWin95
                else
                  if ( ( majorVer = 4 ) and ( minorVer = 10 ) ) then
                  begin
                        if ( osVerInfo.szCSDVersion[ 1 ] = 'A' ) then VersionCode := cOsWin98SE
                        else VersionCode := cOsWin98;
                  end
                  else
                        if ( ( majorVer = 4) and ( minorVer = 90 ) ) then VersionCode := cOsWinME
                        else VersionCode := cOsUnknown;
          end;
 
          else
                VersionCode := cOsUnknown;
        end; { Final del Case}
  end
  else
        VersionCode := cOsUnknown; {Final del if}
 
  if ( VersionCode = cOsUnknown ) then
    Result := '(sistema no reconocido)'
  else if ( VersionCode = cOsWin95 ) then
    Result := 'Microsoft Windows 95'
  else if ( VersionCode = cOsWin98 ) then
    Result := 'Microsoft Windows 98'
  else if ( VersionCode = cOsWin98SE ) then
    Result := 'Microsoft Windows 98 Second Edition'
  else if ( VersionCode = cOsWinME ) then
    Result := 'Microsoft Windows Millennium Edition'
  else if ( VersionCode = cOsWinNT ) then
    Result := 'Microsoft Windows NT'
  else if ( VersionCode = cOsWin2000 ) then
    Result := 'Microsoft Windows 2000'
  else if ( VersionCode = cOsWinXP ) then
    Result := 'Microsoft Windows XP'
  else
    Result := 'Microsoft Windows';
 
  Result:= Result + ' (Build '+IntToStr(osVerInfo.dwBuildNumber)+') ' + osVerInfo.szCSDVersion;
 end;
 
 end.


vtdeleon 14-04-2005 05:36:10

Wow:eek:

Gracias. Funciono a la perfeccion

No crei que fuera tan complicado. Aunque pienso que deberia haber otra forma:confused: .

Saludos

vtdeleon 16-04-2005 06:05:48

Saludos.
Estuve probando la funcion que me ha ofrecido ajmacias. Lo probe con el windows experimental Longhorn para ver si funcionaba.

El resultado obtenido es que no arroja la version de windows esta corriendo.

Hay otra forma?:confused:

Lepe 16-04-2005 18:34:51

vtdeleon no estaría de más que mirases en las propiedades de Mi Pc bajo loghorn y dijeras el número de compilación que tiene, para actualizar la rutina.

Un saludo

vtdeleon 16-04-2005 21:39:20

Cita:

Empezado por Lepe
vtdeleon no estaría de más que mirases en las propiedades de Mi Pc bajo loghorn y dijeras el número de compilación que tiene, para actualizar la rutina.

En la propiedad dice "Microsoft codename Lonhorn, Build 4074". Hasta luego

Lepe 17-04-2005 09:42:07

vaya, pues no nos dice mucho verdad ? :(

Otra solución sería poner un Showmessage mostrando los valores de:
MajorVer
MinorVer
osVerInfo.dwPlatformId

Un saludo

Delfino 17-04-2005 13:56:16

Yo utilizo el componente ComputerInfoEx open source de la JVCL, da todos los detalles del SO..

vtdeleon 17-04-2005 18:48:27

Ok.
Gracias por su Tiempo

Hasta luego.


La franja horaria es GMT +2. Ahora son las 23:09:52.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi