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


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
1007
弘中クリップボードを経由せずinput内の選択内容を取得したい4解決


弘中

リンク

2020/10/7(Wed) 23:22:44|NO.91561

すみません、もう一つ質問させてください。


#define WM_COPY $301 #include "hspext.as" buf = "abcdefghijklmnopqrstuvwxyz" input buf, 600//, 200 hMesbox = objinfo(stat, 2) button "WM_COPY", *copy stop *copy ; 選択文字をクリップボードにコピー sendmsg hMesbox, WM_COPY sdim msg,1024 clipget msg,1024 dialog msg stop

inputにabc~xyzまでの文字列があると思いますが、これの任意の文字列
(例えばfghijklmn)を選択し、下のボタンを押すと、選択されていた
文字列がクリップボード経由で取得されます。

この場合、実行前にクリップボードに入っている文字列が消えてしまいます。
もちろん、取得して作業後にクリップボードへ戻せば問題無いのですが
ファイルなどがクリップボードに入っている場合、面倒と思います。
出来ないことは無いと思いますが・・・

そこでお聞きしたいのが、クリップボードを経由せず、直接取得する方法は
何かあるでしょうか?

知りたいことは、
ファイルがクリップボードにコピーされている場合は作業後にファイルをクリップボードへ
再度コピーする方法ではありません。クリップボードを経由せず同じ事が出来るかが知りたいです。

よろしくお願い致します。



この記事に返信する


MillkeyStars

リンク

2020/10/7(Wed) 23:57:20|NO.91562

こんな感じ?

#define WM_COPY $301 #include "hspext.as" buf = "abcdefghijklmnopqrstuvwxyz" input buf, 600//, 200 hMesbox = objinfo(stat, 2) button "WM_COPY", *copy stop *copy sendmsg hMesBox,0x00B0,0,0 position_start = stat & 0xFFFF position_end = stat >> 16 & 0xFFF size = position_end - position_start sdim msg,size + 1 msg = strmid(buf,position_start,size) dialog ""+msg stop



弘中

リンク

2020/10/8(Thu) 06:44:23|NO.91564

ありがとうございます、希望の動作確認出来ました!



弘中

リンク

2020/10/8(Thu) 09:09:27|NO.91566

MillkeyStars さん

既に解決を押した後で申し訳ありません。
頂いたコードを実装しようとして、気付いた点があります。

対象文字列がアルファベットのみで有ればこれで問題無いのですが、
2バイト文字が混ざってくるとずれるようです。


buf = "abcdefghijにほんご日本語漢字123123##klmnopqrstuvwxyz" input buf, 600 hMesbox = objinfo(stat, 2) button "COPY", *copy stop *copy sendmsg hMesBox,0x00B0,0,0 position_start = stat & 0xFFFF position_end = stat >> 16 & 0xFFF size = position_end - position_start sdim msg,size + 1 msg = strmid(buf,position_start,size) dialog ""+msg stop

帰ってくる数字はバイト数関係無く何文字目かということでしょうか?


よろしくお願いいたします。



弘中

リンク

2020/10/8(Thu) 16:28:34|NO.91567

こちらを参考にしたら出来そうです、お騒がせしました。すみません。

http://hsp.tv/play/pforum.php?mode=pastwch&num=3414



記事削除

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

NO.91561への返信

マスコット

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

名前

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

削除用パスワード

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

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

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