Topics   All   Mac OS X (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server   Client   Old   Guides   Examples
New in version: 7.2   7.3   7.4   7.5   8.0   8.1   8.2   8.3   8.4   8.5    Statistic  

BinaryFile.Create

Creates a new file.

Component Version macOS Windows Server FileMaker Cloud FileMaker iOS SDK
BinaryFile 7.3 Yes Yes Yes Yes Yes

MBS( "BinaryFile.Create"; FilePath )

Parameters

Parameter Description Example value
FilePath The native file path. Something like "/Users/cs/desktop/test.txt" on Mac and "C:\Programs\Data\test.txt" on Windows. Files without path end in the root directory on Mac. "test.txt"

Result

Returns reference number or error.

Description

Creates a new file.

This function requires a native path. Use Path.FileMakerPathToNativePath to convert a FileMaker path to a native path if required. If you like to have the user choose the path, you can use FileDialog functions.
For Server be aware that server has limited permissions and may not be able to access all files on a computer.

Examples

Create a file and write Hello:

Set Variable [ $fh ; Value: MBS( "BinaryFile.Create"; "/Users/cs/Desktop/test.txt" ) ]
Set Variable [ $r ; Value: MBS( "BinaryFile.WriteText"; $fh; "Hello World") ]
Set Variable [ $r ; Value: MBS( "BinaryFile.Close"; $fh) ]

Split files into smaller chunks:

Set Variable [ $InputPath ; Value: "/Users/cs/Desktop/test.mp4" ]
Set Variable [ $ChunkSize ; Value: 10*1024*1024 ]
#
Set Variable [ $InputStream ; Value: MBS( "BinaryFile.Open"; $inputPath ) ]
If [ MBS("IsError") ]
    Show Custom Dialog [ "Failed to open file." ; $InputStream & ¶ & $InputPath ]
    Exit Script [ Text Result: ]
End If
Set Variable [ $InputLength ; Value: MBS( "BinaryFile.Length"; $InputStream ) ]
Set Variable [ $InputPosition ; Value: 0 ]
Set Variable [ $Counter ; Value: 1 ]
Loop
    # Read chunk
    Set Variable [ $Chunk ; Value: MBS( "BinaryFile.ReadHex"; $InputStream; $ChunkSize ) ]
    #
    # Write Chunk
    Set Variable [ $OutputPath ; Value: $InputPath & "." & $Counter ]
    Set Variable [ $OutputStream ; Value: MBS( "BinaryFile.Create"; $OutputPath ) ]
    If [ MBS("IsError") ]
        Show Custom Dialog [ "Failed to create file." ; $InputStream & ¶ & $OutputPath ]
        Set Variable [ $r ; Value: MBS( "BinaryFile.Close"; $InputStream ) ]
        Exit Script [ Text Result: ]
    End If
    Set Variable [ $r ; Value: MBS( "BinaryFile.WriteHex"; $OutputStream; $Chunk ) ]
    Set Variable [ $r ; Value: MBS( "BinaryFile.Close"; $OutputStream ) ]
    #
    # next
    Set Variable [ $InputPosition ; Value: $InputPosition + $ChunkSize ]
    Exit Loop If [ $InputPosition > $InputLength ]
    Set Variable [ $Counter ; Value: $Counter +1 ]
End Loop
#
# cleanup
Set Variable [ $r ; Value: MBS( "BinaryFile.Close"; $InputStream ) ]

See also

Created 12nd June 2017, last changed 19th August 2018


BinaryFile.Close   -   BinaryFile.EOF

Feedback: Report problem or ask question.




Links
MBS Xojo PDF Plugins