: Automate and process repetitive tasks with this automation program
// Read: Copyright © Thomas Schulz, all rights reserved.
// Contact: Primary: thomas#micro-sys.dk. Secondary: dk_sz#hotmail.com.
// Url: http://www.micro-sys.dk.
//------------------------------------------------------------------------------
(*
http://delphi.about.com/od/objectpascalide/a/compiler_ver.htm
http://delphi.wikia.com/wiki/Borland_Compiler_Conditional_Defines
http://docwiki.embarcadero.com/RADStudio/en/Compiler_Versions
http://docwiki.embarcadero.com/RADStudio/en/Conditional_compilation_(Delphi)#Using_Conditional_Defines_for_the_Compiler_Version
*)
// error in DOWN defines?
(*
unit name scopes:
http://docwiki.embarcadero.com/RADStudio/en/Unit_Scope_Names
https://forums.embarcadero.com/thread.jspa?threadID=68070&tstart=0
XE2 32bit:
To get working our own components we simply added
"Vcl" to
In Project Options: Add the unit scope names in the Unit scope names option on the Delphi Compiler page in Project Options.
"Registry" er i
System.Win
Winapi
*)
(*
Turbo Pascal 7 defs "VER70"
Delphi 1 defs "VER80"
Delphi 1 defs "WINDOWS"
Delphi 2 defs "VER90"
Delphi 3 defs "VER100"
Delphi 4 defs "VER120"
Delphi 5 defs "VER130"
Delphi 6 defs "VER140"
Delphi 7 defs "VER150"
Delphi 8 defs "VER160"
Delphi 2005 defs "VER170"
Delphi 2006 defs "VER180"
Delphi 2007 for Win32 defs "VER180" and "VER185"
Delphi 2007 for .Net defs "VER190"
Delphi 2009 defs "VER200"
Delphi 2010 defs "VER210"
Delphi XE defs "VER220"
Delphi XE2 defs "VER230"
Delphi XE3 defs "VER240"
Delphi XE4 defs "VER250"
Delphi 2-6 defs "WIN32"
Delphi 6-? defs "MSWINDOWS"
Kylix 1 defs "VER140"
Kylix 1-? defs "LINUX"
FreePascalCompiler defs "FPC"
C++ Builder 1 defs "VER93"
*)
//------------------------------------------------------------------------------
(*
For help: Here are a few acronyms:
CCD = "Conditional Compiler Directives"
AI = "[for]all include[file]"
Kylix 1 + Delphi 6 adds following for CCD :
-------------------------------------------
- $IF, $ELSEIF, $IFEND
- Declared (checks existence of constant)
- Defined (like $IFDEF)
*)
//------------------------------------------------------------------------------
(*
Meanings of e.g.:
mymsDELPHI5UP = is Delphi 5 or more
*)
//------------------------------------------------------------------------------
(*
Consider:
* Have a CLX_Version
*)
//------------------------------------------------------------------------------
(*
Win16,Win32,WinFx(.Net / Longhorn / 64bit)
"myms" = "My Micro-Sys" (Define)
*)
//------------------------------------------------------------------------------
// initial defines
{$IFDEF VER130}
{$DEFINE mymsBorlandDevTool}
{$DEFINE mymsDELPHI}
{$DEFINE mymsDELPHI5}
{$DEFINE mymsDELPHI5UP}
{$DEFINE mymsDELPHI5DOWN}
{$ENDIF}
{$IFDEF VER140}
{$DEFINE mymsBorlandDevTool}
{$IFDEF MSWINDOWS}
{$DEFINE mymsDELPHI}
{$DEFINE mymsDELPHI6}
{$DEFINE mymsDELPHI6-7}
{$DEFINE mymsDELPHI6UP}
{$DEFINE mymsDELPHI5UP}
{$DEFINE mymsDELPHI6DOWN}
{$ENDIF}
{$IFDEF LINUX}
{$DEFINE mymsKylix1UP}
{$ENDIF}
{$ENDIF}
{$IFDEF VER150}
{$DEFINE mymsBorlandDevTool}
{$IFDEF MSWINDOWS}
{$DEFINE mymsDELPHI}
{$DEFINE mymsDELPHI6}
{$DEFINE mymsDELPHI6-7}
{$DEFINE mymsDELPHI7UP}
{$DEFINE mymsDELPHI6UP}
{$DEFINE mymsDELPHI5UP}
{$DEFINE mymsDELPHI7DOWN}
{$ENDIF}
{$ENDIF}
{$IFDEF VER160}
{$DEFINE mymsBorlandDevTool}
{$DEFINE mymsDELPHI8}
{$DEFINE mymsDELPHI8UP}
{$ENDIF}
{$IFDEF VER170}
{$DEFINE mymsBorlandDevTool}
{$IFDEF MSWINDOWS}
{$DEFINE mymsDELPHI}
{$DEFINE mymsDELPHI9}
{$DEFINE mymsDELPHI9UP}
{$DEFINE mymsDELPHI7UP}
{$DEFINE mymsDELPHI6UP}
{$DEFINE mymsDELPHI5UP}
{$DEFINE mymsDELPHI9DOWN}
{$DEFINE mymsDELPHI10DOWN}
{$DEFINE mymsDELPHI2009DOWN}
{$DEFINE mymsDELPHI2010DOWN}
{$DEFINE mymsDELPHIXEDOWN}
{$ENDIF}
{$ENDIF}
{$IFDEF VER180}
{$DEFINE mymsBorlandDevTool}
{$IFDEF MSWINDOWS}
{$DEFINE mymsDELPHI}
{$DEFINE mymsDELPHI10}
{$DEFINE mymsDELPHI10UP}
{$DEFINE mymsDELPHI9UP}
{$DEFINE mymsDELPHI7UP}
{$DEFINE mymsDELPHI6UP}
{$DEFINE mymsDELPHI5UP}
{$DEFINE mymsDELPHI10DOWN}
{$DEFINE mymsDELPHI2009DOWN}
{$DEFINE mymsDELPHI2010DOWN}
{$DEFINE mymsDELPHIXEDOWN}
{$ENDIF}
{$ENDIF}
{$IFDEF VER200}
{$DEFINE mymsBorlandDevTool}
{$IFDEF MSWINDOWS}
{$DEFINE mymsDELPHI}
{$DEFINE mymsDELPHI2009}
{$DEFINE mymsDELPHI2009UP}
{$DEFINE mymsDELPHI10UP}
{$DEFINE mymsDELPHI9UP}
{$DEFINE mymsDELPHI7UP}
{$DEFINE mymsDELPHI6UP}
{$DEFINE mymsDELPHI5UP}
{$DEFINE mymsDELPHI2009DOWN}
{$DEFINE mymsDELPHI2010DOWN}
{$DEFINE mymsDELPHIXEDOWN}
{$ENDIF}
{$ENDIF}
{$IFDEF VER210}
{$DEFINE mymsBorlandDevTool}
{$IFDEF MSWINDOWS}
{$DEFINE mymsDELPHI}
{$DEFINE mymsDELPHI2010}
{$DEFINE mymsDELPHI2010UP}
{$DEFINE mymsDELPHI2009UP}
{$DEFINE mymsDELPHI10UP}
{$DEFINE mymsDELPHI9UP}
{$DEFINE mymsDELPHI7UP}
{$DEFINE mymsDELPHI6UP}
{$DEFINE mymsDELPHI5UP}
{$DEFINE mymsDELPHI2010DOWN}
{$DEFINE mymsDELPHIXEDOWN}
{$ENDIF}
{$ENDIF}
{$IFDEF VER220}
{$DEFINE mymsBorlandDevTool}
{$IFDEF MSWINDOWS}
{$DEFINE mymsDELPHI}
{$DEFINE mymsDELPHIXE}
{$DEFINE mymsDELPHIXEUP}
{$DEFINE mymsDELPHI2010UP}
{$DEFINE mymsDELPHI2009UP}
{$DEFINE mymsDELPHI10UP}
{$DEFINE mymsDELPHI9UP}
{$DEFINE mymsDELPHI7UP}
{$DEFINE mymsDELPHI6UP}
{$DEFINE mymsDELPHI5UP}
{$DEFINE mymsDELPHIXEDOWN}
{$ENDIF}
{$ENDIF}
{$IFDEF VER230}
{$DEFINE mymsBorlandDevTool}
{$IFDEF MSWINDOWS}
{$DEFINE mymsDELPHI}
{$DEFINE mymsDELPHIXE2}
{$DEFINE mymsDELPHIXE2UP}
{$DEFINE mymsDELPHIXEUP}
{$DEFINE mymsDELPHI2010UP}
{$DEFINE mymsDELPHI2009UP}
{$DEFINE mymsDELPHI10UP}
{$DEFINE mymsDELPHI9UP}
{$DEFINE mymsDELPHI7UP}
{$DEFINE mymsDELPHI6UP}
{$DEFINE mymsDELPHI5UP}
{$ENDIF}
{$ENDIF}
{$IFDEF VER240}
{$DEFINE mymsBorlandDevTool}
{$IFDEF MSWINDOWS}
{$DEFINE mymsDELPHI}
{$DEFINE mymsDELPHIXE3}
{$DEFINE mymsDELPHIXE3UP}
{$DEFINE mymsDELPHIXE2UP}
{$DEFINE mymsDELPHIXEUP}
{$DEFINE mymsDELPHI2010UP}
{$DEFINE mymsDELPHI2009UP}
{$DEFINE mymsDELPHI10UP}
{$DEFINE mymsDELPHI9UP}
{$DEFINE mymsDELPHI7UP}
{$DEFINE mymsDELPHI6UP}
{$DEFINE mymsDELPHI5UP}
{$ENDIF}
{$ENDIF}
{$IFDEF VER250}
{$DEFINE mymsBorlandDevTool}
{$IFDEF MSWINDOWS}
{$DEFINE mymsDELPHI}
{$DEFINE mymsDELPHIXE4}
{$DEFINE mymsDELPHIXE4UP}
{$DEFINE mymsDELPHIXE3UP}
{$DEFINE mymsDELPHIXE2UP}
{$DEFINE mymsDELPHIXEUP}
{$DEFINE mymsDELPHI2010UP}
{$DEFINE mymsDELPHI2009UP}
{$DEFINE mymsDELPHI10UP}
{$DEFINE mymsDELPHI9UP}
{$DEFINE mymsDELPHI7UP}
{$DEFINE mymsDELPHI6UP}
{$DEFINE mymsDELPHI5UP}
{$ENDIF}
{$ENDIF}
// defines for users
{$IFDEF mymsBorlandDevTool}
// platforms
{$IFDEF WINDOWS}
{$DEFINE mymsWIN16}
{$DEFINE mymsWINDOWS}
{$DEFINE mymsWinBitsAPI}
{$ENDIF}
{$IFDEF WIN32}
{$DEFINE myms32Bits}
{$DEFINE mymsWIN32}
{$DEFINE mymsWINDOWS}
{$DEFINE mymsWinBitsAPI}
{$ENDIF}
{$IFDEF WIN64}
{$DEFINE myms64Bits}
{$DEFINE mymsWIN64}
{$DEFINE mymsWINDOWS}
{$DEFINE mymsWinBitsAPI}
{$ENDIF}
{$IFDEF MSWINDOWS}
{$DEFINE mymsWINDOWS}
{$DEFINE mymsWinBitsAPI}
{$ENDIF}
{$IFDEF LINUX}
{$DEFINE mymsLINUX}
{$ENDIF}
// frameworks available
{$IFDEF mymsWINDOWS}
{$DEFINE mymsVCL}
{$ENDIF}
{$IFDEF mymsLINUX}
{$DEFINE mymsCLX}
{$ENDIF}
{$IFDEF mymsDELPHI6-7}
{$DEFINE mymsCLX}
{$ENDIF}
{$IFDEF mymsDELPHI10DOWN}
{$DEFINE mymsNativeStringIsAnsiMBCS}
{$DEFINE mymsClassicOrOlderVirtTrees}
{$ENDIF}
{$IFDEF mymsDELPHI2009UP}
{$DEFINE mymsDelphiAnsiToUnicodeHack}
{$DEFINE mymsNativeStringIsUTF16}
{$DEFINE mymsDelphiUnicodeVirtTrees}
{$DEFINE mymsVariantUnicodeStr}
{$ENDIF}
// libraries available
{$DEFINE mymsBorlRTL}
{$ENDIF}
{$IFDEF FPC}
{$DEFINE mymsFPCDevTool}
{$ENDIF}
{$IFDEF mymsFPCDevTool}
{$IFDEF Win32}
{$DEFINE myms32Bits}
{$DEFINE mymsWIN32}
{$DEFINE mymsWINDOWS}
{$DEFINE mymsWinBitsAPI}
{$ENDIF}
{$IFDEF Win64}
{$DEFINE myms64Bits}
{$DEFINE mymsWIN64}
{$DEFINE mymsWINDOWS}
{$DEFINE mymsWinBitsAPI}
{$ENDIF}
{$IFDEF Linux}
{$DEFINE mymsLINUX}
{$ENDIF}
{$IFDEF Darwin}
{$DEFINE mymsMacOSX}
{$DEFINE mymsOSX32}
{$DEFINE myms32Bits}
{$ENDIF}
// frameworks available
{$IFDEF mymsWINDOWS}
{$DEFINE mymsLCL}
{$ENDIF}
{$IFDEF mymsLINUX}
{$DEFINE mymsLCL}
{$ENDIF}
{$IFDEF mymsMacOSX}
{$DEFINE mymsLCL}
{$ENDIF}
{$DEFINE mymsNativeStringIsUTF8}
{$ENDIF}
This file is part of Automation Batch Tools. All rights reserved. See legal.