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 und Arduino

    • BugFix
    • 12. Juni 2016 um 20:59

    @Code-Jack
    Falls du es irgendwo bekommst: Aceton
    Aber Vorsicht - sehr niedriger Flammpunkt und wenig lungenfreundlich. Damit bekommt man so ziemlich alles weg. Aber bei Plastikuntergrund aufpassen - das Zeug zerlelegt auch Plastik.
    Falls du jemanden in einer Autowerkstatt kennst - die haben aggressive Reiniger für Fette und Öle. Kann sein, dass das Zeug auch hilft.

  • AutoIt und Arduino

    • BugFix
    • 5. Juni 2016 um 23:01

    Mal etwas OT, aber Bastler betreffend:
    Ich verschrotte z.Zt. diverse alte Beatmungsgeräte. Die haben recht große LCD-Displays (hier und hier in ca. 150% der realen Größe sichtbar).
    Eigentlich zu schade, die in die Tonne zu treten, aber die Geräte haben das Zeitliche gesegnet und ich habe auch keinen Bedarf dafür.
    Falls ihr mit den Displays rumspielen möchtet, könnte ich euch sicher welche zukommen lassen. Ich habe aber keine Datenblätter für die Teile.
    Die Displays sind rückseitig mit einer Art Steckerleiste auf einem Mainboard angedockt. Dieses kann ich aber nicht hergeben, da es die Geräteinformationen (Firmware, Nutzungsdaten etc.) enthält und als Kernelement definitiv vernichtet werden muß.
    Also meldet euch, falls ihr Bedarf habt. Es kann sein, dass ich mich die nächsten 10 Tage nicht melde - eine Dienstfahrt steht an.

  • TimeStamp - erweitert zu kleiner Versionsverwaltung für (.au3 und .lua) alle Typen

    • BugFix
    • 4. Juni 2016 um 10:56

    Hi,
    inzwischen konntet ihr das Problem ja lösen. ^^

    Hier mal meine Startup.lua, alle NICHT-ORIGINAL-Einträge sind rot markiert:

    Spoiler anzeigen


    --------------------------------------------------------------------------------

    -- SciTE startup script.
    --------------------------------------------------------------------------------

    local sUserLua = props["Lua.User.Scripts.Path"]

    LUA_USER_PATH = sUserLua .. "\\?.dll;" .. sUserLua .. "\\?\\?.dll;"
    package.cpath = LUA_USER_PATH .. package.cpath

    LUA_USER_LUA = sUserLua .. "\\?.lua;" .. sUserLua .. "\\?\\?.lua;"
    package.path = LUA_USER_LUA .. package.path

    -- A table listing all loaded files.
    LoadLuaFileList = { }

    --------------------------------------------------------------------------------
    -- LoadLuaFile(file, directory)
    --
    -- Helper function for easily loading Lua files.
    --
    -- Parameters:
    -- file - The name of a Lua file to load.
    -- directory - If specified, file is looked for in that directory. By default,
    -- this directory is $(SciTEDefaultHome)\Lua.
    --------------------------------------------------------------------------------
    function LoadLuaFile(file, directory)
    if directory == nil then
    directory = props["SciteDefaultHome"] .. "\\Lua\\"
    end
    table.insert(LoadLuaFileList, directory .. file)
    dofile(directory .. file)
    end -- LoadLuaFile()
    --------------------------------------------------------------------------------
    -- Calls LoadLuaFile() with directory from Lua-User-Script property
    -- Also used from file "Ownhotkeys.lua"
    --------------------------------------------------------------------------------
    function LoadUserLuaFile(file)
    LoadLuaFile(file, props["Lua.User.Scripts.Path"] .. "\\")
    end -- LoadUserLuaFile()
    --------------------------------------------------------------------------------


    -- Load all the Lua files.
    LoadLuaFile("Class.lua") -- Always load first.
    LoadLuaFile("Common.lua") -- Always load second.
    LoadLuaFile("AutoItPixmap.lua")
    LoadLuaFile("AutoHScroll.lua")
    LoadLuaFile("AutoItAutoComplete.lua")
    LoadLuaFile("LoadSession.lua")
    LoadLuaFile("AutoItIndentFix.lua")
    LoadLuaFile("EdgeMode.lua")
    LoadLuaFile("SmartAutoCompleteHide.lua")
    LoadLuaFile("Tools.lua")
    LoadLuaFile("AutoItTools.lua")
    LoadLuaFile("AutoItGotoDefinition.lua")
    LoadLuaFile("SciTE_extras.lua")

    if os.getenv("SCITE_USERHOME") ~= nil then
    f = io.open(os.getenv("SCITE_USERHOME") .. "\\PersonalTools.lua")
    if f ~= nil then
    LoadLuaFile("PersonalTools.lua",os.getenv ("SCITE_USERHOME") .. "\\")
    f:close()
    end
    else
    f = io.open(os.getenv("USERPROFILE") .. "\\PersonalTools.lua")
    if f ~= nil then
    LoadLuaFile("PersonalTools.lua",os.getenv ("USERPROFILE") .. "\\")
    f:close()
    end
    end

    -- Start up the events (Calls OnStartup()).
    EventClass:BeginEvents()

    LoadUserLuaFile("AutoStampSaveVersion.lua") -- Timpe-Stamp, Version Management
    LoadUserLuaFile("ContinuousComments.lua") -- Aligned Comments
    LoadUserLuaFile("EdgingSelection.lua") -- Paired Characters, Auto array declaration from selected values
    LoadUserLuaFile("Ownhotkeys.lua") -- Activates OwnHotkeys
    LoadUserLuaFile("MySciTETools.lua") -- My SciTE-Tools
    LoadUserLuaFile("CodeAsHtml.lua") -- Au3 To HTML
    LoadUserLuaFile("SelectStatement.lua") -- Selected code set in statement
    LoadUserLuaFile("ShowHexColorFromCursor.lua") -- Displays colors inside SciTE
    LoadUserLuaFile("CommentAutoPos.lua") -- Comments behind code in line starts automatically at given column
    LoadUserLuaFile("ReplTabWithSpaces.lua") -- Inserts spaces while hit the TAB, with Backspace delete count spaces for Tab width


    Hier noch mal eine kurze Erklärung, was die PATH-Anweisungen bewirken:

    LUA_USER_PATH = sUserLua .. "\\?.dll;" .. sUserLua .. "\\?\\?.dll;"
    Hiermit stelle ich zwei Pfadangaben mit Platzhalter zusammen, die anschließend der Globalen Variablen package.cpath hinzugefügt werden.
    Die Pfade werden mit Semikolon voneinander getrennt. Das Fragezeichen ist Platzhalter für einen identischen Wert.
    Bsp.:
    Mein User-Lua-Pfad ist: C:\Skripte\MeinLua
    Ich möchte die shell.dll einbinden. Dann kann ich jetzt entweder die Dll direkt in den User-Pfad kopieren
    • C:\Skripte\MeinLua\shell.dll oder in einen gleichnamigen Ordner im User-Pfad
    • C:\Skripte\MeinLua\shell\shell.dll

    LUA_USER_LUA = sUserLua .. "\\?.lua;" .. sUserLua .. "\\?\\?.lua;"
    Dieser Pfad verweist auf zu verwendende Lua-Dateien, die Bezeichnung der Ordner und Dateien erfolgt analog zum Bsp. der Dll-Dateien.
    Anschließend erfolgt hier die Zuordnung zur Globalen Variablen package.path.

    Die Verwendung von gleichnamigen Ordnern, die das jeweilige Skript/die Dll enthalten ist sehr sinnvoll um Ordnung zu halten. So kann man notwendige Dateien, auf die die einzubindenden Dateien zugreifen müssen, übersichtlich mit im jeweiligen Modul-Ordner speichern.

  • TimeStamp - erweitert zu kleiner Versionsverwaltung für (.au3 und .lua) alle Typen

    • BugFix
    • 1. Juni 2016 um 21:16

    Bin derzeit auf Dienstreise, schaue am WE mal drauf. Schick mir bitte sicherheitshalber noch eine PN, damit ich dran denke.

  • Deaktiviertes Label färben?

    • BugFix
    • 30. Mai 2016 um 12:42

    Na dann ändere die Art des Zugriffs. Auslöser ist nicht der Klick auf das Label, sondern der Klick auf eine relative Mausposition in deinem Fenster.
    - Definiere Rect-Struct für jedes Klick-Areal
    - Mausklick erfolgt -> Position in Point-Struct setzen
    - Prüfe für alle gespeicherten Rect mit PtInRect ob ein gültiger Klick existiert
    --> wenn ja: zugeordnete Funktion ausführen

  • Deaktiviertes Label färben?

    • BugFix
    • 30. Mai 2016 um 11:41
    Zitat von ISI360

    Und ja das Label MUSS Disabled sein! ("Darunter" sollen klickbare Grafiken liegen)

    Wenn das Färben eines Disabled-Label nicht wirklich oder nur mit extrem vielen Verrenkungen klappt, ändere doch den Click-Through-Modus:
    - Enabled - Label geklickt?
    --> Mausposition abfragen (relativ zum aktiven Fenster)
    --> prüfen welche Grafik an dieser Position liegt
    --> Aktion der zugehörigen Grafik aufrufen

  • Punkt vor Befehl

    • BugFix
    • 20. Mai 2016 um 21:13

    Der Punkt findet Verwendung bei:
    - Struktur.Feldname (ist aber nicht die empfohlene Vorgehensweise)
    - Objekt.Methode
    - Objekt.Property

    Objekte, die nativ in AutoIt verwendet werden können, sind nicht die Regel und werden per ObjCreate/ObjGet initialisiert.

  • AutoIt / SciTE / Probleme mit code.page ANSI UTF8 / ss und ß / _ArraySearch

    • BugFix
    • 20. Mai 2016 um 20:34
    Zitat von HalliHalloSchat

    code.page=0

    Zitat von HalliHalloSchat

    ScriptDatei: UTF8 without BOM

    Das passt nicht zusammen. Wieso ist deine Skriptdatei UTF8wB, wenn deine Standardeinstellung für SciTE "locale settings" (bei Standard-Windows ist das i.A. Win1252) ist? Hast du in deinem Skript eine Encoding-Zeile eingetragen, oder wurde das Skript mit einem anderen Editor erstellt?
    Es ist etwas unglücklich, dass die Settings von SciTE keinen einheitlichen Zeichensatz festlegen (ich hätte UTF-8 bevorzugt), sondern sich an den lokalen User-Einstellungen orientieren. Bringt immer viel "Spaß", wenn man Skripte aus anderen Teilen der Welt in die Finger bekommt.

  • 2 Textdateien vergleichen und Änderung in Datei1 auswechslen

    • BugFix
    • 18. Mai 2016 um 14:40

    Die Nummerierung ist in beiden Dateien identisch.
    Also lies beide Dateien jeweils in ein Array (_FileReadToArray).
    Da die Änderungen von Datei_2 auf Datei_1 übertragen werden sollen (ich gehe davon aus, dass die Nummerieung aufsteigend ist)
    Loop mit Array von Datei_2
    - Filmnummer in Array-Datei_2 von aktuellem Eintrag lesen
    - in Array-Datei_1 den Index solange erhöhen, bis dieselbe Filmnummer gefunden ist
    - jetzt den Inhalt des Eintrags von Array-Datei_2 in das Array-Datei_1 am aktuellen Index eintragen
    bis zum Ende Array-Datei_2 wiederholen
    Jetzt Datei_1 zurückschreiben (_FileWriteFromArray)

    Es ist unerheblich, ob und was sich geändert hat - es werden einfach alle Inhalte aus Datei_2 in Datei_1 übertragen, das geht schneller als Vergleichen und erst dann ändern.

  • 2 Textdateien vergleichen und Änderung in Datei1 auswechslen

    • BugFix
    • 18. Mai 2016 um 14:21
    Zitat von ruby

    Titel nur einmal vorkommt der Filmname sich über die FilmNr hier 2 genau zuordnen lässt

    Und das sind REGELN. Hättest du das im Startpost geschrieben, hätten wir nicht bis Post 10 gebraucht um nun das Problem betrachten zu können.

  • 2 Textdateien vergleichen und Änderung in Datei1 auswechslen

    • BugFix
    • 18. Mai 2016 um 14:07
    Zitat von ruby

    Dann erstelle ich eine Datei 2 wo sich der Titel von z.B Feuerball in Feuerball 123 geändert hat.

    Und woher weißt du, dass Feuerball 123 die Änderung von Feuerball ist und kein eigenständiger Titel?
    Deshalb die Frage nach Regeln.
    Regeln müssen abstrakt sein, sie dürfen sich nicht nur an Bsp. erklären lassen, sondern müssen in sich klar sein. Vergleichbar mit RegExp-Pattern.

  • 2 Textdateien vergleichen und Änderung in Datei1 auswechslen

    • BugFix
    • 18. Mai 2016 um 13:15

    @autoBert hatte bereits gefragt, aber du scheinst das geflissentlich zu ignorieren:
    Welches sind die REGELN nach denen die Unterscheidung stattfinden soll?!

    • Wann steht ein Eintrag in beiden Dateien?
    • Welche Bedingung gilt?
    • Welche Änderungen in Datei 2 müssen auf Einträge in Datei 1 angewendet werden?
  • Lua Code wiederholen lassen bzw an bestimmte Zeile im Code springen

    • BugFix
    • 12. Mai 2016 um 15:06
    Zitat von rangman135

    auch wenn das Python ist

    Nee, nee, der Code ist Lua, genau so, wie du ihn im Konsolenfenster von Lua für Windows verwenden kannst (deshalb auch der Prompt '>') - nur der Syntaxhighlighter ist Python, habe ich genommen, weil keiner für Lua bei ist. ^^

    Zitat von rangman135

    wo bzw mit was du Lua gelernt hast?

    SciTE4AutoIt verwendet Lua für alle PlugIns. Und da ich viele PlugIns selber geschrieben habe, kam ich an Lua nicht vorbei. ;)
    Im Forum Skripte haben wir übrigens eine eigene Abteilung für Lua.

    EDIT:
    Um in SciTE4AutoIt Lua-Dateien ausführen zu können, mußt du folgendes in die SciTEUser.properties-Datei eintragen:

    Brainfuck
    command.go.$(file.patterns.lua)=dofile $(FilePath)
    command.go.subsystem.$(file.patterns.lua)=3

    Dann kannst du die Lua-Datei im Editor mit F5 starten.

  • Lua Code wiederholen lassen bzw an bestimmte Zeile im Code springen

    • BugFix
    • 11. Mai 2016 um 22:28

    Naja, Konsole ist Dreck. Wenn du dort Funktionen erstellen willst, solltest du dann auch alles was zu dieser Funktion gehört in eine Zeile packen, weil mit ENTER der Code der aktuellen Zeile interpretiert wird. Gibt zwar auch nen Trick mehrzeilig in der Shell zu schreiben - ist aber nur ne Krücke.
    Besser ist den Code in eine Skriptdatei zu packen und mit dofile aufzurufen.
    Aber Lua ist nicht dafür gedacht, Konsoleninteraktionen mit dem User zu führen - das ist dann eher schon etwas für Fortgeschrittene.

    Das was du machst, in der Konsole (schreiben: variable = wert ENTER, ausgabe: wert) geht nicht in der Form, dass du sagst: Ich erwarte jetzt eine User-Eingabe und diese wird der Variablen xy zugewiesen.
    Du kannst das aber simulieren:

    Python
    > ziel = 3 <ENTER>
    > eingabe = function(wert) if wert ~= ziel then print('Bitte erneut "eingabe(WERT)" aufrufen') else print('Treffer, das ist korrekt') end end <ENTER>

    Jetzt kannst du mit eingabe(WERT) eine Zahl eingeben und das Programm fordert dich zur erneuten Ausgabe bei Ungleichheit auf oder sagt dir, wenn Übereinstimmung ist. Also keine wirkliche Schleife, da die Konsole dir kein 'Variable = Wert' bereitstellen kann.

  • Lua Code wiederholen lassen bzw an bestimmte Zeile im Code springen

    • BugFix
    • 11. Mai 2016 um 20:56

    In welchem Umfeld soll denn das Lua-Skript laufen? Wie soll denn der User Eingaben machen, wo werden die Fragen gestellt?
    In einer grafischen Oberfläche (Tkinter, wxLua) oder soll es konsolenbasiert sein? Konsole würde ich ablehnen, sieht erstens Schei... aus und ist lange nicht so angenehm, wie eine grafische Anwendung.

    Aber unabhängig davon: einfach eine repeat-until-loop verwenden

    Perl
    sollwert = "irgendwas"
    repeat
    	answer = eine_input_funktion()  -- Funktion gibt User-Input zurück
    until answer == sollwert
  • Umlaute aus ini Datei auslesen

    • BugFix
    • 9. Mai 2016 um 17:29

    Du kannst ja die INI explizit in einer Kommentarzeile auf eine Codepage festlegen, also z.B.
    ; codepage utf-8, oder 1252 (Latin 1).
    Natürlich solltest du dann auch mit dieser CP in die INI schreiben, sonst speicherst du schon Müll.

  • Unterschiedliche Textfarben innerhalb einer ListView

    • BugFix
    • 9. Mai 2016 um 08:39
    Zitat von TheUnkowingDude

    Mit geht es darum, wie zb. mit dem Befehl GUICtrlSetColor, die Textfarbe zu ändern und das für einzelne Elemente der ViewList.

    DllStructSetData($tCustDraw, 'clrText', <BGR-COLOR>)

  • _DriveGetFolderExists

    • BugFix
    • 7. Mai 2016 um 13:41

    Das Tool hilft mir nur bedingt, da ich inzwischen mehr Externe Datenträger (teils auch partitioniert) besitze, als Laufwerksbuchstaben zur Verfügung stehen.

  • _DriveGetFolderExists

    • BugFix
    • 7. Mai 2016 um 12:30

    Hi,
    ich nehme an, bei euch sieht es ähnlich aus:
    Immer mehrere USB-Sticks angestöpselt, davon sind welche identisches Fabrikat und bekommen deshalb auch keine festen Laufwerksbuchstaben, sondern mal hat der eine G:, dann der andere.
    Um nun nicht immer zu gucken, welche Laufwerksnummern belegt und dann nach einem Ordner zu suchen, habe ich diese Funktion erstellt. Es wird der Pfad ohne Laufwerk angegeben. Die Funktion sucht in allen Laufwerken auf Existenz dieses Pfades und prüft auf Schreibrechte (Read-Only oder nicht), standardmäßig beschreibbar. Wobei mir aufgefallen ist, dass das Setzen von Read-Only per Skript erfolgen muss - im Explorer lassen sich nur die Rechte für die enthaltenen Dateien setzen.
    Die Funktion gibt die vollen Pfade von allen Treffern zurück.
    Vielleicht könnt ihr es brauchen.

    AutoIt
    ; #FUNCTION# ====================================================================================================================
    ; Name ..........: _DriveGetFolderExists
    ; Description ...: Searches a given path on all drives. You can search for writable (default) or read-only pathes.
    ; Syntax ........: _DriveGetFolderExists($sFolder[, $bWriteable = True])
    ; Parameters ....: $sFolder             - Folder path without drive.
    ;                  $bWriteable          - [optional] Searched path is (not) writeable. Default is True.
    ; Return values .: Success              Array with full pathes of all matches. Count of matches in $array[0]
    ;                  Failure              @error=1, $array[0]=0  - no matches
    ; Author ........: BugFix
    ; ===============================================================================================================================
    Func _DriveGetFolderExists($sFolder, $bWriteable=True)
    	Local $aD = DriveGetDrive('all')
    	Local $aExists[$aD[0]+1] = [0]
    	Local $sPath, $iErr = 0
    	$sFolder = StringRegExpReplace($sFolder, '^(\\+)|(\\+)$', '')
    	For $i = 1 To $aD[0]
    		$sPath = StringFormat('%s\%s', $aD[$i], $sFolder)
    		If FileExists($sPath) And ((StringInStr(FileGetAttrib($sPath), 'R') = 0) = $bWriteable) Then
    			$aExists[0] += 1
    			$aExists[$aExists[0]] = $sPath
    		EndIf
    	Next
    	ReDim $aExists[$aExists[0]+1]
    	If $aExists[0] = 0 Then $iErr = 1
    	Return SetError($iErr,0,$aExists)
    EndFunc  ;==>_DriveGetFolderExists
    Alles anzeigen
  • Wie bekomme ich das Item(Handle) eines TreeView Items innerhalb von WM_NOTIFY heraus.

    • BugFix
    • 5. Mai 2016 um 22:57

    @Bitnugger
    Hast du Recht, war noch nicht "durchkomponiert" ^^ - so ist es vollständig:

    AutoIt
    ; Rückgabe Handle des geklickten Item (-1 und @error=1, wenn unter letztem Item geklickt)
    ; oder Array mit Item-Handle und Hittest-Value
    Func _GUICtrlTreeView_GetItemClicked($hGui, $hTreeview, $bRetArray=False)
    	Local $tPOINT = _WinAPI_GetMousePos(True, $hGui)
    	Local $aPos = ControlGetPos($hGui, "", $hTreeview)
    	Local $iX = DllStructGetData($tPOINT, "X") - $aPos[0]
    	Local $iY = DllStructGetData($tPOINT, "Y") - $aPos[1]
    	Local $iHittest = _GUICtrlTreeView_HitTest($hTreeview, $iX, $iY)
    	Local $hItem = _GUICtrlTreeView_HitTestItem($hTreeview, $iX, $iY)
    	Local $iErr = 0
    	If $iHittest = 1 Then
    		$iErr = 1
    		$hItem = -1
    	EndIf
    	If $bRetArray Then
    		Local $aRet[2] = [$hItem, $iHittest]  ; [Handle-Item, Value-Hittest] -> Values: https://www.autoitscript.com/autoit3/docs/libfunctions/_GUICtrlTreeView_HitTest.htm
    		Return SetError($iErr,0,$aRet)
    	EndIf
    	Return SetError($iErr,0,$hItem)
    EndFunc
    Alles anzeigen

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™