将SQLite中的文本显示为消息对象(循环)

时间:2014-10-30 11:18:06

标签: sqlite lua corona

我有一个数据库SQLite3,它存储了一些文本,例如2个字符之间的对话框。我还有一个弹出窗口,其中显示了演讲。

现在,我可以从数据库中提取文本但是我的主要问题是:如何在循环函数中显示每一行?像幻灯片一样,文本必须显示在名为myMessage.text

的同一对象中

这是我的代码:

function displaySpeech(event)
        for i=1,4 do        
            local result = "SELECT speech FROM speeches WHERE id="..i..""    
                for col1 in db:urows( result ) do
                    myMessage.text=col1
                    print(i)
                end
            i=i+1

        end
end

在侦听器中调用该函数,如下所示:

popup:addEventListener( 'tap', displaySpeech)

一旦我点击弹出窗口,该功能必须显示所有"线"从1到4,进入message.text,每个文本都有延迟。现在,我的函数(displaySpeech())无法递增 - print(i)只显示第一行。

我知道这个主题可能是“巨大的”,所以首先:这是一个好方法吗?

也许,我需要一些timer.performWithDelay()功能?

1 个答案:

答案 0 :(得分:0)

这是我找到的解决方案:

num = 1
function displaySpeech(character)
    displaySpeech_get(""..num.."", character)
    num = num + 1
end
---------------------------------------------------------------------------
function displaySpeech_get(number, character)
local varchar = character   
  for row in db:nrows("SELECT * FROM speeches WHERE character='"..character.."' LIMIT "..tostring(number)..",1") do
    myMessage.text=row.speech
  end
end