Hallo ich habe mir ein Programm geschrieben, mit dem ich meinen d-link router per telnet anweisen kann, zu bestimmten zeiten die einwahldaten zu ändern.
die daten werden aus einer datei eingelesen. soweit so gut. anschließend wird der tag in der datei mit dem aktuellen tag verglichen. bei einer übereinstimmung soll das gleiche bei den stunden und minuten passieren und dann ggf. ein textfeld mit befehlen gefüllt werden, welche dann an den router geschickt werden.
mein problem:
wenn ich in der datei den tag nr. 3 (also dienstag) angebe und es auch dienstag ist, dann stimmen die beiden variabeln (lsttag [tag aus datei] und tag [aktueller tag]) nicht überein! Warum? Beide sind integer also müssten sie doch gleich sein, oder?
_ Quellcode>
’ Aktualität der Einwahldaten überprüfen
’ Datei zum einlesen öffnen
Close 1
Open „list.lst“ For Input As 1
’ Variabeln vorbereiten
Dim tag, stunde, minute, lsttag, laststunde, lstminute As Integer
Dim lstpw, lstdialnum, lstusr, lstisp As String
’ Aktuelles Datum ermitteln
tag = DatePart(„w“, Date)
stunde = DatePart(„h“, Date)
minute = DatePart(„n“, Date)
’ Liste löschen
txtCommand.Text = „“
Do Until EOF(1)
’ Zeile einlesen
Line Input #1, read
’ Zeile zerlegen
lsttag = Left(read, InStr(read, „,“) - 1)
read = Right(read, Len(read) - Len(lsttag) - 1)
lststunde = Left(read, InStr(read, „,“) - 1)
read = Right(read, Len(read) - Len(lststunde) - 1)
lstminute = Left(read, InStr(read, „,“) - 1)
read = Right(read, Len(read) - Len(lstminute) - 1)
lstisp = Left(read, InStr(read, „,“) - 1)
read = Right(read, Len(read) - Len(lstisp) - 1)
lstdialnum = Left(read, InStr(read, „,“) - 1)
read = Right(read, Len(read) - Len(lstdialnum) - 1)
lstusr = Left(read, InStr(read, „,“) - 1)
read = Right(read, Len(read) - Len(lstusr) - 1)
lstpw = read
'MsgBox ("tag: " & lsttag & vbNewLine _
& "stunde: " & lststunde & vbNewLine _
& "minute: " & lstminute & vbNewLine _
& "isp: " & lstisp & vbNewLine _
& "dialnum: " & lstdialnum & vbNewLine _
& "user: " & lstusr & vbNewLine _
& "password: " & lstpw & vbnewine)
If lsttag = tag Then
If lststunde = stunde Then
’ Befehlsfeld füllen und Befehle senden
txtCommand = "CONNECT " & txtHost.Text & vbNewLine _
& „WAITFOR Password:“ & vbNewLine & "SEND " _
& txtPassword.Text & vbNewLine _
& "SEND isdn isp ispname " & lstisp & vbNewLine _
& "SEND isdn isp dialnum " & lstdialnum & vbNewLine _
& "SEND isdn isp username " & lstusr & vbNewLine _
& "SEND isdn isp password " & lstpw & vbNewLine _
& „SEND sys reboot“ & vbNewLine _
& „DISCONNECT“
Call send_
Das Einlesen der Daten erfolgt problemlos nur bei der If-Abfrage funzt es nicht mehr.
Ich benutze VB 6.0 wenn das weiterhilft sowie windows xp.
schon mal danke für eure hilfe!