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. Tweaky

Beiträge von Tweaky

  • _Array2DSortFree äöü richtig sortieren

    • Tweaky
    • 15. Juni 2020 um 19:26
    Zitat von BugFix

    Meine Intention für diese Funktion lag eigentlich nicht im Sortieren einer Spalte (dafür ist es deutlich overdressed :P). Ich hatte etliche Versuche unternommen mehrstufig zu Sortieren (wie z.B. in Excel: Hauptkriterium Spalte A, darin Sortieren nach B und darin Sortieren nach C - oder ähnlich). Im reinen Array-Sortiermodus ist das m. M. nach nur mit sehr hohem Aufwand realisierbar. Und somit lohnt sich der Aufwand bei mehrstufiger Sortierung durchaus.

    Klar, ich will _Array2DSortFree auch dazu verwenden um mehrere Spalten zu sortieren.

    Zitat von BugFix

    Im reinen Array-Sortiermodus ist das m. M. nach nur mit sehr hohem Aufwand realisierbar. Und somit lohnt sich der Aufwand bei mehrstufiger Sortierung durchaus.

    Welcher Aufwand lohnt sich? Deine _Array2DSortFree zu verwenden oder sich eine eigene Funktion wie AspirinJunkie zu schreiben?

  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.14.5 2020.04.13)

    • Tweaky
    • 15. Juni 2020 um 19:21

    geändert

  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.14.5 2020.04.13)

    • Tweaky
    • 15. Juni 2020 um 18:47

    erledigt

  • _Array2DSortFree äöü richtig sortieren

    • Tweaky
    • 15. Juni 2020 um 18:45

    OK, kann sein, dass es auch anders geht.

    Mit der _Array2DSortFree ist es am benutzerfreundlichsten da ich keine Vergleichsfunktion schreiben muß.

    BugFix

    was meinst du zu dem Thema?

  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.14.5 2020.04.13)

    • Tweaky
    • 13. Juni 2020 um 20:18

    Was denn nun:?:

  • _Array2DSortFree äöü richtig sortieren

    • Tweaky
    • 13. Juni 2020 um 20:15

    Hi,

    ich würde gerne mit _Array2DSortFree ein Array sortieren.

    AutoIt
    #Region    ;************ Includes ************
    #include <_Array2DSortFree.au3>
    #EndRegion ;************ Includes ************
    Global $aTest[7][2]
    
    $sSQliteDll = _SQLite_Startup()
    
    $aTest[1][0] = "test"
    $aTest[2][0] = "abc"
    $aTest[3][0] = "alt"
    $aTest[4][0] = "ähnlich"
    $aTest[5][0] = "autoit"
    $aTest[6][0] = "test"
    
    _ArrayDisplay($aTest, "vorher")
    
    _Array2DSortFree($aTest, "0|0,1|0", True, 1) ;es wird nichts sortiert
    _ArrayDisplay($aTest, "True")
    
    _Array2DSortFree($aTest, "0|0,1|0", False, 1) ;ähnlich steht an der falschen Stellen
    _ArrayDisplay($aTest, "False")
    
    _ArraySort($aTest, 0, 1)
    _ArrayDisplay($aTest, "richtig")
    
    _SQLite_Shutdown()
    Alles anzeigen

    Verwende ich als 3. Parameter True, so wird nichts sortiert.

    Verwende ich als 3. Parameter False, so steht ä am Ende des Arrays

    Verwende ich _ArraySort passt es.

    Ist da in _Array2DSortFree ein Fehler drin?

    Dateien

    _Array2DSortFree.au3 5,14 kB – 593 Downloads
  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.14.5 2020.04.13)

    • Tweaky
    • 13. Juni 2020 um 17:01

    Was soll ich in der Hilfe nun ändern?

  • _Winapi-Funktionen

    • Tweaky
    • 11. Juni 2020 um 12:24

    Genau so mache ich es momentan auch.

  • _Winapi-Funktionen

    • Tweaky
    • 10. Juni 2020 um 21:50

    Danke euch beiden. Aber eine _ Winapi-Funktion die den Dateinamen ohne Dateiendung ausgibt gibt es nicht, oder?

  • _Winapi-Funktionen

    • Tweaky
    • 10. Juni 2020 um 18:28

    Hi,

    ich beschäfitge mich gerade mit den _Winapi-Funktionen rund um Pfad und Dateiname.

    Was ist der Unterschied zwischen _WinAPI_PathFindFileName und _WinAPI_PathStripPath.

    Beides mal bekomme ich doch den Dateinamen als Ergebnis.

    Gibt es auch eine _Winapi-Funktion die mir den kompletten Ordner ohne Dateiname zurückgibt?

  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.14.5 2020.04.13)

    • Tweaky
    • 21. Mai 2020 um 11:40

    erledigt

  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.14.5 2020.04.13)

    • Tweaky
    • 19. Mai 2020 um 18:36

    Oh je, das hasst du so ne Leiche entdeckt:/.

    Dieser Teil in der Deutschen Hilfe stammt vom Inhalt und Layout her noch aus der AutoIt Version 3.3.8.1=O.

    Ich werde versuche es trotzdem zu aktualisieren (bin ja der einzige der das macht;()

  • Tomtom Navi prüfen ob Netzwerk aktiv ist

    • Tweaky
    • 17. Mai 2020 um 21:08

    Ich verfolge dieses Thema nicht detailliert.

    Wenn ich was ergänzen soll, schreibt mir was und wo, dann nehme ich es auf:)

  • Text in Bild hinzufügen

    • Tweaky
    • 26. April 2020 um 19:22

    Wow, danke funktioniert :)

    Im 2. Beispiel war noch ein kleiner Fehler drin in Zeile 19.

    Statt

    AutoIt
    _GDIPlus_ImageResize($hImage, @DesktopWidth, @DesktopHeight)

    muss es

    AutoIt
    $hImage = _GDIPlus_ImageResize($hImage, @DesktopWidth, @DesktopHeight)

    heißen

  • Text in Bild hinzufügen

    • Tweaky
    • 26. April 2020 um 14:56

    Oh man stimmt.

    Ich habe bisher immer Minuswerte angegeben, da ich den Abstand von rechts unten herstellen wollte.

    Nun habe ich zum testen allerdings Pluswerte verwendetet, was damit natürlich nicht funktioniert.

    Danke für den Tipp:S

    Außerdem habe ich die GUI entfernt.

    Wie meinst du das mit FileCopy?

    Ich vergrößere das Bild auf Desktopgröße bevor ich den Text einfüge.

    Deshalb kann ich doch kein FileCopy verwenden. Oder meinst du was anderes?

    AutoIt
    #Region    ;************ Includes ************
    #Include <GDIPlus.au3>
    #Include <File.au3>
    #EndRegion ;************ Includes ************
    _bild_text("C:\Windows\Web\Wallpaper\Windows\img0.jpg", 500, 500, "Hallo", 50)
    
    Func _bild_text($bild_quelldatei_func, $text_pos_x_func, $text_pos_y_func, $text, $text_schriftgroesse_func)
        Local $aInfo, $desktopbild_zieldatei, $hBrush, $hBrush2, $hDestination, $hFamily, $hFont, $hFormat, $zielbild_tmp, $zielbild_io
        Local $hGraphic, $hGraphic1, $hGraphics, $hSource1, $hGui_bild_text, $himg, $iX, $iX1, $iY1, $iy, $tLayout, $text_breite, $text_hoehe
        Local $szDrive, $szDir, $szFName, $szExt
    
        _GDIPlus_Startup()
    
        ;kompletter Pfad Zielbild
        _PathSplit($bild_quelldatei_func, $szDrive, $szDir, $szFName, $szExt)
    
        $desktopbild_zieldatei = $szFName & "2" & $szExt
        $zielbild_io = @TempDir & "\" & $desktopbild_zieldatei
    
        ;kompletter Pfad Tempbild (Originalbild auf Desktop vergrößert)
        $zielbild_tmp = @TempDir & $szFName & " temp" & $szExt
    
        FileDelete($zielbild_io)
        FileDelete($zielbild_tmp)
    
            $hSource1 = _GDIPlus_ImageLoadFromFile($bild_quelldatei_func)
        $iX1 = _GDIPlus_ImageGetWidth($hSource1)
        $iY1 = _GDIPlus_ImageGetHeight($hSource1)
    
        ;Zeichnet das Bild auf Desktopgroesse
        $hBitmap = _GDIPlus_BitmapCreateFromScan0(@DesktopWidth, @DesktopHeight) ;create an empty bitmap
        $hGraphic1 = _GDIPlus_ImageGetGraphicsContext($hBitmap)
        _GDIPlus_GraphicsDrawImageRect($hGraphic1, $hSource1, 0, 0, @DesktopWidth, @DesktopHeight)
    
        ;Speichert das Bild
        _GDIPlus_ImageSaveToFile($hBitmap, $zielbild_tmp)
    
        ;Ressourcen freigeben
        _GDIPlus_ImageDispose($hSource1)
        _GDIPlus_BitmapDispose($hBitmap)
        _GDIPlus_GraphicsDispose($hGraphic1)
    
        $himg = _GDIPlus_ImageLoadFromFile($zielbild_tmp)
        $hGraphics = _GDIPlus_ImageGetGraphicsContext($himg)
    
        ;Abmaße ermitteln
        $iX = _GDIPlus_ImageGetWidth($himg)
        $iy = _GDIPlus_ImageGetHeight($himg)
    
        If $text_pos_x_func > 0 Then ;+Wert = Abstand von links
            $iX -= $text_pos_x_func
        Else ;-Wert = Abstand von rechts
            $text_pos_x_func += $iX
        EndIf
    
        If $text_pos_y_func > 0 Then ;+Wert = Abstand von oben
            $iy -= $text_pos_y_func
        Else ;-Wert = Abstand von unten
            $text_pos_y_func += $iy
        EndIf
    
        ;Schrift erstellen
        $hFormat = _GDIPlus_StringFormatCreate()
        $hFamily = _GDIPlus_FontFamilyCreate("Arial")
        $hFont = _GDIPlus_FontCreate($hFamily, $text_schriftgroesse_func, 1)
    
        $tLayout = _GDIPlus_RectFCreate($text_pos_x_func, $text_pos_y_func)
    
        ;Ermittelt die Abmaße des Textes
        $aInfo = _GDIPlus_GraphicsMeasureString($hGraphics, $text, $hFont, $tLayout, $hFormat)
        $text_breite = Ceiling(DllStructGetData($aInfo[0], "Width"))
        $text_hoehe = Ceiling(DllStructGetData($aInfo[0], "Height"))
    
        ;Zeichnet ein weißes Feld hinter den Text
        $hBrush2 = _GDIPlus_BrushCreateSolid(0xFFFFFFFF)
        _GDIPlus_GraphicsFillRect($hGraphics, $text_pos_x_func, $text_pos_y_func, $text_breite, $text_hoehe, $hBrush2)
    
        ;Zeichnet den Text
        $hBrush = _GDIPlus_BrushCreateSolid()
        _GDIPlus_GraphicsDrawStringEx($hGraphics, $text, $hFont, $aInfo[0], $hFormat, $hBrush)
        _GDIPlus_GraphicsDrawImage($hGraphics, $himg, $iX, $iy)
    
        ;Speichert die Datei
        _GDIPlus_ImageSaveToFile($himg, $zielbild_io)
    
        ;Ressourcen freigeben
        _GDIPlus_BrushDispose($hBrush)
        _GDIPlus_ImageDispose($himg)
        _GDIPlus_Shutdown()
        _GDIPlus_FontDispose($hFont)
        _GDIPlus_FontFamilyDispose($hFamily)
    
        _GDIPlus_Shutdown()
    
        FileDelete($zielbild_tmp)
    
        ShellExecute($zielbild_io)
    
        Return $zielbild_io
    EndFunc   ;==>_bild_mit_text
    Alles anzeigen
  • Text in Bild hinzufügen

    • Tweaky
    • 26. April 2020 um 13:42

    Hi,

    ich habe schon seit längerem ein Skript bei dem in ein Bild ein Text ergänzt wird.

    Nun habe bemerkt, dass es nicht mehr funktioniert.

    Oder ich steh grad aufm Schlauch und überseh was:/

    Leider ist der Text nicht sichtbar.

    Ich habe Win 10 1909 64bit

    AutoIt
    #Region    ;************ Includes ************
    #Include <GDIPlus.au3>
    #Include <File.au3>
    #EndRegion ;************ Includes ************
    _bild_text("C:\Windows\Web\Wallpaper\Windows\img0.jpg", 500, 500, "Hallo", 50)
    
    
    Func _bild_text($bild_quelldatei_func, $text_pos_x_func, $text_pos_y_func, $text, $text_schriftgroesse_func)
        Local $aInfo, $desktopbild_zieldatei, $hBrush, $hBrush2, $hDestination, $hFamily, $hFont, $hFormat, $zielbild_tmp, $zielbild_io
        Local $hGraphic, $hGraphic1, $hGraphics, $hSource1, $hGui_bild_text, $himg, $iX, $iX1, $iY1, $iy, $tLayout, $text_breite, $text_hoehe
        Local $szDrive, $szDir, $szFName, $szExt
    
        _GDIPlus_Startup()
    
        ;kompletter Pfad Zielbild
        _PathSplit($bild_quelldatei_func, $szDrive, $szDir, $szFName, $szExt)
    
        $desktopbild_zieldatei = $szFName & "2" & $szExt
        $zielbild_io = @TempDir & "\" & $desktopbild_zieldatei
    
        ;kompletter Pfad Tempbild (Originalbild auf Desktop vergrößert)
        $zielbild_tmp = @TempDir & $szFName & " temp" & $szExt
    
        FileDelete($zielbild_io)
        FileDelete($zielbild_tmp)
    
        $hSource1 = _GDIPlus_ImageLoadFromFile($bild_quelldatei_func)
        $iX1 = _GDIPlus_ImageGetWidth($hSource1)
        $iY1 = _GDIPlus_ImageGetHeight($hSource1)
    
        $hGui_bild_text = GUICreate("GDI+", $iX1, $iY1)
        GUISetState(@SW_HIDE)
    
        $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGui_bild_text)
    
        ;Zeichnet das Bild auf Desktopgroesse
        $hDestination = _GDIPlus_BitmapCreateFromGraphics(@DesktopWidth, @DesktopHeight, $hGraphic)
        $hGraphic1 = _GDIPlus_ImageGetGraphicsContext($hDestination)
        _GDIPlus_GraphicsDrawImageRect($hGraphic1, $hSource1, 0, 0, @DesktopWidth, @DesktopHeight)
    
        ;Speichert das Bild
        _GDIPlus_ImageSaveToFile($hDestination, $zielbild_tmp)
    
        ;Ressourcen freigeben
        _GDIPlus_ImageDispose($hSource1)
        _GDIPlus_GraphicsDispose($hGraphic)
        _GDIPlus_BitmapDispose($hDestination)
        _GDIPlus_GraphicsDispose($hGraphic1)
    
        $himg = _GDIPlus_ImageLoadFromFile($zielbild_tmp)
        $hGraphics = _GDIPlus_ImageGetGraphicsContext($himg)
    
        ;Abmaße ermitteln
        $iX = _GDIPlus_ImageGetWidth($himg)
        $iy = _GDIPlus_ImageGetHeight($himg)
    
        $text_pos_x_func += $iX
        $text_pos_y_func += $iy
    
        ;Schrift erstellen
        $hFormat = _GDIPlus_StringFormatCreate()
        $hFamily = _GDIPlus_FontFamilyCreate("Arial")
        $hFont = _GDIPlus_FontCreate($hFamily, $text_schriftgroesse_func, 1)
    
        $tLayout = _GDIPlus_RectFCreate($text_pos_x_func, $text_pos_y_func)
    
        ;Ermittelt die Abmaße des Textes
        $aInfo = _GDIPlus_GraphicsMeasureString($hGraphics, $text, $hFont, $tLayout, $hFormat)
        $text_breite = Ceiling(DllStructGetData($aInfo[0], "Width"))
        $text_hoehe = Ceiling(DllStructGetData($aInfo[0], "Height"))
    
        ;Zeichnet ein weißes Feld hinter den Text
        $hBrush2 = _GDIPlus_BrushCreateSolid(0xFFFFFFFF)
        _GDIPlus_GraphicsFillRect($hGraphics, $text_pos_x_func, $text_pos_y_func, $text_breite, $text_hoehe, $hBrush2)
    
        ;Zeichnet den Text
        $hBrush = _GDIPlus_BrushCreateSolid()
        _GDIPlus_GraphicsDrawStringEx($hGraphics, $text, $hFont, $aInfo[0], $hFormat, $hBrush)
        _GDIPlus_GraphicsDrawImage($hGraphics, $himg, $iX, $iy)
    
        ;Speichert die Datei
        _GDIPlus_ImageSaveToFile($himg, $zielbild_io)
    
        ;Ressourcen freigeben
        _GDIPlus_BrushDispose($hBrush)
        _GDIPlus_ImageDispose($himg)
        _GDIPlus_Shutdown()
        _GDIPlus_FontDispose($hFont)
        _GDIPlus_FontFamilyDispose($hFamily)
    
        _GDIPlus_Shutdown()
    
        FileDelete($zielbild_tmp)
    
        ShellExecute($zielbild_io)
    
        Return $zielbild_io
    EndFunc   ;==>_bild_mit_text
    Alles anzeigen
  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.14.5 2020.04.13)

    • Tweaky
    • 24. April 2020 um 18:13

    behoben.

    Allerdings habe ich dies hier nicht geändert:

    Ermittelt das Handle eines Fensters, das ein bestimmtes Verhältnis (Z-Anordnung oder Besitzer) zu dem angegebenen Fenster hat

  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.14.5 2020.04.13)

    • Tweaky
    • 19. April 2020 um 16:49

    OK, dann ändere ich es wieder zurück:D

  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.14.5 2020.04.13)

    • Tweaky
    • 19. April 2020 um 11:21

    OK, dann passe ich es in der deutschen Hilfe an.

    BugFix

    Bitte erstelle ein Ticket im englischen Bugtracker, damit die es vielleicht irgendwann mal beheben.

  • Deutsche Hilfe auf 3.3.14.5 updaten - mitmachen

    • Tweaky
    • 17. April 2020 um 21:50

    autoiter

    Das wichtigste sind die Funktionsbeschreibungen.

    Trotzdem meien ich, dass es für Anfänger besser zu verstehen ist, wenn auch die Beispiele übersetzt werden.

    Bei den zu übersetzenden Funktionen ist das hochgeladen, was noch nicht übersetzt ist (Beschreibung und / oder Beispiel).

    Neben den hier hochgeladenen Funktionen gibt es noch ca. 1000 Funktionene zum übersetzen.

    Gerne darst du dir auch bestimmte Funktionen raussuchen und ich lasse dir die Datei dann zukommen, wenn sie noch nicht hochgeladen wurde.:klatschen:

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™