Difference between revisions of "FOPEN()"

From Recital Documentation Wiki
Jump to: navigation, search
 
 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
==Purpose==
 
==Purpose==
Function to open an existing ASCII text file
+
Function to open an existing ASCII text file or http URL
  
  
Line 8: Line 8:
  
 
==See Also==
 
==See Also==
[[FCREATE()]], [[FCLOSE()]], [[FERROR(),FREADSTR()]], [[FWRITE()]], [[MEMOREAD()]], [[MEMOWRITE()]], [[TEXTEDIT(),]]
+
[[FCREATE()]], [[FCLOSE()]], [[FEOF()]], [[FERROR()]], [[FFLUSH()]], [[FGETS()]], [[FPUTS()]], [[FREAD()]], [[FREADSTR()]], [[FSEEK()]], [[FWRITE()]], [[GETURL()]], [[MEMOREAD()]], [[MEMOWRITE()]], [[TEXTEDIT()]]
  
  
Line 30: Line 30:
  
 
If an error occurs, -1 is returned by the FERROR() function.  The FCLOSE() function is used to close a file which has been opened with FOPEN().
 
If an error occurs, -1 is returned by the FERROR() function.  The FCLOSE() function is used to close a file which has been opened with FOPEN().
 +
 +
'''Recital 10 enhancements'''
 +
 +
The FOPEN() function can also be used to open http page URLs.  The specified <expC> is the URL to open: http://twitter.com/recitalsoftware.  Please see below for an example.
 +
 +
The FOPEN() function can also be used to open Linux FIFO pipes.  The specified <expC> is the pipe to open: fifo://pipename.
  
  
Line 39: Line 45:
 
     dialog box "The file could not be opened."
 
     dialog box "The file could not be opened."
 
else
 
else
     string = fgets(fp,)
+
     string = fgets(fp)
 
     do while not empty(string)
 
     do while not empty(string)
 
         ? string
 
         ? string
Line 50: Line 56:
 
     dialog box "The file could not be closed."
 
     dialog box "The file could not be closed."
 
endif   
 
endif   
 +
 +
// http URL example
 +
<!-- twitter.rsp -->
 +
<html>
 +
<body>
 +
<%
 +
fp=fopen("http://twitter.com/recitalsoftware")
 +
do while not feof(fp)
 +
    ? fgets(fp)
 +
enddo
 +
%>
 +
</body>
 +
</html>
 
</code>
 
</code>
  
  
 
==Products==
 
==Products==
Recital Database Server, Recital Mirage Server, Recital Terminal Developer
+
Recital, Recital Server
 
[[Category:Documentation]]
 
[[Category:Documentation]]
 
[[Category:Functions]]
 
[[Category:Functions]]
 +
[[Category:ASCII File Access]]
 +
[[Category:ASCII File Access Functions]]

Latest revision as of 15:46, 17 November 2010

Purpose

Function to open an existing ASCII text file or http URL


Syntax

FOPEN(<expC> [,expN>])


See Also

FCREATE(), FCLOSE(), FEOF(), FERROR(), FFLUSH(), FGETS(), FPUTS(), FREAD(), FREADSTR(), FSEEK(), FWRITE(), GETURL(), MEMOREAD(), MEMOWRITE(), TEXTEDIT()


Description

The FOPEN() function opens an existing ASCII text file. It returns a numeric file pointer when the file is opened successfully, or a -1 if unsuccessful. The <expC> is the name of the ASCII file to open. Since the file pointer is required to identify an open file to other file functions, always assign the return value to a memory variable. The optional <expN> determines the file access mode:


<expN> Access Mode
If not specified, read-only
0 Read-only
1 Write only. Existing contents are deleted.
2 Append. Text may be added to the end of the existing contents.


If an error occurs, -1 is returned by the FERROR() function. The FCLOSE() function is used to close a file which has been opened with FOPEN().

Recital 10 enhancements

The FOPEN() function can also be used to open http page URLs. The specified <expC> is the URL to open: http://twitter.com/recitalsoftware. Please see below for an example.

The FOPEN() function can also be used to open Linux FIFO pipes. The specified <expC> is the pipe to open: fifo://pipename.


Example

use accounts
fp=fopen("existing.file")
if ferror()=-1
    dialog box "The file could not be opened."
else
    string = fgets(fp)
    do while not empty(string)
        ? string
        string = fgets(fp)
    enddo
    ?
endif
fclose(fp)
if ferror()=-1
    dialog box "The file could not be closed."
endif  
 
// http URL example
<!-- twitter.rsp -->
<html>
<body>
<%
fp=fopen("http://twitter.com/recitalsoftware")
do while not feof(fp)
    ? fgets(fp)
enddo
%>
</body>
</html>


Products

Recital, Recital Server