初级视频编辑室|草蜢非编论坛|初级视编室|草蜢视频编辑|会声会影|威力导演|电子相册

标题: FileIO Xtra应用实例 [打印本页]

作者: 五星上将    时间: 2014-11-24 21:34
标题: FileIO Xtra应用实例
1. 用“Open”对话框将文本文件读取到域里

  以下处理程序将一文本件文读取到一域文本演员中(演员名称为“myfield”)。这种方法允许你从标准的Macintosh或Windows系统的“Open”对话框选择文件。

on readFromFile
  global myFile
  if objectp(myFile) then set myFile = 0--替换当前“myfile‘‘中的文本
  set myFile = new(xtra "fileio")--建立一个FileIO的事例
  if the machinetype = 256 then
    setfiltermask(myfile,"All files,*.*,Text files,*.txt")--指定文件类型(win)
  else
    setfiltermask(myfile,"Text")--指定文件类型(mac)
  end if
  set filename = displayOpen(myFile)--显示“Open”对话框
  if not voidp(filename) and not(filename = EMPTY) then
    openFile(myFile,filename,1)--打开用户选择的文件
    if status(myFile) = 0 then
      set thefile = readFile(myFile)--读取文件到一个lingo变量中
      put thefile into field"myField"--在域中显示文本
    else
      alert error(myfile,status(myfile))--显示报错
    end if
  end if
  closeFile(myFile)--关闭文件
  set myFile = 0
end

  2. 向文本域中写入数据

  以下程序可以建立并写入文本文件。movie里包含了一域演员“myfield”,与程序在同一文件夹包含一文本文件“textfile.txt”。程序里用到的“setFinderInfo”在Macintosh系统上可以通过SimpleText识别文本文件,在Windows系统上“setFinderInfo”在编译时被忽略,因此对于不同的机器,注意Lingo的细节问题是有必要的。

on writeToFile
  global myfile
  if objectp(myfile) then set myfile = 0--替换当前“myfile‘‘中的文本
  set theFile = the text of field "myfield"--将‘‘myfield‘‘中的文本置给变量
  set myFile = new(xtra "fileio")--建立一个FileIO的事例
  if the moviepath = "" then
    alert "no moviepath! save your movie and try again."--确保路径不为空
  else
    createFile (myfile, the moviepath&"textfile.txt")--建立文本文件
    openFile (myfile, the moviepath&"textfile.txt",0)--只读方式打开文件
    setfinderinfo (myfile, "TEXT ttxt")--建立文件(mac)
    writeString(myfile, theFile)--向文件中写入字符
    alert "status:"&error(myFile,status(myFile))--显示报错
  end if
  closeFile (myfile)--关闭文件
  set myFile = 0
end

  3. 给文本添加数据

  以下程序为文本添加数据。movie中包含了一域文本演员“myfield”。与程序在同一文件夹包含一文本文件“textfile.txt”。

on appendtofile
  global myFile
  if objectp(myFile) then set myFile = 0--替换当前“myfile”中的文本
  set theFile = the text of field "myfield"--将“myfield”中的文本置给变量
  set myFile = new(xtra "fileio")--建立一个FileIO的事例
  if the moviepath = "" then
    alert "no moviepath! please save your movie and try again."
  else
    openFile(myfile, the moviepath&"textfile.txt",0)--只读方式打开文件
    setposition(myfile,getlength(myfile))
    writestring(myfile,thefile)--添加文本
    alert "status:"&error(myfile,status(myfile))--显示报错
  end if
  closefile (myfile)--关闭文件
  set myfile=0--dispose of the instance
end

  4. 以下程序删除文本文件“textfile.txt”

on deletefile
  global myfile
  if objectp(myfile) then set myfile = 0--替换当前“myfile”中的文本
  set myfile=new(xtra "fileio")--建立一个FileIO的事例
  if the moviepath="" then
    alert "no moviepath,please save your movie and try again."
  else
    openfile (myfile, the moviepath&"textfile.txt",0)--打开文件
    delete(myfile)--删除当前文件
    alert "status:"& error(myfile,status(myfile))--显示报错
  end if
  closefile (myfile)--关闭文件
  set myfile = 0
end

  5. 返回Windows or Macintosh的系统文件夹的路径

  Getosdirectory()函数返回Windows or Macintosh的系统文件夹的绝对路径。使用它不需要引用任何变量,而只需要在Message窗口写入下列语句:

  put getosdirectory()

  回车后显示:
  --"c:MyWin95" --Windows
  --"My HardDirve:System Folder" --Macintosh

作者: gxj000    时间: 2014-11-24 21:58
谢谢楼主提供分享!!
作者: yipingzi    时间: 2015-1-21 11:48
阳春白雪,逛一逛,看一看,顶一顶。




欢迎光临 初级视频编辑室|草蜢非编论坛|初级视编室|草蜢视频编辑|会声会影|威力导演|电子相册 (http://shibianshi.com/) Powered by Discuz! X3.2