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

📄 utxcj.pas

📁 图书管理系统,已经用于市场,此软件只供学习使用,不的用于商业行为
💻 PAS
📖 第 1 页 / 共 2 页
字号:
          btprior.Enabled :=false;    //上一个按钮不可用
          btnext.Enabled :=false;     //下一个按钮不可用
          btrefresh.Enabled :=false;  //重拍按钮不可用
          image1.Picture.LoadFromFile(extractfilepath(application.ExeName)+'picture\photo\no.bmp');
        end
    else   //有记录
        begin
            with dm.adoinfoquery do
               begin
                  editxm.Text := fieldbyname('xm').AsString ;
                  editxh.Text := fieldbyname('xh').AsString ;
                  editxy.Text := fieldbyname('yx').AsString ;
                  editzy.Text := fieldbyname('zymc').AsString ;
                  editbj.Text := fieldbyname('bhmc').AsString ;
               end;
            SetColomnWidth(dbxsxx);   //调用使dbxsxx控件的宽度适宜
            with dm.adocard do
               begin
                  close;
                  sql.Clear ;
                  sql.Add('select * from card where xh='''+trim(editxh.Text)+'''');
                  open;
               end;
            if dm.adocard.RecordCount=0 then //表示card(卡片)表 没有该记录
              begin
                btquery.Enabled :=false;  //如果有记录,则查询按钮不可用
                btprior.Enabled :=true;
                btnext.Enabled :=true;
                btrefresh.Enabled :=false;
                btphoto.Enabled :=true;
                image1.Picture.LoadFromFile(extractfilepath(application.ExeName)+'picture\photo\no.bmp');
              end
            else   //表示card表中有该记录
                begin
                  btquery.Enabled :=false;  //如果有记录,则查询按钮不可用
                  btprior.Enabled :=true;
                  btnext.Enabled :=true;
                  btrefresh.Enabled :=true;  //重拍按钮可用
                  btphoto.Enabled :=false;  //拍照按钮就不可用
                  readfromdatabase; //从数据库中读出图片数据显示在image1中
                end;
        label12.Caption :=inttostr(dm.adoinfoquery.RecordCount);//显示查询的记录数量
    end;
end;

procedure Ttxcjfrm.cbxyClick(Sender: TObject);//当点击学院下拉框时
begin
   if cbxy.Text <>'' then
    btquery.Enabled :=true;  //是查询按钮可用
    btprior.Enabled :=false;
    btnext.Enabled :=false;
    btrefresh.Enabled :=false;
    btphoto.Enabled :=false;
    dbxsxx.DataSource :=nil;  //使dbxsxx的数据源为空
end;

procedure Ttxcjfrm.cbzyClick(Sender: TObject); //点击专业下拉框时发生事件
begin
     if not btquery.Enabled then
    btquery.Enabled :=true;
    btprior.Enabled :=false;
    btnext.Enabled :=false;
    btrefresh.Enabled :=false;
    btphoto.Enabled :=false;
    dbxsxx.DataSource :=nil;
end;

procedure Ttxcjfrm.cbnjClick(Sender: TObject); //点击年纪下拉框时发生事件
begin
    if not btquery.Enabled then
    btquery.Enabled :=true;
    btprior.Enabled :=false;
    btnext.Enabled :=false;
    btrefresh.Enabled :=false;
    btphoto.Enabled :=false;
    dbxsxx.DataSource :=nil;
end;

procedure Ttxcjfrm.cbbjClick(Sender: TObject); //点击班级下拉框时发生
begin
    if not btquery.Enabled then
    btquery.Enabled :=true;
    btprior.Enabled :=false;
    btnext.Enabled :=false;
    btrefresh.Enabled :=false;
    btphoto.Enabled :=false;
    dbxsxx.DataSource :=nil;
end;

procedure Ttxcjfrm.Timer1Timer(Sender: TObject);
begin
   btexit.Font.Color:=random(350000);//使退出按钮很显眼,它不断地变化颜色
end;


procedure Ttxcjfrm.FormActivate(Sender: TObject);
begin
  //photo
  hWndC := capCreateCaptureWindowA('My Own Capture Window',
  WS_CHILD or WS_VISIBLE ,
  image2.Left,
  image2.Top,
  image2.Width,
  image2.Height,
  txcjfrm.Handle,
   0);
  if hWndC <> 0 then
    SendMessage(hWndC, WM_CAP_SET_CALLBACK_VIDEOSTREAM, 0, 0);
    SendMessage(hWndC, WM_CAP_SET_CALLBACK_ERROR, 0, 0);
    SendMessage(hWndC, WM_CAP_SET_CALLBACK_STATUSA, 0, 0);
    SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0);
    SendMessage(hWndC, WM_CAP_SET_SCALE, 1, 0);
    SendMessage(hWndC, WM_CAP_SET_PREVIEWRATE, 66, 0);
    SendMessage(hWndC, WM_CAP_SET_OVERLAY, 1, 0);
    SendMessage(hWndC, WM_CAP_SET_PREVIEW, 1, 0);
end;

procedure Ttxcjfrm.BtphotoClick(Sender: TObject);  //拍照按钮事件
begin
  if hWndC <> 0 then
     SendMessage(hWndC,WM_CAP_SAVEDIB,0,longint(pchar(extractfilepath(application.ExeName)+'picture\photo\photo.bmp')));
  image1.Picture.LoadFromFile(extractfilepath(application.ExeName)+'picture\photo\photo.bmp');
  ZoomImage(image1.Width ,image1.Height);//调用缩小图片尺寸过程
  image1.Picture.SaveToFile(extractfilepath(paramstr(0))+'picture\photo\photo.bmp');
  savetodatabase;  //调用保存图片到数据库的函数
  btphoto.Enabled :=false;   //拍了之后使拍照按钮不可用
  btrefresh.Enabled :=true; //拍了之后使重拍按钮可用
end;

procedure Ttxcjfrm.BtrefreshClick(Sender: TObject); //重拍按钮事件
begin
   btphoto.Enabled :=true;   //按下重拍按钮后,拍照按钮可用
   btrefresh.Enabled :=false;  //按下重拍按钮后,重拍按钮不可用
   image1.Picture.LoadFromFile(extractfilepath(application.ExeName)+'picture\photo\no.bmp');
   with dm.adocard do   //从card表中删除要重拍的记录
       begin
          close;
          sql.Clear ;
          sql.Add('delete from card where xh=''' +trim(editxh.Text)+'''');
          execsql;
       end;
end;

procedure Ttxcjfrm.BtnextClick(Sender: TObject);  //下一个按钮事件
begin
   dm.adoinfoquery.Next;
   if dm.adoinfoquery.Eof then
      dm.adoinfoquery.First;
   with dm.adoinfoquery do //显示学生数据信息到文本框中
      begin
        editxm.Text := fieldbyname('xm').AsString ;
        editxh.Text := fieldbyname('xh').AsString ;
        editxy.Text := fieldbyname('yx').AsString ;
        editzy.Text := fieldbyname('zymc').AsString ;
        editbj.Text := fieldbyname('bhmc').AsString ;
      end;
    with dm.adocard do
         begin
           close;
           sql.Clear ;
           sql.Add('select * from card where xh='''+trim(editxh.Text)+'''');
           open;
         end;
    if dm.adocard.RecordCount=0 then //表示card(卡片)表 没有该记录
        begin
           btquery.Enabled :=false;  //如果有记录,则查询按钮不可用
           btprior.Enabled :=true;
           btnext.Enabled :=true;
           btrefresh.Enabled :=false;
           btphoto.Enabled :=true;
           image1.Picture.LoadFromFile(extractfilepath(application.ExeName)+'picture\photo\no.bmp');
        end
    else   //表示card表中有该记录
       begin
          btquery.Enabled :=false;  //如果有记录,则查询按钮不可用
          btprior.Enabled :=true;
          btnext.Enabled :=true;
          btrefresh.Enabled :=true;  //重拍按钮可用
          btphoto.Enabled :=false;  //拍照按钮就不可用
          readfromdatabase; //从数据库中读出图片数据显示在image1中
       end;
end;

procedure Ttxcjfrm.BtpriorClick(Sender: TObject);
begin
   dm.adoinfoquery.Prior ;
   if dm.adoinfoquery.Bof then
      dm.adoinfoquery.Last;
   with dm.adoinfoquery do //显示学生数据信息到文本框中
      begin
        editxm.Text := fieldbyname('xm').AsString ;
        editxh.Text := fieldbyname('xh').AsString ;
        editxy.Text := fieldbyname('yx').AsString ;
        editzy.Text := fieldbyname('zymc').AsString ;
        editbj.Text := fieldbyname('bhmc').AsString ;
      end;
    with dm.adocard do
         begin
           close;
           sql.Clear ;
           sql.Add('select * from card where xh='''+trim(editxh.Text)+'''');
           open;
         end;
    if dm.adocard.RecordCount=0 then //表示card(卡片)表 没有该记录
        begin
           btquery.Enabled :=false;  //如果有记录,则查询按钮不可用
           btprior.Enabled :=true;
           btnext.Enabled :=true;
           btrefresh.Enabled :=false;
           btphoto.Enabled :=true;
           image1.Picture.LoadFromFile(extractfilepath(application.ExeName)+'picture\photo\no.bmp');
        end
    else   //表示card表中有该记录
       begin
          btquery.Enabled :=false;  //如果有记录,则查询按钮不可用
          btprior.Enabled :=true;
          btnext.Enabled :=true;
          btrefresh.Enabled :=true;  //重拍按钮可用
          btphoto.Enabled :=false;  //拍照按钮就不可用
          readfromdatabase; //从数据库中读出图片数据显示在image1中
       end;
end;

procedure Ttxcjfrm.dbxsxxCellClick(Column: TColumn);//单击dbxsxx控件单元格时,显示你单击单元格的内容信息到文本匡中
begin
     with dm.adoinfoquery do //显示学生数据信息到文本框中
      begin
        editxm.Text := fieldbyname('xm').AsString ;
        editxh.Text := fieldbyname('xh').AsString ;
        editxy.Text := fieldbyname('yx').AsString ;
        editzy.Text := fieldbyname('zymc').AsString ;
        editbj.Text := fieldbyname('bhmc').AsString ;
      end;
       with dm.adocard do
         begin
           close;
           sql.Clear ;
           sql.Add('select * from card where xh='''+trim(editxh.Text)+'''');
           open;
         end;
      if dm.adocard.RecordCount=0 then //表示card(卡片)表 没有该记录
        begin
           btquery.Enabled :=false;  //如果有记录,则查询按钮不可用
           btprior.Enabled :=true;
           btnext.Enabled :=true;
           btrefresh.Enabled :=false;
           btphoto.Enabled :=true;
           image1.Picture.LoadFromFile(extractfilepath(application.ExeName)+'picture\photo\no.bmp');
        end
     else   //表示card表中有该记录
        begin
          btquery.Enabled :=false;  //如果有记录,则查询按钮不可用
          btprior.Enabled :=true;
          btnext.Enabled :=true;
          btrefresh.Enabled :=true;  //重拍按钮可用
          btphoto.Enabled :=false;  //拍照按钮就不可用
          readfromdatabase; //从数据库中读出图片数据显示在image1中
        end;
end;

procedure Ttxcjfrm.dbxsxxDrawColumnCell(Sender: TObject;
const Rect: TRect;DataCol: Integer; Column: TColumn;
 State: TGridDrawState);//对dbgrid实现隔行着色
begin
     if (dbxsxx.DataSource.DataSet.RecNo mod 2)=0 then
        dbxsxx.Canvas.Brush.Color := clWhite
     else
        dbxsxx.Canvas.Brush.Color := clAqua;
     if((State=[gdSelected]) or (State=[gdSelected,gdFocused])) then
           if  not dbxsxx.SelectedRows.CurrentRowSelected then
               dbxsxx.Canvas.Brush.Color := clHighlight;
     dbxsxx.Canvas.Pen.Mode := pmMask;
     dbxsxx.DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;

procedure Ttxcjfrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   mainfrm.StatusBar1.Panels.Items[1].Text:='';
end;

end.

⌨️ 快捷键说明

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