いつもお世話になっております。
クリップボードを使って自アプリ間でデータの受け渡しを行いたく色々調べてみましたが理解できず困り果てております。
受け渡ししたいデータは下のようなものですが、実際はもっと多くの要素で成り立っていてますし、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;
独自フォーマットをクリップボードに登録する方法です。
http://homepage2.nifty.com/Mr_XRAY/Halbow/Notes/N014.html
たかみちえさん、すばやい返答ありがとうござうます。
大鼻です。
Mr_XRAYさんのところへ行ってみました。
恥ずかしながら、私には難しく理解するには時間がかかりそうです。
もう少し簡素に解説しているところはないのでしょうか?
理解できないければ、たんにコンポーネントを使うだけでは?
anoneさん。ありがとうございます。
大鼻です。
>http://homepage2.nifty.com/Mr_XRAY/Halbow/Notes/N014.html
にあるunit CopyPasteUnitをそのまま使う?でいいのでしょうか?
また使用する際には著作権等の問題はないのでしょうか?
大鼻です。
http://homepage2.nifty.com/Mr_XRAY/Halbow/Notes/N014.html
ここにある
TWriter.Create(CopyPaste1.CopyData,1000);
の第二引数 1000 というのはどのような意味があるのでしょうか?
ヘルプを使って見てください。
>の第二引数 1000 というのはどのような意味があるのでしょうか?
anoneさんがレスしていますが,意味はヘルプで調べるとして,取敢えず
動作させてみることも必要かと思います.動けば正義です.(^_^;)
難しいからと避けているわけにはいかない思いますよ.
プロジェクトファイルが私のサイトからダウンロードできます.
テストできます.
それから著作権は気にする必要はありません.利用は自由です.
Mr.XRAYさん。
>それから著作権は気にする必要はありません.利用は自由です.
とのうれしい書き込みを頂きありがとうございます。
大鼻です。
anoneさんのご指摘のようにコンポーネントをそのまま組み込み、Mr.XRAYさんのご指摘どうりサンプルを参考にして動かしてみました。
すんなり作動させることができ大変ありがたく感謝し感激いたしております。
低能な質問ですが、
TFiler.Createメソドをヘルプで検索すると下のような説明文でした。
>Stream パラメータで指定したストリームに BufSize で指定するサイズのバッファを関連付けます。
この”BufSize で指定するサイズのバッファを関連付けます。”の語文の意味がわからずにいます。BufSize 1000という領域を確保することなのでしょうか?
第二引数 1000 を 1 にしても作動するし、、、?
> この”BufSize で指定するサイズのバッファを関連付けます。”の語文の意味がわからずにいます。
TWriter が内部処理で使うバッファメモリのサイズを指定するわけです。
多ければ処理速度が向上しますがメモリを沢山使うことになります。
こんなところに疑問を抱くのもいいですが、それより全体の動作を理解するほうが
先ではないかと思うのですが・・・・
anoneさん。
ありがとうございます。
大鼻です。
>全体の動作を理解するほうが
>先ではないかと思うのですが・・・・
はい、そうですね。これから努力します。
何度もしつこいのですが、もう一度だけ教えてください。
第二引数の値ですが、どうのようにして導びき出せばいいのでしょうか?
単に実行速度を目安に決めればいいのでしょうか?
> 第二引数の値ですが、どうのようにして導びき出せばいいのでしょうか?
知りません。適当でいいのでは? ものすごく大きなサイズをバッファリングする
なら速度にも影響があるでしょうね。
ゴミレスですが・・・
> こんなところに疑問を抱くのもいいですが、それより全体の動作を理解するほうが
> 先ではないかと思うのですが・・・・
自分は、別に後でも先でもいいと思います。
よくあるのが、「例として書いてある1000をそのまま使うだけ」で、どういう数値であるか理解しない人。知った後も、ずっと1000で使い続けるでしょう。
それに比べると、大変好ましいことです。
> 第二引数の値ですが、どうのようにして導びき出せばいいのでしょうか?
ちなみに、どれくらいのデータをコピペするのかはわかりませんが、結構大きな数値を入れもいいんじゃないかと思います。
大きいデータを扱うのであれば、バッファサイズは少なすぎてもパフォーマンスが落ちます。
1000(1K)はちょっと少ないので、50Kくらい使ってもいいでしょう。
状況にもよりますが、自分なら、500K〜1Mくらい使いそうですな。
anoneさん。ん?さん。ありがとうございます。
大鼻です。
ちなみにタスクマネージャーで確認したのですが、
クリップボードに送りたい平均的なデータ量をコピーした時メモリ使用量が5000Kほど増えました。
また、送るデータは動的配列をコピーしたものであるためメモリの許す限り大きなものになりす。
どれくらいのバッファサイズがいいでしょうか?
なにか処理速度に不満がありますか?
あるなら10Mから10までいろいろ試してみたらいいと思います。
不満が無ければべつに1kでも10kでもいいと思います。
anoneさん。
ありがとうございます。
大鼻です。
こちらで色々ためして設定します。
みなさん本当にありがとうございました。
ツイート | ![]() |