hinekure.net が http://hspdev-wiki.net/ から自動クローリングした結果を表示しています。画像やリソースなどのリンクが切れています。予めご了承ください。
メモリノートパッド - HSP開発wiki
トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS

小ワザ

hsp2.png hsp3.png

メモリノートパッド

ここはメモリノートパッド(以降メモリノートと省略)に関するページです。



メモリノート形式とは

メモリノート形式とは要素を改行で区切ったフォーマットのテキストを指します。
これに対して要素をカンマで区切ったフォーマットのテキストはCSV形式と呼ばれます。

CSV形式は一般的な呼び方に対してメモリノート形式はHSP独自の呼び方です。
HSP以外のプログラマに言っても伝わらないかもしれませんのでご注意を。

メモリノート命令の特徴

文字列を行単位で挿入・削除・上書きなどの操作を簡単に行えます。
HSPのバージョンによって特徴が若干異なってきますので以下の表を参考に読み分けてください。

記号◎: 関数、○: 対応、△: マクロ、×:非対応
命令HSP2.61HSP3.0a説明
noteselメモリノートの対象バッファを設定
noteaddメモリノートに行を挿入/上書き
notegetメモリノートから行取得
notedelメモリノートから行削除
noteloadメモリノートにファイルから読み込み
notesaveメモリノートからファイルに書き込み
noteunsel×メモリノートの対象バッファをnoteselで設定する前の状態に戻す
noteinfo×メモリノートの情報を取得(HSP3 で notemax/noteinfo の本体)
notemaxメモリノートの行数(HSP3 ではマクロ)
notesize×メモリノートのサイズ(HSP3 ではマクロ)

マニュアル

hsp2.61・hsp3.0 共にプログラミングガイドの『2.スクリプト記述の基本 - メモリノートパッド命令』を一読してみてください。

コメント

  • 結構便利に使えるんだけど初心者にとっては使い方が良く分からなかったり勘違いしていたりするので『詳説 メモリノートパッド』的な内容にしようかな。
    HSP2からネタ拾ってきました。
    しかし今、風邪引いてこれから寝るところなので風邪が治ったら続きかきます。
    もしくは代わりに誰か進めてもOKorz。あとでちょこっと手加えるかもです^^; -- kz3 2005-11-26 (土) 16:43:58
  • というかプログラムガイドにも「メモリノートパッド命令」という項目を命令リファレンスとは別に設けて説明してあるんだけどなぁ・・・。内容的にダブりそうな予感。 -- kz3 2005-11-27 (日) 10:16:43
  • 2つの変数で2つのノートパッド形式を使っていて、切り替えるたびにnoteselを使っているけど、切り替えるときはnoteunselを入れないとダメなのかな。エラーないけれど...。 -- hiroki? 2005-11-27 (日) 14:57:21
  • noteunselの説明は、「対象バッファを解除」でいいような気がします。ヘルプ見てもよく分かりませんが・・・。 -- QIG 2005-11-27 (日) 17:17:44
  • noteunselの意味が分かりました!
      1
      2
      3
      4
      5
      6
      7
      8
      9
     10
     11
     12
     13
    
     
     
     
     
     
     
     
     
     
     
     
     
     
    
        notesel buf
            noteadd "test"
        notesel buf2
            noteadd "test2"
            noteadd "test3"
        noteunsel
            noteadd " test4"
     
        mes " buf  : buf2"
        mes "----------------------"
        mes " " + buf
        pos 63,36
        mes "" + buf2
  • noteselを実行している状態でもう一度noteselを実行しても、以前のバッファは記憶されているようです。 -- QIG 2005-11-27 (日) 17:35:19
  • 言い方はものすごく変だけど、gosub(寄り道)みたいなものですね。 -- hiroki? 2005-11-27 (日) 18:48:48
  • 追記:noteunselは一段階しか記憶しないようです。 -- QIG 2005-11-28 (月) 18:19:50
  • noteselによる多重バッファ指定が行われるとどのような不具合が起こるのかが不明・・・。 -- kz3 2006-02-04 (土) 10:17:18
  • 一段階か、なんか裏レジスタみたいだな(わかる人いるかな?) -- Shark++ 2006-02-04 (土) 12:44:52
  • 分かりませぬ・・・(アセンブラ用語・・・) -- kz3 2006-02-04 (土) 13:17:58
  • 確か、この機能は、他の言語では、split関数で提供されますよね。 -- くに 2006-02-04 (土) 14:06:42
  • メモリノートパッドはいわゆる「改行区切りテキスト」と表現すれば分かりやすいんじゃないでしょうか。 CSV は Comma Separated Value(カンマ区切りテキスト,直訳するならカンマ区切り値?)です。他に TSV(タブ区切りテキスト)というのもありますが...。 CSV はフィールドの値にカンマを含めることが可能な仕様(フィールドをダブルクオートで囲み、ダブルクオートは連続で二つ入力するとエスケープできる)ですが TSV や 改行区切りテキストは含めることができません。 -- 2006-12-13 (水) 13:07:09

URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White

トップ    編集凍結 差分バックアップ添付複製名前変更リロード   新規一覧単語検索最終更新   最終更新のRSS
Last-modified: 2009-11-09 (月) 09:56:02 (1490d)