Beiträge von Lottich
-
-
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...
-
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?
-
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
-
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.
-
#Region
#EndRegion
Das sollte genau das sein, was du suchst.
-
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 🙂
-
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.
-
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.
-
1: 66 - 67 FPS
2: 50 FPS
Ryzen7 1800x (a 8x3,90 GHz) -> 16 GB RAM -> Radeon RX 580 -> Win10x64 Pro 1909
-
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)
-
#homeoffice:
Auf unserem Schichtplan steht unser ( !einziger! ) Schlosser mit homeoffice drin.
Der schlossert dann von zu hause aus



(Fiel mir ein, als ich das bild von bugfix sah. Passt gut dazu, wie ich finde)
-
Run unterstützt dein Excel nicht!
Steht auch in der Hilfe. Klappt nur mit folgenden Endungen:
.exe
.bat
.com
.pif
MfG Lo..
-
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!
-
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
-
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
Alles anzeigen#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_HSCROLLDas lauffähige Beispiel
C
Alles anzeigen#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 -
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.
-
Das ist aber wirklich nur für die Optik.
Erfahrungsgemäß sind Funktionen in AutoIt nicht case-sensitive.
(groß/-kleinschreibung wird nicht beachtet)
-
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.
-
in Ehren hälst du es ganz alleine.
Wir sind lediglich die Nutznießer
