Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Sistemas operativos > Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-11-2005
hEakfall hEakfall is offline
No confirmado
 
Registrado: nov 2005
Posts: 9
Poder: 0
hEakfall Va por buen camino
comando para obtener el SO q tiene la pc

olaxx, kisiera saber si existe algun comando para poder sacer si una makina tiene winxp, win98 o winnt o cualkier otro. Lo necesito para poder llamar al promt de windows ya q este varia de acuerdo al SO. Thnx
Responder Con Cita
  #2  
Antiguo 24-11-2005
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Hola hEakfall, prueba a usar estas dos funciones,

Código Delphi [-]
(*** Devuelve la versión de Windows **********)
 function GetOSVersion : Integer;
 var
   osVerInfo : TOSVersionInfo;
   majorVer, minorVer : 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 Result := cOsWinNT
         else
           if ( ( majorVer = 5 ) and ( minorVer= 0 ) ) then Result := cOsWin2000
           else
            if ( ( majorVer = 5) and ( minorVer = 1 ) ) then Result := cOsWinXP
            else                                             Result := cOsUnknown;
       end;
       VER_PLATFORM_WIN32_WINDOWS : { Windows 9x/ME } begin
         if ( ( majorVer = 4 ) and ( minorVer = 0 ) ) then Result := cOsWin95
         else
           if ( ( majorVer = 4 ) and ( minorVer = 10 ) ) then begin
             if ( osVerInfo.szCSDVersion[ 1 ] = 'A' ) then Result := cOsWin98SE
             else                                          Result := cOsWin98;
           end
         else
           if ( ( majorVer = 4) and ( minorVer = 90 ) ) then Result := cOsWinME
           else                                              Result := cOsUnknown;
       end;
     else Result := cOsUnknown;
     end;
   end else Result := cOsUnknown;
 end;
 
 (*** Devuelve el nombre de la versión de Windows **********)
 function GetOSName( OSCode : Integer ) : String;
 begin
   if ( OSCode = cOsUnknown )      then Result := '(Desconocido)'
   else if ( OSCode = cOsWin95 )   then Result := 'Microsoft Windows 95'
   else if ( OSCode = cOsWin98 )   then Result := 'Microsoft Windows 98'
   else if ( OSCode = cOsWin98SE ) then Result := 'Microsoft Windows 98 Segunda Edicion'
   else if ( OSCode = cOsWinME )   then Result := 'Microsoft Windows Millennium Edition'
   else if ( OSCode = cOsWinNT )   then Result := 'Microsoft Windows NT'
   else if ( OSCode = cOsWin2000 ) then Result := 'Microsoft Windows 2000'
   else if ( OSCode = cOsWinXP )   then Result := 'Microsoft Windows XP'
   else                                 Result := 'Microsoft Windows';
 end;
Salu2

Última edición por dec fecha: 26-11-2005 a las 00:11:30. Razón: ¡¡Encerrad el código fuente entre las etiquetas [DELPHI] ... [/DELPHI]!!
Responder Con Cita
  #3  
Antiguo 24-11-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por hEakfall
olaxx, kisiera saber si existe algun comando para poder sacer si una makina tiene winxp, win98 o winnt o cualkier otro. Lo necesito para poder llamar al promt de windows ya q este varia de acuerdo al SO. Thnx
Comando??... el comando ver del interprete de comandos!
Si te refieres a alguna forma de saber que SO esta ejecutando tu aplicación, puedes hacerlo mediante las variables definidas es SysUtils: Win32Platformm, Win32MajorVersion, Win32MinorVersion y Win32BuildNumber. También puedes obtener estos valores por tus propios medios mediante la WinApi: GetVersionEx

PD: Leete la guía de estilos

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 24-11-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Qué es el promt de windows? ¿Te refieres al viejo command.com?

Porque sí es eso entonces bastaría obtener el valor de la variable de ambiente 'comspec' con la función GetEnvironmentVariable.

// Saludos
Responder Con Cita
  #5  
Antiguo 24-11-2005
Avatar de OSKR
OSKR OSKR is offline
Miembro
 
Registrado: nov 2004
Ubicación: San Cristóbal/Táchira/Venezuela
Posts: 389
Poder: 20
OSKR Va por buen camino
Por lo gereral el Prompt del sistema suele ser el intérprete de comandos del SO (bajo cónsola)
__________________
Los Estados Unidos parecen destinados por la Providencia para plagar la América de miserias a nombre de la libertad."
Simón Bolívar
(Carta al Coronel Inglés Patricio Cambell 05/08/1829).
Responder Con Cita
  #6  
Antiguo 25-11-2005
hEakfall hEakfall is offline
No confirmado
 
Registrado: nov 2005
Posts: 9
Poder: 0
hEakfall Va por buen camino
olaxx, oks he probado el Win32Platformm pero no me sirve, ya q yo kiero saber si en una pc ay winxp o win2k o winmillenium; las variables Win32MajorVersion, Win32MinorVersion y Win32BuildNumber,no las he podido probar ya q mi delphi no las tiene T_T .

Ahh, tbn he probado la función GetEnvironmentVariable, y me dio como resultado la direccion del cmd (tengo winxp), ya q solo tengo este SO, espero q funcione para todos. Thnx a todos.

Última edición por hEakfall fecha: 25-11-2005 a las 11:21:18.
Responder Con Cita
  #7  
Antiguo 25-11-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por hEakfall
olaxx, oks he probado el Win32Platformm pero no me sirve, ya q yo kiero saber si en una pc ay winxp o win2k o winmillenium; las variables Win32MajorVersion, Win32MinorVersion y Win32BuildNumber,no las he podido probar ya q mi delphi no las tiene T_T.
Utiliza GetVersionEx, como te sugerí anteriormente, para obtener todas estas variables... Busca en el foro que hay mas de un ejemplo... Y por favor respeta la Guía de Estilo!!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #8  
Antiguo 25-11-2005
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por hEakfall
Ahh, tbn he probado la función GetEnvironmentVariable, y me dio como resultado la direccion del cmd (tengo winxp), ya q solo tengo este SO, espero q funcione para todos.
Yo creo que sí funcionará. Desde los tiempos inmemoriales del MS-DOS, la variable comspec indica la ruta del intérprete de comandos.

// Saludos
Responder Con Cita
  #9  
Antiguo 26-11-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

He recuperado el mensaje de Bicho, pues que es acaso lo que precisa hEakfall.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 02:06:55.


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
Copyright 1996-2007 Club Delphi