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


HSPTV!掲示板


未解決 解決 停止 削除要請

2014
0405
ヒラギノ簡易HSPエディター27解決


ヒラギノ

リンク

2014/4/5(Sat) 01:41:28|NO.61391

最近は、いろんなエディタを作るのが流行っているらしいので、僕も便乗してHSPエディタを作ってみました。

https://dl.dropboxusercontent.com/u/88821392/Editor.zip

説明書は付いていないので、簡単に説明したいと思います。

よく使うようなツールは、必要なものだけを残し、アクセスしやすいよう左側に集めました。
・バツマーク エディタを終了します。
・ファイルマーク 新規ファイルを作成します。(真っ新の状態に戻します。)
・上矢印マーク ファイルを読み込みます。
・下矢印マーク Footy の内容を実行します。

コンテンツに集中しやすいよう、背景は灰色です。
編集者のストレスがなるべく減るようにと思い、Vertical Rhythm を導入しています。

機能は、これからどんどんと増やしていこうと思います。
drksugi さんの作品に勝るようなものを目指しています。

ちなみに、hhx_db.hsp が見当たらないのですが、どこにあるのですか?



この記事に返信する


HIJIKI

リンク

2014/4/5(Sat) 03:29:15|NO.61394

まず、GUIがシンプルで良いですね。
普段からプログラミングをする人がメインエディタにするには、
機能が足りない気がしますが、
これからプログラムを学ぼうという人にとってはよいエディタかもしれません。

HSPという言語のシンプルさも加味して、よい学習ツールとして使えそうな気がします。
そういう観点で見た際に、HSPという言語を知っている前提でのエディタなので、
ヘルプにアクセスできるようになるといいかもしれませんね。



GOMEKIT!

リンク

2014/4/5(Sat) 08:08:52|NO.61396

DLしてみて使った。とても機能がシンプルでHSPを持っていないユーザーでも手軽に使える。
行番号が付けられているので例えばエラーが発生した行でも簡単に見つけられる。
謂わば、初心者向けのエディタ。

【問題点】
・無題の内容が変更されている時、開き、新規作成、終了時に保存を促すメッセージを表示して欲しい。
・ファイルを保存すると保存されたファイルの拡張子が消失している。
・存在しない命令を入力して実行するとエラーが発生し、エディタまで強制終了されてしまう。
【要望点】
・F1とかでヘルプファイルを表示できるようにして欲しい。



potato(poteto0413)

リンク

2014/4/5(Sat) 18:08:31|NO.61405

とても良いと思います。

個人的要望
・実行は「▷」こんなマークのほうが良いかも。
・命令を色分けして欲しい。
・F1ください。

です。

とても良いものであると思いますので、これからも頑張ってください。



ヒラギノ

リンク

2014/4/5(Sat) 22:19:01|NO.61411

食事をしていて、返信が遅くなってしましました。すみません。

>HIJIKI さん
ありがとうございます。ゆくゆくは、プラグインなどを使って機能を拡大できるようなエディタにしたいです。
ヘルプへのアクセスの仕方がわからないので、ちょっと遅れtてしまうかもしれません><

>GOMEKIT! さん
>【問題点】
どれも、肝心なものを忘れていました。ありがとうございます。
特に、最後の問題は早急に解決したいです。

>potato(poteto0413) さん
ありがとうございます。
実行のマークは、HSP のツールバーを参考にさせてもらったのですが、「▷」一般的なのですかね。
命令の色分けは、今のところ、少し実装が困難です。が、少しなのでがんばってみます!



ヒラギノ

リンク

2014/4/6(Sun) 23:48:26|NO.61433

更新しました。
色分け機能が付きましたが、実行ファイルにすると色分けできなくなってしまいました。
また、機能が一段と豊富になりました。

https://dl.dropboxusercontent.com/u/88821392/Editor.zip

エラーを直していると、時間がかかりそうなので、Beta 版を公開します。
上記のURL にて、ダウンロードしてください。

『hsp3.exe』『hspcmp.dll』『hsp3debug.dll』のライセンス
Copyright (c) 1997-2013 ONION software
(これで、合っているのでしょうか?)



ヒラギノ

リンク

2014/4/11(Fri) 23:47:58|NO.61521

更新しました。
・色分け機能付き
・自動入力補完機能付き

https://dl.dropboxusercontent.com/u/88821392/Editor.zip

まだまだ、Beta 版です。

『hsp3.exe』『hspcmp.dll』『hsp3debug.dll』のライセンス
Copyright (c) 1997-2013 ONION software



YSR

リンク

2014/4/12(Sat) 04:46:20|NO.61522

>NO.61521
今回はソースコードは付けないんですね。早速感想をば。
○バグ編
・今回も入力補完がなんだか上手く行かない気がします……。
 口では説明しにくいので動画にしてみました。
 http://www1.axfc.net/u/3220972.mp4
・ファイルを開いてから編集部分で入力補完を出し、その後に
 エディタ左側にあるツリー表示(ファイル一覧?)をクリックすると、
 「D:\簡易HSPエディター\Editor\Editor\\resizeobj」というダイアログが
 表示された後、エラー12で強制終了してしまいます。
○要望編
・ソースファイルを保存する際、拡張子を端折っても適切な拡張子が付くように
 した方が使いやすいと思います。具体的には、getpath関数で保存するファイル名
 (大抵はrefstrかと思われる)の拡張子をチェックして、その後ファイルの種類毎に
 拡張子を付け直す処理を入れればいいかと。
・配色がコメント以外なんだかHSPの標準エディタ風で、背景が白な当エディタには
 そぐわない気がします(特に文字列が黄色で表示されるところなど)。
・無意識にControlキー+各種アルファベット(ショートカット)を押してしまうので、
 ControlキーやShiftキーやAltキーが押されている際には入力補完を切れるように
 してくれると嬉しいです。
○その他編
・objファイルは実行する際には必要ないので同梱しないようにするべきです。
・ファイル保存についてですが、「ファイルを開いていない際に保存ボタンを押すと
 名前をつけて保存、ファイルを開いている際に保存ボタンを押すと上書き保存」
 というのは仕様でしょうか?
・「ファイルをいちいち開かないと、ファイル名が表示されない」のは仕様でしょうか?
 (つまり、新規作成→保存しても保存ファイル名が表示に反映されない)



YSR

リンク

2014/4/12(Sat) 04:49:14|NO.61523

補足:
「D:\簡易HSPエディター\Editor\Editor\\resizeobj」におけるフォルダ部分は
環境依存(インストールしたパス依存)なので無視して結構です。ただ、色々
試したところ、フォルダ部分は「Editor.exeが存在するフォルダ」、
ファイル名部分は「"resizeobj"で固定」ということが分かりました。参考までに。



GOMEKIT!

リンク

2014/4/12(Sat) 08:41:41|NO.61525

□バグ
・入力補完機能がうまく動作しない。
・入力補完機能を使うと入力補完機能が使えなくなる。
・入力補完機能が作動している間、命令を入力できない。
・ファイルの内容の変更を行ってないのにも関わらず保存を促すメッセージダイアログが表示される。
・新規作成を行うと色分けされなくなる。
□要望
・無題の内容が変更されている時、ファイル開き、終了時に保存を促すメッセージを表示して欲しい。
・多くの開発ツールではF5で実行できるようになっているからF5で実行できるようにしたい。
・ファイルをドロップするだけでファイルを開けるようにしたい。
・ウィンドウサイズ変更、最大化できるようにしてほしい。



ヒラギノ

リンク

2014/4/13(Sun) 14:40:59|NO.61537

>YSR さん
 わざわざ動画の撮影までしていただいて、ありがとうございます!
 入力補完は、再度作り直しています;; 入力補完が、表示されなくなる問題は解決しています。
が、フォーカスのある位置にポップアップを表示するのは、難しいです。
(22行以降は、だんだん、下の方にポップアップが下がっていってしまいます)

alCreateImage 等の命令があるので、Shift キーを押したときは、表示してもいいでしょうか?

> ソースファイルを保存する際・・・
 なるほどです。いままで、拡張子は勝手に付いてくれるものだと思っていたので、以前GOMEKIT! さんに指摘されたまま放置していました;;
 すみません。

> 配色がコメント以外なんだか・・・
 いずれは設定で、ユーザの使いやすい色を指定できるようにしたいです。

> ファイル保存についてですが・・・
 上書き保存の動作をするようにしているので、仕様です。

> 「ファイルをいちいち開かな・・・
 次までに、改良しておきます><



ヒラギノ

リンク

2014/4/13(Sun) 15:00:51|NO.61538

>GOMEKIT! さん
ご報告ありがとうございます。

>・入力補完機能がうまく動作しない。
>・入力補完機能を使うと入力補完機能が使えなくなる。
>・入力補完機能が作動している間、命令を入力できない。
 なるべく、早く改善したいです。すみません。

> ファイルの内容の変更を行っ・・・
 本当でした;; 改善しておきます!

> 新規作成を行うと色分けされな・・・
 直しました!上記・下記の改善・改良が終わったら、また、公開します!

> 無題の内容が変更されている時・・・
> 多くの開発ツールではF5で実行・・・
> ファイルをドロップするだけで・・・
 分かりました!

> ウィンドウサイズ変更、最大化・・・
 独自ウィンドウでは、実装が難しいと思っていましたが、意外にも、簡単にできました。

>YSR さん
 書き忘れてしまいましたが、ソースコードはつけた方がよろしいでしょうか?
 次に公開するときは、つけておきますね!



YSR

リンク

2014/4/13(Sun) 15:05:05|NO.61539

>NO.61538
ソースコードはあった方が良いと思います。デバッグしやすい的な意味で。



ヒラギノ

リンク

2014/4/24(Thu) 20:04:01|NO.61662

更新されました。
タブが使用できるようになりましたが、不具合だらけです;;
入力補完機能は、スクロールできないなど、まだ不完全ですが、一応公開します;;
ソースコード付きです。

https://dl.dropboxusercontent.com/u/88821392/Editor.zip

『hsp3.exe』『hspcmp.dll』『hsp3debug.dll』のライセンス
Copyright (c) 1997-2013 ONION software



Mameshiba

リンク

2014/4/25(Fri) 13:34:55|NO.61675

早速使ってみました。
入力補助機能がとても便利です!修正点もあったので書いておきます。

修正点
・ファイルを開くと内部エラーが発生する
・入力補助機能で候補が何も表示されないときがある
・サイズ変更をするとウィンドウが動かせなくなる
・タブが動作するときとしないときとある
・検索できない



ヒラギノ

リンク

2014/4/25(Fri) 17:14:11|NO.61678

>Mameshiba さん
ありがとうがざいます!
HSP にも、かんたん入力がありますが、ポップアップで表示される方が便利ですよね。

修正点に書いてあることが、簡単そうで、意外と直しにくいです><

>・ファイルを開くと内部エラーが発生する

特に、上記の原因がほぼ不明です。実行ファイルにするとエラーになるようです。何故??



Mameshiba

リンク

2014/4/25(Fri) 18:12:20|NO.61679

一緒に入っていたソースコードを確認してみました。

change.asの10行目「sortnote list, 0」の部分でエラーが起きるようです。
それと、ファイルを開いた後に終了するとエラーが起きるのですが
Editor.hspの80行目「a = Footy2IsEdited(idFooty)」の部分でエラーが起きているのも確認しました。



GOMEKIT!

リンク

2014/4/25(Fri) 20:23:29|NO.61681

■問題点
・検索ボックスに検索したい文字を入力するとエディタまでに入力されてしまう。(半角英語入力)
・サイズ変更又はウィンドウ移動を行うとウィンドウが移動できなくなる
・名前の保存をキャンセルすると「Editor.exeは動作を停止しました。」とプログラムエラーが表示される。

>特に、上記の原因がほぼ不明です。実行ファイルにするとエラーになるようです。何故??

恐らくインクルードしたDLLファイルが実行ファイルと同じパスに無いと思う。



YSR

リンク

2014/4/25(Fri) 20:43:55|NO.61682

>NO.61662
ありがとうございます。早速デバッグ作業に入ります。



YSR

リンク

2014/4/26(Sat) 00:45:37|NO.61684

とりあえず現状のまとめ。
・ファイル一覧→http://codepad.org/ko8zECEY
・依存関係一覧→http://codepad.org/ZUS4jxZt
・制御フロー一覧→http://codepad.org/fkehBaV0
・asファイルが読み込めないのは地味に気になります。
・画面左側の枠の一番下の部分に線が無いのは単なるミスですかね?
・入力補完が、「入力したキーコードからアルファベットを識別して検索」
 する仕様なので、例えば「m」と打たれた横にカーソルを合わせて「es」と
 押しても「mes」などではなく「es_adir」などが出現します。
 Footy2にはまだ慣れてないので素人意見ですが、「カーソルが合った行の
 カーソル以前の文字列」から、「途中〜末尾まで英字のみの部分」を抽出
 して、入力キーと合わせて検索させればずっと自然になるかと思われます。
 (ついでに、入力文字列を消しても入力補完画面が出っぱなしなのは
 ダサいので要改善。上記の方法の応用でなんとかなるか?)
・タブの動作が謎です。既存のタブコントロール(Win32API)にしろとは
 言いませんが、ミニ画面(MDI風)をクリックしてもサッパリ反応
 しなかったりするのはなかなかにキツいですね……。
・右上の×ボタンを押して、「終了しますか。」で「はい」を選んでも
 終了しないことがしょっちゅうあります。onexit部分を確認する限りでは
 変なコードになってないのに何故でしょう。それに、ソースを読んで
 気付きましたが、ソフト終了時は問答無用でクリップボードを空に
 するんですねこれ……。

・NO.61679関連ですが、これってHFもAFも両方0である場合は考慮していない
 のでしょうか。また、Footy2IsEdited(idFooty)でエラーが出る
 ということは、idFootyの管理でヘマしている可能性が大です。
・NO.61681関連ですが、検索ボックス云々は間違いなくonkeyのせいです。
 (現在アクティブなウィンドウIDをginfo_actで取得して処理すれば
 問題は無くなるかと思われる)
 また、ウィンドウサイズ変更時に移動できない云々は、ソースを実行
 すればわかりますが、Editor.hspの66行目で処理が止まっているからです。
 ここで止まると、「右上の×を押しても終了できない」状態になるので
 非常に厄介だったりします。
 ちなみに名前の保存云々は、click.asの140行目にて演算子の優先順位を
 勘違いしているせいです。「stat or pre ! 0」を「(stat or pre) ! 0」
 に書き換えてしまえば問題ありません。……と言うだけだとまだ微笑ま
 しいのですが、*Saveに飛ぶ際は確実にpreの値が1であることから、この
 論理式はstatに関わらず確実に真となってしまいます。……これはひどい。

 ふと思ったのですが、これだけ複雑なソフトなのですから、
仕様書のようなものはないのでしょうか。自分では平気だと
思っていても、ある程度流れを把握していないと後で謎のバグに
苦しんだり、そうでなくても汚いコードになってしまうものです。



ヒラギノ

リンク

2014/4/26(Sat) 07:58:04|NO.61685

>GOMEKIT! さん
ご報告ありがとうございます。
>・検索ボックスに検索したい文字を入力するとエディタまでに入力されてしまう。(半角英語入力)
 キーが押されたら、常にFooty2 にフォーカスが移ってしまいすね;;失礼しました。

>・サイズ変更又はウィンドウ移動を行うとウィンドウが移動できなくなる
 上記の操作以外にも、ウィンドウを切り替えたりすると、フォーカスがメインのウインドウ以外に
移ったままになっていました。次回までに直しておきます;;

>・名前の保存をキャンセルすると「Editor.exeは動作を停止しました。」とプログラムエラーが表示される。
 やってみたら、いきなり終了してしまったようです。エラーすら表示されませんでした><

こんなにひどいとは思ってませんでした。ごめんなさい。



ヒラギノ

リンク

2014/4/26(Sat) 09:20:29|NO.61688

>Mameshiba さん
ご報告ありがとうございます。
dir_list で複数のファイルを指定できないので、dir_list を複数回実行して、
sortnoteでソートを行うということをしたかったのですが、、、

>Editor.hspの80行目「a = Footy2IsEdited(idFooty)」の部分でエラーが起きているのも確認しました。
これは、何故エラーになるのでしょう?
うーん。謎が深まってしまいます><



ヒラギノ

リンク

2014/4/26(Sat) 09:43:18|NO.61689

>YSR さん
いつも、ご報告ありがとうございます。
>・制御フロー一覧→http://codepad.org/fkehBaV0
>*Execution(click.as) //exe作成?
 F5 を押したとき・アイコンクリックされたときのHSP実行です。
紛らわしいですが、exe作成する機能は、まだ実装できていません><

>*ActiveWindow6 //?
 入力補完ウィンドウがクリックされたときの処理です。
入力補完ウィンドウのID が6だったので、この名前です。

>*ActiveWindow0 //?
 タブがクリックされたときの処理です。ウィンドウID が0だったので、この名前です。

>*ListTree //死に機能(デバッグ用?)
 左側のツリーの部分がクリックされたときの処理です。忘れていました;;

>oncmd *Mousewheel, $20A //マウスホイール(注:未実装)
 入力補完ウィンドウ上で、スクロールされたときの処理のつもりです。
フォーカスを、常にFooty2 に渡してしまうため、使えない状態になっています。


>・asファイルが読み込めないのは地味に気になります。
 忘れていました;;修正します。

>・画面左側の枠の一番下の部分に線が無いのは単なるミスですかね?
 こちらでは、そのようなことはなかったのですが。。。
何か、特別な操作をしなくても、最初からそうなっていますか?

>・入力補完が、「入力したキーコードからアルファベットを識別して検索・・・
 うーん。難しいですね。常に、後ろ側から入力するわけではないので、
Footy2 の機能で、キャレット(行と桁)を取得して、行全体を取得してから、
split でスペースごとにわけてから、さらに、カーソルのあった桁に近い要素を調べて・・・
そして、該当する命令がなかったら、閉じる。みたいな風でできるのかな??難しいです。

>・タブの動作が謎です。既存のタブコントロール(Win32API)にしろとは・・・
 サムネイル表示をするために、Alt+PrtSc を仮想キーを利用して、スクリーンショットを撮って
並べる。みたいな感じで動作しているはずです。
 サムネイルのクリックの問題と上記の
>・サイズ変更又はウィンドウ移動を行うとウィンドウが移動できなくなる
は、movemouse.as の最後の行にgsel 0 を加えたら通常通り動作したのですが、
直ったのでしょうか??

>・右上の×ボタンを押して、「終了しますか。」で「はい」を選んでも・・・
 スクリーンショットを撮らないといけないので、クリップボードの内容が勝手に操作されます。
 ごめんなさい。

>・NO.61679関連ですが、これってHFもAFも両方0である場合は考慮していない・・・
 HFやAFとは、何のことでしょう>< 文字コードとかでしょうか?
 よく考えたらタブを作るとき、idFooty を何度も使い回ししていたような気がします、、、
 (そのせいかもしれません><)

>……と言うだけだとまだ微笑ましいのですが・・・
 変数を使い回ししていました>< 全く気づきませんでした。ごめんなさい。

>ふと思ったのですが、これだけ複雑なソフトなのですから、
 分かりました。作ってみます。

なかなか、実用できるほどのソフトにはなりませんね。。。
いつも、フィードバックをしていただきありがとうございます!



YSR

リンク

2014/4/26(Sat) 13:00:32|NO.61693

>入力補完ウィンドウのID が6だったので
>ウィンドウID が0だったので
お願いだからそういうのは#constとかで定数にしてくださいな……
マジックナンバーとかマジ勘弁して下さい……

>枠の一番下の部分に線が無い
起動時は大丈夫なのですが、ファイルを読み込むと……
http://i.imgur.com/HjSrbsM.png

>カーソルのあった桁に近い要素を調べて
カーソル位置から1つづつ戻りつつ文字コードを調べて、
アルファベットじゃなければ読み取り中止、でも大丈夫な気がします

>スクリーンショットを撮って
つWin32API
http://chokuto.ifdef.jp/advanced/capturewindow.html

>idFooty を何度も使い回し
HSPの場合、変数は全部(実質的に)グローバル変数なので、変数使い回しをすると後々まで響くことになります
「a = Footy2IsEdited(idFooty)」で落ちるのも巡り巡ってそのせいかもしれませんし



ヒラギノ

リンク

2014/4/27(Sun) 18:21:37|NO.61711

>YSR さん
いつもありがとうございます。
>マジックナンバーとかマジ勘弁して下さい……
あわわ…次からは気をつけます。

>起動時は大丈夫なのですが、ファイルを読み込むと……
修正しました。change.as ファイルの14 行目
pos 19, 19 : gcopy 18, 0, 0, 190, ginfo_winy-37

pos 19, 19 : gcopy 18, 0, 0, 190, ginfo_winy-38
と書き換えることで直ります。

>カーソル位置から1つづつ戻りつつ文字コードを調べて・・・
なるほどです。そっちの方が簡単そうですね。頑張ります!

>つWin32API
ウィンドウキャプチャだと、オブジェクトまでキャプチャされないものだと思っていました。
早速実装しました。



ヒラギノ

リンク

2014/4/29(Tue) 13:58:10|NO.61750

Editor Nightly を公開します。

https://dl.dropboxusercontent.com/u/88821392/Editor%20Nightly.zip

Editor Nightly は、開発中の Editor の最新のバージョンをダウンロードして、
実行するためのソフトウェアです。

詳しくは、付属の Read Me.txt をご覧ください。



E.T

リンク

2014/5/8(Thu) 20:19:14|NO.61941

DLして使ってみました。
機能は少ないと思いますがデザインはいいです

それとウイルスバスターの7.0.1240を使用しているのですが実行すると
不審なファイルと出てしまいます。



ヒラギノ

リンク

2014/5/8(Thu) 22:14:31|NO.61943

>E.T さん
ありがとうございます。

>機能は少ないと思います
将来的に最低限 HSP エディタにある機能は搭載したいです。

HSP で作成された実行ファイルは、
アンチウイルスソフトの識別が失敗することで起こると考えられているそうです。



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