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


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
0616
hellohspHSPでリボンUIの作成、GUIブートの作成、パスワード入力を2バイト文字にする方法11未解決


hellohsp

リンク

2020/6/16(Tue) 17:03:03|NO.90783

HSPで以下の3つについて教えてください。
HSPでリボンUIを作る方法(hsp.moeさんのではエラーが起こり使えません。)
HSPで、Windows 10やMSOffice起動時に表示される (・・・・・)の実装方法
パスワード入力で●を使う方法

よろしくお願いします。



この記事に返信する


kanamaru

リンク

2020/6/16(Tue) 17:55:15|NO.90784

リボンUIについては、調べてみましたがかなり難しそうです。
タブメニューを高さ低めに作れば後は中の描画を頑張ればそれっぽくなると思います。
2番については前にこの掲示板に投稿されてたのがあったと思うんですが見つけられませんでした。
3番は、http://lhsp.s206.xrea.com/command/input.htmlにサンプルがあります。



沢渡

リンク

2020/6/16(Tue) 18:17:04|NO.90785

「パスワードで●を使う方法」について。
kanamaruさんのリンク先(Let's HSP!)にあるコードの改造ですが、
以下のようにすれば全角文字が使えるようです。

buf = "" input buf hInput = objinfo(stat, 2) a=0 : b="●" : poke a,0,peek(b,1) : poke a,1,peek(b,0) //↑2バイト文字は文字列変数ではビッグエンディアンで記述されているので、 // リトルエンディアンの形にして整数変数にセット。 ; パスワード化 (EM_SETPASSWORDCHAR) sendmsg hInput, $CC, a button "チェック!", *check stop *check dialog "["+buf+"] でーす。"



沢渡

リンク

2020/6/16(Tue) 18:23:09|NO.90786

リボンUIについては以下の過去スレのGENKIさんの書き込みが参考になるかもしれません。
(リボンUIではなく『リボンUIっぽいUI』ですが)
http://hsp.tv/play/pforum.php?mode=pastwch&num=55952



あらや

リンク

2020/6/16(Tue) 20:09:11|NO.90787

△鮠々雑ですが、イージング関数を使用してやってみました。

; イージング関数の設定 setease 0, 320, ease_cubic_inout; dim cf, 5; // 各●のフレーム取得用 fmi = 10; // 各●のフレーム差 fmax = 100; // アニメーションフレーム最大値 *main redraw 0; color 0, 0, 0 : boxf; // 画面をクリア repeat 5 if( cnt != 0 ) { cf(cnt) = cf(cnt - 1) - fmi; // 前の●よりfmiフレーム遅らせる } px = getease(cf(cnt), fmax); // イージング値の取得(整数) color 255, 255, 255; pos px + 160, 240 : mes "●"; loop redraw 1; await 17; cf(0)++; if( cf(4) > fmax ) { // 最後尾の●が端まで行ったらリセット cf(0) = 0; } goto *main;



inovia

リンク

2020/6/17(Wed) 00:16:06|NO.90789

> HSPでリボンUIを作る方法(hsp.moeさんのではエラーが起こり使えません。)

中の人です。すいません。配布しているDLLがデバッグ版になっていました。
「MSVCR100D.dll」がないと動作しないため、ソースコードを探してビルドし直しておきます。



inovia

リンク

2020/6/17(Wed) 01:21:40|NO.90791

> HSPでリボンUIを作る方法

取り急ぎ、ビルドし直しました。サンプルが動くはず。
https://hsp.moe/#junk

が、作り方の説明が一切ないので、難易度高めですが…
時間があれば、あとでこのスレッドにでも追記しておきます。



沢渡

リンク

2020/6/17(Wed) 19:22:03|NO.90797

△砲弔まして、ドットサークルアニメーションを作ってみました。
あまりリアルには再現できなかったかもしれませんが、とりあえず。

#include "winmm.as" #module //canm_init p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11 // ドットサークルアニメ表示の初期設定を行う。 // 実行後、描画領域の正方形の一辺の長さがstatに入る。 // ドットサークルアニメ中はseteaseやgeteaseは使わないこと。 //p1,p2 : この処理で用いる画像バッファの番号 //p3 : ドットの半径 //p4 : 公転半径 //p5,p6,p7 : ドットの色(r,g,b) 0,0,0は使用不可 //p8,p9,p10 : 背景の色(r,g,b) //p11 : 一周にかかる時間(ミリ秒) #deffunc canm_init int _buf1,int _buf2,int _r0,int _r1,int cr0,int cg0,int cb0,int cr1,int cg1,int cb1,int msec now_buf=ginfo_sel buf1=_buf1 //作業で用いるバッファ番号1 buf2=_buf2 //作業で用いるバッファ番号2 r0=_r0 //ドットの半径 d0=r0*2 //ドットの直径 r1=_r1 //公転の半径 d1=r1*2+d0 //描画領域の正方形の一辺の長さ buffer buf1,d0,d0 : gsel buf1 color 0,0,0 : boxf color cr0,cg0,cb0 : circle 0,0,d0,d0,1 buffer buf2,d1,d1 : gsel buf2 color cr1,cg1,cb1 : boxf gsel now_buf c_cou=msec/33 //一周にかかるカウント数(1カウントは1/30秒) c_cou2=c_cou*2 //二周にかかるカウント数 h_cou=c_cou/5 //カウントがこの数値になるまではドットを表示しない h_cou2=c_cou2-h_cou //カウントがこの数値になったらドットを表示しない g_cou=c_cou/16 //ドット1個ごとのカウント差 cou0=-1 TimeGetTime : start_t=stat setease M_PI*0.5,M_PI*2.5,ease_quad_inout return d1 //canm p1,p2 // ドットサークルアニメを表示 // これを実行する前にcanm_initを実行しておくこと。 //p1 : 1の時はredraw処理を行う(省略可。省略時は1) //p2 : 1の時は背景を初期化する(省略可。省略時は1) #define global canm(%1=1,%2=1) _canm %1,%2 #deffunc _canm int swi,int swi2 TimeGetTime : cou=((stat-start_t)/33)\c_cou2 //カウント値を取得 if cou=cou0 : return //前回これを実行した時とカウント値が変わらないなら何もしない cou0=cou if swi : redraw 0 x=ginfo_cx : y=ginfo_cy if swi2 { gmode 0 gcopy buf2,0,0,d1,d1 } gmode 2 x0=x+r1+r0 : y0=y+r1+r0 //公転の中心 repeat 5 cou1=cou+cnt*g_cou if (cou1>h_cou)&(cou1<h_cou2) { rad=geteasef(cou1\c_cou,c_cou) pos int(cos(rad)*r1)+x0-r0,int(sin(rad)*r1)+y0-r0 gcopy buf1,0,0,d0,d0 } loop if swi : redraw 1,x,y,d1,d1 pos x,y return #global //以下サンプル color 0,0,0 : boxf canm_init 100,101,4,30,255,255,255,0,0,0,2200 pos 100,100 repeat canm await 33 loop



hellohsp

リンク

2020/6/23(Tue) 17:29:11|NO.90845

返答が遅れてしまい、すみません。
,砲弔い
inoviaさん、その後ダウンロードした後、正常に実行できました。ありがとうございました。
△砲弔い
あらやさん、沢渡さん スクリプトを改造し、それっぽいのはできました。ありがとうございました。
関数などからできないかわからないので、△蓮△修里泙泙砲靴泙后
について
沢渡さん、無事できました。ありがとうございました。



hellohsp

リンク

2020/6/23(Tue) 17:31:04|NO.90846

引き続き質問したいのですが、同様複数の質問の解決お願いします。

‐綵颪保存をするスクリプト
∪瀋蟆萍未砲△襯侫ント変更ダイアログが表示され、実際に変更されるプログラム



あらや

リンク

2020/6/23(Tue) 19:34:07|NO.90847

‐綵颪保存をするスクリプト
単純にexistで同名のファイルがあるか確認し
ファイルがあれば『上書きしますか? はい いいえ』という
メッセージのダイアログを表示し
『はい』を選んだ場合は保存するという流れではいけないのでしょうか?

∪瀋蟆萍未砲△襯侫ント変更ダイアログが表示され、実際に変更されるプログラム
http://www.hsptv.sakura.ne.jp/play/pforum.php?mode=pastwch&num=85590
こちらのゆうやんさんのソースがほぼそのまま使えます。

// 最初の3行のみ修正 ;#include "hsp3utf.as" // SJISだけで良いのならばこれは不要 #uselib "comdlg32.dll" #func ChooseFont "ChooseFontA" int // SJISならばChooseFontWではなくChooseFontAを使う

Unicode文字を使う場合は私の方のソースを使用してください。



hellohsp

リンク

2020/6/25(Thu) 16:48:46|NO.90864

あらやさん、,任垢、おっしゃるとおりです。
△砲弔い討任垢、無事実行できました。
ありがとうございました。

-------------------------------------------------------------------------
また、質問追加ですみません。
現在、クリーナーソフトを作成していますが、
インターネット一時ファイルなどのジャンクファイルを検出、表に抽出、
削除ボタンをクリックで削除といったものにしたいのですが、ジャンクファイルを
検出し、表に抽出、削除といった動作の方法を教えてください。



記事削除

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

NO.90783への返信

マスコット

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

名前

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

削除用パスワード

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

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

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