📄 documentsf.pas
字号:
{ *********************************************************************** }
{ Unit Name: DocumentsF
{ Purpose: DocumentsF
{ Author: Cyclone
{ History:
{ 2004-6-14 23:44:44 Create the function
{ *********************************************************************** }
unit DocumentsF;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DialogBaseF, Buttons, CycSpeedButton, CycPanel, ExtCtrls,
CycLabeledLookupDBEdit, Grids, DBGrids, StdCtrls, DBCtrls, BaseF,
CycLabeledDBMemo, Mask, CycLabeledDBEdit, CycLabeledEdit, CycLabel;
type
TfmDocuments = class(TfmDialogBase)
edtDocNo: TCycLabeledDBEdit;
edtDocName: TCycLabeledDBEdit;
edtRemarks: TCycLabeledDBMemo;
edtVersion: TCycLabeledDBEdit;
grdAttachmentDetails: TDBGrid;
edtFileName: TCycLabeledLookupDBEdit;
OpenDialog: TOpenDialog;
lblSelectedFileName: TLabel;
edtDocType: TCycLabeledEdit;
CycLabel1: TCycLabel;
procedure FormActivate(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
procedure edtFileNameSubButtonClick(Sender: TObject);
procedure edtFileNameExit(Sender: TObject);
procedure btnOKClick(Sender: TObject);
private
{ Private declarations }
OriginalFile: String;
public
{ Public declarations }
CategoryCode,
CategoryName,
FileName: String;
end;
var
fmDocuments: TfmDocuments;
implementation
uses MainD, PubFuns, Math;
{$R *.dfm}
procedure TfmDocuments.FormActivate(Sender: TObject);
begin
inherited;
lblSelectedFileName.Caption := '';
edtDocType.Text := CategoryName;
if OperType = otInsert then
begin
lblSelectedFileName.Caption := FileName;
with dmMain.dsDocuments do
begin
Append;
FieldByName('DocType').AsString := CategoryCode;
if Trim(FileName) <> '' then
begin
FieldByName('DocNo').AsString := ChangeFileExt(ExtractFileName(FileName), '');
FieldByName('DocName').AsString := ChangeFileExt(ExtractFileName(FileName), '');
FieldByName('FileName').AsString := ChangeFileExt(ExtractFileName(FileName), '.CYC');
FieldByName('FileSize').AsFloat := GetFileSize(FileName);
FieldByName('Version').AsString := '1.0.0';
FieldByName('OriginalExtName').AsString := dmMain.GetFileExtensionName(FileName);
FieldByName('Remarks').AsString := 'FROM: ' + FileName;
end;
end;
edtDocNo.ReadOnly := False;
edtDocNo.SetFocus;
end
else
begin
lblSelectedFileName.Caption := pRootPath + edtFileName.Text;
OriginalFile := lblSelectedFileName.Caption;
dmMain.dsDocuments.Edit;
edtDocNo.ReadOnly := True;
edtDocName.SetFocus;
end;
end;
procedure TfmDocuments.btnCancelClick(Sender: TObject);
begin
if IsDataSetInEdit(dmMain.dsDocuments) then
begin
dmMain.dsDocuments.Cancel;
end;
dmMain.dsDocuments.CancelBatch;
inherited;
end;
procedure TfmDocuments.edtFileNameSubButtonClick(Sender: TObject);
var
sFileName: String;
begin
if OpenDialog.Execute then
begin
sFileName := OpenDialog.FileName;
lblSelectedFileName.Caption := sFileName;
with dmMain.dsDocuments do
begin
Edit;
if Trim(FieldByName('DocNo').AsString) = '' then
FieldByName('DocNo').AsString := ChangeFileExt(ExtractFileName(sFileName), '');
if Trim(FieldByName('DocName').AsString) = '' then
FieldByName('DocName').AsString := ChangeFileExt(ExtractFileName(sFileName), '');
FieldByName('FileName').AsString := ChangeFileExt(ExtractFileName(sFileName), '.CYC');
FieldByName('FileSize').AsFloat := GetFileSize(sFileName);
FieldByName('OriginalExtName').AsString := dmMain.GetFileExtensionName(sFileName);
if Trim(FieldByName('Version').AsString) = '' then
FieldByName('Version').AsString := '1.0.0';
if Trim(FieldByName('Remarks').AsString) = '' then
FieldByName('Remarks').AsString := 'FROM: ' + sFileName;
end;
end;
end;
procedure TfmDocuments.edtFileNameExit(Sender: TObject);
var
sFileName: String;
begin
inherited;
sFileName := Trim(edtFileName.Text);
if GetFileExtension(sFileName) <> '.CYC' then
begin
sFileName := ChangeFileExt(sFileName, '.CYC');
edtFileName.Text := ExtractFileName(sFileName);
dmMain.dsDocuments.UpdateRecord;
end;
end;
procedure TfmDocuments.btnOKClick(Sender: TObject);
var
FullFileName: String;
begin
if Trim(edtDocNo.Text) = '' then
begin
ShowError('Doc. No. cannot be empty!');
edtDocNo.SetFocus;
Exit;
end;
if (OperType = otInsert) and IsExists('Documents', 'DocNo', 'DocNo', edtDocNo.Text) then
begin
ShowError('Doc. No. already exists!');
edtDocNo.SetFocus;
Exit;
end;
if Trim(edtDocName.Text) = '' then
begin
ShowError('Doc. name cannot be empty!');
edtDocName.SetFocus;
Exit;
end;
if Trim(edtFileName.Text) = '' then
begin
ShowError('Filename cannot be empty!');
edtFileName.SetFocus;
Exit;
end;
FullFileName := pRootPath + edtFileName.Text;
if (UpperCase(Trim(lblSelectedFileName.Caption)) <> UpperCase(Trim(FullFileName))) then
begin
{if not FileExists(lblSelectedFileName.Caption) then
begin
ShowError('File: ' + lblSelectedFileName.Caption + ' not exists!');
edtFileName.SetFocus;
Exit;
end;
if GetFileExtension(FullFileName) <> '.CYC' then
begin
ShowError('The extension of filename must be ''.CYC''!');
edtFileName.SetFocus;
Exit;
end;
if FileExists(FullFileName) then
begin
if not ShowYesNo('File: ' + FullFileName + ' already exists, overwrite it?') then
begin
edtFileName.SetFocus;
Exit;
end;
end;
if GetFileExtension(lblSelectedFileName.Caption) = '.CYC' then
CopyFile(PChar(lblSelectedFileName.Caption), PChar(FullFileName), False)
else
EncryptFile(lblSelectedFileName.Caption, FullFileName, PasswordKey);
if not FileExists(FullFileName) then
begin
ShowError('Save file error!');
Exit;
end;}
if not ConvertToCYCFile(lblSelectedFileName.Caption, FullFileName) then
Exit;
if OperType = otEdit then
begin
if GetFileExtension(OriginalFile) = '.CYC' then
dmMain.DeleteCYCFile(ExtractFileName(OriginalFile), CategoryCode, edtDocNo.Text)
else
DeleteFile(OriginalFile);
end;
end;
if IsDataSetInEdit(dmMain.dsDocuments) then
begin
dmMain.dsDocuments.Post;
end;
dmMain.dsDocuments.UpdateBatch;
inherited;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -