• Hallo ISI360,

    zunächst einmal vielen Dank für diese großartige Software. Funktioniert bei mir soweit recht gut.

    Eines ist mir jedoch unangenehm aufgefallen.
    Du verwendest auf Deiner Webseite die Microsoft Logos "Kompatibel mit...".


    Ist Dir bekannt, dass Du diese Logos nur verwenden darfst, wenn Deine Software durch Microsoft getestet wurde?
    Weitere Informationen dazu findest Du hier: http://msdn.microsoft.com/de-de/windows/dd203105.aspx

    ISN AutoIt Studio läuft nur mit Administrator-Rechten unter Windows 7, wenn man es nach "C:\Program Files" installiert, welches der korrekte Ort für installierte Software ist. Ohne Administrator-Rechte können keine Einstellungen gespeichert werden.
    Schau Dir mal Seite 8 und folgende aus diesem Dokument an: http://go.microsoft.com/?linkid=9668061
    Da sind alle Voraussetzungen aufgeführt, die eine Software haben muss, um das Logo überhaupt verwenden zu dürfen.

    Außerdem werden Projekte und andere Daten standardmäßig im Programmverzeichnis abgelegt. Das sollte so eigentlich auch nicht sein.

    Nichts für ungut.

    Viele Grüße und weiterhin viel Spaß beim programmieren.
    M3d1c5

  • Hallo ISI360,

    ISN installiert sich Standardmäßig nach C:\ISN AutoIt Studio. Hier haben auch User schreib Rechte die keine Admin Rechte haben....


    Und genau das ist ja das Problem. Wenn mehrere Benutzer an einem Rechner mit der Software arbeiten wollen, dann müssen sie sich zwangsläufig dieselben Einstellungen teilen, da diese im Programmverzeichnis liegen.
    Wenn ein Benutzer zum Beispiel den Pfad zu seinem Projektverzeichnis in den Einstellungen von ISN ändert, dann ist das auch für alle anderen Benutzer auf dem gleichen Computer gültig...
    Nicht zu vergessen, dass das auch ein Sicherheitsproblem sein kann, wenn jeder Benutzer den Code aller anderen Benutzer sieht.

    Ich bin der Meinung, dass das noch geändert werden sollte.

    Viele Grüße
    M3d1c5

  • Hmm...grundsätzlich hast du ja recht. Da das ISN sehr viel mit temporären Dateien arbeitet ist dieser Schritt leider nicht ganz so leicht. Auch soll für User die das aktuelle "system" verwenden die Übernahme der Daten in das "neue System" (Speicherung der Daten im Benutzerprofil) leicht ermöglicht werden...ich werd mal sehen was sich machen lässt

    Aber zur Version 0.85 BETA (die nächste Woche erscheint) werd ich es noch so lassen wie es ist.
    Evtl. dann zur 0.9 BETA...

  • Ich versuche gerade ein größeres Script mit sehr vielen GUIs in ein ISN Projekt zu packen.
    Gibt es eine Möglichkeit GUI-Code, der im Script vorhanden ist als ISN GUI zu importieren, sodass ich die GUIs direkt in ISN bearbeiten kann?


  • Voller stolz darf ich euch nun das nächste Update des ISN AutoIt Studios präsentieren:

    Version 0.85 BETA ist Online! ;)

    Lang hat’s wieder gedauert...aber es hat sich gelohnt! Viele neue Features haben Einzug gehalten und viele viele Bugs wurden erschlagen! ;)

    Des Weiteren möchte ich erwähnen das ich mir nun einmal eine kurze Auszeit vom ISN gönnen werde (Urlaub ^^) ...soll heißen bis Version 0.9 BETA werde ich KEINE NEUEN Features in das ISN einbauen. Bis Version 0.9 BETA werden nur Bugs gefixt, bestehende Funktionen verbessert/aktualisiert und die Sprachpakete upgedated.

    Das heißt auch das JETZT der optimale Zeitpunkt wäre für alle da draußen die Lust und Laune haben Dokumentationen/Videos oder ähnliches für das ISN AutoIt Studio anzufertigen.

    Auch die bestehenden Sprachpakete müssten wieder aktualisiert werden. Wenn ihr ein Sprachpaket erstellt oder aktualisiert sendet es mir bitte einfach an meine E-Mail Adresse (isi.3d@gmx.at) damit ich sie mit dem nächsten Update ausliefern kann. ;)

    (Achtung an alle Übersetzer: Es gibt eine kleine Änderung bei den Versionsnummern der Sprachpakete! Weitere Infos folgen im Changelog!)

    Und natürlich freu ich mich über jede Spende (auch wen sie noch so gering ist) die über meiner Homepage dem Projekt zugute kommt!

    Lange Rede kurzer Sinn...wünsche euch viel Spaß mit der neuen Version und freue mich wieder auf euer Feedback!

    VIELEN DANK! :rock:


    Changelog Version 0.85 BETA:
    --> ISN AutoIt Studio: <--
    -----------------------------------
    - Bugfix: Generierung des Skriptbaumes komplett überarbeitet
    - Bugfix: Wenn ein Projekt aus einer .au3 Datei erstellt wird ist nun die Angabe einer Vorlage nicht mehr erforderlich
    - Bugfix: Fokusbug bei Console und Programmlog behoben
    - Bugfix: Kritischer Bugfix beim Schließen von Tabs mit einem Klick auf das Mausrad
    - Bugfix: Einige Performance Verbesserungen
    - Bugfix: Verbesserter Multi-Monitor Support (GUIs verschieben sich nun mit dem Hauptfenster falls dieses zb. auf einen anderen Monitor verschoben wird)
    - Bugfix: Scrollleiste im Skripteditor verlängert sich nun automatisch bei sehr langen Zeilen
    - Bugfix: Ca. eine Tonne weitere Bugfixes
    - NEU: Kommt im Skriptbaum ein Element öfter vor werden dieses nun in Klammern zusammengefasst: zb. $x { 4x }
    - NEU: Includes können nun im Skriptbaum oder auch im Skript selbst durch Rechtsklick auf das Include -> "Datei öffnen" geöffnet werden
    - NEU: Hauptfenster kann nun beliebig verschoben und verkleinert werden
    - NEU: Unter "Datei -> Externe Datei öffnen" kann nun jede beliebige .au3 Datei in ISN geöffnet werden
    - NEU: Zusammengeklappte Segmente im Skript (Code-Folding) werden bei erneutem öffnen automatisch wiederhergestellt (Kann unter Einstellungen auch wieder deaktiviert werden -> Deaktivierung empfohlen
    bei großen Dateien)
    - NEU: Wird eine Datei außerhalb von ISN geändert wird dies erkannt und die Datei kann auf Wunsch neu geladen werden
    - NEU: Es können nun Projektregeln für jedes Projekt definiert werden! (zb. Kopiere nach dem Kompilieren das Fertige Projekt nach C:\temp)
    - NEU: Trophäen können nun zurückgesetzt werden & 2 neue Trophäen hinzugefügt
    - NEU: ISN AutoIt Studio unterstützt nun auch AutoIt3Wrapper Befehle beim Kompilieren
    - NEU: Menü Kompilieren überarbeitet & F7 führt nun direkt ohne Umwege zum Kompilieren
    - NEU: Im der Projektverwaltung kann nun auch direkt ein neues Projekt erstellt werden
    - NEU: Hilfe etwas erweitert
    - NEU: Wird der Bugtracker im AutoIt Studio ausgeführt wird nun rechts unten angezeigt ob die Seite noch geladen wird oder nicht (Ladeanimation)
    - NEU: Bearbeiten -> Alle Codesegmente zusammenklappen/aufklappen (Wie "toggle all folds" in SciTE4Autoit3)
    - NEU: Menübar etwas Umstrukturiert
    - NEU: Kleiner Regelbruch: Neuer Creditssong ;)
    - NEU: Kleine Änderungen bei den Versionen der Sprachdateien. Ab nun steht der Wert 'version' in einer .lng Datei für welche Studioversion diese Sprachdatei geeigent ist (zb. 0.85 BETA)
    So lässt sich leicht feststellen welche Sprachpackete noch nicht komplett übersetzt sind bzw. noch aktualisiert werden müssen...
    Des weiteren werden Strings, die in der gewählten Sprachdatei nicht gefunden werden, automatisch aus der englischen Sprachdatei geladen. Ist der String dort auch nicht vorhanden ->
    #LANGUAGE_ERROR#ID#XXX

    - NEU: Neue Sprachen hinzugefügt (Besten Dank an die Übersetzer!!!)
    - NEU: Unter Tools ist nun ein MsgBox Generator verfügbar
    - NEU: Das "AutoIt 3 Window Info"-Tool ist nun im Menü Tools verfügbar
    - NEU: Im Skripteditor kann nun via Rechtsklick -> "Befehl in der Hilfe anzeigen" gewählt werden
    - NEU: Es können nun Änderungen auf allen geöffneten Tabs mit einem klick gespeichert werden
    - NEU: Farb Toolbox im Menü 'Tools' hinzugefügt. Damit könnt ihr schnell eine beliebige Farbe mischen und diese in den jewailigen HEX-Code umwandeln lassen!


    --> ISN Form Studio 2: <--
    -----------------------------------
    - Bugfix: Listbox Bug behoben
    - Bugfix: In einer GUI mit einem Tab kann nun auch ein Hintergrundbild eingefügt werden
    - Bugfix: Kritischer Bugfix beim Speichern nachdem eine Tabseite gelöscht wurde
    - Bugfix: Diverse Bugfixes
    - NEU: Treeview als neues Control hinzugefügt
    - NEU: Design des Form Studio 2 überarbeitet (und neues Logo)
    - NEU: Controls können nun via Drag&Drop in die GUI gezogen werden
    - NEU: Viele weitere Styles, ExStyles und States für die Controls/GUIs hinzugefügt
    - NEU: Einige Menüs überarbeitet (alte überreste aus dem ISN AutoIt Formstudio)
    - NEU: Gewählte Schriftarten werden nun aus dem ISN AutoIt Studio ins ISN Form Studio 2 übernommen
    - NEU: Controls können nun Tooltips zugewiesen werden
    - NEU: Die Tabseite eines Controls kann nun im Nachhinein verändert werden. Falls also zb. ein Button von Tabseite 2 auf Tabseite 1 wandern soll


    --> Simple File Viewer: <--
    -----------------------------------
    - Bugfix: Extrahieren von Icons funktioniert nun ohne Probleme
    - Bugfix: Diverse Bugfixes

  • Na endlich :)
    Her damit :D
    Werd mal nacher gleich ein bischen testen ;)

    Danke !

    [Edit]
    - so update ist durchgelaufen, so weit so gut.
    erster start
    und dann folgendes
    - NEU: Wird eine Datei außerhalb von ISN geändert wird dies erkannt und die Datei kann auf Wunsch neu geladen werden

    1 Bug oder doch ein Feature? :D
    Wenn ich auf "Ja" klicke bringt er mir immer wieder die Messagebox solange bis ich 2 mal auf "Nein" klicke.
    Kannst du das noch mal prüfen ob da was klemmen könnte?
    [Nachtrag]
    es ist wohl ein BUG :(

    Wenn ich ISN Autoit Studio minimiere und dann wieder in den Vordergrund hole, dann geht das Spielchen mit von vorne los.
    Wobei auffällig ebendso der Scriptbaum refresht wenn man ISN wieder maximiert ?(

    [Frage}
    Was prüft ISN beim Projekt ab, das ISN der Meinung ist das die Datei außerhalb von ISN geändert wurde ?(?(?(

    Desweiteren sehe ich am Ende meines Scriptes folgendes "

    [Blockierte Grafik: http://picupload.org/i/2012/07/04/QBWA7.jpg]

    Hmmm, ich habe jetzt mal mehrere ältere Projekte geladen und überall habe ich in der letzten Zeile diese nichtdruckbaren Zeichen mit NULL drin.
    Misteriös :whistling:
    Wenn ich diese ominöse letzte Zeile lösche und dann das Projekt abspeicher und das gespeicherte Projekt wieder über die Projektverwaltung neu lade ist diese Zeile wieder da.
    Hilfe 8o

  • Moin,

    Nochmal etwas zum großen Array und der Funktion von Misterspeed.

    Diese Funktion lässt sich noch erheblich beschleunigen.
    Dazu muss man wissen wie AutoIt intern die Befehle abarbeitet.

    ein ReDim verursacht folgendes:
    - Erstellen eines neuen Arrays mit der vorgegebenen Größe
    - Kopieren aller Elemente in das neue Array

    Wenn ich also in einer Schleife ein ReDim habe wird das Array zwangsläufig extrem oft kopiert.
    Bei sehr redundanten Daten fällt das nicht weiter auf, da das Zielarray vllt nur eine Größe von 10 Elementen hat. (Test mit vielen Kopien).
    Taucht aber etwas mit weniger Redundanz auf (Test mit 2000 Zufallszahlen) schlägt das sehr stark ins Gewicht.

    In wie fern sich das effektiv auswirkt weiß ich nicht.
    Beim Extremfall 1 mit sehr redundanten Daten war die Zeit in etwa gleich.
    Beim Extremfall 2 mit sehr unterschiedlichen Daten war die angepasste Funktion ca. 10 Mal schneller.

    Hier mal die angepasste Funktion:

    Spoiler anzeigen
    [autoit]

    Func _arrayUniqueCount2(ByRef $aData, $mode=2, $sepChar=",") ; mode: 1 = 1D Rückgabe , 2 = 2D Rückgabe
    Local $UBound = UBound($aData)
    If Not $UBound Then Return SetError(1)
    ;~ If Not IsArray($aData) Then Return SetError(1)
    Local $aNew[$UBound][2] ; für 2D Rückgabe
    Local $aNew1D[1] ; für 1D Rückgabe
    Local $sTemp="" ; string verkettung des ergebnis arrays für schnelle unique prüfung
    Local $j=0 ; zahl der unique treffer

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

    ; hier sollten noch prüfungen folgen ob es sich bei $aData um ein array handelt und ob es eindimensional ist...

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

    For $i=0 To $UBound - 1
    If StringInStr($sTemp,$aData[$i] & $sepChar,1,-1) Then ; stringprüfung arbeitet schneller als große arrays zu durchlaufen und "viele" strings zu vergleichen
    For $k=0 To $UBound-1 ; bei bereits vorhandenen einträgen müssen wir zwangsweise die bisherigen suchergebnisse durchlaufen um den korrekten index zu finden
    If $aNew[$k][0]=$aData[$i] Then
    $aNew[$k][1]+=1
    ExitLoop
    EndIf
    Next
    Else
    $aNew[$j][0] = $aData[$i]
    $aNew[$j][1] = 1
    $sTemp &= $aData[$i] & $sepChar
    $j += 1
    ;~ ReDim $aNew[$j+1][2]
    EndIf
    Next

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

    ;~ If UBound($aNew) > 1 Then ReDim $aNew[UBound($aNew)-1][2]

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

    For $i = 0 To $UBound-1 Step 1
    If Not $aNew[$i][1] Then
    ReDim $aNew[$i][2]
    ExitLoop
    EndIf
    Next

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

    ; sofern zwingend ein 1D Array als Ausgabe benötigt wird muss das neue Array noch einmal durchlaufen werden:
    if $mode = 1 Then
    ReDim $aNew1D[UBound($aNew)]
    For $i=0 To UBound($aNew)-1
    If $aNew[$i][1] > 1 Then
    $aNew1D[$i]=$aNew[$i][0] & " {" & $aNew[$i][1] & "x}"
    Else
    $aNew1D[$i]=$aNew[$i][0]
    EndIf
    Next
    $aNew=$aNew1D
    EndIf

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

    Return $aNew
    EndFunc

    [/autoit]

    Bei mir spuckt sie folgende Werte aus:

    Spoiler anzeigen

    Vllt testet sie nochmal wer anderes, damit ein Fehler meinerseits ausgeschlossen werden kann.


    Edit:
    Fehler behoben
    1. Absturz - Der Input ist kein Array (passiert eventuell manchmal)
    2. Absturz - Das Array enthält nur ein Element, oder ganz zu Beginn ein Leeres Element.

  • Nochmal die Frage fall sie überlesen wurde ;)

    Was prüft ISN beim Projekt ab, das ISN der Meinung ist das die .au3-Datei außerhalb von ISN geändert wurde ?
    Zeitstempel?


    Achja, der Vollständikeihalber für die ominösen Zeichen das ganze unter Windows 7 64 Bit:

    Ich schau mal gleich ob das ganze bei mir Windows XP 32 Bit auch auftritt.

  • Sry hab´s wirklich überlesen..

    Also ISN hat den gesamten Text der im Editor steht in einem "Cache" der immer wenn gespeichert wird aktualisiert wird. (Aus diesem Cache wird auch der Skriptbaum erstellt)
    Im Endeffekt wird nur überprüft ob sich der Inhalt des Caches dem Inhalt der "echten" Datei unterscheidet....ist dies der Fall wurde die Datei nicht von ISN bearbeitet da ja sonst der Cacheinhalt mit dem Dateiinhalt übereinstimmen müsste....

    Wegen den Zeichen:
    Also das Log sieht ok aus...(Hast du schon mal getestet ISN aus einem anderen Verzeichnis zu starten?)
    War dieser Bug bei Version 0.8 BETA auch schon?

  • Hmm...grundsätzlich hast du ja recht. Da das ISN sehr viel mit temporären Dateien arbeitet ist dieser Schritt leider nicht ganz so leicht. Auch soll für User die das aktuelle "system" verwenden die Übernahme der Daten in das "neue System" (Speicherung der Daten im Benutzerprofil) leicht ermöglicht werden...ich werd mal sehen was sich machen lässt

    Aber zur Version 0.85 BETA (die nächste Woche erscheint) werd ich es noch so lassen wie es ist.
    Evtl. dann zur 0.9 BETA...


    Normalerweise speichern Anwendungen ihre Einstellungen (wenn sie "zahlreich" sind) in "%APPDATA\<Anwendungsname>\". Das würde das "Program Files"-Problem beheben.
    Für temporäre Dateien könntest du theoretisch "%TEMP%\<Anwendungsname>\" benutzen, ich weiß allerdings nicht, was genau du mit diesen "temporären Dateien" genau meinst.

    Für den Umstieg könntest du beim Installer (im Falle eines Updates) einfach die Konfigurationsdateien verschieben. Wenn du es portable machen willst, brauchst du entweder eine externe Anwendung (bsp. ein eigenes Programm, das alte Konfigurationen an Updates anpasst) oder du schreibst den Code in das Hauptprogramm.


    Ansonsten sieht das wirklich sehr nett aus. Sollte ich mal wieder etwas Neues in AutoIt machen, werde ich es mal austesten.

  • Sry hab´s wirklich überlesen..

    kann passieren ;)


    Wegen den Zeichen:
    Also das Log sieht ok aus...(Hast du schon mal getestet ISN aus einem anderen Verzeichnis zu starten?)


    Ja habe gerade ebend ISN auf Partition D: kopiert
    Effekt = Der Fehler das die Datei außerhalb von ISN bearbeitet wurde ist erst mal weg.

    Die 2 Zeichen (nichtdruckbare Steuerzeichen schreibt ISN immer noch ans Ende des Scriptes, genau genommen als letztes Zeichen und zwar NULNUL (hintereinander weg)
    Das Script läuft zwar trotzdem, aber ich frage mich schon warum ISN dies am Ende einfügt :whistling:


    War dieser Bug bei Version 0.8 BETA auch schon?


    Nein, das war erst nach dem Update auf 0.85 Beta per Updates suchen

  • Wegen den Zeichen:
    Probier mal folgendes:
    - Beende ISN
    - Öffne die config.ini (im Data Ordner) und erstelle einen neuen Key in der Section [config]
    showdebugconsole=true
    - Starte ISN und du solltest ein Debug Fenster sehen...
    - Öffne nun dein Projekt und prüfe das nur 1 Tab geöffnet ist (nämlich der mit deinem Skript)
    - Nun gib folgendes in das Konsolenfenster ein: (in das Inputfeld unter dem schwarzen Feld)
    msgbox(0,"Cache0",$FILE_CACHE[0])
    - Bestätige mit ENTER....nun solltest du eine MessageBox sehen in dem dein Code steht...
    - Siehst du hier am Ende auch schon komische Zeichen?!?


    -> -> bzw. kannst du ein kurzes Skript posten in dem solche Zeichen vorhanden sind...
    Ich habe echt keinen Plan wo die herkommen ^^

  • Jaja schon cool so ne console ^^ (gibts aber auch erst seit dieser Version)

    Scrollfähig:
    _ArrayDisplay(StringSplit ($FILE_CACHE[0],@cr,2))

    und das kannst du auch noch testen:
    _ArrayDisplay(StringSplit (Sci_GetLines($SCE_EDITOR[0]),@cr,2))
    -> Hier wird der Code direkt aus dem Editor geladen...genau dies wird dann in die au3 Datei geschrieben...