parallel.~dpr

来自「利用 ntport控制并口」· ~DPR 代码 · 共 76 行

~DPR
76
字号
program Parallel;

uses
  Forms,
  SysUtils,
  Dialogs,
  Windows,
  Math,
  MainForm in '1_Program\MainForm.pas' {Form_Main};

{$R *.res}


//==============================================================================
//根据程序传入的参数,进行相应的操作  ******************************************
//参数1:1~4。参数2:i/o/c            ******************************************
//==============================================================================
procedure AnalyseParams;
var strOperate: string;
    iSWitch: integer;
    iData, iCurData: integer;
begin
  if (ParamCount = 0) then
  begin
    Form_Main:= TForm_Main.Create(Application);
    Form_Main.Hide;
    Form_Main.InitForm;
    Form_Main.ShowModal;
  end
  else if (ParamCount = 2) then
  begin
    strOperate:= UpperCase(ParamStr(1));
    Delete(strOperate, Pos('/', strOperate), 1);
    Form_Main:= TForm_Main.Create(Application);
    Form_Main.InitForm;
    if not TryStrToInt(strOperate, iSWitch) then
    begin
      MessageBox(Application.Handle, '错误', '第一个参数必须为1~4之间的整数', MB_OK + MB_ICONERROR);
      Exit;
    end;
    strOperate:= UpperCase(ParamStr(2));
    Delete(strOperate, Pos('/', strOperate), 1);
    if (iSWitch = 1) then iData:= CST_Switch_1
    else if (iSWitch = 2) then iData:= CST_Switch_2
    else if (iSWitch = 3) then iData:= CST_Switch_3
    else if (iSWitch = 4) then iData:= CST_Switch_4
    else
    begin
      MessageBox(Application.Handle, '错误', '第一个参数必须为1~4之间的整数', MB_OK + MB_ICONERROR);
      Exit;
    end;
    iCurData:= Form_Main.GetData;
    //Open Switch
    if (strOperate = 'O') then Form_Main.SetData(iCurData or iData)
    //Close Switch
    else if (strOperate = 'C') then Form_Main.SetData(iCurData xor iData)
    //Invert Switch
    else if (strOperate = 'R') then
      Form_Main.SetData(IfThen((iCurData and iData) = iData, iCurData xor iData, iCurData or iData))
    else
    begin
      MessageBox(Application.Handle
                , '错误'
                , '第二个参数必须为o(打开)/c(关闭)/r(取反)'
                , MB_OK + MB_ICONERROR);
      Exit;
    end;
  end;
end;

begin
  Application.Initialize;
  AnalyseParams;
  Application.Run;
end.

⌨️ 快捷键说明

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