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

📄 frmnoticeimpl.pas

📁 多媒体播放后台管理系统适用于各种字幕播放软件的后台管理,包括播放内容、时间、等级等的管理。
💻 PAS
📖 第 1 页 / 共 3 页
字号:
    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 + -