関数・命令 /
OPEN <file|dir|address> FOR READING|WRITING|APPENDING|READWRITE|DIRECTORY|NETWORK [FROM address[:port]]|SERVER|MEMORY AS <handle>
Type: statement
<file> <dir> <address> を開き <handle> へ割り当てます。
割り当てた <handle> は READING・WRITING・APPENDING・READWRITE で使用できます。
READING は読み出し専用、WRITING・APPENDING は書き込み専用、
READWRITE は読み書き両方を可能にします。
例:
OPEN "data.txt" FOR READING AS myfile WHILE NOT(ENDFILE(myfile)) DO READLN txt$ FROM myfile IF NOT(ENDFILE(myfile)) THEN PRINT txt$ ENDIF WEND CLOSE FILE myfileDIRECTORY はディレクトリを開きます。
例:
OPEN "." FOR DIRECTORY AS mydir REPEAT GETFILE myfile$ FROM mydir PRINT "File found: ", myfile$ UNTIL ISFALSE(LEN(myfile$)) CLOSE DIRECTORY mydirNETWORK はネットアドレスを開きます。
例:
OPEN "www.google.com:80" FOR NETWORK AS mynet SEND "GET / HTTP/1.1\r\nHost: www.google.com\r\n\r\n" TO mynet REPEAT RECEIVE dat$ FROM mynet total$ = CONCAT$(total$, dat$) UNTIL ISFALSE(WAIT(mynet, 500)) PRINT total$ CLOSE NETWORK mynetSERVER は入って来るネットワーク接続を扱うサーバとして開きます。
OPEN "*:51000" FOR SERVER AS myserver WHILE NOT(EQUAL(LEFT$(dat$, 4), "quit")) DO RECEIVE dat$ FROM myserver PRINT "Found: ", dat$ WEND CLOSE SERVER myserverMEMORY はメモリ領域を開いて使用することができます。
data = MEMORY(500) OPEN data FOR MEMORY AS mem PUTLINE "Hello cruel world" TO mem MEMREWIND mem GETLINE txt$ FROM mem CLOSE MEMORY mem PRINT txt$