亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? udm.pas

?? delphi7.0 源碼 學(xué)籍管理系統(tǒng)源碼
?? PAS
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
    FreeAndNil(aqCard);
    FreeAndNil(aqClass);
  end;
end;

function GetClasses(ALevel, AGrade: string): string;
var
  GradeIni : TIniFile;
begin
  GradeIni := TIniFile.Create(ClassIniFileName);
  try
    Result := GradeIni.ReadString(ALevel, AGrade, '');
  finally
    FreeAndNil(GradeIni);
  end;
end;

procedure SetClasses(ALevel, AGrade, AClasses: string);
var
  GradeIni : TIniFile;
begin
  GradeIni := TIniFile.Create(ClassIniFileName);
  try
    GradeIni.WriteString(ALevel, AGrade, AClasses);
  finally
    FreeAndNil(GradeIni);
  end;
end;

procedure GetGradeCheck(ALevel: string; var AclbGrades: TCheckListBox);
var i: integer;
begin
  for i:=0 to AclbGrades.Count-1 do
    AclbGrades.Checked[i] := GetClasses(ALevel, IntToStr(i+1))<>'';
end;

procedure SetGradeCheck(ALevel: string; var AclbGrades: TCheckListBox);
var i: integer;
begin
  for i:=0 to AclbGrades.Count-1 do
    if (not AclbGrades.Checked[i]) then
      SetClasses(ALevel, IntToStr(i+1), '');
end;

function GetItemFromText(AText: string; Index: integer): string;
var
  AStrings: TStrings;
begin
  AStrings := TStringList.Create;
  try
    AStrings.Delimiter := gDelimiter;
    AStrings.DelimitedText := AText;
    Result := AStrings[Index];
  finally
    FreeAndNil(AStrings);
  end;
end;

function GetIndexFromText(AText: string; Item: string): Integer;
var
  AStrings: TStrings;
begin
  AStrings := TStringList.Create;
  try
    AStrings.Delimiter := gDelimiter;
    AStrings.DelimitedText := AText;
    Result := AStrings.IndexOf(Item);
  finally
    FreeAndNil(AStrings);
  end;
end;

procedure GetGradeTree;

  function RowsToStrings(FieldName: string; FWhere: string = '(1=1)'): string;
  const
    SQL_Rows = 'SELECT DISTINCT %s FROM dClass WHERE %s ORDER BY %s';
  var
    AQ: TADOQuery;
  begin
    AQ := TADOQuery.Create(nil);
    try
      AQ.Connection := DM.ADOConnection;
      AQ.SQL.Text := format(SQL_Rows, [FieldName, FWhere, FieldName]);
      AQ.Open;

      AQ.First;
      Result := '';
      while not AQ.Eof do begin
        Result := Result + AQ.FieldByName(FieldName).AsString + #13;
        AQ.Next;
      end;
      Result := Trim(Result);
    finally
      FreeAndNil(AQ);
    end;
  end;

const
  Where_Grade = 'gLevel = ''%s'' ';
  Where_Class = 'gLevel = ''%s'' AND Grade = ''%s'' ';
var
  GradeTree: TStrings;
  Levels, Grades, Classes: TStrings;
  i, j, k: integer;
  gGrades: string;
begin
  if FileExists(GradeTreeFileName) then DeleteFile(PChar(GradeTreeFileName));

  Screen.Cursor := crHourGlass;

  GradeTree := TStringList.Create;
  Levels := TStringList.Create;
  Grades := TStringList.Create;
  Classes := TStringList.Create;
  try
    Levels.Text := RowsToStrings('gLevel');
    for i:=0 to Levels.Count-1 do begin
      GradeTree.Append(GetItemFromText(gLevels, i));
      Grades.Text := RowsToStrings('Grade', format(Where_Grade, [Levels[i]]));
      if i=0 then
        gGrades := ElementaryGrades
      else if i=1 then
        gGrades := JuniorGrades
      else
        gGrades := '';
      for j:=0 to Grades.Count-1 do begin
        GradeTree.Append(Chr(VK_TAB) + GetItemFromText(gGrades, j));
        Classes.Text := RowsToStrings('Class', format(Where_Class, [Levels[i], Grades[j]]));
        for k:=0 to Classes.Count-1 do
          GradeTree.Append(Chr(VK_TAB) + Chr(VK_TAB) + Classes[k]);
      end;
    end;
    GradeTree.Append(UnknowClass);
    GradeTree.SaveToFile(GradeTreeFileName);

    Screen.Cursor := crDefault;
  finally
    FreeAndNil(Classes);
    FreeAndNil(Grades);
    FreeAndNil(Levels);
    FreeAndNil(GradeTree);
  end;
end;

procedure OpenClass(AClassName: string);
const
  SQL_Card = 'SELECT * FROM SSCard WHERE CurClass = ''%s'' ORDER BY XH';
begin
  DM.atFamily.Close;
  DM.atGrade.Close;
  DM.atZXFL.Close;
  DM.atGraduate.Close;

  DM.adSSCard.Close;
  DM.adSSCard.CommandText := format(SQL_Card, [AClassname]);
  DM.adSSCard.Open;

  DM.atFamily.Open;
  DM.atGrade.Open;
  DM.atZXFL.Open;
  DM.atGraduate.Open;
end;

procedure SetPhotoToField(FieldName: string; ADataSet: TCustomADODataSet);
var
  Picture: TPicture;
  OpenPictureDialog: TOpenPictureDialog;
begin
  if not ADataSet.Active then exit;

  OpenPictureDialog := TOpenPictureDialog.Create(nil);
  Picture := TPicture.Create;
  try
    if not OpenPictureDialog.Execute then exit;
    Picture.LoadFromFile(OpenPictureDialog.FileName);
    ADataSet.Edit;
    if Picture.Graphic is TBitmap then
      ADataSet.FieldByName(Fieldname).Assign(Picture.Graphic)
    else
      ADataSet.FieldByName(Fieldname).Clear;
    ADataSet.Post;
  finally
    FreeAndNil(Picture);
    FreeAndNil(OpenPictureDialog);
  end;
end;

procedure ClearPhotoFromFeid(FieldName: string; ADataSet: TCustomADODataSet);
begin
  if not ADataSet.Active then exit;

  ADataSet.Edit;
  ADataSet.FieldByName(Fieldname).Clear;
  ADataSet.Post;
end;

procedure TDM.BeforeDelete(DataSet: TDataSet);
begin
  if MessageBox(Application.Handle, PChar('真的要?jiǎng)h除這條記錄嗎?'), PChar('確認(rèn)'), 289) <> mrOK then
    Abort;
end;

procedure TDM.BeforeClose(DataSet: TDataSet);
begin
  if DataSet.Active
  and ((DataSet.State=dsEdit) or (DataSet.State=dsInsert)) then
      DataSet.Post;
end;

procedure TDM.DataModuleCreate(Sender: TObject);
var i: integer;
begin
  for i:=0 to DM.ComponentCount-1 do
    if DM.Components[i] is TDataSet then begin
      TDataSet(DM.Components[i]).BeforeDelete := BeforeDelete;
      TDataSet(DM.Components[i]).BeforeClose := BeforeClose;
    end;
end;

procedure TDM.adSSCardNewRecord(DataSet: TDataSet);
var i: integer;
begin
  for i:=Low(DefalutValue) to High(DefalutValue) do
    DataSet.FieldByName(DefalutValue[i].Name).AsString := DefalutValue[i].Value;

  DataSet.FieldByName('CurClass').AsString := CurClass;
end;

procedure ExportDataToExcel(AClassName: string; FileName: string);
const
  SQL_ExportCard = 'SELECT '+
                   'XH as	學(xué)號(hào),'+
                   'CreateDate as	建卡時(shí)間,'+
                   'Memo as 說(shuō)明,'+
                   'CurClass as 當(dāng)前班級(jí),'+
                   'Name as 姓名,'+
                   'Sex as 性別,'+
                   'People as 民族,'+
                   'Birthday as 出生年月,'+
                   'Native as 籍貫,'+
                   'MOT as 是否烈屬、華僑、臺(tái)胞子女,'+
                   'RegKind as 戶(hù)口性質(zhì),'+
                   'RegPS as 戶(hù)籍所在地派出所,'+
                   'Address as 家庭住址,'+
                   'AddPS as 所屬派出所,'+
                   'RAMR as 住址、戶(hù)籍變更記載'+
                   ' INTO [%s]'+
                   ' IN "%s" "Excel 8.0;"'+
                   ' FROM SSCard WHERE CurClass = ''%s'' ORDER BY XH';
begin
  Screen.Cursor := crHourGlass;
  DM.ADOConnection.Execute(format(SQL_ExportCard, ['學(xué)籍卡', FileName, AClassName]));
  Screen.Cursor := crDefault;
end;

procedure MoveClass(ADataSet: TCustomADODataSet; BookmarkList: TBookmarkListEh;
  NewClassName: string);
var
  i: Integer;
begin
  if BookmarkList.Count>0 then begin
    for i:=0 to BookmarkList.Count-1 do
    begin
      ADataSet.GotoBookmark(pointer(BookmarkList.Items[i]));
      ADataSet.Edit;
      ADataSet.FieldByName('CurClass').AsString := NewClassName;
      ADataSet.Post;
    end;
    OpenClass(CurClass);
  end;
end;

function GetClassName(ClassNode: TTreeNode): string;
begin
  Result := format(ClassFormat,
          [ClassNode.Parent.Parent.Text,
           ClassNode.Parent.Text,
           ClassNode.Text]);
end;

procedure TDM.adSSCardAfterPost(DataSet: TDataSet);

  function GetTableIDFromName(TableName: string): integer;
  var i: integer;
  begin
    for i:=0 to self.ComponentCount-1 do
      if (self.Components[i] is TADOTable) and (self.Components[i].Name = 'at'+TableName) then begin
        Result := i;
        exit;
      end;
    Result := -1;
  end;

  procedure SetDefaultRows(Table: TADOTable; Rows: Integer);
  begin
    while Table.RecordCount<Rows do begin
      Table.Append;
      Table.Post;
    end;
  end;

var
  i, TableID: integer;
begin
  for i:= Low(DefalutRows) to High(DefalutRows) do begin
    TableID := GetTableIDFromName(DefalutRows[i].Name);
    if TableID = -1 then continue;
    SetDefaultRows(TADOTable(Components[TableID]), StrToInt(DefalutRows[i].Value));
  end;
end;

end.

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区四区蜜桃| 麻豆国产精品视频| 欧美一区二区成人| 成人丝袜视频网| 亚洲一区av在线| 国产精品美女久久久久久久网站| 精品视频1区2区| 成人av在线资源| 久久成人精品无人区| 亚洲国产aⅴ天堂久久| 国产精品久久久久影院色老大| 7777精品伊人久久久大香线蕉| 成人少妇影院yyyy| 国内欧美视频一区二区| 亚洲成a人片综合在线| 亚洲三级免费观看| 久久九九久久九九| 日韩一级高清毛片| 欧美日韩国产精品自在自线| 99九九99九九九视频精品| 麻豆国产91在线播放| 亚洲成人三级小说| 亚洲精品成人少妇| 亚洲欧美另类在线| 中文字幕日韩精品一区| 国产拍揄自揄精品视频麻豆| 精品国产乱码久久久久久蜜臀| 欧美精品在线一区二区| 欧美专区日韩专区| 欧美亚日韩国产aⅴ精品中极品| 成人国产亚洲欧美成人综合网| 久久成人免费电影| 久久99久久久久| 激情综合五月婷婷| 久久99国产精品麻豆| 男人的天堂久久精品| 石原莉奈在线亚洲二区| 亚洲成年人影院| 亚洲va欧美va人人爽| 日韩在线一区二区三区| 亚洲成精国产精品女| 午夜精品视频一区| 轻轻草成人在线| 免费黄网站欧美| 国产一区二区三区不卡在线观看 | 日韩精彩视频在线观看| 亚洲宅男天堂在线观看无病毒| 亚洲三级在线免费观看| 一区二区高清视频在线观看| 亚洲精品国产一区二区精华液| 玉足女爽爽91| 亚洲高清视频中文字幕| 视频一区中文字幕| 狠狠色综合播放一区二区| 国模少妇一区二区三区| 国产99久久久国产精品免费看| www.欧美亚洲| 欧美亚洲尤物久久| 亚洲精品水蜜桃| 亚洲成人综合视频| 裸体在线国模精品偷拍| 国产精品亚洲视频| 99久久er热在这里只有精品66| 欧美中文一区二区三区| 欧美电影免费观看高清完整版在 | 男人的天堂久久精品| 国产精品77777| 色综合色综合色综合色综合色综合 | 中文文精品字幕一区二区| 中文字幕av在线一区二区三区| 自拍av一区二区三区| 亚洲不卡在线观看| 国产精品夜夜嗨| 一本一本大道香蕉久在线精品| 欧美肥妇bbw| 久久精品这里都是精品| 自拍偷拍欧美精品| 久久精品国产精品亚洲综合| 成人aaaa免费全部观看| 欧美日韩在线免费视频| 久久久久久久综合狠狠综合| 自拍偷自拍亚洲精品播放| 日韩国产精品久久| 成人性生交大片免费看在线播放| 欧美日韩综合在线免费观看| 久久新电视剧免费观看| 伊人开心综合网| 狠狠色狠狠色综合日日91app| 99re视频这里只有精品| 日韩欧美一二三| 一区二区三区四区高清精品免费观看 | 亚洲激情一二三区| 美腿丝袜在线亚洲一区| 97久久精品人人做人人爽 | 欧美精品色综合| 亚洲欧美日韩国产一区二区三区| 视频一区二区不卡| 99精品国产99久久久久久白柏| 欧美精品国产精品| 美日韩一级片在线观看| 国产高清视频一区| 欧美日韩免费一区二区三区| 久久久久国产精品厨房| 午夜影院久久久| 成人av在线一区二区三区| 日韩精品一区二区在线| 一区二区三区日本| 99国产精品久久久久| 久久天天做天天爱综合色| 午夜精品福利一区二区三区蜜桃| www.欧美精品一二区| 精品久久久久99| 免费人成精品欧美精品| 欧美日韩一级大片网址| 中文字幕亚洲电影| 成人三级伦理片| 欧美激情资源网| 久久国产婷婷国产香蕉| 欧美日韩一区二区在线观看| 亚洲欧美偷拍三级| 91免费观看国产| 国产精品进线69影院| 成人视屏免费看| 国产精品久久久久影院亚瑟| 高清久久久久久| 国产午夜精品一区二区三区四区 | 国产欧美日韩精品一区| 欧美亚洲国产一卡| 26uuuu精品一区二区| 日本成人在线网站| 欧美日韩一卡二卡| 亚洲福利一二三区| 欧美视频在线一区| 一区二区三区精密机械公司| 日本韩国欧美在线| 亚洲欧美国产高清| 欧美性受xxxx黑人xyx性爽| 一个色综合网站| 欧美色爱综合网| 日韩二区三区在线观看| 欧美一区二区三区婷婷月色 | 精品动漫一区二区三区在线观看| 日本亚洲欧美天堂免费| 欧美一区二区三级| 亚洲午夜久久久| 欧美在线三级电影| 亚洲一区二三区| 欧美精品亚洲一区二区在线播放| 性做久久久久久免费观看欧美| 欧美三级电影在线看| 日韩高清不卡在线| 精品国产乱子伦一区| 国产高清久久久久| 亚洲女厕所小便bbb| 欧美色综合网站| 麻豆极品一区二区三区| 国产日韩精品一区二区浪潮av| 国产99久久久国产精品| 亚洲免费观看在线观看| 精品视频一区二区不卡| 久久草av在线| 国产精品色眯眯| 精品视频一区二区不卡| 韩国一区二区三区| 国产精品久久网站| 欧美日韩视频在线一区二区| 麻豆91在线看| 国产欧美精品日韩区二区麻豆天美| 成人开心网精品视频| 一二三四区精品视频| 日韩一级精品视频在线观看| 国产69精品久久777的优势| 亚洲黄色片在线观看| 日韩欧美国产成人一区二区| 国产精品1024久久| 亚洲福利一区二区三区| www久久精品| 色婷婷久久一区二区三区麻豆| 日韩精品一二三| 久久久精品天堂| 欧美日韩电影一区| 国产99久久久久| 午夜在线电影亚洲一区| 久久久久久久综合狠狠综合| 欧美制服丝袜第一页| 国产一二精品视频| 亚洲第一会所有码转帖| 久久久影视传媒| 7777女厕盗摄久久久| 99精品偷自拍| 国产麻豆一精品一av一免费| 亚洲成精国产精品女| 国产精品免费丝袜| 制服丝袜亚洲色图| 日本韩国欧美一区| 国产精品18久久久久久久网站| 日欧美一区二区| 一区二区三区四区乱视频| 国产精品丝袜久久久久久app| 宅男噜噜噜66一区二区66|