unit1.pas

来自「delphi典型实验代码」· PAS 代码 · 共 147 行

PAS
147
字号
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Button1: TButton;
    Button2: TButton;
    Label7: TLabel;
    Label8: TLabel;
    Edit4: TEdit;
    ListBox1: TListBox;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ListBox1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 type                   //定义数据 类
   node=record
   name:string;         //姓名
   number:string;        //学号
   phone:string;        //手机号码
 end;
 student=array[1..50]of node;
//  var
//    st:student;
var
  Form1: TForm1;
 st:student;
  i:integer=0;
  flag,ll:boolean;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
 var
   jj:integer;
begin

    if i=50 then  begin
                 showmessage('存贮空间已满');
                 ll:=false;
                  end ;
  if ll then
    begin
    st[i].name:=edit1.text;
    st[i].number:=edit2.text;
    st[i].phone:=edit3.text;
    listbox1.Items.Clear;      //清空显示
     for jj:=0 to i do         //刷新显示
         begin
    listbox1.Items.add(st[jj].name+'  '+st[jj].number+'  '+st[jj].phone);
   // listbox2.Items.add(edit2.text);
    //listbox3.Items.add(edit3.text);
         end;
    i:=i+1;
    edit1.text:='';
    edit2.text:='';
    edit3.text:='';
    edit1.setfocus;
   end 
end;

procedure TForm1.Button2Click(Sender: TObject);
  var
     j:integer;
begin
   for j:=0 to 50 do
       begin
         if edit4.text=st[j].name  then
            begin
            flag:=true;   //查询有结果则   flag:=true并退出循环
            break;
            end
         else  flag:=false;
       end;
    if flag then
       begin
       label9.caption:=st[j].name;
       label10.caption:=st[j].number;
       label11.caption:=st[j].phone;
       end
   else  showmessage('查无此人');   //查询不到则显示 查无此人
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
       ll:=true;
       flag:=false;      //清空编辑框
       edit1.text:='';
       edit2.text:='';
       edit3.text:='';
       edit4.text:='';
end;

procedure TForm1.ListBox1Click(Sender: TObject);
begin
   if listbox1.itemindex>-1 then    //如listbox选项被选中则button3 被使能
         button3.enabled:=true
   else  button3.enabled:=false;
end;

procedure TForm1.Button3Click(Sender: TObject);
 var
    wei,j,aa:integer;
begin
  wei:=listbox1.ItemIndex;      //选定被删除的行
   for j:=wei to i do
      begin
      st[j].name:=st[j+1].name;   //将后一行覆盖被删除行
      st[i].number:=st[j+1].number;
      st[i].phone:=st[j+1].phone;
      end ;
   i:=i-1;
   listbox1.Items.Clear;           //清空
   for aa:=0 to i do
       begin                       //刷新显示
        listbox1.Items.add(st[aa].name+'  '+st[aa].number+'  '+st[aa].phone);
       end
end;

end.

⌨️ 快捷键说明

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