Dies ist eine alte Version des Dokuments!
Log-Datei erzeugen
Mitunter ist es bei der Entwicklung von Skripten nicht sinnvoll oder möglich, sich während der Ausführung mit FF_MessageBox einzelne Werte anzeigen zu lassen. In diesem Fall können die zu überwachenden Werte stattdessen in eine Log-Datei geschrieben werden, z.B. mit dieser Prozedur:
JScript: (VBScript siehe weiter unten)
Meldung = "Das ist eine Logging-Info";
Log (2, Meldung,"",""); // die Datei wird erzeugt bzw. ergänzt
// es werden der Zeitstempel und die Meldung geschrieben
function Log(Parameter, t1, t2, t3) { // *************************************************************************************** // * schreibt bis zu drei Werte t1 bis t3 in die Textdatei ff_testlog.txt im Scriptordner // * mehrere Werte werden durch Semikolon voneinander getrennt und // * in einer Zeile dargestellt, // * optional wird eine Zeile mit Datum und Uhrzeit voran gestellt // * Parameter wird durch Addition folgender Werte gebildet: // * 0 - vorhandene Datei ergänzen bzw. Datei neu erstellen // * 1 - ggf. vorhandene Datei löschen und neu erstellen // * 2 - Zeitstempel einfügen // **************************************************************************************
var tf,Werte;
ForAppending = 8;
var Logdatei;
Logdatei = FF_GetFFPathEx(2) +"\\ff_testlog.txt";
if( typeof(fso) == "undefined" )
fso = new ActiveXObject("Scripting.FileSystemObject");
if( (Parameter == 1) || (Parameter == 3) ) //Datei löschen
if( fso.FileExists(Logdatei) )
fso.DeleteFile(Logdatei);
if( (Parameter == 2) || (Parameter == 3) ) // mit Zeitstempel
{
var D=new Date();
Werte = "----- " + D.toLocaleDateString() + " " + D.toLocaleTimeString() + " -----\r\n";
}
if( t1 != "") Werte = Werte + t1;
if( t2 != "") Werte = Werte + "; " + t2;
if( t3 != "") Werte = Werte + "; " + t3;
if( !fso.FileExists(Logdatei) )
{
tf = fso.CreateTextFile(Logdatei, true);
tf.Close();
}
tf = fso.OpenTextFile(Logdatei, ForAppending, true); tf.WriteLine(Werte); tf.Close();
} // End Sub
VBScript:
Meldung = "Das ist eine Logging-Info"
Call Log (2, Meldung,"","") ' die Datei wird erzeugt bzw. ergänzt
' es werden der Zeitstempel und die Meldung geschrieben
Sub Log(Parameter, t1, t2, t3)
' *************************************************************************************** ' * schreibt bis zu drei Werte t1 bis t3 in die Textdatei ff_testlog.txt im Scriptordner ' * mehrere Werte werden durch Semikolon voneinander getrennt und ' * in einer Zeile dargestellt, ' * optional wird eine Zeile mit Datum und Uhrzeit voran gestellt ' * Parameter wird durch Addition folgender Werte gebildet: ' * 0 - vorhandene Datei ergänzen bzw. Datei neu erstellen ' * 1 - ggf. vorhandene Datei löschen und neu erstellen ' * 2 - Zeitstempel einfügen ' **************************************************************************************
Dim fso, tf Dim Werte Const ForAppending = 8 Dim Logdatei Logdatei = FF_GetFFPathEx(2) & "\ff_testlog.txt"
set fso = CreateObject("Scripting.FileSystemObject")
if Parameter = 1 or Parameter = 3 Then ' Datei löschen
If (fso.FileExists(Logdatei)) Then
fso.DeleteFile(Logdatei)
End If
End If
if Parameter = 2 or Parameter = 3 Then ' mit Zeitstempel
Werte = "----- " & Date & " - " & Time & " -----" & vbNewLine
End If
if t1 <> "" then Werte = Werte & t1 if t2 <> "" then Werte = Werte & "; " & t2 if t3 <> "" then Werte = Werte & "; " & t3
If not (fso.FileExists(Logdatei)) Then
Set tf = fso.CreateTextFile(Logdatei, True)
tf.Close
End If
Set tf = fso.OpenTextFile(Logdatei, ForAppending, True) tf.WriteLine(Werte) tf.Close
End Sub
