📄 parallel.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 + -