四歩目 ロード

 
   まぁ 3歩目がセーブということで さっしのとうり 4歩目はロードです 前回のつ・づ・き
   つまりファイルからデータを引き出します
 
〜ロード〜
   問題 セーブがbsaveでした ではロードはなんざんしょ
   ・・・答えはbloadです
   とにかくやってみよう
   あっ ちなみにこのプログラムも前回と同様 ちゃんと保存してから実行してね

		
	a="テスト成功"
	nagasa=strlen(a)
	bsave "test.txt",a,nagasa
	
	bload "test.txt",b
	print b
	stop

   前回のセーブのプログラムを上に書いてあります んで
   bload "test.txt",b  で もう予想はつくでしょうが b という変数に
    test.txtの内容を読み出します
   そして print b で 読み出した変数の内容を表示して stop でとまります
    どうです? 実行したら 画面にテスト成功と表示され・・・・てませんねぇ
    意味不明な数字が並んでいます なぜでしょうか?
   それは ファイルの内容をロードするときに内容を保存した変数bに秘密があります
   実は b は数字用の変数になっていたのです
〜変数の種類〜
   HSPの変数は大きく分けて2種類あります
    それは数値型文字列型です (数字と文字については13歩目 数字って文字か?で)
   数値型は数字しか扱わない(入れられない)変数です
   逆に文字列型は文字しか扱わない変数です
   でHSPでは変数をいきなり使うと 数値型として初期化されるらしいのです
   だから 数値型のbにファイルをロードしたら文字が数字に変えられて保存されてしまったのです
   じゃあどうすれば いいかというと bを文字列型にしてからファイルをロードすればいいのです

	
	a="テスト成功"
	nagasa=strlen(a)
	bsave "test.txt",a,nagasa
	
	str b
	bload "test.txt",b
	print b
	stop

   実行すると ちゃんと テスト成功 と出てますね
   もうお分かりでしょう str b でbを文字列型にしています
   str は変数を文字列型にすることができるのです
   ちなみに str b としなくても bを文字列型にする方法があります
   それは b="" です こうするとbは文字列型になります
 
〜ちょっと遊ぼう〜
   人生がんばってばっかじゃだめです どんなに好きなことでも 生きがいなことでも
   いやでも 休みを取ったほうがいいです
     オヤブンの格言らしきもの(意味がわかんないね)
   ということで前座はこのぐらいにして bloadでちょっと遊ぼうか
 

	
	a="テスト成功"
	nagasa=strlen(a)
	bsave "test.txt",a,nagasa
	
	str b
	bload "test.txt",b,2
	print b
	stop

   どう? 実行すると テ って出てるでしょ これは
   bload "test.txt",b,2 の2に秘密があります
   この2の部分には ロードするファイルの大きさを指定するものです
   だからこの部分の容量だけファイルからデータを持ってきて 変数に入れるのです 
   ちなみになぜ2なのに 1文字しか出てないかというと データが半角なら1
   全角(日本語とか)は2で1文字だからなんだ
 
   もういっちょいってみそ
 

		
	a="テスト成功"
	nagasa=strlen(a)
	bsave "test.txt",a,nagasa
	
	str b
	bload "test.txt",b,,2
	print b
	stop

   どう? スト成功 って出てるでしょ?
   今度は bload "test.txt",b,,2 とかいた 2に秘密があります
   bloadのここには ファイルの先頭よりどれだけか飛ばして それから読み始めるといった数字を入れます
   つまり ここには2と入れてあって ファイルの内容は全角だから 1文字だけ先頭から飛んで
   ファイルを読み出したわけだ
 

まみむめまとめ

  bload・・・ファイルの内容を変数に入れる またロードする量や

         ロードし始める場所も指定できる

   bload "test.txt",b,100,100

  str・・・変数を文字列型にする

   str b

戻る コウザへ ホームへ 次へ