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. NO1 :-)

Beiträge von NO1 :-)

  • Bilder verschieben per Drag and Drop

    • NO1 :-)
    • 28. März 2017 um 20:42

    Hallo AutoMit,

    man kann die Bilder ganz einfach verschieben.
    Hier ein Beispiel, Bilder sind in der ZIP-Datei:


    AutoIt
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>
    $hGui = GUICreate("Drag&Drop", 195, 0, -1, -1, BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZE, $WS_MAXIMIZEBOX))
    $Pic1 = GUICtrlCreateIcon(@ScriptDir & "\1.ico", -1, 10, 10, 90, 60)  ;Icon (Bild) wird erstellt
    $Pic2 = GUICtrlCreateIcon(@ScriptDir & "\2.ico", -1, 10, 90, 90, 60)  ;Icon (Bild) wird erstellt
    $Pic3 = GUICtrlCreateIcon(@ScriptDir & "\3.ico", -1, 10, 170, 90, 60) ;Icon (Bild) wird erstellt
    GUISetState(@SW_SHOW, $hGui)
    
    
    AdlibRegister("_SetPos", 100) ;Die Funktion _SetPos wird nun alle 0,1s aufgerufen
    
    
    While 1
    	$nMsg = GUIGetMsg()
    		Switch $nMsg
    			Case -3
    				Exit
    
    
    		EndSwitch
    WEnd
    
    
    Func _SetPos()
    	While _IsPressed(01) ;_IsPressed(01) überprüft, ob die linke Maustaste gedrückt ist
    	    $MouseHoverControl = GUIGetCursorInfo($hGui) ;Während Sie gedrückt ist (Während = While), kann man mit dem Befehl GUIGetCursorInfo Informationen über die Maus auf der GUI bekommen
    	    Switch $MouseHoverControl[4] ;Hier schaltet man auf die GUIGetCursorInfo um, die ausgibt, über welchem Control (in dem Fall Bild) sich die Maus befindet
    	    	Case $Pic1 ;Für den Fall (Fall = Case), dass die Maus über $Pic1 ist,
    	    		GUICtrlSetPos($Pic1, $MouseHoverControl[0]-45, $MouseHoverControl[1]-30) ;wird die Position des $Pic1 auf die Maus-Position auf der GUI gesetzt
    	    	Case $Pic2 ;Für den Fall (Fall = Case), dass die Maus über $Pic2 ist,
    	    		GUICtrlSetPos($Pic2, $MouseHoverControl[0]-45, $MouseHoverControl[1]-30) ;wird die Position des $Pic2 auf die Maus-Position auf der GUI gesetzt
    	    	Case $Pic3 ;Für den Fall (Fall = Case), dass die Maus über $Pic2 ist,
    	    		GUICtrlSetPos($Pic3, $MouseHoverControl[0]-45, $MouseHoverControl[1]-30) ;wird die Position des $Pic3 auf die Maus-Position auf der GUI gesetzt
    		EndSwitch
    	WEnd
    EndFunc
    Alles anzeigen

    Jedoch wird es ein klein wenig flackern, ohne geht's mit GDIPlus (+Buffer), aber das ist nicht so einfach, wenn du dich noch nicht damit auskennst.
    Wenn dir das hier reicht vom Flackern her, die Hauptfunktionen sind _IsPressed und GUIGetCursorInfo.

    LG NO1 :)

    Dateien

    Drag&Drop Bilder.zip 1,56 kB – 494 Downloads
  • String in Buchstaben aufteilen und jeden Buchstaben einzeln ersetzen?

    • NO1 :-)
    • 28. März 2017 um 16:50

    Hab ich grad erstellt, kann man für den Zweck hier glaub ich benutzen:

    _String_MultiReplace UDF

  • _String_MultiReplace UDF

    • NO1 :-)
    • 28. März 2017 um 16:48

    Hallo AutoIter,

    hier ist eine kleine UDF zum Ersetzen von mehreren verschiedenen Buchstaben mit mehreren verschiedenen Buchstaben/Strings in einem Durchgang.
    Es ist eigentlich nur eine Alternative zu StringRegExpReplace, manche kommen damit aber vielleicht besser klar.

    • Funktionen: _String_MultiReplace

    Bei Fehler, Bugs oder Sonstigem bitte schreiben.

    ;) NO1

    Dateien

    _String_MultiReplace.zip 1,76 kB – 281 Downloads
  • String in Buchstaben aufteilen und jeden Buchstaben einzeln ersetzen?

    • NO1 :-)
    • 28. März 2017 um 09:10

    Ne for Schleife ist deutlich langsamer, ja.

  • GDI+ Rotating Earth build 2017-03-17

    • NO1 :-)
    • 27. März 2017 um 21:52

    Schöne GDIPlus Animation!!!

  • String in Buchstaben aufteilen und jeden Buchstaben einzeln ersetzen?

    • NO1 :-)
    • 27. März 2017 um 21:20

    Ich glaube du brauchst sowas:


    AutoIt
    Dim $Text = "Das ist ein Test", $Ausgabe = "", $actualChar = ""
    $SingleChar = StringSplit($Text, "") ;Text in einzelne Buchstaben aufteilen
    For $actualChar = 1 To $SingleChar[0] ;Für die Anzahl an Buchstaben das Vorkommen von a oder e testen
    	If $SingleChar[$actualChar] == "a" Then ;Wenn a vorhanden, dann
    		$actualCharText = ":regional_indicator_a"
    		$Ausgabe &= $actualCharText ;an die Ausgabe :regional_indicator_a "hinhängen"
    	ElseIf $SingleChar[$actualChar] == "e" Then ;Wenn e vorhanden, dann
    		$actualCharText = ":regional_indicator_e"
    		$Ausgabe &= $actualCharText ;an die Ausgabe :regional_indicator_e "hinhängen"
    	Else ;Wenn ein anderer Buchstabe vorhanden, dann
    		$actualCharText = $SingleChar[$actualChar]
    		$Ausgabe &= $actualCharText ;nichts an diesem Buchstaben ändern und diesen an die Ausgabe "hinhängen"
    	EndIf
    Next
    MsgBox(0, "", $Ausgabe) ;Ausgabe mit MsgBox ausgeben
    Exit ;Skript beenden
    Alles anzeigen
  • VBA / VBS Dateien

    • NO1 :-)
    • 27. März 2017 um 16:59
    Zitat von Sonderbaar

    Wäre es irgendwie möglich diesen VBA / VBS Code aus Autoit heraus aufzurufen?

    Die Frage, die sich stellt: Was meinst du mit "aufrufen".
    Wenn es lediglich darum geht, VBS Code aus AutoIt zu starten, dann könntest du das VB Skript in einer Datei speichern (z.B. "Test.vbs") und mit ShellExecute ausführen.
    Beispiel:

    AutoIt
    ShellExecute("Test.vbs")

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™