как сохранить ввод собственного текста в txt-файл в corona


Мой вопрос заключается в том, как сохранить пользовательский ввод текста в a .txt-файл в Corona sdk.

Итак, в основном я хочу добиться того, что когда пользователь записывает что-то в текстовое поле, а затем нажимает кнопку сохранить, текст из textxbox сохраняется в a .txt-файл в каталог системных документов.

Танск за помощью! :)

Вот код :)

local function inputListener( event )
    if event.phase == "began" then

        -- user begins editing textBox
        print( event.text )

    elseif event.phase == "ended" then

       local myfile = io.open( filePath, "w" )  
       myfile:write(textBox)  
       io.close(myfile)  



    elseif event.phase == "editing" then

        print( event.newCharacters )
        print( event.oldText )
        print( event.startPosition )
        print( event.text )

    end
end

local textBox = native.newTextBox( 200, 200, 280, 140 )
textBox.text = "This is line 1.nAnd this is line2"
textBox.isEditable = true
textBox:addEventListener( "userInput", inputListener )
1 2
lua

1 ответ:

Я предлагаю вам ознакомиться с документацией, предоставленной Corona Labs здесь: http://docs.coronalabs.com/guide/data/readWriteFiles/index.html

Вот объединенный код из документации и код, который вы предоставили. С помощью этого кода я не могу повторить ошибку, о которой вы упоминаете в комментариях, и поэтому я не могу помочь вам дальше.

local textBox = native.newTextBox( 200, 200, 280, 140 )
textBox.text = "This is line 1.\nAnd this is line2"
textBox.isEditable = true

local function inputListener( event )
    if event.phase == "began" then

        -- user begins editing textBox
        print( event.text )

    elseif event.phase == "ended" then

       local path = system.pathForFile( "myfile.txt", system.DocumentsDirectory )

       local file = io.open( path, "w" )
       file:write( textBox.text )
       io.close( file )
       file = nil 

    elseif event.phase == "editing" then

        print( event.newCharacters )
        print( event.oldText )
        print( event.startPosition )
        print( event.text )

    end
end
textBox:addEventListener( "userInput", inputListener )