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

📄 filenew.pas

📁 单片机典型系统设计实例精讲 第4章 PC机与数控机床通信系统
💻 PAS
字号:
{
=====================================================================
* 软件名称:PC与数控机床通信程序
* 单元名称:新建文件
* 单元作者:彭为 (pwzyp@fjsm.net)
* 备    注:用到了线程进行发送
* 开发平台:PWin2000 SERVER + Delphi 7.0
* 兼容测试:PWin9X/2000/XP + Delphi 6/7
* 采用控件:Raize 3.12 ,SPCOMM
* 修改记录:V1.0  by pengwei
=====================================================================
}
unit FileNew;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, RzTabs, RzButton, StdCtrls, RzLabel, RzBorder,
  Grids, RzPrgres, ScktComp, DB, ADODB;

type
  TFileNewFrm = class(TForm)
    Panel1: TPanel;
    pgcMain: TRzPageControl;
    TabSheet1: TRzTabSheet;
    TabSheet2: TRzTabSheet;
    Image1: TImage;
    Panel2: TPanel;
    btnFinish: TRzBitBtn;
    btnNext: TRzBitBtn;
    btnPrior: TRzBitBtn;
    RzLabel1: TRzLabel;
    RzLabel2: TRzLabel;
    RzLabel3: TRzLabel;
    Image2: TImage;
    RzBorder1: TRzBorder;
    RzLabel4: TRzLabel;
    RzLabel5: TRzLabel;
    RzLabel6: TRzLabel;
    RzLabel8: TRzLabel;
    RzLabel13: TRzLabel;
    RzLabel14: TRzLabel;
    edtUser: TEdit;
    edtMemo: TEdit;
    cboChannel: TComboBox;
    RzBorder2: TRzBorder;
    Query: TADOQuery;
    RzLabel7: TRzLabel;
    RzLabel9: TRzLabel;
    edtFile: TEdit;
    OpenDialog1: TOpenDialog;
    RzBitBtn1: TRzBitBtn;
    TabSheet3: TRzTabSheet;
    Image3: TImage;
    RzLabel10: TRzLabel;
    RzLabel11: TRzLabel;
    RzBorder3: TRzBorder;
    RzLabel12: TRzLabel;
    procedure FormCreate(Sender: TObject);
    procedure btnNextClick(Sender: TObject);
    procedure btnPriorClick(Sender: TObject);
    procedure btnFinishClick(Sender: TObject);
    procedure RzBitBtn1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    sMemo, sUser, sFileName, sPath: string;
    Channel, iLength: Integer;
    { Private declarations }
  public
    procedure showForm;
    { Public declarations }
  end;

var
  FileNewFrm: TFileNewFrm;

implementation

uses Include, Mainfrm, ConfigFrm;

{$R *.dfm}

procedure TFileNewFrm.FormCreate(Sender: TObject);
begin
  Caption := sFileNewCaption;
end;

procedure TFileNewFrm.btnNextClick(Sender: TObject);
var
  i: Integer;
  sList: TStrings;
  BookMarker: Pointer;
begin
  case pgcmain.activepageindex of
    0:
      begin
        cboChannel.Clear;
        cboChannel.Items := Config.ChannelList;
        cboChannel.ItemIndex := 0;
        edtUser.Clear;
        edtMemo.Clear;
        edtFile.Clear;
      end;
    1:
      begin
        sUser := edtUser.Text;
        sMemo := edtMemo.Text;
        Channel := cboChannel.ItemIndex + 1;
        sPath := Trim(edtFile.Text);
        if sPath = '' then
        begin
          MessageBox(Self.Handle, PChar(sNotFileName), PChar(sTitleInfo), MB_OK
            + mb_iconInformation);
          Exit;
        end;

        sList := TStringList.Create;
        try
          sList.LoadFromFile(sPath);
          iLength := Length(sList.Text);
          Application.ProcessMessages;
          sList.SaveToFile(sFilename);
        finally
          sList.Free;
        end;

        with Query do
        begin
          Close;
          SQL.Clear;
          SQL.Add('Insert into Data(Author,Filename,Timestr,Filesize,channel,smemo)values('''
            + sUser + ''',''' + sFileName + ''',''' + DateTimeTostr(now) +
            ''','''
            + IntToStr(Trunc(iLength / 1024) + 1) + 'KB'',' + IntToStr(Channel)
            +
            ',''' +
            sMemo +
            ''')');
          ExecSQL;
          Close;
        end;
        with Main do
        begin
          BookMarker := Table.GetBookmark;
          Table.Close;
          Table.Open;
          Table.GotoBookmark(bookmarker);
        end;
        btnFinish.Caption := '完成';
      end;
  else
    ;
  end;

  pgcMain.ActivePageIndex := pgcMain.ActivePageIndex + 1;
  btnPrior.Enabled := True;
  if pgcMain.ActivePageIndex = pgcMain.PageCount - 1 then
    btnNext.Enabled := False;
end;

procedure TFileNewFrm.btnPriorClick(Sender: TObject);
begin
  pgcMain.ActivePageIndex := pgcMain.ActivePageIndex - 1;
  btnNext.Enabled := True;
  if pgcMain.ActivePageIndex = 0 then
    btnPrior.Enabled := False;
end;

procedure TFileNewFrm.showForm;
begin
  if FileNewFrm = nil then
    FileNewFrm := TFileNewFrm.Create(self);
  FileNewFrm.ShowModal;
end;

procedure TFileNewFrm.btnFinishClick(Sender: TObject);
begin
  Close;
end;

procedure TFileNewFrm.RzBitBtn1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
  begin
    edtFile.Text := OpenDialog1.FileName;
  end;
end;

procedure TFileNewFrm.FormShow(Sender: TObject);
begin

  pgcMain.ActivePageIndex := 0;
  pgcMain.ActivePageIndex := 0;
  btnPrior.Enabled := False;
  btnNext.Enabled := True;
  btnFinish.Caption := '取消';

  sFileName := Main.getNewfilename;
end;

end.

⌨️ 快捷键说明

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