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

Beiträge von UEZ

  • FreeBasic Debug Hilfe

    • UEZ
    • 28. März 2021 um 22:43

    Stimmt, Playing ist auch in der VM leer, aber der Amiga Ball ist zu sehen...

    Das scheint am Callback von WinHTTP zu liegen, wo das Redirect zum vollständigen Namen aufgelöst wird.

  • FreeBasic Debug Hilfe

    • UEZ
    • 28. März 2021 um 21:55

    Das liegt an der GIF Komprimierung (mit WinAPI und COMPRESSION_FORMAT_XPRESS_HUFF komprimiert). Anscheinend nicht mit Win7 kompatible!

    Ich habe die eingebettete GIF Animation nun mit der WinAPI und LZNT komprimiert. In der VM funzt es.

    Dateien

    Radio Station.zip 771,48 kB – 431 Downloads
  • FreeBasic Debug Hilfe

    • UEZ
    • 28. März 2021 um 21:41

    Vielen Dank fürs Testen! Ich muss nachforschen, woran das liegt...

  • FreeBasic Debug Hilfe

    • UEZ
    • 28. März 2021 um 12:38

    @Musashi , BugFix vielen Dank für das Testen. Primär geht es mir, wie die CMD aussieht, d.h. ist das Fenster vollständig mit rot gefüllt und dreht sich der Amiga Ball.

    BugFix : ich war auf dieser Seite -> https://www.catalog.update.microsoft.com/search.aspx?q=kb3140245 und habe dort "Update for Windows 7 for x64-based Systems (KB3140245)" heruntergeladen und ausgeführt.

    Danach lief das Tool, aber die Ansicht ist nicht wie auf Win10.

    Da das Tool per Standard zufällige Titel Nummern aussucht, kommt es leider relativ häufig vor, dass sich hinter den Nummern nichts verbirgt. Zur Not kann man auch "1" drücken, damit vom Neusten zum Ältesten abgespielt wird. Alternativ kann man auch die Exe mit "/order 1" aufrufen.

  • FreeBasic Debug Hilfe

    • UEZ
    • 27. März 2021 um 23:43

    Könnte jemand mit Win7 als OS auf einer physikalischen Maschine bitte die Radio Station amigaremix.comx.exe starten und ein Screenshot posten bitte?

    Falls es nicht auf Win7 läuft, dann bitte Post#18 checken.

    DANKE :thumbup:

    Dateien

    Radio Stations.zip 404,66 kB – 655 Downloads
  • Variablen und Wildcards

    • UEZ
    • 23. März 2021 um 12:45

    Info: Wildcards funktionieren nur mit regulären Ausdrücken (RegEx).

  • Variablen und Wildcards

    • UEZ
    • 23. März 2021 um 08:33

    DU könntest sowas machen:

    Code
    Local  $media = FileOpenDialog("", "", "Media (*.wma;*.mp3;*.m3u)" , 1)
    Switch StringRight($media, 4)
        Case ".m3u"
            ConsoleWrite("m3u gelanden" & @CRLF)
        Case ".mp3"
            ConsoleWrite("mp3 gelanden" & @CRLF)
        Case Else
            ConsoleWrite("nichts geladen" & @CRLF)
    EndSwitch
  • FreeBasic Debug Hilfe

    • UEZ
    • 15. März 2021 um 17:19

    Ich hab's herausgefunden ->Update to enable TLS 1.1 and TLS 1.2 as default secure protocols in WinHTTP in Windows

    Nachdem ich "Method 2: Microsoft Update Catalog" angewendet habe, klappt's auch mit dem Tool!

    Edit: https://www.autoitscript.com/forum/topic/20…comment-1475488

    Dateien

    Radio Station.zip 87,19 kB – 706 Downloads
  • FreeBasic Debug Hilfe

    • UEZ
    • 15. März 2021 um 12:30

    Hmm, da muss ich wohl Win7 in einer VM installieren.

    Danke für eure Unterstützungen.

  • FreeBasic Debug Hilfe

    • UEZ
    • 15. März 2021 um 11:33

    So, wie sieht es mit dieser Version für Win7 aus?

    Dateien

    Radio Station remix.kwed.org.exe.zip 43,55 kB – 591 Downloads
  • FreeBasic Debug Hilfe

    • UEZ
    • 15. März 2021 um 11:21
    Zitat von Musashi

    UEZ :

    In unserer SB-Konversation gab es doch mal eine Variante, die auch auf Win7 lief :

    Was war denn da anders ?

    Nun ja, wenn ich mich noch richtig erinnern kann, dann hatte ich den Check für GetLatestNumber manuell eingetragen, weil ich dachte, dass PCRE Probleme macht, aber hier scheint was mit WinHTTP und Win7 nicht sauber zu funzen. Vielleicht der zweite Aufruf von WinHTTP...

  • FreeBasic Debug Hilfe

    • UEZ
    • 15. März 2021 um 10:58

    Hmm, das scheint wohl an der Windows Version zu liegen, da der Output von GML doch gut aussieht. Ich frage mich, warum das mit Win7 nicht funzt...:/

  • FreeBasic Debug Hilfe

    • UEZ
    • 15. März 2021 um 10:49

    Ok, wie sieht es mit dieser Version aus? Einfach in das Verzeichnis kopieren, wo die Bass.dlls liegen.

    Dateien

    Radio Station remix.kwed.org.exe.zip 43,55 kB – 666 Downloads
  • FreeBasic Debug Hilfe

    • UEZ
    • 15. März 2021 um 10:17

    Vielen Dank BugFix . Sieht so aus, als ob WinHTTP nicht initialisiert wird, und somit auch der Source Code der Seite nicht gelesen werden kann. Auch die Exe mal mit Admin Rechten gestartet?

    Da muss ich mir mal WinHTTP nochmals anschauen, warum das nicht bei euch funzt...

  • FreeBasic Debug Hilfe

    • UEZ
    • 15. März 2021 um 09:03

    Moin,

    ich habe quasi ein Radio Station Player geschrieben, aber wie es aussieht, läuft das Tool nicht auf anderen PCs. Da ich schlecht einen auf meinem PC laufenden Code debuggen kann, bräuchte ich euer Hilfe.

    In dem angehängten Zip Archiv befinden sich folgende Dateien:

    Bass.dll

    Bass64.dll

    Radio Station remix.kwed.org x64.exe

    Radio Station remix.kwed.org x86.exe

    Beim Starten sollte sich die CMD öffen und einige Infos ausgegeben werden:

    Z.B:

    HTML
    Initializing WinHTTP...
    Initializing Bass.dll...
    Getting latest song number...
    hSession= 7952936
    hConnect= 8252712
    hRequest= 8253000
    <!-- *** DEBUG: Last visit set. Timestamp:  - Converted: 20210315090004 *** --><!DOCTYPE html>
    <html lang="en">
    <head>
    ... (HTML Source Code von der Seite remix.kwed.org)
    <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"ad127905cb","applicationID":"929457740","transactionName":"Z1ZWY0VZWUBVBkINDF4cYUVeF15dUABOShNYQw==","queueTime":0,"applicationTime":26,"atts":"SxFVFQ1DSk4=","errorBeacon":"bam.nr-data.net","agent":""}</script></body>
    </html>
    
    sSearch = <a class="date" href="/remix/
    iPos = 22058
    iLatestNumber = 6342
    Press any key
    Alles anzeigen

    Könnt ihr bitte die Ausgabe posten? Vielleicht auch mal mir Admin Rechten starten!

    DANKE:thumbup:

    Die neuste Version gibt's es immer hier: Radio Station

  • Frohes Weihnachtsfest

    • UEZ
    • 23. Dezember 2020 um 15:37

    Auch von mir schöne Weihnachten.

    Merry Christmas.jpg

    Vielen Dank an Oscar für das Gedicht. :)

    Dateien

    Merry Christmas.zip 1,53 MB – 566 Downloads
  • Bildschirminhalt einfrieren

    • UEZ
    • 13. September 2020 um 20:50

    Probiere es mal damit:

    AutoIt
    ...
    _WinAPI_SetDPIAwareness()
    
    Local Const $hFullScreen = WinGetHandle("[TITLE:Program Manager;CLASS:Progman]")
    Local Const $aFullScreen = WinGetPos($hFullScreen), $iPosMainScreen = Abs($aFullScreen[0])
    Local Const $iW = $aFullScreen[2], $iH = $aFullScreen[3]
    Local Const $hBitmap = _ScreenCapture_Capture("", $aFullScreen[0], $aFullScreen[1], $iW - 1, $iH - 1, False)
    Local Const $hGUI = GUICreate("", $iW, $iH, $aFullScreen[0], $aFullScreen[1], $WS_POPUP, $WS_EX_TOPMOST)
    Local Const $iPic = GUICtrlCreatePic("", 0, 0, $iW, $iH)
    _WinAPI_DeleteObject(GUICtrlSendMsg($iPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hBitmap))
    GUISetState()
    ...
    Alles anzeigen
  • Bildschirminhalt einfrieren

    • UEZ
    • 13. September 2020 um 16:42

    So was vielleicht?

    AutoIt
    #include <GUIConstantsEx.au3>
    #include <ScreenCapture.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    
    ; enum _PROCESS_DPI_AWARENESS -> https://msdn.microsoft.com/en-us/library/windows/desktop/dn280512(v=vs.85).aspx
    Global Enum $DPI_AWARENESS_INVALID = -1, $PROCESS_DPI_UNAWARE = 0, $PROCESS_SYSTEM_DPI_AWARE, $PROCESS_PER_MONITOR_DPI_AWARE
    Global Enum $Context_UnawareGdiScaled = -5, $Context_PerMonitorAwareV2, $Context_PerMonitorAware, $Context_SystemAware, $Context_Unaware
    Global Const $WM_DPICHANGED = 0x02E0, $WM_GETDPISCALEDSIZE = 0x02E4
    
    _WinAPI_SetDPIAwareness()
    Local Const $hBitmap = _ScreenCapture_Capture("", 0, 0, @DesktopWidth - 1, @DesktopHeight - 1, False)
    Local Const $hGUI = GUICreate("", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, $WS_EX_TOPMOST)
    Local Const $iPic = GUICtrlCreatePic("", 0, 0, @DesktopWidth - 1, @DesktopHeight - 1)
    _WinAPI_DeleteObject(GUICtrlSendMsg($iPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hBitmap))
    GUISetState()
    Do
        If GUIGetMsg() = $GUI_EVENT_CLOSE Then
            _WinAPI_DeleteObject($hBitmap)
            GUIDelete($hGUI)
            Exit
        EndIf
    Until False
    
    Func _WinAPI_SetDPIAwareness($hGUI = 0)
        Switch @OSBuild
            Case 6000 To 9199
                If Not DllCall("user32.dll", "bool", "SetProcessDPIAware") Then Return SetError(1, 0, 0) ;requires Vista+ / Server 2008+
                Return 1
            Case 9200 To 13999
                _WinAPI_SetProcessDpiAwareness($PROCESS_PER_MONITOR_DPI_AWARE) ;requires Win 8.1+ / Server 2012 R2+
                If @error Then Return SetError(2, 0, 0)
                Return 1
            Case @OSBuild > 13999
                #cs
                    Context_Unaware = ((DPI_AWARENESS_CONTEXT)(-1)),
                    Context_SystemAware = ((DPI_AWARENESS_CONTEXT)(-2)),
                    Context_PerMonitorAware = ((DPI_AWARENESS_CONTEXT)(-3)),
                    Context_PerMonitorAwareV2 = ((DPI_AWARENESS_CONTEXT)(-4)),
                    Context_UnawareGdiScaled = ((DPI_AWARENESS_CONTEXT)(-5))
                #ce
                _WinAPI_SetProcessDpiAwarenessContext($Context_PerMonitorAwareV2, $hGUI, 1)
                If @error Then Return SetError(3, @error, 0)
                Return 1
        EndSwitch
        Return -1
    EndFunc   ;==>_WinAPI_SetDPIAwareness
    
    
    Func _WinAPI_SetProcessDpiAwareness($DPIAware) ;https://docs.microsoft.com/en-us/windows/desktop/api/shellscalingapi/nf-shellscalingapi-setprocessdpiawareness
        Local $aResult = DllCall("Shcore.dll", "long", "SetProcessDpiAwareness", "int", $DPIAware) ;requires Win 8.1+ / Server 2012 R2+
        If @error Then Return SetError(1, 0, 0)
        Return 1
    EndFunc   ;==>_WinAPI_SetProcessDpiAwareness
    
    Func _WinAPI_SetProcessDpiAwarenessContext($DPIAwareContext = $Context_PerMonitorAware, $hGUI = 0, $iMode = 1)
        $DPIAwareContext = ($DPIAwareContext < -5) ? -5 : ($DPIAwareContext > -1) ? -1 : $DPIAwareContext
        $iMode = ($iMode < 1) ? 1 : ($iMode > 3) ? 3 : $iMode
        Switch $iMode
            Case 1
                Local $hDC = _WinAPI_GetDC($hGUI)
                Local $aResult1 = DllCall("user32.dll", "int", "GetDpiFromDpiAwarenessContext", "ptr", $hDC) ;requires Win10 v1803+ / Server 2016+
                If @error Or Not IsArray($aResult1) Then Return SetError(11, 0, 0)
                _WinAPI_ReleaseDC(0, $hDC)
                ;https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-setprocessdpiawarenesscontext
                Local $aResult = DllCall("user32.dll", "Bool", "SetProcessDpiAwarenessContext", "int", $aResult1[0] + $DPIAwareContext) ;requires Win10 v1703+ / Server 2016+
                If @error Or Not IsArray($aResult) Then Return SetError(12, 0, 0)
            Case 2
    ;~             If Not $hGUI Then $hGUI = WinGetHandle(AutoItWinGetTitle())
                Local $aResult2 = DllCall("user32.dll", "int", "GetWindowDpiAwarenessContext", "ptr", $hGUI) ;requires Win10 v1607+ / no server support
                If @error Or Not IsArray($aResult2) Then Return SetError(21, 0, 0)
                Local $aResult = DllCall("user32.dll", "Bool", "SetProcessDpiAwarenessContext", "int", $aResult2[0] + $DPIAwareContext) ;requires Win10 v1703+ / Server 2016+
                If @error Or Not IsArray($aResult) Then Return SetError(22, 0, 0)
            Case 3
                Local $aResult31 = DllCall("user32.dll", "ptr", "GetThreadDpiAwarenessContext")    ;requires Win10 v1607+ / no server support
                If @error Or Not IsArray($aResult31) Then Return SetError(31, 0, 0)
                Local $aResult32 = DllCall("user32.dll", "int", "GetAwarenessFromDpiAwarenessContext", "ptr", $aResult31[0]) ;requires Win10 v1607+ / no server support
                If @error Or Not IsArray($aResult32) Then Return SetError(32, 0, 0)
                Local $aResult = DllCall("user32.dll", "Bool", "SetThreadDpiAwarenessContext", "int", $aResult32[0] + $DPIAwareContext) ;requires Win10 v1607+ / no server support
                If @error Or Not IsArray($aResult) Then Return SetError(33, 0, 0)
        EndSwitch
    
        Return 1
    EndFunc   ;==>_WinAPI_SetProcessDpiAwarenessContext
    Alles anzeigen
  • ColorConvert

    • UEZ
    • 9. September 2020 um 23:20

    Ich würde es so machen:

    Python
    from strutils import toHex
    
    type
      ARGB* {.union.} = object
        c*: tuple[b, g, r, a: uint8]
        argb*: uint32
    
    var color: ARGB
    color.c.r = 0xAA
    color.c.g = 0xBB
    color.c.b = 0xCC
    color.c.a = 0xFF
    
    echo color.argb.toHex
    color.argb = 0x00F0D0C0
    echo color.argb.toHex
    echo color.c.r.toHex
    Alles anzeigen

    Einfach um die 32-bit Bandbreite auszunutzen, also mit Alpha Kanal.

    Ich hatte auch lange gerätselt, was Union ist, bis ich mir das mal näher angeschaut habe und für diesen Zweck als sehr nützlich gefunden habe.

  • ColorConvert

    • UEZ
    • 9. September 2020 um 13:25

    Union bedeutet einfach, dass ein Speicherbereich in der Strukt (Type) geteilt (shared) wird.

    In dem FB Beispiel ist die Strukt nur 4 Bytes groß, d.h. man kann direkt in r, g, b, a schreiben und anschließend col auslesen (32 Bit Wert), ohne vorher die Umwandlung durchführen zu müssen.

    Ich weiß nicht, ob NIM diese Datenstruktur überhaupt implementiert hat.

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™