App Inventor:列出变量

App Inventor: Listing Variables

我需要帮助。我有可以写入 .CSV 文件的变量,但是,它会复制写入该文件的任何现有变量。

涂黑的变量无关紧要。我只想查看 "propertyRoster.txt" 是否与 global_getButtonName 匹配,如果匹配,则为这些变量重写文件部分。无论是否匹配,它都会不断添加 global_getButtonName(以及其余变量列表)。当我尝试创建一个包含变量列表的全局变量时,它会抱怨并且不接受它。

基本上,我需要找出文件中是否存在 getButtonName 并在匹配时覆盖这六个变量,否则,追加文件以添加这六个值。我正在以这种形式进行操作,因此当用户离开应用程序并返回时,数据仍然存在。所以如果他稍后回来更改橙色值,它可以覆盖之前保存的橙色值。

TinyDB 不适用于我的情况,因为有几个实例完全依赖于这六个变量,而且我正在努力使应用程序尽可能小。这就是为什么我需要将它保存到一个文件中,我不知道用这六个值存储多个实例的有效方法。我不想编写多个文件。这是我的文本文件的样子:

E.g. (Apple val2 val3 val4 val5 val6)(Orange val2 val3 val4 val5 val6) ...... Note: val1 is always the name of the button pressed, not included with the code.

(注:propertyRoster.txt前的“/”表示保存到SD卡。)

我在网上找不到任何关于在文本文件中查找匹配项或编辑该部分的案例。请帮忙!

您的 if 语句总是错误的,因为您的变量 global_get_ButtonName 总是在列表中...这可能不是您想要的?

顺便说一句。一切看起来都很麻烦,我会使用 TinyDB 来持久存储数据...

一些建议:了解如何使用列表和列表的列表
How to work with lists 来自 Saj
How to work with list of lists (pdf) appinventor.org

编辑: 查看屏幕截图如何找出列表列表中是否存在某个值