dfcode.pas

来自「C,C++ To Delphi转换器 C,C++ To Delphi转换器」· PAS 代码 · 共 67 行

PAS
67
字号
unit DFCode;
// Free for any project that try to translate C to Pascal
// (c)2002 by Paul TOTH <tothpaul@free.fr>

interface

procedure SetState(enabled:boolean);
function GetState:boolean;
procedure PushState;
procedure PopState;

procedure Define(name:string);
function Defined(name:string):boolean;

implementation

uses
 Classes,SysUtils;

var
 State  :boolean;
 States :array of boolean;
 Defines:TStringList;

procedure SetState(enabled:boolean);
begin
 State:=enabled;
end;

function GetState:boolean;
begin
 Result:=State;
end;

procedure PushState;
 var
  i:integer;
 begin
  i:=Length(States);
  SetLength(States,i+1);
  States[i]:=State;
 end;

procedure PopState;
 var
  i:integer;
 begin
  i:=Length(States)-1;
  if i<0 then raise exception.create('end if without if');
  State:=States[i];
  SetLength(States,i);
 end;

procedure Define(name:string);
 begin
  if Defined(name) then exit;
  if Defines=nil then Defines:=TStringList.Create;
  Defines.Add(name);
 end;

function Defined(name:string):boolean;
 begin
  result:=(Defines<>nil)and(Defines.IndexOf(name)>=0);
 end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?