wie kriege ich die fpc und Lazarus Version, vielleicht sogar die svn Revision automatisch ins Programm compiliert?
Ich möchte folgende Funktion für Lazarus/fpc detaillieren:
Code: Alles auswählen
function CompilerName : String;
var s : String;
{$ifdef MSWindows}
{$ifndef fpc}
t : String;
{$endif}
{$endif}
begin
s := '';
{$ifdef Ver80}
s := 'Borland Delphi 1';
{$endif}
{$ifdef Ver90}
s := 'Borland Delphi 2';
{$endif}
{$ifdef Ver93}
s := 'Borland C Builder 1';
{$endif}
{$ifdef Ver100}
s := 'Borland Delphi 3';
{$endif}
{$ifdef Ver110}
s := 'Borland C Builder 3';
{$endif}
{$ifdef Ver120}
s := 'Borland Delphi 4';
{$endif}
{$ifdef Ver125}
s := 'Borland C Builder 4';
{$endif}
{$ifdef Ver130}
s := 'Borland Delphi 5';
{$endif}
{$ifdef Ver140}
case SysLocale.PriLangID of
Lang_German :
s := 'Borland Delphi 6 oder Kylix 3';
else
s := 'Borland Delphi 6 or Kylix 3';
end;
{$endif}
{$ifdef Ver150}
s := 'Borland Delphi 7';
{$endif}
{$ifdef Ver170}
{ CompilerVersion = 17.0 }
s := 'Borland Delphi 2005';
{$endif}
{$ifdef Ver180}
{$ifndef Ver185}
{ CompilerVersion = 18.0 }
s := 'Borland Delphi 2006';
{$ELSE}
s := 'CodeGear Delphi 2007';
{$endif}
{$endif}
{$ifdef Ver200}
s := 'Embarcadero Delphi 2008';
{$endif}
{$ifdef Ver210}
s := 'Embarcadero Delphi 2010';
{$endif}
{$ifdef Ver220}
s := 'Embarcadero Delphi XE';
{$endif}
{$ifdef fpc}
s := 'Free Pascal/Lazarus';
{$endif}
if s = '' then
begin
{$ifdef MSWindows}
{$ifndef fpc}
str(CompilerVersion : 1 : 1, t);
if CompilerVersion > 18.0 then
s := s + 'CodeGear Delphi ' + t
else
s := s + 'Borland Delphi ' + t;
{$endif}
{$endif}
end;
if s = '' then
case SysLocale.PriLangID of
Lang_German :
s := 'unbekannt';
else
s := 'unknown';
end;
CompilerName := s;
end;