Tab aktualisieren und Array neu einlesen lassen

  • Mahlzeit, die _query() gibt ja auch nix zurück, also wird das Tab in 0 umbenannt!!!

    Spoiler anzeigen
    [autoit]


    Func _query()
    Dim $IP
    _FileReadToArray( $File, $IP )
    ;///////////////////////////// Pingen der einzelnen Computer /////////////////////////////////
    _FileReadToArray( $File, $IP ) ;Alles in ein Array einlesen
    Dim $Zaehler = 50
    $Result = GUISwitch( $GUI_Main, $GUI_Main_Tabitem_Uebersicht )
    ;~ If $Result > 0 Then
    ;~ MsgBox( 0, "Hat gefunzt", "" )
    ;~ Else
    ;~ MsgBox( 0, "Nix :(", "" )
    ;~ EndIf
    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 = ""
    GUICtrlRead( $GUI_Main_Tab_Konfig_Edit_IP, 1 )
    EndFunc

    [/autoit]


    Bei _readfile() dasselbe

    Spoiler anzeigen
    [autoit]


    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

    [/autoit]


    Die While 1 Schleife ändern, dann geht es...

    Spoiler anzeigen
    [autoit]

    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() )
    _query()
    _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

    [/autoit]

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

    Einmal editiert, zuletzt von McPoldy (15. Februar 2008 um 12:08)

  • Oscar :

    Ja habe ich, funzt genauso wie die Vorschläge von McPoldy und JanSchmidt, nur das nun das Tab benannt bleibt.

    McPoldy:

    Danke

    Also es klappt ja alles soweit nur beim Umschalten von dem Tab "Konfiguration" und dem Tab "Übersicht" sieht es dann erstmal so aus (Anhang). Klicke ich dann noch mal hin und her, passt es wieder. Mein nächstes Problem ist, wenn ich einen Eintrag lösche bleibt er immer noch auf der Übersicht stehen.

  • Damit der Eintrag aus der Übersicht rausfliegt mußt du jedesmal nach dem Speichern den kompletten Inhalt des Übersicht-Tabs neu erstellen (also komplett mit Label für IP) [davor natürlich erstmal alles löschen ;)].
    Bau an jeder Stelle wo du GUI-Controls anlegst/veränderst GUISwitch() mit dem entsprechenden Tab ein.
    Sollte damit eigentlich klappen...

  • Okay, so hatte ich das eigentlich von Anfang an vor gehabt :D Sorry.
    Wie stelle ich das nun an, sollte es besser lassen heute. Soll ich vor jeden Befehl jetzt GuiSwitch machen oder ?!?! ?(

  • Am besten ja :rofl:
    Spaß beiseite, schmeiß nochmal folgende zwei Zeilen raus (sind völlig überflüssig ;))
    GUICtrlSetData( $GUI_Main_Tabitem_Uebersicht, _query() )
    GUICtrlSetData( $GUI_Main_Tabitem_Uebersicht, _read_file() )
    in der While-Schleife nach 'Case $GUI_Main_Tab_Konfig_Btn_Save'

  • Die sind schon raus ;)
    Komm mir gerade vor wie der letzte DAU :D jetzt weiß ich wie sich meine User manchmal fühlen :rofl:
    Der Effekt bleibt übrigens der gleiche, auch ohne die Zeilen.
    Wie stelle ich mein vorhaben denn nun an ?(

  • Ich schnall's nich bei mir läuft's jetzt völlig schmerzfrei...
    Bei dir bleibt immer noch die GUI hängen?
    Bei mir aktualisert bloß die Einträge nicht (also neue rein/alte raus)
    Ansonsten mach einfach früher Wochenende :thumbup:

  • Nimm einfach eine ListView mit Icons.
    Dann nur beim LoadFile alle Items löschen und danach alle einfügen.
    Die Listview mit 2 Spalten: 1.Spalte Netzwerk-Icon + IP
    . 2. Spalte Status-Icon