클래스를 파일스트림으로 저장하는 방법 아시나요???..
아래쏘쓰..클래스를..파일스트림으로.저장해서.난중에..통째로..불러오고싶습니다.
가능한가요???...알켜조잉~~
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;