2022-08-01 20:42:04
Re②:プリントページをテキストに出力するプログラムを作りたい
①
「,」を先に出力するようにしたりして工夫されたみたいなんですが、「ページ数<>0の間」のループでは、尋ねるでキャンセルや何も入れずに決定して「それ」が空になった場合、「,」を出力して、ページ数(空)を出力して、それから先頭に戻って、ページ数が空だぞとループを抜ける形になるので、結局「,」が入っちゃいますよね。 なので、尋ねる文でページ数を入力した後に、出力をするか、ループを抜けて終了するかを判断するようにしなきゃなりません。 あと、ループの中では自動的に「回数」のカウンタが回っているので、最初の一回目は「,」を出力しないようにするのも、回数が1より大きい場合にだけ出力するようにすればOKです。 ② 「全面表示」ってのは全画面じゃなくて最前面ってことでいいんでしょうか。 窓アクティブの使い方自体は間違ってないと思うんですが、「*なでしこ*」と前にも後にもワイルドカードを指定してるので、「なでしこ」がタイトルに含まれる窓全部が該当しちゃいます。 その最初にヒットしたやつがアクティブ化するので、目的のこのプログラムがアクティブにならないだけじゃないですか? エディタから起動した場合、エディタのタイトルは「ファイル名-なでしこエディタ」なので、そっちが先にヒットするものと思います。 ワタシは、ブラウザでこの掲示板を開いていたら「日本語プログラミング言語なでしこ公式掲示板」でアクティブになりましたよ~w 母艦のタイトルを変更しないなら、単に「なでしこ」でいいはずです。 でも、もしかほかにもなでしこで作ったプログラムをいろいろ走らせているとタイトルがなでしこだらけになるので、こういった窓系の命令を使いたい場合は、固有のタイトルをつけるのがよいと思います。 で、こんな感じ? #---------------------------------------------- 母艦のタイトルは「プリントページ出力」 『F1』に「入力表示」をホットキー登録。 ●入力表示 //「なでしこ」を窓アクティブ 「プリントページ出力」を窓アクティブ 「{デスクトップ}★プリントアウトページ.txt」に出力先設定。 ページ数は-1. 永遠の間 「ページ入力」と尋ねる。 ページ数はそれ。 もし、ページ数=空ならば、 抜ける。 違えば、 もし、回数>1ならば、「,」を出力。 ページ数を出力。 終了する。 #---------------------------------------------- 気になる部分があったので補足で。 ① >ループの中では自動的に「回数」のカウンタが回っているので、最初の一回目は「,」を出力しないように 出力先初期化をせず「出力」を使っているということは 「前回出力したうしろに追記する」ということなので、回数での判定はちょっと怪しい感じです。 最初に出力先ファイルを開いて空かどうか判断する必要がある気がします。 (実際は毎回空にしてからスタートしているなら、関係ない話です) ② 母艦のタイトルよりもダイアログタイトルを変えたほうがいいかもしれません。 (尋ねるダイアログと母艦のタイトルが同じだと、うっかり母艦が前に出る可能性が?) ~~~ 『F1』に「入力表示」をホットキー登録 ●入力表示 「ページ数」を窓アクティブ ダイアログタイトルは「ページ数」 尋ねる ~~~ あとは用途とか好みによる話なのですが… 入力方法が尋ねる、出力方法が出力、はクセのある方式なんじゃないかなと思います。 入力方法をメモ部品とかにして、出力方法は「保存」とか「コピー」(ときどき「メモ記入」)が使い勝手が良いと思います。 |