⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parallel.dpr

📁 利用 ntport控制并口
💻 DPR
字号:
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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -