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

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

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

    Hallo Zusammen,

    ich habe gerade das Problem, dass ich Silent etwas in die Registry für das Programm putty schreiben möchte.

    Bisher hatte ich das immer über den Importbefehl gemacht, hier kommt aber immer die Bestätigungsanfrage der Benutzerkontensteuerung.

    Der Import über die HKCUReg.au3 funktioniert leider nicht.

    AutoIt
    ---funktioniert nicht---
    
    #include <HKCUReg.au3>
    _HKCU_Import($file)
    AutoIt
    ---funktioniert , aber Benutzerkontensteuerung muss aktiv bestätigt werden --
    
    ;$sCommand01 = ('regedit.exe /s "' & @ScriptDir & '\bin\putty.reg"')
    ;_RunDOS($sCommand01)

    Mit dem Regwrite Befehl funktioniert das Grundsätzlich, aber die Werte stimmen nicht.

    Mit folgendem Code schreibe ich nun die Einträge in die Registry. Es wird die Reg Datei eingelesen und dann Zeilenweise eingespielt.

    AutoIt
    -- schreiben in die Registry funktioniert, aber die Werte sind nicht korrekt ---
    
    $putty_file = @ScriptDir & '\bin\putty.reg.txt'
    
    $RegArray = IniReadSectionNames($putty_file)
    ;_ArrayDisplay($RegArray)
    
    For $i = 1 To UBound($RegArray) -1
    
        $RegArrayaSec = IniReadSection($putty_file, $RegArray[$i])
        _ArrayDisplay($RegArrayaSec)
    
        For $a = 1 To UBound($RegArrayaSec) -1
    
            $dword = StringSplit($RegArrayaSec[$a][1],"dword:",1)
    
            If $dword[0] = 1 Then
                RegWrite(StringReplace($RegArray[$i],'"',''), StringReplace($RegArrayaSec[$a][0],'"',''), 'REG_SZ', StringReplace($RegArrayaSec[$a][1],'"',''))
            EndIf
            If $dword[0] = 2 Then
                RegWrite(StringReplace($RegArray[$i],'"',''), StringReplace($RegArrayaSec[$a][0],'"',''), 'REG_DWORD', StringReplace(StringReplace($RegArrayaSec[$a][1],"dword:",""),'"',''))
            EndIf
        Next
    
    Next
    Alles anzeigen

    Das Problem ist mir dann beim Öffnen von Putty aufgefallen. Hier hat der SSH Port nicht gestimmt.

    Korrekt wäre der Port 22, es kommt aber immer nur Port 16.

    Eintrag aus der exportierten Registry (wenn ich das wieder importiere funktioniert es)

    pasted-from-clipboard.png

    Eintrag in der Registry


    Wenn ich per Autoit Schreibe, kommt in der Registry folgendes an. Es wird ein aus Port 22 -> Port 16


    Könnte das Problem am Zeichensatz oder an der Formatierung liegen?

    Gibt es denn eine andere Möglichkeit den Import vorzunehmen?

    Danke

    Gruß gmmg

    Dateien

    putty.reg.txt 15,18 kB – 291 Downloads
  • MySQL/MariaDB

    • gmmg
    • 16. Februar 2022 um 12:59

    Hallo MojaeB,

    Bugfix hat das ja schon beantwortet :)

    Ich benutze aber immer den Aufruf _MYSQL_Real_Query. Hier ein kleines Beispiel.

    Code
    $s_Row_txt_1 = "1" 
    $s_Row_txt_2 = "testuser"
    $s_Row_txt_3 = "ok"
    
    
    Local $sQuery = "INSERT INTO tabelle (`nr`,`user`,`status`) " & _
                    "VALUES ('" & $s_Row_txt_1 & "',"& _
                    "'" & $s_Row_txt_2 & "',"& _
                    "'" & $s_Row_txt_3 & "')"& _
                    " ON DUPLICATE KEY UPDATE "& _
                    "`Insert_Error` = NOW()"
    
    ;_MySQL_Real_Query($MysqlConn, $sQuery)
    If _MySQL_Real_Query($MysqlConn, $sQuery) Then ; Fehler
        MsgBox(0,"","Fehlernummer: " & _MySQL_Errno($MySQLConn) & @CRLF & _MySQL_Error($MysqlConn))
    EndIf
    If @error <> 0 Then MsgBox(0,"",$x & " / " & $sQuery)
    Alles anzeigen

    Gruß gmmg

  • MySQL/MariaDB

    • gmmg
    • 15. Februar 2022 um 14:37

    Hallo MojoeB,

    es gibt verschiedene Zugriffsmöglichkeiten per Autoit auf MySQL.

    Die Unten stehende UDF nutzt die libmysql.dll, von daher benötigt man keine ODBC Treiber und deren Einrichtung.

    Den Download gibts bei Github "https://github.com/BugFix/AutoIt_MySQL".

    Direktdownload https://github.com/BugFix/AutoIt_…eads/master.zip

    Hier im Board: MySQL UDF - mit libmySQL.dll (kein ODBC)

    Gruß gmmg

  • MySQL/MariaDB

    • gmmg
    • 15. Februar 2022 um 11:34

    Hallo MojoeB,

    hier mal ein Beispiel zum Auslesen einer internen Mysql installation.

    Das sollte sich aber auch auf eine gehostete Instanz übertragen lassen.

    C
    #include <array.au3>
    #include <mysql.au3>
    
    ; db verbindungsvariablen
    $ipadd = "db_server"
    $sname = "db_user"
    $spasswort = "db_Kennwort"
    $db = "datenbank
    
    _MySQL_InitLibrary()
    If @error Then Exit MsgBox(0, "Fehler", "libmysql.dll nicht gefunden")
    
    $MysqlConn = _MySQL_Init()
    
    $connected = _MySQL_Real_Connect($MysqlConn,$ipadd,$sname,$spasswort,$db)
    
    If $connected = 0 Then
        $errno = _MySQL_errno($MysqlConn)
        MsgBox(0,"Fehler","Login Server ist nicht Erreichbar")
        Exit
    Endif
    
    Local $sQuery = "SELECT * FROM `DBTabelle`"
    ;MsgBox(0,"",$sQuery)
    
    _MySQL_Real_Query($MysqlConn, $sQuery)
    
    $res = _MySQL_Store_Result($MysqlConn)
    $array = _MySQL_Fetch_Result_StringArray($res)
    _MySQL_Free_Result($res)
    
    _ArrayDisplay($array)
    
    
    
    ;Test 2
    Local $sQuery1 = 'SELECT * FROM DBTabelle where User="' & @UserName & '"'
    
    _MySQL_Real_Query($MysqlConn, $sQuery1)
    
    $res1 = _MySQL_Store_Result($MysqlConn)
    $array1 = _MySQL_Fetch_Result_StringArray($res1)
    _MySQL_Free_Result($res1)
    
    _ArrayDisplay($array1)
    
    
    ; Verbindung beenden
    _MySQL_Close($MysqlConn)
    ; MYSQL beenden
    _MySQL_EndLibrary()
    Alles anzeigen

    Theoretisch kannst du ja zum Testen auch erstmal Tools wie Heidi SQL oder DBeaver nutzen.

    Ansonsten gibt es bestimmt noch Forumsmitgleider, die Online Webspace zum testen haben und dir entsprechend auch weiterhelfen können.

    Gruß gmmg

  • Windows 10 - muss man nicht verstehen

    • gmmg
    • 4. Februar 2022 um 11:27

    Hallo Bugfix,

    bei Windows 7 gab es doch BDE-Verwaltung in der Systemsteuerung. Hab leider aktuell keine Anwendung mehr die auf die Borland Engine zurückgfreift.

    Schreibt denn das Programm für die Borland DB irgendetwas in die Registry? Hier könnte es sein, dass der Eintrag fehlt.

    Vielleicht mal mit Kompatibilitätsmodus spielen.

    Gruß gmmg

  • Do Until - Systemzeit funktioniert nicht

    • gmmg
    • 30. September 2021 um 14:20

    @Moombas, das stimmt auch wieder

  • Do Until - Systemzeit funktioniert nicht

    • gmmg
    • 30. September 2021 um 12:21

    Hallo diebratwurst,

    versuche es doch mal so. Zeiten sind zum testen geändert.

    Das $Hour +=1 hat am Anfang immer die Zeit Automatisch hochgezählt, ehe es in die Batch Schleife gesprungen ist.

    AutoIt
    #Include <Date.au3>
    Global $Hour = StringSplit(_NowTime(4), ':')[1]
    
    ;MsgBox(0,"",$Hour)
    ;$Hour += 1
    
    While 1
        If $Hour = 24 Then $Hour = 0
        If BatchRun($Hour) Then $Hour += 1
        sleep(100)
    WEnd
    
    Func BatchRun($Time)
        ;MsgBox(0,"",$Time)
        If StringLen($Time) = 1 then $Time = '0' & $Time
        $Time = $Time & ':19'
        ConsoleWrite($Time)
    
        If _NowTime(4) = $Time Then
            MsgBox(0,"","test",1)
            ;ShellExecute("D:\AWK\Schnittstelle\Auftraege\PTV_Import.bat")
            sleep(1000) ;Sicherstellen das das Skript nur 1 mal ausgeführt wird!
            Return True
        Else
            Return False
        EndIf
    EndFunc
    Alles anzeigen

    Gruß gmmg

  • Problem beim Dateidownload mit "InetGet" ( ANFÄNGER )

    • gmmg
    • 23. September 2021 um 07:56

    Hallo Zusammen,

    Im Prinzip geht das ja einfach so.

    Code
    #include <InetConstants.au3>
    
    
    $DownloadURL = "https://bits.avcdn.net/productfamily_ANTIVIRUS/insttype_FREE/platform_WIN/installertype_FULL/build_RELEASE/cookie_mmm_ava_998_999_000_m/"
    
    InetGet($DownloadURL, @UserProfileDir & "\Downloads\avast_free_antivirus_setup_offline.exe")

    Gruß gmmg

  • WebDriver.udf Formularfeld auslesen

    • gmmg
    • 13. September 2021 um 11:54

    Hallo lunifrw,

    hier mal ein Beispiel für einen Webseite Login.

    Die Zugangsdaten würden aus einer Ini Datei kommen. Da hast du zumindest schonmal den Website Aufruf :)

    Spoiler anzeigen
    C
    #include "wd_helper.au3"
    #include "wd_core.au3"
    
    $file = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ;Pfad zu Google Chrome
    
    ;----prüfe Version von der Chromedriver.exe anhand der Google Chrome.exe---
    If FileExists($file) Then
    
        $Fileversion = FileGetVersion($file)
        $gchrome_version = StringLeft($Fileversion,2)
        $webdriver = "chromedriver_" & $gchrome_version & ".exe"
    Else
        MsgBox(0,"Info","Google Chrome in der richtigen Version nicht vorhanden.")
        Exit
    EndIf
    
    
    $ini_file = @scriptdir & "\bin\tc.ini"  ; muss ASCI sein (wenn nicht, mit Notepadd++ setzen)
    $mail = IniRead($ini_file, "tc", "mail", "NotFound")
    $pass = IniRead($ini_file, "tc", "pass", "NotFound")
    
    $_WD_DEBUG = $_WD_DEBUG_None  ;set to $_WD_DEBUG_None before compiling.
    
    ;Global $_WD_DRIVER
    Local $sDesiredCapabilities
    Local $iIndex
    
    $url = "https://URL der Website"
    
    ;SetupGecko()
    SetupChrome()
    
    _WD_Startup()
    $sSession = _WD_CreateSession($sDesiredCapabilities)
    _WD_Window($sSession, "Maximize", "{}")
    _WD_Navigate($sSession, $url)
    
    _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, "//input[@data-qe-id='email']")
    ConsoleWrite("+ @error = " & @error & @CRLF)
    $sElement_mail = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, "//input[@data-qe-id='email']")
    
    _WD_WaitElement($sSession, $_WD_LOCATOR_ByXPath, "//input[@data-qe-id='password']")
    ConsoleWrite("+ @error = " & @error & @CRLF)
    $sElement_pass = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, "//input[@data-qe-id='password']")
    
    If @error = $_WD_ERROR_Success Then
       _WD_ElementAction($sSession, $sElement_mail, 'value',$mail)
        Sleep(500)
    EndIf
    If @error = $_WD_ERROR_Success Then
       _WD_ElementAction($sSession, $sElement_pass, 'value',$pass)
    EndIf
    
    Sleep(1000)
    Send("{ENTER}")
    
    _WD_Shutdown()
    
    Func SetupChrome()
    
        _WD_Option('Driver', 'data\'& $webdriver)
        _WD_Option('Port', 9515)
        ;_WD_Option('DriverParams', '--log-path="' & @ScriptDir & '\chrome.log"')
        _WD_Option('DriverParams')
    
        $sDesiredCapabilities = '{"capabilities": {"alwaysMatch": {"unhandledPromptBehavior": "ignore", ' & _
        '"goog:chromeOptions": {"w3c": true, "excludeSwitches": ["enable-automation"], "useAutomationExtension": false, ' & _
        '"prefs": {"credentials_enable_service": false},' & _
        '"args": ["start-maximized"] }}}}'
    
    EndFunc
    
    Func SetupGecko()
    
        _WD_Option('Driver', 'geckodriver.exe')
        ;_WD_Option('DriverParams', '--log trace')
        _WD_Option('DriverParams')
        _WD_Option('Port', 4444)
    
        $sDesiredCapabilities = '{"desiredCapabilities":{"javascriptEnabled":true,"nativeEvents":true,"acceptInsecureCerts":true}}'
    
    EndFunc
    Alles anzeigen

    Und hier noch ein kleines Beispiel zum Finden/ Setzen /Lesen eines Values von einem Input.

    Code
    ;find Input
    $sElement_user = _WD_FindElement($sSession, $_WD_LOCATOR_ByXPath, "//input[@name='_username']")
    
    ;set value
    _WD_ElementAction($sSession, $sElement_user, 'value',$User)
    
    ;get_Value
    $sValue = _WD_ElementAction($sSession, $sElement_user, 'property', 'value')
    MsgBox(0,"", $sValue)


    Gruß gmmg :)

  • Problem beim Schließen eines Programms

    • gmmg
    • 13. August 2021 um 08:42

    Hallo BigRox,

    wenn du in den Taskmanager schaust, siehst du 2 Prozesse, die zueinander Verlinkt sind. Diese musst du schließen.

    Gruß gmmg

  • Mit Autoit eine PDF-Datei erstellen

    • gmmg
    • 16. April 2021 um 14:54

    @All,

    wie im ersten Poist geschriben will er aber doch auch Bilder verarbeitetn. Können denn die Beispiele dies auch?

    Gruß gmmg

  • Mit Autoit eine PDF-Datei erstellen

    • gmmg
    • 15. April 2021 um 12:01

    Hallo hipfzwirgel,

    ob das so direkt geht, weiß ich nicht, du willst ja sicher auch ein entsprechendes Layout der späteren pdf haben. Da gibt es sicher spätere weitere Antworten von Forums Mitgliedern.

    Was aber geht, wenn du aus deinem Text und dem Bild mit den Funktionen von Word eine entsprechende Layout Datei erstellst und die dann als PDF druckst.

    Gruß gmmg

  • Abfrage Activedirectory ob ein User in einer Gruppe ist

    • gmmg
    • 6. April 2021 um 10:21

    Hallo amdinside,

    so würde das bei mir im Quellcode aussehen. :)

    C
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=..\Program Files (x86)\AutoIt3\_ICOS\924.ico
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <file.au3>
    #include <AD.au3>
    #include <GuiConstants.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    
    _AD_ErrorNotify(2)
    
    ;Global $hUserName, $hPassword, $sUserName, $sPassword
    $gui = GUICreate("Authenticate", 120, 170)
    GUICtrlCreateLabel("Username:", 10, 10, 50, 20)
    $hUserName = GUICtrlCreateInput("", 10, 35, 100, 20)
    GUICtrlCreateLabel("Password:", 10, 70, 50, 20)
    $hPassword = GUICtrlCreateInput("", 10, 95, 100, 20, $ES_PASSWORD)
    $go = GUICtrlCreateButton("OK", 10, 130, 50, 25, $BS_DEFPUSHBUTTON)
    $cancel = GUICtrlCreateButton("Cancel", 60, 130, 50, 25)
    GUISetState()
    While 1
        $msg = GUIGetMsg()
        Switch $msg
            Case $go
                $sUserName = GUICtrlRead($hUserName)
                $sPassword = GUICtrlRead($hPassword)
                _AD_Open($sUserName, $sPassword)
                If @error Then
                    MsgBox(64, "Fehler", "User oder Passwort falsch!")
                    Exit
                Else
    
                    $start = 0
                    _isIngroup()
    
                    IF  $start = 1 Then
    
                        ; Output Username to log file with date and time
                        _FileWriteLog(@Scriptdir & "\Username.log", $sUserName)
                        ShellExecute("notepad.exe")
                        Exit
                    Else
                        MsgBox(0,"Info","Not member " & @crlf & "Close Program")
                        Exit
                    EndIf
                EndIf
    
            Case $cancel, $GUI_EVENT_CLOSE
                Exit
        EndSwitch
    WEnd
    GUIDelete($gui)
    
    Func _isIngroup()
    
        Dim $member[3]
    
        $member[0] = "Maschine1_admin"
        $member[1] = "Maschine1_Wartung"
        $member[2] = "IT-Systems-and-Services"
    
        _AD_Open()
    
        For $i = 0 To 2
            $is_member = _AD_IsMemberOf($member[$i], $sUserName)
            If $is_member = 1 Then
                MsgBox(0,"",$is_member & $member[$i])
                $start = 1
                ExitLoop
            EndIf
        Next
    
        _AD_Close()
    
    EndFunc
    Alles anzeigen

    Die Abfrage von User und Passwort ist eigentlich nicht notwendig, wenn es sich um einen AD User Account handelt, der das Programm starten will.

    Ungefähr wie folgt könnte man das machen.

    Spoiler anzeigen
    C
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=..\Program Files (x86)\AutoIt3\_ICOS\924.ico
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <file.au3>
    #include <AD.au3>
    #include <GuiConstants.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    
    _AD_ErrorNotify(2)
    
    $sUserName = @UserName
    
    $gui = GUICreate("Authenticate", 180, 170)
    GUICtrlCreateLabel("Username:",10, 10, 50, 20)
    $hUserName = GUICtrlCreateInput($sUserName, 10, 35, 100, 20)
    ;GUICtrlCreateLabel("Password:", 10, 70, 50, 20)
    ;$hPassword = GUICtrlCreateInput("", 10, 95, 100, 20, $ES_PASSWORD)
    $go = GUICtrlCreateButton("OK", 10, 130, 50, 25, $BS_DEFPUSHBUTTON)
    $cancel = GUICtrlCreateButton("Cancel", 60, 130, 50, 25)
    GUISetState()
    While 1
        $msg = GUIGetMsg()
        Switch $msg
            Case $go
    
                $start = 0
                _isIngroup()
    
                IF  $start = 1 Then
    
                    ; Output Username to log file with date and time
                    _FileWriteLog(@Scriptdir & "\Username.log", $sUserName)
                    ShellExecute("notepad.exe")
                    Exit
                Else
                    MsgBox(0,"Info","Not member " & @crlf & "Close Program")
                    Exit
                EndIf
    
            Case $cancel, $GUI_EVENT_CLOSE
                Exit
        EndSwitch
    WEnd
    GUIDelete($gui)
    
    Func _isIngroup()
    
        Dim $member[3]
    
        $member[0] = "Maschine1_admin"
        $member[1] = "Maschine1_Wartung"
        $member[2] = "IT-Systems-and-Services"
    
        _AD_Open()
    
        For $i = 0 To 2
            $is_member = _AD_IsMemberOf($member[$i], $sUserName)
            If $is_member = 1 Then
                MsgBox(0,"",$is_member & $member[$i])
                $start = 1
                ExitLoop
            EndIf
        Next
    
        _AD_Close()
    
    EndFunc
    Alles anzeigen

    Gruß gmmg :)

  • Abfrage Activedirectory ob ein User in einer Gruppe ist

    • gmmg
    • 1. April 2021 um 08:25

    Oder falls es noch mehr Gruppen sind, die du abfragen möchtest, einfach in einer Schleife abfragen.

    Code
    $not_start = 0
        ;---------------------------------------
        Dim $member[12]
    
        $member[0] = "Verteiler/Gruppe1"
        $member[1] = "Verteiler/Gruppe2"
        $member[2] = "Verteiler/Gruppe3"
        $member[3] = "Verteiler/Gruppe4"
        $member[4] = "Verteiler/Gruppe5"
        $member[5] = "Verteiler/Gruppe6"
        $member[6] = "Verteiler/Gruppe7"
        $member[7] = "Verteiler/Gruppe8"
        $member[8] = "Verteiler/Gruppe9"
        $member[9] = "Verteiler/Gruppe10"
        $member[10] = "Verteiler/Gruppe11"
        $member[11] = "Verteiler/Gruppe12"
    
        _AD_Open()
    
        For $i = 0 To 11
            $is_member = _AD_IsMemberOf($member[$i], @UserName)
            If $is_member = 1 Then
                ;MsgBox(0,"",$is_member & $member[$i])
                $not_start = 1
                ExitLoop
            EndIf
        Next
    
        _AD_Close()
    Alles anzeigen

    Gruß gmmg

  • 2 CSV Dateien zusammenfügen

    • gmmg
    • 29. März 2021 um 08:35

    Hallo Zusammen,

    bei zusammenfügen beider csv Dateine konnte ich jetzt bei Fileopen die richtige Codierung festlegen.

    Code
    Global $hFile = FileOpen($path & "zusammen_test.csv", $FO_OVERWRITE + $FO_UNICODE)
    
    If $hFile <> -1 Then
    
    FileWrite($hFile, $sOut)
    
    FileClose($hFile)
    
    EndIf

    Danke

    Gruß gmmg

  • 2 CSV Dateien zusammenfügen

    • gmmg
    • 29. März 2021 um 07:53
    Zitat von Oscar

    Du solltest lieber erstmal etwas dazu sagen, ob die Dateien wirklich gleich lang sind (Zeilenanzahl).

    Wenn das nämlich nicht gegeben ist, dann brauchst Du eine andere Lösung.

    Guten Morgen,

    danke für eure Hilfe.

    Oscar , die Zeilenanzahl sollte in beiden Dateien übereinstimmen.

    Folgend nochmal die original csv Dateien. (umbenannt in txt, wegen dem Forum)


    Ein Problem habe ich aber jetzt. Ich möchte die CSV in Excel einlesen, sodass jede Spalte in eienr Zelle steht.

    Das scheint aber wegen der Zeichencodierung nicht zu gehen.

    Mit der einzelnen "Import_satiusfaction_Test" bzw. ist der Export nach xlsx kein Problem, wenn beide zusammengefasst sind, funktioniert der Export nicht mehr.

    C
    #include <Excel.au3>
    #include <MsgBoxConstants.au3>
    
    ; Create application object
    Local $oExcel = _Excel_Open()
    If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookOpenText Example", "Error creating the Excel application object." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    
    Local $sTextFile = "d:\zusammen_test.csv"
    ;Local $sTextFile = "d:\Import_satisfaction_Test.csv"
    _Excel_BookOpenText($oExcel, $sTextFile)
    If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookOpenText Example 1", "Error opening '" & $sTextFile & "'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
    MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookOpenText Example 1", "Workbook '" & $sTextFile & "' has been opened successfully.")
    Alles anzeigen


    Gruß gmmg :)

    Dateien

    Import_satisfaction_Test.csv.txt 4,18 kB – 349 Downloads zusammen_test.csv.txt 2,29 kB – 387 Downloads Import_Chats_Test.csv.txt 4,62 kB – 382 Downloads
  • 2 CSV Dateien zusammenfügen

    • gmmg
    • 27. März 2021 um 13:57

    Hallo Oscar, Hallo AspirinJunkie,

    danke für die schnellen Antworten :)

    Eben mal probiert, dabei ist mir aufgefallen, dass ich ja aus der zweiten CSV Datei noch die ersten beiden Spalten löschen möchte, da die schon in der ersten Datei vorhanden sind.

    Da würde ich dann bei dem Script von Oscar zweimal _ArrayColDelete($aFile2, 0) hinzufügen.

    Zitat von Oscar

    #include <File.au3>
    Global $aFile1, $aFile2, $aOut
    _FileReadToArray(@ScriptDir & '\datei1.csv.txt', $aFile1, $FRTA_NOCOUNT + $FRTA_ENTIRESPLIT, ',')
    ;~ _ArrayDisplay($aFile1)
    _FileReadToArray(@ScriptDir & '\datei2.csv.txt', $aFile2, $FRTA_NOCOUNT + $FRTA_ENTIRESPLIT, ',')
    ;~ _ArrayDisplay($aFile2)
    Global $sOut = ''
    For $i = 0 To UBound($aFile1, $UBOUND_ROWS) - 1
    For $j = 0 To UBound($aFile1, $UBOUND_COLUMNS) - 1
    $sOut &= $aFile1[$i][$j] & ','
    Next
    For $j = 0 To UBound($aFile2, $UBOUND_COLUMNS) - 1
    $sOut &= $aFile2[$i][$j] & ','
    Next
    $sOut = StringTrimRight($sOut, 1) & @CRLF
    Next
    Global $hFile = FileOpen(@ScriptDir & '\zusammen.csv.txt', 2)
    If $hFile <> -1 Then
    FileWrite($hFile, $sOut)
    FileClose($hFile)
    EndIf

    Alles anzeigen


    Gruß gmmg

  • 2 CSV Dateien zusammenfügen

    • gmmg
    • 26. März 2021 um 15:35

    Hallo Zusammen,

    ich habe aktuell das Problem, dass ich 2 CSV Dateien zusammenfügen möchte. Diese sollen aber nicht untereinander angefügt werden, sondern nebeneinander.

    Anbei mal 3 Beipiele wie es aussehen soll.

    Habe nerst gedacht, ich nutze ArrayMerge, aber da werden die Dateien untereinander geschrieben.

    Hat da jemamd eine Idee, wie man das am Besten umsetzt?

    Danke

    Gruß gmmg

    Dateien

    datei_zusammen.csv.txt 124 Byte – 398 Downloads datei2.csv.txt 63 Byte – 413 Downloads datei1.csv.txt 63 Byte – 381 Downloads
  • MySQL Abfrage in Formular ausgeben

    • gmmg
    • 29. Dezember 2020 um 08:34

    Wolfsblut ,

    Willst du Daten aus einer CSV Datei direkt in Mysql einspielen oder wie soll der Ablauf sein?

    Versuche das mal mit einem Beispiel zu erklären.

    Bei dem Programm "Heidi SQL" hast du auch die möglichkeit eine CSV direkt in die Datenbank zu importieren (unter Werkzeuge).

    Gruß gmmg

  • Autoit Skript läuft auf anderem PC nicht

    • gmmg
    • 10. Dezember 2020 um 07:52

    Du kannst auch den Prozess mal mit dem Api Client von Postman testen.

    https://www.postman.com/product/api-client/

    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™