Gracias Rui Pinto (Rapinto)
COBOL Foro
Foro dedicado a COBOL, a la Programación y a la Informática.
Retroceder   COBOL Foro > IDE-s y compiladores COBOL > Cocina Casera > Cocina PowerCOBOL + WinAPI
Cocina PowerCOBOL + WinAPI Código WinAPI en PowerCOBOL
Comunicados
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Sintaxis] Obtener version de Windows en ejecución Hector PowerCOBOL (ActiveX, v4 - v11) 1 4 de mayo de 2018 22:35
[Información] ¿Existe alguna version de RM/Cobol gratuita? JuanPelaez RM/COBOL 1 27 de abril de 2018 18:26
[Información] ¿Existe alguna version de NetCobol gratuita? JuanPelaez NetCOBOL for Windows 9 27 de abril de 2018 12:14
[Sintaxis] Obtener el Directorio de la aplicación Eslopes PowerCOBOL V3L10 (Win32) 2 21 de junio de 2016 15:26
[Aporte] Obtener el Handle (HWND) de un control Kuk Cocina PowerCOBOL V3L10 0 21 de diciembre de 2015 21:53
Respuesta
 
Herramientas

  #1
Antiguo 26 de abril de 2015, 13:55
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
Ubicación Madrid
Edad36 años
Última Actividad04.03.2021 00:08
PROCEDURE DIVISION
PostsPosts: 1.710
Ha dicho GraciasEnviado: 516
Ha recibido agradecimientosRecibido: 698
Mejores respuestasSoluiones: 92
ReputaciónReputación: 10
Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road
Arrow Obtener la version de SO Windows

Código COBOL:
  1.  IDENTIFICATION DIVISION.                                                                    
  2.  PROGRAM-ID.    WINVERS.                                                                    
  3.  AUTHOR.        KUK.                                                                  
  4.  ENVIRONMENT DIVISION.                                                                      
  5.  CONFIGURATION SECTION.                                                                      
  6.  SPECIAL-NAMES.                                                                              
  7.      DECIMAL-POINT IS COMMA.                                                                
  8.                                                                                              
  9.  DATA DIVISION.                                                                              
  10.                                                                                              
  11.  WORKING-STORAGE SECTION.                                                                    
  12.                                                                                              
  13.  01  OSVERSIONINFO TYPEDEF.                                                                  
  14. * The size of this data structure, in bytes. Set this member to sizeof(OSVERSIONINFO).      
  15.      05  dwOSVersionInfoSize PIC S9(9) COMP-5.                                              
  16. * The major version number of the operating system. For more information, see Remarks.      
  17.      05  dwMajorVersion      PIC S9(9) COMP-5.                                              
  18. * The minor version number of the operating system. For more information, see Remarks.      
  19.      05  dwMinorVersion      PIC S9(9) COMP-5.                                              
  20. * The build number of the operating system.                                                  
  21.      05  dwBuildNumber       PIC S9(9) COMP-5.                                              
  22. * The operating system platform. This member can be the following value:*                    
  23. * - VER_PLATFORM_WIN32_NT = 2                                                                
  24. *   The operating system is Windows 7, Windows Server 2008, Windows Vista,                  
  25. *   Windows Server 2003, Windows XP, or Windows 2000.                                        
  26.      05  dwPlatformId        PIC S9(9) COMP-5.                                              
  27. * A null-terminated string, such as "Service Pack 3", that indicates the latest Service Pack
  28. * installed on the system. If no Service Pack has been installed, the string is empty.      
  29.      05  szCSDVersion        PIC X(128).                                                    
  30.                                                                                              
  31.  01  WS-OSINFO TYPE OSVERSIONINFO.                                                          
  32.  01  STATUS-CODE   PIC S9(4) COMP-5.                                                        
  33.                                                                                              
  34.  LINKAGE SECTION.                                                                            
  35.  01  LNK-WV-DATA.                                                                            
  36.      05  LNK-WV-OUTPUT.                                                                      
  37.          10  LNK-WV-RC          PIC 9(2).                                                    
  38.          10  LNK-WV-VERS        PIC X(100).                                                  
  39.          10  LNK-WV-SP          PIC X(50).                                                  
  40.                                                                                              
  41.  PROCEDURE DIVISION USING LNK-WV-DATA.                                                      
  42.                                                                                              
  43.      INITIALIZE LNK-WV-DATA REPLACING                                                        
  44.          NUMERIC      DATA BY ZEROS                                                          
  45.          ALPHANUMERIC DATA BY SPACES                                                        
  46.                                                                                              
  47.      MOVE 148 TO dwOSVersionInfoSize OF WS-OSINFO                                            
  48.                                                                                              
  49.      CALL "GetVersionExA" WITH STDCALL USING BY REFERENCE WS-OSINFO RETURNING STATUS-CODE    
  50.                                                                                              
  51.      IF  STATUS-CODE = ZEROS                                                                
  52.          MOVE 99 TO LNK-WV-RC                                                                
  53.                                                                                              
  54.          MOVE SPACES TO LNK-WV-VERS                                                          
  55.                                                                                              
  56.          GOBACK                                                                              
  57.      END-IF                                                                                  
  58.                                                                                              
  59.      MOVE ZEROS TO LNK-WV-RC                                                                
  60.                                                                                              
  61.      EVALUATE TRUE ALSO TRUE                                                                
  62.                                                                                              
  63.          WHEN dwMajorVersion = 6                                                            
  64.          ALSO dwMinorVersion = 3                                                            
  65.              MOVE "Windows 8.1"         TO LNK-WV-VERS                                      
  66.                                                                                              
  67.          WHEN dwMajorVersion = 6                                                            
  68.          ALSO dwMinorVersion = 2                                                            
  69.              MOVE "Windows 8"           TO LNK-WV-VERS                                      
  70.                                                                                              
  71.          WHEN dwMajorVersion = 6                                                            
  72.          ALSO dwMinorVersion = 1                                                            
  73.              MOVE "Windows 7"           TO LNK-WV-VERS                                      
  74.                                                                                              
  75.          WHEN dwMajorVersion = 6                                                            
  76.          ALSO dwMinorVersion = 0                                                            
  77.              MOVE "Windows Vista"       TO LNK-WV-VERS                                      
  78.                                                                                              
  79.          WHEN dwMajorVersion = 5                                                            
  80.          ALSO dwMinorVersion = 2                                                            
  81.              MOVE "Windows Server 2003" TO LNK-WV-VERS                                      
  82.                                                                                              
  83.          WHEN dwMajorVersion = 5                                                            
  84.          ALSO dwMinorVersion = 1                                                            
  85.              MOVE "Windows XP"          TO LNK-WV-VERS                                      
  86.                                                                                              
  87.          WHEN dwMajorVersion = 5                                                            
  88.          ALSO dwMinorVersion = 0                                                            
  89.              MOVE "Windows 2000"        TO LNK-WV-VERS                                      
  90.                                                                                              
  91.          WHEN OTHER                                                                          
  92.              MOVE "Windows UNKNOWN"     TO LNK-WV-VERS                                      
  93.                                                                                              
  94.      END-EVALUATE                                                                            
  95.                                                                                              
  96.      INSPECT szCSDVersion REPLACING ALL X"00" BY SPACES                                      
  97.                                                                                              
  98.      MOVE szCSDVersion TO LNK-WV-SP                                                          
  99.                                                                                              
  100.      GOBACK                                                                                  
  101.      .                                                                                      


NORMAS DEL FORO - obligatorias de conocer para TODOS.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale Pinchando en su Nick
Kuk no ha iniciado sesión   Responder Con Cita
Han dicho Gracias: 3
Josber (26 de abril de 2015), Paulo (11 de mayo de 2018), Rapinto (29 de abril de 2015)
  #2
Antiguo 10 de mayo de 2018, 01:48
IDENTIFICATION DIVISION
eage1969
Acabo de llegar...
ENVIRONMENT DIVISION
Avatar de eage1969
DATA DIVISION
Forero desde (Registrado)julio 2016
Ecuador
Ubicación Azuay
Última Actividad20.03.2019 00:02
PROCEDURE DIVISION
PostsPosts: 21
Ha dicho GraciasEnviado: 0
Ha recibido agradecimientosRecibido: 6
Mejores respuestasSoluiones: 0
ReputaciónReputación: 0
eage1969 is on a distinguished road
Predeterminado

estimados por que no usar la sentencia

Código COBOL:
  1. ACCEPT SYSTEM-INFORMATION FROM SYSTEM-INFO.

Donde SYSTEM-INFO saca toda la informacion del sisyema del equipo que se usa ... tipo os... version...usuario ... dominio etc..etc y lo recolecta anivel de la workin den SYSTEM-INFORMATION
Código COBOL:
  1.  01  SYSTEM-INFORMATION.
  2.            03  OPERATING-SYSTEM                PIC X(10).
  3.                88  OS-IS-MSDOS                 VALUE "MS-DOS".
  4.                88  OS-IS-OS2                   VALUE "OS/2".
  5.                88  OS-IS-VMS                   VALUES "VMS",
  6.                                                "VAX/VMS".
  7.                88  OS-IS-UNIX                  VALUES "Unix",
  8.                                                       "Unix-V", "Unix-4",
  9.                                                       "UNOS".
  10.                88  OS-IS-AOS                   VALUE "AOS/VS".
  11.                88  OS-IS-WINDOWS               VALUE "WINDOWS".
  12.                88  OS-IS-WIN-NT                VALUE "WIN/NT".
  13.                88  OS-IS-WIN-FAMILY            VALUES "WINDOWS",
  14.                                                       "WIN/NT".
  15.                88  OS-IS-AMOS                  VALUE "AMOS".
  16.                88  OS-IS-MPE                   VALUE "MPE/iX".
  17.                88  OS-IS-MPEIX                 VALUE "MPE/iX".
  18.            03  USER-ID                         PIC X(12).
  19.            03  STATION-ID                      PIC X(12).
  20.            03  FILLER                          PIC X.
  21.                88  HAS-INDEXED-READ-PREVIOUS   VALUE "Y".
  22.            03  FILLER                          PIC X.
  23.                88  HAS-RELATIVE-READ-PREVIOUS  VALUE "Y".
  24.            03  FILLER                          PIC X.
  25.                88  CAN-TEST-INPUT-STATUS       VALUE "Y".
  26.            03  FILLER                          PIC X.
  27.                88  IS-MULTI-TASKING            VALUE "Y".
  28.            03  RUNTIME-VERSION.
  29.                88  VERSION-PRIOR-TO-2-2        VALUE SPACES.
  30.                05  RUNTIME-MAJOR-VERSION       PIC 99.
  31.                05  RUNTIME-MINOR-VERSION       PIC 99.
  32.                05  RUNTIME-RELEASE             PIC 99.
  33.            03  FILLER                          PIC X.
  34.                88  IS-PLUGIN                   VALUE "Y".
  35.            03  SERIAL-NUMBER                   PIC X(20).
  36.            03  FILLER                          PIC X.
  37.                88  HAS-LARGE-FILE-SUPPORT      VALUE "Y".
eage1969 no ha iniciado sesión   Responder Con Cita
  #3
Antiguo 10 de mayo de 2018, 17:42
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
Ubicación Madrid
Edad36 años
Última Actividad04.03.2021 00:08
PROCEDURE DIVISION
PostsPosts: 1.710
Ha dicho GraciasEnviado: 516
Ha recibido agradecimientosRecibido: 698
Mejores respuestasSoluiones: 92
ReputaciónReputación: 10
Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road
Predeterminado

eage1969, esa sentencia a qué compilador pertenece? Imagino que es de ACU o RM.

No lo he probado, pero para mi que no es compatible con PowerCOBOL. Sobre todo porque preguntar en Power si el SO es Unix u otro que no sea Windows no tiene sentido ninguno ya que PowerCOBOL sólo existe para Windows.


NORMAS DEL FORO - obligatorias de conocer para TODOS.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale Pinchando en su Nick
Kuk no ha iniciado sesión   Responder Con Cita
  #4
Antiguo 6 de junio de 2018, 05:22
IDENTIFICATION DIVISION
eage1969
Acabo de llegar...
ENVIRONMENT DIVISION
Avatar de eage1969
DATA DIVISION
Forero desde (Registrado)julio 2016
Ecuador
Ubicación Azuay
Última Actividad20.03.2019 00:02
PROCEDURE DIVISION
PostsPosts: 21
Ha dicho GraciasEnviado: 0
Ha recibido agradecimientosRecibido: 6
Mejores respuestasSoluiones: 0
ReputaciónReputación: 0
eage1969 is on a distinguished road
Predeterminado

Hola buenas noches..
perdón por responder tarde ...pertenece a para cualquiera de las versiones de Cobol.
eage1969 no ha iniciado sesión   Responder Con Cita
Respuesta


Usuarios activos actualmente viendo este tema: 1 (0 miembros y 1 visitantes)
 
Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado



La franja horaria es GMT +1. Ahora son las 00:28.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2021, Jelsoft Enterprises Ltd.