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