文章

'谁没交作业'检查程序代码 For Delphi

现在很多学校老师布置作业之后,都会要求完成作业的家长在群内进行接龙
没有接龙的家长代表未完成作业
那么接下来的事情就是一个日复一日的繁琐工作
"检查谁没交作业"
由于一个班级的学生并不是区区几个人,所以每次检查到底谁没交作业就让人很烦.
这个事情就交给程序来完成吧

使用方法:
使用者请在本程序根目录创建一个:班级人员名单.txt
然后把班级所有学生的姓名写进去,一行一个姓名
之后把每日的接龙拷贝到程序的左边方框内,
然后点击右下角的文本名单作业检查.
链接: https://pan.baidu.com/s/1-l6Df-WB97JxWNJR5EjuHA 提取码: qu9s 复制这段内容后打开百度网盘手机App,操作更方便哦
--来自百度网盘超级会员v5的分享
吾爱论坛同步地址:
https://www.52pojie.cn/thread-1473153-1-1.html

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
  Vcl.StdCtrls, IniFiles;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Memo2: TMemo;
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    Label2: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Memo1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public


      //AllName = (钟瑞秋, 彭紫夏, 周佳慧, 陈可佳, 刘思琦, 陈欣怡, 钟佳婷, 黄育宸, 熊子嫣, 伍妙思, 牛艺涵, 张书涵, 刘淼, 刘晨宇, 严恺昕, 项雨泽, 廖羽良, 杨宇轩, 伍宇乐, 肖哲浩, 闻怡航, 简博成, 刘子文, 伍依铭, 施丽媛, 廖思凯, 袁雨辰, 黄皓翔, 黄宇泉, 钟艺轩, 林颖希, 刘子渊, 梁振楠, 郭雨辰, 黄雨泉, 刘俊佑);
    var
      Mystat: array of string;
      MyList: THashedStringList;

    { Public declarations }
  end;

var
  Form1: TForm1;

implementation
{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
var
  EName1: string;
  Userinput1: string;
  EIndex1: Integer;
begin
  Memo2.lines.Clear;
  EIndex1 := 0;
  Userinput1 := memo1.Text;
  try
    MyList := THashedStringList.Create;
    MyList.DefaultEncoding := TEncoding.UTF8;
    MyList.LoadFromFile('班级人员名单.txt');
    for EName1 in MyList do
    begin
      if EName1.IndexOf(Userinput1) = -1 then     //这里用的IndexOf方法,不存在会返回-1
      begin
        memo2.Text := Memo2.Text + EName1 + '没有完成作业' + #13#10;
        Inc(EIndex1);
      end;
    end;
    Memo2.text := Memo2.text + '共计' + IntToStr(EIndex1) + '人未交作业.' + #13#10 + DateTimeToStr(now);
  finally
    MyList.Free;
  end;

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  SetLength(Mystat, 38);
  Mystat := ['钟瑞秋', '黄佳敏', '钟佳婷', '彭紫夏', '周佳慧', '陈可佳', '刘思琦', '陈欣怡', '钟佳婷', '黄育宸', '熊子嫣', '伍妙思', '牛艺涵', '张书涵', '刘淼', '刘晨宇', '严恺昕', '项雨泽', '廖羽良', '杨宇轩', '伍宇乐', '肖哲浩', '闻怡航', '简博成', '刘子文', '伍依铭', '施丽媛', '廖思凯', '袁雨辰', '黄皓翔', '黄宇泉', '钟艺轩', '林颖希', '刘子渊', '梁振楠', '郭雨辰', '黄雨泉', '刘俊佑'];

end;

procedure TForm1.Memo1Click(Sender: TObject);
begin
  Memo1.Lines.Clear;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  EName: string;
  Userinput: string;
  EIndex: Integer;
begin
  Memo2.lines.Clear;
  EIndex := 0;
  Userinput := memo1.Text;
  for EName in Mystat do
  begin
    if Pos(EName, Userinput) = 0 then           //Pos方法,不存在会返回0,但是Pos好像更慢
    begin
      memo2.Text := Memo2.Text + EName + '没有完成作业' + #13#10;
      //Memo2.Lines.Add(EName + '没交作业' + #10);   //这种速度更慢
      Inc(EIndex);
    end;

  end;

  Memo2.text := Memo2.text + '共计' + IntToStr(EIndex) + '人未交作业.' + #13#10 + DateTimeToStr(now);
end;

end.

原文来自:'谁没交作业'检查程序代码 For Delphi,尊重自己,尊重每一个人;转发请注明来源!
0 0

发表评论