📄 informationunit.~pas
字号:
unit InformationUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, RzButton ,CalculateThreadUnit ;
type
TfrmInformationSyn = class(TForm)
rzbbtCancel: TRzBitBtn;
img1: TImage;
mmohit: TMemo;
procedure FormShow(Sender: TObject);
procedure rzbbtCancelClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
FCalculateThread : TCalculateThread ;
FDepCodeIndex : Integer ;
procedure ShowSynHit(aHitMessage : string );
procedure ShowSynEnd(aHitMessage : string );
procedure ShowSynOver(aHitMessage : string );
public
{ Public declarations }
property DepCodeIndex : Integer read FDepCodeIndex write FDepCodeIndex;
end;
var
frmInformationSyn: TfrmInformationSyn;
implementation
uses IniFiles , EventUnit, DMsemiUnit;
{$R *.dfm}
procedure TfrmInformationSyn.FormShow(Sender: TObject);
begin
try
gCalculateEvent.SetHitMessageFunction(ShowSynHit) ;
gCalculateEvent.SetEndMessageFunction(ShowSynEnd);
gCalculateEvent.SetStatusMessageFunction(ShowSynOver);
gCalculateEvent.Terminated := False ;
gCalculateEvent.ProcessHitMessage('正在连接数据库...');
Self.Caption := '半成品成本计算';
DMSemi.Connect ;
FCalculateThread := TCalculateThread.Create(True);
FCalculateThread.DepCodeIndex := FDepCodeIndex ;
FCalculateThread.Resume ;
gCalculateEvent.Terminated := False ;
except
on E : Exception do
Application.MessageBox(PChar(E.Message), '系统提示', MB_OK +
MB_ICONINFORMATION);
end ;
end;
procedure TfrmInformationSyn.rzbbtCancelClick(Sender: TObject);
begin
gCalculateEvent.Terminated := True ;
gCalculateEvent.ProcessHitMessage('正在取消...');
gCalculateEvent.Terminated := True ;
Sleep(1000);
if (Sender = nil) then
ModalResult := mrOk
else
ModalResult := mrCancel ;
end;
procedure TfrmInformationSyn.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
FCalculateThread.Terminate ;
end;
procedure TfrmInformationSyn.ShowSynEnd(aHitMessage: string);
begin
if gCalculateEvent.Terminated then
Exit ;
mmohit.Lines.Text := aHitMessage ;
{ if mmohit.Lines.Count >1 then
mmohit.ScrollBars := ssVertical
else
mmohit.ScrollBars := ssNone ; }
Application.ProcessMessages ;
rzbbtCancelClick(nil);
end;
procedure TfrmInformationSyn.ShowSynHit(aHitMessage: string);
begin
if gCalculateEvent.Terminated then
Exit ;
mmohit.Lines.Text := aHitMessage ;
{ if mmohit.Lines.Count >1 then
mmohit.ScrollBars := ssVertical
else
mmohit.ScrollBars := ssNone ; }
{ if not FIsAutoSyn then
begin
if Pos('连接Socket服务端',aHitMessage )>0 then
rzbbtCancelClick(nil);
end; }
Application.ProcessMessages ;
end;
procedure TfrmInformationSyn.ShowSynOver(aHitMessage: string);
begin
if gCalculateEvent.Terminated then
Exit ;
mmohit.Lines.Text := aHitMessage ;
{ if mmohit.Lines.Count >1 then
mmohit.ScrollBars := ssVertical
else
mmohit.ScrollBars := ssNone ; }
Application.ProcessMessages ;
// rzbbtCancelClick(rzbbtCancel);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -