http://dieseyer.de • all rights reserved • © 2011 v11.4

'*** v8.3 *** www.dieseyer.de *******************************
'
' Datei: icq5-verlauflesen.vbs
' Autor: mike-winxp@gmx.de
' Auf: www.dieseyer.de
'
' Skript zum Lesen einer Verlaufsdatei (von icq5; ICQ v5.x).
' Die xml-Datei auf das Script ziehen und fallen lassen.
'
'************************************************************

Option Explicit ' Siehe http://dieseyer.de/dse-wsh-lernen.html#OptionExpl

Dim epochdatum, shell, fso, I, a, pfad1, pfad, ergebnis, read, zeile, Farbe, messenge, objArgs

Set objArgs = WScript.Arguments
Set shell = Wscript.CreateObject("Wscript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
Const tempdatei = "IcqNachrichten.hta"

' 1. Argumente aufnehmen
For I = 0 to objArgs.Count - 1
pfad = objArgs(I)
Next

' 2. Kontrolle (handelt es sich überhaupt um eine xml-Datiei?)
If instrRev(Right(pfad,3),"xml",-1,1) <> 1 Then
a = Msgbox ("Dieses Script funktioniert nur für xml-dateien von Icq",64,"Geht net")
Wscript.Quit
End If

' 3.Erstelle Dokument
Set ergebnis = fso.OpenTextFile(tempdatei,2,True)

ergebnis.WriteLine "<head>"
ergebnis.WriteLine "<title>Icq Nachrichten lesen</title>"
ergebnis.WriteLine "<" & "HTA:APPLICATION ID=""oHTA"""
ergebnis.WriteLine "Windowstate=""maximize"">"

ergebnis.WriteLine "<style type='text/css'>"
ergebnis.WriteLine "body,td,th {color: #CCCCCC;font-family: Arial, Helvetica, sans-serif;font-size: 10px;}body {background-color: #4a4a4a;}a {font-size: 10px;color: #CCCCCC;}a:link {text-decoration: none;}"
ergebnis.WriteLine "a:visited {text-decoration: none;color: #CCCCCC;}a:hover {text-decoration: underline;}a:active {text-decoration: none;}.Stil1 {font-size: 14px}.Stil2 {font-size: 10px; }"
ergebnis.WriteLine "</style></head><body>"
ergebnis.WriteLine "<table width='1148' border='0' align='center' bgcolor='3a3a3a' style='border: 1px outset #CCCCCC' height='146' > "
ergebnis.WriteLine "<tr><td height='142' width='1138'><div align='center'><table width='85%' border='0' align='center' bgcolor='#3a3a3a' ><div align='center' style='width: 888; height: 27'>"

ergebnis.WriteLine "<p class='Stil1'><font size='5'>Nachrichten an Icq Nummer: " & Left(Right(pfad,18),9) & "</font></p></div></table><p> </p>"
ergebnis.WriteLine " "


' 4.Liest die Datei aus
Set read = fso.OpenTextFile(pfad,1,True)
Do While read.AtEndOfStream <> True
zeile = read.ReadLine()

' von wem stammte die Nachricht?
If Instr(1,zeile, "<incoming>" ,1) >= 1 Then
ergebnis.WriteLine "<table width='1075' border='1' align='center' bgcolor='#3a3a3a' height='25' bordercolorlight='#C0C0C0' >"
If Instr(1,zeile, "<incoming>No</incoming>" ,1) >= 1 Then
Farbe = "#FF0000"
Else
Farbe = "#00FF00"
End If
End If

' Wann wurde die Nachricht verfasst?
If Instr(1,zeile, "<time>" ,1) >= 1 Then
Call epoch(Mid(zeile,8,10)) ' epochdatum
ergebnis.WriteLine "<td height='21' width='125'><font size='2'>" & epochdatum & "</font>"
End If

' Was wurde geschrieben?
If Instr(1,zeile, "<text>" ,1) >= 1 Then
messenge = right(zeile,Len(zeile)-7)
If Instr(1,messenge, chr(195),1) >= 1 Then
messenge = Replace(messenge, chr(195) & chr(188), "ü")
messenge = Replace(messenge, chr(195) & chr(182), "ö")
messenge = Replace(messenge, chr(195) & chr(159), "ß")
messenge = Replace(messenge, chr(195) & chr(164), "ä")
messenge = Replace(messenge, chr(195) & chr(150), "Ö")
messenge = Replace(messenge, chr(195) & chr(132), "Ä")
messenge = Replace(messenge, chr(195) & chr(156), "Ü")
End If ' messenge
ergebnis.WriteLine "<td height='21' width='925'><font size='3' color='" & Farbe & "'>" & messenge & "</font></table>"
End If
Loop
read.Close
ergebnis.WriteLine "<p><font size='3' color='#FF0000'>ausgehende Nachricht             "
ergebnis.WriteLine "</font><font size='3' color='#00FF00'>ankommende Nachricht</font></p>"
ergebnis.WriteLine "<p> </p></div></td></tr></table></body>"
ergebnis.close
shell.Run tempdatei,1, True
fso.DeleteFile(tempdatei)
Wscript.Quit

'**************************************************************

Function epoch(epochtime)
epochdatum = DateAdd("s", epochtime, "01/01/1970 01:00:00")
End Function

http://dieseyer.de • all rights reserved • © 2011 v11.4