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. Lottich

Beiträge von Lottich

  • wie einloggen in meinen Linux-Receiver

    • Lottich
    • 10. August 2020 um 16:04

    Moombas den -mSchalter hab ich auch probiert. Das wurde nicht ausgeführt. Zumindest hat sich dadurch sofort das Konsolenfenster geschlossen und der reboot blieb aus.

    autoiter Das funktioniert :thumbup: Danke

  • wie einloggen in meinen Linux-Receiver

    • Lottich
    • 10. August 2020 um 15:40
    Zitat von autoiter

    Magst du vielleicht noch erzählen, was du machen möchtest?

    Ich will den Receiver einfach nur rebooten.

    Das kommt dann in eine Funktion, die beim Beenden des eigentlichen Scripts aufgerufen wird. Einfach nur die Box neu starten...

    Die Verbindung via ftp klappt prima, die ganzen Auswertungen meines Errorhandlings auch, was ne Heidenarbeit war. Aber ich

    krieg es nicht hin, dass sich die Kiste neu startet... schon frustrierend...

  • wie einloggen in meinen Linux-Receiver

    • Lottich
    • 10. August 2020 um 15:13

    soooo,

    mein Befehlsaufruf sieht so aus:

    ShellExecute(".\plink.exe", "root@192.168.2.99 -pw Passwort reboot")

    Dann kommt ein Consolenfenster mit der Meldung:

    "Using username "root".

    Access granted. Press Return to begin session."

    Zum einen muss ich Enter drücken, zum anderen wird nicht rebootet.

    Vermutlich liegt letzteres an falscher Syntax.

    - Wie muss die korrekte Syntax dafür aussehen?

    - Wie kann ich das Enter-drücken umgehen?

  • wie einloggen in meinen Linux-Receiver

    • Lottich
    • 10. August 2020 um 10:18

    Eine Mut@nt HD 51

    Hab das mit putty versucht. Klappt aber noch nicht so ganz wie ich will.

    Ich schreib heut nachmittag genaueres, bin grad auf der Knechterei

  • wie einloggen in meinen Linux-Receiver

    • Lottich
    • 7. August 2020 um 23:54

    Hi, gleich mal vorweg: die Wahrscheinlichkeit eines XY-Problems ist vermutlich höher als 50 %

    Ich will mich in meinen Linux Receiver einloggen und einen Befehl ausführen. Dabei soll das Ganze so einfach wie möglich gehalten werden.

    Auf dem Receiver läuft OpenWebIf.

    Meiner Meinung nach, wäre es am einfachsten sich darüber einzuloggen.

    ShellExecute("http://IPADRESSE:PORT")Das öffnet mir die Startseite. Einloggen kann ich mich dann über das Extra-Menü "Terminal"

    oder direkt mit dem Aufruf ShellExecute("http://IPADRESSE:PORT/terminal")

    Dann öffnet sich im Browser ein Reiter namens "Shell in a Box" wo ich mich dann einloggen will/muss.

    zuerst den Usernamen + Enter (dieser Vorgang ist noch sichtbar)

    danach das Passwort + Enter (dieser Vorgang ist nicht sichtbar, führt aber zum erfolgreichen Login, wenns PW stimmt)

    Dann geb ich meinen gewünschten Befehl "reboot + Enter" ein und zack, die Kiste rebootet....

    Manuell funktioniert das alles einwandfrei, aber ich bekomm es nicht hin, das Ganze zu automatisieren.

    Der Aufruf ShellExecute("http://USER:PASSWORT@IPADRESSE:PORT öffnet mir auch nur die Aufforderung zum Einloggen...

    Oder gibt es einen wesentlich besseren Weg, die Box neu zu starten? AUSSER den Weg über die Fernbedienung ^^

    Das Programm von mir ist schon recht brauchbar geworden. Und wenn ich die Box via meinem Tool rebooten kann, wäre das das I-Tüpfelchen.

  • Übersichtliches Skript, Skriptabschnitte verkleinern,...

    • Lottich
    • 6. Juni 2020 um 17:49

    #Region

    #EndRegion

    Das sollte genau das sein, was du suchst.

  • XML selectSingleNode

    • Lottich
    • 5. Juni 2020 um 22:36

    Hallo.

    Letztlich ist der Returnwert ja ein String. Ergo würde ICH mir durch stringsplit bzw stringbetween das gewünschte herausfiltern. Ich schreib dass grad vom Handy, darum kann ich dir kein beispiel posten. Das ist mir zu umständlich.

    Sollte aber kein problem sein, denn die beiden Schlagwörter sind ausführlich in der Hilfe dokumentiert 🙂

  • [Nim] Registry - Typ eines Schlüssels abfragen

    • Lottich
    • 26. April 2020 um 19:31

    Ist das wirklich problematisch? Für mich scheint es quasi wie in AutoIt die Select-Case-Condition zu sein. Da geht man ja quasi auch alles der Reihe nach durch.

  • RegEx gesucht

    • Lottich
    • 21. April 2020 um 12:42
    Zitat von alpines

    Also was bringen dir denn drei bis vier gesparte Codezeilen (und vielleicht paar µs Zeitersparnis) wenn der Code unverständlich wird.

    Das kann ich immer wieder bestätigen. Mir wird das immer wieder zum Verhängnis!

    Leicht lesbarer Code ist auf Dauer durch nichts zu ersetzen.

  • FB Code Optimierung

    • Lottich
    • 21. April 2020 um 12:38

    1: 66 - 67 FPS

    2: 50 FPS

    Ryzen7 1800x (a 8x3,90 GHz) -> 16 GB RAM -> Radeon RX 580 -> Win10x64 Pro 1909

  • MsgBox verlangsamt den Skriptablauf unter Win 10

    • Lottich
    • 5. April 2020 um 12:27

    Was ist denn mit folgender Theorie?

    Es ist nicht unbeabsichtigt, sondern von Microsoft gewollt! Da AutoIt eine recht leicht zu lernende Scriptsprache ist, die auch schon häufiger für Schadsoftware missbraucht wurde, haben die den WindowsDefender dahingehende modifiziert, dass erkannt wird, wenn eine autoit.exe gestattet wurde und diese dann zur Laufzeit analysiert und dabei ausgebremst wird?! Seit win10 werden beinahe alle exen von mir in quarantäne geschickt weil irgend etwas bösartiges gefunden wird! (Was aber jahrelang zuvor nicht registriert/beachtet wurde von irgendwelchen AV-Routinen)

  • Allgemeiner Meinungsaustausch zum Thema "Corona"

    • Lottich
    • 26. März 2020 um 11:38

    #homeoffice:

    Auf unserem Schichtplan steht unser ( !einziger! ) Schlosser mit homeoffice drin.

    Der schlossert dann von zu hause aus :D:D:D


    (Fiel mir ein, als ich das bild von bugfix sah. Passt gut dazu, wie ich finde)

  • Syntax RUN befehl

    • Lottich
    • 14. Januar 2020 um 20:34

    Run unterstützt dein Excel nicht!

    Steht auch in der Hilfe. Klappt nur mit folgenden Endungen:

    .exe

    .bat

    .com

    .pif

    MfG Lo..

  • Braucht man heutzutage noch ein Virenprogramm?

    • Lottich
    • 29. Oktober 2019 um 07:25

    ich würde nicht darauf verzichten. Selber nutze ich den Win-Defender. Mit dem Resultat, dass mir ständig meine eigenen *.exen weggelöscht werden! (Gut, sie werden in Quarantäne gesteckt.)

    Andauernd muss ich die wieder freigeben, obwohl ich die im selben Atemzug white-liste. Das nervt schon ordentlich!

  • Dynamisch erstellte Controls und While GuiGetMsg()

    • Lottich
    • 27. September 2019 um 19:53

    Ich wusste, dass es sowas simples ist!!! Das ärgert mcih schon ein wenig, dass ich da nicht selber drauf gekommen bin. Zumal mir das mit dem Durchnummerieren nicht neu ist.

    Dass "To" auch in dem Case stehen kann war mir nicht bewusst.

    Danke für deine schnelle Hilfe!

    PS: hab den Code im Startpost formatiert

  • Dynamisch erstellte Controls und While GuiGetMsg()

    • Lottich
    • 27. September 2019 um 19:14

    Hallo

    Im Zuge eines Programmupdates bin ich gezwungen, das bisher verwendete GUI abzuändern.

    Es handelt sich nun um 2 GUIs (1 Parent, 1 Child) und das Child-GUI ist jetzt scrollbar, weil darin eine unbekannte Anzahl

    an Buttons erstellt werden. ... das ist so nicht ganz richtig. ich bekomme die nötige Anzahl aus einer INI. Je nachdem welche

    Sektion gelesen wird entscheidet dann die Anzahl an Keys die Anzahl der zu erstellenden Buttons.

    Es können also 3 oder auch 78 sein...

    Die Darstellung (Scrollbalken sind nur dann sichtbar, wenn es wirklich nötig ist) und das

    Scrollen funktionieren nun mittlerweile prima.

    Nun zur aktuellen Problematik:

    Die Buttons, die ich im Child-GUI erstelle baue ich via For-Next-Schleife in einem Array

    $hBtnRechts[$i] = GUICtrlCreateButton(bla bla)

    Ich tue mich grad extrem schwer damit, die While WEnd Schleife aufzubauen, sodass ich die dynamischen Buttons ansprechen kann.

    Kann mir da mal jemand unter die Arme greifen??

    Wenn ihr das Script testet und auf einen der Buttons aus der rechten Seite klickt, sollte eine msgbox aufploppen.

    Ich kriegs nicht hin...

    _________________________

    Nachtrag::

    Das lauffähige Beispiel stürzt aktuell ab, wenn ein anderer Button als "Schicht A" geklickt wird! Das liegt am Versuch, die dyn. Buttons anzusprechen.

    Codezeilen 102 - 105

    Nachtrag 2::

    Code formatiert

    GuiScroll.au3 falls ihr diese nicht habt
    C
    #cs http://www.autoit.de/index.php…&postID=161092#post161092
    Functions:
    Scrollbar_Create($hWnd, $iBar, $iMax)
    Scrollbar_Scroll($hWnd, $iBar, $iPos)
    Scrollbar_GetPos($hWnd, $iBar)
    Scrollbar_Step($iStep, $hWnd=0, $iBar=0)
    #CE http://www.autoit.de/index.php…&postID=161092#post161092
    
    #include-once
    #include <GuiScrollBars.au3>
    #include <GuiconstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ScrollBarConstants.au3>
    
    Global $SCROLL_AMOUNTS[1][3]
    $SCROLL_AMOUNTS[0][0] = 1
    
    Func Scrollbar_Create($hWnd, $iBar, $iMax)
    Local $Size = WinGetClientSize($hWnd)
    
    If $iBar = $SB_HORZ Then
    $Size = $Size[0]
    ElseIf $iBar = $SB_VERT Then
    $Size = $Size[1]
    Else
    Return 0
    EndIf
    
    ReDim $SCROLL_AMOUNTS[UBound($SCROLL_AMOUNTS) + 1][3]
    $SCROLL_AMOUNTS[UBound($SCROLL_AMOUNTS) - 1][0] = $hWnd
    $SCROLL_AMOUNTS[UBound($SCROLL_AMOUNTS) - 1][1] = $iBar
    $SCROLL_AMOUNTS[UBound($SCROLL_AMOUNTS) - 1][2] = $SCROLL_AMOUNTS[0][0]
    
    _GUIScrollBars_EnableScrollBar($hWnd, $iBar)
    _GUIScrollBars_SetScrollRange($hWnd, $iBar, 0, $iMax - 1)
    _GUIScrollBars_SetScrollInfoPage($hWnd, $iBar, $Size)
    
    GUIRegisterMsg($WM_VSCROLL, "WM_VSCROLL")
    GUIRegisterMsg($WM_HSCROLL, "WM_HSCROLL")
    
    Return $iMax
    EndFunc   ;==>Scrollbar_Create
    
    Func Scrollbar_GetPos($hWnd, $iBar)
    Local $tSCROLLINFO = _GUIScrollBars_GetScrollInfoEx($hWnd, $iBar)
    Return DllStructGetData($tSCROLLINFO, "nPos")
    EndFunc   ;==>Scrollbar_GetPos
    
    Func Scrollbar_Scroll($hWnd, $iBar, $iPos)
    Local $tSCROLLINFO = _GUIScrollBars_GetScrollInfoEx($hWnd, $iBar)
    
    $iCurrentPos = DllStructGetData($tSCROLLINFO, "nPos")
    DllStructSetData($tSCROLLINFO, "nPos", $iPos)
    DllStructSetData($tSCROLLINFO, "fMask", $SIF_POS)
    _GUIScrollBars_SetScrollInfo($hWnd, $iBar, $tSCROLLINFO)
    
    If $iBar = $SB_VERT Then
    $iRound = 0
    For $i = 1 To UBound($SCROLL_AMOUNTS) - 1
    If $SCROLL_AMOUNTS[$i][0] = $hWnd And $SCROLL_AMOUNTS[$i][1] = $SB_VERT Then
    $iRound = $SCROLL_AMOUNTS[$i][2]
    EndIf
    Next
    If Not $iRound Then Return 0
    _GUIScrollBars_ScrollWindow($hWnd, 0, Round(($iCurrentPos - $iPos) / $iRound) * $iRound)
    ElseIf $iBar = $SB_HORZ Then
    $iRound = 0
    For $i = 1 To UBound($SCROLL_AMOUNTS) - 1
    If $SCROLL_AMOUNTS[$i][0] = $hWnd And $SCROLL_AMOUNTS[$i][1] = $SB_HORZ Then
    $iRound = $SCROLL_AMOUNTS[$i][2]
    EndIf
    Next
    If Not $iRound Then Return 0
    _GUIScrollBars_ScrollWindow($hWnd, Round(($iCurrentPos - $iPos) / $iRound) * $iRound, 0)
    Else
    Return 0
    EndIf
    Return 1
    EndFunc   ;==>Scrollbar_Scroll
    
    Func Scrollbar_Step($iStep, $hWnd = 0, $iBar = 0)
    If Not $hWnd Or Not $iBar Then
    $SCROLL_AMOUNTS[0][0] = $iStep
    Return 1
    EndIf
    $iID = 0
    For $i = 1 To UBound($SCROLL_AMOUNTS) - 1
    If $SCROLL_AMOUNTS[$i][0] = $hWnd And $SCROLL_AMOUNTS[$i][1] = $iBar Then
    $iID = $i
    ExitLoop
    EndIf
    Next
    
    If Not $iID Then Return 0
    $SCROLL_AMOUNTS[$iID][2] = $iStep
    Return 1
    EndFunc   ;==>Scrollbar_Step
    
    Func WM_VSCROLL($hWnd, $Msg, $wParam, $lParam)
    #forceref $Msg, $wParam, $lParam
    Local $nScrollCode = BitAND($wParam, 0x0000FFFF)
    Local $index = -1, $yChar, $yPos
    Local $Min, $Max, $Page, $Pos, $TrackPos
    ; Get all the vertial scroll bar information
    Local $tSCROLLINFO = _GUIScrollBars_GetScrollInfoEx($hWnd, $SB_VERT)
    $Min = DllStructGetData($tSCROLLINFO, "nMin")
    $Max = DllStructGetData($tSCROLLINFO, "nMax")
    $Page = DllStructGetData($tSCROLLINFO, "nPage")
    ; Save the position for comparison later on
    $yPos = DllStructGetData($tSCROLLINFO, "nPos")
    $Pos = $yPos
    $TrackPos = DllStructGetData($tSCROLLINFO, "nTrackPos")
    $iRound = 0
    For $i = 1 To UBound($SCROLL_AMOUNTS) - 1
    If $SCROLL_AMOUNTS[$i][0] = $hWnd And $SCROLL_AMOUNTS[$i][1] = $SB_VERT Then
    $iRound = $SCROLL_AMOUNTS[$i][2]
    EndIf
    Next
    If Not $iRound Then Return $GUI_RUNDEFMSG
    Switch $nScrollCode
    Case $SB_TOP ; user clicked the HOME keyboard key
    DllStructSetData($tSCROLLINFO, "nPos", $Min)
    Case $SB_BOTTOM ; user clicked the END keyboard key
    DllStructSetData($tSCROLLINFO, "nPos", $Max)
    Case $SB_LINEUP ; user clicked the top arrow
    DllStructSetData($tSCROLLINFO, "nPos", $Pos - $iRound)
    Case $SB_LINEDOWN ; user clicked the bottom arrow
    DllStructSetData($tSCROLLINFO, "nPos", $Pos + $iRound)
    Case $SB_PAGEUP ; user clicked the scroll bar shaft above the scroll box
    DllStructSetData($tSCROLLINFO, "nPos", $Pos - $Page)
    Case $SB_PAGEDOWN ; user clicked the scroll bar shaft below the scroll box
    DllStructSetData($tSCROLLINFO, "nPos", $Pos + $Page)
    Case $SB_THUMBTRACK ; user dragged the scroll box
    DllStructSetData($tSCROLLINFO, "nPos", Round($TrackPos / $iRound) * $iRound)
    EndSwitch
    
    ;~ // Set the position and then retrieve it. Due to adjustments
    ;~ // by Windows it may not be the same as the value set.
    DllStructSetData($tSCROLLINFO, "fMask", $SIF_POS)
    _GUIScrollBars_SetScrollInfo($hWnd, $SB_VERT, $tSCROLLINFO)
    _GUIScrollBars_GetScrollInfo($hWnd, $SB_VERT, $tSCROLLINFO)
    ;// If the position has changed, scroll the window and update it
    $Pos = DllStructGetData($tSCROLLINFO, "nPos")
    If ($Pos <> $yPos) Then
    _GUIScrollBars_ScrollWindow($hWnd, 0, $yPos - $Pos)
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc   ;==>WM_VSCROLL
    
    Func WM_HSCROLL($hWnd, $Msg, $wParam, $lParam)
    #forceref $Msg, $wParam, $lParam
    Local $nScrollCode = BitAND($wParam, 0x0000FFFF)
    Local $index = -1, $yChar, $yPos
    Local $Min, $Max, $Page, $Pos, $TrackPos
    ; Get all the vertial scroll bar information
    Local $tSCROLLINFO = _GUIScrollBars_GetScrollInfoEx($hWnd, $SB_HORZ)
    $Min = DllStructGetData($tSCROLLINFO, "nMin")
    $Max = DllStructGetData($tSCROLLINFO, "nMax")
    $Page = DllStructGetData($tSCROLLINFO, "nPage")
    ; Save the position for comparison later on
    $yPos = DllStructGetData($tSCROLLINFO, "nPos")
    $Pos = $yPos
    $TrackPos = DllStructGetData($tSCROLLINFO, "nTrackPos")
    $iRound = 0
    For $i = 1 To UBound($SCROLL_AMOUNTS) - 1
    If $SCROLL_AMOUNTS[$i][0] = $hWnd And $SCROLL_AMOUNTS[$i][1] = $SB_HORZ Then
    $iRound = $SCROLL_AMOUNTS[$i][2]
    EndIf
    Next
    If Not $iRound Then Return $GUI_RUNDEFMSG
    Switch $nScrollCode
    Case $SB_TOP ; user clicked the HOME keyboard key
    DllStructSetData($tSCROLLINFO, "nPos", $Min)
    Case $SB_BOTTOM ; user clicked the END keyboard key
    DllStructSetData($tSCROLLINFO, "nPos", $Max)
    Case $SB_LINEUP ; user clicked the top arrow
    DllStructSetData($tSCROLLINFO, "nPos", $Pos - $iRound)
    Case $SB_LINEDOWN ; user clicked the bottom arrow
    DllStructSetData($tSCROLLINFO, "nPos", $Pos + $iRound)
    Case $SB_PAGEUP ; user clicked the scroll bar shaft above the scroll box
    DllStructSetData($tSCROLLINFO, "nPos", $Pos - $Page)
    Case $SB_PAGEDOWN ; user clicked the scroll bar shaft below the scroll box
    DllStructSetData($tSCROLLINFO, "nPos", $Pos + $Page)
    Case $SB_THUMBTRACK ; user dragged the scroll box
    DllStructSetData($tSCROLLINFO, "nPos", Round($TrackPos / $iRound) * $iRound)
    EndSwitch
    
    ;~ // Set the position and then retrieve it. Due to adjustments
    ;~ // by Windows it may not be the same as the value set.
    DllStructSetData($tSCROLLINFO, "fMask", $SIF_POS)
    _GUIScrollBars_SetScrollInfo($hWnd, $SB_HORZ, $tSCROLLINFO)
    _GUIScrollBars_GetScrollInfo($hWnd, $SB_HORZ, $tSCROLLINFO)
    ;// If the position has changed, scroll the window and update it
    $Pos = DllStructGetData($tSCROLLINFO, "nPos")
    If ($Pos <> $yPos) Then
    _GUIScrollBars_ScrollWindow($hWnd, $yPos - $Pos, 0)
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc   ;==>WM_HSCROLL
    Alles anzeigen
    Das lauffähige Beispiel
    C
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=phone_icon_by_cemagraphics.ico
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    
    #Region Includes
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiScroll.au3>
    #include <String.au3>
    #include <Array.au3>
    #include <File.au3>
    #EndRegion Includes
    
    #Region GLOBAL VARIABLES
    Global $iNr_Release = 5, _
    $iNr_Update = 0, _
    $iNr_Fixes = 2
    
    Global $iAnzahl_Schicht = 10, _
    $iAnzahl_Buero = 25, _
    $iLinkeBreite = 150, _
    $iGuiBreit = 600, _
    $iGuiHoehe = 400, _
    $iAbstand1 = 10, _
    $iT = 52, _
    $iB = 52
    
    Global $sFile_Ini = @ScriptDir & "\Telefonliste 5.ini", _
    $sFile_Export = @ScriptDir & "\Exortfile.ini", _
    $sFile_Icon = @ScriptDir & "\phone_icon_by_cemagraphics.ico", _
    $sVersion = $iNr_Release & "." & $iNr_Update & "." & $iNr_Fixes
    $sGuiHaupt_Titel = "Telefonliste   v" & $sVersion
    
    Global $aStrings[6] = ["  Telefonbuch für den internen Gebrauch  ", "!!! DOKUMENT NUR FÜR DIE BETRIEBSLEITUNG !!!", "Telefonnummern Mitarbeiter", "!!! Datenschutz !!!", "Passworteingabe erforderlich!", "*M10"], _
    $aSectionen[7] = [6, "Büro", "Spezies", "Schicht A", "Schicht B", "Schicht C", "Fremdfirmen"]
    
    Global $hGuiHaupt, $hGuiScroll, $hLabelHeadline, $hBtnLinks[10], $hBtnRechts[1]
    #EndRegion GLOBAL VARIABLES
    
    #Region Initialisierung VOR dem Programmstart
    If Not FileExists($sFile_Ini) Then _CreateIni()
    GUIRegisterMsg($WM_VSCROLL, "WM_VSCROLL")
    GUIRegisterMsg($WM_MOUSEWHEEL, "_Mausrad")
    #EndRegion Initialisierung VOR dem Programmstart
    
    #Region Erstelle GUI + Controls
    $hGuiHaupt = GUICreate($sGuiHaupt_Titel, $iGuiBreit, $iGuiHoehe, -1, -1, Default, $WS_EX_TOOLWINDOW)
    GUISetBkColor(0xA6CAF0, $hGuiHaupt)
    GUISetIcon("shell32.dll", -58, $hGuiHaupt)
    GUICtrlCreateLabel($aStrings[0], 90, 10, 420, 32, $SS_CENTERIMAGE)
    GUICtrlSetFont(-1, 16, 800, 4, "Arial", 5)
    GUICtrlCreateIcon($sFile_Icon, -1, 036, 10, 32, 32)
    GUICtrlCreateIcon($sFile_Icon, -1, 530, 10, 32, 32)
    GUICtrlCreateLabel("", 000, 048, 600, 002, $SS_SUNKEN) ;Raumtrenner oben quer
    GUICtrlCreateLabel("", 000, 245, 150, 002, $SS_SUNKEN) ;Raumtrenner senkrecht
    GUICtrlCreateLabel("", 150, 050, 002, 350, $SS_SUNKEN) ;Raumtrenner mitte quer
    GUICtrlCreateLabel("", 000, 300, 600, 002, $SS_SUNKEN) ;Raumtrenner unten quer
    $hLabelHeadline = GUICtrlCreateLabel("", 160, 060, 430, 30, $SS_CENTER)
    GUICtrlSetFont(-1, 20, 800, 0, "Arial", 5)
    
    $hBtnLinks[0] = 30
    For $i = 1 To $aSectionen[0] ; hier werden die Sektionsbuttons erstellt ==> $hBtnLinks[0] war noch frei, dient nun als Abstandsmultiplikator
    $hBtnLinks[0] += 30
    $hBtnLinks[$i] = GUICtrlCreateButton($aSectionen[$i], 040, $hBtnLinks[0], 100, 025, BitOR($GUI_SS_DEFAULT_BUTTON, $SS_LEFT))
    GUICtrlSetFont(-1, 10)
    GUICtrlCreateIcon("shell32.dll", -44, 10, $hBtnLinks[0], 25, 25)
    Next
    
    ; Die ScrollGUI muss erstellt werden, damit WinGetClientSize() aus der GUIScroll-UDF keinen krit. Fehler schmeisst!!
    $hGuiScroll = GUICreate("", 440, 200, 155, 100, BitOR($WS_POPUP, $WS_GROUP, $WS_CLIPSIBLINGS), $WS_EX_MDICHILD, $hGuiHaupt)
    GUISetBkColor(0xA6CAF0, $hGuiScroll)
    #EndRegion Erstelle GUI + Controls
    
    GUISetState(@SW_SHOW, $hGuiHaupt)
    While 1
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[1]
    Case $hGuiHaupt ;        Hauptprogramm GUI
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hBtnLinks[1] ;        <--------------    klick auf ==> Büro
    _GuiScrollShow($aSectionen[1])
    Case $hBtnLinks[2] ;        <--------------    klick auf ==> Spezies
    _GuiScrollShow($aSectionen[2])
    Case $hBtnLinks[3] ;        <--------------    klick auf ==> Schicht A
    _GuiScrollShow($aSectionen[3])
    Case $hBtnLinks[4] ;        <--------------    klick auf ==> Schicht B
    _GuiScrollShow($aSectionen[4])
    Case $hBtnLinks[5] ;        <--------------    klick auf ==> Schicht C
    _GuiScrollShow($aSectionen[5])
    Case $hBtnLinks[6] ;        <--------------    klick auf ==> Fremdfirmen
    _GuiScrollShow($aSectionen[6])
    EndSwitch
    
    Case $hGuiScroll
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hBtnRechts[1], $hBtnRechts[2], $hBtnRechts[3], $hBtnRechts[4], $hBtnRechts[5], $hBtnRechts[6]
    For $iii = 1 To $hBtnRechts[0]
    If IsHWnd($hBtnRechts[$iii]) Then _ShowData(GUICtrlRead($hLabelHeadline), GUICtrlRead($hBtnRechts[$iii]))
    Next
    EndSwitch
    
    EndSwitch
    WEnd
    
    #Region Funktionsbaustellen
    Func _ShowData($sSektion, $sName)
    Local $Data1 = IniRead($sFile_Ini, _StringToHex($sSektion), _StringToHex($sName), "Fehler")
    ;~     Local $Data1 = IniRead($sFile_Ini, _HexToString($sSektion), _StringToHex($sName), "Fehler")
    ;~     Local $Data1 = IniRead($sFile_Ini, _StringToHex($sSektion), _HexToString($sName), "Fehler")
    ;~     Local $Data1 = IniRead($sFile_Ini, _HexToString($sSektion), _HexToString($sName), "Fehler")
    MsgBox(0,0,$Data1)
    EndFunc
    #EndRegion Funktionsbaustellen
    
    #Region fertig geglaubte Funktionen 
    Func _GuiScrollShow($Sektion)
    Local $aSektionsdaten = IniReadSection($sFile_Ini, _StringToHex($Sektion))
    If IsArray($aSektionsdaten) Then
    $iAbstand1 = 10
    GUIDelete($hGuiScroll)
    GUICtrlSetData($hLabelHeadline, $Sektion)
    If Int($aSektionsdaten[0][0]) > 5 Then
    $hGuiScroll = GUICreate("", 440, 200, 155, 95, BitOR($WS_POPUP, $WS_GROUP, $WS_VSCROLL, $WS_CLIPSIBLINGS), $WS_EX_MDICHILD, $hGuiHaupt)
    Scrollbar_Create($hGuiScroll, $SB_VERT, $aSektionsdaten[0][0] * 35)
    Scrollbar_Step(40, $hGuiScroll, $SB_VERT)
    Else
    $hGuiScroll = GUICreate("", 440, 200, 155, 95, BitOR($WS_POPUP, $WS_GROUP, $WS_CLIPSIBLINGS), $WS_EX_MDICHILD, $hGuiHaupt)
    Scrollbar_Step(0, $hGuiScroll, $SB_VERT)
    EndIf
    GUISetBkColor(0xA6CAF0, $hGuiScroll)
    ReDim $hBtnRechts[$aSektionsdaten[0][0] + 1]
    $hBtnRechts[0] = $aSektionsdaten[0][0]
    For $i = 1 To $aSektionsdaten[0][0]
    $hBtnRechts[$i] = GUICtrlCreateButton(_HexToString($aSektionsdaten[$i][0]), 80, $iAbstand1, 280, 30)
    GUICtrlSetFont(-1, 12)
    $iAbstand1 += 35
    Next
    EndIf
    GUISetState(@SW_SHOW, $hGuiScroll)
    EndFunc   ;==>_GuiScrollShow
    
    Func _Mausrad($hWnd, $Msg, $wParam)
    #forceref $Msg, $wParam
    If $wParam == "0x00780000" Then ; _Bild_rauf()
    For $i = 0 To 4 Step 1 ;1 mal kurz nach unten Scrollen - selber Effekt wie auf den Pfeil klicken
    WM_VSCROLL($hGuiScroll, 0x0, 0x00000000, 0)
    Next
    EndIf
    If $wParam == "0xFF880000" Then ; _Bild_runter()
    For $i = 0 To 4 Step 1 ;1 mal kurz nach oben Scrollen - selber Effekt wie auf den Pfeil klicken
    WM_VSCROLL($hGuiScroll, 0x0, 0x00000001, 0)
    Next
    EndIf
    EndFunc   ;==>_Mausrad
    
    Func _CreateIni()
    Local $hFO = FileOpen($sFile_Ini, 10)
    Local $sData = "[" & _StringToHex($aSectionen[1]) & "]" & _
    @CRLF & _StringToHex("Büro1 Name1") & "=" & _StringToHex("A0123456/12345678910") & _
    @CRLF & _StringToHex("Büro2 Name2") & "=" & _StringToHex("B0123456/12345678910") & _
    @CRLF & _StringToHex("Büro3 Name3") & "=" & _StringToHex("C0123456/12345678910") & _
    @CRLF & _StringToHex("Büro4 Name4") & "=" & _StringToHex("D0123456/12345678910") & _
    @CRLF & "[" & _StringToHex($aSectionen[2]) & "]" & _
    @CRLF & _StringToHex("Spezies1 Name1") & "=" & _StringToHex("A0123456/12345678910") & _
    @CRLF & _StringToHex("Spezies2 Name2") & "=" & _StringToHex("B0123456/12345678910") & _
    @CRLF & _StringToHex("Spezies3 Name3") & "=" & _StringToHex("C0123456/12345678910") & _
    @CRLF & "[" & _StringToHex($aSectionen[3]) & "]" & _
    @CRLF & _StringToHex("Schicht_A Name1") & "=" & _StringToHex("A0123456/12345678910") & _
    @CRLF & _StringToHex("Schicht_A Name2") & "=" & _StringToHex("B0123456/12345678910") & _
    @CRLF & _StringToHex("Schicht_A Name3") & "=" & _StringToHex("C0123456/12345678910") & _
    @CRLF & _StringToHex("Schicht_A Name4") & "=" & _StringToHex("D0123456/12345678910") & _
    @CRLF & _StringToHex("Schicht_A Name5") & "=" & _StringToHex("E0123456/12345678910") & _
    @CRLF & _StringToHex("Schicht_A Name6") & "=" & _StringToHex("F0123456/12345678910") & _
    @CRLF & _StringToHex("Schicht_A Name7") & "=" & _StringToHex("G0123456/12345678910") & _
    @CRLF & "[" & _StringToHex($aSectionen[4]) & "]" & _
    @CRLF & _StringToHex("Schicht_B Name1") & "=" & _StringToHex("A0123456/12345678910") & _
    @CRLF & _StringToHex("Schicht_B Name2") & "=" & _StringToHex("B0123456/12345678910") & _
    @CRLF & _StringToHex("Schicht_B Name3") & "=" & _StringToHex("C0123456/12345678910") & _
    @CRLF & _StringToHex("Schicht_B Name4") & "=" & _StringToHex("D0123456/12345678910") & _
    @CRLF & "[" & _StringToHex($aSectionen[5]) & "]" & _
    @CRLF & _StringToHex("Schicht_C Name1") & "=" & _StringToHex("A0123456/12345678910") & _
    @CRLF & _StringToHex("Schicht_C Name2") & "=" & _StringToHex("B0123456/12345678910") & _
    @CRLF & _StringToHex("Schicht_C Name3") & "=" & _StringToHex("C0123456/12345678910") & _
    @CRLF & "[" & _StringToHex($aSectionen[6]) & "]" & _
    @CRLF & _StringToHex("Fremde Name1") & "=" & _StringToHex("A0123456/12345678910") & _
    @CRLF & _StringToHex("Fremde Name2") & "=" & _StringToHex("B0123456/12345678910") & _
    @CRLF & _StringToHex("Fremde Name3") & "=" & _StringToHex("C0123456/12345678910")
    FileWrite($hFO, $sData)
    FileClose($hFO)
    EndFunc   ;==>_CreateIni
    #EndRegion fertig geglaubte Funktionen 
    ;~ ; End Of File
    Alles anzeigen
  • Console als txt

    • Lottich
    • 19. September 2019 um 18:44

    ich glaube, dass hier die Consolenausgabe von SciTE gemeint ist.

    Möglicherweise ist meine Antwort nicht korrekt, aber mir ist nur bekannt, dass du selbst Logfiles anlegen musst, wenn du das haben willst. Bin grad nicht am Rechner und weiss momentan den richtigen Befehl nicht.

    Irgendwas wie write_log() oder so.

    In der Hilfe wirst du da sicher schnell fündig werden.

  • Neue, aktualisierte UDF für den Windows Task Scheduler!

    • Lottich
    • 28. August 2019 um 21:55

    Das ist aber wirklich nur für die Optik.

    Erfahrungsgemäß sind Funktionen in AutoIt nicht case-sensitive.

    (groß/-kleinschreibung wird nicht beachtet)

  • Bestimmte zeilen aus Textdatei

    • Lottich
    • 23. August 2019 um 12:09

    warum macht ihr das denn so kompliziert? Wenn ich mir die zu prüfenden strings ansehe, würde ich schlichtweg mit StringSplit() arbeiten.

    Offenbar wird pro Zeile irgendwie alles benötigt, was jeweils durch ein Semikolon getrennt ist. Daher wär für mich stringsplit in einer for-to schleife die optimale Wahl.


    Ich schreib das grad vom handy, daher macht es sich schlecht für mich ein Beispiel einzufügen.

  • Zu : Danksagung von alpines bzgl. PassIt2 Betatest

    • Lottich
    • 3. Juni 2019 um 00:33

    in Ehren hälst du es ganz alleine.

    Wir sind lediglich die Nutznießer ;)

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™