[Top Page][Edit][Discussion][Edit History][All Pages][Recent Changes][->Japanese]

HSPのTips集


HSPを利用する上での細かなTipsなどなど。コードの断片でもいいので、WiKiNameを掘っていってください。


HSP付属文書

HSP2.6:hsp2faq


ウィンドウID別 用途

  • WindowID 0と1は Window sizeの変更ができない
    • たしか 、screen や bgscr で大きさを変えれないことはないはず Shark++
  • WindowID 1は使わない
    • フルスクリーン実行モードの時の背景に使われていたはず Shark++
  • WindowID 0はオープニングメッセージに使う
  • WindowID 2-31を screenコマンドで指定して使う

文字の色を換える

color命令で文字の色を変えることができます。色の指定は、RGBで行います。数字が大きいほど明るく、小さいほど暗くなります。

 color 255,0,0 : mes "赤の文字"
 color 0,255,0 : mes "緑の文字"
 color 0,0,255 : mes "青の文字"
 stop

ファイルを作る

本来HSPには、ファイル作成の命令がありませんが notesave命令を使えば、ファイルをプログラム側から作成できます

  • ツッコミ
    • bsave命令もありますが・・・。(笑)
    • 「空の」を付け忘れてたとか。

HSPキーコード表

HSPのTips:HSPキーコード表 多いので分けました。

sortget命令の使い方

たとえば大きさがp1の配列a1をsortvalでソートして、大きさがp1の配列b1に代入したい場合、

    sortval a1
    repeat p1
      sortget b1.cnt,cnt
    loop

ではうまくいきません。配列に直接代入ができないようなので、新しい変数c1を用意して、

    sortval a1
    repeat p1
      sortget c1,cnt
      b1.cnt=c1
    loop

とすればうまくいきます。

dialogでユーザー定義のフォルダを規定として開く

  • 従来品
    • <b style="color:black;background-color:#ffff66">chdirでカレントディレクトリ設定
    • regkillでLastVisitedMRUキーを削除
  • kz3法
    • 書き途中です。従来品で外部HDDの設定に成功した人はいますか?自分の環境ではパスの通っていない(?)外部HDDは設定できなかったので、コモンダイアログの動作(レジストリ処理)を自前で実装するだけです。(汗)
    • ここに書き込むまでは、HSP開発wiki:http://hspwiki.nm.land.to/?Top のソフト開発->タブスペコンバーター->インターフェースを参考にしてみてください。(モジュール化されていませんがコメント付きです(!!))
    • API側で関数が提供されていそうなんだが・・・
  • 直接APIを呼ぶ
    • GetOpenFileName関数、GetSaveFileName関数
    • OPENFILENAME構造体のlpstrInitialDirメンバにパスを指定

dirinfo(p1)で特殊フォルダの取得

        screen 0,700,500,4
        title "dirinfo" ; dirinfo(p1)で特殊フォルダの取得
        
        a=dirinfo(0x10000) ;デスクトップ
        mes a
        b=dirinfo(0x10002) ;スタートメニューのプログラム
        mes b
        c=dirinfo(0x10005) ;マイドキュメント
        mes c
        d=dirinfo(0x10006) ;IEのお気に入り
        mes d
        e=dirinfo(0x10007) ;スタートアップ
        mes e
        f=dirinfo(0x10008) ;最近使ったファイル
        mes f
        g=dirinfo(0x10009) ;SendTo
        mes g
        h=dirinfo(0x10010) ;デスクトップ
        mes h
        i=dirinfo(0x10013) ;NetHood
        mes i
        j=dirinfo(0x10014) ;フォント
        mes j
        k=dirinfo(0x10015) ;Templates
        mes k
        l=dirinfo(0x10016) ;All Users\スタート メニュー
        mes l
        m=dirinfo(0x10017) ;All Users\スタート メニュー\プログラム
        mes m
        n=dirinfo(0x10018) ;All Users\スタート メニュー\プログラム\スタートアップ
        mes n
        o=dirinfo(0x10019) ;All Users\デスクトップ
        mes o
        p=dirinfo(0x10020) ;Local Settings\Temporary Internet Files
        mes p
        q=dirinfo(0x10021) ;Cookies
        mes q
        r=dirinfo(0x10022) ;Local Settings\History
        mes r
        s=dirinfo(0x10023) ;All Users\Application Data
        mes s
        t=dirinfo(0x10024) ;C:\WINDOWS
        mes t
        u=dirinfo(0x10025) ;C:\WINDOWS\SYSTEM32
        mes u
        v=dirinfo(0x10026) ;C:\Program Files
        mes v
        w=dirinfo(0x10027) ;C:\My Documents\My Pictures
        mes w
        x=dirinfo(0x10028) ;C:\Documents and Settings\自分のユーザー名
        mes x
        y=dirinfo(0x10029) ;C:\WINDOWS\SYSTEM32
        mes y
        z=dirinfo(0x10030) ;スタート メニュー\プログラム\管理ツール
        mes z
        stop

HSP3 tips

その他