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

  • IfWinExist

    • BugFix
    • 25. März 2012 um 15:13

    Einen Befehl "IfWinExist" gibt es nicht. Falls du "If WinExists(..)" meinst, achte auf die Schreibweise und in welcher Form die Parameter übergeben werden. Erklärt die Hilfe ausgiebig.

  • SciTE - alte Farben oder neue Farben - Abstimmung

    • BugFix
    • 24. März 2012 um 22:57

    Wie kommt ihr zu einer Änderung der Syntaxdarstellung? Wahrscheinlich die alte SciTE-Version erst deinstalliert, dummer Fehler. :D
    Immer schön drüberinstallieren, dann bleiben auch eure Einstellungen erhalten.

    Die geänderte Darstellung in der Hilfe stört mich nicht. Wär ja schlimm, wenn man Code nur versteht, wenn er in ewig gleicher Syntaxdarstellung zu lesen ist. :whistling:

  • Neuer Besucherrekord?

    • BugFix
    • 24. März 2012 um 22:50

    Ich möchte mal nicht unerwähnt lassen, dass wir ein Forum zum Austausch von Gedanken, Ideen etc. in Zusammenhang mit der Skriptsprache AutoIt sind!
    Wir haben nicht unbegründet die schwachsinnigen Postingzahl-Anzeigen in den Postings abgeschafft. Und da sollen wir uns freiwillig wie degenerierte Affen zu einer festen Zeit einfinden und jubilieren?
    Nein Danke! Ich habe noch mehr als eine Hirnzelle und die sind zudem noch funktionsfähig.

    Fazit: 100% Schwachsinn.

  • SciTE - Markierten Bereich paarig einfassen + Arraydeklaration mit Wertzuweisung und Scopeauswahl

    • BugFix
    • 24. März 2012 um 22:38
    Zitat von BigRox

    Kann man dieses Tool auch so erweitern, dass auch diese paarigen Zeichen " < > " verarbeitet werden ?


    Das ist machbar. Aber das braucht man doch i.A. bei html als Tag-Begrenzer - dann sollte doch als schließendes Element "/>" verwendet werden, oder?

    Edit:
    Hier mal die Lösung, ersetze einfach diese Parts in deinem Skript. D.h. aber auch, dass du nicht mehr einfach "<" schreiben kannst - du erhältst automatisch das Gegenstück dazu.

    Code
    -- german keyboard
    tCode['GE'] = {}
    tCode['GE']['SHIFT'] = { [50] = '"', [191] = "'", [56] = '(', [57] = ')', [226] = '>' }
    tCode['GE']['CTRL_ALT'] = { [55] = '{', [56] = '[', [57] = ']', [48] = '}' } 
    tCode['GE']['RAW'] = { [226] = '<' }
    
    
    -- paired chars
    local tPairs = {}
    tPairs['Left']  = { ['('] = ')', ['{'] = '}', ['['] = ']', ['"'] = '"', ["'"] = "'", ["<"] = ">" } 
    tPairs['Right'] = { [')'] = '(', ['}'] = '{', [']'] = '[', ['"'] = '"', ["'"] = "'", [">"] = "<" }
    Alles anzeigen
  • Controls IN Controls, Abhängigkeit zueinander

    • BugFix
    • 24. März 2012 um 15:32

    Einfach mal Google benutzen?
    GUIScroll-UDF - scrollbare GUIs
    [ gelöst ] Gruppe oder Bereich in GUI scrollen

  • "Listview-UDF" oder wie man User zur Verzweiflung bringt

    • BugFix
    • 23. März 2012 um 21:30

    Sehr seltsam, vielleicht irgendein Problem mit meinem Win7? (OS:WIN_7 Pro/Service Pack 1 CPU:X64 OS:X64)
    Ich werde mal in der VM testen.

  • "Listview-UDF" oder wie man User zur Verzweiflung bringt

    • BugFix
    • 23. März 2012 um 20:47

    Ich erstelle generell alle Listview so:

    [autoit]

    $ID_LV = GuiCtrlCreateListview(..)
    ; Handle holen für UDF
    $hLV = GuiCtrlGetHandle($ID_LV)

    [/autoit]


    Und jetzt ist erstmalig dieses Phänomen aufgetreten, meine Listview wurden nicht geleert, weil meine ItemCount-Abfrage mit dem Handle nicht ausgeführt wurde. Doch bis ich das herausgefunden hatte war eine Stunde "Fehler"suche notwendig. Denn wer rechnet schon damit, dass ein bisher immer auf diesem Weg funktionierender Ablauf plötzlich versagt.

  • "Listview-UDF" oder wie man User zur Verzweiflung bringt

    • BugFix
    • 23. März 2012 um 14:44

    Ich habe noch nicht alle Funktionen durchgetestet, hier ein paar, die die ich gerade beim Wickel habe und die mich zur Fehlersuche gezwungen haben:

    _GUICtrlListView_DeleteAllItems(NUR HANDLE)
    _GUICtrlListView_GetColumnCount(NUR ID)
    _GUICtrlListView_GetItemText(NUR ID)

    Bei den anderen habe ich noch nicht auf Ausschließlichkeit geprüft (habe ich auch nicht unbedingt Lust zu).
    Ich werde lieber zurückkehren direkt zu den _SendMessage - Funktionen (eigentlich sollte die Listview-UDF ja eine komfortable Behandlung dieser Funktion darstellen).

    Im EN-Forum nachfragen? - Da hast du aber mehr Resonanz, wenn du einen Stein ins Wasser wirfst. :whistling:

  • "Listview-UDF" oder wie man User zur Verzweiflung bringt

    • BugFix
    • 23. März 2012 um 14:19

    Ich bin gerade so richtig stinkig und damit es euch nicht auch so ergeht, will ich euch meinen Ärger nicht vorenthalten.

    Ich schreibe seit geraumer Zeit an einem recht umfangreichen Skript (bereits mehrere tausend Zeilen Code) und dort sind auch einige Listview enthalten.
    Bisher hatte ich mit der letzten AutoIt-Version gearbeitet, nun verwende ich die 3.3.8.0 und hier hat sich etwas Gravierendes getan, was mit keinem Wort in den Changes erwähnt wird:
    Die meisten UDF-Funktionen arbeiten ausschließlich mit der ID! Ein übergebenes Handle wird ignoriert.
    Das ist ja eine Perversion in sich, da die UDF in ihrer Funktion .._Create() ein Handle zurückgibt, dass nun für die weiteren Funktion fast nutzlos ist. Die notwendige ID erhält man aber nicht und muß sie sich per WinAPI-Funktion besorgen.

    Ich habe bald eine Stunde damit verbracht, diesen blöden Bug zu finden. Zumal ja nicht alle Funktionen betroffen sind. Einige verwenden ausschließlich das Handle. Völlig konfus diese UDF.


    Da doch öfter Fragen nach sinnvollen Aufgaben gestellt werden, was man denn skripten kann. Das wäre eine sehr nützliche Aufgabe, die Listview-UDF entbuggen und in eine AutoIt-konforme Gestalt gießen.
    Es ist mir ehrlich schleierhaft, wie dieses Gemurks in die offizielle AutoIt-Version übernommen werden konnte. :wacko:

  • Unterschiedlicher Button Style

    • BugFix
    • 21. März 2012 um 12:38

    Mir scheint, dass du etwas viel Aufwand betreibst.
    Ich wende das i.A. so an:

    [autoit]

    $picBtnActive = "Pfad_aktive_Btn.bmp"
    $picBtnDeactive = "Pfad_deaktive_Btn.bmp"
    ...
    ...
    $Btn_1 = GUICtrlCreateButton('', 10, 10, 25, 25, $BS_BITMAP)
    GUICtrlSetImage(-1, $picBtnActive)
    ...
    ...

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

    Func _Switch($_ID) ; Status ändern und gleichzeitig Bild wechseln
    If BitAND(GUICtrlGetState($_ID), $GUI_DISABLE) Then
    GUICtrlSetState($_ID, $GUI_ENABLE)
    GUICtrlSetImage($_ID, $picBtnActive)
    Else
    GUICtrlSetState($_ID, $GUI_DISABLE)
    GUICtrlSetImage($_ID, $picBtnDeActive)
    EndIf
    EndFunc

    [/autoit]
  • StringRegExp Funktionen

    • BugFix
    • 21. März 2012 um 11:34

    Beim Erstellen von Pattern kommt es auf genaue Angaben möglicher Inhalte an. Ich vermute, dass in dem ungewollten roten Bereich auch Nicht-Text-Zeichen enthalten sind (Tag-Abgrenzungen), die dann das Ergebnis verfälschen. Zumindest auf das von dir eingestellte Muster trifft das Pattern 100%-ig. ;)

  • StringRegExp Funktionen

    • BugFix
    • 21. März 2012 um 11:18
    Zitat von Slider99

    schade, ich war wohl zu ungenau - sorry


    Ich versteh dich nicht: Genau das kommt als Ergebnis raus, vielleicht hast du das falsche Flag gesetzt?

    [autoit]

    #include <Array.au3>
    $s = '<h1><a href="httpx://aa-aaaaa.aa/aaaaee-aaaaa-aaaa-aaa-aaa-aaa/">bbb.bbb.bbb.bbb.bbb-bbb</a></h1>'
    $a = StringRegExp($s, '(?:">)(.+)(?></a)', 3)
    _ArrayDisplay($a)

    [/autoit]
  • StringRegExp Funktionen

    • BugFix
    • 21. März 2012 um 10:26

    Bitte:
    '(?:">)(.+)(?></a)'

  • StringRegExp Funktionen

    • BugFix
    • 21. März 2012 um 10:12

    Deine Frage ist viel zu ungenau. Daraus läßt sich kein verläßliches Pattern erstellen.
    Steht dort wirklich das Wort "ignorieren" oder ein beliebiger Inhalt?
    Ist der Anfang (wort) und das Ende (endesatz) ein Wort (alphabetisch) oder ist es alphanumerisch oder tatsächlich "endesatz" ?

    Wenn man nicht weiß, welche Zeichen in den einzelnen "Wörtern" enthalten sein können, ist es unmöglich ein treffsicheres Pattern zu gestalten.

  • Unterschiedlicher Button Style

    • BugFix
    • 21. März 2012 um 10:05
    Zitat von shrike

    Funktioniert, ist aber, wie schon erwähnt, aus meiner Sicht erher unschön.


    Was ist daran "unschön"? Es ist funktionell, einfach zu handhaben und erfüllt seinen Zweck zur Zufriedenheit. Und wenn du es zur "schönen" Lesbarkeit im Skript in eine Funktion auslagerst (State setzen und Bildzuweisung) ist doch alles im grünen Bereich.
    Und zusätzlich ist diese Lösung auch noch diejenige, die die wenigsten Ressourcen beansprucht - finde ich "schön". ;)

  • Array bearbeiten

    • BugFix
    • 21. März 2012 um 09:57

    Ich vermute mal (Skript hast du ja nicht gezeigt), dass du den Text mit _FileReadToArray() einliest.
    Dann arbeitest du das ja zeilenweise ab. Einfach in der Schleife abfragen:

    [autoit]

    If StringLeft($array[$i], 1) = "@" Then ContinueLoop

    [/autoit]
  • SciTE - kontinuierlicher Kommentarmodus für AutoIt (auch für SciTE-RU)

    • BugFix
    • 18. März 2012 um 18:48

    1. Bitte setze Code in Code-Tags (wozu haben wir die im Editor?). Code als Plain-Text läßt sich beim besten Willen nicht lesen.

    2. Deine SciTEStartup.lua sollte etwa Folgendes enthalten (die zwingend erforderlichen Einträge habe ich mit "X" markiert:

    Spoiler anzeigen
    Code
    -- A table listing all loaded files.
    X 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.
    --------------------------------------------------------------------------------
    X function LoadLuaFile(file, directory)
    	if directory == nil then
    		directory = props["SciteDefaultHome"] .. "\\Lua\\"
    	end
    	table.insert(LoadLuaFileList, directory .. file)
    	dofile(directory .. file)
    end	-- LoadLuaFile()
    
    
    -- Load all the Lua files.
    X LoadLuaFile("Class.lua")	-- Always load first.
    X 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")
    X LoadLuaFile("AutoItTools.lua")
    LoadLuaFile("AutoItGotoDefinition.lua")
    
    
    -- Start up the events (Calls OnStartup()).
    X EventClass:BeginEvents()
    
    
    LoadLuaFile("CommentsDelHide.lua")
    LoadLuaFile("EdgingSelection.lua")
    LoadLuaFile("EditOperations.lua")
    LoadLuaFile("AutoStampSaveVersion.lua")
    LoadLuaFile("LUA_TEST.lua")
    LoadLuaFile("MyDebug.lua")
    LoadLuaFile("AU3FuncsShow.lua")
    LoadLuaFile("HiResTimer.lua")
    LoadLuaFile("ManageIncludes.lua")
    LoadLuaFile("CamelJump.lua")
    LoadLuaFile("script_sql.lua")
    X LoadLuaFile("ContinuousComments.lua")
    LoadLuaFile("VarGetTipp.lua")
    Alles anzeigen

    Verwende mal die OnKey-Funktion mit Konsolenausgabe:

    Spoiler anzeigen
    Code
    function CommentHitKey:OnKey(_keycode, _shift)
    	if fCommentModeOn then                                       -- fortsetzender Kommentarmodus ist aktiv
    		local fBreak = isLFpos()
    print('Umbruchposition erreicht:', fBreak)                         -- Gibt an ob Umbruchposition erreicht true/false
    		if fIsEnter then
    			fIsEnter = false
    			local s, e = getSpaces(), ''
    			if charBreak2:len() > 0 then e = charBreak2..' ' end
    			editor:InsertText(editor.CurrentPos, s..charComm..e)
    			editor:LineEnd()
    		end
    		if _keycode == 13 then
    print('<ENTER>')                                                            -- Enter betätigt
    			fIsEnter = true
    			editor:InsertText(editor.CurrentPos, ' '..charBreak1)
    			editor:LineEnd()
    		elseif _keycode == 32 and fBreak then                    -- Leerzeichen u. Position für Zeilenwechsel erreicht (automatischer Zeilenwechsel)
    print('Umbruchposition und Space ==> jetzt muß Umbruch erfolgen')
    			fNext = true                                               -- Marker neue Zeile
    		elseif _keycode == 40 then                                  -- Pfeil_ab (manueller Zeilenwechsel)
    			fNext = true  fIsNewLine = true                            -- Marker neue Zeile und Marker in-neuer-Zeile
    print('<Pfeil Ab> gedrückt')
    		elseif fNext then                                           -- in neuer Zeile ==> Kommentarzeichen einfügen
    			fNext = false
    			if not fIsNewLine then                                     -- bei automatischem Wechsel (wenn in den properties ein Umbruchsymbol definiert):
    				editor:InsertText(editor.CurrentPos, charBreak1)          -- am Ende Umbruchsymbol aus den properties anhängen
    			end
    print('Jetzt wird Kommentarmarkierung in Folgezeile/od. nach Pfeil-ab in aktueller Zeile geschrieben')
    			ContinuousComment()
    		end
    	end
    	return nil
    end
    Alles anzeigen

    Dann sollte man den Fehler besser lokalisieren können.

  • SciTE - kontinuierlicher Kommentarmodus für AutoIt (auch für SciTE-RU)

    • BugFix
    • 17. März 2012 um 23:09
    Zitat von BigRox

    ContinuousComment.NewLine.WithEnter.Enable.*.au3'

    Hier mußt du natürlich den Wert für diese propertie anhängen (steht auch so in der Beschreibung), es muß also so aussehen:
    ContinuousComment.NewLine.WithEnter.Enable.*.au3=1

    Und die Funktion hast du etwas zerlegt, so ist sie kpl. und funktionsfähig:

    Spoiler anzeigen
    Code
    function CommentHitKey:OnKey(_keycode, _shift)
    	if fCommentModeOn then                                       -- fortsetzender Kommentarmodus ist aktiv
    		local fBreak = isLFpos()
    		if fIsEnter then
    			fIsEnter = false
    			local s, e = getSpaces(), ''
    			if charBreak2:len() > 0 then e = charBreak2..' ' end
    			editor:InsertText(editor.CurrentPos, s..charComm..e)
    			editor:LineEnd()
    		end
    		if _keycode == 13 then
    			fIsEnter = true
    			editor:InsertText(editor.CurrentPos, ' '..charBreak1)
    			editor:LineEnd()
    		elseif _keycode == 32 and fBreak then                    -- Leerzeichen u. Position für Zeilenwechsel erreicht (automatischer Zeilenwechsel)
    			fNext = true                                               -- Marker neue Zeile
    		elseif _keycode == 40 then                                  -- Pfeil_ab (manueller Zeilenwechsel)
    			fNext = true  fIsNewLine = true                            -- Marker neue Zeile und Marker in-neuer-Zeile
    		elseif fNext then                                           -- in neuer Zeile ==> Kommentarzeichen einfügen
    			fNext = false
    			if not fIsNewLine then                                     -- bei automatischem Wechsel (wenn in den properties ein Umbruchsymbol definiert):
    				editor:InsertText(editor.CurrentPos, charBreak1)          -- am Ende Umbruchsymbol aus den properties anhängen
    			end
    			ContinuousComment()
    		end
    	end
    	return nil
    end
    Alles anzeigen
  • Windows schneller machen mit Boardmitteln

    • BugFix
    • 15. März 2012 um 19:55
    Zitat von RR04

    Also, nicht weiß, ob Defrag nicht schon vom System gestoppt wird?


    Wenn du ein System kaufst mit SSD, ist durch die Management-Software Defrag bereits deaktiviert. Wer sich aber selber eine SSD einbaut und nicht allzu erfahren ist, könnte durchaus vergessen das still zu legen. Insofern ist eine solche Überprüfung als zusätzlicher Sicherheitsfaktor sicher nicht verkehrt.

  • Scite und Doppelklick auf Fehlermeldungen in der Console?

    • BugFix
    • 15. März 2012 um 19:06

    Das funktioniert ebenso unter Win7 (sowohl 32Bit als auch 64Bit).

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™