Lesen & schreiben einer Datei

  • Moin liebe AutoIT'ler, ich bin seit ein paar Tagen auf der suche, hab mir auch schon die Finger wund-gegooglet aber leider nichts gefunden, dann hab ich mich jetz einfach mal kurzer Hand entschieden hier mein Problem zu posten :D

    So, nu zu meinem bestehenden Problem:
    Ich bin dabei ein Programm zu schreiben das eine Datei (in dem Fall eine Textdatei) ausließt, den Inhalt in einer Variable speichert und den Inhalt der Variable dann Zeichen für Zeichen in Minecraft bei dem Mod "ComputerCraft" in das Script-Fenster eingibt. Mein Problem ist aber, ich weiß nicht wie ich das dort eingeben lassen soll, also welchen Befehl man dafür benutzen kann/soll , meine aktuelle Version des Programms läuft noch so dass ich versuche den Inhalt der einen Textdatei in eine 2 einzufügen die es vorher erstellt, allerdings ist die erstellte immer leer nach FileWrite() oder enthält ein "-1" als Text. Es soll die Leerzeichen/Zeilenumbrüche/Tabulatoren etc alles genau so mit "kopieren" und in die neue Datei bzw in Minecraft hineinschreiben. Ich hoffe das mir hier vieleicht jemand weiterhelfen kann.

    Ich bin noch recht neu im AutoIT - Bereich, also entschuldigt meine eventuell unnötig komplizierten Scripts, ich bin nämlich so ein chronischer "Ich scripte viel zu umständlich"-Mensch :D

    Hier is ma mein bisheriger Script:

    Spoiler anzeigen


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #Region ### START Koda GUI section ### Form=
    $Form2 = GUICreate("ComputerCraft Script Writer - v.1.0", 365, 58, 240, 126)
    $Button1 = GUICtrlCreateButton("Read File and Write InGame", 8, 8, 161, 41)
    $Button2 = GUICtrlCreateButton("Info", 200, 16, 97, 25)
    GUISetState(@SW_SHOW)
    $Write = ""
    #EndRegion ### END Koda GUI section ###

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button2
    MsgBox(0 ,"Information", "Diese Datei ließt Daten aus einer Textfile aus und schreibt diese in eine Message Box. Von DeatPlayer")
    Case $Button1
    Local $file = FileOpen("C:\Users\"&@Username&"\Desktop\script.txt", 0)


    If @error = -1 Then
    MsgBox(0, "Fehler!", "Datei wurde nicht gefunden oder kann nicht geöffnet werden.")
    EndIf

    Local $chars = FileRead($file)
    MsgBox(0, "Char read:", $chars)
    $Write = $chars
    sleep(100)
    FileClose($file)
    ;~ MsgBox(0, "Char read again:", $Write )
    $sOutput = StringSplit($Write, @CRLF)
    _FileCreate("C:\Users\"&@Username&"\Desktop\copyscript.txt")
    Local $filecopy = FileOpen("C:\Users\"&@Username&"\Desktop\copyscript.txt", 1)
    FileWrite($filecopy, $sOutput) ;- Warum schreibt es den Script nicht hier rein ? -> Fehler finden ! !WICHTIG!
    FileClose($filecopy)


    EndSwitch
    WEnd

    Einmal editiert, zuletzt von DeatPlayer (12. Juni 2013 um 22:27)

  • Achso das muss ich machen ? Sorry wusst ich nich :D Ich kenn das von anderen Foren das soetwas Mods erledigen oder so :D