1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
procedure CreateLogFile(sFilename,sText : String);
var
FText : TextFile;
sFile, sDir : String;
begin
try
// Met dans sDir Le chemin du logiciel/log/Année/mois
sDir := ExtractFilePath(Application.ExeName) + 'log\' + FormatDateTime('YYYY',Now) + '\' +
FormatDateTime('MM',Now) + '\';
// Créer le répertoire s'il n'existe pas
if not DirectoryExists(sDir) then
ForceDirectories(sDir);
sFile :=sDir + sFileName;
AssignFile(FText,sFile);
if FileExists(sFile) then
// Si le fichier existe on le met en mode édition
Append(FText)
else
// Sinon on créer le fichier
ReWrite(FText);
try
// ajout de la ligne au fichier
Writeln(FText,Trim(sText));
finally
Closefile(FText);
end;
Except on E:Exception do
begin
// erreur de lecture/ecriture
if IOResult = 32 then
// On relance la création du fichier
CreateLogFile(sFileName,sText)
else
// sinon affichage de l'erreur
ShowMessage(E.Message);
end;
end;
end; |
Partager