核心提示:procedure WriteLogEx(F1,S1: string;Append:Boolean);var FHandle: THandle; i: Integer;begin if not Dir...
procedure WriteLogEx(F1,S1: string;Append:Boolean);var
FHandle: THandle;
i: Integer;
begin
if not DirectoryExists(ExtractFileDir(F1)) then ForceDirectories(ExtractFileDir(F1));
FHandle := CreateFile(PChar(F1), GENERIC_WRITE,
0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
try
if (FHandle = 0) or (FHandle = INVALID_HANDLE_VALUE) then
begin
FHandle := CreateFile(PChar(F1), GENERIC_WRITE,
0, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if (FHandle = 0) or (FHandle = INVALID_HANDLE_VALUE) then
begin
Exit;
end;
end;
if Append then
SetFilePointer(FHandle, 0, nil, FILE_END)
else
SetFilePointer(FHandle, 0, nil, FILE_BEGIN);
S1 := S1 + #13#10;
WriteFile(FHandle, S1[1], Length(S1), LongWord(i), nil);
finally
CloseHandle(FHandle);
end;
end;