• Moin ISI360, das hatte ich beeits geschrieben ;)

    Ich beginne gerade ein neues größeres Prokjekt für die Arbeit und wollte eigendlich auch die GUI komplett im ISN Formstudio erstellen, anstatt per Hand in der au3.

    Das wird ein Tab-System ((5 Tabs) mit automatischer Texterstellung aufgrund der Ausfwahl des Tabs/Comboboxen/Radio-Buttons ;)

  • So ich habe mal kurz getestet, vorsichtshalber mit einem neuen leeren Projekt.
    Ich habe dann eine Form erstellt und diese dann geöffnet und siehe da auch hier ein heftiger Hänger aber nur kurz da die Form ja nur leer ist.

    Ich bin jetzt aber ziemlich sicher das hier unser liebees GDATA die Finger mit im Spiel hat und ihm das Formstudio nicht schmeckt.

  • Genau das kann ich leider nicht, GDATA hat ein seperates Passwort ;)
    Ich kann es zwar per Taskmanager abschießen aber GDATA startet relativ zügig wieder :D

    [Nachtrag]
    Ich mach das aktuelle Projekt erst mal per Hand mit SciTe + SciTe Jump weiter,
    da das Handling mit dem ISN Formstudio gerade in Bezug auf Tabs + Gruppierung von Controls noch nicht ganz so klappt wie es es benötige.

    Für eine grobe Strukturierung der GUI und dessen Controls reicht es erst mal, der Rest ist dann noch Fummelarbeit :D

    Achja zum Thema mit dem einfrieren des Formstudios, kann ich erstmal nur soviel sagen,
    das Formstudio bleibt definitiv erst beim einlesen der Controlshängen höngen und bei der Konstellation bei mir auf Arbeit wird sehr wahrscheinlich das olle GDATA dafür verantwortlich sein.
    Wobei es schon einen kurzen Hänger gibt wenn ich eine neue Form erstelle und diese dann öffne,
    also schmeckt GDATA dann wohl bei diesem diesem Vorgang etwas nicht. :whistling:

  • hmm falls du die möglichkeit hast (bzw. du das überhaupt darfst) kannst du den GDATA ja mal kurz deaktivieren und wieder testen...


    Sie kompilieren und ausführen AutoIT Version dieses Skript?

  • Nun erstreckt sich dieser Beitrag schon über 20 Seiten. Ein Zeichen dafür, dass es s ich um ein Super Programm handelt. Herzlichen Dank dafür und ein dickes Lob.

    Eine Frage habe ich. Ich bin dabei eine GUI zu erstellen auf der eine Listview enthalten ist. Wie kann ich diese Listview beeinflussen? Sprich, die Anzahl der Spalten ändern, Einträge machen usw.

    Danke schon im Voraus für eure Antworten
    v206

  • hmm falls du die möglichkeit hast (bzw. du das überhaupt darfst) kannst du den GDATA ja mal kurz deaktivieren und wieder testen...

    $position_element_unten = ControlGetPos(@GUI_WinHandle, "", $handle_element_unten[0]) ;aktuelle Position des unteren Elements des Splitters

    Der eigentliche Test:

    " $handle_element_unten[0] " Sie immer Equal " $Studiofenster "

  • Wenn die $Studiofenster < @DesktopWidth * @DesktopHeight ,
    $handle_element_unten=DllCall("user32.dll","hwnd","WindowFromPoint","int",$position_fenster[0]+$position_splitter[0]+30, "int", ($position_splitter[1])+50)
    $HSplitter_1 and $HSplitter_2 kann nicht eingestellt werden !

    modifizieren Source:
    $handle_element_unten=DllCall("user32.dll","hwnd","WindowFromPoint","int",$position_fenster[0]+$position_splitter[0], "int", ($position_splitter[1])+50)
    $HSplitter_1 and $HSplitter_2 All OK !

    :?::?::?:

  • Falls jemand interesse hat -> Ich bräuchte noch ein paar Ideen für den .au3 to .isf converter. Wie könnte man soetwas am besten lösen?

    Also zb. aus folgendem Code:

    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 615, 438, 192, 124,$WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD), $gui)
    $Button1 = GUICtrlCreateButton("Button1", 184, 120, 75, 25)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit][autoit][/autoit][autoit]

    EndSwitch
    WEnd

    [/autoit][autoit][/autoit][autoit][/autoit]

    Folgende .isf Datei zu erstellen:

    [autoit]


    [gui]
    handle=Form1
    title=Form1
    breite=192
    hoehe=124
    style=$WS_POPUP
    exstyle=$WS_EX_LAYERED+$WS_EX_MDICHILD
    parent=$gui

    [/autoit][autoit][/autoit][autoit]

    [0x00150E26blahblah...]
    code=
    type=button
    x=184
    y=120
    width=75
    height=25
    text=Button1
    state=80
    style=
    exstyle=

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    usw...

    [/autoit]

    Meine bisherigen versuche waren alle nicht so von erfolg gekrönt...^^

    Danke für die Hilfe! ;)

  • Hier mal für Form, analog dann für Button ect. umsetzbar. Mit Regexp sicher aber einfacher zu lösen:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <File.au3>
    #include <String.au3>
    $file = FileOpenDialog("Source",@DesktopDir & "\","Autoit (*.au3)")
    Dim $array
    _FileReadToArray($file,$array)
    $gui = _ArrayFindAll($array, "GUICreate", 0, 0, 0, 1)

    [/autoit] [autoit][/autoit] [autoit]

    For $element In $gui
    $handle = StringSplit($array[$element], "=", 2)
    IniWrite(@ScriptDir & "\test.isf", "gui", "handle", StringTrimLeft(StringStripWS($handle[0], 8), 1))

    [/autoit] [autoit][/autoit] [autoit]

    $titel = _StringBetween($array[$element], '"', '"')
    IniWrite(@ScriptDir & "\test.isf", "gui", "title", $titel[0])

    [/autoit] [autoit][/autoit] [autoit]

    $core = StringSplit(StringStripWS($handle[1], 8), ",", 2)
    IniWrite(@ScriptDir & "\test.isf", "gui", "breite", $core[1])
    IniWrite(@ScriptDir & "\test.isf", "gui", "hoehe", $core[2])

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    If StringInStr($core[5], "BitOR") Then
    $style = StringTrimLeft($core[5], 6)
    $corpoint = 6
    While 1
    If StringInStr($core[$corpoint], ")") Then
    $style = $style & "+" & StringTrimRight($core[$corpoint], 1)
    IniWrite(@ScriptDir & "\test.isf", "gui", "style", $style)
    ExitLoop
    Else
    $style = $style & "+" & $core[$corpoint]
    EndIf
    $corpoint = $corpoint + 1
    WEnd
    Else
    IniWrite(@ScriptDir & "\test.isf", "gui", "style", $core[5])
    $exstylepoint = 6
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If StringInStr($core[$exstylepoint], "BitOR") Then
    $exstyle = StringTrimLeft($core[$exstylepoint], 6)
    $exstylepoint = $exstylepoint + 1
    While 1
    If StringInStr($core[$exstylepoint], ")") Then
    $exstyle = $exstyle & "+" & StringTrimRight($core[$exstylepoint], 1)
    IniWrite(@ScriptDir & "\test.isf", "gui", "exstyle", $exstyle)
    ExitLoop
    Else
    $exstyle = $exstyle & "+" & $core[$exstylepoint]
    EndIf
    $exstylepoint = $exstylepoint + 1
    WEnd
    Else
    IniWrite(@ScriptDir & "\test.isf", "gui", "exstyle", $core[$exstylepoint])
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If UBound($core) > $exstylepoint Then
    IniWrite(@ScriptDir & "\test.isf", "gui", "parent", StringTrimRight($core[$exstylepoint + 1],1))
    EndIf
    Next

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Neuerungen ISN AutoIt Studio 0.88 BETA:

    --> ISN AutoIt Studio: <--
    -----------------------------------
    - Bugfix: Bugfix in der Suchfunktion
    - Bugfix: Scroll-Bug im Consolenfenster behoben
    - Bugfix: Bugfix im Splittersystem
    - Bugfix: Diverse Bugfixes
    - NEU: Im Projektbaum wird nun die TVExplorer UDF verwendet! (Schneller als das alte System)
    - NEU: Englisches Sprachupdate (thx to bvierra)
    - NEU: Im MsgBox Generator kann nun ein Handle definiert werden

    --> ISN Form Studio 2: <--
    -----------------------------------
    - NEU: Änderungen im Control Editor können nun einfach mit der ENTER Taste übernommen werden
    - NEU: Bei Bildschirmen mit einer extrem niedrigen Auflösung (zb. Netbooks) wird er Control Editor in der Höhe reduziert (Diese User müssen jedoch auf die 'Liste aller Controls' verzichten)
    - NEU: Wird das Form Studio 2 beendet wird nun zusätzlich abgefragt ob noch einmal gespeichert werden soll (falls sich etwas geändert hat)
    - Bugfix: Unter Windows XP werden die Tabs im Control Editor nun richtig dargestellt
    - Bugfix: Parent GUI wird nun richtig gespeichert und beim Testen der Form ignoriert
    - Bugfix: Diverse Bugfixes