HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0830
OSもどき製作中最初だけ特定のラベルを実行させたい!5解決


OSもどき製作中

リンク

2014/8/30(Sat) 22:46:43|NO.64538

現在、OSもどきっぽいものを作ってるんですが
一番最初に起動した場合のみ、2番目、3番目以降には実行しないプログラムが作りたいのです。
最初に起動して初期設定みたいなのを表示させたいんですけど
最初、変数でやろうとしてましたが、起動するごとに初期化されるので無理と分かり
今まで、やったことのなかった、変数をファイルに保存して、そこから変数のデータを読み込み
if?で数字で条件分岐させようと思っているんですが、変数の保存方法とその変数が入った
テキストファイルを読み込み、0か1かを判断させる方法が全然わかりませんでした。
誰か教えてくれるとありがたいです。



この記事に返信する


SADOUS

リンク

2014/8/30(Sat) 23:17:46|NO.64539

セーブファイルですか、

notesel SetingFile noteload "setting.txt" noteget line,0;0行目 onoff=int(line);文字を数値化
onoffで判断可能
で読み込みはできる。書き込みも同系のnote系で可能。



ちょっとカッコつけて、

sdim functionOOO,3:dim fOOO,length(functionOOO) FunctionOOO(0)="save = 1" FunctionOOO(1)="option1 = 0" FunctionOOO(2)="option2 = 0" transient="" repeat length(functionOOO) getstr transient,functionOOO(cnt),0,'=' getstr transient,functionOOO(cnt),strsize fOOO(cnt)=int(transient) loop
fOOO(0~2)で判断可能
特定の文字列の後(この場合は"=")を読み込ませる方法もあったり。
この場合は書き込みの処理にも工夫が必要になるけども



SADOUS

リンク

2014/8/30(Sat) 23:30:39|NO.64540

僕のソース見づらいと思うんで解説してしまうと、
functionOOOのOOO(オーオーオー)は、OnOrOffから来てたりします。

テキストファイル以外にも、
画像ファイルに数値を保存することもできます。
pgetやcolor,pos,pset,bmpsave命令を利用して、
1pxの中の色情報(RGB)で読み書きする方法。
画像サイズが8x8でもかなりの量のデータが保存できる他、
初心者ユーザに対するゲームデータ書き換え対策にも。



さっくん

リンク

2014/8/31(Sun) 08:02:58|NO.64547

たぶんこれでしょうか。

buf = 0 bload "buf.txt",buf if buf=1:goto *login:else:goto *setup
if分岐で、数値が1の場合、ログイン画面へ、違う場合はセットアップへ
となります。
しかも、bsaveとbloadは、便利ですよ。
note命令は、ログなどに使用します。



あり

リンク

2014/8/31(Sun) 10:13:35|NO.64548

existでセーブファイルの有無を確認する事で
初回起動を判定する方法(と蛇足)
※自動でセーブファイルを作成するので
 あらかじめセーブファイルは作らないで下さい。

#define savefile "save.txt" ;セーブファイル名 exist savefile if strsize ! -1 : goto *start ;セーブファイルが無ければ初回起動 *setup ;初回時のみここを処理 dialog "初回起動なので\nセーブファイルを作成します" buf = "1" ;最初に表示される起動回数(1回目) notesel buf notesave savefile ;セーブファイルの作成 noteunsel *start ;2回目以降はここから始まる notesel buf noteload savefile noteget start_count, 0 ;起動回数を取得 ct = int(start_count) mes "" + ct + "回目の起動です" ct + 1 noteadd str(ct), 0, 1 notesave savefile ;セーブファイル上書き noteunsel



OSもどき製作中

リンク

2014/8/31(Sun) 21:20:59|NO.64570

みなさん、ありがとうございます!
自分はまだまだ初心者なので、これからも
お世話になるかもしれませんが、よろしくお願いします(笑)
一応、解決にしておきますけど、ほかにも方法があったりしたら
是非、書き込んでください!



ONION software Copyright 1997-2023(c) All rights reserved.