• Offizieller Beitrag

    Habe eben 0.88 Beta auf meinem Schlepptop installiert, alles Grundeinstellung.
    1. Programmstart hat geklappt. Nach schließen und neustart, funzt es nicht mehr.autoit.de/wcf/attachment/16172/

    Edit: Der Fehler ist reproduzierbar.
    Sobald man einen neuen Skin auswählt, diesen speichert und dann neu startet, kommt der obige Fehler.

    Edit2: Sobal man skin=irgendwas aus der Config.ini löscht, bekommt man keinen Fehler mehr und das Prog startet.
    Scheinbar liegt der Fehler bei einer nicht deklarierten Variable, wenn der Skin aus der Ini gelesen wird.
    Btw: Deine Variablendeklaration eh ein Katastrophe, aber das hast du selbt ja schon angemerkt. ;)
    Bei den ganzen Variablendeklarationen in den Includes, anstatt im Hauptscript blickts sowieso nur du durch. :D

  • Habe eben 0.88 Beta auf meinem Schlepptop installiert, alles Grundeinstellung.
    1. Programmstart hat geklappt. Nach schließen und neustart, funzt es nicht mehr.autoit.de/wcf/attachment/16172/

    Edit: Der Fehler ist reproduzierbar.
    Sobald man einen neuen Skin auswählt, diesen speichert und dann neu startet, kommt der obige Fehler.

    Edit2: Sobal man skin=irgendwas aus der Config.ini löscht, bekommt man keinen Fehler mehr und das Prog startet.
    Scheinbar liegt der Fehler bei einer nicht deklarierten Variable, wenn der Skin aus der Ini gelesen wird.
    Btw: Deine Variablendeklaration eh ein Katastrophe, aber das hast du selbt ja schon angemerkt. ;)
    Bei den ganzen Variablendeklarationen in den Includes, anstatt im Hauptscript blickts sowieso nur du durch. :D

    Danke! Ich habe diesen kritischen Bug noch schnell behoben. Das Update kann bereits von meiner Homepage oder direkt im ISN bezogen werden!

  • fileviewer.au3
    Linie 42
    Source: $filetype = stringtrimleft($imagefile,StringInStr($imagefile,"."))
    zu modifizieren: $filetype = stringtrimleft($imagefile,StringInStr($imagefile,".", 0, -1))

  • Verbesserungsvorschläge_

    Was ganz kleines...beim MsgBox-Generator, werden "" die man in s Contentfeld schreibt, später als '' eingefügt...meiner Meinung nach sollten sich aber nicht die Anführungszeichen INNERHALB des Contents anpassen sondern die, die den Content umgeben.
    Sprich:
    MsgBox(0, "Titel", "Drücken Sie nicht 'OK'")
    MsgBox(0, "Titel", 'Drücken Sie nicht auf "OK"')

    Hoffentlich ist das jetzt nicht spitzfindig :whistling:

    Fehler:

    Des weiteren hatte ich gestern einen Absturz:
    Als ich im Programm den Menupunkt "Neues Projekt" angeklickt habe und nach der Eingabe der Details des Programms, das Projekt anlegen wollte...PEWWW
    Der Fehler ist leider bissher nicht reproduzierbar (auch mit eingabe der genau gleichen Daten).

    Und gerade als ich diesen Kommentar geschrieben habe, wollte ich es öffnen und dann kam "Variable used without beeing declared"

    Ich werde dir leider keine grosse Hilfe sein können, wenn es darum geht die Ursachen für Fehler herauszufinden. Dafür klicke ich die Meldungen einfach viel zu schnell weg :pinch:

    Ach ja, ich benutze die v0.88 Beta

    greez

    Bild1: Ich beim debuggen

  • Hallo ISI360,
    Ich hab mir ein paar Gedanken zu deinem *.ISF Dateien gemacht, bzw. dem Umwandeln von der AutoIt GUI in dein Format.
    Hier mal zwei Beispiele mit Regex, um die jeweiligen Werte rauszukriegen:

    GUI RegEx
    Code
    GUI Name: (?<=GUICreate\(\"|GUICreate\(\')(.*[^"'])((?=")|(?='))
    GUI HANDLE: (?<=\$)(.*?)(?=\s\=\sGUICreate)
    GUI LEFT : (?<=GUICreate\((\"|\').*?(\"|\')\,\s?)(.*?)(?=,)
    GUI TOP: (?<=GUICreate\((\"|\').*?(\"|\')\,\s?(\$.*|\w*)\,\s?)(.*?)(?=\,)
    GUI WIDTH : (?<=GUICreate\((\"|\').*?(\"|\')\,\s?(\$.*|\w*)\,\s*(\$.*|\w*)\,\s*)(.*?)(?=\,)
    GUI HEIGHT : (?<=GUICreate\((\"|\').*?(\"|\')\,\s?(\$.*|\w*)\,\s*(\$.*|\w*)\,\s*(\$.*|\w*)\,\s*)(.*?)(?=\,)
    GUI STYLE: (?<=GUICreate\((\"|\').*?(\"|\')\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?)(Bit(.*?\))(?=\,)|(\$.*)(?=\,)|(.\w?)(?=\,))
    GUI EXSTYLE: (?<=GUICreate\((\"|\').*?(\"|\')\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(Bit(.*?\))\,|(\$.*)\,|(.\w?)\,)\s?)(Bit(.*?\))(?=\,)|(\$.*)(?=\,)|(.\w?)(?=\,))
    GUI PARENT: (?<=GUICreate\((\"|\').*?(\"|\')\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(Bit(.*?\))\,|(\$.*)\,|(.\w?)\,)\s?(Bit(.*?\))\,|(\$.*)\,|(.\w?)\,)\s?)(.*?)(?=\))
    Button RegEx
    Code
    Button Name: (?<=GUICtrlCreateButton\(\"|GUICtrlCreateButton\(\')(.*[^"'])((?=")|(?='))
    Button HANDLE: (?<=\$)(.*?)(?=\s\=\sGUICtrlCreateButton)
    Button LEFT : (?<=GUICtrlCreateButton\((\"|\').*?(\"|\')\,\s?)(.*?)(?=,)
    Button TOP: (?<=GUICtrlCreateButton\((\"|\').*?(\"|\')\,\s?(\$.*|\w*)\,\s?)(.*?)(?=\,)
    Button WIDTH : (?<=GUICtrlCreateButton\((\"|\').*?(\"|\')\,\s?(\$.*|\w*)\,\s*(\$.*|\w*)\,\s*)(.*?)(?=\,)
    Button HEIGHT : (?<=GUICtrlCreateButton\((\"|\').*?(\"|\')\,\s?(\$.*|\w*)\,\s*(\$.*|\w*)\,\s*(\$.*|\w*)\,\s*)(.*?)(?=\,)
    Button STYLE: (?<=GUICtrlCreateButton\((\"|\').*?(\"|\')\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?)(Bit(.*?\))(?=\,)|(\$.*)(?=\,)|(.\w?)(?=\,))
    Button EXSTYLE: (?<=GUICtrlCreateButton\((\"|\').*?(\"|\')\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(Bit(.*?\))\,|(\$.*)\,|(.\w?)\,)\s?)(Bit(.*?\))(?=\,)|(\$.*)(?=\,)|(.\w?)(?=\,))

    Andere, ähnliche Create Funktionen (Format ( "text", left, top [, width [, height [, style [, exStyle]]]] ) solltest du damit auch hinkriegen können ;)

  • @Kaboom Eher garnicht anpassen. Wenn der Content Ich bin ein "Test" ist, dann gibt es verschiedene Möglichkeiten, das Ziel zu erreichen:
    Nummer 1:

    [autoit]


    MsgBox(0,"Titel",'Ich bin ein "Test"')

    [/autoit]


    Nummer 2:

    [autoit]


    MsgBox(0,"Titel","Ich bin ein ""Test""")

    [/autoit]

    Funktioniert einwandfrei. ;)

    lg chess

  • Empfehlungen, fügen Sie zum Fenster Exit-Function sparen:

  • Hallo ISI360,
    Ich hab mir ein paar Gedanken zu deinem *.ISF Dateien gemacht, bzw. dem Umwandeln von der AutoIt GUI in dein Format.
    Hier mal zwei Beispiele mit Regex, um die jeweiligen Werte rauszukriegen:

    GUI RegEx
    Code
    GUI Name: (?<=GUICreate\(\"|GUICreate\(\')(.*[^"'])((?=")|(?='))
    GUI HANDLE: (?<=\$)(.*?)(?=\s\=\sGUICreate)
    GUI LEFT : (?<=GUICreate\((\"|\').*?(\"|\')\,\s?)(.*?)(?=,)
    GUI TOP: (?<=GUICreate\((\"|\').*?(\"|\')\,\s?(\$.*|\w*)\,\s?)(.*?)(?=\,)
    GUI WIDTH : (?<=GUICreate\((\"|\').*?(\"|\')\,\s?(\$.*|\w*)\,\s*(\$.*|\w*)\,\s*)(.*?)(?=\,)
    GUI HEIGHT : (?<=GUICreate\((\"|\').*?(\"|\')\,\s?(\$.*|\w*)\,\s*(\$.*|\w*)\,\s*(\$.*|\w*)\,\s*)(.*?)(?=\,)
    GUI STYLE: (?<=GUICreate\((\"|\').*?(\"|\')\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?)(Bit(.*?\))(?=\,)|(\$.*)(?=\,)|(.\w?)(?=\,))
    GUI EXSTYLE: (?<=GUICreate\((\"|\').*?(\"|\')\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(Bit(.*?\))\,|(\$.*)\,|(.\w?)\,)\s?)(Bit(.*?\))(?=\,)|(\$.*)(?=\,)|(.\w?)(?=\,))
    GUI PARENT: (?<=GUICreate\((\"|\').*?(\"|\')\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(Bit(.*?\))\,|(\$.*)\,|(.\w?)\,)\s?(Bit(.*?\))\,|(\$.*)\,|(.\w?)\,)\s?)(.*?)(?=\))
    Button RegEx
    Code
    Button Name: (?<=GUICtrlCreateButton\(\"|GUICtrlCreateButton\(\')(.*[^"'])((?=")|(?='))
    Button HANDLE: (?<=\$)(.*?)(?=\s\=\sGUICtrlCreateButton)
    Button LEFT : (?<=GUICtrlCreateButton\((\"|\').*?(\"|\')\,\s?)(.*?)(?=,)
    Button TOP: (?<=GUICtrlCreateButton\((\"|\').*?(\"|\')\,\s?(\$.*|\w*)\,\s?)(.*?)(?=\,)
    Button WIDTH : (?<=GUICtrlCreateButton\((\"|\').*?(\"|\')\,\s?(\$.*|\w*)\,\s*(\$.*|\w*)\,\s*)(.*?)(?=\,)
    Button HEIGHT : (?<=GUICtrlCreateButton\((\"|\').*?(\"|\')\,\s?(\$.*|\w*)\,\s*(\$.*|\w*)\,\s*(\$.*|\w*)\,\s*)(.*?)(?=\,)
    Button STYLE: (?<=GUICtrlCreateButton\((\"|\').*?(\"|\')\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?)(Bit(.*?\))(?=\,)|(\$.*)(?=\,)|(.\w?)(?=\,))
    Button EXSTYLE: (?<=GUICtrlCreateButton\((\"|\').*?(\"|\')\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(Bit(.*?\))\,|(\$.*)\,|(.\w?)\,)\s?)(Bit(.*?\))(?=\,)|(\$.*)(?=\,)|(.\w?)(?=\,))

    Andere, ähnliche Create Funktionen (Format ( "text", left, top [, width [, height [, style [, exStyle]]]] ) solltest du damit auch hinkriegen können ;)


    VIELEN VIELEN DANK! Sehr nützlich das ganze!!!!! :thumbup::thumbup::thumbup:

    Nur einige Werte bekomme ich leider nicht (oder mach ich was falsch)...

    Hier zb. soll anhand deines Beispieles der Style Wert ermittelt werden:

    [autoit]


    ;Style der GUI
    $line = '$Form1111 = GUICreate("Form1", 615, 438, 192, 124,$WS_POPUP, BitOR($WS_EX_LAYERED, $WS_EX_MDICHILD))'
    $result = StringRegExp ($line, '(?<=GUICreate\((\"|\'&"').*?(\"&'"|\'&"')\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?(\$.*|\w*)\s?\,\s?)(Bit(.*?\))(?=\,)|(\$.*)(?=\,)|(.\w?)(?=\,))" ,1)
    if IsArray($result) AND @error = 0 Then
    msgbox(0,"j",$result[0])
    EndIf

    [/autoit]

    -> Kommt bei mir leider nichts raus :(
    -> -> Handle und Name funktionieren hingegen perfekt!

  • Reference:

    Einmal editiert, zuletzt von wyf131738 (7. September 2012 um 11:17)

  • Reference:

    Code
    Func _try_undo()
     If _GUICtrlTab_GetItemCount($htab) = 0 Then Return;
     SendMessage($SCE_EDITOR[_GUICtrlTab_GetCurFocus($htab)], $SCI_UNDO, 0, 0)
     SendMessage($SCE_EDITOR[_GUICtrlTab_GetCurFocus($htab)], $SCI_UNDO, 0, 0); Dies ist notwendig!
    ; ====================================================
    Func _try_redo();
     If _GUICtrlTab_GetItemCount($htab) = 0 Then Return;
     SendMessage($SCE_EDITOR[_GUICtrlTab_GetCurFocus($htab)], $SCI_REDO, 0, 0);
     SendMessage($SCE_EDITOR[_GUICtrlTab_GetCurFocus($htab)], $SCI_REDO, 0, 0); Dies ist notwendig!
  • Also ich muss sagen, ich finde das Teil immer noch toll.. :thumbup:

    Ich hab aber noch eine bitte. Man kann in den Einstellungen, den Pfad zur Hilfe-Datei von Autoit angeben. Allerdings kann man dort nur die orginale Datei auf englisch auswählen. Ich benutze aber die Deutsche. Kannst du bitte die "Sperre" aufheben? (Ich weiss, ich könnte die Deutsch Datei umbenennen^^). Und das zweite ist. Ich habe 2 Hilfedateien, einmal die Autoit-Grundfunktionen und die der UDFs. Ist es möglich, das mann 2 Hilfe-Dateien angeben kann? Ein cooles extra währe halt noch, wenn der Cursor auf einer Funktion ist, und wenn mann dann F1 drückt, das die entsprechende Hilfe angezeigt wird. Das funktioniert jetzt schon, mit UDFs wärs allerdings auch cool. ^^ :thumbup:

  • hi, wann kann man den mal mit nem neuen update rechnen?
    ich hab schon einige bugs gemeldet, und solange die nicht gefixed sind, kann ich damit nicht arbeiten, deshalb is bei mir in sachen autoit schon seit zwei/drei monaten nichts mehr passiert, was ich eigentlich ziemlich schade finde

    MFG inventor

    MFG inventor

    wenn's weitere Fragen gibt -> PN
    wenn da keine Antwort kommt, überdenk deine Frage noch mal

  • hi, wann kann man den mal mit nem neuen update rechnen?
    ich hab schon einige bugs gemeldet, und solange die nicht gefixed sind, kann ich damit nicht arbeiten, deshalb is bei mir in sachen autoit schon seit zwei/drei monaten nichts mehr passiert, was ich eigentlich ziemlich schade finde

    MFG inventor


    Hi, also zuerst: nein das ISN ist noch nicht tot! ;) (Noch lange nicht :P)

    Aber ich komme aktuell leider wirklich zu gar nichts (Wohnungsumbau) und daher würde ich sagen, dass die 0.9er Version wahrscheinlich NICHT mehr vor 2013 erscheinen wird.
    Sobald ich wieder Zeit finde versuche ich das ganze schnellst möglich über die Bühne zu bringen...aber aktuell bitte ich euch noch um Geduld. sry

  • Hey Isi360,
    mir ist neulich mal wieder was eingefallen was du noch in deine IDE eibauenn könntest:
    Ein Taschenrechner!! 8o
    Wenn du den irgendwo geschickt einbauen könntest müsste man nicht immer den Windows Taschenrechner rauskramen müsste währe das echt toll.

    Ps.: Oder hast du das schon in den Weiten von ISN-AutoItStudio eingebaut?? ?(
    Ps.2: Ah man kann es in einen Regelslot einbauen :D

    mfg Yellow

    §1 Ich kann nicht für meine scripts inhaftiert werden, auch wenn bereits 3 Menschen erblindeten an den Folgen der Korrekturlesung.  8o

    Einmal editiert, zuletzt von YellowWeedSeed (10. Dezember 2012 um 21:01)

  • Ne also versteckt hab ich keinen meines wissens :P

    Aber du hast es ja schon herausgefunden am einfachsten ist es indem du einen Makroslot (ja ab 0.9 heist´s Makroslot bzw. nur Makros ^^) den Pfad zum Windows-Rechner zuweist. (Dann hast du ihn auch gleich in der Toolbar!)
    Und so nebenbei: ab 0.9 können die Makroslots auch via Hotkeys gestartet werden ;)

  • Höhrt sich gut an 8)
    Aber was du wirklich verbessern solltest ist die AutoComplete Funktion für Variablen.
    Denn sobald man ein #include hinzufügt dauert es recht lang bis etwas passiert :D
    Aber ich denk das weißt du eh schon ;)

    mfg Yellow

    §1 Ich kann nicht für meine scripts inhaftiert werden, auch wenn bereits 3 Menschen erblindeten an den Folgen der Korrekturlesung.  8o

  • hab ich ja ;D
    Aber ich würd autoComplete für die Includes ausschalten, es gibt kaum scripts ohne :D

    mfg Yellow

    §1 Ich kann nicht für meine scripts inhaftiert werden, auch wenn bereits 3 Menschen erblindeten an den Folgen der Korrekturlesung.  8o