自アプリ間で配列をクリップボードで受け渡しするには?

解決


大鼻  2005-07-06 17:34:52  No: 16206

いつもお世話になっております。
クリップボードを使って自アプリ間でデータの受け渡しを行いたく色々調べてみましたが理解できず困り果てております。
受け渡ししたいデータは下のようなものですが、実際はもっと多くの要素で成り立っていてますし、typeも沢山あります。
ご教授願います。
type
  TMyDataA=packed record
    color:TColor;
    Moji :String;
    MojiSiz :Integer;
end;
type
  TMyDataB=packed record
    color:TColor;
    ZahyouX:single;
    ZahyouY:single;
end;
var Moji:Array of TMyDataA;
    Ten:Array of TMyDataB;


たかみちえ  URL  2005-07-06 17:57:09  No: 16207

独自フォーマットをクリップボードに登録する方法です。
http://homepage2.nifty.com/Mr_XRAY/Halbow/Notes/N014.html


大鼻  2005-07-06 18:40:06  No: 16208

たかみちえさん、すばやい返答ありがとうござうます。
大鼻です。
Mr_XRAYさんのところへ行ってみました。
恥ずかしながら、私には難しく理解するには時間がかかりそうです。
もう少し簡素に解説しているところはないのでしょうか?


anone  2005-07-06 18:45:30  No: 16209

理解できないければ、たんにコンポーネントを使うだけでは?


大鼻  2005-07-06 18:57:36  No: 16210

anoneさん。ありがとうございます。
大鼻です。
>http://homepage2.nifty.com/Mr_XRAY/Halbow/Notes/N014.html
にあるunit CopyPasteUnitをそのまま使う?でいいのでしょうか?
また使用する際には著作権等の問題はないのでしょうか?


大鼻  2005-07-06 20:40:38  No: 16211

大鼻です。
http://homepage2.nifty.com/Mr_XRAY/Halbow/Notes/N014.html
ここにある
TWriter.Create(CopyPaste1.CopyData,1000);
の第二引数  1000  というのはどのような意味があるのでしょうか?


anone  2005-07-06 20:59:31  No: 16212

ヘルプを使って見てください。


Mr.XRAY  URL  2005-07-07 09:09:56  No: 16213

>の第二引数  1000  というのはどのような意味があるのでしょうか?

anoneさんがレスしていますが,意味はヘルプで調べるとして,取敢えず
動作させてみることも必要かと思います.動けば正義です.(^_^;)
難しいからと避けているわけにはいかない思いますよ.
プロジェクトファイルが私のサイトからダウンロードできます.
テストできます.

それから著作権は気にする必要はありません.利用は自由です.


大鼻  2005-07-07 17:25:55  No: 16214

Mr.XRAYさん。
>それから著作権は気にする必要はありません.利用は自由です.
とのうれしい書き込みを頂きありがとうございます。
大鼻です。
anoneさんのご指摘のようにコンポーネントをそのまま組み込み、Mr.XRAYさんのご指摘どうりサンプルを参考にして動かしてみました。
すんなり作動させることができ大変ありがたく感謝し感激いたしております。
低能な質問ですが、
TFiler.Createメソドをヘルプで検索すると下のような説明文でした。
>Stream パラメータで指定したストリームに BufSize で指定するサイズのバッファを関連付けます。
この”BufSize で指定するサイズのバッファを関連付けます。”の語文の意味がわからずにいます。BufSize 1000という領域を確保することなのでしょうか?
第二引数  1000  を  1  にしても作動するし、、、?


anone  2005-07-07 19:45:41  No: 16215

> この”BufSize で指定するサイズのバッファを関連付けます。”の語文の意味がわからずにいます。

TWriter が内部処理で使うバッファメモリのサイズを指定するわけです。
多ければ処理速度が向上しますがメモリを沢山使うことになります。

こんなところに疑問を抱くのもいいですが、それより全体の動作を理解するほうが
先ではないかと思うのですが・・・・


大鼻  2005-07-07 20:16:32  No: 16216

anoneさん。
ありがとうございます。
大鼻です。
>全体の動作を理解するほうが
>先ではないかと思うのですが・・・・
はい、そうですね。これから努力します。

何度もしつこいのですが、もう一度だけ教えてください。
第二引数の値ですが、どうのようにして導びき出せばいいのでしょうか?
単に実行速度を目安に決めればいいのでしょうか?


anone  2005-07-07 20:28:23  No: 16217

> 第二引数の値ですが、どうのようにして導びき出せばいいのでしょうか?

知りません。適当でいいのでは? ものすごく大きなサイズをバッファリングする
なら速度にも影響があるでしょうね。


ん?  2005-07-07 21:21:00  No: 16218

ゴミレスですが・・・

> こんなところに疑問を抱くのもいいですが、それより全体の動作を理解するほうが
> 先ではないかと思うのですが・・・・
自分は、別に後でも先でもいいと思います。
よくあるのが、「例として書いてある1000をそのまま使うだけ」で、どういう数値であるか理解しない人。知った後も、ずっと1000で使い続けるでしょう。
それに比べると、大変好ましいことです。

> 第二引数の値ですが、どうのようにして導びき出せばいいのでしょうか?
ちなみに、どれくらいのデータをコピペするのかはわかりませんが、結構大きな数値を入れもいいんじゃないかと思います。
大きいデータを扱うのであれば、バッファサイズは少なすぎてもパフォーマンスが落ちます。
1000(1K)はちょっと少ないので、50Kくらい使ってもいいでしょう。
状況にもよりますが、自分なら、500K〜1Mくらい使いそうですな。


大鼻  2005-07-07 22:25:45  No: 16219

anoneさん。ん?さん。ありがとうございます。
大鼻です。
ちなみにタスクマネージャーで確認したのですが、
クリップボードに送りたい平均的なデータ量をコピーした時メモリ使用量が5000Kほど増えました。
また、送るデータは動的配列をコピーしたものであるためメモリの許す限り大きなものになりす。
どれくらいのバッファサイズがいいでしょうか?


anone  2005-07-07 22:35:46  No: 16220

なにか処理速度に不満がありますか?

あるなら10Mから10までいろいろ試してみたらいいと思います。
不満が無ければべつに1kでも10kでもいいと思います。


大鼻  2005-07-07 22:46:02  No: 16221

anoneさん。
ありがとうございます。
大鼻です。
こちらで色々ためして設定します。
みなさん本当にありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加