喫茶XRAYトップページ

[スレッド全体
]

[10869] Re7:ファイルのクリップボードへのコピー返信 削除
2017/2/23 (木) 20:01:02 Mr.XRAY
▼ takaさん

> > この 64 ビット環境への考慮なんですが,
> > そうなんですよ.ポインタは 64 ビットを考慮しないといけないんですよね.
> > それでですね.サイトのサンプルは Delphi XE 使っているんです.
> > これなら,32 ヒット限定できから.


> そうだったんですね。

一応名誉のためにお断りしておきますが,
Delphi XE5, XE7 もインストールだけはしています... (^^;  (だからどうした ?)


[10870] Re8:ファイルのクリップボードへのコピー返信 削除
2017/2/23 (木) 20:30:01 taka
▼ Mr.XRAYさん
> Delphi XE5, XE7 もインストールだけはしています... (^^;  (だからどうした ?)
いっぱい持っていますね。
私は、Delphi2, 2005 と 昨年ただで入手した 10.1 starterだけです。
(Delphi6はウイルス騒ぎがあったときに破棄しました)

10年の間にDelphiいろいろ変わりましたね。
今日は、Delphiには、ポインタ算術演算が実装されている
ということを覚えました。

ポインタのアドレスの加減算のまとめ

新しめのDelphi
 C言語のように直接ポインタアドレスに加減算の処理ができる
 ポインタ算術演算が実装されている

とても古いDelphi
  ポインタ算術演算が実装されていないため
 Integerにキャストして整数にして加減算の処理してポインターにキャストして戻す


[10871] Re9:ファイルのクリップボードへのコピー返信 削除
2017/2/23 (木) 20:50:16 Mr.XRAY
▼ takaさん

> 10年の間にDelphiいろいろ変わりましたね。

ほんとに変わりました.実感です.
Delphi 7 を起動して作業する時,時々

http://mrxray.on.coocan.jp/Delphi/Others/A_IDETechnique.htm#10

んことやって,あれ ? なんて思う時あります.

> 今日は、Delphiには、ポインタ算術演算が実装されている
> ということを覚えました。


これも便利です.ハッキリ言って.
でも,結構整数でキャストしちゃってますが (^^;


[10872] Re10:ファイルのクリップボードへのコピー返信 削除
2017/2/23 (木) 22:31:38 taka
▼ Mr.XRAYさん
> ▼ takaさん
>
> > 10年の間にDelphiいろいろ変わりましたね。
>
> ほんとに変わりました.実感です.
> Delphi 7 を起動して作業する時,時々
>
> http://mrxray.on.coocan.jp/Delphi/Others/A_IDETechnique.htm#10
>  ( Delphi 2007 以降 )

選択行全体のコメントアウトとコメント解除
は、Delphi2005にもあります

目次 タブ
Borlrand Help : Delphi 2005(共通) : ファーストステップ : コードエディタ
を開くと
ブロックコメントという名前で掲載されてまして
> コードエディタでコードを選択し,〔Ctrl〕+〔/〕(スラッシュ)を押せば,
> ...

とあります

コメントアウトのショートカットキーが
Delphi2005
NEW! 変数やフィールドの宣言、メソッドやリソース文字列の抽出、名称変更などを可能とするDelphiリファクタリング
とあるので、これに含まれているのか
そうではなくて、その前の、Delphi8からあるのかは謎です。
Delphi7にはないってことは、8か2005からってことですね。

同期編集モードは使っているのですが
ブロック選択 は、存在を知りませんでした。

個人的には、インデントのショートカットの時に
よく間違って選択コードをびしぃっと消しちゃいます


[10873] Re11:ファイルのクリップボードへのコピー返信 削除
2017/2/24 (金) 09:30:43 Mr.XRAY
▼ takaさん

> は、Delphi2005にもあります

あら,そうでしたから.失礼しました.
後で修正しておこう !!


[10874] サンプル掲載しました返信 削除
2017/2/24 (金) 10:57:27 Mr.XRAY
以下です.

[825_TClipboard.SetAsHandle を使用したファイルのコピー]
http://mrxray.on.coocan.jp/Delphi/plSamples/825_FilesCooyToClipboard.htm

ファイル名の長さの検出が間違っていましたので修正しました.
最後に必ず #0 か #0#0 があるので... (^^;

それから,修正ではないですが,話題にしたポインタですが,
PByte または Ptr は,64 ビットでは自動的に 64 ビットになるので,
そのままで OK のようです.
Integer(LpDropFiles) がどの程度の値になるかにもよると思いますが,
NativeInt にすると Delphi 6 で使えないので...

taka さん,ありがとうございます.
これでやっと終了かな ?


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82