====== 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