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

Beiträge von gmmg

  • LimeSurvey Remote API json

    • gmmg
    • 1. August 2022 um 09:44

    Ich schließe das Thema, da für mich alle wichtigen punkte aktuell funktionieren.

    Gruß gmmg

  • LimeSurvey Remote API json

    • gmmg
    • 25. Juli 2022 um 15:06

    Habe das Script "Attachment" in Post 1 entsprechend angepasst:

    - SurveyID's + Surveynamen aus ini File

    - Survey Import/Export Pfade aus ini File

    - das RegEx von BananaJoe in der Funktion "get_session_key ergänzt

    Gruß gmmg

  • LimeSurvey Remote API json

    • gmmg
    • 25. Juli 2022 um 08:23

    Hallo BananaJoe, Kanashius

    Danke für die jeweiligen Infos und Beispiele.

    Ich werde mir das entsprechend ansehen und ggf. im Skript noch umsetzen.

    Aktuell läuft das Skript schon im Livebetrieb und verrichtet seinen Dienst ohne Probleme.

    Gruß gmmg :)

  • LimeSurvey Remote API json

    • gmmg
    • 22. Juli 2022 um 12:42

    Um eine Fehlerabfrage einzubauen benötige ich etwas Hilfe beim Splitten/ bereinigen der folgenden Return Strings.

    ;{"id":1,"result":"ulKeUwSWS5V5zKcyohTHtB8XfIo~91OJ","error":null}

    ;{"id":1,"result":{"status":"Invalid user name or password"},"error":null}

    ;{"id":1,"result":{"status":"Sie haben die maximale Anzahl an Anmeldeversuchen erreicht. Bitte warten Sie 10 Minuten, bevor Sie es erneut versuchen."},"error":null}

    nach dem Splitten soll das Ergebis so sein:

    "ulKeUwSWS5V5zKcyohTHtB8XfIo~91OJ"

    "Invalid user name or password"

    "Sie haben die maximale Anzahl an Anmeldeversuchen erreicht. Bitte warten Sie 10 Minuten, bevor Sie es erneut versuchen."

    Kann man da mit Regex was machen oder muss ich das mit StringReplace umsetzen?

    Habe es jetzt so lösen können:

    $oReceived = StringReplace($oReceived, '{"id":1,"result":', "")

    $oReceived = StringReplace($oReceived, ',"error":null}', "")

    $oReceived = StringReplace($oReceived, '{"status":', "")

    $oReceived = StringReplace($oReceived, '}', "")



    Gruß gmmg

  • LimeSurvey Remote API json

    • gmmg
    • 22. Juli 2022 um 08:03

    BugFix Habe den Export als CSV + das Zusammenfügen der 2 Exportdateien zu einer CSV Datei wie folgt gelöst.

    AutoIt
     ;-- While Wend ---codeschnipsel-----------------------       
            Case $btn_export_responses  ; GUI Button export responses
    
                For $sid = 0 To 3    ; $Survey_idArray - oben definiert
    
                    $SurveyID_Splitt = StringSplit($Survey_idArray[$sid],"|")
                    MsgBox(0,"",$SurveyID_Splitt[1] & @crlf & $SurveyID_Splitt[2])
    
                    ;----------------------------------------------------------
                    _export_responses($SurveyID_Splitt[2],0) ;ohne Zusatz attribute
                    $exp_response_0 = BinaryToString($Decoded,4)
                    _csv_file_create($SurveyID_Splitt[1],0)
                    ;----------------------------------------------------------
                    _export_responses($SurveyID_Splitt[2],1) ;mit Zusatz attributen
                    $exp_response_1= BinaryToString($Decoded,4)
                    _csv_file_create($SurveyID_Splitt[1],1)
                    ;----------------------------------------------------------
    
                    _csv_files_merge($SurveyID_Splitt[1])  ; merge csv files
    
                    ;MsgBox(0,"",$csv_array_merge)
    
                Next
    
    ;-------------------------------------------------------------------------------------
    
    Func _csv_file_create($SurveyID, $zF) ; csv_files_create + base64 decode
    
        ;results-bigxtra
        $exportFile_xx = $Folderpath & "\results-"& $SurveyID & "_" & $zF & ".csv"
    
        If FileExists($exportFile_xx) Then FileDelete($exportFile_xx)
        If Not FileExists($exportFile_xx) Then _FileCreate($exportFile_xx)
    
        FileWrite($exportFile_xx, BinaryToString($Decoded,4)); & @CRLF)
    
    EndFunc
    
    Func _csv_files_merge($Survey_Name) ; csv_files_create to array and merge 2 files in one csv
    
        $csv_array_merge = ""
    
        ;----------------------------------------------------------------------
        $exportFile_merge = $Folderpath & "\results-" & $Survey_Name & ".csv"
    
        If FileExists($exportFile_merge) Then FileDelete($exportFile_merge)
        If Not FileExists($exportFile_merge) Then _FileCreate($exportFile_merge)
        ;----------------------------------------------------------------------
    
        $exportFile_0 = $Folderpath & "\results-" & $Survey_Name & "_0.csv"
        $exportFile_1 = $Folderpath & "\results-" & $Survey_Name & "_1.csv"
    
        _FileReadToArray($exportFile_0, $csv_array_0)  ; ohne Zusatzfelder
        ;_ArrayDisplay($csv_array_0)
    
        _FileReadToArray($exportFile_1, $csv_array_1)  ; mit Zusatzfeldern
        ;_ArrayDisplay($csv_array_1)
    
        For $a = 1 to UBound($csv_array_1) -2
    
            $csv_array_1_splitt = StringSplit($csv_array_1[$a],";")
    
            $sRange = "0-12"
            _ArrayDelete($csv_array_1_splitt, $sRange)
    
            $csv_array_merge &= $csv_array_0[$a] &";"& $csv_array_1_splitt[0] &";"&  $csv_array_1_splitt[1] &";"&  $csv_array_1_splitt[2] &";"&  $csv_array_1_splitt[3] &";"& $csv_array_1_splitt[4] & @CR
    
        Next
    
        FileWrite($exportFile_merge, $csv_array_merge)
    
        FileDelete($exportFile_0)
        FileDelete($exportFile_1)
    
    EndFunc
    Alles anzeigen

    Scriptdatei siehe Post 1

    Gruß gmmg :)

  • LimeSurvey Remote API json

    • gmmg
    • 21. Juli 2022 um 11:54

    ok, ich versuche mal mein Glück :)

    Bin erstmal dabei den Rückgabewert, welcher als Base64 codiert ausgegeben wird umzuwandeln.

    Das mache ich mit der base64 Funktion (https://www.autoitscript.com/forum/topic/19…ode-extra-fast/)

    $Decoded = base64($export_Received[6], False)

    Die Variable $decoded würde ich jetzt in die jeweilige CSV Datei mit Filewrite speichern, um die dann wieder in ein Array einzulesen.

    Gruß gmmg

  • LimeSurvey Remote API json

    • gmmg
    • 21. Juli 2022 um 11:32

    BugFix

    Danke für deine Antwort.

    Genau, die sind identisch, nur das die Felder der Antworten des Survey fehlt, deshalb gehe ich auch davon aus, dass dies ein Fehler der Remote API schnittstelle ist.

    So richtig weiß ich noch nicht, wie ich das angehen soll, Ich habe ja im Endeffekt 2 CSV Dateien bzw. diese Datensätze in 2 Variablen.

    Gruß gmmg

  • LimeSurvey Remote API json

    • gmmg
    • 21. Juli 2022 um 08:18

    Wenn ich die Funktion "mail_registered_participants" nutze, kann es vorkommen, dass bereits alle Email Empfänger über LimeSurvey angeschrieben wurden.

    Hier kommt dann folgender Rückgabestring: {"id":1,"result":{"status":"Error: No candidate tokens"},"error":null}

    Ich hätte für die Logdatei, Auswertung usw. nun folgenden Teilstring. Wie kann ich das am Besten umsetzen ? Mit Stringsplitt geht das ja, aber das geht sicher noch eleganter.

    "Error: No candidate tokens"

    Des weiteren gibt es wohl ein Problem mit der Funktion Export_Responses über die Remote API.

    Hier bekomme ich, wenn ich die Zusatzfelder mit exportieren möchte kein Ergbnis der Umfrage mehr angezeigt. Ohne die Zusatzfelder kommen diese Ergebnisse.

    Hier ein Beipiel:

    Export ohne Zusatzfelder, die Ergebnisse sind gefüllt (gelb markiert)

    ----------------------------------------------------------------------------------------------------------------------------------

    "id";"submitdate";"lastpage";"startlanguage";"seed";"token";"startdate";"datestamp";"refurl";"G01Q01";"G01Q02";"G01Q03"

    "9";"2022-06-23 16:18:07";"1";"de";"1139653681";"XiL38ODU1PR1gGa";"2022-06-23 16:17:50";"2022-06-23 16:18:07";"";"5";"5";"5"

    "10";"2022-06-23 18:37:29";"1";"de";"163171948";"2vLLAR9HAHYgOCm";"2022-06-23 18:37:01";"2022-06-23 18:37:29";"";"5";"5";"5"

    Export mit Zusatzfeldern ("firstname";"lastname";"email";"attribute_1";"attribute_2"), die Ergebnisse sind leer (gelb markiert)

    ----------------------------------------------------------------------------------------------------------------------------------

    "id";"submitdate";"lastpage";"startlanguage";"seed";"token";"startdate";"datestamp";"refurl";"G01Q01";"G01Q02";"G01Q03";"firstname";"lastname";"email";"attribute_1";"attribute_2"

    "9";"2022-06-23 16:18:07";"1";"de";"1139653681";"XiL38ODU1PR1gGa";"2022-06-23 16:17:50";"2022-06-23 16:18:07";"";"";"";"";"Herbert";"Behr";"herbert.behr@xyz.de";"2540";"Herr"

    "10";"2022-06-23 18:37:29";"1";"de";"163171948";"2vLLAR9HAHYgOCm";"2022-06-23 18:37:01";"2022-06-23 18:37:29";"";"";"";"";"Heidi";"Schmauch";"schmauch.heidi@xyz.de";"2529";"Frau"

    Das Problem liegt mit Sicherheit an LimeSurvey, da der Export über die Weboberfläche ja klappt.

    Jetzt ist meine Idee, bis es da mal eine Lösung gibt, beide CSV zusammenzufügen.

    Das heißt ich Exportiere beide Dateien (einmal mit, einmal ohne Zusatzfelder) und hole mir entwerder aus der Datei ohne Zusatzfelder die 3 Ergbebnisse zu jeweiliger Zeile oder versuche die irgendwie anders zusammenzufügen.

    Als Ergebnis soll die CSV (Export mit Zusatzfeldern) die Werte von "G01Q01";"G01Q02";"G01Q03" enthalten.

    Hat da jemand eine Idee, wie ich das am Besten angehe?

    Danke

    Gruß gmmg

  • LimeSurvey Remote API json

    • gmmg
    • 20. Juli 2022 um 13:38

    Hallo Zusammen,

    ich versuche mich gerade an der Automatisierung von LimeSurvey (Umfragetool).

    Folgendes funktioniert bereits, ist aber noch nicht 100% frei von eventuellen fehlern. Habe zum testen erstmal eine einfache GUI erstellt, um die Befehle einzeln ansetzen zu können.

    get_session_key

    add_participants

    list_participants

    mail_registered_participants

    Hier das Script dazu

    Spoiler anzeigen
    AutoIt
    #include <Array.au3>
    #include <File.au3>
    #include <GUIConstantsEx.au3>
    
    local $oReceived, $SessionKey, $SurveyID
    global $csvFileList
    
    $Folderpath = "path to csv"
    
    $URL = "https://limeserveyhost/index.php/admin/remotecontrol"
    
    $user = "user"
    $pwd = "pass"
    
    ;---- Survey ID's array --------------------------
    local $Survey_idArray[4]
    
    $Survey_idArray[0] = "umfrage1|997463"    ;"umfrage"
    $Survey_idArray[1] = "umfrage2|478789"    ;"umfrage"
    $Survey_idArray[2] = "umfrage3|469244"    ;"umfrage"
    $Survey_idArray[3] = "umfrage4|762911"    ;"umfrage"
    $Survey_idArray[3] = "API|795263"    ;"Test API"
    ; ------------------------------------------------
    
    $hGUI = GUICreate("LimeSurvey Remote",380, 80)
    
    $btn_get_session_key = GUICtrlCreateButton("get_session_key", 30, 25, 100, 25)
    
    $btn_add_participants = GUICtrlCreateButton("add_participants", 140, 25, 100, 25)
    
    $btn_mail_participants = GUICtrlCreateButton("mail_participants", 250, 25, 100, 25)
    
    ; Display the GUI.
    GUISetState(@SW_SHOW, $hGUI)
    
    ; Loop until the user exits.
    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                  ExitLoop
    
            Case $btn_get_session_key
    
                _get_session_key()
                MsgBox(0,"Session Key",$SessionKey)
    
            Case $btn_add_participants
                _list_csv_files()
                ;_ArrayDisplay($csvFileList)
                _add_participants()
    
            Case $btn_mail_participants
                ;mail_participants()
    
        EndSwitch
    WEnd
    
    ; Delete the previous GUI and all controls.
    GUIDelete($hGUI)
    Exit
    
    
    Func _add_participants() ; add participants to lime survey ID
    
        For $f = 1 to UBound($csvFileList) -1
    
            $portal = StringSplit($csvFileList[$f],"_")
            ;_ArrayDisplay($portal)
            ;MsgBox(0,"",$portal[2]); Portal
    
            For $s_id = 0 To 3    ; $Survey_idArray - oben definiert
                ;MsgBox(0,"",$SurveyID[$sid])
                $SurveyID_Splitt = StringSplit($Survey_idArray[$s_id],"|")
                ;MsgBox(0,"",$SurveyID_Splitt[1])
                IF $portal[2] = $SurveyID_Splitt[1] Then $SurveyID = $SurveyID_Splitt[2]
    
            Next
    
            ;----csv read to array---
            Local $CSVArray
            _FileReadToArray($Folderpath & "\" & $csvFileList[$f], $CSVArray)
            ;_ArrayDisplay($CSVArray)
    
            For $i = 2 to UBound($CSVArray) -1
    
                $csv_splitt = StringSplit($CSVArray[$i],";")
                ;_ArrayDisplay($csv_splitt)
    
                _list_participants($csv_splitt[1])
                ;ConsoleWrite($oReceived)  ;Rückgabewert
    
                $participants_Return = StringSplit($oReceived,",")
                $participants_Return = StringSplit($participants_Return[2],",:")
                ;_ArrayDisplay($participants_Return)
    
                $search_survey_participants = _ArraySearch($participants_Return, "No survey participants found.",0,0,0,1)
    
                If $search_survey_participants = -1 Then
                    ;MsgBox(0, $search_survey_participants, "bereits enthalten")
                Else
    
                    $json_add_participants = ""
    
                    $json_add_participants = '{"method": "add_participants",' & _
                                '"params": {"sSessionKey": ' & $SessionKey & ',' & _
                                '"iSurveyID": ' & $SurveyID & ' ,' & _
                                '"aParticipantData": [{"attribute_1": "' & $csv_splitt[1] & '" ,' & _
                                                    '"attribute_2": "' & $csv_splitt[2] & '" ,' & _
                                                    '"firstname": "' & $csv_splitt[3] & '" ,' & _
                                                    '"lastname": "' & $csv_splitt[4] & '" ,' & _
                                                    '"email": "' & $csv_splitt[5] & '" ,' & _
                                                    '"token": "customToken"}],"bCreateToken": "false"},"id": 1}'
    
                    ConsoleWrite ($json_add_participants & @CRLF)
                    _POST_DATA($URL, $json_add_participants)
    
                EndIf
    
            Next
    
            ;MsgBox(0,"",$SurveyID)
            _mail_participants($SurveyID)
    
        Next
    
    EndFunc
    
    Func _mail_participants($SurveyID)  ; send mail to participants
    
        IF $SessionKey = "" Then
            MsgBox(0,"",'please use "get session key" button')
        Else
    
            MsgBox(0,"","send mail to participants",1)
            ;Send Mail to Umfrageteilnehmer
            $json_mail_participants = '{ "method": "mail_registered_participants", "params": [ ' & $SessionKey & ', "' & $SurveyID  & '" ], "id": 1 }'
    
            _POST_DATA($URL, $json_mail_participants)
            ConsoleWrite ($json_mail_participants & @CRLF)
    
        EndIf
    
    EndFunc
    
    
    Func _list_participants($attrib_1) ;lese Participants aus LimeSurvey mit Filter
    
        IF $SessionKey = "" Then
            MsgBox(0,"",'please use "get session key" button')
        Else
    
            $json_list_participants = '{"method": "list_participants",' & _
                        '"params": {"sSessionKey": ' & $SessionKey & ',' & _
                        '"iSurveyID": ' & $SurveyID & ' ,' & _
                        '"aAttributes": ["attribute_1"],' & _
                        '"aConditions": {"attribute_1" : "'&$attrib_1&'"}},' & _  ;Filter auf Attribute_1
                        '"id": 1 }'
    
            ;ConsoleWrite ($json_list_participants & @CRLF)
            _POST_DATA($URL, $json_list_participants )
            ;ConsoleWrite($oReceived)
        EndIf
    
    EndFunc
    
    
    Func _list_csv_files()  ;list csv files to array
    
        $csvFileList = _FileListToArray($Folderpath ,"*.csv",1)
        If @error = 1 Then
                MsgBox(0, "", "Path was invalid.")
                Exit
        EndIf
        If @error = 4 Then
                MsgBox(0, "", "No file(s) were found. Close Program")
                Exit
        EndIf
    
        ;_ArrayDisplay($csvFileList)
    
    EndFunc
    
    
    FUNC _get_session_key() ; get Lime Survey session key
    
        $json_get_session_key = '{ "method": "get_session_key", "params": [ "' & $user & '", "' & $pwd & '" ], "id": 1 }'
    
        _POST_DATA($URL, $json_get_session_key)
    
        $session_key = StringSplit($oReceived,",")
        ;_ArrayDisplay($json_answer)
    
        $session_key = StringSplit($session_key[2],",:")
        ;_ArrayDisplay($session_key)
    
        $Search = _ArraySearch($session_key, "Invalid user name or password",0,0,0,1)
    
        If @error = 6 Then
            ;MsgBox(0,"SessionKey",$json_session_key[2])
            $SessionKey = $session_key[2]
    
        Else
            MsgBox(0, "", $session_key[$Search] & 'found in row: ' & $Search)
        EndIf
    
    EndFunc
    
    
    FUNC _POST_DATA($URL, $JSON)  ; Post with URL & JSON DATA
    
        $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
        $oHTTP.Open("POST", $URL, False)
        $oHTTP.SetRequestHeader("Content-Type", "application/json")
        $oHTTP.SetRequestHeader("Cache-Control", "no-cache")
        $oHTTP.Send($JSON)
    
        $oReceived = $oHTTP.ResponseText
        $oStatusCode = $oHTTP.Status
    
        If $oStatusCode <> 200 Then
            MsgBox(4096, "Error", $oStatusCode,2)
        EndIf
        ;ConsoleWrite($oReceived)
    
    EndFunc
    Alles anzeigen

    Falls jemand noch ideen hat das zu optimieren, gerne dazu etwas schreiben.

    Gruß gmmg :)

    Dateien

    LimeSurvey-Remote-API-JSON_V1.au3 14,29 kB – 294 Downloads limesurvey.ini.txt 126 Byte – 283 Downloads
  • Email empfang

    • gmmg
    • 7. Juli 2022 um 09:32

    Hallo MojoeB, wenn ihr Exchange einsetzt, müssen natürlich noch für das entsprechende Postfach Imap oder Pop3 freigeschalten werden.

    Wir haben bei uns früher mal das Tool "getmail.exe" per CMD genutzt, um Emails von POP3 Konten anzuholen und das Attachment zu extrahieren.

    Habe die exe mal gepackt und angehangen. Download auch über http://www.interlog.com/~tcharron/getmail.html

    Ob hier allerdings ssl verschlüsselt abgeholt werden kann, habe ich nicht geprüft. Intern sollte das kein Problem sein.

    pasted-from-clipboard.png

    Gruß gmmg

    Dateien

    getmail.7z 39,09 kB – 288 Downloads
  • An und Verkauf Programm

    • gmmg
    • 23. Juni 2022 um 14:21

    Hallo Roberto,

    wie BugFix schon schrieb ist das alles viel Arbeit, aber machbar.

    Was du brauchst ist eine Datenbank, die Installiert und mit den Daten befüllt werden muss.

    Dies könnte eine SQL Lite, MySQL/ MariaDB, Microsoft SQL oder Microsoft Access sein. Dafür gibt es zumindest bei AutoIT einige Beispiele.

    Ich selbst habe im Unternehmen Access und MySQL in verschiedenen Projekten im Einsatz.

    Gruß gmmg

  • Outlook Mail mit eingebetteten Bildern im Body Text als versteckte Anhänge

    • gmmg
    • 17. Juni 2022 um 10:24

    Hallo Concara,

    ich habe jetzt nur das Thema überflogen.

    Wurde denn schon mal der Email Header (heißt im Outlook "Internetkopfzeilen") von den beiden Emails auf unterschiede geprüft?

    Gruß gmmg

  • Guis Buggen in einander

    • gmmg
    • 20. Mai 2022 um 10:02

    Hallo Floooooo24,

    hast du mal versucht die $ParentGUI anzugeben?

    _Metro_CreateGUI($Title, $Width, $Height[, $Left = -1[, $Top = -1[, $AllowResize = False[, $ParentGUI = ""]]]])


    ; #FUNCTION# ====================================================================================================================

    ; Name ..........: _Metro_CreateGUI

    ; Description ...: Creates a modern borderless GUI with the colors of the selected theme.

    ; Syntax ........: _Metro_CreateGUI($Title, $Width, $Height[, $Left = -1[, $Top = -1[, $AllowResize = False[, $ParentGUI = ""]]]])

    ; Parameters ....: $Title - Title of the window

    ; $Width - Width

    ; $Height - Height

    ; $Left - [optional] Window pos X. Default is -1.

    ; $Top - [optional] Window pos Y. Default is -1.

    ; $AllowResize - [optional] True/False. Default is False. ;Enables resizing + drag move for the gui.

    ; $ParentGUI - [optional] Handle to the parent gui. Default is "".

    ; Return values .: Handle to the created gui

    ; Example .......: _Metro_CreateGUI("Example", 500, 300, -1, -1, True)

    ; ===============================================================================================================================

    Benutze selbst immer mal die _Metro_CreateGUI, habe aber bisher keine 2 GUI's in einem Script benötigt.

    Gruß gmmg

  • Excel UDF

    • gmmg
    • 19. Mai 2022 um 09:54

    @tommii, wenn du Zugriff auf die Datenbank hast, könnte man ja auf diese zugreifen und die Daten darus direkt nutzen. Das macht das Excel Makro ja scheinbar auch :)

    Gruß gmmg

  • AutoIt 3.3.16.0 ist zur Welt gekommen ...

    • gmmg
    • 17. März 2022 um 08:47

    Mars

    Lambdax

    Danke für die Info. Aktuell läuft bei mir ja alles in der 3.3.14.5. Ich warte da vielleicht noch etwas.

    Gruß gmmg

  • AutoIt 3.3.16.0 ist zur Welt gekommen ...

    • gmmg
    • 15. März 2022 um 14:40

    Hallo Zusammen,

    kann man von der 3.3.14.5 Problemlos auf die neue Version wechseln oder sind größere Probleme bekannt?

    Gruß gmmg

  • In die Registry mit Regwrite schreiben liefert falsche Einträge

    • gmmg
    • 15. März 2022 um 10:58

    Mit der folgenden Anpassung des Scripts läuft der Import erstmal wie gewollt. Ich schließe das Thema.

    AutoIt
            If $dword[0] = 2 Then
               RegWrite(StringReplace($RegArray[$i],'"',''), StringReplace($RegArrayaSec[$a][0],'"',''), 'REG_DWORD', Dec(StringReplace(StringReplace($RegArrayaSec[$a][1],"dword:",""),'"',''),0))
            EndIf

    Gruß und Danke

    gmmg

  • In die Registry mit Regwrite schreiben liefert falsche Einträge

    • gmmg
    • 15. März 2022 um 10:29

    Velted, danke für deine Antwort. Für den einzelnen Wert ist das bereits geklärt. Das funktioniert ja auch mit der DEC Funktion.

    Code
    Dec(00000016,0))

    Ich möchte doch nun die ganzen Regdatei per Autoit wieder importieren bzw. schreiben und nicht nur den einzelnen Wert.

    Da müsste ich nun ja für alle Einträge entsprechende definitionen festlegen, dass will ich aber möglichst vermeiden :)

    Gruß gmmg

  • In die Registry mit Regwrite schreiben liefert falsche Einträge

    • gmmg
    • 15. März 2022 um 10:03

    Hallo Moombas,

    ja, das wäre eine Idee, aber hast du dir mal die angehängte Reg Datei angeschaut, da gibt es viele "Dword" Einträge, die müssen ja alle geschrieben werden. :)

    Bei dem Eintrag mit der PortNumber war mir der Fehler halt direkt aufgefallen, bei den anderen Einträgen, weiß ich das ja noch nicht.

    Mit der DEC Funktion schaut das im Vergleich beider Dateien (export aus der Registry) mit Notepad++ sehr gut aus.

    Einzig eine "REG_SZ" Zeile passt nicht mit dem Original überein, ist aber eventuell auch nicht relevant.

    Original

    per Autoit



    Gruß gmmg

  • In die Registry mit Regwrite schreiben liefert falsche Einträge

    • gmmg
    • 15. März 2022 um 09:40

    BananaJoe , das war mir auch schon aufgefallen, aber wie schreibe ich das denn im Script um?

    Es wird ja nur die exportierte Registry in ein Array gelesen und danach wieder zeilenweise geschrieben.

    Ich habe jetzt mal nur die PortNumber Zeile zum testen genommen. mit der Dec Funktion wird der Wert korrekt in die Registry geschrieben.

    Ob das jetzt für alle Werte so geändert werden muss ist mir noch nicht bekannt.

    AutoIt
    Funktioniert nicht
    ;RegWrite("HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\Blank", "PortNumber", "REG_DWORD", "00000016")
    ;RegWrite("HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\Blank", "PortNumber", "REG_DWORD", 00000016)
    
    Funktioniert
    RegWrite("HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\Blank", "PortNumber", "REG_DWORD", Dec("00000016",0))
    RegWrite("HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\Blank", "PortNumber", "REG_DWORD", Dec(00000016,0))

    Gruß gmmg

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™