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

Beiträge von MacG

  • Löscht alle Keys einer INI-Section

    • MacG
    • 26. April 2019 um 16:55

    Okay, verstanden. Die drei unterschiedlichen Listen von Error-Codes baue ich jetzt aber nicht noch ein. ;)

    Bitte nutzt die Alternative.

  • Löscht alle Keys einer INI-Section

    • MacG
    • 26. April 2019 um 16:15

    Genau, der Sektionsheader sollte in der Reihenfolge erhalten bleiben. Ich habe lange gesucht und nichts dazu gefunden. Dass nun IniWriteSection($sFilePath, $iniSection, '') genau das macht, was ich wollte, ist nirgends dokumentiert. :(

    Naja, egal. Danke für den Hinweis! Das Programm ist nun schlanker und die Funktion überflüssig. Wenigstens habe ich in der Zeit mit dem "Problem" auch etwas zu Arrays gelernt. ;)

  • Löscht alle Keys einer INI-Section

    • MacG
    • 26. April 2019 um 15:21

    Bei INI-Dateien mit mehr als 5 Keys pro Section fand ich es etwas umständlich, die Keys zu suchen, welche keinen Wert mehr haben. Also überlegte ich mir einen einfacheren Weg. Gut, es hat eine ganze Weile gedauert, bis es wie gewünscht funktionierte. ;) Nun möchte ich die Funktion mit Euch teilen.

    Mit _ini_delete_keys werden alle Keys einer Section gelöscht. Eine Fehler- bzw. Erfolgsausgabe gibt es nicht.

    Code: _ini_delete_keys
    #include <Array.au3>
    #include <File.au3>
    
    ; #FUNCTION# ====================================================================================================================
    ; Name ..........: _ini_delete_keys
    ; Description ...: Delete all keys of one INI-section
    ; Syntax ........: _ini_delete_keys($iniSection, $sFilePath)
    ; Parameters ....: $iniSection    - The section in which all keys should be deleted.
    ;                  $sFilePath     - The path to the INI-file
    ; Return values .: None
    ; Author ........: MacG (https://autoit.de)
    ; ===============================================================================================================================
    Func _ini_delete_keys($iniSection, $sFilePath)
        Local $aFileData
    
        _FileReadToArray($sFilePath, $aFileData)
    
        For $i = 1 To $aFileData[0]
            If StringInStr($aFileData[$i], $iniSection) Then
                $iDelBegin = $i + 1
                For $j = $iDelBegin To $aFileData[0]
                    If StringInStr($aFileData[$j], '[') Then
                        $iDelEnd = $j - 1
                        ExitLoop
                    EndIf
                Next
                ExitLoop
            EndIf
        Next
    
        For $i = $iDelBegin To $iDelEnd
            _ArrayDelete($aFileData, $iDelBegin)
        Next
    
        _ArrayInsert($aFileData, $iDelBegin, '') ;add a blank line to the section
    
        _FileWriteFromArray($sFilePath, $aFileData, 1)
    EndFunc ;==>_ini_delete_keys
    Alles anzeigen

    Direkt danach schreibe ich in meinem Programm die Keys dieser Section erneut in die INI-Datei. Damit sind die Keys auch immer gut sortiert, auch wenn mal später noch ein Key hinzugefügt wird.

    EDIT:

    Wie es weiter unten steht, nutzt: IniWriteSection($sFilePath, $iniSection, '') es bewirkt genau das Gleiche.

  • sortierbare Tabelle (ListView) auslesbar gestalten

    • MacG
    • 22. April 2019 um 20:58

    Vielen Dank für die zusätzlichen Erläuterungen.

  • sortierbare Tabelle (ListView) auslesbar gestalten

    • MacG
    • 21. April 2019 um 15:18

    Vielen Dank! Es lag also hauptsächlich am gleichen Namen für die Tabelle für die Sortier- und Auslesefunktion. Dass man da nicht von selbst drauf kommt?! :Face:

    Das _GUICtrlListView_Create ist anscheinend umfangreicher. Ich benötige die Tabelle nur bei den Einstellungen vom Programm. Sie ist also nicht der Hauptarbeitsbereich.

    Euch weiterhin Frohe Ostern!

  • sortierbare Tabelle (ListView) auslesbar gestalten

    • MacG
    • 20. April 2019 um 20:17

    Ich probiere schon seit einer Ewigkeit herum und finde den Fehler nicht. Wenn ich keine Zeile in der Tabelle auswähle, wird immer die erste Zeile ausgelesen. Auch nach dem ich die Tabelle mit Klick auf eine Spalte neu sortiert habe.

    Wähle ich aber eine Zeile aus, kommt kein Ergebnis. Da der Rückgabewert der Zeilennummer größer als die verfügbaren Zeilen in der Tabelle ist. 8|

    Also habe ich einen Korrekturwert von 9 eingetragenen. Danach habe ich festgestellt, dass ich die neu sortierte Tabelle nicht auslesen kann. Es wird meist eine andere als die selektierte Zeile ausgelesen.

    Ist es nicht möglich, eine sortierte Tabelle auszulesen? :/

    Im späteren Programm wird die Liste über vier Arrays gefüttert, für jede Spalte einen. Die Länge kann variieren.

    C
    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #include <WindowsConstants.au3>
    
    Global $hListView
    
    Local $iExListViewStyle = BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_GRIDLINES, $LVS_EX_DOUBLEBUFFER)
    
    GUICreate("ListView", 300, 300)
    
    $hListView = GUICtrlCreateListView("ID|Name|Min|Max", 10, 10, 280, 180, -1)
    _GUICtrlListView_SetExtendedListViewStyle($hListView, $iExListViewStyle)
    $ThrottleButton = GUICtrlCreateButton("Lesen:", 10, 200, 100, 20)
    $ThrottleID = GUICtrlCreateInput("", 120, 200, 35, 20)
    $ThrottleSteps = GUICtrlCreateInput("", 165, 200, 35, 20)
    $ThrottleMin = GUICtrlCreateInput("", 210, 200, 35, 20)
    $ThrottleMax = GUICtrlCreateInput("", 255, 200, 35, 20)
    
    
    GUICtrlCreateListViewItem("90|more_a|0|1", $hListView)
    GUICtrlCreateListViewItem("7|more_s|0|1", $hListView)
    GUICtrlCreateListViewItem("6|more_se|0|1", $hListView)
    GUICtrlCreateListViewItem("5|more_f|0|1", $hListView)
    GUICtrlCreateListViewItem("4|more_v|0|2", $hListView)
    GUICtrlCreateListViewItem("3|more_d|-1|1", $hListView)
    GUICtrlCreateListViewItem("2|more_z|0|80", $hListView)
    GUICtrlCreateListViewItem("1|more_e|0|100", $hListView)
    
    GUISetState(@SW_SHOW)
    
    _GUICtrlListView_RegisterSortCallBack($hListView)
    
    
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
            Case $idListView
                ; Kick off the sort callback
                _GUICtrlListView_SortItems($hListView, GUICtrlGetState($hListView))
            Case $ThrottleButton
                $iSelected = GUICtrlRead($hListView) - 9  ;ohne die 9 wird keine ausgewählte Zeile ausgelesen, da der Rückgabewert größer als die Länge der Liste ist
                $aLV = _GUICtrlListView_GetItemTextArray($hListView, $iSelected)
                GUICtrlSetData($ThrottleID, $aLV[1])
                GUICtrlSetData($ThrottleSteps, $aLV[2])
                GUICtrlSetData($ThrottleMin, $aLV[3])
                GUICtrlSetData($ThrottleMax, $aLV[4])
                ; MsgBox(0,"Ergebnis:",$iSelected & $aLV[1] & $aLV[2] & $aLV[3] & $aLV[4])
        EndSwitch
    WEnd
    
    _GUICtrlListView_UnRegisterSortCallBack($hListView)
    GUIDelete()
    Alles anzeigen
  • GUI resizeable gestalten

    • MacG
    • 2. April 2018 um 20:24

    Die GUI steht, das war Einiges an Arbeit und die war recht lehrreich. ;)

    Das Ändern der Größe funktioniert soweit wunderbar. Wenn man es übertreibt, wird es unansehnlich. Die, vor dem Start, anpassbare Fenstergröße sollte da Abhilfe schaffen.

    Die Tipps zu DPI und Höhe von alpines sind noch nicht eingeflossen. Nur ein Skalieren zu erlauben, klingt verlockend. Mir würde es reichen. Nur wie lege ich das fest? Dazu konnte ich nichts finden.

    Edit: das könnte es sein, gefunden auf Autoscript.com

    Dateien

    LOD_GUI_F.au3 28,25 kB – 440 Downloads
  • GUI resizeable gestalten

    • MacG
    • 29. März 2018 um 21:50

    alpines die 136 half mir weiter ;)

    Kanashius ob ich es schaffe Deinen Code zu verstehen, muss ich mal sehen :huh:

    Ich hatte heute erst wieder Zeit an der GUI zu arbeiten. Warum die weiße Schrift der Gruppen nicht funktionierte lag an den Themes von Windows. Die lassen kein Einfärben zu, siehe Hilfe zu GUICtrlSetColor. Deshalb habe ich jeder Gruppe

    AutoIt
    DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle($Group1), "wstr", 0, "wstr", 0)

    hinzugefügt.

  • GUI resizeable gestalten

    • MacG
    • 27. März 2018 um 15:53

    Danke! Du hast ja den zweiten Schritt vor meinem ersten ausgeführt. :huh:

    Das sind eine Menge Infos, die ich mal verarbeiten muss. ;)

    Die Zahl 136 bei der Formel für die Schriftgröße ist ein Erfahrungswert von Dir? Bzw. sollte diese Zahl abhängig vom DPI-Wert sein?

    Und noch eine letzte Frage für heute: Kann man eine minimale Größe für das Fenster festlegen, oder nur für Controls?

  • GUI resizeable gestalten

    • MacG
    • 27. März 2018 um 14:41

    Mach ich, nur ohne Koda. ;) Da dessen Ergebnis irgendwie nicht funktioniert. Und bei einem erneuten Koda-Aufruf der kxf-Datei sind die Labels kleiner und verschoben. :(

    C
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    
    Local $Blink = 1, $sec = @SEC
    
    #Region ### START Koda GUI section ### Form=G:\AutoIt\TS-Fireman\Koda LOD-GUI.kxf
    $Form1 = GUICreate("LOD - Main Operation Screen", 1001, 751, -1, -1)
    GUISetBkColor(0x000000)
    $Group2 = GUICtrlCreateGroup("Unit ID", 665, 0, 332, 75, BitOR($GUI_SS_DEFAULT_GROUP,$BS_CENTER))
    GUICtrlSetFont(-1, 16, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Label8 = GUICtrlCreateLabel("ARR 4004", 717, 32, 221, 40, $SS_CENTER)
    GUICtrlSetFont(-1, 24, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group3 = GUICtrlCreateGroup("", 0, 250, 87, 82)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group4 = GUICtrlCreateGroup("", 85, 250, 87, 82)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group5 = GUICtrlCreateGroup("", 170, 250, 87, 82)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group6 = GUICtrlCreateGroup("", 255, 250, 87, 82)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group7 = GUICtrlCreateGroup("", 340, 250, 87, 82)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Label13 = GUICtrlCreateLabel("HEAD" & @CRLF & "LIGHTS", 345, 260, 77, 67, $SS_CENTER) ;editiert
    GUICtrlSetFont(-1, 16, 800, 0, "Arial") ;editiert
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0xFFFBF0)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group8 = GUICtrlCreateGroup("", 573, 250, 87, 82)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group9 = GUICtrlCreateGroup("", 658, 250, 87, 82)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group10 = GUICtrlCreateGroup("", 743, 250, 87, 82)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group11 = GUICtrlCreateGroup("", 828, 250, 87, 82)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group12 = GUICtrlCreateGroup("", 913, 250, 87, 82)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group13 = GUICtrlCreateGroup("", 425, 250, 150, 82)
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Alerter = GUICtrlCreateLabel("ALERTER", 429, 259, 143, 70, BitOR($SS_CENTER,$SS_CENTERIMAGE))
    GUICtrlSetFont(-1, 18, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0x000000)
    GUICtrlSetBkColor(-1, 0xFF0000)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group14 = GUICtrlCreateGroup("", 573, 332, 87, 82)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group15 = GUICtrlCreateGroup("", 658, 332, 87, 82)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group16 = GUICtrlCreateGroup("", 743, 332, 87, 82)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group17 = GUICtrlCreateGroup("", 828, 332, 87, 82)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group18 = GUICtrlCreateGroup("", 913, 332, 87, 82)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group20 = GUICtrlCreateGroup("", 403, 332, 87, 82)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group21 = GUICtrlCreateGroup("", 488, 332, 87, 82)
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group19 = GUICtrlCreateGroup("ER", 2, 0, 165, 150, BitOR($GUI_SS_DEFAULT_GROUP,$BS_CENTER))
    GUICtrlSetFont(-1, 16, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Label1 = GUICtrlCreateLabel("111", 20, 48, 136, 93, $SS_CENTER)
    GUICtrlSetFont(-1, 60, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group22 = GUICtrlCreateGroup("BP", 170, 0, 165, 150, BitOR($GUI_SS_DEFAULT_GROUP,$BS_CENTER))
    GUICtrlSetFont(-1, 16, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Label2 = GUICtrlCreateLabel("110", 188, 48, 136, 93, $SS_CENTER)
    GUICtrlSetFont(-1, 60, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group23 = GUICtrlCreateGroup("Rear", 2, 152, 80, 75, BitOR($GUI_SS_DEFAULT_GROUP,$BS_CENTER))
    GUICtrlSetFont(-1, 16, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Label3 = GUICtrlCreateLabel("111", 14, 184, 58, 40, $SS_CENTER)
    GUICtrlSetFont(-1, 24, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group24 = GUICtrlCreateGroup("Flow", 86, 152, 80, 75, BitOR($GUI_SS_DEFAULT_GROUP,$BS_CENTER))
    GUICtrlSetFont(-1, 16, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Label4 = GUICtrlCreateLabel("31", 98, 184, 58, 40, $SS_CENTER)
    GUICtrlSetFont(-1, 24, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group1 = GUICtrlCreateGroup("MPH", 340, 0, 320, 150, BitOR($GUI_SS_DEFAULT_GROUP,$BS_CENTER))
    GUICtrlSetFont(-1, 16, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Label7 = GUICtrlCreateLabel("4.1", 428, 32, 144, 116, $SS_CENTER)
    GUICtrlSetFont(-1, 75, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group25 = GUICtrlCreateGroup("Main", 170, 152, 80, 75, BitOR($GUI_SS_DEFAULT_GROUP,$BS_CENTER))
    GUICtrlSetFont(-1, 16, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Label5 = GUICtrlCreateLabel("132", 182, 184, 58, 40, $SS_CENTER)
    GUICtrlSetFont(-1, 24, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group26 = GUICtrlCreateGroup("BC", 254, 152, 80, 75, BitOR($GUI_SS_DEFAULT_GROUP,$BS_CENTER))
    GUICtrlSetFont(-1, 16, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Label6 = GUICtrlCreateLabel("0", 266, 184, 58, 40, $SS_CENTER)
    GUICtrlSetFont(-1, 24, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group27 = GUICtrlCreateGroup("Distance Counter", 665, 75, 332, 75, BitOR($GUI_SS_DEFAULT_GROUP,$BS_CENTER))
    GUICtrlSetFont(-1, 16, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Label9 = GUICtrlCreateLabel("0 feet", 717, 107, 220, 40, $SS_RIGHT)
    GUICtrlSetFont(-1, 24, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group28 = GUICtrlCreateGroup("Power", 340, 152, 320, 75, BitOR($GUI_SS_DEFAULT_GROUP,$BS_CENTER))
    GUICtrlSetFont(-1, 16, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Label10 = GUICtrlCreateLabel("120 Amps", 488, 184, 148, 40, $SS_RIGHT)
    GUICtrlSetFont(-1, 24, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group29 = GUICtrlCreateGroup("Throttle", 665, 152, 164, 75, BitOR($GUI_SS_DEFAULT_GROUP,$BS_CENTER))
    GUICtrlSetFont(-1, 16, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Label11 = GUICtrlCreateLabel("N 1", 717, 184, 54, 40, $SS_RIGHT)
    GUICtrlSetFont(-1, 24, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Group30 = GUICtrlCreateGroup("Reverser", 833, 152, 164, 75, BitOR($GUI_SS_DEFAULT_GROUP,$BS_CENTER))
    GUICtrlSetFont(-1, 16, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0xFFFFFF)
    $Label12 = GUICtrlCreateLabel("FWD", 853, 184, 120, 40, $SS_CENTER)
    GUICtrlSetFont(-1, 24, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    
    While 1
    
        $nMsg = GUIGetMsg()
    
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
        EndSwitch
    
        _BlinkText($Alerter, 0xFF0000)
    
        GUICtrlSetData($Label6, $sec)
    
    WEnd
    
    Func _BlinkText($BlinkLabel,$BlinkColor)
        If @SEC <> $sec Then
            $sec = @SEC
            If $Blink Then
                GUICtrlSetBkColor($BlinkLabel, 0x000000)
            Else
                GUICtrlSetBkColor($BlinkLabel, $BlinkColor)
            EndIf
            $Blink = Not $Blink
        EndIf
    EndFunc
    Alles anzeigen
  • GUI resizeable gestalten

    • MacG
    • 27. März 2018 um 13:46

    Für die Standard Resizing-Funktionen ist es also unerheblich wie die Anordnung für die Fenstergröße beim Start erstellt wird.

    Dann kann ich ja mit der Erstellung der GUI anfangen und dann die Optionen der GUICtrlSetResizing hinzufügen und schauen wie es sich auswirkt. Das Beispielskript der Funktion gib einiges her, zeigt aber auch deren Schwächen auf (Überlagerung etc.). Ich bin gespannt auf mein Ergebnis ;)

  • Hallo aus Sachsen

    • MacG
    • 27. März 2018 um 13:30

    Danke!

    Eine Menge ist es nicht, mehr als eine Hand voll vielleicht. Das ein oder andere kann ich vorstellen. Aber meist habe ich vorhandene Scripte nur an meine Bedürfnisse angepasst oder zusammengebracht. Wie eine Joystick_UDF und das Beispielskipt TCPSend.au3, welche die Grundlage für meinen TCP-Client bilden. Und dann noch Tage meiner Freizeit, um meine Vorstellungen, und die anderer User, einzubinden. ;)

  • GUI resizeable gestalten

    • MacG
    • 27. März 2018 um 13:18

    Bisher bin ich bei AutoIt gut mit einem statischen GUI ausgekommen. Jetzt möchte ich eine Anzeige erstellen, welche mit unterschiedlichen Fenstergrößen läuft. Vollbild auf einem kleinen Zusatzmonitor ist das Ziel. Nur sind eben die Auflösungen nicht immer gleich und dann kommt noch das Seitenverhältnis hinzu. Früher waren es 4:3 und heutzutage ist irgendetwas um die 16:9 der Standard. :rolleyes:

    Ich habe schon GUIs mit Variablen erstellt. Wer hat zum Beispiel Lust, bei 32 möglichen Joystick-Tasten für jede einzelne die Position eines Radio-Buttons festzulegen. Ich hatte sie nicht. ;)

    Da ich ein Display aus einer realen Lokomotive darstellen möchte, werde ich da auch mit Variablen arbeiten. Mit Koda habe ich den Anhang erstellt, aber als Script wird mir z.Bsp. die Gruppenbezeichnung nicht angezeigt. :/ Deshalb wieder per Hand und besser (siehe "HEAD" eigentlich HEADLIGHTS zweizeilig).

    LOD.png

    Die Koordinaten und die Größe der Gruppen und Labels möchte ich anhand der Aufteilung festlegen. Hier mal als Beispiel:

    für die ganz rechte obere Gruppe "Unit ID" etwa so:

    • left: 1/3 der Fensterbreite plus zwei Pixel Freiraum
    • top: 0
    • width: 1/3 der Fensterbreite minus vier Pixel Freiraum
    • height: 1/10 der Fensterhöhe

    für die Gruppe "Distance Counter" darunter so:

    • left: 1/3 der Fensterbreite plus zwei Pixel Freiraum
    • top: 0 plus 1/10 der Fensterhöhe
    • width: 1/3 der Fensterbreite minus vier Pixel Freiraum
    • height: 1/10 der Fensterhöhe

    usw.

    Ist dies denn für die Veränderung der Fenstergröße hilfreich, wenn die GUI mit Variablen erstellt wird? Oder muss ich ganz anders ansetzen?

    Bezüglich Seitenverhältnis muss wohl eine zweite GUI her, das Vorbild ist halt 4:3 und das passt einfach nicht auf 16:9.

  • Hallo aus Sachsen

    • MacG
    • 27. März 2018 um 12:15

    Ich bin 43 und selbständiger Zahntechniker. Seit 10 Jahren nutze ich AutoIt für kleinere Programme, wie einen FTP-Uploader und einen TCP-Client für das Spiel "Train Simulator".

    Letzterer setzt Bewegungen von Joysticks und dessen Tasten in Befehle für das Spiel um. Jetzt bin ich dabei, einen weiteren TCP-Client zu schreiben, welcher Daten vom Spiel anzeigen soll. Mehr zu meinen Problemchen schreibe ich in einem anderen Topic. ;)

    Viele Grüße

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™