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

📄 modidvdfrm.pas

📁 该系统实现了对DVD租赁过程的管理,功能完善,方便实用.
💻 PAS
字号:
unit ModiDVDFrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, DB, ADODB, ExtCtrls, ComCtrls;

type
  TFrmModiDVD = class(TForm)
    ADOQuery1: TADOQuery;
    bbtnQuit: TBitBtn;
    bbtnSave: TBitBtn;
    GroupBox1: TGroupBox;
    Panel1: TPanel;
    Image1: TImage;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    GroupBox2: TGroupBox;
    mmIntro: TMemo;
    Label12: TLabel;
    edCD_ID: TEdit;
    edCD_NameCn: TEdit;
    edCD_NameEn: TEdit;
    edPrice: TEdit;
    edNum_CD: TEdit;
    edShow_Time: TEdit;
    dtpPublish_Date: TDateTimePicker;
    edDirector: TEdit;
    edRole_Leading: TEdit;
    edPublisher: TEdit;
    edNum_Buy: TEdit;
    cbCD_Key: TComboBox;
    procedure FormCreate(Sender: TObject);
    procedure bbtnQuitClick(Sender: TObject);
    procedure ClearEdit(Sender: TObject);
    procedure edCD_IDExit(Sender: TObject);
    procedure edNum_CDKeyPress(Sender: TObject; var Key: Char);
    procedure edShow_TimeKeyPress(Sender: TObject; var Key: Char);
    procedure edNum_BuyKeyPress(Sender: TObject; var Key: Char);
    procedure edPriceKeyPress(Sender: TObject; var Key: Char);
    procedure bbtnSaveClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmModiDVD: TFrmModiDVD;

implementation

uses DVDInfoFrm, HuiyuanInfoFrm;

{$R *.dfm}

procedure TFrmModiDVD.ClearEdit(Sender: TObject);
begin
  edCD_ID.Clear;
  edCD_NameCn.Clear;
  edCD_NameEn.Clear;
  edPrice.Clear;
  edNum_CD.Clear;
  edShow_Time.Clear;
  edDirector.Clear;
  edRole_Leading.Clear;
  edPublisher.Clear;
  dtpPublish_Date.Date := Date();
  edNum_Buy.Text :='无需填写';
  cbCD_Key.Text := '--选择主题词--';
  Panel1.Caption :='图片尺寸为 148×214';
  mmIntro.Clear;
end;

procedure TFrmModiDVD.FormCreate(Sender: TObject);
begin
  Caption := FrmDVDInfo.TitleText;
  Panel1.Caption :='图片尺寸为 148×214';
  edNum_Buy.Text :='无需填写';
  cbCD_Key.Text := '--选择主题词--';
  dtpPublish_Date.Date := Date();
  if FrmDVDInfo.IsModify then
  begin
    edCD_ID.Text := FrmDVDInfo.ADOQuery1.FieldByName('CD_ID').AsString;
    edCD_NameCn.Text := FrmDVDInfo.ADOQuery1.FieldByName('CD_NameCn').AsString;
    edCD_NameEn.Text := FrmDVDInfo.ADOQuery1.FieldByName('CD_NameEn').AsString;
    edPrice.Text := FrmDVDInfo.ADOQuery1.FieldByName('Price').AsString;
    edNum_CD.Text := FrmDVDInfo.ADOQuery1.FieldByName('Num_CD').AsString;
    edShow_Time.Text := FrmDVDInfo.ADOQuery1.FieldByName('Show_Time').AsString;
    edDirector.Text := FrmDVDInfo.ADOQuery1.FieldByName('Director').AsString;
    edRole_Leading.Text := FrmDVDInfo.ADOQuery1.FieldByName('Role_Leading').AsString;
    edPublisher.Text := FrmDVDInfo.ADOQuery1.FieldByName('Publisher').AsString;
    dtpPublish_Date.Date := FrmDVDInfo.ADOQuery1.FieldByName('Publish_Date').AsDateTime;
    edNum_Buy.Text := FrmDVDInfo.ADOQuery1.FieldByName('Num_Buy').AsString;
    cbCD_Key.Text := FrmDVDInfo.ADOQuery1.FieldByName('CD_Key').AsString;
    try
      Image1.Picture.LoadFromFile('DBS\Photo\'+FrmDVDInfo.ADOQuery1.FieldByName('Photo').AsString);
    except
      Panel1.Caption := '未找到相关图片';
    end;
    mmIntro.Text := FrmDVDInfo.ADOQuery1.FieldByName('Intro').AsString;
    edCD_ID.ReadOnly := True;
    edCD_ID.Color := rgb(200,200,200);
  end;
end;

procedure TFrmModiDVD.bbtnQuitClick(Sender: TObject);
begin
  Close;
end;

procedure TFrmModiDVD.edCD_IDExit(Sender: TObject);
begin
  if (Length(Trim(edCD_ID.Text)) <> 10) and (not bbtnQuit.Focused)  then
  begin
    Application.MessageBox('光盘号输入错误!长度必须十位','错误',MB_ICONWARNING+MB_OK);
    edCD_ID.SetFocus;
    edCD_ID.SelectAll;
  end;
end;

procedure TFrmModiDVD.edNum_CDKeyPress(Sender: TObject; var Key: Char); //光盘数输入数字的合法性控制
begin
  if (key <>#8) and (key<'0') or (key>'9') then
    Key := Chr(0);
end;

procedure TFrmModiDVD.edShow_TimeKeyPress(Sender: TObject; var Key: Char); //片长输入数字的合法性控制
begin
  if (key <>#8) and (key<'0') or (key>'9') then
    Key := Chr(0);
end;

procedure TFrmModiDVD.edNum_BuyKeyPress(Sender: TObject; var Key: Char); //输入数字的合法性控制
begin
  //if (key <>#8) and (key<'0') or (key>'9') then
    //Key := Chr(0);
end;

procedure TFrmModiDVD.edPriceKeyPress(Sender: TObject; var Key: Char);  //输入价格的合法性控制
var
  i, keynum : Integer;
  dotkey : String;
begin
  keynum := 0;
  for i:=1 to Length(edPrice.Text) do
  begin
    dotkey := Copy(edPrice.Text,i,1);
    if dotkey ='.' then
      keynum := keynum + 1;
  end;
  if ((key<'0') or (key>'9')) and (Key<>#8) and (Key<>'.') or ((keynum=1) and (key='.')) then
    key := chr(0);
end;

procedure TFrmModiDVD.bbtnSaveClick(Sender: TObject);
begin
  if Trim(edCD_NameCn.Text)='' then
  begin
    Application.MessageBox('中文片名不能为空!','错误',MB_ICONWARNING+MB_OK);
    edCD_NameCn.SetFocus;
    edCD_NameCn.SelectAll;
    Exit;
  end;
  if Trim(edNum_CD.Text)='' then
  begin
    Application.MessageBox('光盘数不能为空!','错误',MB_ICONWARNING+MB_OK);
    edNum_CD.SetFocus;
    edNum_CD.SelectAll;
    Exit;
  end;
  //if Trim(edNum_Buy.Text)='' then
  //begin
  //  Application.MessageBox('引进数量不能为空!','错误',MB_ICONWARNING+MB_OK);
  //  edNum_Buy.SetFocus;
  //  edNum_Buy.SelectAll;
  //  Exit;
  //end;
  if cbCD_Key.Text = '--选择主题词--' then
  begin
    Application.MessageBox('请选择主题词!','错误',MB_ICONWARNING+MB_OK);
    cbCD_Key.SetFocus;
    cbCD_Key.SelectAll;
    Exit;
  end;
  if FrmDVDInfo.IsModify then
  begin     //修改记录
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Text := 'Select * From CD_Info Where CD_ID = '''+edCD_ID.Text+'''';
    ADOQuery1.Open;
    ADOQuery1.Edit;
    ADOQuery1.FieldByName('CD_NameCn').AsString := edCD_NameCn.Text;
    ADOQuery1.FieldByName('CD_NameEn').AsString := edCD_NameEn.Text;
    ADOQuery1.FieldByName('Price').AsFloat := StrToFloat(edPrice.Text);
    ADOQuery1.FieldByName('Num_CD').AsInteger := StrToInt(edNum_CD.Text);
    ADOQuery1.FieldByName('Show_Time').AsInteger := StrToInt(edShow_Time.Text);
    ADOQuery1.FieldByName('Director').AsString := edDirector.Text;
    ADOQuery1.FieldByName('Role_Leading').AsString := edRole_Leading.Text;
    ADOQuery1.FieldByName('Publisher').AsString := edPublisher.Text;
    ADOQuery1.FieldByName('Publish_Date').AsDateTime := dtpPublish_Date.Date;
    //ADOQuery1.FieldByName('Num_Buy').AsInteger := StrToInt(edNum_Buy.Text);
    ADOQuery1.FieldByName('CD_Key').AsString := cbCD_Key.Text;
    //ADOQuery1.FieldByName('Photo').AsString := edCD_ID.Text+'.bmp';
    ADOQuery1.FieldByName('Intro').AsString := mmIntro.Text;
    ADOQuery1.Post;
    Application.MessageBox('记录修改成功!', '成功',MB_OK+MB_ICONINFORMATION);
    FrmModiDVD.Close;
    FrmDVDInfo.ShowRecord(Sender);
  end
  else
  begin     //判断光盘号是否重复
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Text := 'Select * From CD_Info Where CD_ID = '''+edCD_ID.Text+'''';
    ADOQuery1.Open;
    if ADOQuery1.RecordCount = 0 then
    begin   //新增记录
      ADOQuery1.Append;
      ADOQuery1.FieldByName('CD_ID').AsString := edCD_ID.Text;
      ADOQuery1.FieldByName('CD_NameCn').AsString := edCD_NameCn.Text;
      ADOQuery1.FieldByName('CD_NameEn').AsString := edCD_NameEn.Text;
      ADOQuery1.FieldByName('Price').AsFloat := StrToFloat(edPrice.Text);
      ADOQuery1.FieldByName('Num_CD').AsInteger := StrToInt(edNum_CD.Text);
      ADOQuery1.FieldByName('Show_Time').AsInteger := StrToInt(edShow_Time.Text);
      ADOQuery1.FieldByName('Director').AsString := edDirector.Text;
      ADOQuery1.FieldByName('Role_Leading').AsString := edRole_Leading.Text;
      ADOQuery1.FieldByName('Publisher').AsString := edPublisher.Text;
      ADOQuery1.FieldByName('Publish_Date').AsDateTime := dtpPublish_Date.Date;
      //ADOQuery1.FieldByName('Num_Buy').AsInteger := StrToInt(edNum_Buy.Text);
      ADOQuery1.FieldByName('Times_Borrow').AsInteger := 0;
      ADOQuery1.FieldByName('CD_Key').AsString := cbCD_Key.Text;
      ADOQuery1.FieldByName('Photo').AsString := edCD_ID.Text+'.bmp';
      ADOQuery1.FieldByName('Intro').AsString := mmIntro.Text;
      ADOQuery1.Post;
      Application.MessageBox(PChar('记录新增成功!'+chr(10)+chr(13)+'请及时给予光盘店内编号'), '成功',MB_OK+MB_ICONINFORMATION);
      ClearEdit(Sender);
      FrmDVDInfo.ShowRecord(Sender);
    end
    else
    begin
      Application.MessageBox('光盘号重复,请核查!','出错',MB_OK+MB_ICONWARNING);
      edCD_ID.SetFocus;
      edCD_ID.SelectAll;
    end;
  end;
end;

end.

⌨️ 快捷键说明

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