Page 1 sur 1

[..] Derniere ligne dans un fichier TXT, msgbox

Posté : lun. 24 nov. 2008 19:16
par Flop
Bonsoir, à tous,

je n'arrive pas a faire ce que je veux, j'aimerais inclure dans mon script un code qui va me permettre d'ecrire dans un fichier txt les dernieres modifs, j'arrive à ecrire dans un fichier, mais pas comme je voudrais.. je vous explique :

la variable $ce_que_je_veux_ecrire, contient la date + le nom d'un fichier, et j'aimerais que ca s'inscrive dans mon txt, avec le dernier ajout toujours sur la premiere ligne et que ca décale les autres au fur et a mesure de facon a toujours avoir la derniere inscription sur la premiere ligne, par exemple

24/11/08 - inscription 1.txt
23/11/08 - inscription 2.txt
14/11/08 - inscription 8.txt

et ensuite si possible afficher une msgbox avec les "15" dernieres modifs.

J'ai essayer avec la fonction FileWrite, mais je n'arrive pas à décaler les précédentes inscriptions, merci d'avance de votre aide.

Re: [..] Derniere ligne dans un fichier TXT, msgbox

Posté : lun. 24 nov. 2008 19:29
par minoui
As-tu penser a faire sa avant de placer tes infos ?:
► Afficher le texteCode

Re: [..] Derniere ligne dans un fichier TXT, msgbox

Posté : lun. 24 nov. 2008 20:40
par Flop
je viens d'essayer ca marche pas..

Re: [..] Derniere ligne dans un fichier TXT, msgbox

Posté : lun. 24 nov. 2008 21:08
par Tlem
De manière très épuré (sans tous les contrôles qu'il faudrait) :

Code : Tout sélectionner

$MyVar = @MDAY & "/" & @MON & "/" & @YEAR & " - " & @HOUR & ":" & @MIN & ":" & @SEC

_EcritAuDebutDuFichier("Fichier.log", $MyVar)


Func _EcritAuDebutDuFichier($File, $MyVar)
    Local $Log
    If FileExists($File) Then
        $Log = FileRead($File)
    EndIf

    $MyVar = $MyVar & @CRLF & $Log

    $hFile = FileOpen($File, 2)
    FileWrite($hFile, $MyVar)
    FileClose($hFile)
EndFunc   ;==>_EcritAuDebutDuFichier
Si le fichier doit être de taille assez conséquente (plusieurs dizaines de Mo), il faudra passer par une autre méthode.