Reading and Writing to File

Your application might need to be able to read data in from a file or write data out to a file.

This might be a way of importing data or text into your application or saving preferences, settings or the current state of the application when it is closed.

With LiveCode reading frmm and writing to files is very simple.

The URL Keyword

As explained in the lesson Working With Text containers are sources of information. One of the LiveCode container types is URL. A URL is a container for a file (or other resource), which is on the same system the application is running on, or on another system that's accessible via the Internet.

URLs in LiveCode are written like the URLs you see in a browser. You use the URL keyword to designate a URL, enclosing the URL's name in double quotes:

put field "Info" into URL "file:myfile.txt"

get URL "http://www.example.org/stuff/nonsense.html"

put URL "ftp://ftp.example.net/myfile" into field "Data"

Working with URL Contents

You use a URL like any other container. You can get the content of a URL or use its content in any expression. You can also put any data into a URL, putting data into a file that does not exist causes it to be created.

You can also use chunk expressions with URLs, as with any other type of container:

put field "Info" into line 1 of URL "file:myfile.txt

get word 10 to 15 of URL "file:myfile.txt"

The http Scheme

The http Scheme

An http URL designates a document from a web server:

put URL "http://www.runrev.com" into field "text"

When you use an http URL in an expression, LiveCode downloads the URL from the server and substitutes the downloaded data for the URL.

When you put something into an http URL, LiveCode uploads the data to the web server.

An Example

An Example

Create a stack with a field called "text" and a button called "Choose file". The script of the button asks the user to choose a file and then puts the contents of that file into the field.

on mouseUp

## Ask the user to choose a file

answer file "Please choose a file"

 

## If the dialog is not cancelled put the path to the selected file into a variable

## Use the URL keyword to put the contents of the file into a field

if the result is not "cancel" then

put it into tFilename

put url ("file:" & tFilename) into field "text"

end if

end mouseUp

Finding the Path to Common Folders

A very common task is saving a file to, or reading a file from, a standard location. You can use the specialFolderPath function to build paths to system related folder and standard locations such as the Documents folder, desktop, preferences or home directory.

For example:

put specialFolderPath("documents") & "/Test Doc.txt" into tFilePath

This command puts the full path to a file in the documents folder called "Text Doc.txt" into the variable tFilePath. You can then use that path to read from or write to the file.

0 Comments

Add your comment

E-Mail me when someone replies to this comment