www.pudn.com > netcheck.zip > Historylog.pas


unit Historylog; 
 
interface 
 
uses 
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, 
  ComCtrls, Menus, StdCtrls, ExtCtrls,Printers; 
 
type 
  TLogForm = class(TForm) 
    LogEdit: TRichEdit; 
    MainMenu1: TMainMenu; 
    FreshItem: TMenuItem; 
    PrintItem: TMenuItem; 
    LogEscItem: TMenuItem; 
    LogStatusBar: TStatusBar; 
    CurrentTime: TTimer; 
    PrintAllItem: TMenuItem; 
    N1: TMenuItem; 
    PrintSelectItem: TMenuItem; 
    PreLogFileItem: TMenuItem; 
    SuccLogFileItem: TMenuItem; 
    procedure CurrentTimeTimer(Sender: TObject); 
    procedure LogEscItemClick(Sender: TObject); 
    procedure FormShow(Sender: TObject); 
    procedure FreshItemClick(Sender: TObject); 
    procedure PrintAllItemClick(Sender: TObject); 
    procedure PrintSelectItemClick(Sender: TObject); 
    procedure LogEditMouseMove(Sender: TObject; Shift: TShiftState; X, 
      Y: Integer); 
    procedure PreLogFileItemClick(Sender: TObject); 
    procedure SuccLogFileItemClick(Sender: TObject); 
  private 
    { Private declarations } 
  public 
    { Public declarations } 
  end; 
 
var 
  LogForm: TLogForm; 
  LogFileSort:Integer; 
  LogFileList:TStringList; 
 
implementation 
 
 Uses NetCheck; 
 
{$R *.DFM} 
 
procedure TLogForm.CurrentTimeTimer(Sender: TObject); 
begin 
   LogStatusBar.Panels[2].Text:=DateTimeToStr(Now) ; 
end; 
 
procedure TLogForm.FormShow(Sender: TObject); 
Var 
 SearchRec:TSearchRec; 
begin 
  LogFileList:=TStringList.Create; 
  LogFileList.Clear; 
  LogFileList.Sorted:=True; 
  If FindFirst('NS*.LOG',$0000003F,SearchRec)=0 then 
     Repeat 
      LogFileList.Add(SearchRec.Name); 
     Until FindNext(SearchRec) <> 0; 
  FindClose(SearchRec); 
  LogFileSort:=LogFileList.Count-1; 
 
  If FileExists(LogFileList.Strings[LogFileSort]) then 
     begin 
     LogForm.Caption:='历史记录['+LogFileList.Strings[LogFileSort]+']'; 
     LogEdit.Lines.Clear; 
     LogEdit.Lines.LoadFromFile(LogFileList.Strings[LogFileSort]); 
     end; 
end; 
 
procedure TLogForm.FreshItemClick(Sender: TObject); 
begin 
   LogFileSort:=LogFileList.Count -1; 
   If FileExists(LogFileList.Strings[LogFileSort]) then 
     begin 
     LogForm.Caption:='历史记录['+LogFileList.Strings[LogFileSort]+']'; 
     LogEdit.Lines.Clear; 
     LogEdit.Lines.LoadFromFile(LogFileList.Strings[LogFileSort]); 
     end; 
end; 
 
procedure TLogForm.PrintAllItemClick(Sender: TObject); 
Var 
  PrintFile:TextFile; 
  i:Integer; 
begin 
  try 
    AssignPrn(PrintFile); 
    ReWrite(PrintFile); 
    for i:=0 to LogEdit.Lines.Count-1 do 
            Writeln(PrintFile,LogEdit.Lines[i]); 
    CloseFile(PrintFile); 
  except 
      MessageBox(0,'对不起,没有安装打印机!','打印提示',MB_ICONEXCLAMATION+MB_OK); 
  end; 
end; 
 
procedure TLogForm.PrintSelectItemClick(Sender: TObject); 
Var 
  PrintFile:TextFile; 
begin 
  try 
    AssignPrn(PrintFile); 
    ReWrite(PrintFile); 
    Writeln(PrintFile,LogEdit.SelText); 
    CloseFile(PrintFile); 
    LogEdit.SelLength:=0; 
  except 
      MessageBox(0,'对不起,没有安装打印机!','打印提示',MB_ICONEXCLAMATION+MB_OK); 
  end; 
end; 
 
procedure TLogForm.LogEditMouseMove(Sender: TObject; Shift: TShiftState; X, 
  Y: Integer); 
begin 
  if LogEdit.SelLength = 0 then 
    PrintSelectItem.Enabled :=False 
    else 
      PrintSelectItem.Enabled :=True; 
end; 
 
procedure TLogForm.LogEscItemClick(Sender: TObject); 
begin 
  Close; 
end; 
 
procedure TLogForm.PreLogFileItemClick(Sender: TObject); 
begin 
 if (LogFileSort > 0) then 
   begin 
    Dec(LogFileSort); 
    If FileExists(LogFileList.Strings[LogFileSort]) then 
     begin 
     LogForm.Caption:='历史记录['+LogFileList.Strings[LogFileSort]+']'; 
     LogEdit.Lines.Clear; 
     LogEdit.Lines.LoadFromFile(LogFileList.Strings[LogFileSort]); 
     end; 
   end 
    else 
     LogFileSort:=0; 
end; 
 
procedure TLogForm.SuccLogFileItemClick(Sender: TObject); 
begin 
   if (LogFileSort < LogFileList.Count-1) then 
   begin 
    Inc(LogFileSort); 
    If FileExists(LogFileList.Strings[LogFileSort]) then 
     begin 
     LogForm.Caption:='历史记录['+LogFileList.Strings[LogFileSort]+']'; 
     LogEdit.Lines.Clear; 
     LogEdit.Lines.LoadFromFile(LogFileList.Strings[LogFileSort]); 
     end; 
   end 
    else 
     LogFileSort:=LogFileList.Count-1; 
end; 
 
end.