1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. oliver4friends

Beiträge von oliver4friends

  • GUI Studie

    • oliver4friends
    • 1. Juni 2017 um 19:01

    Gerne,

    100% Zufrieden bin ich noch nicht, weil es schwer ist die Labels zu färben. Aber es ist gut genug für mich.

    C
    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #include <TabConstants.au3>
    ; Colors
    Dim Const $cgreen 						= 0x00DD00 ; Farbe Grün
    Dim Const $cred 						= 0xFF0000 ; Farbe Rot
    Dim Const $cwhite 						= 0xFFFFFF ; Farbe Weiss
    Dim Const $cblack 						= 0x000000 ;Farbe Schwarz
    Dim Const $clist						= 0xF3F3F3 ;Hintergundfarbe für Liste
    
    
    $maindlg = GUICreate("Main", 732, 500, -1, -1)
    
    
    ;~ === Start TAB ===
    GuiCtrlCreateTab	(1, 35, 740, 350, $TCS_FLATBUTTONS)
    GUICtrlSetFont		(-1, 14, 400, 0, "Lucida Sans")
    
    
    ;~ === ERSTER TAB ===
    GuiCtrlCreateTabItem("       Einstellungen       ")
    GUICtrlCreateLabel	(" " , 0, 50 + 15, 732, 320)
    GUICtrlSetBKColor	(-1,$cblack)
    GUICtrlSetState		(-1,$GUI_DISABLE)
    
    
    ;~ === ZWEITER TAB ===
    GuiCtrlCreateTabItem("       Installer       ")
    ;~ Als Beispiel eine Installer mit Checkbox und Scrolldown
    $gsw_list = GUICtrlCreateListView('Install|Program|Version|Kommentar', 1, 50 + 15, 732, 320, $LVS_SHOWSELALWAYS, $LVS_SINGLESEL)
    _GUICtrlListView_SetExtendedListViewStyle($gsw_list, BitOR($LVS_EX_GRIDLINES, $LVS_EX_CHECKBOXES))
    _GUICtrlListView_SetBkColor($gsw_list, $clist)
    _GUICtrlListView_SetTextBkColor($gsw_list, $clist)
    _GUICtrlListView_SetColumnWidth($gsw_list, 0, 50)
    _GUICtrlListView_SetColumnWidth($gsw_list, 1, 200)
    _GUICtrlListView_SetColumnWidth($gsw_list, 2, 50)
    _GUICtrlListView_SetColumnWidth($gsw_list, 3, 360)
    Dim $sw_list[20][19]
    	$sw_list[0][0] = 19
    $sw_list[1][0] = ''
    $sw_list[2][0] = ''
    $sw_list[3][0] = ''
    $sw_list[4][0] = ''
    $sw_list[5][0] = ''
    $sw_list[6][0] = ''
    $sw_list[7][0] = ''
    $sw_list[8][0] = ''
    $sw_list[9][0] = ''
    $sw_list[10][0] = ''
    $sw_list[11][0] = ''
    $sw_list[12][0] = ''
    $sw_list[13][0] = ''
    $sw_list[14][0] = ''
    $sw_list[15][0] = ''
    $sw_list[16][0] = ''
    $sw_list[17][0] = ''
    $sw_list[18][0] = ''
    $sw_list[19][0] = ''
    $sw_list[1][1] = ''
    $sw_list[2][1] = ''
    $sw_list[3][1] = ''
    $sw_list[4][1] = ''
    $sw_list[5][1] = ''
    $sw_list[6][1] = ''
    $sw_list[7][1] = ''
    $sw_list[8][1] = ''
    $sw_list[9][1] = ''
    $sw_list[10][1] = ''
    $sw_list[11][1] = ''
    $sw_list[12][1] = ''
    $sw_list[13][1] = ''
    $sw_list[14][1] = ''
    $sw_list[15][1] = ''
    $sw_list[16][1] = ''
    $sw_list[17][1] = ''
    $sw_list[18][1] = ''
    $sw_list[19][1] = ''
    $sw_list[1][2] = ''
    $sw_list[2][2] = ''
    $sw_list[3][2] = ''
    $sw_list[4][2] = ''
    $sw_list[5][2] = ''
    $sw_list[6][2] = ''
    $sw_list[7][2] = ''
    $sw_list[8][2] = ''
    $sw_list[9][2] = ''
    $sw_list[10][2] = ''
    $sw_list[11][2] = ''
    $sw_list[12][2] = ''
    $sw_list[13][2] = ''
    $sw_list[14][2] = ''
    $sw_list[15][2] = ''
    $sw_list[16][2] = ''
    $sw_list[17][2] = ''
    $sw_list[18][2] = ''
    $sw_list[19][2] = ''
    $sw_list[1][3] = 'program1'
    $sw_list[2][3] = 'program2'
    $sw_list[3][3] = 'program3'
    $sw_list[4][3] = 'program4'
    $sw_list[5][3] = 'program5'
    $sw_list[6][3] = 'program6'
    $sw_list[7][3] = 'program7'
    $sw_list[8][3] = 'program8'
    $sw_list[9][3] = 'program9'
    $sw_list[10][3] = 'program10'
    $sw_list[11][3] = 'program11'
    $sw_list[12][3] = 'program12'
    $sw_list[13][3] = 'program13'
    $sw_list[14][3] = 'program14'
    $sw_list[15][3] = 'program15'
    $sw_list[16][3] = 'program16'
    $sw_list[17][3] = 'program17'
    $sw_list[18][3] = 'program18'
    $sw_list[19][3] = 'program19'
    
    
    For $i = 1 To $sw_list[0][0]
    	$sw_list[$i][1] = GUICtrlCreateListViewItem($sw_list[$i][0] & '|' & $sw_list[$i][3] & '|' & $sw_list[$i][1] & '|' & $sw_list[$i][2], $gsw_list)
    Next
    	GUICtrlCreateLabel("Start", 5 + 20, 430+35, 110, 28)
    	GUICtrlSetFont(-1, 14)
    
    
    ;~ === DRITTER TAB ===
    GuiCtrlCreateTabItem("       Laufwerke      ")
    GUICtrlCreateLabel(" " , 0, 50 + 15, 732, 320)
    GUICtrlSetBKColor(-1,$cred)
    GUICtrlSetState(-1,$GUI_DISABLE)
    
    
    ;~ === VIERTER TAB ===
    GuiCtrlCreateTabItem("       Zugänge     ")
    GUICtrlCreateLabel(" " , 0, 50 + 15, 732, 320)
    GUICtrlSetBKColor(-1,$cgreen)
    GUICtrlSetState(-1,$GUI_DISABLE)
    
    
    ; Ende der Tabs
    GuiCtrlCreateTabItem("")
    
    
    $lb_exit = GUICtrlCreateLabel("Exit", 670, 430+35, 130, 28)
    GUICtrlSetFont(-1, 14)
    
    
    ControlFocus($maindlg, "", $lb_exit) ; Nimmt den Fokus von den TABS.
    
    
    GUISetState()
    
    
    ; =====================================================================================================================
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			exit
      EndSwitch
    WEnd
    Exit
    Alles anzeigen
  • GUI Studie

    • oliver4friends
    • 1. Juni 2017 um 18:39

    Mit dem TABS funktioniert das ganze. Danke

  • GUI Studie

    • oliver4friends
    • 31. Mai 2017 um 21:24

    Hallo Leute,

    Ich bin jetzt voll auf den Geschmack gekommen Autoit zu lernen. Ich habe schon eine kleine Basis an Wissen angeeignet und möchte für mich jetzt etwas cooles Skripten.
    Ich habe da schon eine genaue Idee wie das ganze ausschauen soll. Dies istnur die Rohfassung vom UI.

    Ich habe das bereits mit "GuiCtrlCreateTab" probiert und es funktioniert. Nur gefällt mir das nicht.

    Ich stecke da fest. Habt ihr ein Vorschlag wie man das richtig angeht? Ich möchte den richtigen Lösungsweg verstehen.


    Danke für die Hilfe!


    C
    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    
    
    ; Colors
    Dim Const $cgreen 						= 0x00DD00 ; Farbe Grün
    Dim Const $cred 						= 0xFF0000 ; Farbe Rot
    Dim Const $cwhite 						= 0xFFFFFF ; Farbe Weiss
    Dim Const $cblack 						= 0x000000 ;Farbe Schwarz
    
    
    $maindlg = GUICreate("Main", 732, 500)
    
    
    	Global $lb_Funk1 = GUICtrlCreateLabel("Einstellungen", 5 + 80, 50 + 16, 110, 28)
    	GUICtrlSetFont(-1, 14)
    
    
    	Global $lb_Funk2 = GUICtrlCreateLabel("Installer", 5 + 110+150, 50 + 16, 110, 28)
    	GUICtrlSetFont(-1, 14)
    
    
    	Global $lb_Funk3 = GUICtrlCreateLabel("Laufwerke", 5 + 110+150+150, 50 + 16, 130, 28)
    	GUICtrlSetFont(-1, 14)
    
    
    	Global $lb_Funk4 = GUICtrlCreateLabel("Zugänge", 5 + 110+150+150+150, 50 + 16, 130, 28)
    	GUICtrlSetFont(-1, 14)
    
    
    	GUICtrlCreateGraphic( 5 + 15, 50 + 55, 732-45, 1)
    	GUICtrlSetColor(-1, $cblack)
    
    
    	GUICtrlCreateLabel("Exit", 670, 430+35, 130, 28)
    	GUICtrlSetFont(-1, 14)
    
    
    func _lb_Funk1()
    GUICtrlCreateLabel(" " , 0, 50 + 55, 732, 350)
    GUICtrlSetBKColor(-1,$cred)
    ;~ GUICtrlCreateCheckbox("Checkbox", 30, 200, 110, 17)
    Endfunc
    
    
    func _lb_Funk2()
    $gsw_list = GUICtrlCreateListView('Install|Program|Version|Kommentar', 0, 50 + 55, 732, 350, $LVS_SHOWSELALWAYS, $LVS_SINGLESEL)
    Dim $sw_list[20][19]
    	$sw_list[0][0] = 19
    $sw_list[1][0] = ''
    $sw_list[2][0] = ''
    $sw_list[3][0] = ''
    $sw_list[4][0] = ''
    $sw_list[5][0] = ''
    $sw_list[6][0] = ''
    $sw_list[7][0] = ''
    $sw_list[8][0] = ''
    $sw_list[9][0] = ''
    $sw_list[10][0] = ''
    $sw_list[11][0] = ''
    $sw_list[12][0] = ''
    $sw_list[13][0] = ''
    $sw_list[14][0] = ''
    $sw_list[15][0] = ''
    $sw_list[16][0] = ''
    $sw_list[17][0] = ''
    $sw_list[18][0] = ''
    $sw_list[19][0] = ''
    $sw_list[1][1] = ''
    $sw_list[2][1] = ''
    $sw_list[3][1] = ''
    $sw_list[4][1] = ''
    $sw_list[5][1] = ''
    $sw_list[6][1] = ''
    $sw_list[7][1] = ''
    $sw_list[8][1] = ''
    $sw_list[9][1] = ''
    $sw_list[10][1] = ''
    $sw_list[11][1] = ''
    $sw_list[12][1] = ''
    $sw_list[13][1] = ''
    $sw_list[14][1] = ''
    $sw_list[15][1] = ''
    $sw_list[16][1] = ''
    $sw_list[17][1] = ''
    $sw_list[18][1] = ''
    $sw_list[19][1] = ''
    $sw_list[1][2] = ''
    $sw_list[2][2] = ''
    $sw_list[3][2] = ''
    $sw_list[4][2] = ''
    $sw_list[5][2] = ''
    $sw_list[6][2] = ''
    $sw_list[7][2] = ''
    $sw_list[8][2] = ''
    $sw_list[9][2] = ''
    $sw_list[10][2] = ''
    $sw_list[11][2] = ''
    $sw_list[12][2] = ''
    $sw_list[13][2] = ''
    $sw_list[14][2] = ''
    $sw_list[15][2] = ''
    $sw_list[16][2] = ''
    $sw_list[17][2] = ''
    $sw_list[18][2] = ''
    $sw_list[19][2] = ''
    $sw_list[1][3] = 'program1'
    $sw_list[2][3] = 'program2'
    $sw_list[3][3] = 'program3'
    $sw_list[4][3] = 'program4'
    $sw_list[5][3] = 'program5'
    $sw_list[6][3] = 'program6'
    $sw_list[7][3] = 'program7'
    $sw_list[8][3] = 'program8'
    $sw_list[9][3] = 'program9'
    $sw_list[10][3] = 'program10'
    $sw_list[11][3] = 'program11'
    $sw_list[12][3] = 'program12'
    $sw_list[13][3] = 'program13'
    $sw_list[14][3] = 'program14'
    $sw_list[15][3] = 'program15'
    $sw_list[16][3] = 'program16'
    $sw_list[17][3] = 'program17'
    $sw_list[18][3] = 'program18'
    $sw_list[19][3] = 'program19'
    
    
    For $i = 1 To $sw_list[0][0]
    	$sw_list[$i][1] = GUICtrlCreateListViewItem($sw_list[$i][0] & '|' & $sw_list[$i][3] & '|' & $sw_list[$i][1] & '|' & $sw_list[$i][2], $gsw_list)
    Next
    	GUICtrlCreateLabel("Start", 5 + 20, 430+35, 110, 28)
    	GUICtrlSetFont(-1, 14)
    Endfunc
    
    
    func _lb_Funk3()
    GUICtrlCreateLabel(" " , 0, 50 + 55, 732, 350)
    GUICtrlSetBKColor(-1,$cwhite)
    Endfunc
    
    
    func _lb_Funk4()
    GUICtrlCreateLabel(" " , 0, 50 + 55, 732, 350)
    GUICtrlSetBKColor(-1,$cgreen)
    Endfunc
    
    
    GUISetState()
    
    
    ; =====================================================================================================================
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			exit
    
    
    		Case $lb_Funk1
    			_lb_funk1()
    
    
    		Case $lb_Funk2
    			_lb_funk2()
    
    
    		Case $lb_Funk3
    			_lb_funk3()
    
    
    		Case $lb_Funk4
    			_lb_funk4()
      EndSwitch
    WEnd
    Exit
    Alles anzeigen
  • Laufwerke verbinden - Fenster friert bei Fehler ein.

    • oliver4friends
    • 22. Mai 2017 um 11:49

    Es funktioniert!

    Anbei der neue Code:

    C
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    #include <GUIConstants.au3>
    Dim Const $ilog = @TempDir & "\LWlog.txt"
    ;~ Dim Const $drvCallError = @error
    ; Hauptfenster
    $maindlg = GUICreate("Laufwerke verbinden", 750, 500)
    $eventmng = GUICtrlCreateLabel("", 10, 10+250, 704,  160)
    $btn_start = GUICtrlCreateButton("Start", 10, 430, 84, 20)
    
    
    Dim $aServers[6][5] ; Drive|Server|Kommentar
    	$aServers[0][0] = 4
    $aServers[1][0] = '\\dbserv02\cmpusr'
    $aServers[2][0] = '\\server2\freigabe'
    $aServers[3][0] = '\\server3\freigabe'
    $aServers[4][0] = '\\server4\freigabe'
    $aServers[1][2] = 'I:'
    $aServers[2][2] = 'J:'
    $aServers[3][2] = 'K:'
    $aServers[4][2] = 'L:'
    $aServers[1][3] = 'Standard Laufwerk 1'
    $aServers[2][3] = 'Standard Laufwerk 2'
    $aServers[3][3] = 'Standard Laufwerk 3'
    $aServers[4][3] = 'Standard Laufwerk 4'
    $gServers = GUICtrlCreateListView('Drive|Server|Kommentar', 10, 15, 740, 200, Default, BitOR($LVS_EX_CHECKBOXES, $WS_VSCROLL))
    _GUICtrlListView_SetColumnWidth($gServers, 1, 200)
    _GUICtrlListView_SetColumnWidth($gServers, 2, 360)
    For $i = 1 To $aServers[0][0]
    	$aServers[$i][1] = GUICtrlCreateListViewItem($aServers[$i][2] & '|' & $aServers[$i][0] & '|' & $aServers[$i][3], $gServers)
    Next
    GUISetState()
    Func _laufwerke()
    			        For $i=1 To $aServers[0][0]
                   If BitAND(GUICtrlRead($aServers[$i][1],1),$GUI_CHECKED) Then
    							; Output
    							$iText = "Das Laufwerk " & $aServers[$i][2] & " wird nun getrennt!" & @CRLF & ""
    							FileWrite($ilog, $iText)
    							$_FILE_Open = $ilog
    							$_FILE_ReadFile = FileRead($_FILE_Open)
    							GUICtrlSetData($eventmng, $_FILE_ReadFile)
    					DriveMapDel($aServers[$i][2])
    						  Sleep (3000)
    							; Output
    							$iText = "Das Laufwerk " & $aServers[$i][2] & " wird verbunden. Bitte warten.... Dieser Vorgang kann bis zu 2 Minuten dauern." & @CRLF & ""
    							FileWrite($ilog, $iText)
    							$_FILE_Open = $ilog
    							$_FILE_ReadFile = FileRead($_FILE_Open)
    							GUICtrlSetData($eventmng, $_FILE_ReadFile)
    							DriveMapAdd($aServers[$i][2], $aServers[$i][0], $DMA_AUTHENTICATION + $DMA_PERSISTENT)
    					Do
    						Sleep(5)
    
    
    					Until DriveStatus($aServers[$i][2]) = "READY" OR DriveStatus($aServers[$i][2]) = "INVALID"
    
    
    					If Fileexists($aServers[$i][2]) then
    							; Output
    							$iText = "Das Laufwerk " & $aServers[$i][2] & " wurde verbunden." & @CRLF & ""
    							FileWrite($ilog, $iText)
    							$_FILE_Open = $ilog
    							$_FILE_ReadFile = FileRead($_FILE_Open)
    							GUICtrlSetData($eventmng, $_FILE_ReadFile)
    						Else
    							; Output
    							$iText = "Das Laufwerk wurde nicht verbunden. Bitte kontaktiere deinen Administrator."
    							FileWrite($ilog, $iText)
    							$_FILE_Open = $ilog
    							$_FILE_ReadFile = FileRead($_FILE_Open)
    							GUICtrlSetData($eventmng, $_FILE_ReadFile)
    						EndIf
    
    
    
    
    				EndIf
    					Next
    
    
    EndFunc
    
    
    While 1
    	$nMsg = GUIGetMsg(1)
    	Switch $nMsg[0]
    		Case $GUI_EVENT_CLOSE
    			Switch $nMsg[1]
    				Case $maindlg
    					Exit
    				Case Else
    					GUISetState(@SW_SHOW, $maindlg)
    					GUISetState(@SW_HIDE, $nMsg[1])
    					GUISwitch($maindlg)
    			EndSwitch
    		Case $btn_start;
    		FileDelete($ilog) ; Output Log wird gelöscht
    		_laufwerke()
      EndSwitch
    WEnd
    Exit
    Alles anzeigen
  • Laufwerke verbinden - Fenster friert bei Fehler ein.

    • oliver4friends
    • 22. Mai 2017 um 09:43

    Danke für die Antwort. Ich werde das Script umbauen und ein Feedback geben.
    Das Fenster friert ein, wenn er die Funktion nicht bis zum Ende durchlaufen kann, da er auf "READY" vom Laufwerk wartet. Wie zum Beispiel jetzt mit dem \\server1\freigabe - Server klarerweise nicht vorhanden.

  • Laufwerke verbinden - Fenster friert bei Fehler ein.

    • oliver4friends
    • 22. Mai 2017 um 09:06

    Danke für die Antwort. Wenn ich das richtig verstehe wird zuerst die Funktion (fertig) ausgeführt, und erst danach kann ich das @error abfragen.

    Ich habe mir bereits überlegt, vor der Funktion mit den Laufwerken bestimmte Prüfungen einzubauen.

    • Ist der Pfad bereits vorhanden = Laufwerk schon eingebunden
    • Ist der Laufwerksbuchstabe schon belegt, wird es verwendet?
    • Kann der Servername - DNS aufgelöst werden.
    • Ist der Authentifizierungsserver erreichbar?

    Die kompletten Errorcodes könnte ich dann ja rausnehmen, weil ich die Fehler im Vorfeld schon ausschließe. Zudem könnte ich die Schleife irgendwie so begrenzen. Ich möchte keine Fenster haben die einfrieren.

    Code
    DO
    Until DriveStatus($aServers[$i][2]) = "READY" OR $i=10

    Würde das einer Lösung näher bringen?

  • Laufwerke verbinden - Fenster friert bei Fehler ein.

    • oliver4friends
    • 22. Mai 2017 um 08:31

    Hallo,

    Ich arbeite an einem Tool, mit dem man ganz einfach ein Laufwerk verbinden kann. Das Tool authenfifiziert sich über das Windows integrierte Authentifizierungs-Fenster.

    Das Tool ist sogut wie fertig. Es funktioniert auch alles, solange kein Fehler auftaucht. Genau gesagt:

    • wenn ein Pfad aus igendeinem Grund nicht erreichbar ist
    • Laufwerksbuchstabe nicht getrennt werden kann, da er schon belegt ist, oder wenn etwa gerade "bussy" ist.

    Es wäre super, wenn er bei einem Event $drvCallError diesen rausschreibt und abbricht. Bei einem Fehler friert das Fenster momentan einfach ein.

    Danke für die Hilfe!


    C
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <GuiListView.au3>
    
    
    Dim Const $ilog = @TempDir & "\LWlog.txt"
    Dim Const $drvCallError = @error
    
    
    ; Hauptfenster
    $maindlg = GUICreate("Laufwerke verbinden", 750, 500)
    $eventmng = GUICtrlCreateLabel("", 10, 10+250, 704,  160)
    $btn_start = GUICtrlCreateButton("Start", 10, 430, 84, 20)
    
    
    
    
    Dim $aServers[6][5] ; Drive|Server|Kommentar
    	$aServers[0][0] = 4
    $aServers[1][0] = '\\server1\freigabe'
    $aServers[2][0] = '\\server2\freigabe'
    $aServers[3][0] = '\\server3\freigabe'
    $aServers[4][0] = '\\server4\freigabe'
    $aServers[1][2] = 'I:'
    $aServers[2][2] = 'J:'
    $aServers[3][2] = 'K:'
    $aServers[4][2] = 'L:'
    $aServers[1][3] = 'Standard Laufwerk 1'
    $aServers[2][3] = 'Standard Laufwerk 2'
    $aServers[3][3] = 'Standard Laufwerk 3'
    $aServers[4][3] = 'Standard Laufwerk 4'
    
    
    $gServers = GUICtrlCreateListView('Drive|Server|Kommentar', 10, 15, 740, 200, Default, BitOR($LVS_EX_CHECKBOXES, $WS_VSCROLL))
    _GUICtrlListView_SetColumnWidth($gServers, 1, 200)
    _GUICtrlListView_SetColumnWidth($gServers, 2, 360)
    
    
    For $i = 1 To $aServers[0][0]
    	$aServers[$i][1] = GUICtrlCreateListViewItem($aServers[$i][2] & '|' & $aServers[$i][0] & '|' & $aServers[$i][3], $gServers)
    Next
    
    
    GUISetState()
    
    
    Func _laufwerke()
    			        For $i=1 To $aServers[0][0]
                   If BitAND(GUICtrlRead($aServers[$i][1],1),$GUI_CHECKED) Then
    
    
    							; Output
    							$iText = "Das Laufwerk " & $aServers[$i][2] & " wird nun getrennt!" & @CRLF & ""
    							FileWrite($ilog, $iText)
    							$_FILE_Open = $ilog
    							$_FILE_ReadFile = FileRead($_FILE_Open)
    							GUICtrlSetData($eventmng, $_FILE_ReadFile)
    
    
    					$drvcall = DriveMapDel($aServers[$i][2])
    
    
    						  Sleep (3000)
    
    
    							; Output
    							$iText = "Das Laufwerk " & $aServers[$i][2] & " wird verbunden. Bitte warten...." & @CRLF & ""
    							FileWrite($ilog, $iText)
    							$_FILE_Open = $ilog
    							$_FILE_ReadFile = FileRead($_FILE_Open)
    							GUICtrlSetData($eventmng, $_FILE_ReadFile)
    
    
    					$drvcall = DriveMapAdd($aServers[$i][2], $aServers[$i][0], $DMA_AUTHENTICATION + $DMA_PERSISTENT)
    					Do
    						Sleep(5)
    
    
    					Until DriveStatus($aServers[$i][2]) = "READY"
    				EndIf
    					Next
    
    
    
    
    					If $drvcall = 1 Then
    
    
    							; Output
    							$iText = "Das Laufwerk " & $aServers[$i][2] & " wurde verbunden." & @CRLF & ""
    							FileWrite($ilog, $iText)
    							$_FILE_Open = $ilog
    							$_FILE_ReadFile = FileRead($_FILE_Open)
    							GUICtrlSetData($eventmng, $_FILE_ReadFile)
    
    
    					EndIf
    
    
    ; Error Codes
    				Switch $drvCallError
    				Case "1"
    							; Output
    							$iText = "API Error Code" & @extended
    							FileWrite($ilog, $iText)
    							$_FILE_Open = $ilog
    							$_FILE_ReadFile = FileRead($_FILE_Open)
    							GUICtrlSetData($eventmng, $_FILE_ReadFile)
    				Case "2"
    							; Output
    							$iText = "access denied Error"
    							FileWrite($ilog, $iText)
    							$_FILE_Open = $ilog
    							$_FILE_ReadFile = FileRead($_FILE_Open)
    							GUICtrlSetData($eventmng, $_FILE_ReadFile)
    				Case "3"
    							; Output
    							$iText = "Device already mapped"
    							FileWrite($ilog, $iText)
    							$_FILE_Open = $ilog
    							$_FILE_ReadFile = FileRead($_FILE_Open)
    							GUICtrlSetData($eventmng, $_FILE_ReadFile)
    				Case "4"
    							; Output
    							$iText = "Invalid Device Name"
    							FileWrite($ilog, $iText)
    							$_FILE_Open = $ilog
    							$_FILE_ReadFile = FileRead($_FILE_Open)
    							GUICtrlSetData($eventmng, $_FILE_ReadFile)
    				Case "5"
    							; Output
    							$iText = "Invalid remote share"
    							FileWrite($ilog, $iText)
    							$_FILE_Open = $ilog
    							$_FILE_ReadFile = FileRead($_FILE_Open)
    							GUICtrlSetData($eventmng, $_FILE_ReadFile)
    				Case "6"
    							; Output
    							$iText = "Invalid Password"
    							FileWrite($ilog, $iText)
    							$_FILE_Open = $ilog
    							$_FILE_ReadFile = FileRead($_FILE_Open)
    							GUICtrlSetData($eventmng, $_FILE_ReadFile)
    			EndSwitch
    
    
    EndFunc
    
    
    While 1
    	$nMsg = GUIGetMsg(1)
    	Switch $nMsg[0]
    		Case $GUI_EVENT_CLOSE
    			Switch $nMsg[1]
    				Case $maindlg
    					Exit
    				Case Else
    					GUISetState(@SW_SHOW, $maindlg)
    					GUISetState(@SW_HIDE, $nMsg[1])
    					GUISwitch($maindlg)
    			EndSwitch
    
    
    
    
    		Case $btn_start;
    		FileDelete($ilog) ; Output Log wird gelöscht
    		_laufwerke()
    
    
    
    
      EndSwitch
    WEnd
    Exit
    Alles anzeigen
  • Changelog in GUI ausgeben

    • oliver4friends
    • 20. Mai 2017 um 16:38

    Super! Das mit dem Fokus nehmen hat geholfen. Jetzt kann ich das Teil fertig ausprogrammieren.

    Danke.

    Hier der FIX:

    Code
    #include <GUIConstantsEx.au3>
        #include <WindowsConstants.au3>
        #include <Date.au3>
    
    
        Dim $version = "Version 0.2.6"
        ;~ Dim $changelog = @WorkingDir & "Changelog.txt"
        Dim $changelog = "C:\Windows\WindowsUpdate.log" ; Zur Demonstration
    
    
        $hGUI= GUICreate("About", 613, 506)
    
    
        $Output =	GUICtrlCreateEdit("", 8, 90, 600, 380, $WS_VSCROLL)
    
    
        GUICtrlCreateLabel("Changelog " & $Version, 59, 11, 500, 20)
        GUICtrlSetFont(-1, 9, 800, 0, "MS Sans Serif")
        GUICtrlCreateLabel("(c) 2017" & @CRLF & @CRLF & "Company Name", 59, 30, 135, 40)
        GUICtrlCreateLabel("myname@company.com", 59, 70, 135, 15)
        GUICtrlSetFont(-1, 9, 800, 100, "MS Sans Serif")
        GUICtrlCreateLabel("Release Date: " & _DateTimeFormat(_NowCalc(), 2), 8, 480, 135, 15)
        $frmHaupt_cmdFormDiag = GUICtrlCreateButton("Diagnose", 475, 480, 135, 20)
    
    
        	$_ReadFile = FileRead($changelog)
        	GUICtrlSetData($Output, $_ReadFile)
    ; FIX
    	ControlFocus($hGUI, "", $frmHaupt_cmdFormDiag)
    
    
            GUISetState()
    
    
            While 1
                Switch GUIGetMsg()
                    Case $GUI_EVENT_CLOSE
                        ExitLoop
                EndSwitch
            WEnd
    Alles anzeigen
  • Changelog in GUI ausgeben

    • oliver4friends
    • 20. Mai 2017 um 15:29

    Hallo,

    Ich übe mich mit programmieren mit der AutoIt Skriptsprache, schreibe gerne das "Changelog" in eine Textdatei. Nun möchte ich diese in einer GUI ausgeben. Mein Code schaut bis jetzt so aus:
    Beim ausführen markiert er mir den eingelesenen Text, und das stört mich.

    Ich habe es schon versucht in ein GUICtrlCreateLabel reinzustellen, dann ist aber das Scrollen nicht mehr möglich. Habt ihr eine Idee dazu?

    Danke für die Hilfe!

    C
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Date.au3>
    
    
    Dim $version = "Version 0.2.6"
    ;~ Dim $changelog = @WorkingDir & "Changelog.txt"
    Dim $changelog = "C:\Windows\WindowsUpdate.log" ; Zur Demonstration
    
    
    GUICreate("About", 613, 506)
    
    
    $Output =	GUICtrlCreateEdit("", 8, 90, 600, 380, $WS_VSCROLL)
    
    
    GUICtrlCreateLabel("Changelog " & $Version, 59, 11, 500, 20)
    GUICtrlSetFont(-1, 9, 800, 0, "MS Sans Serif")
    GUICtrlCreateLabel("(c) 2017" & @CRLF & @CRLF & "Company Name", 59, 30, 135, 40)
    GUICtrlCreateLabel("myname@company.com", 59, 70, 135, 15)
    GUICtrlSetFont(-1, 9, 800, 100, "MS Sans Serif")
    GUICtrlCreateLabel("Release Date: " & _DateTimeFormat(_NowCalc(), 2), 8, 480, 135, 15)
    $frmHaupt_cmdFormDiag = GUICtrlCreateButton("Diagnose", 475, 480, 135, 20)
    
    
    	$_ReadFile = FileRead($changelog)
    	GUICtrlSetData($Output, $_ReadFile)
    
    
        GUISetState()
    
    
        While 1
            Switch GUIGetMsg()
                Case $GUI_EVENT_CLOSE
                    ExitLoop
            EndSwitch
        WEnd
    Alles anzeigen

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™