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

Beiträge von BugFix

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • BugFix
    • 5. August 2014 um 13:43

    Ich erweitere gerade das Backup-Skript (inkl. TimeStamp). Es wird in Zukunft für alle Sprachen nutzbar sein. Dazu steht eine eigene Settings-Datei zur Verfügung. Der User kann den TimeStamp dann kpl. selbst gestalten (Text, Date-Time-Format).
    Nutzt du das Projektmanagement von ST? Dann kann man sicher abfragen, in welchem Projekt die aktuelle Datei ist und dorthin die Backups speichern. Wenn die Projektverwaltung ausserhalb von ST liegt, kann man auch eine Projekt-Settings Datei anlegen, in der Projekte und zugehörige Dateien registriert werden. Das ist einfach zu händeln.

  • LUA Script zum erstellen eines Funktionsheaders.

    • BugFix
    • 3. August 2014 um 21:09
    Zitat von Ghostleader

    Unter anderem weil in der SciTEUser.properties nicht das drin drin steht was du angibst sondern nur

    Darum sollst du ja dort auch die neuen Settings eintragen. Je nach dem, wie sehr du dein SciTE individualisiert hast, stehen die entsprechenden Änderungen in dieser Datei. In einer frischen Installation ist die Datei i.A. leer.

    Zitat von Ghostleader

    Auch verstehe ich nicht ganz was du meinst vielleicht müsst ihr die 83 anpassen wo und warum denn?

    Die 38 (nicht 83) bezog sich auf frei verfügbare command-Nummern

    ...
    command.name.38.*.au3=InsertFunctionHeader
    ...

    Wenn du dort keine anderen Einträge hast, ist diese Nummer frei.

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • BugFix
    • 2. August 2014 um 02:16

    Zum Timestamp habe ich jetzt auf das Versionsbackup ergänzt.

    Dazu muß in den Settings ( ".Data\Packages\User\AutoIt.sublime-settings" ) ein Pfad zum Ordner, der die Versionen speichern soll, angegeben werden.
    Der Key lautet: "version_backup_path".

    So sieht das bei mir aus:

    Spoiler anzeigen
    PHP
    {
    	"autoit_exe_path": "C:\\Program Files (x86)\\AutoIt3\\AutoIt3.exe",
    	"autoit_compiler_path": "C:\\Program Files (x86)\\AutoIt3\\Aut2Exe\\Aut2exe.exe",
    	"autoit_wrapper_path": "C:\\Program Files (x86)\\AutoIt3\\SciTE\\AutoIt3Wrapper\\AutoIt3Wrapper.exe",
    	"tidy_exe_path": "C:\\Program Files (x86)\\AutoIt3\\SciTE\\Tidy\\Tidy.exe",
    	"include_helper_au3_path": "Packages/AutoItScript/Include_Helper.au3",
        "version_backup_path": "C:/VirtualRoot/VersionBackup/au3",
    	"color_scheme": "Packages/AutoItScript/AutoIt.tmtheme",
        "extensions": ["au3"]
    }


    Wird eine Änderung der Versions/Subversionsnummer vorgenommen, wird automatisch von dieser neuen Datei eine Kopie als "Dateiname[version].au3" angelegt.
    Unterhalb des festgelgten Backupordners wird für jede neue Datei ein Ordner angelegt als "BUVer_" & "Dateiname.au3", indem dann alle Versionen dieser Datei abgelegt werden.
    "BUVer" steht für BackUp Version ;)

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • BugFix
    • 1. August 2014 um 22:58

    @rynow:
    Nur ein "*" oder "v" oder "V" an die erste Position im Editor - nichts darf davor stehen - dann speichern.

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • BugFix
    • 1. August 2014 um 22:55

    Da ich nun doch schon etwas "familar" :D mit Python bin, habe ich mir mal das AutoIt-Plugin von Github etwas näher angeschaut.
    Ich weiß nicht, wer es geschrieben hat - aber derjenige ist mit Python überhaupt nicht vertraut. Python ist eine konventionsrestriktive Sprache. Da wirst du auch in jedem Python-Forum gesteinigt, wenn du dich nicht an die Konventionen hältst.
    Mal ein kurzer Abriss:
    - Funktionsnamen und Variablen werden immer klein geschrieben, zur Verdeutlichung von Teilnamen werden Unterstriche genutzt ( das_ist_eine_func )
    - Klassennamen werden in CamelCase geschrieben
    - eine Codezeile hat nie mehr als 80 Zeichen
    usw. usf. ;)
    Die "autoitbuild.py" sieht dazu vergleichsweise aus, wie ein Beet voller Kraut und Rüben. :D

    Ich denke, ich werde kpl. mein eigenes AutoIt-Plugin erstellen. Dann stimmt es auch mit den Konventionen. ;)

  • handle Expression von Control ID unterscheiden

    • BugFix
    • 1. August 2014 um 19:01
    Zitat von Trolleule1337

    Arrays sind scheisse, sowas benutzt man, wenn die Daten die man speichern will keine struktur haben, wie z.B. eine Zahlenreihe.


    Na da muß ich mal ganz energisch widersprechen.
    Ich speichere natürlich auch strukturierte Daten in Arrays. Und das ist absolut unproblematisch und auch schnell.
    Da greift wohl eher der Spruch: "Wat der Bua nich kennt, dat fritt er nich" ;)

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • BugFix
    • 1. August 2014 um 17:11

    Hier mein PlugIn "TimeStamp" für AutoIt-Code.

    Den Anhang in "\Data\Packages" entpacken. (enthält das Plugin "Au3plugins", dem ich dann nach und nach weitere Funktionen hinzufüge)

    Bedienung:
    • Datei hat noch keinen Zeitstempel:
    Zeichen an erster Position in der Datei
    * = nur Timestamp (;-- TIME_STAMP 2014-08-01 16:00:47 )
    v = Timestamp und Subversion 1 (;-- TIME_STAMP 2014-08-01 16:02:27 v 0.1)
    V = Timestamp und Mainversion 1 (;-- TIME_STAMP 2014-08-01 16:02:27 v 1.0)

    • Datei hat bereits Zeitstempel oder Zeitstempel und Versionsangabe:
    - ohne weiteres Zeichen wird der Stamp auf aktuelles Datum/Zeit erneuert
    Zeichen hinter Zeitstempel oder aktueller Versionsangabe
    v = Timestamp und Subversion +1, wenn bisher nur Timestamp: Subversion 1
    V = Timestamp und Mainversion +1, wenn bisher nur Timestamp: Mainversion 1
    n = nur wirksam hinter Versionsangabe: Main- u. Subversion werden übernommen, wie sie sind - z.B. Versionssprung

    Beim Speichern wird dann automatisch bei AutoIt-Dateien der Timestamp entsprechend des gewünschten Modus gesetzt.
    Das automatische Speichern der Dateien unter dem entsprechenden Versionsnamen wird auch noch folgen. Aber alles Schritt für Schritt. ;)

  • handle Expression von Control ID unterscheiden

    • BugFix
    • 1. August 2014 um 14:07

    Wenn es denn ein Dictionary sein MUSS: Erstelle parallel ein Array. Dort speicherst du das Handle und den Index des Arrayeintrags als Value im Dictionary. ;)

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • BugFix
    • 1. August 2014 um 12:33

    Das Scope-System wurde von TextMate übernommen.
    Hier ein paar relevante Links:
    http://manual.macromates.com/en/scope_selectors
    http://manual.macromates.com/en/regular_exp…yntax_oniguruma
    http://manual.macromates.com/en/language_grammars.html

  • handle Expression von Control ID unterscheiden

    • BugFix
    • 1. August 2014 um 09:55
    Zitat von Trolleule1337

    Das handle steht allerdings als expression im dictionary


    Warum speicherst du nicht das Handle selbst? Welchen Sinn soll es haben, das Handle als String zu speichern?

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • BugFix
    • 1. August 2014 um 09:41

    @rynow
    Ein kleiner Typo auf deiner Seite:

    Zitat

    Im nächsten Teil werde ich euch einige Erweiterungen und weiter tolle Futures von Sublime Text vorstellen.

    ;)


    Hier nochmal meine Anleitung, die ich im EN-Forum gepostet hatte. Dort sind noch einige zusätzliche Punkte enthalten (Toggle Konsole, Bindung Dateityp an Color-Scheme):

    Spoiler anzeigen

    Here i will you give the first steps for work with ST2/ST3:

    1. Download "Sublime Text 2/3" and installation
    You find it here: Sublime Text

    2. Shortcut-File open with: <Preferences> <Key Bindings - User>
    Following shortcut insert in this file to toggle console with "Strg+,"
    (default shortcut does'nt work in Windows)

    Code
    [
            { "keys": ["ctrl+,"], "command": "show_panel", "args": {"panel": "console", "toggle": true} }
        ]


    3. Urgent required Package "Package Control" install
    - Open console
    - insert following text (it's all in one line!)

    Code
    import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print('Please restart Sublime Text to finish installation')


    - Hit <Enter> to install. After restart you'll find it on menu:
    <Preferences> <Package Control>

    4. You need a possibility to create JSON-files and to convert them to plist (.tmLanguage/ .tmTheme). For this you'll need the Package "AAAPackageDev"
    - <Preferences> <Package Control> <Package Control: Install Package> - click
    - Insert "AAA", than the Package is on top, or scroll with mouse to this
    - With clicking the Package it will installed (State is shown bottom in the status line, left)
    Needs also an restart.

    Now you have a new menu: [ the following is some different in ST3, but you will see it by using ]
    <Tools>
    <Packages> <Package Development>
    ...
    ...
    <New Syntax Definition> -- that's what you need to create a new definition or theme file (JSON)

    And in menu <Tools><Build System> you find now "JSON to Property List" and "Property List to JSON". You need this for convert "*.JSON-tmLanguage" to "*.tmLanguage" and "*.JSON-tmtheme" to "*.tmtheme"

    You can bind color schemes to a file type. You need a settings file like "AutoIt.sublime-settings".
    Inside this you declare the scheme:

    Code
    {
        "color_scheme": "Packages/User/AutoIt.tmtheme",
        "extensions": ["au3"]
    }


    Also you can determine, that all files of one file type will opened with the syntax definition of your choice. For this open a file with the required file type (i.e *.au3) and now you see bottom in the status line, right side, the current used syntax definition. Click this and go ahead to "Open all with current extension as..". Select than the syntax definition you like.


    In attachement you find my syntax definition file for autoit. Its based with the used scopes on the naming convention from TextMate, which also used in Sublime Text. It makes sense to work with naming convention. So you can use other color schemes (themes) and have a detection of a lot of definitions.
    Here is a list of used scopes. I've marked with pipes the scope name from naming convention:

    Code
    "|comment.line.character|.autoit"                    Comment one line
    "|comment.block|.autoit"                             Comment block
    "|constant.numeric|.hex.autoit"                      Hex numbers
    "|constant.numeric|.number.autoit"                   Integer
    "|entity.name.function|.native.autoit"               Native Functions
    "|entity.name.tag|.macro.autoit"                     Macros
    "|constant.character|.preprocessor.autoit"           Include(-Once)/NoTrayIcon/RequireAdmin
    "|string.quoted|.include.file.autoit"                File after the include - gets style as a string
    "|constant.character|.preprocessor.autoit"           Region/Endregion with all text in this line
    "|constant.language|.preprocessor.special.autoit"    Preprocessor, Wrapper etc.
    "|keyword.control|.autoit"                           Keywords
    "|keyword.operator|.autoit"                          Operators
    "|keyword.other|.braces.autoit"                      Braces
    "|string.quoted.single|.autoit"                      String, single quoted
    "|string.quoted.double|.autoit"                      String, double quoted
    "|variable.parameter|.sentkey.autoit"                SentKeys
    "|variable.language|.autoit"                         Variables
    "|variable.language|.func.autoit"                    Variables assigned with Function
    "|support.function|.udf.autoit"                      UDF-Functions
    "|support.class|.objects.autoit"                     Com Objects
    Alles anzeigen
  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • BugFix
    • 31. Juli 2014 um 22:32
    Zitat von rynow

    An diesem könnte man sich doch die Kommunikation mit Sublime abschauen und den Wrapper basteln.

    Die Kommunikation ist kein Problem. Es ist ein API implementiert, darüber läßt sich das machen.
    Ich wollte nur gerne auch eine im System (Python) eingebundene GUI nutzen.
    Den AutoIt-internen Wrapper kann man nicht übernehmen, der ist für SciTE konfiguriert. Alternativ bliebe, ihn weiterhin als AU3-exe zu erstellen aber mit Kommunikation über STDOUT und damit ST füttern.

    Zitat von rynow

    darf ich dein Sublime Theme auf meinen Blog mit anbieten? Selbstverständlich unter deinem Namen?

    Na klar, dazu habe ich es schließlich erstellt.

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • BugFix
    • 31. Juli 2014 um 22:02

    Ähnlich wie Lua in SciTE, ist die Implementierung von Python in ST rudimentär. Wesentliche Teile der Standardbibliotheken sind nicht enthalten (z.B. tkinter). Somit lassen sich keine komplexen GUI erstellen, was in Bezug auf einen schicken AutoIt-Wrapper sehr schade ist.
    Mit einer zusätzlichen Python-Installation ließe sich das lösen, aber das ist natürlich keine allgemeingültige Option.
    Ich habe die GUI schan mal analog wie in AutoIt mit tkinter erstellt. Das war aber mehr zum Test, wie man mit tkinter umgeht. Eventuell setze ich mich später mal an die Portierung des entsprechenden Codes nach Python. Das ist aber nicht ganz ohne. Also rechnet nicht mit baldigem Vollzug. ;)

    Edit:
    So sieht es z. Zt. aus:
    Link

  • Standard GUI Scrollbar machen

    • BugFix
    • 31. Juli 2014 um 21:15
    Zitat von Ghostleader

    oder doch?


    Warum nicht? - Die entsprechenden Befehle kannst du ganz smart in ein Kontextmenü packen. Dann hast du eine nicht überfrachtete Oberfläche mit max. Funktionalität.

  • SetupVerifyInfFile Function um zu überprüfen ob Treiber signiert sind

    • BugFix
    • 31. Juli 2014 um 19:53
    Zitat von Trolleule1337

    Weisst du, ob es in der setup API eine Funktion gibt, mit der ich die zu kopierenden Files die in den folgenden sections meine INF drin stehen, identifizieren kann?

    Damit habe ich mich noch nicht befasst, kann ich leider nicht helfen.

  • SetupVerifyInfFile Function um zu überprüfen ob Treiber signiert sind

    • BugFix
    • 31. Juli 2014 um 19:12

    Ist dein Hauptziel Treiber zu installieren? Wenn es dich nicht stört, dass die Windows-Meldung über Nicht-signierte Treiber aufpopt, verwende doch das Kommandozeilen-Tool "pnputil" zur Installation.

  • IF statement has no matching Endif?

    • BugFix
    • 31. Juli 2014 um 12:47

    Der Fehler entsteht nicht aus diesem Code heraus.
    In deinem Skript muß noch mehr stehen, was in der Summe ein EndIf vermissen läßt.

    NB: Globale Variablen deklariert man nicht innerhalb von Funktionen, das ist schlechter Stil und macht Skripte schlecht lesbar.

  • AutoIt-Tools und Virusmeldung

    • BugFix
    • 31. Juli 2014 um 10:54

    Also ich verwende UPX generell nicht.
    Mein Antivirenprogramm hat noch nie Alarm geschlagen. Es sagt nur: He - unbekanntes Programm, darf ich das ausführen? - und dann kommt das auf die White-List.
    Ich verwende Comodo-Internet-Security.
    Ich hatte mal Avira, das hat auch niemals meine Programme beanstandet.

    Inhaltlich habe ich Tools, die Internetverkehr betreiben, auf das OS zugreifen - eigentlich querbeet.

  • Problem mit ListView - Anzahl Einträge

    • BugFix
    • 31. Juli 2014 um 09:39

    Bevor wir uns durch dein Skript wühlen:
    Du weißt, was du da haben willst - wir nicht.
    Also wäre es erst mal sinnvoll uns mitzuteilen
    - ich habe Daten in folgender Struktur...
    - daraus will ich auslesen...
    - mit zusätzlichen Filtern...
    - Ergebnis soll so aussehen...
    DANN haben wir eine grobe Vorstellung, was in deinem Skript passiert. Im Moment müßte ich das Skript Zeile für Zeile durchforsten um auf seine Funktion zu schließen. ;)

  • SetupVerifyInfFile Function um zu überprüfen ob Treiber signiert sind

    • BugFix
    • 31. Juli 2014 um 09:19

    Interessant:
    Gestern führte mich dein MSDN-Link zur Funktion "SetupVerifyInfFile". Heute lande ich in Hilfe & Support mit dem Hinweis

    Zitat

    System Tip
    This article applies to a different version of Windows than the one you are using. Content in this article may not be relevant to you.

    (Ich nutze Windows 7)
    Daraus schließe ich mal, dass diese Funktion unter Windows 7 keine Anwendung findet.

    Edit:
    Da war ich auf den anderen Link gerutscht :D
    Aber warum soll der nicht mehr gültig sein? Mir wird gesagt das klappt nicht mit Win7 - also gehe ich auch mal aus, dass diese Funktion für Win7 nicht zur Verfügung steht.

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™