📄 serverviewunit.pas
字号:
unit ServerViewUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ExtCtrls, Menus;
type
TServerViewForm = class(TForm)
Panel1: TPanel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
Button4: TButton;
PopupMenu1: TPopupMenu;
A1: TMenuItem;
N1: TMenuItem;
I1: TMenuItem;
Memo1: TMemo;
Memo2: TMemo;
procedure Panel1Resize(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure A1Click(Sender: TObject);
procedure I1Click(Sender: TObject);
private
{ Private declarations }
FileName1, FileName2: string;
public
{ Public declarations }
end;
var
ServerViewForm: TServerViewForm;
AutoSaveLog: Boolean = False;
implementation
uses
RDMUnit, ShareUnit, MainUnit;
{$R *.dfm}
procedure TServerViewForm.Panel1Resize(Sender: TObject);
begin
Button1.Left := (TPanel(Sender).Width - (Button1.Width + Button2.Width + Button3.Width + Button4.Width)) div 5;
Button2.Left := Button1.Left * 2 + Button1.Width;
Button3.Left := Button1.Left * 3 + Button1.Width + Button2.Width;
Button4.Left := Button1.Left * 4 + Button1.Width + Button2.Width + Button3.Width;
end;
procedure TServerViewForm.FormShow(Sender: TObject);
begin
PageControl1.ActivePage := TabSheet1;
// if RDM < 2 then
// Application.MessageBox('当前没有远程客户连接该服务器!', '提示', MB_OK or MB_ICONINFORMATION);
end;
procedure TServerViewForm.Button1Click(Sender: TObject);
var
aMemo: TMemo;
begin
aMemo := nil;
if PageControl1.ActivePage = TabSheet1 then
aMemo := Memo1;
if PageControl1.ActivePage = TabSheet2 then
aMemo := Memo2;
if aMemo <> nil then
aMemo.Clear;
end;
procedure TServerViewForm.Button2Click(Sender: TObject);
var
LogFile: TextFile;
TheFileName, DateTimeString: string;
aWinControl: TWinControl;
begin
TheFileName := '';
if PageControl1.ActivePage = TabSheet1 then
begin
if FileName1 = '' then
FileName1 := Copy(Application.ExeName, 1, Length(Application.ExeName) - Length(ExtractFileExt(Application.ExeName))) + '.LOG';
TheFileName := FileName1;
end;
if PageControl1.ActivePage = TabSheet2 then
TheFileName := FileName2;
if TheFileName = '' then Exit;
with SaveDialog1 do
begin
InitialDir := ExtractFilePath(TheFileName);
FileName := ExtractFileName(TheFileName);
FilterIndex := 2;
if (FileName = '') or (Pos(UpperCase(ExtractFileExt(FileName)) + '/', '.LOG/') > 0) then
FilterIndex := 1;
if Execute and (not FileExists(FileName) or (FileExists(FileName) and (Application.MessageBox(PChar('真的要覆盖文件 ' + FileName + ' 吗?'), '确认', MB_YESNO or MB_ICONINFORMATION) = IDYES))) then
begin
if PageControl1.ActivePage = TabSheet1 then
FileName1 := FileName;
if PageControl1.ActivePage = TabSheet2 then
FileName2 := FileName;
aWinControl := ShowHintString('正在保存记录至: ' + FileName + ' ...');
DateTimeString := GetCurrentDateTime;
AssignFile(LogFile, FileName);
if FileExists(FileName) and (PageControl1.ActivePage = TabSheet1) then
Append(LogFile)
else
Rewrite(LogFile);
try
if PageControl1.ActivePage = TabSheet1 then
begin
Writeln(LogFile, '----------------------------------------');
Writeln(LogFile, '[' + DateTimeString + ']保存以下记录:');
Writeln(LogFile, '----------------------------------------');
Writeln(LogFile, '');
end;
Writeln(LogFile, Memo1.Lines.Text);
if PageControl1.ActivePage = TabSheet1 then
begin
Writeln(LogFile, '');
Memo1.Lines.Clear;
end;
finally
CloseFile(LogFile);
end;
aWinControl.Free;
end;
end;
end;
procedure TServerViewForm.FormCreate(Sender: TObject);
begin
FileName1 := '';
FileName2 := '';
end;
procedure TServerViewForm.Button3Click(Sender: TObject);
var
LogFile: TextFile;
TempStr, ErrorString: string;
aWinControl: TWinControl;
begin
if FileName2 = '' then
FileName2 := Copy(Application.ExeName, 1, Length(Application.ExeName) - Length(ExtractFileExt(Application.ExeName))) + '.LOG';
with OpenDialog1 do
begin
PageControl1.ActivePage := TabSheet2;
InitialDir := ExtractFilePath(FileName2);
FileName := ExtractFileName(FileName2);
FilterIndex := 2;
if (FileName = '') or (Pos(UpperCase(ExtractFileExt(FileName)) + '/', '.LOG/') > 0) then
FilterIndex := 1;
if Execute then
begin
FileName2 := FileName;
if FileExists(FileName) then
begin
aWinControl := ShowHintString('正在从文件 ' + FileName + ' 读取记录 ...');
AssignFile(LogFile, FileName);
try
Reset(LogFile);
Memo2.Clear;
while not Eof(LogFile) do
begin
Readln(LogFile, TempStr);
try
ErrorString := '';
Memo2.Lines.Add(TempStr);
except
on E:Exception do
begin
ErrorString := E.Message;
Break;
end;
end;
end;
finally
CloseFile(LogFile);
end;
aWinControl.Free;
if ErrorString <> '' then
Application.MessageBox(PChar(ErrorString), '警告', MB_OK or MB_ICONSTOP);
end;
end;
end;
end;
procedure TServerViewForm.Button4Click(Sender: TObject);
begin
Close;
end;
procedure TServerViewForm.A1Click(Sender: TObject);
begin
AutoSaveLog := TMenuItem(Sender).Checked;
end;
procedure TServerViewForm.I1Click(Sender: TObject);
begin
TheMainForm.ConnectionsView;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -