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;
