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

Beiträge von Bitnugger

  • SciTE-Interface, Problem bei mehreren SciTE Instanzen

    • Bitnugger
    • 21. Januar 2019 um 19:47
    Zitat von BugFix

    Mittels: SciTE-Interface

    _MenuCmd($IDM_CLEAROUTPUT)

    Sehr schön... funktioniert allerdings nicht korrekt, wenn man mehrere SciTE-Instanzen benutzt, denn dann hat die falsche Instanz den Fokus.

    Bsp.: In SciTE-Instanz #1 wird dein Script mit _MenuCmd($IDM_CLEAROUTPUT) ausgeführt und in SciTE-Instanz #2 wird der Output gelöscht.

    EDIT BugFix: [Verschoben in eigenen Thread]

    Link SciTE-Interface

  • Der Prozedureinsprungpunkt "luaL_register" wurde in der DLL "f:\AutoIt\AutoIt3_LuaScripts\shell.dll" nicht gefunden.

    • Bitnugger
    • 21. Januar 2019 um 19:13

    Jos hat bereits auf das Ticket von BugFix geantwortet und will deinen Bericht nun mit Neils Scite-Interest-Gruppe verknüpfen.

    Das sieht doch schon mal gut aus... ich habe dem Ticket eine Liste hinzugefügt, in der man sieht, welche Prozedureinsprungpunkte von welcher SiTE-Version unterstützt werden, denn in den neueren SciTE-Versionen sind da noch einige mehr weggefallen, aber auch einige hinzugekommen.

    Zitat von BugFix

    Aber, wie schon angesprochen: Es gibt keinen Grund diese SciTE-Version zu nutzen.

    Hm, ok, die SciTE.exe vielleicht nicht unbedingt, aber zumindest einige der beiliegenden Files in den neueren Versionen werden doch benötigt, wenn du eine aktuelle AutoIt-Version benutzt, weil ja sonst die neuen Funktionen nicht bekannt sind und entfernte Funktionen immer noch mitgeschleppt werden, oder? Ich denke da z.B. an: au3.api, au3.autoit3wrapper.api und SciLexer.dll, ...

    Das mit den doppelten Shortcuts im Extras-Menü (Shift+F5 [Test Run|Ausgabe löschen] und Shift+F7 [Clean|Test Compile]) sollte aber wohl besser auch gemeldet werden... und das die Ausgabe eben nicht mehr mit Shift+F5 und auch nicht mit Shift+F7 gelöscht werden kann.

    Dann werde ich jetzt mal austüfteln, wie ich die Ausgabe aus dem Script heraus gelöscht bekomme...

    SciTE-Procedure_entry_points
    Code
    Procedure entry point | SciTE4AutoIt3 | SciTE4AutoIt3 | SciTE4Windows | SciTE4Windows
    --------------------- | ------------- | ------------- | ------------- | -------------
    lua_absindex          |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_arith             |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_atpanic           | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_call              | 3.7.5.0       |               |               |              
    lua_callk             |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_checkstack        | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_close             | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_compare           |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_concat            | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_copy              |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_cpcall            | 3.7.5.0       |               |               |              
    lua_createtable       | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_dump              | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_equal             | 3.7.5.0       |               |               |              
    lua_error             | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_gc                | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_getallocf         | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_getfenv           | 3.7.5.0       |               |               |              
    lua_getfield          | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_getglobal         |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_gethook           | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_gethookcount      | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_gethookmask       | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_geti              |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_getinfo           | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_getlocal          | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_getmetatable      | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_getstack          | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_gettable          | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_gettop            | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_getupvalue        | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_getuservalue      |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_insert            | 3.7.5.0       |               |               |              
    lua_iscfunction       | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_isinteger         |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_isnumber          | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_isstring          | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_isuserdata        | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_isyieldable       |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_len               |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_lessthan          | 3.7.5.0       |               |               |              
    lua_load              | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_newstate          | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_newthread         | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_newuserdata       | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_next              | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_objlen            | 3.7.5.0       |               |               |              
    lua_pcall             | 3.7.5.0       |               |               |              
    lua_pcallk            |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_pushboolean       | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_pushcclosure      | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_pushfstring       | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_pushinteger       | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_pushlightuserdata | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_pushlstring       | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_pushnil           | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_pushnumber        | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_pushstring        | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_pushthread        | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_pushvalue         | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_pushvfstring      | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_rawequal          | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_rawget            | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_rawgeti           | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_rawgetp           |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_rawlen            |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_rawset            | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_rawseti           | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_rawsetp           |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_remove            | 3.7.5.0       |               |               |              
    lua_replace           | 3.7.5.0       |               |               |              
    lua_resume            | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_rotate            |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_setallocf         | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_setfenv           | 3.7.5.0       |               |               |              
    lua_setfield          | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_setglobal         |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_sethook           | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_seti              |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_setlevel          | 3.7.5.0       |               |               |              
    lua_setlocal          | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_setmetatable      | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_settable          | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_settop            | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_setupvalue        | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_setuservalue      |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_status            | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_stringtonumber    |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_toboolean         | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_tocfunction       | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_tointeger         | 3.7.5.0       |               |               |              
    lua_tointegerx        |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_tolstring         | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_tonumber          | 3.7.5.0       |               |               |              
    lua_tonumberx         |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_topointer         | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_tothread          | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_touserdata        | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_type              | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_typename          | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_upvalueid         |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_upvaluejoin       |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_version           |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_xmove             | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    lua_yield             | 3.7.5.0       |               |               |              
    lua_yieldk            |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_addlstring       | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_addstring        | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_addvalue         | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_argerror         | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_buffinit         | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_buffinitsize     |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_callmeta         | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_checkany         | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_checkinteger     | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_checklstring     | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_checknumber      | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_checkoption      | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_checkstack       | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_checktype        | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_checkudata       | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_checkversion_    |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_error            | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_execresult       |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_fileresult       |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_findtable        | 3.7.5.0       |               |               |              
    luaL_getmetafield     | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_getsubtable      |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_gsub             | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_len              |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_loadbuffer       | 3.7.5.0       |               |               |              
    luaL_loadbufferx      |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_loadfile         | 3.7.5.0       |               |               |              
    luaL_loadfilex        |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_loadstring       | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_newmetatable     | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_newstate         | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_openlib          | 3.7.5.0       |               |               |              
    luaL_openlibs         | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_optinteger       | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_optlstring       | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_optnumber        | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_prepbuffer       | 3.7.5.0       |               |               |              
    luaL_prepbuffsize     |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_pushresult       | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_pushresultsize   |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_ref              | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_register         | 3.7.5.0       |               |               |              
    luaL_requiref         |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_setfuncs         |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_setmetatable     |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_testudata        |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_tolstring        |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_traceback        |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_typerror         | 3.7.5.0       |               |               |              
    luaL_unref            | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaL_where            | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaopen_base          | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaopen_bit32         |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaopen_coroutine     |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaopen_debug         | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaopen_io            | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaopen_math          | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaopen_os            | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaopen_package       | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaopen_string        | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaopen_table         | 3.7.5.0       | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    luaopen_utf8          |               | 4.1.2.0       | 4.1.2.0       | 4.1.3.0      
    Alles anzeigen

    Extras.png

    Dateien

    SciTE-Procedure_entry_points.7z 1,22 kB – 418 Downloads
  • Der Prozedureinsprungpunkt "luaL_register" wurde in der DLL "f:\AutoIt\AutoIt3_LuaScripts\shell.dll" nicht gefunden.

    • Bitnugger
    • 20. Januar 2019 um 19:59

    Mir war aufgefallen, dass mit SciTE 3.7.5.0 folgender Befehl nicht mehr funktioniert...

    Code
    ; Clear console output pane of SciTE after 5000 ms
    Sleep(5000)
    ControlSend("[CLASS:SciTEWindow]", "", "Scintilla2", "+{F5}") ; Shift+F5

    ...denn die "output pane" wird dadurch nicht mehr gelöscht, wie es in früheren Versionen der Fall war.

    In SciTE 3.7.5.0 im Menü Extras ist zudem der dritte Menüpunkt Clean Shift+F7 ausgegraut ist, sicher weil die Tastenkombination Shift+F7 bereits für Test Compile vergeben ist. Hier vermute ich, dass der Shortcut für Clean vormals Shift+F5 war und es deshalb nicht mehr funktioniert. Mit Shift+F7 funktioniert es aber auch nicht, womöglich weil der Shortcut jetzt doppelt belegt ist.

    Deshalb habe ich auf http://www.autoitscript.com nachgesehen, ob es evtl. eine aktuellere Version von SciTE gibt, in der dieser Fehler evtl. schon gefixt wurde. In der Tat... es gibt eine aktuellere Version... SciTE 4.1.2.0... aber die enthält diesen Fehler auch und noch einen, den ich gar nicht gut finde.

    Fehler: Der Prozedureinsprungpunkt "luaL_register" wurde in der DLL "f:\AutoIt\AutoIt3_LuaScripts\shell.dll" nicht gefunden.

    Die Meldung ist irreführend, denn der Prozedureinsprungpunkt "luaL_register" befindet sich nicht in der shell.dll, sondern in der SciTE.exe - der aber in SciTE 4.1.2.0 nicht mehr existiert!

    Dadurch können keine Lua-Scripte mehr verwendet werden, welche die Funktionen der shell.dll benötigen - das sind bei mir praktisch alle Lua-Scripte von BugFix !

    Diese Zeile löst die Fehlermeldung aus...

    Code: SciTEStartup.lua
    -- load library - Info --> shell.html
    require "shell"

    PS: Jedes mal, wenn in SciTE ein Tab gewechselt/geladen wird, wird die SciTEStartup.lua ausgeführt!

    Im Anhang mal meine SciTEStartup.lua.

    Die wird bei mir nicht aus dem Verzeichnis c:\Program Files (x86)\AutoIt3\SciTE\lua\SciTEStartup.lua, sondern @LocalAppDataDir & '\AutoIt v3\SciTE\SciTEStartup.lua' geladen,

    weil ich in meiner SciTEUser.properties folgenden Eintrag hinzugefügt habe:

    Code
    #~ Lua script that will be loaded when SciTE starts to set up the global state for Lua.
    ext.lua.startup.script=$(SciteUserHome)\SciTEStartup.lua

    Demzufolge ist die aktuelle Version von SciTE (4.1.2.0) für mich nicht mehr nutzbar... oder übersehe ich hier etwas?


    pasted-from-clipboard.png pasted-from-clipboard.png

    Lister.png

    shell.dll.png

    Dateien

    SciTEStartup.lua 8,06 kB – 533 Downloads
  • _ArrayAdd() und Initialisieren von Arrays

    • Bitnugger
    • 18. Januar 2019 um 11:49
    Zitat von aSeCa

    Jetzt löse ich das so... Code
    Dim $aTest[1][3]
    _ArrayDelete($aTest, 0)

    und dann fülle ich das Array (mit erstmal unbekannter Größe!) danach mit _ArrayAdd().

    Das _ArrayDelete kannst du dir sparen, wenn du anstelle der 1 eine 0 nimmst.

    Dim $aTest[0][3]

    Im globalen Kontext (außerhalb von Funktionen) würde ich aber nicht Dim verwenden, sondern besser Global.

    Global $aTest[0][3]

    Damit globale Variablen im Script besser auffindbar sind, schreibe ich sie allerdings so:

    Global $g_aTest[0][3]

  • StringRegExp

    • Bitnugger
    • 14. Januar 2019 um 22:59
    Zitat von Andy

    naja, wenn man die Frage nicht richtig liest.....

    Wenn ich die Frage richtig lese, ergibt sie keinen Sinn... denn 34534 ist keine Variable, die in Anführungszeichen steht... gemeint ist damit wohl eine Zeichenkette (String).

    Zitat von Andy

    Je nachdem, was für ein Wert in der Variable steht, braucht man nur "casten"

    In seinem Fall sähe es aber wohl eher so aus...

    Code
    $a='"12345"'
    msgbox(0,$a*3,int($a)*3)

    ...was dann aber nicht einfach mit "casten" zu erledigen ist.

  • StringRegExp

    • Bitnugger
    • 14. Januar 2019 um 21:11
    Zitat von Andy

    wobei ein Stringmid() bei bekanntem String ja noch einfacher wäre^^

    Das gilt doch genauso für _StringBetween... aber ok, falls die Anführungszeichen bekannt sind, wäre StringMid die erste Wahl, andernfalls StringRegExpReplace.

    Hier noch ein StringRegExpReplace bei dem die Anführungszeichen auch fehlen dürfen...

    Code
    Local $sString1 = '"Teststring1"'
    ConsoleWrite('> $sString1 = ' & $sString1 & @CRLF)
    $sString1 = StringRegExpReplace($sString1, '(?:^["|''])?(.+)(?:["|'']$)?', '\1')
    ConsoleWrite('> $sString1 = ' & $sString1 & @CRLF)
    
    Local $sString2 = "'Teststring2'"
    ConsoleWrite('+ $sString2 = ' & $sString2 & @CRLF)
    $sString2 = StringRegExpReplace($sString2, '(?:^["|''])?(.+)(?:["|'']$)?', '\1')
    ConsoleWrite('+ $sString2 = ' & $sString2 & @CRLF)
    
    Local $sString3 = 'Teststring3'
    ConsoleWrite('- $sString3 = ' & $sString3 & @CRLF)
    $sString2 = StringRegExpReplace($sString3, '(?:^["|''])?(.+)(?:["|'']$)?', '\1')
    ConsoleWrite('- $sString3 = ' & $sString3 & @CRLF)
    Alles anzeigen

    > $sString1 = "Teststring1"

    > $sString1 = Teststring1"

    + $sString2 = 'Teststring2'

    + $sString2 = Teststring2'

    - $sString3 = Teststring3

    - $sString3 = Teststring3

  • StringRegExp

    • Bitnugger
    • 14. Januar 2019 um 18:05

    StringRegExp wäre dafür eh nicht die geeignete Funktion... weil das Ergebnis dann ein Array wäre, aus dem du den String erst wieder herausholen müsstest. Da du lediglich einen String von den Anführungszeichen befreien willst, wäre StringRegExpReplace die richtige Funktion - das macht Sinn, wenn nicht sicher ist, ob der String in '' oder in "" verpackt ist, andernfalls wäre StringReplace die erste Wahl!

    Hier ein Beispiel, wie es mit StringRegExpReplace geht:

    Code
    Local $sString1 = '"Teststring"'
    ConsoleWrite('> $sString1 = ' & $sString1 & @CRLF)
    $sString1 = StringRegExpReplace($sString1, '^["|''](.+)["|'']$', '\1')
    ConsoleWrite('> $sString1 = ' & $sString1 & @CRLF)
    
    Local $sString2 = "'Teststring'"
    ConsoleWrite('- $sString2 = ' & $sString2 & @CRLF)
    $sString2 = StringRegExpReplace($sString2, '^["|''](.+)["|'']$', '\1')
    ConsoleWrite('- $sString2 = ' & $sString2 & @CRLF)

    > $sString1 = "Teststring"

    > $sString1 = Teststring

    - $sString2 = 'Teststring'

    - $sString2 = Teststring

  • Datumsproblematik

    • Bitnugger
    • 14. Januar 2019 um 13:40
    Zitat von Oscar

    Du musst _DateDayOfWeekISO durch _DateDayOfWeek ersetzen, weil _DateDayOfWeek mit 1=Sunday rechnet.

    _DateDayOfWeekISO? Du meinst sicher _DateToDayOfWeekISO... hier ist 1=Monday und bei _DateDayOfWeek ist 1=Sunday.

  • Snippets online stellen und nutzen

    • Bitnugger
    • 13. Januar 2019 um 13:27

    Warum kompilierst du deine Snippets dann nicht einfach selbst und stellst deinen Freunden die EXE zur Verfügung?

    Um die Ausgaben der EXE in einer Console anzuzeigen, musst du beim Kompilieren einfach als Option "Create CUI instead of GUI EXE" angeben oder alternativ an den Anfang des Scripts folgende Zeile manuell einfügen:

    #AutoIt3Wrapper_Change2CUI=y

  • ISN AutoIt Studio

    • Bitnugger
    • 12. Januar 2019 um 16:29

    Ich denke das reicht nicht nur aus, sondern bietet sogar mehr Möglichkeiten, als die RDC-UDF.

    Im Anhang mal eine kleine Demo, die du für dein Projekt verwenden kannst... musst nur die Pfade und Dateierweiterungen anpassen...

    ShellChangeNotify.png

    Dateien

    _ShellChangeNotify.7z 107,66 kB – 507 Downloads
  • ISN AutoIt Studio

    • Bitnugger
    • 12. Januar 2019 um 12:03

    Hallo ISI360

    Heute wurde mir bei meiner lokalen Suche mit Everything nach "_SciLexer.au3" auch eine Version angezeigt, die sich in dem Pfad von ISN AutoIt Studio befindet... bei der Gelegenheit bin ich dann mal deine Includes durchgegangen, um zu prüfen, ob ich davon was gebrauchen kann - und ja, da sind einige drin, die ich mal näher unter die Lupe nehmen werde.

    Aufgefallen ist mir dabei aber vor allem die RDC.au3 (Read Directory Changes) - ich verstehe nicht so recht, warum du diese UDF (als Wrapper) benutzt und nicht direkt mit _WinAPI_ShellChangeNotifyRegister arbeitest, zumal das Handling damit auch sehr einfach ist und du zudem dann keine Fremd-Dll's (RDC.dll, RDC_x64.dll) brauchst und etwa 86.381 Bytes weniger an Code mit rumschleppen musst?

  • TCPlisten in Verbindung mit Class A Netz

    • Bitnugger
    • 10. Januar 2019 um 05:43
    Zitat von misterspeed

    Warum soll TCPlisten nur mit Class C Netzen funktionieren? TCPlisten wird auf Serverseite genutzt und kann an jede beliebige IPv4 Adresse des Servers gebunden werden.

    In dem Example zu TCPListen steht folgende Bemerkung:

    ; Notes: You can only listen on private IPs, such as the one used here;

    ; or on the range of 192 to 223 (generally 192.168.X.X, use @IPAddress1 to test on your local IP [you will need another computer]).

    ; The Listen socket identifier is only used for the TCP Accept function.

    Zitat von Norman Bates

    ich will einen Client abfragen ob er da ist.

    Wenn ich dich richtig verstehe, willst du mit einem anderen Script überprüfen, ob ein Client eine Verbindung zu einem Server hat? Das ginge dann z.B. mit netstat.

    Hier mal ein Bsp. für Port 80:

    Code
    #Include <Array.au3>
    
    Local $iPort = 80
    Local $iPID = Run(@ComSpec & ' /c netstat -ao|find ":' & $iPort & ' "', '', @SW_HIDE, $STDOUT_CHILD)
    ProcessWaitClose($iPID)
    Local $sOutput = StdoutRead($iPID)
    ConsoleWrite($sOutput & @CRLF)
    Local $aOutput = StringRegExp($sOutput, '[^\s]+[\s|\R]', 3)
    If UBound($aOutput) Then
        _ArrayDisplay($aOutput, '$aOutput')
        Local $aOut[0][6], $j
        For $i = 0 To UBound($aOutput) -1 Step 5
            $j = _ArrayAdd($aOut, StringStripWS($aOutput[$i]&'|'&$aOutput[$i+1]&'|'&$aOutput[$i+2]&'|'&$aOutput[$i+3]&'|'&$aOutput[$i+4], $STR_STRIPALL))
            $aOut[$j][5] = _ProcessGetName($aOut[$j][4])
            ConsoleWrite('$aOut['&$j&'][3] = ' & $aOut[$j][3] & @CRLF)
        Next
        _ArrayDisplay($aOut, '$aOut', '', 0, Default, 'Proto|Lokale Adresse|Remoteadresse|Status|PID')
    EndIf
    Alles anzeigen
  • Kopiertool

    • Bitnugger
    • 9. Januar 2019 um 21:01
    Zitat von Musashi

    Das müsste dann direkt hinter jedem zu ändernden Control (hier also den 3 Radiobuttons) gesetzt werden, korrekt ?

    Nein, das kannst du jederzeit aktivieren oder auch wieder deaktivieren... musst dann eben nur das Handle des Controls angeben.

    Zitat von Musashi

    Ich meine, es gibt auch einen DllCall, der das skriptweit macht

    Ja, gibt es... doch meistens will man das ja nur für einige Controls und nicht für die komplette Anwendung.

    DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'dword', $iFlags) ; _WinAPI_SetThemeAppProperties ( $iFlags )

  • Kopiertool

    • Bitnugger
    • 9. Januar 2019 um 20:29
    Zitat von Musashi

    Hast Du zufällig einen solchen style aktiviert ?

    Falls ja, kannst du ihn für ein Control z.B. so deaktivieren:

    DllCall("UxTheme.dll", "int", "SetWindowTheme", "hwnd", GUICtrlGetHandle(-1), "wstr", "Explorer", "wstr", 0) ; _WinAPI_SetWindowTheme($hWnd, $sName = Default, $sList = Default)

  • HILFE - Skript schreiben um Textumrüche etc. umzuwandeln

    • Bitnugger
    • 7. Januar 2019 um 08:08

    Kann man aber auch mit StringRegExpReplace machen:

    Code
    Global $sSource = FileRead("input.txt")
    Global $sDest = StringRegExpReplace(StringReplace($sSource, ' ', '.'), '.+:\.(.+)\RURL:(.+)\R?', '\1 \2' & @CRLF)
    FileWrite("output.txt", $sDest)
    
    ; oder als Einzeiler
    ;~ FileWrite("output.txt", StringRegExpReplace(StringReplace(FileRead("input.txt"), ' ', '.'), '.+:\.(.+)\RURL:(.+)\R?', '\1 \2' & @CRLF))
  • Codezeilennummer Übergeben

    • Bitnugger
    • 6. Januar 2019 um 03:28
    Code
    ;
    Anzeige(@ScriptLineNumber)
    
    Func Anzeige($iLineNumber)
        MsgBox(0,"Anzeige","Funktion Wurde in Codzeile "&$iLineNumber&" aufgerufen");Zeile 2 hätte ich gerne als Ausgabe
    EndFunc
    
    Anzeige2()
    
    Func Anzeige2($iLineNumber = @ScriptLineNumber)
        MsgBox(0,"Anzeige2","Funktion Wurde in Codzeile "&$iLineNumber&" aufgerufen");Zeile 8 hätte ich gerne als Ausgabe
    EndFunc
    Alles anzeigen

    Das funktioniert aber nicht in kompilierten Scripten... weil dann keine Zeilennummer mehr ermittelt werden kann.

  • Ein- und Ausklappbarer Text in Scite

    • Bitnugger
    • 6. Januar 2019 um 03:17
    Zitat von RevSt4r

    Meinst du vllt:

    Nein.

    Hier ein Bsp.:

    Code
    For $i = 1 To 100 Step 1
        ConsoleWrite('$i = ' & $i & @CRLF)
    Next

    Die Keywords For und Next definieren hier einen Abschnitt, der ein- und ausklappbar ist... und Mars will nun aber eigene Keywords definieren können.

    Hier ein Bsp.:

    Code
    ;~Fold
    Local $sString = 'Huhu'
    
    ConsoleWrite('$sString = ' & $sString & @CRLF)
    ;~/Fold

    Hier sollen dann ;~Fold und ;~/Fold als Keywords verwendet werden, die einen Abschnitt definieren, der ein- und ausklappbar sein soll...

  • SciTE - Option "MustDeclareVars" mittels Property automatisch setzen

    • Bitnugger
    • 6. Januar 2019 um 02:49
    Zitat von BugFix

    Dann müsste man neue Skripte immer über das Template erstellen, statt aus SciTE heraus

    Ein vorhandenes Template könnte man mit LUA automatisch einfügen, wenn eine leere Datei gespeichert wird.

    In dem Template.au3 kann dann überprüft werden, ob die Option "MustDeclareVars" enthalten ist.

  • Zeilenumbruch

    • Bitnugger
    • 5. Januar 2019 um 01:14
    Zitat von Musashi

    $sNewStr = StringRegExpReplace($sStr, "\r\n|\r|\n", " ")

    Besser so:

    $sNewStr = StringRegExpReplace($sStr, "\R", " ") ; Zeilenumbrüche durch Leerzeichen ersetzen

  • SciTE - Option "MustDeclareVars" mittels Property automatisch setzen

    • Bitnugger
    • 4. Januar 2019 um 02:28

    Kannst du in dem TimeStamp-Skript noch eine Option einbauen, damit es auch mit Python-Scripts funktioniert?

    SetTimeStamp.py=1

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™