我正在尝试构建一个程序,首先获得用户名。这些用户名保存在一个文本文件中。在用户登录后,根据用户的名字,我想让用户看到他/她的具体信息。我发现我只能在他注册一个帐户时创建一个文件,我用我在Livecode中的注册按钮指示他。当他/她创建他的帐户时,我想为他/她创建一个特定的文件。你能帮我一下吗?PS:我现在不想用数据库来做。我只是想学习如何创建一个没有特定名称的文件,比如将specialFolderPath("documents")&"/userlogincredals .txt"放入tFile中;将URL("file:"&tFile)放入myFile中而不是这个" usercredals .txt"我想要一些用户可以创建自己的名字:)
理解你的问题有点困难。你的目标是手机还是桌面?您是否在保存或读取数据时遇到问题?
如果你的问题是保存
在桌面你可以使用:
ask file "Save file as:"
那么你就会得到文件名,所以你可以使用:
if it is not empty then
# We have a complete file path in 'it'
put it into tFile
put tData into url ("file:" & tFile)
end if
如果您的目标是移动设备,并希望保存到specialFolderPath("Documents")
,您可以从字段中获取文件名,然后保存到该文件。例如,如果你有一个名为"fileName"的字段,你可以使用如下命令:
put tData into url("file:" & specialFolderPath("Documents") & "/" & field "fileName"
当然,你应该做一些错误检查,以确保用户不会覆盖现有的文件,至少征求许可,等等。
你当然可以用变量代替字段…
如果读取数据是你的问题
在桌面你可以使用:
answer file "Open File:"
与上面相同,但现在读取的是数据:
if it is not empty then
# We have a complete file path in 'it'
put it into tFile
put url ("file:" & tFile) into tData
end if
在移动设备上,您可能希望显示用户创建的文件列表。在LiveCode中,你可以用the files
列出defaultFolder中的所有文件。但是你必须将defaultFolder设置为你想要列出的文件夹。
set the defaultFolder to specialFolderPath("Documents")
put the files into tFiles
现在tFiles
包含该文件夹中的每个文件,您可以过滤它,在列表中显示它等。例句:
filter tFiles with "*.txt"
put tFiles into
如果你的问题是如何记住"当前"文件名
当你重启应用程序时,每个变量都会被重置。所以你想在运行之间记住的所有东西都需要在你的应用退出之前保存。为此,您需要一个预定义的文件名。那么你的程序将是:
- 读取预定义文件
- 从该文件中获取文件名
- 读取文件
如果你的问题是别的
对不起,我误解你的问题了。