[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 02/07 11:17 / Filesize : 190 KB / Number-of Response : 625
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Delphi初心者のための寺子屋



1 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 23:31:08 ]
Delphi初心者が問題をコツコツと解きながらレベルアップするためのスレです。


237 名前:疑問 mailto:sage [2007/04/16(月) 02:52:02 ]
なんでIntegerとかが予約語になっていないのでしょうか

var
Integer: string;
begin
Integer := 'Double';
Writeln(Integer);
end.


238 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 08:03:01 ]
Integerは予約語ではないけど定義済の型名だから
変数として使うと、
使った後整数型の定義とか、型変換とかで困ってしまうよ

他の型名とか自分で定義する型名も同じ事情があるよ。

239 名前:デフォルトの名無しさん mailto:sage [2007/04/16(月) 16:19:27 ]
回答になってねぇw

240 名前:デフォルトの名無しさん [2007/04/16(月) 23:21:03 ]
>>237
なんでだろ。
Windows.hとかのCからコンバートしたときのための兼ね合い?
似たようなので、引数でも例外あったような

241 名前:名無し@沢村 [2007/04/17(火) 00:10:20 ]
おみゃーらー♪
Delphiはつまらんぞー!
おみゃーたー、『肥えた語』つー言語があるの知ってる?
おりは知ってるよ。
おりがつくった言語よ。これからh『肥えた語』の時代よ。
URLはここよ↓
www.geocities.jp/hontamagod/
感想を頼むなー♪


242 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 22:52:08 ]
JEDI がDelphi2005にインストールできません。
以前入れたときは確か、すんなり入ったのですが。
..\JEDI\jvcl\run\JvJVCLUtils.pas(7359) エラー: E2010 'Char' と 'string' には互換性がありません
..\JEDI\jvcl\run\JvJVCLAboutForm.pas(115) 致命的エラー: F2063 '..\..\run\JvJVCLUtils.pas' ユニットはコンパイルできませんでした
ほかにも出てきます。
pas は秀丸では欧文フォントで文字化けなしに読めたんですが「TM」とかの特殊文字が
○株みたいに扱われているんでしょうか、Shift-Jis ではChar扱いしてもらえないようです。

OSは Vista
D5 にはインストールされています。
m(_ _)m

243 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 23:02:28 ]
せめてバージョンくらい書こうよ・・・

244 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 23:05:38 ]
すんません、JVCL320CompleteJCL197-Build2172.zip でした。

245 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 23:07:22 ]
なんでそんなに古いのを入れようとしてるの?



246 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 23:17:26 ]

そんなに古いのー?

247 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 23:18:12 ]
すみまそん。
しばらくD5で使ってたのでそれをそのままフォルダからインストールしようとしてました。

248 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 23:19:48 ]
それだとD5でコンパイルされたファイルと混じっておかしくなるんじゃない?

249 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 23:28:30 ]
やっぱそうですか。
はき出す場所が違うからOKだと思っていたのですが、
とりあえず2005には最新版を入れてみます。

250 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 20:28:58 ]
JVCL331CompleteJCL199-Build2551.zip
入れてみましたが状況は変わりませんでした(x.x)

251 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 21:14:09 ]
前にインストールしたときのゴミが残ってるんじゃないかね。
とりあえずJcl*.bplとJv*.bplを削除してみたら?

252 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 21:28:50 ]
ってことは皆さん問題なく入れていたということなんでしょうね。
結局使わない部分っぽかったので修正して無理矢理入れてしまいました。

JvgUtils.pas
function Transliterate(const Str: string; RusToLat: Boolean): string;
コメントアウトで Result := Str;

JvDBGrid.pas
FCharList :=
['A'..'Z', 'a'..'z', ' ', '-', '+', '0'..'9', '.', ',', Backspace{,
'e', 'e', 'e', 'e', 'o', 'o', 'u', 'u', 'a', 'a', 'a', 'i', 'i', 'c'}];
下半分をコメントアウト

JvJVCLUtils.pas
// Text: Char;
Text: string[2];
Char を string に変更

JvStrToHtml.pas
特殊文字 27 個コメントアウト

ありがとうございましたm(_ _)m

253 名前:デフォルトの名無しさん [2007/04/24(火) 21:35:10 ]
Delphi5って、サポートされてたっけ?

254 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 22:06:55 ]
されてる。

255 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 22:44:22 ]
JCL/JVCLって昔試したときマルチバイト文字に対応してなかったような記憶が
あったようななかったような・・・



256 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 23:15:42 ]
コンポーネントによってされてたりされてなかったりだね。

257 名前:デフォルトの名無しさん [2007/06/18(月) 23:36:07 ]
コンポーネントがDesignideを使っててコンパイルできなくなるとかの
問題でずっと悩まされてます・・・
古いIDE組み込み型のコンポーネントって
新しくなるとコンパイルが通らなくなる・・(泣

Designideで悩まない方法はありますか?


258 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 05:33:00 ]
D6パーではHelpに書いてある。互換性の問題

259 名前:ミ,,゚Д゚ミノ ◆A6VzDeLphI mailto:sage [2007/06/19(火) 14:05:42 ]
こんなんでよい?

-- DsgnIntfが見つからない場合 --

コンポーネントをインストールするときに
DsgnIntfが無いといってエラーになる場合があります。

Delphi5からDsgnIntf.dcuのコンパイル済みユニットが
無くなったからこのような現象が起きるそうです。

Delphi6からはDesignIntfという名前に変更されています。

DsgnIntf Unit はおもに、コンポーネントエディタやプロパティエ
ディタを作るときに利用するものです。

「環境オプション/ライブラリパス」に
$(DELPHI)\Source\Toolsapi
を追加してみましょう。

解決するはずです。

本当は、この方法を用いるとプロパティエディタのコードが
実行ファイルに含まれてしまうので、そういう書き方をしている
コンポーネントが悪いので、自分の作る物ではこういう問題が発生しないように
気をつけましょう。

参照────────────────────
[Delphi:42979] Delphi5 変更点
www2.big.or.jp/~osamu/Delphi/browse.cgi?index=42979

260 名前:デフォルトの名無しさん [2007/06/21(木) 20:49:16 ]
Delphi7を使ってます。
designide.dcuが見つからないという
エラーが出てしまいます・・orz


261 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 22:17:40 ]
そうですか

262 名前:デフォルトの名無しさん [2007/06/28(木) 07:12:16 ]
TUIWebBrowserで読み込んだFlash上の入力ボックスで
BackSpaceキーは効くものの
Enterキーがきかないのですが
効くようにすることは可能でしょうか?



263 名前:デフォルトの名無しさん [2007/06/30(土) 08:58:54 ]
>>259
ありがとうございます。
いろいろいじっていて
実行時パッケージでない方でビルドできました。

264 名前:デフォルトの名無しさん mailto:sage [2007/06/30(土) 22:34:43 ]
ナッキーのdelphi奮戦記面白い
間違いなくナッキーは淫乱

ペイントソフト楽に作れ杉

265 名前:デフォルトの名無しさん [2007/07/04(水) 09:36:13 ]
TShapeじゃなくて、ラインをペタペタ貼るコンポーネントありましたっけ?



266 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 09:44:58 ]
直線だけなら OnPaintに Canvas.MoveTo Canvas.LineToで簡単に引けるから需要無いかと


267 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 09:49:35 ]
Delアメ猫だったかの人がフサギコと絡んで、マウスで直線を動かせるようなコンポーネントの原型を作って
どっかにアップしてたように思うのだけど、今検索してもみつからないな

268 名前:265 mailto:sage [2007/07/04(水) 09:55:01 ]
>>266
やっぱ、そうですか。

>>267
>マウスで直線を動かせるようなコンポーネントの原型を作って
欲しいもの、これですorz

269 名前:ミ,,゚Д゚ミノ ◆A6VzDeLphI mailto:sage [2007/07/04(水) 10:54:14 ]
HDDに、原型のやつがあったよ。
検索に1時間ほどかかってしまた。


270 名前:265 mailto:sage [2007/07/04(水) 11:00:48 ]
>>269
デルフサギコ様、うpをお願いしますorz

コンポーネントのソースは読めるので、
手直しとか派生くらいできますし、
使いこなせると思いまつ。

271 名前:ミ,,゚Д゚ミノ ◆A6VzDeLphI mailto:sage [2007/07/04(水) 11:00:59 ]
実行時にマウスで動かせた矢印コンポもあったような気がするんだけど
手元にあるのはShapeの矢印版っすね。

majunarrowexとか、viArrow.pas
って名前だけど、googleではでないみたいだ。

とりあえずうpろうか。午後くらいでよい?



272 名前:265 mailto:sage [2007/07/04(水) 11:03:42 ]
>午後くらいでよい?

ずっと待ってまつ。

希望では、以下の機能も欲しかったり。。。
・マウスで動かせる
・マウスで長さが変えられる
・移動や長さが変ったときに、Changeイベント
・矢印をオフにして単なるライン化

273 名前:ミ,,゚Д゚ミノ ◆A6VzDeLphI mailto:sage [2007/07/04(水) 11:09:05 ]
delfusa.main.jp/compo/majunarrowex.zip

いや、はようpっとくよ。

もっといいものをつくってくれた人もいたきがするんだが...

あの時期てきにホットゾヌの作者の中の人だった気がするが
確証無しで。

このコンポ、いったい誰作なんだろう...中国の方かしら。

274 名前:ミ,,゚Д゚ミノ ◆A6VzDeLphI mailto:sage [2007/07/04(水) 11:11:48 ]
設計時なら
>・マウスで動かせる
>・マウスで長さが変えられる


>・移動や長さが変ったときに、Changeイベント
わからない。というか、Resizeイベントはなさそうだから
どっちにしても自作だね。

>・矢印をオフにして単なるライン化
なぜか出来ないみたいだ。
改造すれば簡単でしょう。



275 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 11:20:24 ]
コレの事?
delwiki.info/?c=plugin;plugin=attach_download;p=%A5%B3%A1%BC%A5%C9%C1%D2%B8%CB%2FDraw%A5%B3%A5%F3%A5%DD%A4%CE%B8%B6%B7%BF;file_name=MyDraw.pas




276 名前:265 mailto:sage [2007/07/04(水) 11:27:46 ]
>>274
>>275

サンクス!

両方ダウソしました。
どっち使うか決めなきゃ。。。

277 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 11:53:46 ]
>>273
・1個だけ
・設計中のみ変更可能
・コードはシンプル

>>275
・複数のラインやオブジェクトが1コントロールに入る
・フォームにフックさせて最下面に無理やり描画するのも出来る
・実行中に移動等も可能
・出来る事が大きいだけに、けっこう複雑

278 名前:265 mailto:sage [2007/07/04(水) 11:56:32 ]
>>277
サンクス

どっちもクセ多杉orz

やりたいことは275なんだけどメッセージフック&インライン汗と、
何かあったとき対処できるかなとドンビキ。

273に275のコード混ぜるかなぁ。。。

279 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 12:06:35 ]
>>275 には コンポが2つ入っていて、片方は TGraphicControl でメッセージフックは使ってない。
インラインアセンブラの部分はたぶん変更しなくていいいだろう。

ただ、文字を回転させるのに端ではなくて 真中というのは、チョットとまどった

あと、DesignProcでマウス応答全部やってるので
右ボタンメニューに対応させるとか、ココでやらんとあかんのかも


280 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 12:50:49 ]
アセンブラの部分は 浮動小数点に置き換えたらいいんじゃないの?
iHypot -> math.Hypot で代用
MulSubDiv はコメント通りに浮動小数点で計算させる

281 名前:265 mailto:sage [2007/07/04(水) 13:02:06 ]
汗は汗のままでも良いです。

>あと、DesignProcでマウス応答全部やってるので

この作り、拡張性大丈夫かなぁ。

282 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 13:11:00 ]
WndProc で inherited してるから大丈夫じゃないの?
気になるなら、それぞれ分けたらいいだけで

ひとつはデザイン中だけ処理させる判定を1箇所にまとめたかったのと、
TMyFormDraw と TMyDraw の両方で使いたくてコピペが楽だからそうしたんだろな


283 名前:265 mailto:sage [2007/07/04(水) 13:19:59 ]
>WndProc で inherited してるから大丈夫じゃないの?

了解でつ。

このコンポってStringsの中身をLines1つにすれば1本の線になるんですね。
動きも面白いし、機能は完璧。

最期の悩みは、このまま使うか、Linesプロパティを削除して、1本の線のコントロールとサブセットコントロール化するか。。。

284 名前:Delフサギコ ◆A6VzDeLphI mailto:sage [2007/07/04(水) 13:21:48 ]
 ∩ ∩
 ミ ゙''゙〜     ________
 ミ∧,,∧   /
 ミ,,゚Д゚彡 < おお。あったですかぁ。
 U U    \あっててよかったDelWiki新
           ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
こういうのって、コンポインストールしないとサンプルプログラムが
コンパイルできない形になってて、非常に面倒よね〜
コンパイルしたsample.exeを是非に付けて欲しいもので。
まあ、漏れも付けてないんだけど。

それにしても、MyDraw....すごすぎだな。
(って何年も前にも言った感じがとてもデジャブー)

>>283さん
贅沢な悩みだな。(w

みつかってよかったね。


285 名前:265 mailto:sage [2007/07/04(水) 13:25:23 ]
>>284
有難う。

デルフサさんて、一時期見かけなかったような。。。



286 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 13:27:30 ]
MyDraw1.Lines.Add('LINE');
で実行中に、線を増やせるね。

287 名前:|Д゚彡 ◆A6VzDeLphI mailto:sage [2007/07/04(水) 13:30:56 ]
いつもひっそりと
草葉の陰から見つめているんですよ。

288 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 15:13:17 ]
>>コンパイルしたsample.exeを是非に付けて欲しいもので。
そんな物、ダウソして実行する馬鹿がいたら是非お目にかかりたい物でwwww



289 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 18:28:34 ]
たくさんいますよ

290 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 19:37:14 ]
何か呼ばれた気がしたので来ました。

291 名前:デフォルトの名無しさん [2007/07/04(水) 20:00:09 ]
デモには、実行ファイルをつけようよ・・・

292 名前:デフォルトの名無しさん mailto:sage [2007/07/04(水) 21:15:30 ]
delwiki.info/?%A5%B3%A1%BC%A5%C9%C1%D2%B8%CB%2FDraw%A5%B3%A5%F3%A5%DD%A4%CE%B8%B6%B7%BF
ココに、サンプル書いてみた。

右ボタンで削除出来るようにコンポ側に少し追加もした

でも、コレ、誰がItemのオブジェクト削除してくれてるんだろ?
テキストを変更してもメモリリークしないんだろか?

293 名前:初心者++ [2007/07/05(木) 00:11:28 ]
いきなり割り込んで書き込みます、すいません。 
初心者です。データベースの接続で困ってます。
TTableのDataBaseNameで
サンプルのDBDEMOSでは無事接続できるんですが、
ほかのアリエス名(MSAccess,Excel...)では
ログインダイアログでユーザー名 パスワードをきかれ、
先へ進めません。どなたか教えてください。

  Turbo Delphi for wind32
OS : wind2000です。

294 名前:初心者++ [2007/07/05(木) 00:15:55 ]
いきなり割り込んで書き込みます、すいません。 
初心者です。データベースの接続で困ってます。
TTableのDataBaseNameで
サンプルのDBDEMOSでは無事接続できるんですが、
ほかのアリエス名(MSAccess,Excel...)では
ログインダイアログでユーザー名 パスワードをきかれ、
先へ進めません。どなたか教えてください。

  Turbo Delphi for wind32
OS : wind2000です。


295 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 16:25:33 ]
>>294
ttp://www.lares.dti.ne.jp/~hida/tips/bde_MSACCESS.htm



296 名前:デフォルトの名無しさん [2007/07/05(木) 16:38:53 ]
こんにちは。Delphi製ブラウザコンポーネント
(TUIWebBrowser)のFlash上の
テキスト入力コントロールでEnter入力が
できない問題について質問した者です。

RADながらWin32APIとの親和性,
カスタマイズ性が高くアセンブラも使え、
デフォルトコントロールの綺麗さなど、
色々優れた点がある中で、生産コストを下げる目的で
Delphiを選ぶときについて意見をお伺いしたいです。

ブラウザを作る際に、
まずTWebBrowserを使ってみて、入力に関する
致命的なバグがあったために、そのバグを修正した
TUIWebBrowserを使ったのですが、
そこでまた入力バグに出会ってしまい、
これらの問題が、VC++での開発でははじめから起きない
問題であったために、VC++で作り直すべきか考えています。

流通しているDelphi製のブラウザ系ソフトにも同じバグが見れました。
しかし、作りやすいので本当はDelphiを使いたいです。

Delphiで、資料やバグフィクス情報が無く、
節約できるはずの時間が、逆に冗長になるケースを考慮したとき、
そういった面を考えても、Delphiの生産性を活用するためには
どういったことが必要になりますでしょうか。
Delphi開発の先輩である皆さんに
お考えをお聞かせ願いたいです。



297 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 17:19:12 ]
>そういった面を考えても、Delphiの生産性を活用するためには
>どういったことが必要になりますでしょうか。

VCLコードを読んで理解する事。

298 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 17:46:02 ]
VC++で解決出来るんなら、 それを見て自分で修正すればいいんじゃないの?
でも、たぶん VC++でも色々拡張しようとすると、いろんな問題が出ると思うよ。
他人の作ったコードをソース無しに使おうってんだから当然だ。

TWebBrowser ならともかく TUIWebBrowser は使ってる人が少ないだろうし
さらに Flash となると、問題に答えてくれる人は少ないと思うよ。

>>262 の問題は メッセージポンプの所で流れてるメッセージ
を(Application.OnMessage とかで)見て、なんとか出来ないか考えてみたら?


299 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 17:47:05 ]
ActiveX や OLEControl の制御は VCL のソースを読んでも、個人レベルでは
解決は難しい。TWebBrowser やその派生コントロールは、Delphi で簡単に
使えるように見えるが、Delphi での細かい制御が一番面倒なもののひとつ。
VC++ でできるなら、そっちでやればいいでしょう。

300 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 17:49:23 ]
いまさらだがMLに投げてみりゃよかったのに。

301 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 17:54:18 ]
まぁなんでもMLに投げてみりゃいいんだよな。

302 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 18:45:41 ]
Delphi TWebbrowser Enter ぐぐれかす

303 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 19:02:10 ]
>>302
TWebBrowserのバグを回避した
TUIWebBrowserでFlashActiveX上のコントロールを経由した
ときだけ起こるって言ってるし
TWebBrowserの有名な入力バグは普通もう回避してるだろう。


304 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 22:25:45 ]
コード量が短いので>>273を参考にして勉強中のものです。

そこで質問です。>>273
.dfm に記述されたコードを .pas側で実行時に自動生成する
形に書き直すと、どういう風になりますか?じぶんはテキスト
エディタ派なのでコードの編集はできればテキストエディタで
やりたいとです。。。

プロジェクトを立ち上げると、

フォーム作成中にエラーが発生しました。(中略)
クラス TviArrowが見つかりません
とか出て上手くゆかなかったとです。

viArrow.pas をプロジェクトに追加して
プロジェクトを再構築。でコンパイルしたら実行
ファイルのほうは簡単にできてちょっと感動したとです。ひろしですひろしですひろしです

305 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 22:39:05 ]
>>304
なあ、こっちも実行してみてくれ。
delwiki.info/?c=plugin;plugin=attach_download;p=%A5%B3%A1%BC%A5%C9%C1%D2%B8%CB%2FDraw%A5%B3%A5%F3%A5%DD%A4%CE%B8%B6%B7%BF;file_name=MyDrawSample.lzh




306 名前:304 mailto:sage [2007/07/05(木) 23:07:33 ]
>>305
1000行越えのコードの解読は厳しかったとです orz

307 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 07:39:12 ]
>>304
.dfm にはコンポーネントのプロパティが入っている。
実行中に位置やサイズを変更したいなら、 Left, Top, Right, Bottom をコードで弄る必要がある

>>305のは、コンポーネントを登録しなくてもいいように作られている
位置やサイズは文字列で与えてるようだ

308 名前:Delフサギコ ◆A6VzDeLphI mailto:sage [2007/07/06(金) 09:35:55 ]
    ∧,,∧  オハヨ
   ミ,,゚Д゚彡
    ミ つ旦)~~
  〜と,,,~),,~)  旦~~
]]]]]]]]]]]]]]]]]]]]]]]]]]]]

自動生成する形になってて、いいっすね
>>305さん

どうせなら、バイナリも含んじゃえばいいのに。(w
IDE起動するのメンド(い人もいるかもね。)

>>307さん
MyDrawコンポーネントは単体で
たくさんの矢印や
矩形を処理するようになっていて
その位置を元々TStrings系でもっているのですよ。



309 名前:デフォルトの名無しさん [2007/07/09(月) 18:36:58 ]
TFormとかTImageってCanvasプロパティがありますよね。

TScrollBoxみたいにCanvasプロパティの無いコンポーネントにお絵かきするには、
どうすれば良いですか?

310 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 22:34:16 ]
1.Canvasがある他のコンポーネント(TImageとか)を貼る。
2.TWinControlから派生したものであれば、さらに派生させてCanvasプロパティをpublicにする。
ん〜これしか思いつかなかった。もう少し具体的にやりたいことを書けば、もう少しまともな
回答がつくと思うよ。

311 名前:デフォルトの名無しさん mailto:sage [2007/07/09(月) 22:42:34 ]
var
 Canvas: TCanvas;
begin
 Canvas := TCanvas.Create;
 try
  Canvas.Handle := GetDC(hoge.Handle);
  try
   Canvas.TextOut(0, 0, 'HOGE');
  finally
   ReleaseDC(hoge.Handle, Canvas.Handle);
  end;
 finally
  Canvas.Free;
 end;
end;

312 名前:309 mailto:sage [2007/07/10(火) 08:56:46 ]
サンクス>>310 >>311

具体的には、
TScrollBoxの上にTImage、その上にMyDrawを乗せています。

それで、MyDrawの図形をマウスでいじると、
TImageが物凄くチラツクんですよね。

それで、TScrollBoxにもTImageの図形描いておいてやろうかな、と。

313 名前:309 mailto:sage [2007/07/10(火) 09:35:54 ]
TScrollBoxをやめて、TPanelにしてDoubleBufferdをtrueにしたらチラツキなくなりました。


314 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 22:26:17 ]
現在おされているキーをセンスする関数みたいなのはないのでしょうか?


315 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 22:41:54 ]
windows.getkeystate



316 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 23:14:11 ]
>314
つ GetAsyncKeyState
ttp://msdn.microsoft.com/library/ja/jpwinui/html/_win32_getasynckeystate.asp

>315
現在押されている、ということであればGetKeyStateは不適切。

317 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 22:17:05 ]
ありがとうございます。

windowsの世界だと int 21h(AH=8) みたいなのはないんでしょうか。
シーラカンスですんません。


318 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 00:08:04 ]
意味不明。何をしたいのかを具体的に。
たとえばOnKeyPressとかTForm.KeyPreviewあたりは幸せになれるかも?

319 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 06:53:33 ]
ごめんどうおかけします。

やりたいのは、コンソールアプリケションで、
enter (1-9 or q):
みたいなプロンプトをだして、一文字キーボードから入力してもらい、
入力された文字で処理を分岐させようというだけです。
つまりread(c); でreturn を入れなくても一文字読み込みたいというだけです。


320 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 08:00:06 ]
コンソール入力はwindows側でバッファされてるから、イベント入力を使う必要がある
GUIアプリの例だと、ボタンとメモと、タイマーを貼り付けて
procedure TForm1.Button1Click(Sender: TObject);
begin
 AllocConsole;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
 pirBuffer: INPUT_RECORD;
 hdl: THandle;
 lpcRead: DWORD;
begin
 hdl := GetStdHandle(STD_INPUT_HANDLE);
 if integer(hdl) < 0 then
 exit;
 while ReadConsoleInput(hdl, pirBuffer, 1, lpcRead) do
  with pirBuffer do case EventType of
    KEY_EVENT: //Event.KeyEvent
     if Event.KeyEvent.bKeyDown then
      Memo1.Lines.Add('KEY=' + Event.KeyEvent.AsciiChar);
    _MOUSE_EVENT: //Event.MOUSE_EVENT
     with Event.MouseEvent do
      Memo1.Lines.Add(format('%5d %5d ', [dwMousePosition.x, dwMousePosition.y]));
    WINDOW_BUFFER_SIZE_EVENT, //Event. WindowBufferSizeEvent
     MENU_EVENT, // Event. MenuEvent
     FOCUS_EVENT: //Event.FocusEvent
   end;
end;

コンソールアプリだと、このタイマーの部分でキー入力があるまで無限ループする関数を書く事になるだろな

321 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 07:16:47 ]
ありがとうございます。
これを参考にコンソール用に書き直してみます。


322 名前:296 [2007/07/13(金) 17:53:11 ]
お世話になります。
ブラウザコンポーネント上の
FlashActiveX上の入力問題で質問した>>296です。
みなさんありがとうございました。
時間がかかりましたが、
なんとか解析して自己解決できました。
これでDelphiのままいけそうです。


323 名前:デフォルトの名無しさん mailto:sage [2007/07/16(月) 03:42:15 ]
>>322
解析結果を書いてくれるとみんなが幸せになれるかもよ

324 名前:デフォルトの名無しさん [2007/07/28(土) 20:12:22 ]
>>323
スクリプトによって書かれて配置される
FlashActiveXが、1ページに2つ以上あるときに、
従来の方法で
2つ目のものにメッセージを送れていない場合があるようです。
ウィンドウを細かく検索することで回避しました。


325 名前:デフォルトの名無しさん [2007/09/17(月) 21:48:04 ]
前スレうp頼む



326 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 21:56:24 ]
っ 前スレうp

327 名前:デフォルトの名無しさん mailto:sage [2007/09/17(月) 22:06:24 ]
神キタ━━━━━━(゚∀゚)━━━━━━ !!
楽しみに待ってます。本当にありがとう!!
前スレの字句解析から意味解析のログ本当に勉強になったので

328 名前:デフォルトの名無しさん [2007/09/19(水) 19:02:18 ]
EditのPopupMenuに自作PopupMenu1をセットしたら、
元々EditにあったPopupMenuが無くなりますよね。

そうじゃなくて、EditのデフォのPopupMenuに自作PopupMenu1を足すには、
どうしたら良いでしょうか?

329 名前:デフォルトの名無しさん [2007/09/19(水) 19:27:16 ]
DPAPI(データ保護 API) を 使って パスワードを
OSに記憶してもらう方法とか有ったら知りたいのですがなかなか見つかりません。
マイクロソフトのページには

DPAPI は、以下の項目を保護するのに役立ちます。
• Web ページの資格情報 (たとえば、パスワード)
• ファイル共有の資格情報
• EFS (暗号化ファイル システム)、S/MIME、および他の証明書に関連付けられた秘密キー
• CryptProtectData() 関数を使用して保護されているプログラム データ
とあるのですが このDPAPIは単純に任意のパスワード等保護してもらえる機能として
捕らえていいのでしょうか 。 delphi7を利用しています。 どなたか情報いただけませんか。


330 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 08:37:27 ]
>>328 もヨロ!

331 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 12:07:54 ]
>>328
たぶん出来ない。
右ボタンメニュを出すには TrackPopupMenu を呼び出すわけで
エディットコントロールにはデフォルトのWM_RBUTTONUP内部でコレを呼び出してる部分があるのだろう

TrackPopupMenuを呼び出すにはhMenuが必要だけど、EDITでコレを入手する方法が見つからない。
親窓なら、GetMenuでhMenuを呼び出せるけど、小窓ではそれが出来ないから。


332 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 12:38:35 ]
そうですか(´・ω・`)ショボーン

>親窓なら、GetMenuでhMenuを呼び出せるけど、小窓ではそれが出来ないから。

親窓を取得したりできないですかね。

差し替えたPopupMenu1のイベントハンドラを実行すると、
EditのデフォルトのPopupMenuを開きなおしたり、
とかでも良いのですが。



333 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 12:53:09 ]
>>332 後半なら
var SaveMenu:TPopupMenu;
begin
 SaveMenu:=Edit1.PopupMenu;
 Edit1.PopupMenu:=nil;
  SendMessage(Edit1.Handle,WM_RBUTTONDOWN,Edit1.Left,Edit1.Height);
  SendMessage(Edit1.Handle,WM_RBUTTONUP,Edit1.Left,Edit1.Height);
 Edit1.PopupMenu:=SaveMenu;
end;

と、いったんメニューを外して、右ボタンを押して離してを送りつければ出るよ

334 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 12:57:32 ]
有難うございます。それでやってみます。(*`∀´*)

335 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 13:28:00 ]
メニューを外さなくても、直接小窓にメッセージを送ると出るみたい

var pt:TPoint;
begin
pt:=ClientToScreen(Point(Edit1.Left,Edit1.Height));
PostMessage(Edit1.Handle,WM_CONTEXTMENU,Edit1.Handle,pt.x+(pt.y shl 16));
end;




336 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 13:49:46 ]
thx! >>333 >>335

両方おk、でした。

TPointを指定するのメンドウだから、333でやるかも。

PopupMenu1のメニューの一つに編集っていうメニューを用意して、それだとデフォメニューをオープン、
という動作でカコヨクできました。

337 名前:デフォルトの名無しさん [2007/09/21(金) 20:03:36 ]
>>326
ひょっとしてあたしを騙したの?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<190KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef