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


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
0716
名無しの権兵衛ファイルのパスの取得方法3未解決


名無しの権兵衛

リンク

2020/7/16(Thu) 16:11:38|NO.91002

ノートアプリを開発していますが、ファイル選択ダイアログが表示され、
ファイルを選択後、編集、上書き保存といった感じにしたいのですが、
ファイルのパスを取得し、取得できない場合は、名前をつけて保存、
あれば、パスの場所に上書き保存としたいのですが、HDLでは、参考に
なるコードが見つかりません。
ソースコードを交えて教えてください。



この記事に返信する


とあるプログラマ

リンク

2020/7/16(Thu) 17:35:19|NO.91003

詳細はコード中に書いてありますが、パスが取得できているかいないかはパスを変数に保存しておけば分かります。
簡単に言えば変数が空であれば未取得で中身があればそれがパスだと判断すればいいです。

パスの先のファイルが存在するか否かについてであればexist命令で分かります。


screen 0 sdim path, 256 // ファイルパス用 sdim text // 内容用 objsize 100, 25 // 開くボタン pos 0, 0 button gosub "開く", *open // 閉じるボタン pos 100, 0 button gosub "保存", *save // エディットボックス pos 0, 25 mesbox text, ginfo_winx, ginfo_winy - 25, 1 | 4 | 8, 0 id_mesbox = stat // objprmで使うためオブジェクトIDを取得 stop *open dialog "txt", 16, "テキストファイル" if (stat == 0) : return // キャンセル path = refstr // 開く・保存ダイアログの結果(パス)はrefstrに格納される exist path sdim text, strsize // existで取得したファイルサイズ(strsize)でtext変数のバッファを確保 notesel text noteload path objprm id_mesbox, text noteunsel title "開きました: [" + path + "]" return *save if (path == "") { dialog "txt", 17, "テキストファイル" if (stat == 0) : return // キャンセル path = refstr } notesel text notesave path noteunsel title "保存しました: [" + path + "]" return



名無しの権兵衛

リンク

2020/7/21(Tue) 17:21:43|NO.91057

返事が遅れてすみません。
スクリプトを実行した後、正常に行えました。
追加質問ですみません。
^刷プレビューを使って印刷処理を行うスクリプト(ソフト含む)
△燭討龍萓擇蠕のスクリプト
この二つについてよろしくお願いします。



とあるプログラマ

リンク

2020/7/22(Wed) 13:34:52|NO.91063

>>^刷プレビューを使って印刷処理を行うスクリプト(ソフト含む)
HSPで印刷をやったことが無いので私には分かりかねます。申し訳ありません。


>>△燭討龍萓擇蠕のスクリプト
どういうことなのかよく分かりませんが、画面に線を引くということなのであれば

color 255, 0, 0 line 50, 0, 50, ginfo_winy
このようにline命令でできます。

エディットボックスに垂直罫線(折り返し線)のようなものを付けるのであれば、コントロールをサブクラス化してWM_PAINT時に追加で線を引くとかでしょうか。
こちらも私はやったことがないので詳細は分かりかねます。

お力になれずに申し訳ありません。



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.91002への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

解決したら質問者本人がここをチェックしてください。

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

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