Hallo zusammen,
ich stehe momentan etwas auf dem Schlauch. Ich habe ein kleines Script gebastelt dessen Ziel es einen Angegebenen IP Adressbereich in eine IP Liste auf zu lösen (z.B. 192.168.0.1 - 192.168.0.10 in 192.168.0.1, 192.168.0.2, 192.168.0.3 usw.), dazu werden noch andere Angaben vom User eingegeben und in der Zieldatei verarbeitet.
Mein Problem ist nun folgendes. Wenn ich den Adressbereich 192.168.0.1 - 192.168.0.10 angebe funktioniert alles wie gewollt.
Gebe ich den Bereich192.168.0.90 - 192.168.0.110 gibt es Fehler....
Durch verschiedene Tests habe ich heraus gefunden dass das Problem wohl in der Zeile 60 des Scripts liegt. Das Script erkennt hier beim ersten Beispiel dass 1 kleiner ist als 10, im zweiten Beispiel aber nicht das 90 kleiner ist als 110...
Ich weiß nicht mehr weiter und hoffe das einer von euch meinen Denkfehler findet...
Falls noch was fehlen sollte einfach Fragen.
anbei der Quellcode...
[autoit]#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
$von = 0
$bis = 0
$server = 0
$kunde = 0
$while = 0
$err = 1
#Region ### START Koda GUI section ### Form=c:\scripte\ip liste erstellen\gui.kxf
$Form1_1 = GUICreate("Form1", 177, 264, 1323, 317)
$Adressbereichvon = GUICtrlCreateInput("Adressbereich von:", 16, 72, 145, 21)
$Adressbereichbis = GUICtrlCreateInput("Adressbereich bis:", 16, 104, 145, 21)
$FQDN = GUICtrlCreateCheckbox("FQDN", 16, 168, 57, 33)
$Kundenname = GUICtrlCreateInput("Kundenname", 16, 8, 145, 21)
$DNS = GUICtrlCreateInput("DNS Server", 16, 40, 145, 21)
$Create = GUICtrlCreateButton("Liste erstellen", 16, 208, 145, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While $while = 0
$nMsg = GUIGetMsg()
Switch $nMsg
Case $Create
$von = GUICtrlRead($Adressbereichvon)
$bis = GUICtrlRead($Adressbereichbis)
$server = GUICtrlRead($DNS)
$kunde = GUICtrlRead($Kundenname)
If _fddf($von) = 0 Then
MsgBox(0,"FALSCHEINGABE","Der Startwert wurde nicht im korekten Format eingegeben (XXX.XXX.XXX.XXX)")
$err = 1
ElseIf _fddf($bis) = 0 Then
MsgBox(0,"FALSCHEINGABE","Der Endwert wurde nicht im korekten Format eingegeben (XXX.XXX.XXX.XXX)")
$err = 1
ElseIf _fddf($server) = 0 Then
MsgBox(0,"FALSCHEINGABE","Die ServerIP wurde nicht im korekten Format eingegeben (XXX.XXX.XXX.XXX)")
$err = 1
ElseIf $kunde = "" Then
MsgBox(0,"FALSCHEINGABE","Es wurde kein Kunde angegeben")
$err = 1
Else
MsgBox(0,"Eingabe akzeptiert","Liste wird erstellt")
$err = 0
EndIf
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
If $err = 0 Then $while = 1
WEnd
$von = StringSplit($von,".")
$bis = StringSplit($bis,".")
;_arrayDisplay($von)
;_arrayDisplay($bis)
FileWrite("IP Liste.txt","Kunde: " & $kunde & @CRLF & "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&")
FileWrite("IP Liste.txt","DNS Server: " & $server & @CRLF)
While 1
FileWrite("IP Liste.txt","Client: " & $von[1] & "." & $von[2] & "." & $von[3] & "." & $von[4] & @CRLF)
MsgBox(0,"",$von[4] < $bis[4])
If ($von[4] < $bis[4]) Then
$von[4] = $von[4] + 1
Else
ExitLoop
EndIf
WEnd
FileWrite("IP Liste.txt","END OF FILE")
Func _fddf ($ip)
If StringRegExp($ip,"(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})",0) Then
Return 1
Else
Return 0
EndIf
EndFunc