Newsgroup: it.comp.lang.visual-basic
Titolo: file log

salve a tutti....
per farla breve sto creando un programmino in vb ma ho un problema.
Dato che  vorrei che ogni volta che seleziono un programma dalla
combobox mi debba creare un file di log con data e nome del
programma.AIUTATEMIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

 ha scritto nel messaggio
news:1159018073....@i42g2000cwa.googlegroups.com...

io metterei una costante che č il percorso del file intero
const FileLog as string = "C:\filelog.txt"
poi l'aprirei  in random
open filelog for random as #1
con get #1 e put #1 prendi ed inserisci i dati
la sintassi č get #1,numerodiriga,variabile
oppure put#1,numerodiriga,variabile
infine chiudi il file
close #1
nella mia piů totale ignoranza spero che ti ho dato una manina...:D ciauz
Cerberus

®Svito® ha scritto:

solo perchè stasera non ho sonno......
cerca almeno di capire il codice che non è altro che una versione un
po più sofisticata di quanto ti ha detto Cerberus
metti in un modulo
'*******************************************START
Private Const MAXLENFILELOG As Long = 98000 'dimensione massima in
bytes di un file di log
Public Function LogERRORI(Optional myText As String = "", Optional
UsoLogERRORI As Boolean = True) As Boolean
'File di log errori
Dim Fpath As String
Dim OldFpath As String
Dim nFile As Integer
Dim DatoScrive As String
Dim fBytes As Long
On Error Resume Next
If UsoLogERRORI Then
'Cambia qui i percorsi ai tuoi log!
    Fpath = App.Path & "\logerr" & Date$ & ".txt"
Else
    Fpath = App.Path & "\servizio\logsys" & Date$ & ".txt"
End If
'Guarda se è il caso di fare un nuovo log...................
fBytes = FileLen(Fpath)
If fBytes >= MAXLENFILELOG Then
    If UsoLogERRORI Then
        OldFpath = App.Path & "\OLDlogerr" & Date$ & "-" & Time$ &
".txt"
        Name Fpath As OldFpath
        Fpath = App.Path & "\logerr" & Date$ & ".txt"
    Else
        OldFpath = App.Path & "\servizio\OLDlogsys" & Date$ & "-" &
Time$ & ".txt"
        Name Fpath As OldFpath
        Fpath = App.Path & "\servizio\logsys" & Date$ & ".txt"
    End If
End If
'............................................................
nFile = FreeFile
If myText = "" Then
    DatoScrive = "[" & CStr(Date) & " " & CStr(Time) & "] - "
    DatoScrive = DatoScrive & "Errore: " & CStr(Err.Number) & " , "
    DatoScrive = DatoScrive & Err.Description & " , "
    DatoScrive = DatoScrive & CStr(Err.Source)
Else
    DatoScrive = "[" & CStr(Date) & " " & CStr(Time) & "] - "
    DatoScrive = DatoScrive & myText
End If
Open Fpath For Append As nFile
Print #nFile, DatoScrive
Close #nFile
On Error GoTo 0
LogERRORI = True
End Function
'**************************FINE*******************************
Unica avvertenza
MAXLENFILELOG è una variabile o costante che dichiari e ti indica
quanti bytes deve avere la max il tuo file di log....serve a dire di
fare file di log grandi 2 3 10 100 K e quando raggiunge quel limite
farne un altro....non vorrai scorrere mica un log di 100M è????!!!!
Come si usa nel tuo programma ?
in vari modi
a) Se lo chiami e basta lui ti va a vedere l'oggetto ERR e ti scrive il
log dell'errore nella cartella error
 es.
 LogERRORI
b) se metti il flag a false ...scrive come sopra ma in un altro
log...nella cartella logSys
es.
LogERRORI ,false
c) Stampando quello che vuoi nella cartella error
es.
LogERRORI "Ciao come stai?"
LogERRORI Text1.text
LogERRORI list1.text
etc etc
d) come sopra ma stampando nell'altro log
LogERRORI "Ciao come stai", false
**************************
Perchè l'esigenza di due log....???
Perchè in uno scrivo gli errori che si presentano nel programma ...
nell'altro scrivo (principalmente in fase di debug e test...nelle ver
definitive di solito lo elimino mentre l'altro lo lascio) comportamenti
dell'utente...per avere un "trace fatto in casa " del comportamento
dell'utonto (che è un maestro nell'incasinare il tuo lavoro)!
Notte notte......mi sta venendo sonno finalmente!