• ベストアンサー

basicでファイル操作

N88BASICでRPGを作っているのですが、セーブデータの書き出し、読み込みの方法がわかりません。 例えば、 10 LET A=1 20 LET B=20 30 LET C=0 と、あった場合、このABCの値をファイルに書き出し、別の機会に読み込む方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Gletscher
  • ベストアンサー率23% (1525/6504)
回答No.2

BASICの解説書を見れば書いてありますよ。 シーケンシャルアクセスかランダムアクセスかで違いますが、その3つだけならシーケンシャルで良いと思うので、以下のような感じです。 10 '****ファイルへの書き込み**** 20 close 30 open "test.txt" for output as #1 40 print #1, A,B,C 50 close #1 60 ' 70 '****ファイル読み込み**** 80 ' 90 open "test.txt" for input as #1 100 input #1, a,b,c 110 close #1

ayumi9821
質問者

お礼

教えてくださったプログラム思い通りの動作をしてくれました。本当にありがとうございます。

関連するQ&A

  • かつてN88BASIC(MS-DOS)で作ったファイル(ランダムファイル)を、Cで読み込むには?

    かつてN88BASIC(MS-DOS)で作ったファイル(ランダムファイル)を、Cで読み込むには、 1)まずBASICのバイナリー形式のファイルを、テキスト形式に変えてから読み込むしか方法はないのでしょうか? 2)ファイルの先頭から読んでいっていいのでしょうか? 未熟者です。どうかよろしくお願いします。

  • マクロでファイルを選択しデータを引用し編集

    マクロでファイルを選択しデータを引用し編集 マクロを組み込んだエクセルワークブックを 開いて、マクロを起動します。 ファイル選択画面が表示され 使用者がファイルを選択すると そのファイルのデータで以下の編集を行い 終了後は、選択したファイルには手を加えず その選択ファイルは閉じたいです。 ファイル選択メッセージを出す所や 間違ったファイルを選択した場合の回避までは作成済みです。 ファイル選択後の処理をする為のコードを教えてください。 選択したファイルには B~F列にデータが入っています。 最終行数はファイルにより異なりますが2行目からデータです。 F列を検索し、同じ値が合った場合その対象行のB~F列の値を マクロが入ったワークブックのシート名(ERR)の B~F列に転記したいです。 A列には、選択ファイルの対象になった行数を入力する。 同じ値は何種類で何個あるかわかりません。 同じ値が一切ない場合は、全データをマクロが入ったワークブックの シート名(ERR)のB~F列に転記したいです。 (シート名(ERR)が選択したファイルと同じ状態になる) 同じ値があって転記した場合と同じ値が無く 全データを転記した場合で転記終了後にそれぞれ違うメッセージ を表示したいです。 よろしくお願いします。 例(左からB,C,D,E,F列 2行目から9行目 説明の為 , で区切ります B123 , ABC , 777 , A12 , 123 B123 , ddd , 565 , B23 , 124 B128 , XYA , 714 , N12 , 120 B129 , ddd , 565 , B23 , 128 B122 , ABC , 777 , U12 , 127 B127 , ZZZ , 678 , B23 , 123 B125 , ABC , 777 , T12 , 123 B124 , ddd , 424 , 623 , 128 F列の値で 123 が2行目、7行目、8行目 128 が5行目と9行目にある ↓ シート(ERR)に転記 (左からA,B,C,D,E,F列 説明の為 , で区切ります 2 , B123 , ABC , 777 , A12 , 123 7 , B127 , ZZZ , 678 , B23 , 123 8 , B125 , ABC , 777 , T12 , 123 5 , B129 , ddd , 565 , B23 , 128 9 , B124 , ddd , 424 , 623 , 128 例2(左からB,C,D,E,F列 2行目から9行目 説明の為 , で区切ります B123 , ABC , 777 , A12 , 123 B123 , ddd , 565 , B23 , 124 B128 , XYA , 714 , N12 , 125 B129 , ddd , 565 , B23 , 126 B122 , ABC , 777 , U12 , 127 B127 , ZZZ , 678 , B23 , 128 B125 , ABC , 777 , T12 , 129 B124 , ddd , 424 , 623 , 130 F列に同じ値が無いのでシート(ERR)にすべて転記 (左からB,C,D,E,F列 2行目から9行目 説明の為 , で区切ります B123 , ABC , 777 , A12 , 123 B123 , ddd , 565 , B23 , 124 B128 , XYA , 714 , N12 , 125 B129 , ddd , 565 , B23 , 126 B122 , ABC , 777 , U12 , 127 B127 , ZZZ , 678 , B23 , 128 B125 , ABC , 777 , T12 , 129 B124 , ddd , 424 , 623 , 130

  • PowerShellの文字操作について

    恐れ入ります、Powershellを、独学でWebで、調べな柄試しているのですが、よくわからなく、初心者で申し訳ないのですが、ご指導いただけますと幸いです。 やりたいことは、CSVファイル1内から、項目Bの”AAA”を含む文字を抽出して、項目Cと別のCSVファイル2の項目で値が一致しないものを、別CSVファイルにしたいというものなのですが、 CSVファイル1の項目Bから条件一致するデータが抜き出せず、困っております。 $a = Get-Content C:\test\\1.csv | Where-Object {$_.B -like "AAA*"} |out-file C:\test\X.csv -encoding Default | Where-Object {$_.B -like "AAA*"} が良くないのか、Out-fileでファイルが作成されるのですが、中にデータが0で抽出ができませんでした。 どこでうまくいっているのかを確認する方法もわからなくて質問して本当に申し訳ありませんが、少しでも何かヒントいただけると助かります。どうぞよろしくお願いいたします。

  • ファイル出力ついて

    当方、JAVA初心者です。 CSVファイルの出力を行うプログラムを作成しています。 仕様として1行目はヘッダ部分を出力し、 2行目以降にDBの値を出力するCSVファイルを作成しようとしています。 例 (ヘッダ部分)"項目A----","項目B----","項目C----","項目D----" (データ部分)"項目Aの値","項目Bの値","項目Cの値","項目Dの値"             ・             ・ ですが、データ部分の個数が不変になっており、ヘッダ部分がずれてしまいます。 例 項目Cの数が2個ある場合はデータ部分に項目Cの値を2個出力する為、 項目Dのヘッダ部の列の下に項目Cの2個目の値が書き込まれてしまいます。 "項目A----","項目B----","項目C-----","項目D-----" "項目Aの値","項目Bの値","項目Cの値1","項目Cの値2","項目Dの値"             ・             ・ そこで、先にデータ部分の書き込みを行い、それぞれの項目のデータ件数の最大値を保持し、最後にデータ件数の最大値に合わせてヘッダ部分の書き込みを行おうと考えているのですが、 ファイルをopenしなおす方法以外で、 先に2行目以降の書き込みを行い、最後に1行目の書き込みを行う方法がわからなく困っております。 ご回答のほど、宜しくお願いします。

    • ベストアンサー
    • Java
  • perlでファイル内を検索

    perlでファイル内を検索して読み込みを行いたいのですが どのようにすればよいでしょうか。 環境は、Solaris10 以下のようなファイル(test.txt)から  #start1~#endの間にある、”01:”で始まっている値をすべて取得する。  複数行になっている場合、カンマで1つにする。  ”01”ではじまっていないものは無視する。#などで始まっているものも。 ●ファイル:test.txt #start1 01:abc,aaa,bbb 01:1234 #01;a1,b1,c1 02:(省略) 03:(省略) #end #start2 01:(省略) 02:(省略) 03:(省略) #end #start4 01:(省略) 02:(省略) 03:(省略) #end ●結果 abc,aaa,bbb,1234 として読み込みたい。

  • excelの重複データの削除方法。

    excel2003で重複する値を自動的に削除する方法を探しています。 現在、以下のような手順で作業をしています。     A   B   C 1 ○○○ 100 ABC 2 ▼▼▼ 200 DEF 3 ◇◇◇ 300 GHI 4 ■■■ 400 JKL 5 △△△ 500 MNO ↑の元データに      A   B   C 1 ○○● 100 ABC 2 ◇◆◇ 300 GHI ↑のデータを追加(貼り付け)して並び替えをすると      A   B   C 1 ○○○ 100 ABC 2 ○○● 100 ABC 3 ▼▼▼ 200 DEF 4 ◇◇◇ 300 GHI 5 ◇◆◇ 300 GHI 6 ■■■ 400 JKL 7 △△△ 500 MNO というデータが出来るとします。 「C列の値を基準」として、重複している箇所を検出・削除し (上の例で言えば、1・2・4・5の行。)      A   B   C 1 ▼▼▼ 200 DEF 2 ■■■ 400 JKL 3 △△△ 500 MNO というデータにしたいと考えております。 重複した値のどちらか一方を残す、という方法ではなく、 重複した値の全てを削除する、という方法が解りません。 手作業で1つ1つ削除していけばいいのですが、本物のデータは何千件とあるので 手作業では時間が掛かりすぎてしまいますので…。なにかよい方法はないでしょうか? 簡単な方法であれば大変助かりますが、マクロなどを使用する方法でもかまいませんのでご教授下さい。 よろしくお願い致します。

  • VBAの操作

    ↓の事を行いていのでうまくいきません。 アドバイスをお願いできませんか? 変更前(Sheet1); (A列) (B列) 1 ABC010 Data_010 2 ABC020 (同上) 'B1-B2は結合セル 3 ABC030 Data_020 4 ABC040 (同上) 'B3-B4は結合セル . . 変更後(Sheet2); (A列) (B列) 1 ABC010 "OK" 2 ABC020 "OK" 3 Data_010 "Comp" '追加行 4 ABC030 "OK" 5 ABC040 "OK" 6 Data_020 "Comp" '追加行 . . Sheet1(B列)に値があれば、 Sheet2(A列)に結合セルの単位で値をコピーする。 Sheet2(B列)には"OK"コメント その都度、必ず最後に行追加して結合セルの値、"Comp"コメントをコピーする. 現象は毎行、追加行が挿入されてしまいます。 Sub testVBA() Dim i Worksheets("Sheet1").Range("A:B").Copy With Worksheets("Sheet2") .Range("A1").PasteSpecial For i = 1 To 1000 If .Cells(i, 2) <> "" Then .Cells(i + 1, 1) = .Cells(i, 2) .Cells(i + 1, 2) = "Comp"   .Cells(i, 2) = "OK" End If Next i End With End Sub

  • 2構造の ファイル名変更 出来ますか?

    (フリーソフトNamery v3.70で 私には出来ないようなので お助けください) デジカメファイルの連番を下記のようにリネーム出来ますか? ABC1a ABC1b ABC1c ABC2a ABC2b ABC2c ………と57個で ABC19cまで続きます。(上記のファイル名に 元ファイル001から057を置き換えたいという意味です) 出来るソフトありましたらお願いします。

  • ファイル入力

    下記のようにテキストファイルをオープンして、fscanf文でデータを入力していくのですが、 ファイルの数が1000個ほどありまして、 ファイル名が abc001.txt abc002.txt abc003.txt ・ ・ abc100.txt のように一部だけ変わっているだけなんです。 すべてのファイル名を何回も記述するのはめんどうなので、簡単に出来る方法がありましたら、教えて欲しいです。 if((fp = fopen("abc001.txt","r"))!=NULL) { while(fscanf(fp,"%lf,%lf\n",&index[n][0],&index[n][1])!=EOF) ・ ・ ・ ・

  • N88BASIC for windows で書いたプログラムをPC-98に

    (1) N88BASIC FOR WINDOWSで書いたプログラムをPC-9821で起動しようとすると起動しなかった為、一度PC98のメモ帳で開いて、ファイル名を***.BASと付けたところPC-98で読み込んでくれました? このようにしないと互換(読み込みができないのでしょうか? (2) また、PC-98 N88BASICで3.5FDD(B)のファイルと確認しようと   FILES Bと打ちリターンキーを押すとmiss typingと表示されます。Aドライブ以外はFILES Bで確認できたと思うのですが違うのでしょうか?何卒お願いします。