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

  • MySql - Fehlercode 10061

    • BugFix
    • 6. Januar 2016 um 10:27

    Ich packe die Erstellung des Query-Strings immer in eine extra Funktion. Somit ist Aufruf etwas übersichtlicher und auch Querys, die andere Querys enthalten lassen sich einfacher erstellen.

    AutoIt
    Func _sSQL_Create($_sSelect, $_vParam='')
    	Local $sSQL
    	Switch $_sSelect
    		Case 'spieler_punkte_set' ; $_vParam = [punkte,spieler]
    			$sSQL = StringFormat("UPDATE Tabelle_Spieler SET `Punkte` = '%i' WHERE `Spielername` = '%s'", $_vParam[0], $_vParam[1])
    		Case 'spieler_punkte_get' ; $_vParam = spieler
    			$sSQL = StringFormat("SELECT `Punkte` FROM Tabelle_Spieler WHERE `Spielername` = '%s'", $_vParam)
    	EndSwitch
    	Return $sSQL
    EndFunc
  • Filename ablesen und in die .ini Datei einschreiben

    • BugFix
    • 5. Januar 2016 um 14:04

    FileFindFirstFile arbeitet im aktuellen Verzeichnis, also im @ScriptDir. Liegen deine Dateien auch dort?
    Überprüfe den zurückgegebenen Wert von 'FileFindFirstFile', er muß <> -1 sein.
    Und am Skriptende solltest du das "Suchhandle" (bei dir $filesearch) wieder schliessen.

  • Textdatei Eigenschaften einstellen

    • BugFix
    • 4. Januar 2016 um 19:25

    Eine Textdatei kann keinerlei Formatierung enthalten, das gibt der Dateityp nicht her.
    Um Formatierung nutzen zu können brauchst du einen Dokumentdateityp (z.B. RTF).

    AspirinJunkie: Geht aber nur mit Schriftarten fester Breite wirklich sauber.

  • NEU/Idee: Automatische Steuerung Software

    • BugFix
    • 4. Januar 2016 um 14:22

    Werde bitte etwas konkreter. Oft ist der Zugriff auf Programme auch effizienter möglich als per Klickerei.
    Welches Programm möchtest du denn automatisieren? Vielleicht haben wir da bereits Lösungen für.

  • Prüfen, ob Excel auf dem PC installiert ist?

    • BugFix
    • 4. Januar 2016 um 14:14

    Eigentlich sollte es auch möglich sein, alle Schritte innerhalb des VBE automatisiert über das Objekt auszuführen. Da der Schutz für VBA-Projekte mit Kennwort erst ab Office 200n eingeführt wurde, kann ich das jedoch nicht nachvollziehen (ich arbeite noch immer sehr zufrieden mit Office 2000).
    Es scheint aber notwendig die Bibliothek 'VBIDE' einzubinden. Das ist immer projektbezogen. Ich habe mal eine Funktion erstellt, die die Bibliothek einbindet und gleichzeitig die TopLevel-Referenz für das VBE-Objekt zurückgibt.
    Um Zugriff auf die richtigen Controls zu erlangen auch noch eine Debug-Funktion, die alle Menübänder und deren Controls ausliest.
    Vielleicht hilft das weiter.

    AutoIt
    $sApplicationType = "Excel.Application"
    $oApp = ObjGet("", $sApplicationType)
    If Not IsObj($oApp) Then Exit MsgBox(262192, "Fehler", "Die Projektbibliothek kann nur bei einer geöffneten Datei hinzugefügt werden!")
    
    
    ; VBIDE-Bibliothek einbinden und Referenz auf VBE-TopLevel-Objekt holen
    $oVBE = _VBIDE_Add($oApp)
    
    
    ; um Zugriff auf die richtigen Ctrl zu bekommen, alle Menübänder mit Auflistung Ctrl-ID, Ctrl-Bezeichnung in Konsole ausgeben
    __DEBUG_COMMANDBARS($oVBE)
    
    
    
    
    Func __DEBUG_COMMANDBARS($_oVBE)
    	Local $sOutput = '', $s5 = '     ', $s30 = '                              '
    	Local $oCmdBars = $_oVBE.CommandBars()
    	For $oBar In $oCmdBars
    		$sOutput &= StringFormat('== MENÜ - NAME: %s == NAME LOCAL: %s == VISIBLE: %s ==%s', _
    		StringLeft($oBar.Name & $s30, 30), StringLeft($oBar.NameLocal & $s30, 30), StringLeft($oBar.Visible & $s30, 5), @LF)
    		For $ctrl In $oBar.Controls
    			$sOutput &= StringFormat('   CONTROL ID: %s   CAPTION: %s%s', StringLeft($ctrl.ID & $s5, 5) , $ctrl.Caption, @LF)
    		Next
    	Next
    	ConsoleWrite($sOutput)
    EndFunc
    
    
    
    
    
    
    ; gibt gleichzeitig das TopLevel-Objekt des VisualBasicEditors zurück
    Func _VBIDE_Add($_oApp)
    	If Not IsObj($_oApp) Then Return SetError(1,0,MsgBox(48,"Fehler","Keine Anwendungsdatei geöffnet!"))
    	Local $fFound = False
    	; Auflistung der verfügbaren Verweise nach "VBIDE" durchsuchen
    	Local $oVBE = $_oApp.VBE
    	For $Ref In $oVBE.ActiveVBProject.References
    		If $Ref.Name = 'VBIDE' Then
    			$fFound = True
    			ExitLoop
    		EndIf
    	Next
    	; wenn Bibliothek noch nicht enthalten, diese hinzufügen
    	If Not $fFound Then $oVBE.ActiveVBProject.References.AddFromGuid("{0002E157-0000-0000-C000-000000000046}", 5, 3)
    	Return $oVBE
    EndFunc
    
    
    ; entfernt die Bibliothek wieder vom Projekt
    Func _VBIDE_Remove($_oApp)
    	If Not IsObj($_oApp) Then Return SetError(1,0,MsgBox(48,"Fehler","Keine Anwendungsdatei geöffnet!"))
    	For $Ref In $_oApp.VBE.ActiveVBProject.References
    		If $Ref.Name = 'VBIDE' Then Return $_oApp.VBE.ActiveVBProject.References.Remove('VBIDE')
    	Next
    EndFunc
    Alles anzeigen

    EDIT:
    Das Menüband mit CommandBars(1) auszuwählen halte ich für zu unsicher. Wenn man es nur am eigenen PC braucht und der Index passt, geht das sicher in Ordnung. Aber mehr Sicherheit bringt der Zugriff über den String. Wie der lautet lässt sich ja mit meiner Debug-Funktion abfragen.

    Vielleicht auch ganz brauchbar, der Zugriff auf Elemente nur über Namen von Menüband und Control:

    [autoit]


    ;~ Bsp.: Öffnen Objektkatalog

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

    _VBIDE_CtrlRun($oVBE, 'Voreinstellung', 'Objektkatalog')

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

    Func _VBIDE_CtrlRun($_oVBE, $_sCmdBar, $_sCtrl)
    $_oVBE.CommandBars($_sCmdBar).Controls($_sCtrl).Execute
    EndFunc

    [/autoit]
  • Serwus aus Sachsen-Anhalt :P

    • BugFix
    • 3. Januar 2016 um 13:23
    Zitat von M.Judersleben

    Bugfix wo kommst den Her?

    Von hier: 51.966576, 11.885237 :whistling:

  • Serwus aus Sachsen-Anhalt :P

    • BugFix
    • 2. Januar 2016 um 22:00

    Willkommen nach Sa.-Anhalt aus Sa.-Anhalt ^^

    Schau einfach mal im Hilfeforum die angepinnten Themen durch. Auch die vielen Posts im Forum Skripte können dir sicher beim Lernen helfen.
    Und wenn Fragen sind, hast du ja das Forum.

  • Wiederherstellungspartition löschen?

    • BugFix
    • 1. Januar 2016 um 12:15

    Auf meinem Laufwerk schlummern 17 GB kostbarer SSD-Speicherplatz völlig ungenutzt als Wiederherstellungspartition. Mich stört nur die Position vor der Startpartition.
    Ich würde gerne die Wiederherstellungspartition löschen und die anderen Partitionen nach vorn verschieben, damit ich den freien Platz dem Laufwerk C zuordnen kann.
    Ist das überhaupt möglich, bleibt die Startpartition dann noch bootbar?

  • Lotus Notes UDF / Include-Datei - Macht das aus eurer Sicht Sinn?

    • BugFix
    • 31. Dezember 2015 um 14:55
    Zitat von RKuehle

    Jede Änderung in einem neuen Post zum Thema, oder den originalen Post immer wieder ändern?

    Eigentlich werden Neuerungen immer im Startpost editiert. Auch das angehängte Skript wird dort ausgetauscht.
    Einfach einfügen im Text:
    Edit DATUM: Beschreibung der Änderugen

    Schau einfach mal in das Unterforum Skripte, da siehst du, wie das gehandelt wird.

  • Nach drücken eines mittels HotKeySet gesetzten Hotkeys bleiben eben diese Tasten gedrückt

    • BugFix
    • 31. Dezember 2015 um 14:48
    Zitat von SmileMan

    Wenn ich z. b. STRG+SHIFT+F2

    Um dieses Verhalten zu umgehen musst du die korrekte Tastenfolge simulieren:
    CTRLDOWN + SHIFTDOWN + F2 + SHIFTUP + CTRLUP


    BTW: Etwas Code, um dein Problem zu zeigen, schadet nie. :rolleyes:

  • Lotus Notes UDF / Include-Datei - Macht das aus eurer Sicht Sinn?

    • BugFix
    • 31. Dezember 2015 um 10:28
    Zitat von RKuehle

    Besteht hier im Forum dafür überhaupt Bedarf?

    Bevor du hier vor ein paar Wochen zu Lotus Notes was gepostet hattest, wußte ich gar nicht mehr, dass die Firma überhaupt noch existiert. Nach meinem Gefühl hatten die vor über 20 Jahren ihren Zenit erreicht (da habe ich auch letztmalig mit gearbeitet, Lotus 1-2-3, Ami Pro) und fristen seit dem eigentlich eher ein Nischendasein. Da hatte M$ dann das bessere Marketing (nicht unbedingt das bessere Produkt).
    Das soll dich aber nicht davon abhalten dein Projekt umzusetzen. Ehe man zum 1-Millionsten-mal einen Taschenrechner programmiert, ist das dann doch eine wesentlich nutzbringendere Tätigkeit. :thumbup:

  • Fokussiertes Elementhandle erhalten

    • BugFix
    • 28. Dezember 2015 um 10:33
    Zitat von Aquaplant

    CTRL+A für die Editbox (um alles zu markieren). Da aber noch weitere Elemente (z.B. Inputfeld) im GUI vorhanden sind möchte ich diesen Hotkey nur aktiv haben, wenn man auch in genau diesem drin ist.

    Wenn ich mich recht erinnere, ist Ctrl+A ein System-Hotkey, somit ist er automatisch in jedem Ctrl der Edit-Class aktiv (dazu gehören auch die Input).
    Um das zu verhindern musst du auch auf Systemebene eingreifen und das mittels Hook abfangen.

  • Colormixer

    • BugFix
    • 26. Dezember 2015 um 13:40

    Colormixer gibt es sehr viele. Aber meist fehlt irgendetwas, worauf man Wert legt. Ich hatte ja mal eine Farbtabelle, die auch einen Colormixer enthielt. Darauf aufbauend entstand dieses Skript.
    Funktionalität:
    - Programm kann mit einer Start-Farbe als Parameter aufgerufen werden
    - Wenn Kommandozeilenaufruf erfolgte, wird die gemixte Farbe auch in die Konsole zurückgegeben
    - Wahlweise Vollkreis-Gradient oder 3-Sektor-Gradient um aus diversen Farbverläufen auszuwählen (Mauszeiger über Gradient zeigt Pixelfarbe unter der Maus temporär im Auswahlfenster an, Linksklick übernimmt in Auswahlfenster)
    - Farbe aus Auswahlfenster kann mit <Center>/<Border> als Farbe im Gradienten gesetzt werden, bei Sektor-Gradient zusätzlich mit Radio >A>/<B>/<C> den Sektor anwählen
    - Farbwahl als RGB oder BGR möglich
    - 20 Beispielfarben vorhanden
    - 10 Userfarben können erstellt werden
    - <Add to User Color> übernimmt aktuelle Farbe in das nächste freie oder ausgewählte User-Farbfeld
    - Klick auf Userfarbfeld übernimmt dessen Farbe in die aktuelle Auswahl
    - alle Farb- und Anzeigeeinstellungen werden in INI gespeichert und bei erneutem Aufruf wird damit geladen (Farbe als Aufrufparameter überschreibt aber die zuletzt gewählte)
    - Colorpicker mit Zoomfenster und Farbvorschau auf Pixel unter dem Cursor
    - Im Colorpicker wird die Mausgeschwindigkeit stark reduziert um nahezu pixelgenau auswählen zu können
    - Gewählte Farbe wird in Zwischenablage kopiert

    colormixer_1.jpg

    colormixer_2.jpg

    colormixer_3.jpg

    Viel Spaß damit.

    Dateien

    ColorMixer[0.6].au3 27,8 kB – 398 Downloads
  • Strg+C - Erst beliebigen Text kopieren, dann funktion ?

    • BugFix
    • 23. Dezember 2015 um 21:31

    Ich habe das Skript von Oscar mal etwas kommentiert, vielleicht wird dir dann etwas klarer, wie du das in dein Skript einbindest.

    AutoIt
    #include <Clipboard.au3>
    #include <SendMessage.au3>
    #include <WindowsConstants.au3>
    
    
    ; diese GUI werkelt unsichtbar im Hintergrund um die Daten des Clipboards zu verwalten
    $hGui = GUICreate('ClipboardViewer')
    ; hier wird die GUI in die Clipboardverwaltung aufgenommen
    $hNext = _ClipBoard_SetViewer($hGui)
    ; diese beiden Nachrichten sind relevant für den Datenverkehr mit dem Clipboard
    GUIRegisterMsg($WM_CHANGECBCHAIN, 'WM_CHANGECBCHAIN') ; https://msdn.microsoft.com/de-de/library/windows/desktop/ms649019(v=vs.85).aspx
    GUIRegisterMsg($WM_DRAWCLIPBOARD, 'WM_DRAWCLIPBOARD') ; https://msdn.microsoft.com/de-de/library/windows/desktop/ms649025(v=vs.85).aspx
    HotKeySet('{ESC}', '_End')
    
    
    ; Diese Schleife kann auch durch die bestehende Schleife in deinem Hauptskript ersetzt werden.
    While Sleep(1000)
    WEnd
    
    
    Func _End()
    	; hier wird die GUI aus der Clipboardverwaltung wieder entfernt
    	_ClipBoard_ChangeChain($hGui, $hNext)
    	Exit
    EndFunc
    
    
    ; s. Link neben GUIRegisterMsg
    Func WM_CHANGECBCHAIN($hWnd, $iMsg, $iwParam, $ilParam)
    	If $iwParam = $hNext Then
    		$hNext = $ilParam
    	ElseIf $hNext <> 0 Then
    		_SendMessage($hNext, $WM_CHANGECBCHAIN, $iwParam, $ilParam, 0, 'hwnd', 'hwnd')
    	EndIf
    EndFunc   ;==>WM_CHANGECBCHAIN
    
    
    ; s. Link neben GUIRegisterMsg
    Func WM_DRAWCLIPBOARD($hWnd, $iMsg, $iwParam, $ilParam)
    	Local $sClipBoard = _ClipBoard_GetData()
    	_Copy()  ; DAS IST DER VON DIR GEWOLLTE AUTOMATISCHE FUNKTIONSAUFRUF ZUSAMMEN MIT Ctrl+C
    	If $hNext <> 0 Then _SendMessage($hNext, $WM_DRAWCLIPBOARD, $iwParam, $ilParam)
    EndFunc   ;==>WM_DRAWCLIPBOARD
    
    
    ; Deine Funktion
    Func _Copy()
        Sleep(500)
        Send("!{tab}")
        Sleep(500)
        Send("^v")
        Sleep(500)
        Send("{tab}")
        Sleep(500)
        Send("!{tab}")
    EndFunc
    Alles anzeigen
  • Polizei: Ihr Kind lernt programmieren? Es könnte kriminell sein!

    • BugFix
    • 22. Dezember 2015 um 16:57
    Zitat von BigRox

    kann man u.a. auch kleine Sender für z.B. Wanzen bauen

    Ja, schon witzig. Heute kaufst du die Wanzen fertig im Elektromarkt und niemanden störts. :whistling:

  • [Logische Tips&Tricks]Gescannte MRZ daten --> Excel --> IE.au3 & Excel tabelle mit Word Dokument Vergleichen

    • BugFix
    • 22. Dezember 2015 um 09:07

    Ich habe hier auch arge Bedenken, ob der Hintergrund für diese Anwendung mit unseren Forenregeln konform geht.
    Deshalb schließe ich vorerst diesen Thread.

    Möge der TE per PN an mich oder anderen Moderator seine legitimen Motive glaubhaft darlegen, dann kann man evtl. hier wieder öffnen.


    EDIT:
    OK, der TE hat mich kontaktiert und seine Erklärung ist für mich soweit schlüssig. Ich denke ein Verstoß gegen die Forenregeln kann hier ausgeschlossen werden.
    Wenn der TE die Details offen darlegen möchte kann er das gern, von mir jetzt nur soviel: es geht um 5000 - 6000 Passdaten jährlich, die z.Zt. per Hand eingetragen werden.

    Thread wieder freigegeben.

  • MySql - Fehlercode 10061

    • BugFix
    • 20. Dezember 2015 um 10:31

    Bei diesem Router scheint das dann doch der falsche Menüpunkt zu sein. Schau mal unter Virtual Server. Das klingt erfolgversprechender. Kannst dazu auch mal googeln (oder in die Doku des Routers schauen ;) )

  • Lotus Notes Mail mit Anhang erstellen

    • BugFix
    • 20. Dezember 2015 um 09:12
    Zitat von RKuehle

    Nun, die Fehlerbehandlung wäre einfach mit "if @error" an den relevanten Stellen zu erledigen.

    Jein. Wenn Objektfehler auftreten wird @error nicht bestückt. AutoIt beinhaltet eine objektbezogene Fehlerbehandlung, s. ObjEvent ( "AutoIt.Error" [, "function"] )

    Spoiler anzeigen
    AutoIt
    ; User's COM error function. Will be called if COM error occurs
    Func _ErrFunc($oError)
        ; Do anything here.
        ConsoleWrite(@ScriptName & " (" & $oError.scriptline & ") : ==> COM Error intercepted !" & @CRLF & _
                @TAB & "err.number is: " & @TAB & @TAB & "0x" & Hex($oError.number) & @CRLF & _
                @TAB & "err.windescription:" & @TAB & $oError.windescription & @CRLF & _
                @TAB & "err.description is: " & @TAB & $oError.description & @CRLF & _
                @TAB & "err.source is: " & @TAB & @TAB & $oError.source & @CRLF & _
                @TAB & "err.helpfile is: " & @TAB & $oError.helpfile & @CRLF & _
                @TAB & "err.helpcontext is: " & @TAB & $oError.helpcontext & @CRLF & _
                @TAB & "err.lastdllerror is: " & @TAB & $oError.lastdllerror & @CRLF & _
                @TAB & "err.scriptline is: " & @TAB & $oError.scriptline & @CRLF & _
                @TAB & "err.retcode is: " & @TAB & "0x" & Hex($oError.retcode) & @CRLF & @CRLF)
    EndFunc   ;==>_ErrFunc
    Alles anzeigen
  • MySql - Fehlercode 10061

    • BugFix
    • 19. Dezember 2015 um 09:26
    Zitat von DaveTDancer

    heißt port trigering und ist unter weiterleitung zu finden

    Die Bezeichnungen sind leider nicht einheitlich. Aber das klingt schon richtig. Du gibst den zu triggernden Port an (der auf den du im Web lauschst) und leitest auf den internen Port weiter.

  • Progress Menge der Schritte festlegen

    • BugFix
    • 18. Dezember 2015 um 13:29
    Zitat von mcbaldrian

    Kann ich die Schrittweite festlegen z.b. auf 15000 Schritte

    Nein, die Schrittweite ist im kleinsten Wert 1/100 des Maximum. In deinem Fall ist die kleinste anzeigbare Änderung 150. (100%=15000, 1%=150)

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™