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


HSPTV!掲示板


未解決 解決 停止 削除要請

2018
0426
Sealfooty2で全ての文字の取得10解決


Seal

リンク

2018/4/26(Thu) 05:45:53|NO.84158


#cfunc global Footy2GetTextA "Footy2GetTextA" int, sptr, int, int ; 文字列取得 (ANSI版)
footy2で全ての文字の取得は可能でしょうか?
目に向けたのが Footy2GetTextA ですが、
全く使い方が分かりません(^^;
何方か教えていただけないでしょうか。



この記事に返信する


さか

リンク

2018/4/26(Thu) 21:28:53|NO.84167

命令としては以下ですがバグで最後の1文字が抜けます。
#include "hsedsdk.as"

hsed_getactfootyid nFootyID
hsed_gettext txt, nFootyID

mes txt

自分はこちらで取得してます。
#include "hsedsdk.as"
#include "hspext.as"

hsed_selectall footyId // 全選択
hsed_copy footyId // クリップボードへコピー
txt="": clipget txt, 1028 // クリップボードから取得

mes txt



いののて

リンク

2018/4/27(Fri) 16:30:13|NO.84178

Footy2GetTextA の第1引数には取得したいFooty2のID、第2引数には文字列がコピーされるバッファへのポインタ、
第3引数には改行コードの設定(LM_から始まる定数)、第4引数には取得する文字列の長さを指定します。

以下サンプル

nSize = Footy2GetTextLengthA(iFooty2, LM_AUTOMATIC) //エディタ内の文字の総数を取得 sdim buf, nSize+1 //文字列バッファを確保 Footy2GetTextA iFooty2, varptr(buf), LM_AUTOMATIC, nSize //エディタの文字列を取得



Seal

リンク

2018/4/28(Sat) 08:51:50|NO.84186

>NO.84178
戻り値が 文字列がない時は -1
文字列がある時は 0 と返します...



いののて

リンク

2018/4/28(Sat) 13:50:35|NO.84187

>戻り値が 文字列がない時は -1 文字列がある時は 0 と返します...
Footy2GetTextA は、文字列ではなく、エラーコードが返されるようになっていますので、正常な動作です。
取得した文字列は、Footy2GetTextA の第2引数で指定した変数に代入されます。

それから、NO.84178のサンプルについてですが、
最後の一文字が取得されない不具合があったので、以下に差し替えてください。すみません。

nSize = Footy2GetTextLengthA(iFooty2, LM_AUTOMATIC)+1 //エディタ内の文字の総数を取得 sdim buf, nSize+1 //文字列バッファを確保 Footy2GetTextA iFooty2, varptr(buf), LM_AUTOMATIC, nSize //エディタの文字列を取得



Seal

リンク

2018/4/28(Sat) 14:25:35|NO.84188

ありがとうございます!!



Seal

リンク

2018/4/28(Sat) 14:31:40|NO.84190

因みに複数行はできますか?
   ↑全て



いののて

リンク

2018/4/28(Sat) 15:21:52|NO.84191

Footy2GetTextA はFooty2内の全ての文字列を取得する命令ですので、
複数行の取得は勝手にしてくれます。



Seal

リンク

2018/4/29(Sun) 09:15:47|NO.84204


#include "footy2.as" nID = Footy2Create( hwnd, 0, 0, 620, 456, 0 ) pos 0, 456 button gosub "送信", *send stop *send nSize = Footy2GetTextLengthA( nID, LM_AUTOMATIC ) + 1 sdim source, ( nSize + 1 ) res = Footy2GetTextA( nID, varptr(source), LM_AUTOMATIC, nSize ) dialog "" + source return

すいません。
上のスクリプトは footy2 の1行しか取得されません...



いののて

リンク

2018/4/29(Sun) 12:37:12|NO.84205

自分の環境では再現されませんでした。
OS:Windows 7 Professional SP1 64bit
プロセッサー:Intel® Core™ i7-3770 CPU 3.40GHz
メモリ:16.0 GB
Footy2のバージョン:2.018a

やり方は合っていますので、原因は、Footy2のバグか、バッファが十分に確保できていなかったか、
1行しか入力していなかったかくらいだと思います。

もう少し詳しくそうなった時の状況を教えてください。



Seal

リンク

2018/4/29(Sun) 13:50:58|NO.84208

>Footy2のバグか、バッファが十分に確保できていなかったか、
>1行しか入力していなかったかくらいだと思います。

Footy2のバグ … 可能性はある
バッファが十分 … 確保が出来ている
1行しか入力していなかった … 3,4行ぐらい入力しても dialog には 1行しか表示されない
Windows 10 Home
バージョン:1709
OSビルド:16299.371



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