home *** CD-ROM | disk | FTP | other *** search
/ FreeWare Collection 2 / FreeSoftwareCollection2pd199x-jp.img / fbasic / fsize / fsize.doc < prev   
Encoding:
Text File  |  1990-06-14  |  2.8 KB  |  57 lines

  1. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  2. @                                                                            @
  3. @  F-BASIC386V1.1用 ファイルサイズを与えるサブルーチン!  @
  4. @                                                                            @
  5. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  6.  
  7.   load@ って、便利になりましたね。どんなファイルでも、INPUT#よりも早く読み出せ
  8. るようになりました(L20以降ですが)。
  9.  しかし、この命令にも欠陥があります。データを格納する配列のサイズがファイルサ
  10. イズよりも大きい時、とんでもないエラーが出てしまうのです。小さい時にはこんなエ
  11. ラーは出ませんが、ファイルを読み出せなければ意味がありません。
  12.  そこで、次のサブルーチンを使ってみてください。ファイルサイズを求めることが出
  13. 来ます。
  14.  
  15. ---------------------------------------
  16.  
  17. 10 '::: ファイルサイズを与えるサブルーチン :::
  18. 20 '                                   Programed by S.Katayama(MHF00460)
  19. 30 '   入力  F_F$:調べるファイル名
  20. 40 '   出力  F_SI:ファイルのサイズ(バイト単位)
  21. 50 *FILESIZE
  22. 60  F_1 =INSTR (F_F$,":") 
  23. 61  F_D$=LEFT$ (F_F$,F_1)
  24. 62  F_F$=RIGHT$(F_F$,LEN(F_F$)-LEN(F_D$))
  25. 70  OPEN "R",#3,F_D$+"(1)"+F_F$
  26. 80  F_SI=LOF(3)
  27. 90  CLOSE #3
  28. 100 RETURN
  29.  
  30. ---------------------------------------
  31.  
  32.  プログラムリストの部分だけ、WINK等で切り抜いて使ってくださいね。
  33.  このプログラムでは、ランダムファイルのレコード長を1バイトに設定し、最終レコ
  34. ード番号をLOF() 関数を用いて擬似的にファイルサイズを求めています。
  35.  
  36. (注意!)
  37.  ・  ファイル番号3を使用していますが、変更して構いません。変更する場所は、70
  38.     80 90 の各行です。
  39.  ・ エラートラップは全くしてありませんので、ファイルが見つからない等のエラー
  40.   が出ると止まってしまいます。困る人は、各自エラートラップを作ってください。
  41.  ・ F_SIには、ファイルサイズが「バイト単位」で返ってきます。従って、配列サイ
  42.   ズをもとめるときには注意してください。
  43.    +---------------------+
  44.    | 整数型(%)      → F_SIを2で割る | 小数点以下切上げ。
  45.    | ロング型整数変数(&) ↓         | 計算後出てきた数が配列の
  46.    | 単精度変数(!)    → F_SIを4で割る。|サイズである。
  47.    | 倍精度変数(#)    → F_SIを8で割る。|          (^_^)
  48.    +---------------------+
  49.  
  50.  これで、エラーが出ることは無いと思います(^_^)
  51.  困った時には、使ってください。但し、このプログラムを使うのは構いませんが、こ
  52. のプログラム単独でお金をもらったりはしないでくださいね。
  53.  
  54.  質問・ご意見等ありましたら、メールor会議室へどうぞ!
  55.                BASICプログラミング救助隊(あらら・・・)
  56.                      しんたろさん(片山慎太郎:MHF00460)
  57.