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

  • Abbrevs Verwaltung Bugfix

    • BugFix
    • 29. November 2010 um 12:03

    Das ist die aktuelle Version.

    Ersetze mal _KeyWordSet() mit dieser Funktion zur Fehlerausgabe. Der Fehlerwert sagt dir dann, warum nicht in die Datei geschrieben wird.

    Spoiler anzeigen
    [autoit]

    Func _KeyWordSet($KEYWORD, $CHECK = 0)
    Local $txtZeile, $len
    If $CHECK Then
    Local $fh = FileOpen($KeyWordPath, 0)
    Local $read = FileRead($fh)
    FileClose($fh)
    If StringInStr($read, $KEYWORD & ' ', 1) Then Return
    EndIf
    $zeile = _FileCountLines($KeyWordPath)
    $txtZeile = FileReadLine($KeyWordPath, $zeile)
    $len = StringLen($txtZeile) + 4
    If $len + StringLen($KEYWORD) > 100 Then
    _FileWriteToLine($KeyWordPath, $zeile, $txtZeile & "\" & @CRLF, 1)
    If @error Then Return MsgBox(0, 'Fehler', 'Schreiben in Datei' & @CRLF & $KeyWordPath & @CRLF & 'fehlgeschlagen.' & @CRLF & 'Fehler-Nr.: ' & @error)
    _FileWriteToLine($KeyWordPath, $zeile + 1, @TAB & $KEYWORD & " ", 1)
    Else
    _FileWriteToLine($KeyWordPath, $zeile, $txtZeile & $KEYWORD & " ", 1)
    If @error Then Return MsgBox(0, 'Fehler', 'Schreiben in Datei' & @CRLF & $KeyWordPath & @CRLF & 'fehlgeschlagen.' & @CRLF & 'Fehler-Nr.: ' & @error)
    EndIf
    EndFunc ;==>_KeyWordSet

    [/autoit]
  • Abbrevs Verwaltung Bugfix

    • BugFix
    • 29. November 2010 um 11:28

    Die blau markierten waren eigene, bei dir sollte dann also "hov" und deine weiteren Abbrevs erscheinen.
    Die Abbrevs werden also nicht in diese Datei geschrieben. Verwendest du auch die letzte Version meines Programms? Ich kann mich schwach erinnern, dass ich da noch ein paar Bugs entfernt hatte. Ist im Edit des Threads aber vermerkt.
    In meinem Skript findest du (ziemlich am Ende) die Funktion _KeyWordSet(). Werte dadrin doch mal die Rückgabewerte der Schreibbefehle (_FileWriteToLine) aus. Ich denke, da liegt irgendwo der Hund begraben. Vielleicht wird bei dir einer der Pfade nicht gefunden?

  • Abbrevs Verwaltung Bugfix

    • BugFix
    • 29. November 2010 um 11:06

    OK, der Code ist also eingetragen. Dann schau bitte nach ob auch die Keyworddatei vervollständigt wurde.
    Pfad: "C:\Programme\AutoIt3\SciTE\Properties\au3.keywords.abbreviations.properties"
    Sollte so aussehen (blau markiert: eigene Abbrevs):

    Zitat


    ....
    tci tcm tgm tid tigh tigs tigt tisoe tiss tist tsc tsi tsoe tspi tss tstt tt ub udpb udpcs \
    udpo udpr udpsd udpsu wat wa wc we wf wgcp wgcl wgcs wgh wgpo wgpr wgs wgte wgti wk wl \
    wmsi wma wmau wm wsot wss wst wstr ww wwa wwc wwna gcclv gcclvi frta ard lc header _gclvg \
    _gclvs getid

  • Abbrevs Verwaltung Bugfix

    • BugFix
    • 29. November 2010 um 10:31

    hast du mal in die abbrev.properties geschaut? (SciTE - Optionen - Abkürzungsdatei Öffnen)
    Sollte am Dateiende so aussehen:

    Zitat


    wwna=WinWaitNotActive(|) letzter Standardeintrag

    gcclv=GUICtrlCreateListView(|) ab hier die selbst erstellten Einträge
    gcclvi=GUICtrlCreateListViewItem(|)
    frta=_FileReadToArray(|)
    ard=_ArrayDisplay(|)
    lc=; === |
    header=#cs ----------------------------------------------------------------------------\n\n AutoIt Version: 3.3.6.0\n Author: BugFix\n\n Script Function:\n\t|\n\n#ce ----------------------------------------------------------------------------\n
    _gclvg=_GUICtrlListView_Get|
    _gclvs=_GUICtrlListView_Set|
    getid=_WinAPI_GetDlgCtrlID(|)
    #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#

    Alles anzeigen
  • Abbrevs Verwaltung Bugfix

    • BugFix
    • 29. November 2010 um 09:27
    Zitat von Ilse

    ...SciTE Command --> :45024266:reloadproperties, das habe ich leider nicht gefunden


    Wenn du die .au3 Version des Skriptes ausführst, erhältst du nach dem Erstellen einer neuen Abkürzung (also nach dem Schließen des Fensters mit dem zugehörigen Code) eine Ausgabe in die Console mit diesem Hinweis. Bedeutet: SciTE hat die .properies neu geladen (ohne Neustart von SciTE) und somit steht die neue Abkürzung sofort zur Verfügung.

  • Nochmal die leidige Transparenz

    • BugFix
    • 28. November 2010 um 21:42

    Setz Controls, die nicht transparent sein sollen, in jeweils eine eigene Child-GUI in Controlgröße.

  • SplashTextOn - Fenster automatisch an Schriftgröße anpassen

    • BugFix
    • 28. November 2010 um 21:38

    Du "Leichenschänder" :rofl:

    Zitat von letzter Beitrag

    Samstag, 9. Januar 2010, 18:52

  • Ueberpruefen ob Prozess reagiert

    • BugFix
    • 28. November 2010 um 15:05
    Zitat von name22

    Hast du Linux?


    Schau mal in meine Signatur. ;)

  • Ueberpruefen ob Prozess reagiert

    • BugFix
    • 28. November 2010 um 15:00

    Versuch doch mal WinGetTitle(). Wenn die Anwendung abgeschmiert ist wird wohl auch dieser Befehl fehlschlagen. Somit kannst du ihn als Indikator verwenden. Kann es nur nicht testen, da ich mit Absicht keine Anwendung dazu bringen kann, nicht mehr zu reagieren. :whistling:

  • Farbe von Button ermitteln

    • BugFix
    • 28. November 2010 um 10:42

    Hiermit kannst du auch wieder deaktivieren:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ButtonConstants.au3>
    #include <Array.au3>

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

    #Region Variablen
    Dim $Field[50][50][2]; Array mit 50x50 Feldern.
    $CountLeft = 5
    $CountTop = 5
    #Region Variablen

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 760, 780, -1, -1)
    $MenuDatei = GUICtrlCreateMenu("Datei")
    $MenuStart = GUICtrlCreateMenuItem("Start", $MenuDatei)
    $MenuEnde = GUICtrlCreateMenuItem("Ende", $MenuDatei)
    $MenuEinstellungen = GUICtrlCreateMenu("Einstellungen")
    ButtonCreate() ; Eigene Funktion die die Button erstellt (siehe unten)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    For $i=0 to UBound($Field)-1
    For $h=0 to UBound($Field, 2)-1
    If $nMsg = $Field[$i][$h][0] Then
    $Field[$i][$h][1] = Not $Field[$i][$h][1]
    If $Field[$i][$h][1] Then
    GUICtrlSetBkColor($Field[$i][$h][0], 0xff0000)
    Else
    GUICtrlSetStyle($Field[$i][$h][0], $GUI_SS_DEFAULT_BUTTON)
    EndIf
    ExitLoop(2)
    EndIf
    Next
    Next
    WEnd

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

    Func ButtonCreate()
    For $i=0 to UBound($Field)-1
    For $h=0 to UBound($Field, 2)-1
    $Field[$i][$h][0] = GUICtrlCreateButton("", $CountLeft, $CountTop, 15, 15)
    $CountLeft += 15
    Next
    $CountTop += 15
    $CountLeft = 5
    Next
    EndFunc

    [/autoit]
  • Happy Birthday, Der_Doc

    • BugFix
    • 28. November 2010 um 10:27

    Hallo "Mitgeburtstager" ! :D
    Feiere schön und genieße das neue Lebensjahr und die Weisheit des Alters, der du damit wieder näher kommst. :rofl:

  • Happy Birthday BugFix!

    • BugFix
    • 28. November 2010 um 10:16

    Vielen Dank für Eure lieben Wünsche. 8o
    i2c: Da konnte ich doch gleich nochmal meinen BrainFuck-Interpreter starten - Danke für "Alles Gute BugFix! :)"

  • [Läuft] µitLight Dezember '10/Januar '11

    • BugFix
    • 27. November 2010 um 18:13
    Zitat von MatthiasG.

    Mit der Hot-Key Methode bin ich nicht zufrieden, da man nun MsgBoxen nicht mit Enter beenden kann.


    Hier würde ich dringend zur Verwendung von Hook raten. Damit läßt sich die Wirkung ganz gezielt auf einzelne Fenster und Controls festlegen. Somit kann man sicher stellen, dass ein Zug ausschließlich mit ENTER ausgeführt wird.
    Habe das Skript nicht detailliert durchgesehen - aber da es Fehler gab bei der Auswertung Kleinbuchstabe/Großbuchstabe ==> einfach immer StringLower verwenden.

  • GDI $hPen Problem

    • BugFix
    • 27. November 2010 um 15:55
    Zitat von stayawayknight

    Du kannst aber auch einfach diesen Modus ausschalten, in dem du die entsprechende Zeile rausnimmst - dann geht's auch so. (Hab ehrlich gesagt nie verstanden, was dieser Modus bringen soll)


    Dieser Modus ist sehr sinnvoll (leider nicht zwingend implementiert).
    Das Nichtdeklarieren von Variablen verleitet sehr schnell zu einer schlampigen Programmierung. Wenn du das erste mal stundenlange Fehlersuche betrieben hast, weil du versehentlich Variablen im falschen Scope verwendest oder doppelt belegst, dann weißt du diese Option zu schätzen. ;)
    Ich kann gerade Anfängern empfehlen von Anbeginn diesen Modus zu verwenden.

  • Abbrevs Verwaltung Bugfix

    • BugFix
    • 27. November 2010 um 15:41

    Ich kann diesen Fehler absolut nicht reproduzieren. Das von dir neu erstellte Keywort wird in folgendem Pfad gespeichert:

    Code
    $KeyWordPath = StringReplace($ScitePath, "SciTE.exe", "properties\au3.keywords.abbreviations.properties")

    Auf diese Datei greift SciTE zu.
    Da bei Updates von SciTE diese Datei überschrieben wird, wird eine Sicherung in folgendem Pfad hinterlegt:

    Code
    $MyKeyWordPath = @UserProfileDir & '\au3.keywords.my'

    Somit kannst du über das Menü "Wiederherstellung" deine Abbrevs wiederherstellen.
    Beim Schließen des Fensters mit dem neuen Code wird das Abbrev eingetragen und SciTE führt sofort ein Reload durch (siehst du in der Console: "SciTE Command --> :45024266:reloadproperties:"). Dadurch steht das Abbrev sofort zur Verfügung.

    Einzige mögliche Erklärung für mich: Du hast für den $KeyWordPath keine Schreibrechte.

  • GDI $hPen Problem

    • BugFix
    • 27. November 2010 um 09:47
    Zitat von Dial

    Hat jemand eine Ahnung was hier ("nicht") passiert ?


    Beim Ausführen bekommst du zwangsläufig bereits eine Fehlermeldung, die dir genau sagt, wo der Hammer hängt. ;)
    Das Bsp. legt fest, dass alle Variablen zu deklarieren sind:

    [autoit]

    Opt('MustDeclareVars', 1)

    [/autoit]

    und wie BadBunny bereits richtig bemerkte fehlt die Deklaration von $hPen - und genau das steht wortwörtlich auch in der Fehlermeldung. :whistling:

  • Wer hat meinen Beitrag gelöscht?

    • BugFix
    • 26. November 2010 um 22:23

    Sorry, hatte nicht bedacht, dass du den Löschvermerk nicht lesen kannst.
    Die Diskussion ging dann in die Richtung Bots ja/nein und eine derartige Diskussion wollen und werden wir hier nicht mehr führen.

  • &[fertig] Pi Berechnung von campweb auf 1000101 Dezimalstellen in C++

    • BugFix
    • 26. November 2010 um 21:56
    Zitat von campweb

    Autoit kann doch keine wurzeln?


    Und wenn du andere als quadratische Wurzeln brauchst:
    n-te Wurzel von x ist gleich x hoch -1/n

  • Probleme mit 2d array

    • BugFix
    • 26. November 2010 um 21:51
    [autoit]

    ReDim $a2D[Ubound($a2D) +1][Anzahl in Dim 2 unverändert]
    $a2D[Ubound($a2D) -1][0] = Wert
    $a2D[Ubound($a2D) -1][1] = Wert

    [/autoit]
  • Text an edit Control anfügen

    • BugFix
    • 26. November 2010 um 20:13

    - Auslesen
    - & zusätzlicher Text
    - neuen Text setzen

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™