Q&A

  • 클래스를 FileStream 으로 저장하기
클래스를 파일스트림으로 저장하는 방법 아시나요???..

아래쏘쓰..클래스를..파일스트림으로.저장해서.난중에..통째로..불러오고싶습니다.

가능한가요???...알켜조잉~~



type

TLogProcess = class (TObject)

Function HighHost(StartNum: Integer ; Kind : Integer; AnalRecord: Array of TAnalRecord): Integer; // 가장큰 TanalRecord를 구함

Procedure SortHost(Kind : Integer; var AnalRecord: Array of TAnalRecord);

//TanalRecord를 소팅함 Kind - 1:Send Host, 2:Receive Host, 3:Send Mail, 4:Receive Mail

Procedure MakeAnalData; // 로그분석 엔진!!!!! Core!!!

Procedure OpenLogFile; // 파일열고 인덱싱

procedure GetLogRecord(RequestLine: Integer); // 요청라인의 로그를 분석 해서 LogRecord에 저장

Function UnixtimetoDateTime(Unixtime: Integer): TDatetime; //n64 UnixTimeStamp to TDatetime

Function GoThere(Here : Double): Integer; // 특정시간의 로그라인으로 잽싸게 이동

procedure AnalDataSave; // 로그분석 데아타 저장

procedure AnalDataLoad; // 로그분석 데아타 로딩

public

Continue : Boolean; // 중지버튼을 누르면 False

TotalLog : Integer; // 전체 라인수(인덱싱된 로그라인)

LogRecord : TLogRecord; // 분석된 로그라인을 저장할 공간

FH : File of Char; // 파일 핸들

Position : Integer;

CurrentLog : String;

pCurrentLog : pChar;

StartLine : PChar;

LogLine : Array[0..10] of String;

SizeofFile,SpPos : Integer;

LogArray : Array of LongInt; // 인덱싱 데이타 저장

FileName: TFileName; // 큐멜로그 파일이름

BlockBegin : Integer; //블럭시작의 파일포인터

BlockEnd : Integer; // 블럭끝의 파일포인터

MaxLine : Integer; // 한번에 로딩 할 최대 라인

LogString : pChar; // 로딩된 블럭 데이타

LogSize : Integer; // 로그 한 줄의 최대 크기

Buffer : PChar; // 인덱싱을위한 버터..



HostMaxNum : Integer; // host의 총갯수

MailMaxNum : Integer; // e-mail의 총갯수

ErrorMaxNum : Integer;



Mail_E_N, Mail_ES_N, Mail_ER_N : Integer;

Mail_EA_N, Mail_RA_N, Mail_SA_N : Real;

Result_S_N, Result_F_N, Result_D_N : Integer;

Add_RA_N, Add_SA_N: Real;

Host_RA_N, Host_SA_N: Real;

Host_U_N, Add_U_N : Integer;

Mail_E_B , Mail_ES_B, Mail_ER_B : Int64;

Mail_EA_B, Mail_RA_B, Mail_SA_B : Real;

Result_D_B, Result_F_B, Result_S_B : Int64;

Add_SA_B, Add_RA_B : Real;

Host_U_B, Add_U_B : Int64;

Host_RA_B, Host_SA_B : Real;

Delay_E, Delay_A, Delay_BPS : Real;

Start_DT : TDateTime;

EMail_String, Host_String : String;

Email_ID, Host : String;



Sendnum21 : Array[0..23] of Integer;

Recnum21 : Array[0..23] of Integer;

TotalRec21 : Integer;

TotalSnd21 : Integer;



Sendnum22 : Array[0..23] of Integer;

Recnum22 : Array[0..23] of Integer;

TotalRec22 : Integer;

TotalSnd22 : Integer;



Sendnum23 : Array[0..6] of Integer;

Recnum23 : Array[0..6] of Integer;

TotalRec23 : Integer;

TotalSnd23 : Integer;



Sendnum24 : Array[0..6] of Integer;

Recnum24 : Array[0..6] of Integer;

TotalRec24 : Integer;

TotalSnd24 : Integer;



AnalRecord25 : Array of TAnalRecord;

AnalRecord26 : Array of TAnalRecord;

AnalRecord27 : Array of TAnalRecord;

AnalRecord28 : Array of TAnalRecord;

AnalRecord29 : Array of TAnalRecord;

{ Public declarations }

end;



Procedure TLogProcess.AnalDataSave;

begin

LogFileStream := TfileStream.Create(NewLogForm.Edit2.Text, fmCreate or fmOpenWrite);

LogFileStream.Write(LogProcess , Sizeof(LogProcess));

end;





0  COMMENTS