コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
RF-4E ◆2Fao.QP8H0Nw
2020/2/23 22:09
質問
拡張子を使ったプログラムの読み込み
例えば、
PHANTOM
TEST.ABC
TOMCAT
と言うプログラムがあったとして…
.ABCの着いたプログラムを探すにはどうすれば良いでしょうか?

今の所は
DIM A$[0]
FOR I=0 TO LEN(A$)-1
IF RIGHT$(A$[I],4)==".ABC" THEN A$[I]=B$
NEXT
?B$

と言うプログラムを書いてみたのですが、B$が空白で返ってきます。
どうすればうまいこと行きますか?

コメント

アバター
Na 2020/2/23 22:16 ◆QoELVrBXBQCI
B$=A$[I]の間違いでは?
アバター
RF-4E 2020/2/23 22:43 ◆2Fao.QP8H0Nw
あ…
本当ですね…。
ありがとうございます
アバター
RF-4E 2020/2/23 22:47 ◆2Fao.QP8H0Nw
あと、ついでにもう一個質問です。
FILESをすると、ファイル名の先頭に*がついてしまうのですが、どうやって消せば良いですかね
アバター
Na 2020/2/23 22:52 ◆QoELVrBXBQCI
先頭の1文字を消すんですから、例えば
A$[I]=MID$(A$[I],1,LEN(A$[I])-1)
A$[I]=RIGHT$(A$[I],LEN(A$[I])-1)
A$[I]=SUBST$(A$[I],0,1,"")
C$=SHIFT(A$[I]) (→先頭がC$,残りがA$[I]に入る)
A$[I][0]="" (←裏技的)
のようにいろいろありますよ
アバター
RF-4E 2020/2/23 22:55 ◆2Fao.QP8H0Nw
なるほど
ありがとうございます!
アバター
takumi 2020/2/24 0:00 ◆Ce3Q40uXWJjn
>A$[I][0]="" (←裏技的)

初めて知った!
アバター
Na 2020/2/24 9:37 ◆QoELVrBXBQCI
文字列の後ろに配列のように[]をつけることで何文字目でも操作できるんですが、この方法は文字列の中身を直接いじるので、理解して使わないとこういうことになります
A$="ABCDE"
B$=A$ 'B$はABCDEになった
A$[2]="X" '3文字目をXにした
?A$ 'ABXDEと表示される
?B$ 'ところがこっちもABXDEになっている
アバター
ugly777 2020/2/24 12:10 ◆B7lOIJDWuOqi
↑B$をA$と同じものにしているのではなくて
本当にB$をA$にしているのか…
アバター
RF-4E 2020/2/24 15:05 ◆2Fao.QP8H0Nw
Naさん
ugly777さん
なるほど。使う時は気をつけます。
初心者向けではない意味がわかりました。

ーーーーー
新しいトピックをたてるのもあれなのでまたまた質問させてください。
AとBとCのプログラムがあった時

Aーーーーー
ACLS
LOAD"B",0
PRGEDIT 1,1
A$=PRGGET$()
EXEC ""+A$

Bーーーーー
C

Cーーーーー
PRINT "終わり"

が書いてあったとして。
「A」を走らせたとき、「B」のプログラムに書いてある「C」を起動させたいのですが、エラーになります。
みんなEXEC ""+A$で動いている筈なのになんででしょう。
EXEC (""+A$)もダメでした。
アバター
あまさとしおん 2020/2/24 15:23 ◆mzDKTVUAtwqE
PRGGET$()は最後に改行がくっついてるので最後の1文字を消す必要があります

最初の1文字を消す
A$[0]=""
を応用して
A$[LEN(A$)-1]=""
なんていうのもありますね
アバター
Na 2020/2/24 15:31 ◆QoELVrBXBQCI
LOAD"B",0 だとスロット0に読み込んでしまうので
LOAD"PRG1:B",0 じゃないですか?
アバター
RF-4E 2020/2/24 15:49 ◆2Fao.QP8H0Nw
あまさとしおんさん
なるほど、最後に改行がついているから何ですね。
ありがとうございます。

Naさん
あ、本当ですね。
書き間違えてました。
ごめんなさい。
ありがとうございます。
アバター
Na 2020/2/24 16:12 ◆QoELVrBXBQCI
ファイルから文字列を取り出すだけなら、
LOAD "TXT:B",0 OUT A$
または A$=LOAD("TXT:B",0)
のほうが簡単で確実かも
アバター
あまさとしおん 2020/2/24 16:25 ◆mzDKTVUAtwqE
LOAD("TXT:B",0)を使っても、すでにデータに改行がついてる分は消えない
(プログラムとしてセーブしている場合)

SAVE"TXT:B",内容 で保存した場合は問題なし
アバター
F-4 Phantom 2020/2/25 15:39 ◆2Fao.QP8H0Nw
ふむふむ
なるほど。
色々な方法があるんですね。
とりあえずは成功したのでやってみます。
ありがとうございます

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -