Delphi 11 Alexandria Defines

uses

  System.IOUtils;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

  case TOSVersion.Platform of

    TOSVersion.TPlatform.pfWindows:

      PlatformPath := ‘Windows’;

    TOSVersion.TPlatform.pfMacOS:

      PlatformPath := ‘macOS’;

    TOSVersion.TPlatform.pfiOS:

      PlatformPath := ‘iOS’;

    TOSVersion.TPlatform.pfAndroid:

      PlatformPath := ‘Android’;

    TOSVersion.TPlatform.pfWinRT:

      PlatformPath := ‘WinRT’;

    TOSVersion.TPlatform.pfLinux:

      PlatformPath := ‘Linux’

  else

      PlatformPath := ‘Unexpected platform’

  end;

 

  Memo1.Lines.Add(‘TPlatform: ‘+PlatformPath);

  Memo1.Lines.Add(TOSVersion.ToString);

 

  {$IF DEFINED(IOS)}

    Memo1.Lines.Add(‘Defined: IOS’);

  {$ENDIF}

  {$IF DEFINED(IOS32)}

    Memo1.Lines.Add(‘Defined: IOS32’);

  {$ENDIF}

  {$IF DEFINED(IOS64)}

    Memo1.Lines.Add(‘Defined: IOS64’);

  {$ENDIF}

 

  {$IF DEFINED(ANDROID)}

    Memo1.Lines.Add(‘Defined: ANDROID’);

  {$ENDIF}

  {$IF DEFINED(ANDROID32)}

    Memo1.Lines.Add(‘Defined: ANDROID32’);

  {$ENDIF}

  {$IF DEFINED(ANDROID64)}

    Memo1.Lines.Add(‘Defined: ANDROID64’);

  {$ENDIF}

 

  {$IF DEFINED(MACOS)}

    Memo1.Lines.Add(‘Defined: MACOS’);

  {$ENDIF}

  {$IF DEFINED(MACOS64)}

    Memo1.Lines.Add(‘Defined: MACOS64’);

  {$ENDIF}

  {$IF DEFINED(OSX)}

    Memo1.Lines.Add(‘Defined: OSX’);

  {$ENDIF}

  {$IF DEFINED(OSX64)}

    Memo1.Lines.Add(‘Defined: OSX64’);

  {$ENDIF}

 

  {$IF DEFINED(MSWINDOWS)}

    Memo1.Lines.Add(‘Defined: MSWINDOWS’);

  {$ENDIF}

  {$IF DEFINED(WIN32)}

    Memo1.Lines.Add(‘Defined: WIN32’);

  {$ENDIF}

  {$IF DEFINED(WIN64)}

    Memo1.Lines.Add(‘Defined: WIN64’);

  {$ENDIF}

 

  {$IF DEFINED(LINUX)}

    Memo1.Lines.Add(‘Defined: LINUX’);

  {$ENDIF}

  {$IF DEFINED(LINUX32)}

    Memo1.Lines.Add(‘Defined: LINUX32’);

  {$ENDIF}

  {$IF DEFINED(LINUX64)}

    Memo1.Lines.Add(‘Defined: LINUX64’);

  {$ENDIF}

 

 

  {$IF DEFINED(DCC)}

    Memo1.Lines.Add(‘Defined: DCC’);

  {$ENDIF}

 

  {$IF DEFINED(CONSOLE)}

    Memo1.Lines.Add(‘Defined: CONSOLE’);

  {$ENDIF}

 

  {$IF DEFINED(POSIX)}

    Memo1.Lines.Add(‘Defined: POSIX’);

  {$ENDIF}

  {$IF DEFINED(POSIX32)}

    Memo1.Lines.Add(‘Defined: POSIX32’);

  {$ENDIF}

  {$IF DEFINED(POSIX64)}

    Memo1.Lines.Add(‘Defined: POSIX64’);

  {$ENDIF}

 

  {$IF DEFINED(CPUX86)}

    Memo1.Lines.Add(‘Defined: CPUX86’);

  {$ENDIF}

  {$IF DEFINED(CPUX64)}

    Memo1.Lines.Add(‘Defined: CPUX64’);

  {$ENDIF}

 

  {$IF DEFINED(CPU32BITS)}

    Memo1.Lines.Add(‘Defined: CPU32BITS’);

  {$ENDIF}

 

  {$IF DEFINED(CPU64BITS)}

    Memo1.Lines.Add(‘Defined: CPU64BITS’);

  {$ENDIF}

 

  {$IF DEFINED(CPUARM)}

    Memo1.Lines.Add(‘Defined: CPUARM’);

  {$ENDIF}

  {$IF DEFINED(CPUARM32)}

    Memo1.Lines.Add(‘Defined: CPUARM32’);

  {$ENDIF}

  {$IF DEFINED(CPUARM64)}

    Memo1.Lines.Add(‘Defined: CPUARM64’);

  {$ENDIF}

 

  {$IFDEF DEBUG}

    Memo1.Lines.Add(‘DEBUG is Defined’);

  {$ELSE}

    Memo1.Lines.Add(‘DEBUG is Not Defined’);

  {$ENDIF}

end;