📄 frmnoticeimpl.pas
字号:
end;
cmdPublic.Parameters.ParamByName('NOTICE_ID2').Value := DeltaDS.FieldByName('NOTICE_ID').Value;
cmdPublic.Execute;
end
else if (UpdateKind = ukModify) then
begin
cmdPublic.CommandText := 'UPDATE T_NOTICE SET GRADE=:GRADE,CONTENT=:CONTENT,BROADCAST_DATE=:BROADCAST_DATE,' +
'BROADCAST_TIME=:BROADCAST_TIME,END_DATE=:END_DATE,END_TIME=:END_TIME,UNIT_ID=:UNIT_ID,' +
'USER_ID=:USER_ID,OPER_TIME=:OPER_TIME,STATUS=:STATUS,REMARK=:REMARK WHERE NOTICE_ID=:NOTICE_ID';
if DeltaDS.FieldByName('GRADE').NewValue = '' then
cmdPublic.Parameters.ParamByName('GRADE').Value := DeltaDS.FieldByName('GRADE').OldValue
else
cmdPublic.Parameters.ParamByName('GRADE').Value := DeltaDS.FieldByName('GRADE').Value;
if DeltaDS.FieldByName('CONTENT').NewValue = '' then
cmdPublic.Parameters.ParamByName('CONTENT').Value := DeltaDS.FieldByName('CONTENT').OldValue
else
cmdPublic.Parameters.ParamByName('CONTENT').Value := DeltaDS.FieldByName('CONTENT').Value;
cmdPublic.Parameters.ParamByName('BROADCAST_DATE').DataType := ftFloat;
if DeltaDS.FieldByName('BROADCAST_DATE').NewValue = 0 then
cmdPublic.Parameters.ParamByName('BROADCAST_DATE').Value := DeltaDS.FieldByName('BROADCAST_DATE').OldValue
else
cmdPublic.Parameters.ParamByName('BROADCAST_DATE').Value := DeltaDS.FieldByName('BROADCAST_DATE').Value;
cmdPublic.Parameters.ParamByName('BROADCAST_TIME').DataType := ftFloat;
if DeltaDS.FieldByName('BROADCAST_TIME').NewValue = 0 then
cmdPublic.Parameters.ParamByName('BROADCAST_TIME').Value := DeltaDS.FieldByName('BROADCAST_TIME').OldValue
else
cmdPublic.Parameters.ParamByName('BROADCAST_TIME').Value := DeltaDS.FieldByName('BROADCAST_TIME').Value;
cmdPublic.Parameters.ParamByName('END_DATE').DataType := ftFloat;
if DeltaDS.FieldByName('END_DATE').NewValue = 0 then
cmdPublic.Parameters.ParamByName('END_DATE').Value := DeltaDS.FieldByName('END_DATE').OldValue
else
cmdPublic.Parameters.ParamByName('END_DATE').Value := DeltaDS.FieldByName('END_DATE').Value;
cmdPublic.Parameters.ParamByName('END_TIME').DataType := ftFloat;
if DeltaDS.FieldByName('END_TIME').NewValue = 0 then
cmdPublic.Parameters.ParamByName('END_TIME').Value := DeltaDS.FieldByName('END_TIME').OldValue
else
cmdPublic.Parameters.ParamByName('END_TIME').Value := DeltaDS.FieldByName('END_TIME').Value;
if DeltaDS.FieldByName('UNIT_ID').NewValue = '' then
cmdPublic.Parameters.ParamByName('UNIT_ID').Value := DeltaDS.FieldByName('UNIT_ID').OldValue
else
cmdPublic.Parameters.ParamByName('UNIT_ID').Value := DeltaDS.FieldByName('UNIT_ID').Value;
if DeltaDS.FieldByName('USER_ID').NewValue = '' then
cmdPublic.Parameters.ParamByName('USER_ID').Value := DeltaDS.FieldByName('USER_ID').OldValue
else
cmdPublic.Parameters.ParamByName('USER_ID').Value := DeltaDS.FieldByName('USER_ID').Value;
cmdPublic.Parameters.ParamByName('OPER_TIME').DataType := ftFloat;
if DeltaDS.FieldByName('OPER_TIME').NewValue = 0 then
cmdPublic.Parameters.ParamByName('OPER_TIME').Value := DeltaDS.FieldByName('OPER_TIME').OldValue
else
cmdPublic.Parameters.ParamByName('OPER_TIME').Value := DeltaDS.FieldByName('OPER_TIME').Value;
if DeltaDS.FieldByName('STATUS').NewValue = '' then
cmdPublic.Parameters.ParamByName('STATUS').Value := DeltaDS.FieldByName('STATUS').OldValue
else
cmdPublic.Parameters.ParamByName('STATUS').Value := DeltaDS.FieldByName('STATUS').Value;
cmdPublic.Parameters.ParamByName('REMARK').DataType := ftString;
cmdPublic.Parameters.ParamByName('REMARK').Size := 200;
if DeltaDS.FieldByName('REMARK').NewValue = '' then
begin
if DeltaDS.FieldByName('REMARK').OldValue = '' then
cmdPublic.Parameters.ParamByName('REMARK').Value := Null
else
cmdPublic.Parameters.ParamByName('REMARK').Value := DeltaDS.FieldByName('REMARK').OldValue;
end
else
begin
if DeltaDS.FieldByName('REMARK').Value = '' then
cmdPublic.Parameters.ParamByName('REMARK').Value := Null
else
cmdPublic.Parameters.ParamByName('REMARK').Value := DeltaDS.FieldByName('REMARK').Value;
end;
cmdPublic.Parameters.ParamByName('NOTICE_ID').Value := DeltaDS.FieldByName('NOTICE_ID').OldValue;
cmdPublic.Execute;
objField := TBlobField(DeltaDS.FieldByName('PIC'));
if (objField.IsNull) then
begin
cmdPublic.CommandText := 'UPDATE T_NOTICE SET PIC = NULL WHERE NOTICE_ID = :NOTICE_ID2';
end
else begin
objField.SaveToStream(objStream);
cmdPublic.CommandText := 'UPDATE T_NOTICE SET PIC = :PIC WHERE NOTICE_ID = :NOTICE_ID2';
cmdPublic.Parameters.ParamByName('PIC').LoadFromStream(objStream, ftBlob);
end;
cmdPublic.Parameters.ParamByName('NOTICE_ID2').Value := DeltaDS.FieldByName('NOTICE_ID').OldValue;
cmdPublic.Execute;
end
else if (UpdateKind = ukDelete) then
begin
cmdPublic.CommandText := 'DELETE FROM T_NOTICE WHERE NOTICE_ID=:NOTICE_ID';
cmdPublic.Parameters.ParamByName('NOTICE_ID').Value := DeltaDS.FieldByName('NOTICE_ID').OldValue;
cmdPublic.Execute;
end;
objStream.Free;
Applied := True;
end;
procedure TFrmNotice.actAuditExecute(Sender: TObject);
begin
if (Application.MessageBox(PChar('您确定要审批通过当前紧急通知吗?'),
PChar(Caption), MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON2) = ID_YES) then
begin
dtsMain.DataSet.Edit;
dtsMain.DataSet.FieldByName('audit_id').AsString := UserID;
dtsMain.DataSet.FieldByName('status').AsString := 'A';
(TClientDataSet(dtsMain.DataSet)).ApplyUpdates(0);
FStatus := STATUS_BROWSE;
FModified := False;
ShowActionStatus();
end;
end;
procedure TFrmNotice.radAllClick(Sender: TObject);
begin
Qry();
end;
procedure TFrmNotice.btnImportPicClick(Sender: TObject);
var
objPic: TMemoryStream;
objJpg: TJpegImage;
objBmp: TBitmap;
begin
if opdPic.Execute then
begin
if LowerCase(ExtractFileExt(opdPic.FileName)) = LowerCase('.bmp') then
begin
TBlobField(dtsMain.DataSet.FieldByName('Pic')).LoadFromFile(opdPic.FileName);
end
else
begin
if (LowerCase(ExtractFileExt(opdPic.FileName)) = LowerCase('.Jpeg')) or (LowerCase(ExtractFileExt(opdPic.FileName)) = LowerCase('.Jpg')) then
begin
{ streamPic := TMemoryStream.Create;
bmp:=TBitmap.Create;
myJpeg:= TJpegImage.Create;
myjpeg.LoadFromFile(OpenPictureDialog1.FileName);
bmp.Assign(myjpeg);
bmp.SaveToStream(streamPic);
TBlobField(dsPictureB.DataSet.FieldByName('Picture')).LoadFromStream(streamPic);
streamPic.Free;
bmp.Free;
myJpeg.Free;}
end
else
//ShowMessage('照片格式不对!');
// ShowOk('照片格式不对!',1);
end;
end;
end;
procedure TFrmNotice.btnImportWordClick(Sender: TObject);
var
objClipboard: TClipboard;
objBmp: TBitmap;
objRect :TRect;
intFeatWidth, intFeatHeight: integer;
FileName, ConfirmConversions, ReadOnly, AddToRecentFiles, PasswordDocument, PasswordTemplate, Revert,WritePasswordDocument, WritePasswordTemplate, Format: OleVariant;
objStream: TMemoryStream;
begin
dlgSelectFile.DefaultExt := strWordExt;//GraphicExtension(TBitmap) + ';' + GraphicExtension(TJPEGImage);
dlgSelectFile.Filter := strWordFilter;//GraphicFilter(TBitmap) + ';' + GraphicFilter(TJPEGImage);
if (dlgSelectFile.Execute) then
FileName := dlgSelectFile.FileName
else
Abort;
ConfirmConversions := False;
ReadOnly := False;
AddToRecentFiles := True;
PasswordDocument := '';
PasswordTemplate := '';
Revert := True;
WritePasswordDocument := '';
WritePasswordTemplate := '';
Format := wdOpenFormatDocument;
wapMain.Documents.OpenOld(FileName, ConfirmConversions,
ReadOnly, AddToRecentFiles, PasswordDocument, PasswordTemplate,
Revert, WritePasswordDocument, WritePasswordTemplate, Format);
wapMain.ActiveDocument.Content.SetRange(0, wapMain.Selection.StoryLength);
wapMain.ActiveDocument.Content.Select;
wapMain.ActiveDocument.Content.Copy;
objClipboard := TClipboard.Create;
imgPic.Picture.Assign(objClipboard);
FreeAndNil(objClipboard);
objBmp := TBitMap.Create;
objRect.Top := 0;
objRect.Left := 0;
CalcFeat(imgPic.Picture, intFeatWidth, intFeatHeight);
objBmp.Height:= intFeatHeight;
objBmp.Width := intFeatWidth;
objRect.Right := objRect.Left + objBmp.Width;
objRect.Bottom := objRect.Top + objBmp.Height;
objBmp.Canvas.StretchDraw(objRect, imgPic.Picture.Metafile);
// objBmp.SaveToFile('d:\temp.bmp');
objStream := TMemoryStream.Create;
objBmp.SaveToStream(objStream);
TBlobField(dtsMain.DataSet.FieldByName('Pic')).LoadFromStream(objStream);
FreeAndNil(objBmp);
FreeAndNil(objStream);
end;
procedure TFrmNotice.suiButton1Click(Sender: TObject);
begin
{ if (cdsPic.State = dsEdit) or (cdsPic.State = dsInsert) then
cdsPic.Post();
try
Screen.Cursor := crHourGlass;
if (cdsPic.ApplyUpdates(0) > 0) then
begin
ShowMessage('更新数据失败。');
Abort;
end;
{ cdsMain.MergeChangeLog;
cdsMain.CancelUpdates;
FStatus := STATUS_BROWSE;
FModified := False;
ShowActionStatus();
Screen.Cursor := crDefault;}
{ except
on E: Exception do
begin
Screen.Cursor := crDefault;
ShowMessage(E.Message);
end;
end;}
end;
procedure TFrmNotice.pvdPicBeforeUpdateRecord(Sender: TObject;
SourceDS: TDataSet; DeltaDS: TCustomClientDataSet;
UpdateKind: TUpdateKind; var Applied: Boolean);
var
objField: TBlobField;
objStream: TMemoryStream;
begin
objField := TBlobField(DeltaDS.FieldByName('PIC'));
if (objField.IsNull) then
begin
cmdPublic.CommandText := 'UPDATE T_NOTICE SET PIC = NULL WHERE NOTICE_ID = :NOTICE_ID';
cmdPublic.Parameters.ParamByName('NOTICE_ID').Value := DeltaDS.FieldByName('NOTICE_ID').OldValue;
end
else begin
objStream := TMemoryStream.Create;
objField.SaveToStream(objStream);
cmdPublic.CommandText := 'UPDATE T_NOTICE SET PIC = :PIC WHERE NOTICE_ID = :NOTICE_ID';
cmdPublic.Parameters.ParamByName('NOTICE_ID').Value := DeltaDS.FieldByName('NOTICE_ID').Value;
cmdPublic.Parameters.ParamByName('PIC').LoadFromStream(objStream, ftBlob);
objStream.Free;
end;
cmdPublic.Execute;
Applied := True;
end;
procedure TFrmNotice.CalcFeat(Pic: TPicture; var Width, Height: integer);
begin
if (Pic.Width <= MAX_WIDTH) and (Pic.Height <= MAX_HEIGHT) then
begin
Width := Pic.Width;
Height := Pic.Height;
end
else
begin
if Pic.Width / Pic.Height > MAX_WIDTH / MAX_HEIGHT then
begin
Width := MAX_WIDTH;
Height := Round(Pic.Height / Pic.Width * MAX_WIDTH);
end
else begin
Height := MAX_HEIGHT;
Width := Round(Pic.Width / Pic.Height * MAX_HEIGHT);
end;
end;
end;
procedure TFrmNotice.btnImportExcelClick(Sender: TObject);
var
objClipboard: TClipboard;
objBmp: TBitmap;
objRect :TRect;
intFeatWidth, intFeatHeight: integer;
FileName, ConfirmConversions, ReadOnly, AddToRecentFiles, PasswordDocument, PasswordTemplate, Revert,WritePasswordDocument, WritePasswordTemplate, Format: OleVariant;
objStream: TMemoryStream;
begin
{ dlgSelectFile.DefaultExt := strExcelExt;//GraphicExtension(TBitmap) + ';' + GraphicExtension(TJPEGImage);
dlgSelectFile.Filter := strExcelFilter;//GraphicFilter(TBitmap) + ';' + GraphicFilter(TJPEGImage);
if (dlgSelectFile.Execute) then
FileName := dlgSelectFile.FileName
else
Abort;
ConfirmConversions := False;
ReadOnly := False;
AddToRecentFiles := True;
PasswordDocument := '';
PasswordTemplate := '';
Revert := True;
WritePasswordDocument := '';
WritePasswordTemplate := '';
Format := wdOpenFormatDocument;
eapMain.Documents.OpenOld(FileName, ConfirmConversions,
ReadOnly, AddToRecentFiles, PasswordDocument, PasswordTemplate,
Revert, WritePasswordDocument, WritePasswordTemplate, Format);
eapMain.ActiveDocument.Content.SetRange(0, wapMain.Selection.StoryLength);
eapMain.ActiveDocument.Content.Select;
eapMain.ActiveDocument.Content.Copy;
objClipboard := TClipboard.Create;
imgPic.Picture.Assign(objClipboard);
FreeAndNil(objClipboard);
objBmp := TBitMap.Create;
objRect.Top := 0;
objRect.Left := 0;
CalcFeat(imgPic.Picture, intFeatWidth, intFeatHeight);
objBmp.Height:= intFeatHeight;
objBmp.Width := intFeatWidth;
objRect.Right := objRect.Left + objBmp.Width;
objRect.Bottom := objRect.Top + objBmp.Height;
objBmp.Canvas.StretchDraw(objRect, imgPic.Picture.Metafile);
// objBmp.SaveToFile('d:\temp.bmp');
objStream := TMemoryStream.Create;
objBmp.SaveToStream(objStream);
TBlobField(dtsMain.DataSet.FieldByName('Pic')).LoadFromStream(objStream);
FreeAndNil(objBmp);
FreeAndNil(objStream);}
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -