2012年5月12日投稿 / 投稿者 : 涼季遊 / タグ : 投稿プログラム QRコード
文字列をCHRまたはGRPデータに変換して、一度に大量に保存・読込をするプログラムです
プチコンで保存できる文字列データは、MEM形式で最大256文字までですが、本プログラムでは
CHR形式で最大8192文字
GRP形式で最大49152文字
保存することができます。
巨大になってしまったセーブデータを扱ったり、スクリプトデータとして保存してほかのプログラムに渡すなど、
APPENDして自由に使ってください。
1.GOSUBで↓のラベルを呼び出す
@GRPARCINI
2.↓の変数に変換したい文字列を代入(256文字まで)
GPRSTR$
3.GOSUBで↓のラベルを呼び出す
@ADDGRPARC
(2で設定された内容が書き込まれます)
4.(2)と(3)を必要なだけ繰り返す。
5.GOSUBで↓のラベルを呼び出す
@MAKEGRPARC
(GRPまたはGPRデータが保存されます)
1.GOSUBで↓のラベルを呼び出す
@GRPARCINI
2.↓の変数に読み込むファイル名を設定
GPRDATA$
3.GOSUBで↓のラベルを呼び出す
@GRPARCLD
(変数GPRSTR$に256文字分読み込まれます)
4.必要なだけ(3)を繰り返す
プログラムの46〜49行目の値を書き換えることによって、各種設定を行えます。
GPRSAVNAM$=保存または読み込み時のデフォルトファイル名
GPRPAGENO=保存時のワークエリア番号(CHRの場合はBGU番号、GRPの場合は画面番号)
GPRPRGLES=途中経過表示ON,OFF(0=OFF、1=ON)
GPRSVTYPE=保存形式(0=CHR形式、1=GRP形式)
・基本的にAPPENDして使うことを前提にしているので、変数やラベル名が長いです
・ほとんどプログラムを圧縮していません、使い方の説明など、不要な部分は必要に応じて消してください。
・BGU0を読み書き先に使用(GPRPAGENO=0,GPRSVTYPE=0)すると、動作時に背景がおかしくなります、
これはプチコンが背景の初期値にBGU0のキャラ番号0を使用しているせいなので、仕様です。
ちなみにACLSしても戻りません、BGU0を初期化すると直ります。
・あまりテストしていないので、予期せぬ不具合があるかもしれません。
プチコンmkII 向けの QR コードです。
- ’////////////////////////////
- ’/ GRP−ArchiveSystem v1.0 //
- ’/ Making by Hot−C_Film. //
- ’Instruction(カキコミ)/////////////////
- ’(1)↓ノラヘ゛ルヲ、ヨヒ゛タ゛シテクタ゛サイ
- ’[@GRPARCINI]
- ’(2)↓ノヘンスウニ、モシ゛レツヲタ゛イニュウシテクタ゛サイ
- ’[GPRSTR$]
- ’(3)↓ノラヘ゛ルヲ、ヨヒ゛タ゛シテクタ゛サイ
- ’[@ADDGRPARC]
- ’1テ゛セッテイサレタナイヨウカ゛カキコマレマス
- ’(4)2ト3ヲ、ヒツヨウナタ゛ケ、クリカエス
- ’(5)↓ノラヘ゛ルヲ、ヨヒ゛タ゛シテクタ゛サイ
- ’[@MAKEGRPARC]
- ’GRPテ゛−タカ゛SAVEサレマス
- ’ТТТТТТТТТТТТТТТТТТТТТТТТТТТТ
- ’Instruction(ヨミコミ)/////////////////
- ’(1)↓ノラヘ゛ルヲ、ヨヒ゛タ゛シテクタ゛サイ
- ’[@GRPARCINI]
- ’(2)↓ノヘンスウニ、GRP(BGU)ファイルメイヲセッテイ
- ’[GPRDATA$]
- ’(3)↓ノラヘ゛ルヲ、ヨヒ゛タ゛シテクタ゛サイ
- ’[@GRPARCLD]
- ’↓ノヘンスウニ、256モシ゛フ゛ンヨミコミマス
- ’[GPRSTR$]
- ’(4)ヒツヨウナフ゛ンタ゛ケ3ヲクリカエシマス
- ’ТТТТТТТТТТТТТТТТТТТТТТТТТТТТ
- ’Settings /////////////////
- @GRPARCINI
- ’↓ノヘンスウノアタイヲセッテイシテクタ゛サイ
- GPRSAVNAM$=”GPRSAVE”’ファイルメイ
- GPRPAGENO=1 ’ヒ゛ョウカ゛サキ
- GPRPRGLES=1 ’ケイカヒョウシ゛(1=TRUE)
- GPRSVTYPE=0 ’ホソ゛ンケイシキ(0=NORMAL,1=BIG)(*1)
- ’ТТТТТТТТТТТТТТТТТТТТТТТТТТТТ
- GPR_X=0
- GPR_Y=0
- GPR_I=0
- GPR_L=0
- GPR_WT$=””
- GPR_CS$=””
- GPRSTR$=””
- GPRDATA$=””
- RETURN
- ’(*1)ホソ゛ンケイシキニツイテ ////
- ’ホソ゛ンケイシキハ↓ノ2ツアリマス
- ’TYPE0
- ’BGUケイシキテ゛ホソ゛ンシマス
- ’ツウシ゛ョウハコチラテ゛ホソ゛ンシテクタ゛サイ
- ’ヒ゛ョウカ゛サキハBGUニナリマス
- ’サイタ゛イモシ゛スウ=8192 (QRCode4マイ)
- ’TYPE1
- ’GRPケイシキテ゛ホソ゛ンシマス
- ’ファイルサイス゛カ゛オオキクナリマス
- ’ヒ゛ョウカ゛サキハク゛ラフィックカ゛メンニナリマス
- ’サイタ゛イモシ゛スウ=49152 (QRCode22マイ)
- ’ТТТТТТТТТТТТТТТТТТТТТТТТТТТТ
- ’///////////////////////////
- ’キョウツウ
- @ADDGRPARC
- IF GPRSVTYPE==0 THEN GOSUB@GRPARC_T0 ELSE GOSUB@GRPARC_T1
- GPR_L=GPR_L+LEN(GPRSTR$)
- GPRSTR$=””
- RETURN
- ’GRPア−カイフ゛サクセイ
- @MAKEGRPARC
- IF GPRSVTYPE==0 THEN GOSUB@MAKEGRPARC_T0 ELSE GOSUB@MAKEGRPARC_T1
- RETURN
- ’GRPア−カイフ゛ヨニコミ
- @GRPARCLD
- IF GPRSVTYPE==0 THEN GOSUB@GRPARCLD_T0 ELSE GOSUB@GRPARCLD_T1
- RETURN
- ’///////////////////////////
- ’CHRア−カイフ゛カキコミ
- @GRPARC_T0
- IF GPR_L==0 THEN GOSUB@GRPARC_CL0
- IF LEN(GPR_CS$)+LEN(GPRSTR$)>=32 THEN GOSUB@GRPARC_T0W ELSE GPR_CS$=GPR_CS$+GPRSTR$
- RETURN
- ’シ゛ッサイニカキコミ
- @GRPARC_T0W
- FOR GPR_J=0 TO 1 STEP 0
- GPR_I=32−LEN(GPR_CS$)
- GPR_CS$=GPR_CS$+LEFT$(GPRSTR$,GPR_I)
- GPRSTR$=RIGHT$(GPRSTR$,LEN(GPRSTR$)−GPR_I)
- GOSUB@GRPARC_T0W2
- IF GPRPRGLES==1 THEN ?”コ゛ウケイ ”+STR$(GPR_L)+” モシ゛カキコミ”
- GPR_X=GPR_X+1
- IF LEN(GPRSTR$)<32 THEN GPR_CS$=GPRSTR$:GPR_J=2
- NEXT
- RETURN
- ’32モシ゛カキコミ
- @GRPARC_T0W2
- GPR_WT$=””
- GPR_Y=LEN(GPR_CS$)
- GPR_L=GPR_L+GPR_Y
- FOR GPR_I=1 TO GPR_Y
- GPR_WT$=GPR_WT$+HEX$(ASC(LEFT$(GPR_CS$,1)),2)
- GPR_CS$=RIGHT$(GPR_CS$,LEN(GPR_CS$)−1)
- NEXT
- CHRSET ”BGU”+STR$(GPRPAGENO),GPR_X,GPR_WT$
- GPR_CS$=””
- RETURN
- ’ヒ゛ョウカ゛サキショキカ
- @GRPARC_CL0
- GPR_CS$=”0000000000000000000000000000000000000000000000000000000000000000”
- FOR GPR_I=0 TO 255
- CHRSET ”BGU”+STR$(GPRPAGENO),GPR_I,GPR_CS$
- NEXT
- GPR_CS$=””
- RETURN
- ’ファイルホソ゛ン
- @MAKEGRPARC_T0
- SAVE”BGU”+STR$(GPRPAGENO)+”:”+GPRSAVNAM$
- RETURN
- ’///////////////////////////
- ’CHRア−カイフ゛ヨミコミ
- @GRPARCLD_T0
- IF GPR_L==0 THEN LOAD”BGU”+STR$(GPRPAGENO)+”:”+GPRSAVNAM$
- GPR_L=1
- GPRSTR$=””
- FOR GPR_I=1 TO 8
- CHRREAD(”BGU”+STR$(GPRPAGENO),GPR_X),GPR_WT$
- GPR_LW=LEN(GPR_WT$)
- FOR GPR_J=1 TO GPR_LW/2
- GPRSTR$=GPRSTR$+CHR$(VAL(”&H”+LEFT$(GPR_WT$,2)))
- GPR_WT$=RIGHT$(GPR_WT$,LEN(GPR_WT$)−2)
- NEXT
- GPR_X=GPR_X+1
- NEXT
- RETURN
- ’///////////////////////////
- ’GRPア−カイフ゛カキコミ
- @GRPARC_T1
- IF GPR_L==0 THEN GOSUB@GRPARC_CL1
- GPR_J=LEN(GPRSTR$)
- GPR_L=GPR_L+GPR_J
- FOR GPR_I=1 TO GPR_J
- GPR_CS$=LEFT$(GPRSTR$,1)
- GPRSTR$=RIGHT$(GPRSTR$,LEN(GPRSTR$)−1)
- GPSET GPR_X,GPR_Y,ASC(GPR_CS$)
- GPR_X=GPR_X+1
- IF GPR_X==256 THEN GPR_X=0:GPR_Y=GPR_Y+1:IF GPR_Y==192 THEN GPR_I=GPR_J+2
- NEXT
- IF GPR_I==GPR_J+2 THEN ?”コレイシ゛ョウモシ゛ヲホソ゛ンテ゛キマセン
- RETURN
- @MAKEGRPARC_T1
- SAVE”GRP”+STR$(GPRPAGENO)+”:”+GPRSAVNAM$
- RETURN
- ’GRPア−カイフ゛ヨミコミ
- @GRPARCLD_T1
- IF GPR_L==0 THEN LOAD”GRP”+STR$(GPRPAGENO)+”:”+GPRSAVNAM$
- IF GPR_Y==192 THEN ?”ファイルシュウタンテ゛ス”:RETURN
- GPRSTR$=””
- FOR GPR_I=0 TO 255
- GPRSTR$=GPRSTR$+CHR$(GSPOIT(GPR_I,GPR_Y))
- IF LEFT$(GPRSTR$,1)==” ” THEN ?”シッハ゜イ”:WAIT 100
- NEXT
- GPR_Y=GPR_Y+1
- GPR_L=GPR_L+LEN(GPRSTR$)
- RETURN
- ’ヒ゛ョウカ゛サキショキカ
- @GRPARC_CL1
- GPAGE 0,GPRPAGENO,0
- GFILL 0,0,255,191,0
- RETURN
この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)
1.GOSUBで↓のラベルを呼び出す
@GRPARCINI
2.↓の変数に変換したい文字列を代入(256文字まで)
GPRSTR$
3.GOSUBで↓のラベルを呼び出す
@ADDGRPARC
(2で設定された内容が書き込まれます)
4.(2)と(3)を必要なだけ繰り返す。
5.GOSUBで↓のラベルを呼び出す
@MAKEGRPARC
(GRPまたはGPRデータが保存されます)
1.GOSUBで↓のラベルを呼び出す
@GRPARCINI
2.↓の変数に読み込むファイル名を設定
GPRDATA$
3.GOSUBで↓のラベルを呼び出す
@GRPARCLD
(変数GPRSTR$に256文字分読み込まれます)
4.必要なだけ(3)を繰り返す
プログラムの46〜49行目の値を書き換えることによって、各種設定を行えます。
GPRSAVNAM$=保存または読み込み時のデフォルトファイル名
GPRPAGENO=保存時のワークエリア番号(CHRの場合はBGU番号、GRPの場合は画面番号)
GPRPRGLES=途中経過表示ON,OFF(0=OFF、1=ON)
GPRSVTYPE=保存形式(0=CHR形式、1=GRP形式)
表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.123 秒 | このページの最終更新 : 2022/09/20 (火) 12:44:08 (565d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30