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

📄 inputinfo.pas

📁 提供产品的售后管理,客户资料管理,维修服务管理等功能
💻 PAS
字号:
unit InputInfo;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, TFlatGroupBoxUnit, ExtCtrls, TFlatPanelUnit,
  TFlatButtonUnit, TFlatTitlebarUnit, TFlatMemoUnit, TFlatEditUnit,
  TFlatComboBoxUnit, ComCtrls, DB, ADODB;

type
  TFrmInputInfo = class(TForm)
    InputInfoTitle: TFlatTitlebar;
    BtnExit: TFlatButton;
    Panel1: TFlatPanel;
    GBClientInfo: TFlatGroupBox;
    GBComputer: TFlatGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label16: TLabel;
    GBMemo: TFlatGroupBox;
    Memo: TFlatMemo;
    BtnPrint: TFlatButton;
    BtnPreview: TFlatButton;
    BtnAdd: TFlatButton;
    BtnExit1: TFlatButton;
    ECPU: TFlatEdit;
    EMouse: TFlatEdit;
    EMainBoard: TFlatEdit;
    EMemory: TFlatEdit;
    ESound: TFlatEdit;
    EHD: TFlatEdit;
    EDisPlayCard: TFlatEdit;
    ECDROM: TFlatEdit;
    EFloppy: TFlatEdit;
    EKeyBoard: TFlatEdit;
    EOther: TFlatEdit;
    EDisPlay: TFlatEdit;
    EBox: TFlatEdit;
    EPower: TFlatEdit;
    ESoundBox: TFlatEdit;
    EPrint: TFlatEdit;
    ENetWork: TFlatEdit;
    EModem: TFlatEdit;
    EUser: TFlatEdit;
    EMobile: TFlatEdit;
    EPhone: TFlatEdit;
    EFax: TFlatEdit;
    EAddr: TFlatEdit;
    EAmount: TFlatEdit;
    DateBuy: TDateTimePicker;
    DateBao: TDateTimePicker;
    CmbQuality: TFlatComboBox;
    ADOConnection1: TADOConnection;
    ADOQuery1: TADOQuery;
    BtnModify: TFlatButton;
    procedure BtnExitClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure DateBuyChange(Sender: TObject);
    procedure BtnAddClick(Sender: TObject);
    procedure EAmountKeyPress(Sender: TObject; var Key: Char);
    procedure EAmountChange(Sender: TObject);
    procedure BtnPreviewClick(Sender: TObject);
    procedure BtnPrintClick(Sender: TObject);
  private
    { Private declarations }

    Procedure WriteInfo;
    procedure DBConnection;
    Procedure WriteToReport;    //写数据到报表
  public
    { Public declarations }
    Procedure Clear;
  end;

var
  FrmInputInfo: TFrmInputInfo;

implementation

uses main,global, Reg, report;

{$R *.dfm}

procedure TFrmInputInfo.BtnExitClick(Sender: TObject);
begin
close;
end;

procedure TFrmInputInfo.Clear;
begin
// 电脑配置
Ecpu.Clear; Emouse.Clear; EMainBoard.Clear; EDisPlay.Clear;
EMemory.Clear; EBox.Clear;  EHD.Clear;  EPower.Clear;
ESound.Clear;  ESoundBox.Clear;  EDisplayCard.Clear; EPrint.Clear;
ECDROM.Clear;  ENetwork.Clear;  EFloppy.Clear;  EModem.Clear;
EKeyBoard.Clear; EOther.Clear;  Memo.Clear;

// 客户信息
EUser.Clear;  Emobile.Clear;  EPhone.Clear; EFax.Clear; EAddr.Clear;
EAmount.Text:='1'; CmbQuality.ItemIndex :=0;
end;

procedure TFrmInputInfo.FormCreate(Sender: TObject);
begin
  Clear;
  DateBuy.Date :=now;
  DateBao.Date :=now+365;
end;

procedure TFrmInputInfo.DateBuyChange(Sender: TObject);
begin
  DateBao.Date :=DateBuy.Date+365;
end;

procedure TFrmInputInfo.WriteInfo;
begin
DBConnection;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
if BtnAdd.Visible=true then
  ADOQuery1.SQL.Text :='select * from Userinfo';
if BtnModify.Visible =true then
  ADOQuery1.SQL.Text :='select * from Userinfo where id='+FrmMain.ListView1.Selected.Caption+'';
ADOQuery1.Open ;
if BtnAdd.Visible=true then ADOQuery1.Append ;
if BtnModify.Visible =true then ADOQuery1.Edit;
with ADOQuery1 do
  begin
  // 客户信息部分
  FieldByName('Name').AsString :=EUser.Text ;
  if  trim(EMobile.Text)<>'' then
    FieldByName('mobile').AsString :=EMobile.Text
    else
      FieldByName('mobile').AsString :='无';
  if trim(EPhone.Text)<>'' then
    FieldByName('phone').AsString :=EPhone.Text
    else
      FieldByName('phone').AsString :='无';
  if trim(EFax.Text )<>'' then
    FieldByName('fax').AsString :=EFax.Text
    else
      FieldByName('fax').AsString :='无';
  FieldByName('addr').AsString :=Eaddr.Text ;
  FieldByName('BuyAmount').AsString :=EAmount.Text ;
  FieldByName('TB').AsString :=IntToStr(CmbQuality.ItemIndex) ;   // 0 为一般客户。1为特殊客户。
  FieldByName('BuyDate').AsDateTime :=StrToDate(DatetoStr(DateBuy.Date));
  FieldByName('OverRun').AsDateTime :=StrToDate(DatetoStr(Datebao.Date)) ;
  // 电脑配置部分
  if trim(ECPU.Text)<>'' then
    FieldByName('CPU').AsString :=ECPU.Text
    else
      FieldByName('CPU').AsString :='无';
  if trim(EMainBoard.Text)<>'' then
    FieldByName('MainBoard').AsString :=EMainBoard.Text
    else
      FieldByName('MainBoard').AsString :='无';
  if trim(EMemory.Text)<>'' then
    FieldByName('Memory').AsString :=EMemory.Text
    else
      FieldByName('Memory').AsString :='无';
  if trim(EHD.Text)<>'' then
    FieldByName('HD').AsString :=EHD.Text
    else
      FieldByName('HD').AsString :='无';
  if trim(ESound.Text)<>'' then
    FieldByName('Sound').AsString :=ESound.Text
    else
    FieldByName('Sound').AsString :='无';
  if trim(EDisplayCard.Text)<>'' then
    FieldByName('DisplayCard').AsString :=EDisplayCard.Text
    else
      FieldByName('DisplayCard').AsString :='无';
  if trim(ECDROM.Text)<>'' then
    FieldByName('CDROM').AsString :=ECDROM.Text
    else
      FieldByName('CDROM').AsString :='无';
  if trim(EFloppy.Text)<>'' then
    FieldByName('Floppy').AsString :=EFloppy.Text
    else
      FieldByName('Floppy').AsString :='无';
  if trim(EKeyBoard.Text)<>'' then
    FieldByName('KeyBoard').AsString :=EKeyBoard.Text
    else
      FieldByName('KeyBoard').AsString :='无';
  if trim(EMouse.Text)<>'' then
    FieldByName('Mouse').AsString :=EMouse.Text
    else
      FieldByName('Mouse').AsString :='无';
  if trim(EDisplay.Text)<>'' then
    FieldByName('Display').AsString :=EDisplay.Text
    else
      FieldByName('Display').AsString :='无';
  if trim(EBox.Text )<>'' then
    FieldByName('Box').AsString :=EBox.Text
    else
      FieldByName('Box').AsString :='无';
  if trim(EPower.Text)<>'' then
    FieldByName('Power').AsString :=EPower.Text
    else
      FieldByName('Power').AsString :='无';
  if trim(ESoundBox.Text)<>'' then
    FieldByName('SoundBox').AsString :=ESoundBox.Text
    else
      FieldByName('SoundBox').AsString :='无';
  if trim(EPrint.Text)<>'' then
    FieldByName('Print').AsString :=EPrint.Text
    else
      FieldByName('Print').AsString :='无';
  if trim(ENetWork.Text)<>'' then
    FieldByName('NetWork').AsString :=ENetWork.Text
    else
      FieldByName('NetWork').AsString :='无';
  if trim(EModem.Text)<>'' then
    FieldByName('Modem').AsString :=EModem.Text
    else
      FieldByName('Modem').AsString :='无';
  if trim(EOther.Text)<>'' then
    FieldByName('Other').AsString :=EOther.Text
    else
      FieldByName('Other').AsString :='无';
  if trim(Memo.Text)<>'' then
    FieldByName('Memo').AsString :=Memo.Text
    else
      FieldByName('Memo').AsString :='无';
  end;
ADOQuery1.Post;
ADOQuery1.Close;

end;

procedure TFrmInputInfo.DBConnection;
var
  DataPath:string;
begin
  if ADOConnection1.Connected then ADOConnection1.Close;
  //防止被重复打开而导到数据连接错误
  DataPath:=ExtractFilePath(Application.ExeName)+'Data\mgr.db';
  {登录加密的数据库}
  ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+DataPath+';
  ADOConnection1.Open();
end;

procedure TFrmInputInfo.BtnAddClick(Sender: TObject);
begin

if trim(EUser.Text)='' then
  begin
    Euser.SetFocus ;
    exit;
  end;
if trim(Eaddr.Text)='' then
  begin
    EAddr.SetFocus;
    Exit;
  end;
if checkreg =0 then FrmRegistry.ShowModal;
WriteInfo;
Clear;
end;

procedure TFrmInputInfo.EAmountKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9',char(13),char(8)]) then  key := #0; 

end;

procedure TFrmInputInfo.EAmountChange(Sender: TObject);
begin
if (trim(EAmount.Text)='') or (EAmount.Text ='0') then EAmount.Text :='1';
end;

procedure TFrmInputInfo.BtnPreviewClick(Sender: TObject);
begin
  WriteToReport;
  QuickReport1.PreviewModal;
end;

procedure TFrmInputInfo.WriteToReport;
begin
DBConnection;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text :='select * from Inc';
ADOQuery1.Open ;
QuickReport1.Refresh;
  if Checkreg=0 then
    QuickReport1.LblIncName.Caption  :='《电脑公司客户管理系统》--本软件尚未注册,请注册!'
    else QuickReport1.LblIncName.Caption:=TempInc;
  With QuickReport1 do
    begin
      lblPrintDate.Caption :=DateToStr(Now);
      LblName.Caption :=EUser.Text;
      LblPhone.Caption :=EPhone.Text;
      LblFax.Caption :=EFax.Text ;
      LblMobile.Caption :=EMobile.Text;
      LblBuyAmount.Caption :=EAmount.Text;
      LblAddr.Caption :=EAddr.Text;
      LblBuydate.Caption :=DateToStr(DateBuy.Date);
      LblOverRun.Caption :=DateToStr(DateBao.Date);
      LblCPU.Caption :=ECpu.Text;
      LblMainBoard.Caption :=EMainBoard.Text;
      LblMemory.Caption :=EMemory.Text;
      LblHD.Caption :=EHD.Text;
      LblSound.Caption :=ESound.Text;
      LblDisplayCard.Caption :=EDisplayCard.Text;
      LblCdRom.Caption :=ECDROM.Text;
      LblFloppy.Caption :=EFloppy.Text;
      LblKeyBoard.Caption :=EKeyBoard.Text;
      LblOther.Caption :=EOther.Text;
      LblMouse.Caption :=EMouse.Text;
      LblDisplay.Caption :=EDisplay.Text;
      LblBox.Caption :=EBox.Text;
      LblPower.Caption :=EPower.Text;
      LblSoundBox.Caption :=ESoundBox.Text ;
      LblPrint.Caption :=EPrint.Text;
      LblNetWork.Caption :=ENetWork.Text;
      LblModem.Caption :=EModem.Text;
      QMemo.Lines.Clear;
      QMemo.Lines.Add(Memo.Text); 
      LblCn1.Caption :=ADOQuery1.FieldValues['cn1'];
      LblCn2.Caption :=ADOQuery1.FieldValues['cn2'];
      LblCn3.Caption :=ADOQuery1.FieldValues['cn3'];
      LblIncAddr.Caption :=ADOQuery1.FieldValues ['Addr'];
      LblIncMail.Caption :=ADOQuery1.FieldValues ['Mail'];
      LblIncWeb.Caption :=ADOQuery1.FieldValues['Web'];
      LblIncPhone.Caption :=ADOQuery1.FieldValues['Phone'];
      LblIncFax.Caption :=ADOQuery1.FieldValues ['Fax'];
      LblIncPhone1.Caption :=ADOQuery1.FieldValues['Phone1']
    end;
ADOQuery1.Close;
ADOConnection1.Close;
end;

procedure TFrmInputInfo.BtnPrintClick(Sender: TObject);
begin
WriteToReport;
QuickReport1.Print;
end;

end.

⌨️ 快捷键说明

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