使用 LiveCode 代码中给定的名称创建文件
Creating a file with name given in code in LiveCode
我正在尝试构建一个首先获取用户名的程序。此用户名保存在文本文件中。用户登录后,根据用户名,我要用户是lead his/her具体信息。我发现我只能使用他注册帐户时创建的文件来完成此操作,我使用 Livecode 中的注册按钮指示他。在 he/she 创建他的帐户时,我想为 his/her 创建一个特定的文件。你能帮我吗?
PS:我现在不想用数据库来做。我只想学习如何创建没有特定名称的文件,例如
将 specialFolderPath("documents")&"/userLoginCridentials.txt" 放入 tFile 将 URL("file:"&tFile) 放入 myFile
而不是这个 "userCridentials.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
如果你的问题是如何记住"current"文件名
每当您重新启动您的应用程序时,每个变量都会被重置。因此,您需要在应用程序退出之前保存您希望在两次运行之间记住的所有内容。为此,您需要一个预定义的文件名。那么你的程序将是:
- 读入预定义文件。
- 从该文件中获取文件名
- 读取文件
如果你的问题是别的
对不起,那我误解你的问题了...
我正在尝试构建一个首先获取用户名的程序。此用户名保存在文本文件中。用户登录后,根据用户名,我要用户是lead his/her具体信息。我发现我只能使用他注册帐户时创建的文件来完成此操作,我使用 Livecode 中的注册按钮指示他。在 he/she 创建他的帐户时,我想为 his/her 创建一个特定的文件。你能帮我吗? PS:我现在不想用数据库来做。我只想学习如何创建没有特定名称的文件,例如 将 specialFolderPath("documents")&"/userLoginCridentials.txt" 放入 tFile 将 URL("file:"&tFile) 放入 myFile 而不是这个 "userCridentials.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
如果你的问题是如何记住"current"文件名
每当您重新启动您的应用程序时,每个变量都会被重置。因此,您需要在应用程序退出之前保存您希望在两次运行之间记住的所有内容。为此,您需要一个预定义的文件名。那么你的程序将是:
- 读入预定义文件。
- 从该文件中获取文件名
- 读取文件
如果你的问题是别的
对不起,那我误解你的问题了...