📄 unit3.~pas
字号:
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Menus, Mask;
type
TForm3 = class(TForm)
Button1: TButton;
ProgressBar1: TProgressBar;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Label1: TLabel;
GroupBox1: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button2: TButton;
Button3: TButton;
Label4: TLabel;
Label5: TLabel;
Memo1: TMemo;
Memo2: TMemo;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses Unit2;
VAR i,m:integer;
B,D:Array[0..20] of string;
{$R *.dfm}
//交换函数
procedure Swap1(var a:string;var b: string);
var c:string;
begin
c:=a;
a:=b;
b:=c;
end;
procedure TForm3.Button2Click(Sender: TObject);
var j,a,k,s,y:integer;
begin
if form3.RadioButton1.Checked then
begin
i:=i+1;
if i>20 then
begin
showmessage('进程已满,请执行');
end;
if i<=20 then
begin
for j:=0 to m do
begin
if memo1.Lines.Strings[j]=edit1.Text +' *********** ' +edit2.Text then
begin
a:=1;
break;
end;
end;
if a=1 then begin
showmessage('进程已经存在');
edit1.SetFocus;
end
else
begin
m:=m+1;
memo1.Lines.Add(edit1.Text +' *********** ' +edit2.Text);
edit1.SetFocus;
end;
end;
end;
if form3.RadioButton2.Checked then
begin
i:=i+1;
if i>20 then
begin
showmessage('进程已满,请执行');
end;
if i<=20 then
begin
for j:=0 to m do
begin
if memo1.Lines.Strings[j]=edit1.Text +' *********** ' +edit2.Text then
begin
a:=1;
break;
end;
end;
if a=1 then
begin
showmessage('进程已经存在');
edit1.SetFocus;
end
else
begin
//给memo1赋值
memo1.Lines.Add(edit1.Text +' *********** ' +edit2.Text);
m:=m+1;
edit2.Tag:=1;
edit1.SetFocus;
//把memo1的值赋给数组
for k:=0 to form3.ComponentCount-1 do
begin
if form3.Components[k] is TEdit then
begin
if Tedit(form3.Components[k]).Tag =1 then
begin
B[j]:=Tedit(form3.Components[k]).Text;
D[j]:=memo1.Lines[m];
//inc(j);
end;
end;
end;
//给数组排序
for s := High(B) downto Low(B) do
for y := Low(B) to High(B) - 1 do
begin
if B[y]<B[y+1] then
begin
Swap1(B[y],B[y+1]);
Swap1(D[y],D[y+1]);
end;
end;
j:=j+1;
end;
end;
end;
end;
procedure TForm3.Button1Click(Sender: TObject);
var n:integer;
begin
if form3.RadioButton1.Checked
then begin
for n:=1 to m do
begin
ProgressBar1.Min:=0; ProgressBar1.Max:=200;
for m:=1 to 200 do
begin
ProgressBar1.Position:=m;
Application.ProcessMessages;
sleep(10);
end;
memo2.Lines.Add(memo1.Lines[n]);
end;
end;
if form3.RadioButton2.Checked
then begin
for n:=1 to m do
begin
ProgressBar1.Min:=0; ProgressBar1.Max:=200;
for m:=1 to 200 do
begin
ProgressBar1.Position:=m;
Application.ProcessMessages;
sleep(10);
end;
memo2.Lines.Add(D[n-1]);
end;
end;
end;
procedure TForm3.N1Click(Sender: TObject);
begin
close;
end;
procedure TForm3.RadioButton1Click(Sender: TObject);
begin
edit2.Text:='1';
edit2.Enabled:=false;
//edit1.SetFocus;
end;
procedure TForm3.Button3Click(Sender: TObject);
begin
edit1.Clear;
memo1.Clear;
memo2.Clear;
form3.memo1.Lines.Strings[0]:='进程名'+'******'+'优先级';//+'******'+'执行时间';
form3.memo2.Lines.Strings[0]:='进程名'+'******'+'优先级';//+'******'+'执行时间';
m:=0;
if form3.RadioButton2.Checked then
edit2.Clear;
end;
procedure TForm3.RadioButton2Click(Sender: TObject);
begin
edit2.Clear;
edit2.Enabled:=true;
end;
procedure TForm3.Edit2Change(Sender: TObject);
begin
SetWindowLong(Edit2.Handle, GWL_STYLE, GetWindowLong(Edit2.Handle, GWL_STYLE) or ES_NUMBER);
//只能输入数字
end;
procedure TForm3.N2Click(Sender: TObject);
begin
showmessage('选择高优先权时,优先级只能输入数字');
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -