Hallo liebe Gemeinde,
seit 2 Monaten arbeite ich nun mit Visual Basic und stehe vor einem "kleinen" oder auch "größeren" Problem.
Ich schreibe Momentan an einem Management-System. Dort lasse ich Daten von einem Viren-Programm in einen Syslog-Server laufen um diese anschließend in eine Datenbank zu schreiben. Das Problem ist das die Datum/Zeit Angaben die das Virenprogramm übersendet verfälscht sind und ich über eine Zeitdifferenz in Minuten weiter vorgehen möchte.
Den Code den ich dafür nutze sieht so aus: (mit Beispielwerten)
Und genau an dieser stelle funktioniert es nicht mehr.
Fehlermeldung: Typen unverträglich: AktuellDatumZeit
Kommt wohl daher das ich die Typen hier durcheinander bringe. <-- Das ist der Fehler.
Das Script, aus dem dieser Auszug stammt, ist ein reines VB-Script.
Ich versuche das Problem jetzt schon seit einiger Zeit zu lösen.
An dieser Stelle steht in der Variablen DatumZeit: "28.11.2012 09:40:32"
und in der Variablen AktuellDatumZeit: "28.11.2012 09:40:32"
Vom logischen her sollte in der Variablen Zeitdifferenz der Wert "0" stehen.
Have fun
Julian
seit 2 Monaten arbeite ich nun mit Visual Basic und stehe vor einem "kleinen" oder auch "größeren" Problem.
Ich schreibe Momentan an einem Management-System. Dort lasse ich Daten von einem Viren-Programm in einen Syslog-Server laufen um diese anschließend in eine Datenbank zu schreiben. Das Problem ist das die Datum/Zeit Angaben die das Virenprogramm übersendet verfälscht sind und ich über eine Zeitdifferenz in Minuten weiter vorgehen möchte.
Den Code den ich dafür nutze sieht so aus: (mit Beispielwerten)
Visual Basic-Quellcode
- ***Hier arbeite ich Datum und Zeit soweit auf wie ich das haben möchte***
- Datumzeit = "inserted: 2012-11-28 09:40:32" //DatumZeit wir er aus der Meldung hervorgeht
- DatumZeit = trim(mid(Datumzeit,19,2) &"."& mid(Datumzeit,16,2) &"."& mid(Datumzeit,11,4) &" "& right(Datumzeit,8))
- ***Um einen Vergleichswert zu haben hole ich mir nun das aktuelle Datum mit Uhrzeit***
- (now wird im Format "11/28/2012 9:40:32 AM" oder "11/28/2012 9:40:32 PM" eingelesen)
- Aktuell = Split(now," ") //Splitten in ein Array
- In dem Array Aktuell steht nun folgendes:
- Aktuell(0) = "11/28/2012"
- Aktuell(1) = "9:40:32"
- Aktuell(2) = "AM"
- ***Datum vom Aktuellen Datum aufbereiten***
- Datum = trim(mid(Aktuell(0),4,2) &"."& mid(Aktuell(0),1,2) &"."& right(Aktuell(0),4))
- ***Da ich Zeit im 24h Format benötige verarbeite ich nun AM bzw PM***
- if Aktuell(2) = "AM" Then
- Zeit = Aktuell(1)
- else
- Zeit = dateadd("n",720,Aktuell(1)) //Wenn Aktuell(2) = "PM", werden 12 Stunden(in Minuten angegeben) dazugerechnetend if
- ***Überarbeiten der Länge des Zeitstrings da ich den 8 stellig benötige***
- if Len(Zeit) = 7 Then
- Zeit = "0" & Zeit // Wenn die Zeit 7 stellig ist 0 vorne anhängen
- end if
- ***Nun habe ich die Datum und Zeit in benötigten Format und setze diese zusammen***
- AktuellDatumZeit = Datum &" "& Zeit
- ***Errechnen der Zeitdifferenzausgleich***
- Zeitdifferenz = datediff("n",DatumZeit,AktuellDatumZeit)
Und genau an dieser stelle funktioniert es nicht mehr.
Fehlermeldung: Typen unverträglich: AktuellDatumZeit
Kommt wohl daher das ich die Typen hier durcheinander bringe. <-- Das ist der Fehler.
Das Script, aus dem dieser Auszug stammt, ist ein reines VB-Script.
Ich versuche das Problem jetzt schon seit einiger Zeit zu lösen.
An dieser Stelle steht in der Variablen DatumZeit: "28.11.2012 09:40:32"
und in der Variablen AktuellDatumZeit: "28.11.2012 09:40:32"
Vom logischen her sollte in der Variablen Zeitdifferenz der Wert "0" stehen.
Have fun
Julian
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „JayP25“ ()