Hi an alle,
Ich habe eine kleine GUI gebastelt um unsere wichtigen Sever anpingen zu können. Klappt soweit auch alles sehr gut. Nun habe ich 2 Tabs, einmal die Übersicht und einmal die Konfiguration. Im letzteren Tab wird die TXT Datei eingelesen und soll über diese GUI aktualisiert werden sobald sie gespeichert ist. Das Array muss dann neu eingelesen und auf der Übersicht dementsprechend die Ansicht aktualisiert werden. Soweit die theorie
Hänge irgendwie. Er weist die neue Werte immer der GUI und nicht den Tabs zu. Ist bestimmt nix großes, aber ich komm nicht drauf.
Spoiler anzeigen
;////////////////////////////////// Includes ///////////////////////////////////////
#include <GUIConstants.au3>
#include <file.au3>
;////////////////////////////////// Funktionen /////////////////////////////////////
Func _query()
Dim $IP
_FileReadToArray( $File, $IP )
;///////////////////////////// Pingen der einzelnen Computer /////////////////////////////////
_FileReadToArray( $File, $IP ) ;Alles in ein Array einlesen
Dim $Zaehler = 50
for $i=1 to $IP[0]
$x = $Zaehler+30
$Zaehler = $x
$GUI_Main_Tab_Uebersicht_Query_IP = Ping( $IP[$i], 250 )
GUICtrlSetData( $GUI_Main_Tab_Uebersicht_Progress,( $i*100 )/( $Array_Anzahl[0]-1 ) )
If $GUI_Main_Tab_Uebersicht_Query_IP > 0 Then
GUICtrlCreateIcon( @SystemDir & "\shell32.dll", 22, 140, $x, 15, 15 );ok
Else
GUICtrlCreateIcon( @SystemDir & "\shell32.dll", 200, 140, $x, 15, 15 );net da
EndIf
Next
Sleep(1000)
GUICtrlSetData ( $GUI_Main_Tab_Uebersicht_Progress,0 )
$Zaehler = 50
$IP = ""
EndFunc
Func _read_file()
Dim $IP
_FileReadToArray( $File, $IP )
;////////////////////////// Auslesen der Textdatei um alle IP's zubekommen //////////////////
Dim $Zaehler = 50
for $i=1 to $IP[0]
$x = $Zaehler+30
$Zaehler = $x
GUICtrlCreateIcon( @SystemDir & "\shell32.dll", 19, 15, $x, 15, 15 )
GUICtrlCreateLabel( $IP[$i], 50, $x )
GUICtrlCreateLabel( "--------------------------------------", 50, $x+10 )
Next
$IP = ""
EndFunc
;//////////////////////////////// Variablen ////////////////////////////////////////
Dim $File = "ip.txt"
Dim $Progressbar_Ubersicht = 0
Dim $Array_Anzahl
_FileReadToArray( $File , $Array_Anzahl )
;~ Dim $IP
;~ _FileReadToArray( $File, $IP )
Dim $GUI_Main_Tab_Uebersicht_Progress
;//////////////////////////////// F5 als Aktualisierung zulassen //////////////////
HotKeySet( "{F5}","_query" )
;/////////////////////////////// Main GUI erstellen ////////////////////////////////
$GUI_Main = GUICreate( "Adminkonsole", 200,@DesktopHeight-60, @DesktopWidth-200, -1, $WS_POPUP )
$GUI_Main_Btn_Minimize = GUICtrlCreateButton( " - ", 170, 5, 15, 15 )
$GUI_Main_Btn_Exit = GUICtrlCreateButton( " x ", 185, 5, 15, 15 )
$GUI_Main_Tab = GUICtrlCreateTab( 0,0, 200,@DesktopHeight-60 )
$GUI_Main_Tabitem_Uebersicht = GUICtrlCreateTabitem ( "Übersicht" )
_read_file()
_query()
$GUI_Main_Tab_Uebersicht_Progress = GUICtrlCreateProgress( 5, @DesktopHeight-150, 185, 10, $PBS_SMOOTH)
$GUI_Main_Tab_Uebersicht_Btn_refresh = GUICtrlCreateButton( "Aktualisieren", 5, @DesktopHeight-100 )
$GUI_Main_Tabitem_Konfig = GUICtrlCreateTabitem ( "Konfiguration" )
$GUI_Main_Tab_Konfig_Edit_IP = GUICtrlCreateEdit(FileRead( $File ), 5, 30, 190, 700 )
$GUI_Main_Tab_Konfig_Btn_Save = GUICtrlCreateButton( "Speichern", 5, 750)
;/////////////////////////////// Zeige Main Gui ////////////////////////////////////
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_Main_Btn_Exit
GUIDelete()
Exit
Case $GUI_Main_Btn_Minimize
Case $GUI_Main_Tab_Konfig_Btn_Save
FileOpen( $File, 2 )
FileWrite( $File, GUICtrlRead( $GUI_Main_Tab_Konfig_Edit_IP ) )
FileClose( $File )
GUICtrlSetData( $GUI_Main_Tabitem_Uebersicht, _query() )
GUICtrlSetData( $GUI_Main_Tabitem_Uebersicht, _read_file() )
Case $GUI_Main_Tab_Uebersicht_Btn_refresh
GUICtrlSetState( $GUI_Main_Tab_Uebersicht_Btn_refresh, $GUI_DISABLE )
_query()
GUICtrlSetState( $GUI_Main_Tab_Uebersicht_Btn_refresh, $GUI_ENABLE )
EndSwitch
Wend
Ich hoffe es kann mir jemand helfen.
Danke schonmal vorab.
Gruß