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. SOLVE-SMART

Beiträge von SOLVE-SMART

  • EXIF-Rename

    • SOLVE-SMART
    • 12. September 2025 um 17:24

    Hi und Danke Oscar für dein EXIF_Rename Tool 👌 .
    Bisher habe ich immer per ExifTool solche Dinge erledigt, doch dein Ansatz gefällt mir recht gut und ich schaue mal wie ich ihn für mich entsprechend anpassen werde.

    Doch dazu würde ich gern wissen ob du das Tool unter irgendeiner Lizenz zu Verfügung stellst?

    • BSD, MIT, The Unlicense oder wie es AspirinJunkie gelegentlich macht, mit der allseits beliebten WTFPL license ?
    • Denn falls nicht, darf niemand (No license) dein Tool verwenden/modifizieren etc.

    --------

    Ansonsten ein paar kleine Korinthenkacker Anmerkungen meinerseits 😂:

    • Zeile 163: $tRect ==> already declared/assigned
    • Zeile 425: $sOldDir ==> wird nicht benutzt (kann also in Zeile 423 zusammen mit "$sNum" gelöscht werden)

    Nochmals Danke 🤝 .

    Viele Grüße
    Sven

  • Fronius Webseite auslesen

    • SOLVE-SMART
    • 8. September 2025 um 20:03

    Hmm, na schön Tweaky , dann ist es so. Ich glaube zwar das du dir es schlimmer vorstellst als es ist, da ja nach dem Login wahrscheinlich "nur noch" das Daten abfischen kommt und fertig, doch ohne adaquaten Zugang (oder Simulation etc.) ist es schwierig, stimmt.

    Wie auch immer, komme jederzeit gern auf mich zu, wenn du einen erneuten Anlauf mit OIDC oder WebDriver starten möchtest 🤝 .

    Viele Grüße
    Sven

  • JSON-UDF

    • SOLVE-SMART
    • 8. September 2025 um 13:57

    Es ist wie immer ein Vergügen mit dir, Dankeschön für die gute Erläuterung 🤝 .

    Zitat von AspirinJunkie

    Daher wird es dort auch keine Funktion geben die aus einem 2D-Array eben keine verschachtelte Liste, wie man es aus dem Aufbau der Datenstruktur ableiten würde, sondern eine Liste von Objekten - denn das gibt die Syntax schlicht nicht her und eine andere Interpretation auf die Daten zu finden ist Sache des Users selbst.

    Zitat von AspirinJunkie

    Kurz: Ja klar kann man Daten hin und her transformieren wie man möchte - die JSON-UDF ist dafür halt nur der falsche Ort.

    Verstanden und nachvollziehbar!

    Zitat von AspirinJunkie

    Bei der Liste hingegen habe ich kein Pendant.
    Die Interpretation, dass der erste Eintrag eines 1D-Array der einzige Key einer Map sein soll und alle anderen Elemente als 1D-Array als Value dieses Keys behandelt werden sollen ist schlicht halt sehr individuell und bedarf daher auch einer individuellen Behandlung.

    Auch hierbei gebe ich dir Recht, dies muss der User der UDF selbst berücksichtigen bzw. seine Daten entsprechend vorher aufbereiten 👌 .

    ==> https://github.com/Sylvan86/autoi…r/TableData.au3 schaue ich mir (nochmal) genauer an. Hatte ich vor Monaten bin ich der Meinung, doch vor zwei Wochen ist mir deine UDF nicht eingefallen. Naja, mit fast 40 Jahren - cheers Andi - vergisst man die ersten Sachen eben 😂 .

    Alles klar, merci. Einen angenehmen Tag noch 🤝 .

    Viele Grüße
    Sven

  • JSON-UDF

    • SOLVE-SMART
    • 8. September 2025 um 13:08

    Hi AspirinJunkie , hi liebe Mitlesende 👋 .

    Ich könnte die Frage auch via GitHub issues stellen, doch zum einen passiert hier ja sonst nicht viel 😅 und zum anderen interessiert es vielleicht noch jemand hier, der nicht auf GitHub aktiv ist (who knows).

    Einleitung:

    Ab und an mache ich doch mal noch etwas mit AutoIt, neben anderen Sprachen in denen ich beruflich unterwegs bin.
    Dann kam deine Meldung zur Performance-Verbesserung deiner JSON.au3 UDF und prompt hatte ich mal wieder ein wenig Lust aktiv zu werden 😀 .

    Fragestellung:

    Warum existiert eigentlich kein "Array to JSON" in der UDF? Vielleicht tut es das (indirekt) und ich habe 🍅 auf den Augen, doch ich fand es vor zwei Wochen nicht.
    Also _JSON_Generate verhält sich sicher wie gewünscht, doch entspricht dies nicht dem output JSON string den ich "brauche" #spielerei.

    Code (mit Beispieldaten):

    AutoIt
    #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w 7
    #AutoIt3Wrapper_AU3Check_Stop_OnWarning=y
    
    #include-once
    #include "JSON.au3"
    
    _Main()
    
    Func _Main()
        Local $aTable[][3] = _
            [ _
                ['Feature',             'Technologie',    'Status'], _
                ['REST API - User',     'Node.js',        'Fertig'], _
                ['Datenbank-Migration', 'SQL',            'Geplant'], _
                ['Frontend Dashboard',  'React',          'Im Review'], _
                ['Unit Tests - Auth',   'Python',         'In Arbeit'], _
                ['CI/CD Pipeline',      'GitHub Actions', 'Fertig'], _
                ['Performance Tuning',  'Go',             'Offen'] _
            ]
    
        Local $aList[] = _
            [ _
                'Weekday', _
                'Monday', _
                'Tuesday', _
                'Wednesday', _
                'Thursday', _
                'Friday', _
                'Saturday', _
                'Sunday' _
            ]
    
        _WriteFile('.\output\json-generate-table.json', _JSON_Generate($aTable))
        _WriteFile('.\output\array-to-json-table.json', _JSON_Unminify(_ArrayToJson($aTable)) & @CRLF)
        
        _WriteFile('.\output\json-generate-list.json',  _JSON_Generate($aList))
        _WriteFile('.\output\array-to-json-list.json',  _JSON_Unminify(_ArrayToJson($aList)) & @CRLF)
    EndFunc
    
    Func _ArrayToJson(ByRef $aTable)
        Local $iRows   = UBound($aTable)
        Local $iColums = UBound($aTable, 2)
    
        If $iRows < 2 Then
            Return '[]'
        EndIf
    
        If $iColums < 2 Then
            Return _Array1DToJson($aTable)
        EndIf
    
        Local $aKeys[$iColums]
        For $iCol = 0 To $iColums - 1
            $aKeys[$iCol] = $aTable[0][$iCol]
        Next
    
        Local $sJson = '['
    
        For $iRow = 1 To $iRows - 1
            $sJson &= '{'
    
            For $iCol = 0 To $iColums - 1
                $sJson &= StringFormat('"%s":"%s"', $aKeys[$iCol], $aTable[$iRow][$iCol])
                If $iCol < $iColums - 1 Then
                    $sJson &= ','
                EndIf
            Next
    
            $sJson &= '}'
            If $iRow < $iRows - 1 Then
                $sJson &= ','
            EndIf
        Next
    
        $sJson &= ']'
    
        Return $sJson
    EndFunc
    
    Func _Array1DToJson(ByRef $aList)
        Local $iRows = UBound($aList)
    
        If $iRows < 2 Then
            Return '{}'
        EndIf
    
        Local $sKey  = $aList[0]
        Local $sJson = StringFormat('{"%s":[', $sKey)
    
        For $iRow = 1 To $iRows - 1
            $sJson &= StringFormat('"%s"', $aList[$iRow])
            If $iRow < $iRows - 1 Then
                $sJson &= ','
            EndIf
        Next
    
        $sJson &= ']}'
    
        Return $sJson
    EndFunc
    
    Func _WriteFile($sFile, $sText)
        Local Const $iUtf8NoBom = 256
        Local Const $iOverwriteCreation = 2 + 8
        Local Const $iMode = $iUtf8NoBom + $iOverwriteCreation
    
        Local $hFile = FileOpen($sFile, $iMode)
        FileWrite($hFile, $sText)
        FileClose($hFile)
    EndFunc
    Alles anzeigen
    1. Schaue dir doch mal bitte die verschiedenen JSON output Dateien an (im Verzeichnis output nach Skriptausführung).
    2. _JSON_Generate hat einen Zeilen-Fokus (so nenne ich es mal). Somit sind alle Zeilen dann auch JSON arrays.
      Jedoch wollte ich einen Spalten-Fokus (erste Spalte Key, erste Zeile dann Value). Erschließt sich besser wenn man es siehst.
    3. Mir ist klar, dass keine nested Array in Array Kombinationen mit _ArrayToJson abgebildet werden können, ist auch gar nicht der Anpruch.

    Wäre dies etwas was in die UDF passen würde? Falls ja, dann stelle ich gern den PR dazu, außer du willst es ganz anders - wie ich dich kenne performanter - machen 😇 .

    JSON.au3 download

    Output:

    json-generate-table.json
    JSON
    [
    	[
    		"Feature",
    		"Technologie",
    		"Status"
    	],
    	[
    		"REST API - User",
    		"Node.js",
    		"Fertig"
    	],
    	[
    		"Datenbank-Migration",
    		"SQL",
    		"Geplant"
    	],
    	[
    		"Frontend Dashboard",
    		"React",
    		"Im Review"
    	],
    	[
    		"Unit Tests - Auth",
    		"Python",
    		"In Arbeit"
    	],
    	[
    		"CI/CD Pipeline",
    		"GitHub Actions",
    		"Fertig"
    	],
    	[
    		"Performance Tuning",
    		"Go",
    		"Offen"
    	]
    ]
    Alles anzeigen
    array-to-json-table.json
    JSON
    [
    	{
    		"Feature": "REST API - User",
    		"Technologie": "Node.js",
    		"Status": "Fertig"
    	},
    	{
    		"Feature": "Datenbank-Migration",
    		"Technologie": "SQL",
    		"Status": "Geplant"
    	},
    	{
    		"Feature": "Frontend Dashboard",
    		"Technologie": "React",
    		"Status": "Im Review"
    	},
    	{
    		"Feature": "Unit Tests - Auth",
    		"Technologie": "Python",
    		"Status": "In Arbeit"
    	},
    	{
    		"Feature": "CI/CD Pipeline",
    		"Technologie": "GitHub Actions",
    		"Status": "Fertig"
    	},
    	{
    		"Feature": "Performance Tuning",
    		"Technologie": "Go",
    		"Status": "Offen"
    	}
    ]
    Alles anzeigen
    json-generate-list.json
    JSON
    [
    	"Weekday",
    	"Monday",
    	"Tuesday",
    	"Wednesday",
    	"Thursday",
    	"Friday",
    	"Saturday",
    	"Sunday"
    ]
    array-to-json-list.json
    JSON
    {
    	"Weekday": [
    		"Monday",
    		"Tuesday",
    		"Wednesday",
    		"Thursday",
    		"Friday",
    		"Saturday",
    		"Sunday"
    	]
    }
    Alles anzeigen


    Viele Grüße
    Sven

  • Fronius Webseite auslesen

    • SOLVE-SMART
    • 6. September 2025 um 22:08

    WebDriver Beispiel/Variante (6 Sek.).
    HTTP-Request-Variante (OIDC) geht sicher schneller, aber auch ggf. komplexer.

    Hier zunächst der Login (mit dummy Daten, daher kein erfolgreicher Login).

    GitHub - sven-seyfert/autoit-webdriver-boilerplate at fronius-pv-anlage
    The project &quot;autoit-webdriver-boilerplate&quot; can be used as quick entry point for the awesome &quot;au3WebDriver&quot; project by @Danp2 (and @mlipok).…
    github.com

    Was musst du tun/anpassen, nachdem du "Download ZIP" gemacht hast.
    Oder du clone'st das Repo., wenn du über Git gehen willst.

    • Screenshot 1.png, Zeile 38 (und bei Bedarf 39) anpassen
    • Screenshot 2.png, Zeile 7 Login Daten (und bei Bedarf 8) anpassen
    • Screenshot 3.png, dient nur dem Verständnis was beim Login passiert (Überraschung 😆)
    • Screenshot 4.png, dient nur dem Verständnis wie man an die HTML Elemente mit XPath heran kommt

    What's next?
    Sobald du bestätigst, dass es klappt bei dir Tweaky , können wir die PV-Anlage Daten aufspüren und extrahieren, je nach Bedarf deines Bekannten. Dazu bitte Kontaktaufnahme via Direktnachricht.

    Viele Grüße
    Sven

    🖼 Screenshots

    Do you like it? Give the project a ⭐ Star.

  • Fronius Webseite auslesen

    • SOLVE-SMART
    • 6. September 2025 um 19:50

    Zum einen war das nur eine "Etwa-Angabe" mit den 2 min, da ich nicht weiß wie viel Daten durch den WebDriver gezogen werden müssen, zum anderen weiß ich nicht wie viel navigiert werden muss usw.
    Es kann auch in 30 sec oder schneller abgeschlossen sein.

    Zu deiner Frage: Es gibt nicht "den einen" WinHTTP Befehl mit dem du dich einloggst. Du musst das Login Verfahren (Authentifizierung via OpenID Connect flow) beachten. Das werden mehrere GET/POST requests mit Cookie- und Header-Verwendung sein. Doch auch dies sind Annahmen. Zwar ziemlich Sichere, doch das wird sich zeigen wie der Anbieter/Server es verwendet.

    Ohne Zugangsdaten wird das so oder so nix, außer du willst dich via WebDriver (ich wechsle wieder den Kontext) an den offenen Browser hängen, in dem die Session und damit der erfolgreiche Login bereits besteht. Auch dies erfordert die Credentials einmalig.

    Sind das wirklich vertrauliche Daten? Wenn du mir die Daten zukommen lässt, kann ich herum experimentieren. Doch dies erfordert natürlich vertrauen, dass verstehe ich.

    Viele Grüße
    Sven

    Nachtrag: _WinHttpSimpleSSLRequest ist schon okay, nur musst du die richtigen Parameter und Werte übergeben, die findest du aber nicht so einfach. Daher der Hinweis zu Cookies und Header. Einfacher wird wahrscheinlich der WebDriver Weg sein.

  • Fronius Webseite auslesen

    • SOLVE-SMART
    • 6. September 2025 um 16:34

    Wenn es egal ist, ob die Daten die dein Bekannter herunterladen möchte, innerhalb von < 5 sec heruntergeladen oder < 2 min, dann können wir auch den WebDriver Weg gehen. Doch auch da, müssen wir erstmal am Login vorbei.

    Ich kann dir das Template bis zum Login bereitstellen, dann kannst du bei dir testen und dann kommt der zweite Schritt, die eigentlichen Daten holen. Dafür müssten wir wahrscheinlich mal zusammen drauf schauen, wenn es zügig gehen soll. Denn ansonsten schicken wir etliche Screenshots usw. hin und her, was mühsig ist.

    Wenn du magst und sonst keiner eine schnellere oder einfacherer Lösung hier haben sollte, schreibe mich gern mal per Direktnachricht an.

    Ich bin ab heute Abend wieder am Rechner.

    Viele Grüße
    Sven

  • Fronius Webseite auslesen

    • SOLVE-SMART
    • 6. September 2025 um 14:41

    Hi Tweaky ,

    liebend gern würde ich dir helfen, doch zunächst brauche ich erstmal einen Account (Test-Account) von dir 😅 , da ich/wir ansonsten nur die OIDC authorization Seite (die Login) Seite sehen und dort nicht weiter kommen. An sich wird es dann über mind. zwei Requests laufen, wenn es der Standard flow von OpenID Connect ist. Also ein Request für die Authentifizierung, damit erhällt man den Token, welchen man dann dem /token Request mitgeben muss, damit man auf der "eingeloggten" Seite landet, die du wahrscheinlich siehst.

    Danach können wir uns um die Daten kümmern, die du abgreifen (scrappen) möchtest. Doch vorher erstmal der Login.

    Ich habe sowas schon einige Male gemacht, daher kein riesen Akt, doch ich benötige Credentials 😁 .
    Falls der OpenID Connect flow ein unüblicher ist, wird es komplizierter (zumindest für mich).

    Das Ganze würde ich dann in bash/shell und AutoIt aufteilen, anstatt über die WinHTTP zu gehen, da hier mit Cookies gearbeitet werden muss.

    Nicht alle Parameter brauchen wir dann, aber einige
    Code
    https://login.fronius.com/authenticationendpoint/login.do
    ?client_id=mf_o9iTAyKemNLQTa6Sp6HYonCIa
    &commonAuthCallerPath=%2Foauth2%2Fauthorize
    &forceAuth=false
    &nonce=638927594827919966.OTY0ZTBiMjEtOWNlOC00NjhlLWE2NzktZjg1MmMyNzFmYWMyNGIyMDYyNjktOTUyNS00NmZhLWFiMjEtYmIzZmVlNmU0NzFh
    &passiveAuth=false
    &redirect_uri=https%3A%2F%2Fwww.solarweb.com%2FAccount%2FExternalLoginCallback
    &response_mode=form_post
    &response_type=code+id_token
    &scope=openid+profile+solarweb+solweb_browserid_dab8e5a11388a82a73864718098bb87f
    &state=OpenIdConnect.AuthenticationProperties%3DYJvfhtbK35iRQnPx6YBi9aJZT-LD-V83rvbIxZcxi6ysyiVWTPTEcbRjXBxvv-MB-If_NVHxRbQkM_-AlJmHmaxG09CQOEaag0KjNdnzGdRnIju9fQt-QOczfFHKAjlNlKyZL8AczTzi15AaIs8HM8NWCv-YbBRPZ9v5y-4OY022T4Sqo9Q3ckE0seQLqTq-8B9lKnLgf-thimJQzo79Rafm99ydsmdDoK2wnPM-GJbsolHD6V4IyrrI2qyHstBSrAESoRzrRAe93XcGMEjTNyx379K7aqFfnMJwvw97lpMxAG_Ew50_GhnyCPcwnW8twheqCpno1BEVTMIcVW1b86pkvEo
    &tenantDomain=carbon.super
    &x-client-SKU=ID_NET472
    &x-client-ver=8.0.2.0
    &sessionDataKey=f1ef66ce-68bb-482e-b018-2e9901eefa8f
    &relyingParty=mf_o9iTAyKemNLQTa6Sp6HYonCIa
    &type=oidc
    &sp=Solar.web+-+Portals
    &isSaaSApp=false
    &authenticators=SAMLSSOAuthenticator%3AFronius+Login%3BFroniusBasicAuthenticator%3ALOCAL
    Alles anzeigen

    Viele Grüße
    Sven

  • Datumsformat

    • SOLVE-SMART
    • 2. September 2025 um 20:17

    Gerne 🤝 .

    Viele Grüße
    Sven

  • Datumsformat

    • SOLVE-SMART
    • 2. September 2025 um 08:46

    Falls du Jensen.. wirklich vom 12 Std. Eingangsformat "HH:MM am|pm" (08:30 pm) zum 24 Stunden Format "HH:MM" (20:30) wechseln willst und nur die PM/AM Angabe hast, dann hilft dir die folgende Funktion:

    AutoIt
    Func _Time12hTo24h($sTime)
        Local Const $iLeadingTrailingFlag = 1 + 2
    
        $sTime = StringStripWS($sTime, $iLeadingTrailingFlag)
        $sTime = StringLower($sTime)
    
        Local Const $bIsPM = (StringInStr($sTime, 'pm') > 0)
        Local Const $bIsAM = (StringInStr($sTime, 'am') > 0)
    
        Local Const $sValidCharsPattern = '^[0-9]{1,2}:[0-9]{1,2}(?:\s?(?:am|pm))?$'
    
        If Not StringRegExp($sTime, $sValidCharsPattern) Then
            Return SetError(1, 0, -1)
        EndIf
    
        $sTime = StringRegExpReplace($sTime, '[^0-9:]', '')
    
        Local $aTime   = StringSplit($sTime, ':')
        Local $iHour   = Number($aTime[1])
        Local $iMinute = Number($aTime[2])
        Local $iSec    = 0
    
        If $aTime[0] >= 3 Then
            $iSec = Number($aTime[3])
        EndIf
    
        Local $bIsValid = True
        Select
            Case $iHour < 0 Or $iHour > 12
                $bIsValid = False
            Case $iMinute < 0 Or $iMinute > 59
                $bIsValid = False
            Case $iSec < 0 Or $iSec > 59
                $bIsValid = False
        EndSelect
    
        If Not $bIsValid Then
            Return SetError(1, 0, -2)
        EndIf
    
        If $bIsPM And $iHour < 12 Then
            $iHour += 12
        EndIf
    
        If $bIsAM And $iHour = 12 Then
            $iHour = 0
        EndIf
    
        Local $sHour   = StringRight('0' & $iHour, 2)
        Local $sMinute = StringRight('0' & $iMinute, 2)
    
        Return $sHour & ':' & $sMinute
    EndFunc
    Alles anzeigen

    Okay:

    AutoIt
    ConsoleWrite(_Time12hTo24h('1:20 AM') & @CRLF)  ; 01:20
    ConsoleWrite(_Time12hTo24h('1:20 PM') & @CRLF)  ; 13:20
    ConsoleWrite(_Time12hTo24h('08:30 PM') & @CRLF) ; 20:30
    ConsoleWrite(_Time12hTo24h('12:00 AM') & @CRLF) ; 00:00
    ConsoleWrite(_Time12hTo24h('12:01 AM') & @CRLF) ; 00:01
    ConsoleWrite(_Time12hTo24h('12:00 PM') & @CRLF) ; 12:00
    ConsoleWrite(_Time12hTo24h('12:01 PM') & @CRLF) ; 12:01
    ConsoleWrite(_Time12hTo24h('7:5 pm') & @CRLF)   ; 19:05
    ConsoleWrite(_Time12hTo24h('7:5pm') & @CRLF)    ; 19:05
    ConsoleWrite(_Time12hTo24h('7:5 am') & @CRLF)   ; 07:05
    ConsoleWrite(_Time12hTo24h('7:5') & @CRLF)      ; 07:05
    ConsoleWrite(_Time12hTo24h('08:30') & @CRLF)    ; 08:30
    Alles anzeigen

    Fehlerbehandlung:

    AutoIt
    ConsoleWrite(_Time12hTo24h('25:30') & @CRLF)      ; -2
    ConsoleWrite(_Time12hTo24h('14:61') & @CRLF)      ; -2
    ConsoleWrite(_Time12hTo24h('0830') & @CRLF)       ; -1
    ConsoleWrite(_Time12hTo24h('08 : 30') & @CRLF)    ; -1
    ConsoleWrite(_Time12hTo24h('08: 30') & @CRLF)     ; -1
    ConsoleWrite(_Time12hTo24h('8: 30') & @CRLF)      ; -1
    ConsoleWrite(_Time12hTo24h('-1:-1') & @CRLF)      ; -1
    ConsoleWrite(_Time12hTo24h('*12:*05') & @CRLF)    ; -1
    ConsoleWrite(_Time12hTo24h('*12:*05 pm') & @CRLF) ; -1

    Viele Grüße
    Sven

  • Datumsformat

    • SOLVE-SMART
    • 1. September 2025 um 22:23

    Hi Jensen.. ,

    schau' dir mal die Hilfe zu _DateTimeFormat an. Dein $sZeit Format ist falsch.

    Input date in the format "YYYY/MM/DD[ HH:MM:SS]"

    Korrigierter Code:

    AutoIt
    #include <Date.au3>
    
    Local $sZeit = "2025/09/01[ 20:30:00]"
    ; In 24h-Format umwandeln
    Local $sNeuZeit = _DateTimeFormat($sZeit, 4)
    
    MsgBox(0, "Ergebnis", $sNeuZeit) ;Ausgabe soll sein: 20:30

    Viele Grüße
    Sven

  • Windows Graphics Capture API (WinRT) Fullscreen Capturing Test

    • SOLVE-SMART
    • 27. August 2025 um 15:05

    Capture_3440x1440.webp, 6.946 KB

    Code
    Target fps: 30
    Recording time: 20 seconds
    Recording screen dim: 3440 x 1440
    
    Starting fullscreen capturing in 3 seconds...
    kmin: 24
    kmax: 38
    ellapsed: 20.18961020000279 seconds
    frames captured: 142        7.033320534340003 fps
    frame index: 142            7.033320534340003 fps
    delta : 0                   0 %
    total frames: 600           target fps 30 delta: 0.2366666666666667 %
    File size: 7112614 bytes
    
    Done
    Alles anzeigen

    Läuft mit Win10, jedoch ein wenig ruckelig bei mir.

    Mal schauen ob dir das hilft UEZ 🤞 .

    Viele Grüße
    Sven

  • Email versenden

    • SOLVE-SMART
    • 15. August 2025 um 10:54

    Meiner Ansicht nach liegt das (wahrscheinlich konfigurative) Problem bei dir lokal golum .
    Die Anforderungen an SMTP seitens GMX sind zum einem nicht unüblich und zum anderen auch nicht besonders strikt oder so.

    • Mit dem Powershell-Skript konnte ich erfolgreich von GMX zu WEB oder von GMX zu GMAIL Emails versenden.
    • Das AutoIt-Skript von gmmg funktioniert bei mir ebenfalls.
    • Beides habe ich unter Win10 und Win11 ohne "Spezialeinstellungen" erfolgreich laufen lassen können.

    Daher bin ich auch der Meinung das dein System entsprechend angepasst werden muss, da SMTP seit Jahrzehnten recht unverändert ist und "nur" TLS, SSL und wie sie alle heißen als Hürden (oder als zusätzlicher Anspruch an die Sicherheit) dazugekommen ist.

    Ich verfolge den Thread auf jeden Fall mit Spannung 😀 - mal schauen was es am Ende bei dir gewesen sein wird.

    Viele Grüße
    Sven

  • Email versenden

    • SOLVE-SMART
    • 14. August 2025 um 16:21

    Oha, die 2'er Version!? Ohne zu recherchieren oder ein LLM zu befragen weiß ich nicht, wie das Cmdlet damals war/was es braucht. Meine erste Empfehlung ist auf mind. Win10 umsteigen 😅 , und zweitens zumindest auf Powershell 5.1 (auch unter Windows 7 möglich) zu upgraden.

    Viele Grüße
    Sven

  • Email versenden

    • SOLVE-SMART
    • 14. August 2025 um 16:08

    Dann ersetze mal die Zeile 18 (aus meinem Beispiel), mit     -SmtpPort $smtpPort `.
    Du scheinst eine ziemlich alte Powershell Version zu benutzen (Vermutung).

    Bin gespannt ob es dann klappt, vermute ja.

    Viele Grüße
    Sven

  • Email versenden

    • SOLVE-SMART
    • 14. August 2025 um 15:43

    Funktionierendes Beispiel mit Powershell golum :

    PowerShell
    $from    = "nameA@gmx.de"
    $to      = "nameB@web.de"
    $subject = "Klappt das so?"
    $body    = "Ja es klappt!"
    
    $smtpServer = "mail.gmx.net"
    $smtpPort   = 587
    
    $securePassword = Read-Host "GMX Passwort eingeben" -AsSecureString
    $credential = New-Object System.Management.Automation.PSCredential ($from, $securePassword)
    
    Send-MailMessage `
        -From $from `
        -To $to `
        -Subject $subject `
        -Body $body `
        -SmtpServer $smtpServer `
        -Port $smtpPort `
        -UseSsl `
        -Credential $credential
    Alles anzeigen

    Passe $from und $to an, öffne powershell_ise.exe, alles markieren und mit F8 abschicken.
    "Works on my machine" 😅 .

    Viele Grüße
    Sven

    Nachtrag: Natürlich musst du dein GMX Passwort nach Aufforderung eingeben.

  • Email versenden

    • SOLVE-SMART
    • 12. August 2025 um 14:54

    Um was genau geht es dir golum ? Einfach nur eine Email von und nach GMX (einen GMX-Server) senden?

    • Muss es AutoIt sein oder wäre Powershell auch eine Alternative für dich?
    • Warum nimmst du keinen anderen Client wie Outlook oder gmx online?

    Emails versenden wurde hier, aber auch im englischen Forum schon N-Mal behandelt und "gelöst", sodass ich glaube das du eine Variante finden wirst, die für dich funktioniert. Falls du aber verzweifelst, frage gern erneut nach oder mache dir Gedanken darüber ob du wirklich AutoIt dazu brauchst 🤔 bzw. nehmen willst/musst?

    Viele Grüße
    Sven

  • Parameterübergabe an ext. Programm (ExifTool)

    • SOLVE-SMART
    • 12. August 2025 um 09:40

    Hi entsel 👋 ,

    dies ist eine Variante wie es funktionieren sollte (erfolgreich lokal getestet bei mir).

    AutoIt
    #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w 7
    #AutoIt3Wrapper_AU3Check_Stop_OnWarning=y
    
    _Main()
    
    Func _Main()
        Local Const $sExiftool    = 'c:\Program Files\ExifTools\exiftool.exe'
        Local Const $sTargetImage = 'e:\aaa\123 a.jpg'
        Local Const $sParam       = '-gpsposition'
        Local Const $sCoords      = '50.12345, 10.98765'
    
        Run( _
            StringFormat('"%s" %s="%s" "%s"', _
                $sExiftool, _
                $sParam, _
                $sCoords, _
                $sTargetImage _
            ) _
        )
    
        ;~ Or as one-liner:
        ;~ Run(StringFormat('"%s" %s="%s" "%s"', $sExiftool, $sParam, $sCoords, $sTargetImage))
    EndFunc
    
    ;~ Result
    ;~ ------
    ;~ Added/changed properties in target image:
    ;~ GPS Latitude : 50 deg 7' 24.42" N
    ;~ GPS Longitude: 10 deg 59' 15.54" E
    ;~ GPS Position : 50 deg 7' 24.42" N, 10 deg 59' 15.54" E
    Alles anzeigen

    Ich hoffe das hilft dir 🤝 . (Kommentare beachten)

    Viele Grüße
    Sven

  • Json Datei prüfen und Werte anpassen

    • SOLVE-SMART
    • 6. Juli 2025 um 20:38

    Hi schlawiner 👋 ,

    das Beispiel von AspirinJunkie wird sicher wunderbar funktionieren, doch da du nicht konkret gesagt hast, dass du AutoIt nutzen musst/willst, hier mal ein Beispiel mit jq welches du per cmd.exe oder bash oder zsh etc. aufrufen kannst.

    Aufruf über cmd.exe:

    Batch
    jq.exe ".\"net server config\"[0].\"game port\", .\"game server config\"[0].\"default event\"[0].rules[0].\"max number of participants\"" C:\examples\demo-config.json

    Aufruf über bash:

    Bash
    jq '."net server config"[0]."game port", ."game server config"[0]."default event"[0].rules[0]."max number of participants"' C:/examples/demo-config.json

    Voraussetzungen:

    • du musst als jq.exe haben oder herunterladen
    • du musst meinen Beispielpfad anpassen (für deine config.json oder wie sie auch immer heißen mag)

    Hinweise:

    • Es gibt auch eine AutoIt UDF (library) im engl. Forum, für jq. Ich selbst finde AspirinJunkies json.au3 super, doch ich verwende AutoIt nicht mehr viel, daher die allgemeine Library Empfehlung.
    • Deine JSON entspricht nicht gerade einem empfohlenen JSON Stil. Also Leerzeichen in den JSON nodes (keys) sind super unüblich und machen verlangen daher Anführungszeichen, die du vermeiden könntest.
      • JSON üblich ist entweder kebab-case oder camelCase
    • die letzten beiden Zeichen, Zeile 47 + 48 sind ungültig, wie oben bereits erwähnt

    Viele Grüße
    Sven

  • AzureAD ObjectID to SID Converter

    • SOLVE-SMART
    • 18. Juni 2025 um 16:02

    Ja das passt bei mir ✅ . Gleiches Ergebnis.

    Viele Grüße
    Sven

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™