fileread
2021/05/22 04:08
fileread 機能
[ファイル操作コマンド]ファイルを読みます。
コマンドライン
fileread <file handle> <read byte> <strvar>
機能説明
開いているファイル <file handle> から、<read byte> で指定したバイト数のデータを読みこんで <strvar> に格納します。<file handle>
fileopen でファイルハンドルを取得しているファイルを <file handle> にて指定します。<read byte>
読み込むバイト数を指定します。値の範囲は 1 から 511 でなければなりません。
ファイルポインタは読み込んだバイト数分進められます。
データを読み込み終わる前にファイルポインタがファイルの終わりまで行った場合は、システム変数 <result> に 1 が格納されます。
それ以外は、<result> に 0 が格納されます。
<strvar>
読みこんだデータを <strvar> に格納します。パラメータの説明
指定するパラメータは以下の通りです。パラメータ | 型 | パラメータ説明 |
---|---|---|
<file handle> | 整数 | ファイルハンドルを指定します。 |
<read byte> | 整数 | 1~511 byte を指定します。 |
<strvar> | 文字列 | 変数名を指定します。 |
対象バージョン
バージョン 4.48 以降で利用可能です。戻り値
戻り値として以下の変数が定義されます。変数名 | 値 | 意味 |
---|---|---|
result | 0 | データを読み込み終わる前にファイルポインタがファイルの終わりまで行かなかった |
1 | データを読み込み終わる前にファイルポインタがファイルの終わりまで行った | |
<strvar> | 文字列 | 読み込んだ文字列 |
関連コマンド
種別:ファイル操作 | Ver | 機能の簡易説明 |
---|---|---|
fileclose | ファイルハンドルを閉じる。 | |
fileopen | ファイルを開く。 |
使用方法
使用例
・10 byte ずつ読み込む場合filename = 'foo.txt' fileopen fp filename 0 :loop fileread fp 10 data messagebox data filename if result goto fclose goto loop :fclose fileclose fp・バイナリファイルの先頭から32バイトを読み込み、ホストへ送信する場合
; バイナリファイルの先頭から32バイトを読み込み、ホストへ送信する。 filename = 'sample.bin' fileopen fhandle filename 0 if fhandle == -1 goto the_end call send_16_bytes ; send first 16 bytes fileseek fhandle 16 1 ; seek past next 16 without sending call send_16_bytes ; send next (last) 16 bytes fileclose fhandle goto the_end ;######################################### :send_16_bytes for i 1 16 fileread fhandle 1 str ; read one byte at a time so we can detect zero. if result == 1 break str2code integer str ; if zero then str will be empty and integer will be set to zero ;sprintf 'integer = 0x%02X' integer ;messagebox inputstr 'test' send integer next return ;######################################### :the_end