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

📄 uglobal.pas

📁 图书馆管理系统设计详细资料
💻 PAS
字号:
unit uGlobal;

interface

uses
  Forms, Controls, SysUtils, Graphics, Buttons, ComCtrls, ADODB, uMyApp, uLog;

const
  {$IFDEF TRAIL}
  AppCaption = '员工档案管理系统';
  {$ELSE}
  AppCaption = '员工档案管理系统';
  {$ENDIF}
  ViewColor  = clMoneyGreen;

type
  TFormClass = class of TForm;

  PNodeData = ^TNodeData;
  TNodeData = packed record
    Id: Integer;
    No, En: string;
  end;

var
  MyApp: TMyApp;
  Log: TLog;

{模式显示指定窗口}
procedure ShowFormModal(AOwner: TWinControl; AFormClass: TFormClass);
{加载员工信息入树}
procedure AddStaffs(ATreeView: TTreeView; AParNode: TTreeNode; ADeptID, AQrySql: string);
{取英语首字母}
function GetEnStr(const CnString: string): string;
{过滤数据集}
procedure FilterData(ADataSet: TADOQuery; AFilter: string);

implementation

uses uData;

procedure ShowFormModal(AOwner: TWinControl; AFormClass: TFormClass);
var
  Form: TForm;
begin
  Form := AFormClass.Create(AOwner);
  Form.ShowModal;
  FreeAndNil(Form);
end;

function GetEnStr(const CnString: string): string;
const
  ChinaCode: array[0..25, 0..1] of Integer = ((1601, 1636), (1637, 1832), (1833, 2077),
    (2078, 2273), (2274, 2301), (2302, 2432), (2433, 2593), (2594, 2786), (9999, 0000),
    (2787, 3105), (3106, 3211), (3212, 3471), (3472, 3634), (3635, 3722), (3723, 3729),
    (3730, 3857), (3858, 4026), (4027, 4085), (4086, 4389), (4390, 4557), (9999, 0000),
    (9999, 0000), (4558, 4683), (4684, 4924), (4925, 5248), (5249, 5589));
var
  i, j, HzOrd: integer;
begin
  i := 1;
  while i <= Length(CnString) do
  begin
    if (CnString[i] >= #160) and (CnString[i + 1] >= #160) then
    begin
      HzOrd := (Ord(CnString[i]) - 160) * 100 + Ord(CnString[i + 1]) - 160;
      for j := 0 to 25 do
      begin
        if (HzOrd >= ChinaCode[j][0]) and (HzOrd <= ChinaCode[j][1]) then
        begin
          Result := Result + char(byte('a') + j);
          break;
        end;
      end;
      Inc(i);
    end else Result := Result + CnString[i];
    Inc(i);
  end;
end;

procedure AddStaffs(ATreeView: TTreeView; AParNode: TTreeNode; ADeptID, AQrySql: string);
var
  aqSta: TADOQuery;
  Sid: PNodeData;
  tnStaff: TTreeNode;
begin
  aqSta := TADOQuery.Create(nil);
  try
    DM.OpenQuery(aqSta, AQrySql);
    aqSta.Filtered := False;
    aqSta.Filter := 'depid=' + ADeptID;
    aqSta.Filtered := True;
    if aqSta.RecordCount = 0 then Exit;
    aqSta.First;
    while not aqSta.Eof do
    begin
      New(Sid);
      Sid^.Id := StrToInt(aqSta.FieldByName('id').AsString);
      Sid^.No := aqSta.FieldByName('stano').AsString;
      Sid^.En := aqSta.FieldByName('ename').AsString;
      tnStaff := ATreeView.Items.AddChildObject(AParNode, aqSta.FieldByName('sname').AsString, Sid);
      tnStaff.ImageIndex := 2;
      aqSta.Next;
    end;
  finally
    aqSta.Free;
  end;
end;



procedure FilterData(ADataSet: TADOQuery; AFilter: string);
begin
  with ADataSet do
  begin
    Filtered := False;
    Filter := AFilter;
    Filtered := True;
  end;
end;

initialization
  MyApp := TMyApp.Create;
  Log := TLog.Create;
finalization
  MyApp.Free;
  Log.Free;

end.

⌨️ 快捷键说明

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