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


HSPTV!掲示板


未解決 解決 停止 削除要請

2009
0404
ガンマコピーした文章の内容4解決


ガンマ

リンク

2009/4/4(Sat) 18:29:27|NO.24448

こんにちは。また皆さんのお力を借りたいと思い書き込みました。
よろしくお願いします。

今回は文書作成ツールを作っています。
そこでツールに文書の文字数を数えてくれる
機能をつけようと思いました。

僕自身としては
"文章をコピーしてその文字数をカウントしたい"
のですが、コピーした物が入っている変数とかないのでしょうか?
よろしくお願いします。



この記事に返信する


inovia

リンク

2009/4/4(Sat) 18:40:08|NO.24449

参考になるかは不明ですが、大昔に作ったスクリプトです。


#uselib "user32" #cfunc SetClipboardViewer "SetClipboardViewer" int //hwnd;return g_hNextWnd #func OpenClipboard "OpenClipboard" int //hwnd #cfunc GetClipboardData "GetClipboardData" int //(CF_TEXT);return hText #func CloseClipboard "CloseClipboard" //NONE #func ChangeClipboardChain "ChangeClipboardChain" int,int //hwnd,g_hNextWnd #uselib "kernel32" #cfunc GlobalLock "GlobalLock" int //hText;return pText #func GlobalUnlock "GlobalUnlock" int //hText #cfunc GlobalSize "GlobalSize" int //pText;return TextSize g_hNextWnd=SetClipboardViewer(hwnd) oncmd gosub *WM_DRAWCLIPBOARD,0x0308 onexit *exit stop *WM_DRAWCLIPBOARD OpenClipboard hwnd hText=GetClipboardData(1)//CF_TEXT if hText !=0{ pText = GlobalLock(hText) //mes GlobalSize(pText) sdim string,GlobalSize(pText)+1 dupptr string,pText,GlobalSize(pText)+1,2 GlobalUnlock(hText) } title ""+strlen(string)+"文字" CloseClipboard return *exit ChangeClipboardChain hwnd,g_hNextWnd end



inovia

リンク

2009/4/4(Sat) 18:46:26|NO.24450

書き忘れましたが、クリップボードの内容が書き換えられたときのみ作動します。
スクリプトを実行した後、適当に文字をコピーしてみてください。
タイトルバーに文字数が表示されているはずです。



窓口

リンク

2009/4/4(Sat) 20:41:50|NO.24457

こんな方法もありますよ。


#include "hspext.as" sdim f,200000 gsel 0,2 repeat getkey key,17 if key = 1{ clipget f,200000 msg = str(strlen(f)) cls mes f color 255,0,0 : mes "----------------------------------------------------" color 0,0,0 mes msg } wait 20 loop



ガンマ

リンク

2009/4/5(Sun) 09:23:09|NO.24467

inovaさん、窓口さん、レスありがとうございます。
見易さと分りやすさから窓口さんのスプリクトを参考にさせていただき
なんとかプログラムを完成できました。
ホントにありがとうございました!



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