Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Mostrar arquitectura de programa en caption de form (https://www.clubdelphi.com/foros/showthread.php?t=89664)

wolfran_hack 10-01-2016 22:23:36

Mostrar arquitectura de programa en caption de form
 
Buenas a todos, alguien sabe como obtener la arquitectura del programa que estamos trabajando y mostrarlo en el caption del form. Por ejemplo, tengo una function para saber la versión actual, habrá algo parecido?

Delphi X

AgustinOrtu 10-01-2016 23:33:20

A que te referis con arquitectura? 32 o 64 bits del programa en cuestion? O de si es Windows de 32 o 64 bits?

wolfran_hack 11-01-2016 00:21:33

A la que esta compilado el programa.


AgustinOrtu 11-01-2016 01:13:16

No estoy muy seguro de como hacerlo. Se que si no fue en este foro, fue en DelphiAccess, el amigo escafandra usando la API de Windows mostraba como "preguntar" si un proceso es de 32 o 64 bits

Si no recuerdo mal era el que hackeaba procesos para modificar strings

Lo que yo haria y que me parece lo mas logico es usar directivas de compilacion

Código Delphi [-]
{$IFDEF WIN32}
const
  Plataforma = 'Win32';
{$ENDIF}
{$IFDEF WIN64}
const
  Plataforma = 'Win64';
{$ENDIF}

De esa forma, de acuerdo a que compilador compile tu codigo, incluira una u otra constante

BDWONG 11-01-2016 02:21:14

Hola mira esta opcion usando la api de windows http://stackoverflow.com/questions/1...running-on-x64

wolfran_hack 11-01-2016 02:39:03

Perfecto, exactamente eso necesitaba.

AgustinOrtu 11-01-2016 03:31:17

Cita:

A la que esta compilado el programa.
La funcion que se encuentra en el hilo de StackOverflow evalua si el equipo esta corriendo bajo Windows de 64 bits; no evalua tu ejecutable

Osea que lo que queres saber vos es determinar si el sistema operativo es de 32 o 64 bits. Eso lo podes hacer usando la RTL de Delphi

TOSVersion

Código Delphi [-]
uses
  SysUtils;

begin
  if TOSVersion.Architecture in [arIntelX64, arARM64] then
    ShowMessage('Sistema operativo de de 64 bits')
  else
    ShowMessage('Sistema operativo de de 32 bits')
end;


La franja horaria es GMT +2. Ahora son las 01:19:29.

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