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

📄 unit9.~pas

📁 初学DELPHI编写的“奖学金评定系统”
💻 ~PAS
字号:
unit Unit9;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, DBTables, StdCtrls, ExtCtrls,
  ActnList, Mask, DBCtrls, AppEvnts, ADODB,inifiles;

type
    TUnit9Form9 = class(TForm)
    DataSource1: TDataSource;
    Panel1: TPanel;
    ListBox1: TListBox;
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    Button1: TButton;
    ADOQuery1: TADOQuery;
    ApplicationEvents1: TApplicationEvents;
    procedure FormCreate(Sender: TObject);
    procedure DBEdit3Exit(Sender: TObject);
    procedure DBEdit4Exit(Sender: TObject);
    procedure ListBox1DblClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DBGrid1TitleClick(Column: TColumn);
    procedure ApplicationEvents1Message(var Msg: tagMSG;
      var Handled: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
    function dyzhCL(): boolean;export;
var
  BanJi: array[1..30] of string;

implementation

uses dbmodule;

{$R *.dfm}
var BanJiSltd: string;

procedure TUnit9Form9.FormCreate(Sender: TObject);
var
  str,st: string;
  i,count: byte;
  IniFile:TInifile;
  filename: string;
begin
  count:= 0;
  filename:= ExtractFilePath(paramstr(0))+'Serv.ini';
  inifile:= TInifile.Create(filename);
  str:= inifile.ReadString('专业班级统计','班级总数','0');
  str:= inifile.ReadString('专业班级统计','班级','0');
  for i:= 1 to length(str) do begin
    if not IsDelimiter(#32, str, i) then
      count:= count+ 1
    else begin
      st:= copy( str, i- count, count);
      ListBox1.Items.Add(st);
      count:= 0;
    end;
  end;
  BanJiSltd:= listbox1.Items.Strings[0];
end;

function dyzhCL(): boolean;export;
var
  form9: tUnit9Form9;
begin
  form9:= tUnit9Form9.Create(application);
  with form9 do begin
  caption:= '德育综合得分信息录入';
  visible:= true;
  update;
    try
      //screen.Cursor:= crHourGlass;
      with adoquery1 do begin
        sql.Clear;
        sql.Add('select 姓名,学号,德育得分,综合能力得分 from 学籍成绩 where 专业班级 = "'+ BanJiSltd+ '"');
        open;
      end;
    finally
      screen.Cursor:= crdefault;
    end;
  end;
end;


procedure TUnit9Form9.DBEdit3Exit(Sender: TObject);
var f:real;
begin
  try
    f:= strtofloat(dbedit3.Text);
    if (f> 100) or (f< 0) then begin
      messagedlg('德育得分输错了!'+#13+dbedit3.text+'不在0~100之内!',
                  mterror,[mbok],0);
      dbedit3.SetFocus;
    end;
  except
      messagedlg('请输入正确的得分!',mterror,[mbok],0);
      dbedit3.SetFocus;
  end;
end;

procedure TUnit9Form9.DBEdit4Exit(Sender: TObject);
var f:real;
begin
  try
    f:= strtofloat(dbedit4.Text);
    if (f> 100) or (f< 0) then begin
      messagedlg('综合得分输错了!'+#13+dbedit4.text+'不在0~100之内!',
                  mterror,[mbok],0);
      dbedit4.SetFocus;
    end;
  except
      messagedlg('请输入正确的得分!',mterror,[mbok],0);
      dbedit4.SetFocus;
  end;
end;
procedure TUnit9Form9.ListBox1DblClick(Sender: TObject);
begin
    banjisltd:= listbox1.Items.Strings[listbox1.itemindex];
    with adoquery1 do begin
      close;
      sql.Clear;
      sql.Add('select 姓名,学号,德育得分,综合能力得分 from 学籍成绩 where 专业班级 = "'+ BanJiSltd+ '"');
      open;
      edit;
    end;
    update;
end;

procedure TUnit9Form9.Button1Click(Sender: TObject);
begin
  with adoquery1 do begin
    post;
    next;
    edit;
  end;
  dbedit3.setfocus;
end;

procedure TUnit9Form9.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var userchoiceword:integer;
begin
    userchoiceword:= messagedlg('您老真的要退出吗?请确认所填信息已经保存!',mtwarning,[mbyes,mbno],0);
    If userchoiceword= mryes then Begin
      adoquery1.cancel;
      canclose:= true;
      adoquery1.close;
      end
    else
      canclose:= false;
end;

procedure TUnit9Form9.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  free;
end;

procedure TUnit9Form9.DBGrid1TitleClick(Column: TColumn);
var str: string;
begin
  with adoquery1 do begin
    str:= column.FieldName;
    if sort= str+ ' ASC' then
      sort:= str+ ' DESC'
    else
      sort:= str+ ' ASC';
  end;
end;

procedure TUnit9Form9.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
var hWnd: THandle; aName: array [0..255] of char;

begin
    //给DBGrid加上鼠标滚轮
    if Msg.message <> WM_MOUSEWHEEL then exit;
    hWnd := WindowFromPoint(msg.pt);
    if boolean(GetClassName(hWnd, aName, 256))and(aName='TDBGrid') then//如果第三方控件需要修改,比如用aName='TbsSkinDBGrid'
    begin
        if Short(HIWORD(Msg.wParam)) < 0 then

        begin
            PostMessage(hWnd, WM_KEYDOWN, VK_DOWN, 0);
            PostMessage(hWnd, WM_KEYUP, VK_DOWN, 0)
        end
        else

        begin
            PostMessage(hWnd, WM_KEYDOWN, VK_UP, 0);
            PostMessage(hWnd, WM_KEYUP, VK_UP, 0);

        end;

        Handled := true;
    end;
end;

end.

⌨️ 快捷键说明

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