1 名前: ◆XcB18Bks.Y mailto:sage [2008/06/24(火) 16:24:25 ] Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を 勇気を持って書き込むスレッドです。 Delphi使いが優しくコメントを返しますが お礼はDelphiの布教と初心者の救済をお願いします。 <前スレ> くだすれDelphi(超初心者用)その46 pc11.2ch.net/test/read.cgi/tech/1205323779/ <過去スレ> DelWiki避難所(Delphi 関連の過去スレッド) delwiki.info/?%E3%83%AA%E3%83%B3%E3%82%AF%2F%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%2FDelphi%20%E9%96%A2%E9%80%A3%E3%81%AE%E9%81%8E%E5%8E%BB%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89
2 名前: ◆XcB18Bks.Y [2008/06/24(火) 16:25:01 ] <関連スレ> 【Delphi】 Indyコンポーネント 【C++Builder】 pc11.2ch.net/test/read.cgi/tech/1093654251/ Delphi初心者のための寺子屋 pc11.2ch.net/test/read.cgi/tech/1132756268/ delphiで作った有名ソフトって何があるの? pc11.2ch.net/test/read.cgi/tech/1135654787/ Delphi持ってるならGLSceneを使え pc11.2ch.net/test/read.cgi/tech/1163269079/ 【Delphi互換!?】FreePascal【GPL】 pc11.2ch.net/test/read.cgi/tech/1137051510/ 【Delphi】 ゲームつくるぞ(゚Д゚)ゴルァ 2【Delphi】 pc11.2ch.net/test/read.cgi/gamedev/1097836469/ Delphiでアクションゲームが作りたい!! Part2 pc11.2ch.net/test/read.cgi/gamedev/1027482533/ ネットワークゲーム作成のお勉強(Delphi専用スレ) pc11.2ch.net/test/read.cgi/gamedev/1028278884/ delphiでMMO pc11.2ch.net/test/read.cgi/gamedev/1072515100/
3 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:17:38 ] 前すれの >>995 さん〜 さんくすです。 Formatというのがあったんですね。 printfとは書式が違うみたいですが、とりあえず無事に文字列に変換できました。
4 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 20:28:48 ] 1乙ー
5 名前:デフォルトの名無しさん [2008/06/24(火) 21:32:28 ] >>3 うるせ馬鹿 馴れ馴れしく話しかけんな
6 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 21:40:09 ] 病んでるなぁ
7 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 23:21:12 ] Delユーザっておかしいのが多いよね
8 名前:デフォルトの名無しさん [2008/06/24(火) 23:23:22 ] 質問です 当方デルファイ7を使用しているのですが やはり、WIN Vistaでは 動かないのでしょうか .NETじゃないから ダメですかねぇ 実際 Vistaに、のせたら 「ザワールド!!」 ・・・と言うかんじでした
9 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:13:14 ] あてずっぽだけど、互換モードで起動してみたら?
10 名前:デフォルトの名無しさん [2008/06/25(水) 00:33:50 ] あるんすか?
11 名前:デフォルトの名無しさん [2008/06/25(水) 00:36:54 ] やってみうます
12 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:51:01 ] ショートカットを右クリック→プロパティね。
13 名前:デフォルトの名無しさん [2008/06/25(水) 08:24:15 ] >>8 馬鹿ジャネ
14 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 12:18:56 ] Delユーザっておかしいのが多いよね
15 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 13:47:59 ] VB や VC++ を選ばない時点で
16 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 17:27:16 ] 賢い
17 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 17:40:41 ] >>8 Delphi7 Vistaで検索してみると いくつか対応すれば基本的にはうごくっぽい。
18 名前:8 [2008/06/25(水) 19:31:47 ] BDE使ってるせいか? ピクリとも動きませんでした・・・ プロパティからXp Sp2とか選んで チャレンジしたんですけどねえ ググッテきます
19 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 19:49:18 ] BDEならUAC
20 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 20:08:09 ] BDEか… 使ってないせいか、ガンガン動いてます。
21 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 20:10:42 ] >>19 ヒント アリース^^
22 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:02:32 ] >18 BDEか。忘れてたよ。 ttp://support.codegear.com/jp/article/36424
23 名前:デフォルトの名無しさん [2008/06/25(水) 22:39:31 ] >>22 もサンクス
24 名前:デフォルトの名無しさん [2008/06/26(木) 00:12:31 ] >>18 お前がバカだからだよ
25 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 13:33:42 ] 推奨NGEx:馬鹿|バカ
26 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 22:29:38 ] それじゃあエンバカデロの話題もNGになってしまうのでは?
27 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 00:55:39 ] フサー delphiworld消えたんで祝祭日カレンダーコンポーネント 2000をどっかにうpしておくれ
28 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 01:16:23 ] そういうの作者に無断で配布してよいのだろうか?
29 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 08:55:06 ] 以下のコードがありまして、Button1をクリックするとStringGridのセルが 両方とも00になります。なんででしょう? procedure TForm1.Button1Click(Sender: TObject); var H : Byte; S : string; begin H := $FF; SetLength(S,2); BinToHex(@H, PChar(S),1); StringGrid1.Cells[1,1] := S; H := $00; BinToHex(@H, PChar(S),1); StringGrid1.Cells[1,2] := S; end;
30 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 09:01:21 ] BinToHexの方を晒してくれないと
31 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 09:43:02 ] Stringの参照カウンタが悪さしてるのか変なことになるな。 StringGrid1.Cells[1,1] := Format('%02X', [$FF]); するか固定バッファで var buf: array[0..2] of Char; BinToHex(@H, @buf, 1); buf[2] = #0; StringGrid1.Cells[1,1] := buf; にした方がよさげ
32 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 12:43:39 ] こうなのか? procedure BinToHex(Buffer, Text: PChar; BufSize: Integer); assembler; @Hでコンパイルエラーが出そうですけど。
33 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 17:42:34 ] 環境書き忘れてた。BinToHexはDelphi7のClassesに実装されてる手続きです。 ちなみに2回目のBinToHexの前でSetLengthしたら正常な値になりました。 なんか変だけど、こんなもんなのかな。
34 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 18:17:29 ] IntToHexを使用しない理由は?StringではなくPCharを操作する関数は意味がわかるまで 使わないほうがいいと思うけど。
35 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 18:47:59 ] >>34 >>29 のコードは具体的にどこが間違ってる?
36 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 20:43:33 ] BinToHex(@H, @S[1],1);
37 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 22:45:24 ] >35 や、だからそういう質問が出る間はPChar系の関数はやめとけって意味だ。 UniqueStringかなんかで文字列実体の参照カウントが1になるようにしとけ。
38 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 09:19:57 ] >>35 間違ってるというか、コンパイラは BinToHexで Sが変更されたのが判らないので Cells への代入の後複製を作らないで、そのまま実体を次のBinToHexに渡してしまう >長い文字列型の変数はポインタであるので,2 つ以上の変数が追加のメモリを >使用することなく同じ値を参照することができます。 という特性の為、 StringGrid1.Cells[1,1] と StringGrid1.Cells[1,2] が結果として同じポインタを指してしまう。 >添字付けを使って文字列の中にある 1 文字の値を変更するときは, >文字列値の参照カウンタが 1 より大きい場合にのみ, >文字列値のコピーが作成されます。これは書き込み時コピーと呼ばれます。
39 名前:デフォルトの名無しさん [2008/06/29(日) 09:55:35 ] >>35 お前あたま悪いな
40 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 10:15:10 ] みなさん、色々アドバイスありがとうございます。長い文字列の代入や変更は 参照カウンタを使って管理していること、PCharの型キャストの意味などを理解 していないまま使っていました。38さんの回答や以下のサイトを参考に 何となくですが分かりました。 kakinotane.s7.xrea.com/delphi/faq/f006.html
41 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 12:54:31 ] ああ、そういうことか。 Cellsもstring型だから、同じsを指すわけね。
42 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 18:14:42 ] しかしDelphi布教といっても開発部門売却って... しかも新Verは初心者には高い値段だし... もう初心者お断りのプロ用のツールしかし企業には相手されていない そんな言語に成り下がってしまった感じがするよ 思うに販売戦略を間違った方向にいっちゃったんだね Del使いとしては悲しすぎる
43 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 18:57:25 ] スレ違い。をっちゃスレへどうぞ。
44 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 23:05:22 ] 5Pro を使い続けている俺は勝ち組。
45 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 23:09:59 ] ちょっとまった新Verおいくら? 怖くて調べれないYo
46 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 23:17:09 ] Proは68000で据え置きじゃ?
47 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 23:27:54 ] ただで配っちゃえばいいのに
48 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 00:03:02 ] それだと儲からないということを6で学んだのだろう。
49 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 02:50:08 ] D8で儲かることを学んだのかよ? Turbo Explorer の意味は何?
50 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 05:13:27 ] 必死だな
51 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 10:12:55 ] 何でこのおっさんたちはスレタイが読めないの?
52 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 12:20:18 ] ガキばっかりだな
53 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 13:57:30 ] 最初はPro高いかもしれんけど、バージョンアップは3万くらいだよな。 3万って、この業界じゃ日給程度かそれ以下だし、そこまで騒ぐほど高いもんでもないがなあ。
54 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 18:49:41 ] desktop databaseを使ってhoge.dbを作ったのですが、これに関連付けするために tableのプロパティでtablenameにhoge.dbと入力してdbgridに表示させることはできました。 hoge.dbはc\programfiles\commonfiles\borlandshared\dataに置いておかないとダメなようで tablenameのところにたとえば./hoge.dbと相対パスを書いてみてもだめでした。 配布をする際にexeファイルと同じ場所にdbがあっても読み込めるようにするにはどうしたらいいのでしょうか
55 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 20:32:40 ] enter押しても改行できなかったり、space押しても文字が消えてしまうのはどうにかなりませんか。
56 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 21:32:33 ] >>54 exeファイルのディレクトリを指定してみたら? >>55 意味が分からん
57 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 21:39:39 ] 自己解決しました sry
58 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 22:24:46 ] 誰だよお前w
59 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 23:51:55 ] Insertですね
60 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 00:24:37 ] >>56 プロジェクト→オプション→ディレクトリ/条件 ですかね;見てるんですがそれっぽいのがない希ガス
61 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 00:36:45 ] >>60 いやそうじゃなくてExtractFilePathにApplicationのExeNameを指定してそんでhoge.dbの先っちょにくっつける
62 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 09:38:15 ] 質問したいんですけど ShellListView を使うとフロッピードライブが必ずガガガって鳴るんで ShellCtrls.pas の中の どの部分を変更すると鳴らなくなるか解かりますか?
63 名前:62 mailto:sage [2008/07/02(水) 10:27:52 ] すいません ShellTreeView の方でした
64 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 13:15:25 ] >>62 フロッピー殺すほうが楽だぞ。
65 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 20:35:02 ] FDDの電源抜きっぱなしだから知らなかった
66 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 23:02:33 ] >>64 そうですか、やっぱり難そうなのであきらめます ありがとうございました
67 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 00:17:37 ] 外部アプリを操作したいんですが ShellExecute(Handle, 'OPEN', 'C:\Program Files\EmEditor\EmEditor.exe', nil, nil, SW_NORMAL); Sleep(1000); hndl :=FindWindow(nil,'無題 - EmEditor'); Edit4.SelectAll; Edit4.CopyToClipboard; Sleep(500); SendMessage(hndl, WM_PASTE , 0, 0); Sleep(500); SendMessage(hndl, WM_KEYDOWN, 32, 0); Sleep(100); SendMessage(hndl, WM_KEYUP, 32, 0); Sleep(500); SendMessage(hndl, WM_PASTE , 0, 0); WM_PASTE はできるのにWM_KEYDOWNができません
68 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 00:20:30 ] つ keybd_event
69 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 00:46:25 ] >>68 ありがとうございます 出来たのはいいのですが>>67 ではいけないのでしょうか?
70 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 05:13:54 ] >>69 PostMessageならできるかも。
71 名前:デフォルトの名無しさん [2008/07/03(木) 17:44:08 ] >>69 くれくれカスしんでいいよ
72 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 18:01:19 ] 出来ない理由を知りたいと思うのはいいことだと思うが
73 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 18:16:37 ] 俺もそう思う
74 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 18:33:30 ] じゃあ俺も
75 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 19:42:12 ] オレもそう思うが、ただ、じゃ何でSendMessageで出来ないか 少しは調べりよ 投稿の時間的に みたいなことじゃね? 言い方は幼いが
76 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 21:56:07 ] 出来ない理由がわからないから聞きに来たんじゃね?
77 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 22:03:36 ] 調べるためにここに来てるんだろうしな
78 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 00:56:51 ] あくまでも、EmEditor側の処理方法による。
79 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 02:20:47 ] 何にしてもlParamの値くらいちゃんとしたの設定しろと 本題には関係ないと思うけどな、ボク調べる気ありません感まるだしだ
80 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 07:02:36 ] ここは超初心者用だお 自分で何やっているのかさえ分からずに質問している人もいるレベル
81 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 08:14:34 ] 煽り、文句レスの方が訳わかんね。 答えれないならスルーして黙ってろと。
82 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 08:52:14 ] ageて暴言だけ吐くだけ奴くらいパターン検出してスルーしてくれよ
83 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 16:53:43 ] CPUのクロック数を出来るだけ正確に計測するにはどうすればいいのでしょうか? Jane Styleのバグレポートは毎回同じ数値を出しますが、起動時に測った数値を表示しているだけでしょうか?
84 名前:83 mailto:sage [2008/07/04(金) 17:49:03 ] すみません、自己解決しました
85 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 20:44:56 ] いいけど 現象、原因、影響、対策、要因、作りこんだ理由、防げなかった理由、 再発防止策、などなど晒してくれるとウレシイ
86 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 20:59:29 ] おとこわりだ!
87 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 21:05:57 ] 男割り・・・?ウホッ
88 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 05:26:04 ] >>83 自己解決したら、あとの人のためにももしかしたら協力して調べてくれた人のためにも、 解決法を書いていきましょうや
89 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 05:52:44 ] CPUネタはスレちがいです
90 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 06:34:09 ] __ _____ r―‐┐┌――┐ _ 厂| __厂|__ / ∠___, |______ | /_/7 / 7 厂| | く\ || | | |__ __| l ___ | | | _/ 〈_ L/ [_| ヽ」┌─┘└─┐ | | _ |__ __| | |___| | ____| | | 口 口 | /Z_冂_ 〈\.└─┐┌┐│ | ヽ__/ | /┌┐ _ \ l ___ | | | | 口 口 l〈_,r┐┌┘ \/__| L_」 |_ \__/ ヽ、二__ノ ヽ/ | |___| | | | ̄ ̄ ̄ ̄ |┌ー┐|┌ ┘└┐ |__ ___| 厂| _厂|__ l ___ | | | || ||└ ┐┌┘ / 〉 / \ | | └┐┌─┘ | |___| | | ヽ____/| || || | | / / //\ \__ | |_,ノ| | | l二二l l______| ヽ_____ノ |.」 [__| |_.」 く_/ く_/ \_ノ ヽ__/ ∠_/ l二二l
91 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 08:19:33 ] Delphi使いは馬鹿って本当なんですか?
92 名前:91 mailto:sage [2008/07/05(土) 08:20:05 ] すみません、自己解決しました
93 名前:デフォルトの名無しさん [2008/07/05(土) 08:59:20 ] まさに思うツボwww
94 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 14:54:13 ] つーかJane Styleって書いてあるんだから、CCPUID 使ってるだけだろ www.cafe-au-lait.info/
95 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 16:12:37 ] 変な奴が別板から湧いてるな。
96 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 17:50:36 ] >>94 キモイ
97 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 18:14:49 ] 変な奴が別板から湧いてるな。
98 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 17:27:53 ] delphinoIDEのタブ順序の設定みたいに選択した部分をクリックやドラッグで上下に移動するのは どうやって作ればいいですか。
99 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 22:26:28 ] delphi6のエディタの行番号はどうすればでてきますか?
100 名前:デフォルトの名無しさん [2008/07/07(月) 23:04:31 ] >>98 なんだ、その頼み方は? お前はまともな礼儀も習わなかったのか? バカヤロ。
101 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 11:33:18 ] >>98 設計中ではなく、実行中に動的にやりたいという事? もしかして、こういう事がやりたいのかと、delWikiから消えていたので再upした delwiki.info/?%E3%82%B3%E3%83%BC%E3%83%89%E5%80%89%E5%BA%AB%2FFormDraw >>99 自分のアプリに行番号表示した編集窓を付けたいの? TEditor とか エディターコンポを入れるといいと思うよ
102 名前:98 mailto:sage [2008/07/08(火) 19:55:58 ] >>101 ありがとうございます。 有るリストの中身の順番を手動で任意に設定したかったのです。 DBからリストを読み込んでGRID形式で表示して表示順のインデックスフィールドの 値を任意に変えるのをあのタブ順の変更のような形でやりたかったので。
103 名前:デフォルトの名無しさん [2008/07/09(水) 00:41:21 ] >>102 クソ野郎、そんなお礼の仕方があるか。
104 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 01:07:00 ] どうしたんだ?ん? また職場で嫌なことがあったのか?
105 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 08:46:05 ] >>103 お、おまえも裏口先生なのか?
106 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 10:43:04 ] >>104 親に働けと言われたんだろう
107 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 11:01:04 ] 推奨NGEx:クソ野郎|馬鹿|バカ|どうしたんだ?
108 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 13:46:01 ] お兄ちゃんたち、宿題もってきたよ。 私のために解いてね。 配列を使ったプログラムで、Editに入れた数字をButton1を押すごとにMemo1に追加していって ある程度追加したところでButton2を押すとその数字に応じた長さが棒グラフのようにPaintBoxに表示される プログラムを作りなさい。 お願い!
109 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 14:35:25 ] TXPToolBarMenuってどこにあるんでしょうか・・・ ググったらbagelという専ブラのコントロールのようだと分かったんですが、 そのソースを見てもさっぱり分かりません・・・ ComCtrlsXP.pasというユニットが見つからないのでそれにあるのかな? こいつもググっても出てこないんですがこれはどこにあるんでしょう・・・
110 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 15:37:32 ] >>109 Geckoタブブラウザ Bagel その6 pc11.2ch.net/test/read.cgi/software/1181840099/ このスレに行ってbagelの作者さんに聞いてみたら?
111 名前:98 mailto:sage [2008/07/09(水) 21:11:42 ] D7でQuickReportで帳票を作っています プレビュー画面で印刷ボタンを押すとすぐに印刷が始まってしまいますが、印刷先を変えたり、 一部ページだけ印刷したいときに、うっかり全部印刷してしまうのが悲しいので、印刷ボタンを 押したら、印刷設定のダイアログを出して変更出来るようにしたいのですが、どうすればいいでしょうか。
112 名前:デフォルトの名無しさん [2008/07/09(水) 21:15:21 ] 適当に作ったら巧くいかんかった上に配列使ってなかった。 配列定義してみたが使ってないことに気付かなかった。 明日も早いし良い感じで酩酊してきたんでもう寝る。 酒入ると何がしたいのかサッパリになるねぇ。 type TMySharp = class FColor : TColor; Fx1,Fx2,Fy1,Fy2 : Integer; constructor Create(memo:TMemo;line:integer); procedure Draw(TargetCanvas:TCanvas); end;
113 名前:デフォルトの名無しさん [2008/07/09(水) 21:16:55 ] constructor TMySharp.Create(memo: TMemo; line: integer); var dc : THandle; tm : TTextMetric; begin dc := GetDC(memo.Handle); try GetTextMetrics(dc, tm); Fx1 := memo.Left+memo.Width+1; Fx2 := Fx1+StrToInt(memo.Lines[line])*2; if line = 0 then begin Fy1 := Memo.Top; Fy2 := Memo.Top+10; end else begin Fy1 := Memo.Top+(tm.tmHeight*line)-(line*6); Fy2 := Fy1+10; end; FColor := $99FF66; finally ReleaseDC(memo.Handle,dc); end; end;
114 名前:デフォルトの名無しさん [2008/07/09(水) 21:18:14 ] procedure TMySharp.Draw(TargetCanvas: TCanvas); begin TargetCanvas.Brush.Color := FColor; TargetCanvas.RectAngle(Fx1,Fy1,Fx2,Fy2); end; procedure TForm1.Button1Click(Sender: TObject); var i : integer; begin if TryStrToint(Edit1.Text, i) then Memo1.Lines.Add(Edit1.Text); Edit1.Clear; end;
115 名前:デフォルトの名無しさん [2008/07/09(水) 21:19:19 ] procedure TForm1.Button2Click(Sender: TObject); var MySharp : TMySharp; i,j,k : Integer; ArryInt : Array of Integer; begin try j := Memo1.Perform(EM_GETFIRSTVISIBLELINE,0,0); SetLength(ArryInt, Memo1.Lines.Count-j); k := Memo1.Lines.Count-j; for i := j to j+k-1 do ArryInt[i] := StrToInt(Memo1.Lines[j+i]); for i := j to j+k-1 do begin MySharp := TMySharp.Create(Memo1,i); MySharp.Draw(Canvas); end; Finally freeandnil(MySharp); end; end;
116 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 21:57:37 ] 俺が悪かった >>108 お願いします。
117 名前:116 mailto:sage [2008/07/09(水) 21:58:30 ] あ、すいません。 >>112-115 ありがとうございました。
118 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 23:04:32 ] メモから配列に入れるルーチンと、 配列からグラフを描画するルーチンを分けるといいかも。
119 名前:116 mailto:sage [2008/07/09(水) 23:15:44 ] var n : integer; a : array[1..20] of integer; // 長さ 20 の配列の宣言 Edit1.Clear; Edit1.SetFocus; end; procedure TForm1.Button2Click(Sender: TObject); // データの入力 // begin Memo1.Lines.Add(Edit1.Text); n := n + 1; // n を 1 ふやし, a[n] := StrToInt(Edit1.Text); // Edit1 に入力された整数を // 配列 a[n] にしまう Edit1.Clear; Edit1.SetFocus; end; procedure TForm1.Button3Click(Sender: TObject); // 棒グラフの作成 // var i : integer; begin with PaintBox1.Canvas do begin ?? ?? 問 2: 以下の作業を,i = 1 から n まで, ?? n 回繰り返す ( for 文 または repeat 文,while 文を用いる) ?? ?? 作業: ?? i の値に応じて x 方向に位置をずらしながら, ?? a[i] に対応する高さの細長い長方形を描く ?? end; Edit1.SetFocus; end; end. こんな感じなのですが・・・
120 名前:116 mailto:sage [2008/07/09(水) 23:16:14 ] 問い2の部分がわからない;
121 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 23:38:19 ] >>119 上がよくわからんが 配列a はグローバル変数かクラスのフィールドだよな? だとして、 問2: for i := 1 to n do DrawRectangle(i, a[i]); こんな感じかな?DrawRectangle の中身は適当にかけばいいと思う。 はいつぎの質問
122 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 00:28:58 ] procedure TForm1.Button1Click(Sender:TObject) begin Memo1.Add(Edit1.Text); end; procedure TForm1.Button2Click(Sender: TObject); var I,Y:Integer; R:TRect; begin PaintBox1.Canvas.Brush.Color := clRed; R := Rect(0,0,0,4); for I:=0 to Memo1.Lines.Count-1 do begin R.Right := StrToInt(Memo1.Lines[I]) * 5; PaintBox1.Canvas.FillRect(R); OffsetRect(R,0,4); end; end;
123 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 00:37:06 ] >>110 ありがとうございます 聞いてみます
124 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 19:49:28 ] tifファイルを開くにはどうしたらいいでしょうか。
125 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 20:04:28 ] こじ開ける
126 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 20:14:40 ] >>124 reset
127 名前:112 mailto:sage [2008/07/10(木) 20:26:38 ] 出題した方スマン。 全然見当違いの解答やった。 おまけにメモスクロールするとエラー出るし。
128 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 23:05:46 ] TurboDelphi Interbase7.5 WindowsXP Nod32ファイアウォール付 Interbase自動起動に失敗します。 起動時にシステムトレイに入りかかるんだが、消えてしまう。 interbase7.5 managerの設定では、自動起動、「InterBaseをWindowsサービスとして起動する」 のチェックははずしてある。 でもなんで「InterBaseをWindowsサービスとして起動する」とするとサーバーにログインできないんかね。 なぜかIBCosoleではInterBaseがWindowsサービスでも接続できるんだが、 ほかでは、BDEはだめだし、設計時にも接続できないんだよね。
129 名前:デフォルトの名無しさん mailto:sage [2008/07/11(金) 21:34:23 ] >>109 >>123 Windows XP Theme Manager www.soft-gems.net/index.php?option=com_content&task=view&id=17&Itemid=33
130 名前:109 mailto:sage [2008/07/12(土) 02:28:37 ] >>129 ありがとうございます しかしTheme Managerのすべてのプロパティをオンにしてもメニューがボタンぽくなってしまいます 自分で描画しようと思うのですが、TMenuItemがポップアップされているか確認するにはどうすればいいんでしょうか?
131 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 04:11:56 ] TurboDelphiとMicrosoftのVisualStudio(VB or C#)は共存できますでしょうか? 両方入れたいのですが、大丈夫かどうかご教示ください。
132 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 08:18:00 ] 問題なし。 かち合うのはインストール時の標準のデバッガの上書きをし合うくらいだろう。
133 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 19:37:49 ] delphi 2007って安定してますか?
134 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 20:05:35 ] どういう意味で?IDEは普通に動くけど、終了時にたまにコケる程度。
135 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 20:11:35 ] >>134 2006が一番安定してるって聞いたことがあるので2007はどの程度なのかと思い質問させていただきました。 参考になりました
136 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 20:29:41 ] そういう意味では2007オススメ。2006より問題が少ない。
137 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 20:45:30 ] >>136 体験版あるみたいなので使ってみようと思います。 ありがとうございました。
138 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 20:48:20 ] もしこの先Vista以降の環境で使う予定があるなら2007にしとくのが無難かな。 ガリレオ以前のIDEはVistaだと挙動がかなりやばい。
139 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 21:27:57 ] 質問です デルファイ7です すっごく前から気になっていたんですが デルファイのプロパティのキャプション(NAME?) をコピーして、エクセルに貼り付けしようとすると object なんたらかんたら size なんたらかんたらって でるんですけど、これ何とかならないですか たとえば LblHoge をコピーして張り付けると LblHogeだけの コピーが欲しいのに上記のように長ーい呪文みたいのが付いてくるんです 回避する方法ありますか知っていたら教えてください
140 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 21:31:12 ] コピー元が間違ってる。オブジェクトインスペクタのCaptionの値のところでコピーしないと駄目。 今のやり方で何がコピーされてるのかはメモ帳にでも貼り付けてみりゃわかるだろ。
141 名前:デフォルトの名無しさん [2008/07/12(土) 22:06:09 ] ではNameをコピーするにはどうすればいいんでしょうか 仕様書を作る時 captionもnameも(captionは日本語でnameは英語) 必要なんです^^; いちいち編集するんです・・よね? ちなみに いま7環境ないんで試せないんで デルファイのターボで試したら どちらも(caption ,name)も普通にコピーできた!
142 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 23:29:22 ] >>130 TToolBar.Flat こういうのもある SpTBXLib club.telepolis.com/silverpointdev/sptbxlib/index.htm
143 名前:140 mailto:sage [2008/07/12(土) 23:48:05 ] >141 > 今のやり方で何がコピーされてるのかはメモ帳にでも貼り付けてみりゃわかるだろ。
144 名前:109 mailto:sage [2008/07/13(日) 00:12:40 ] >>142 ありがとうございます TMenuBarでテストしたのでそれはないです SpTBXLibも使ってみたんですが、なんだか変だったり、常時XPスタイルっぽかったりして使いづらいです 自分で描画するのはメニューを出してる時に青くならないのに目をつぶれば行けるんですが 完璧主義っぽいところがあるので許せないんですよね・・・
145 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 00:45:11 ] >>140 そうですか・・・
146 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 02:32:46 ] >>144 たぶんプロパティの設定を間違ってるか、何か勘違いしているかどちらかだろう 好きにすれば?
147 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 08:33:20 ] >>138 Delphi6製のGUIアプリとか、Vistaだとラベルが真っ白になったりするよな アレ何なんだろう
148 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 11:18:07 ] manifestリソースだけで無理矢理視覚スタイル適用してるため。 TGroupBoxなど、VCLは非標準的方法で描画しているコントロールが結構あるんで そういうところ対策していないと表示がおかしな事になる。
149 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 11:34:51 ] もういっそのこと開き直るしかない
150 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 14:19:54 ] >>144 エンコードはShift_Jisで web.archive.org/web/20040606145326/www.namakoworld.com/lowtech/download/xpctrls.htm ZIPの尻が1byte欠けてるのでバイナリエディタでNull足せば どのアーカイバでも開けると思う
151 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 15:32:42 ] >>148 thank なるほどなあ
152 名前:109 mailto:sage [2008/07/13(日) 17:16:46 ] >>150 そこにキャッシュされてたんですか・・・ ありがとうございました!
153 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 19:45:27 ] gifをTGIFImageで読んで、TBitmapにCanvas.Drawで描画したいんですが、なぜか描画されないようです TImageだと描画できるのに何ででしょうか? OnCreateの中だと無理なんでしょうか
154 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 21:54:30 ] 空っぽのビットマップだからとか? いずれにせよエスパーが必要な質問はやめれ。
155 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 22:36:14 ] TBitmapに描画したあと、OnPaintでFormのCanvasに描画しないとダメだよ。
156 名前:131 mailto:sage [2008/07/15(火) 23:06:03 ] >>132 遅レスですが、ありがとうございます。 両方入れてみましたが、とりあえず問題ありません。
157 名前:デフォルトの名無しさん [2008/07/16(水) 00:48:29 ] >>154 偉そうに、バカのくせに。
158 名前:153 mailto:sage [2008/07/16(水) 11:16:22 ] こんな感じなんですけど・・・ この例のようにファイルが1つだけならいいんですが、 今やりたいのは2つ以上あるファイルを起動時に読み込みたいんです procedure TForm1.FormCreate(Sender: TObject); var Gif: TGIFImage; Bmp: TBitmap; begin Gif := TGIFImage.Create; Bmp := TBitmap.Create; try Gif.LoadFromFile('Gifファイル.gif'); Bmp.Canvas.Draw(0,0,Gif); Bmp.SaveToFile('Bmpファイル.bmp'); finally Gif.Free; Bmp.Free; end; end;
159 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 11:46:58 ] >>158 Gif.LoadFromFile('Gifファイル.gif'); Bmp.Width := Gif.Width; //追加 Bmp.Height := Gif.Height; //追加 Bmp.Canvas.Draw(0,0,Gif); 試してないけど、こうすればできるかも。
160 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 11:55:03 ] >>158 assignはBmpの大きさ設定不要だけど、Drawは>>159
161 名前:153 mailto:sage [2008/07/16(水) 14:52:41 ] >>159 ,160 そうだったんですか、ありがとうございました
162 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 22:32:03 ] ListView のカラムをクリックで ListView1.AlphaSort と Compare:=CompareText(Item1.SubItems[(Colum-1)],Item2.SubItems[(Colum-1)]); を 使ってソートしてるんです。 でも、半角や全角ひら漢字はちゃんと並ぶんですけど 全角英数カナが変な並びになってしまうんです。 SortType は色々ためして見ましたけど結果は同じでした。 もし解決方が有ればお願いします。
163 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 22:34:31 ] つAnsiCompareText
164 名前:162 mailto:sage [2008/07/16(水) 23:06:54 ] >>163 出来ましたw そんな便利なのがあったんですね、本当にありがとうございました。
165 名前:デフォルトの名無しさん [2008/07/17(木) 13:01:05 ] >>164 うるせーこのあほう
166 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 19:20:48 ] 推奨NGEx:クソ野郎|馬鹿|バカ|どうしたんだ?|あほう
167 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 19:26:05 ] >>165 デレツンですね、わかります。
168 名前:デフォルトの名無しさん mailto:sage [2008/07/17(木) 21:41:07 ] デレツンじゃなくヘルメンです
169 名前:デフォルトの名無しさん [2008/07/17(木) 22:50:47 ] ツンデレQA大人気
170 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 01:09:37 ] labelって半角文字はワードラップしてくれないんですか? してくれる方法があれば教えて下さい。
171 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 02:19:52 ] WordWrap=Trueにすれば普通にできるはずだが 聞き方からするとワードラップじゃなくて、単語の途中で改行させたいのか?
172 名前:170 mailto:sage [2008/07/19(土) 02:37:49 ] 単語の途中というかaaaaaaa aaaaaaaaaaaaaaaaaaaaa 見たいな感じにしたいんです やり方は、WordWrap=Trueにして、メモのChangeのイベントで label1.Caption:=memo1.Text; でMemo1に入力すると 全角は上手く端っこで改行するんですけど 半角がそのまま、aaaaaaaと言う風に、まっすぐ通り過ぎて行くんです。 ちなみにメモの方はちゃんと半角でも上手く改行してくれるんです。
173 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 04:06:48 ] つまりそういうことでしょ。英語は単語間の空白で改行する(=ワードラップ)のがお約束、 ずっと空白が現れなければ改行できないから横にはみ出る。 どうしても空白のないところで改行したかったら自分で#13#10入れるしかない。 入れる場所を探すにはGetTextExtentExPoint使えば一発だけど わからなかったらTextWidthで1文字ずつ増やしながら幅を測って探す。 幅を測る時にはCanvasにフォントを設定しとくのを忘れずに。
174 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 04:59:23 ] TMemoで色変えたりEnabled := Falseとかで代用できないか
175 名前:170 mailto:sage [2008/07/19(土) 05:00:17 ] >>173 そうでしたか、なんか勘違いしてたみたいです。 試しにやってみたら空白で改行出来ました。 教えて貰った通りに、色々挑戦してみようと思います。 夜分眠いのにも関わらず、どうもありがとうございました。 またいつかお世話になりますw
176 名前:170 mailto:sage [2008/07/19(土) 05:14:39 ] >>174 それも良いですね、じゃあlabelで無理そうだったらTMemoで代用してみます。 どうもありがとうございました。
177 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 11:20:05 ] TMessageの宣言でcase分が使われていますがこれはどうなっているんでしょうか ヘルプ読んでみたけどさっぱり・・・
178 名前:デフォルトの名無しさん [2008/07/19(土) 11:36:29 ] 同じアプリ間の TreeView1.Items.Assign(TreeView2.Items); にあたることを、違うアプリのツリービュー同士で行いたいのですが どうやったらできるのでしょうか? コピー元のアプリも自作のものなので、何か必要な 情報があれば取れると思いますが 素人考えでポインタを違うアプリで参照とかやってみたんですがだめなんすね・・
179 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 12:32:41 ] >>177 共用体のPasacal特有の宣言方法。同じ記憶領域を違った方法でアクセスするため。
180 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 12:35:08 ] >>178 「共有メモリ Delphi」でググッってみる。
181 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 12:46:06 ] >>179 ,180 なるほど、ちょっと分かりました でもcase Integer of・・・ってどうやって分岐出来てるんですか? ここが一番分からない・・・
182 名前:178 mailto:sage [2008/07/19(土) 12:55:00 ] >>180 ありがとうございます! 早速調べてみます。
183 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 13:31:09 ] >>181 分岐するんじゃなくて、構造体の中のメモリの領域をどちらの方式のフィールドでも アクセスできるようにするただの宣言形式だと、了解すべし。
184 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 13:55:25 ] >>183 ああ、なるほど TMessage.wParamに代入するのとTMessage.wParamHiにHIWORD、TMessage.wParamLoにLOWORDを代入するのとを 同じにするためなんですね 確かに便利かも ありがとうございました
185 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 17:52:47 ] クイックレポートのサマリーってDBテキストをおけば自動計算してくれるんですか? 今現在Forループで計算してるんですけどよく考えたらサマリーって名前が付いてるのに 自動で計算してくれないなんておかしいような気がして・・・
186 名前:デフォルトの名無しさん mailto:sage [2008/07/19(土) 17:56:48 ] 失礼しました ^^; 質問です クイックレポートのサマリーってDBテキストをおけば自動計算してくれるんですか? 今現在Forループで計算してるんですけどよく考えたらサマリーって名前が付いてるのに 自動で計算してくれないなんておかしいような気がして・・・ 実際DBテキスト置いても出来ないんですよね やり方がまずいのか・・・・
187 名前:デフォルトの名無しさん [2008/07/19(土) 20:05:37 ] なるほど
188 名前:デフォルトの名無しさん [2008/07/20(日) 00:38:18 ] ターボデルファイ(無料版)にクイックレポート追加できるのでしょうか コンポーネント追加は有料版と聞いたので諦めていたのですが どうなんでしょうか?
189 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 00:40:45 ] 買え
190 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 01:04:55 ] 【統一教会】文鮮明の乗ったヘリが韓国の山中に不時着 namidame.2ch.net/test/read.cgi/news/1216460913/ ,==============、 | .__ /:::::::::| ロH ヨ メッコール |(一和) /:::__:::::|  ̄」 己 | . ̄ ̄ /:::::| |:::::| | /:::::::L二l| メッコールは大麦エキスと世界三大名水のひとつチョヂュン鉱泉水から | /::/二丶:::| 生まれ、ビタミンが豊富に含まれたまったく新しいタイプの健康飲料水です。 | /::::| l___l |:::| ┌────────────────────┐ | /::::::ヽ─:::::::| |・品 名 :炭酸飲料 | | /:::/.二l:::::::./| |・原 材 料 :糖類(砂糖,果糖ぶどう糖液糖).. . | | /:::::l l_:::::::/ | | .大麦エキス,酸味料,香料,ビタミンC | | ./_:::::_ヽ─': / /| | ナイアシン,ビタミンB2,ビタミンB1 | | /| ヽ/ .|,__::::/ コ | |・内 容 量 :250ml | | /:|_lヽ/l_(二/ .ッ | |・製造年月日:缶底に記載 | |/:::::::::::::::: ̄/ .メ | |・原 産 国 名:大韓民国 | |::::::::::::::::::::::/ | |・輸 入 者 :株式会社ハッピーワールド . | |::::::::::::::::::::/ | └────────────────────┘ ヽ============〃 ※なお、日本版の缶には、「あき岳はりサイクルへ(空き缶はリサイクルへ)」という誤植がある。
191 名前:デフォルトの名無しさん [2008/07/20(日) 03:45:02 ] 気になって起きたらまともなレスがねええええええええ
192 名前:デフォルトの名無しさん [2008/07/20(日) 21:39:23 ] 何時間放置するつもりだ・・・・
193 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 21:52:37 ] 3連休だぜ、ゆっくり休めよ。
194 名前:デフォルトの名無しさん [2008/07/21(月) 14:07:06 ] デスクトップのアイコンも何もないところがダブルクリックされた というメッセージをとらえるにはどうやったらいいのでしょうか? TApplicationEventsのOnMessageでWM_LBUTTONDBLCLKをとらえてはみたんですが、 アプリ上でしかとらえなくって・・
195 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 14:25:57 ] >>194 windows様に「お願えでございますだおらのアプリ以外のメッセージも全部通知してくだせえ」と嘆願しる
196 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 14:37:54 ] >>195 田舎侍ゆえ そのお願いの作法を是非にお教えくざされたも
197 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 15:22:06 ] 例えばここのHook.lzhとか homepage1.nifty.com/MADIA/delphi/tokusen.htm
198 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 17:34:06 ] CodeGearっていつのまにか、エンバカデロって会社に買収されてたんだな。 しかし、会社名にバカってつけちゃだめだろ、バカは。
199 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 20:05:55 ] >>198 古っ
200 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 20:27:30 ] MSとかオラクルとかSUNに売られたりして
201 名前:194 mailto:sage [2008/07/22(火) 01:48:44 ] >>197 レス遅くなりましたがありがとうございます。
202 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 20:51:43 ] >>194 デスクトップはごく普通のリストビューコントロールで、当然ウィンドウハンドルとかも持っている。 グローバルフックとかでメッセージ横取りすれば検出できると思うよ
203 名前:デフォルトの名無しさん [2008/07/23(水) 02:57:18 ] >>201 おせーよ、チンカス野郎
204 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 16:12:54 ] ごみ箱が空かどうかチェックしたいんですけど、このやり方だとうまくいきません。 ttp://www.swissdelphicenter.ch/torry/showcode.php?id=1009 OS XP SP2 D6 Personal
205 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 22:07:54 ] どううまくいかないのか詳しく。
206 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 00:16:33 ] >>205 ttp://www.swissdelphicenter.ch/torry/showcode.php?id=1436 こちらで成功しました。 >>204 のは中身があっても空でもemptyになっていました。 ども、、、
207 名前:デフォルトの名無しさん [2008/07/24(木) 01:31:42 ] >>206 二度と来るなバカヤロ
208 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 06:08:30 ] function GetMyDocFolderPath: string; var PIDL: PItemIDList; PATH: array[0..MAX_PATH-1] of Char; begin SHGetSpecialFolderLocation(Application.Handle, CSIDL_BITBUCKET, PIDL); SHGetPathFromIDList(PIDL, PATH); Result:=PATH; end; ごみ箱のパスが取得できません。
209 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 07:19:40 ] >>208 ごみ箱は仮想フォルダなのでパスは取得できない IShellFolder2インタフェースを使ってごみ箱内のファイル名等を取り出すことは出来る ごみ箱のファイルに直接アクセスできるかどうかは知らない www.codeproject.com/KB/shell/recyclebin.aspx
210 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 18:39:58 ] >>209 d それではなくて C:\RECYCLER\S-1-5-21-1234567890-123456789-123456789-1234\ というようなログインユーザーに対してのパスが知りたいんです。 FindFirstで取得できるんですが他のユーザーのまで拾っちゃうんです。
211 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 21:17:02 ] >>210 最初に書けよ SIDならこの方法で調べることが出来る msdn.microsoft.com/en-us/library/aa446670 (VS.85).aspx ConvertSidToStringSidで変換して使えばよし ファイルが追加されたかどうか監視するだけなら>>209 にサンプルがある
212 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 00:42:06 ] 無料で印刷する環境そろえるには何がお勧めですか クイックレポート有料らしいので 皆さんの1押し教えて蔵際
213 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 00:45:10 ] TPrinter
214 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 00:48:26 ] Delphi 2007とか最近のやつのユーザならQRはただで使えるが? とはいえTPrinterだな。
215 名前:デフォルトの名無しさん [2008/07/25(金) 01:05:56 ] >>214 ターボデルファイなのでQRは駄目では・・・
216 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 01:44:14 ] >>211 d。 できました。 いい勉強になります。
217 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 07:17:48 ] >215 後出しイクナイ。TPrinterで。
218 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 22:33:13 ] みなみけの見すぎ。
219 名前:デフォルトの名無しさん [2008/07/25(金) 22:48:34 ] ポップアップメニューについて質問です。 複数のボタンに、1つのポップアップメニューを設定しています。 この中のどれかのボタンを右クリックしてポップアップメニューが立ち上がった時、 ポップアップメニュー内のイベントハンドラで 「どのボタンから呼び出されたか」を知りたいのですが、どうすればいいでしょうか? // このように設定しています。 button[0].popupMenu := popupMenu1; button[1].popupMenu := popupMenu1; button[2].popupMenu := popupMenu1; procedure TForm1.PopupMenu1Popup(Sender: TObject); begin // ここで「呼び出し元のボタン」を知りたい end; よろしくお願いします。
220 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 22:55:17 ] >>219 Sender.Name
221 名前:219 mailto:sage [2008/07/25(金) 23:04:24 ] Sender.Nameだとエラーになってしまいます。 (メッセージは「TObjectはNameという名前のメンバを含んでいません」です) ShowMessage(Sender.ClassName)で見てみると、TPopupMenuと表示されます。
222 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 23:11:09 ] あ- SenderはTComponentにキャストしといてね
223 名前:219 mailto:sage [2008/07/25(金) 23:17:56 ] >>222 型キャストしましたが、同じくTPopupMenuのようです。。
224 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 23:25:34 ] case TButton(Sender) of Button1: ShowMessage('Button1'); Button2: ShowMessage('Button2'); Button3: ShowMessage('Button3'); Button4: ShowMessage('Button4'); end;
225 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 23:29:10 ] 試したらSenderはPopupMenuになってるね PopupMenu1->PopupComponent使うといい
226 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 23:31:27 ] void __fastcall TForm1::PopupMenu1Popup(TObject *Sender) { ShowMessage(PopupMenu1->PopupComponent); }
227 名前:219 mailto:sage [2008/07/25(金) 23:38:53 ] >>225-226 できました! Senderと思いきや、popupComponentだったんですね。ありがとうございます!
228 名前:デフォルトの名無しさん mailto:sage [2008/07/25(金) 23:47:26 ] なんというBCB いや今はECB?
229 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 13:58:48 ] CCBぢゃないか? これはこれで懐かしい匂いがするが
230 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 14:14:35 ] いやBBQだろ
231 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 14:18:19 ] NEC IBM CCB TKC ISB CSK CIA KKK PKO NTT JCB JTB DDI PCI PIC 略字じゃわからねーんだよ
232 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 21:37:50 ] Borland C++ Builder? CodeGear C++ Builder? Embarcadero C++ Builder?
233 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 22:33:42 ] 伊藤隆志氏の Shell Component Library for Borland Delphi5 を使っている方おられませんか? Vistaではアイコンが表示されないのでソースを色々追っているのですが未だにどこを修正すればいいのかわからないのです。 ttp://delfusa.main.jp/delfusafloor/archive/www.nifty.ne.jp_forum_fdelphi/samples/00370.htmlのようにすると問題ないのでこのコンポ独自の何かだと思うのですが、 SHGetFileInfo関連やTShellListView.CreateWnd、GetIconFromItemIdのへんで当たりをつけて探してみたのですがわかりませんでした。 今更感もありますが、このコンポーネントを使ったソフトを未だに使ってくれているユーザがいますのでどうにかしたいのです よろしくお願いいたします
234 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 23:14:01 ] JaneのAAListの読み込みサンプルってどこかにないでしょうか Lovelyのソース読んでみたけどリスト形式だけなのとカテゴリ分けに未対応なのとで参考になりませんでした
235 名前:デフォルトの名無しさん mailto:sage [2008/07/29(火) 03:07:04 ] TWebBrowser内でEnterキーが効きません どなたか解決法ご存知の方いませんでしょうか IDEはTurbo Delphiです
236 名前:デフォルトの名無しさん mailto:sage [2008/07/29(火) 04:53:37 ] ざっと見たけど、それらしいのがないね。
237 名前:デフォルトの名無しさん mailto:sage [2008/07/29(火) 04:54:47 ] www12.plala.or.jp/selen/Delphi/Del_Web.html とりあえずググったら速効出てきた。
238 名前:デフォルトの名無しさん mailto:sage [2008/07/29(火) 05:04:08 ] >>237 そのソースを実装しても全く効果がありませんでした・・・ 何か足りないのでしょうか
239 名前:デフォルトの名無しさん mailto:sage [2008/07/29(火) 17:24:47 ] vistaでDelphi使いたいんだけど何入れればいいのん? 3.1って使える?
240 名前:デフォルトの名無しさん mailto:sage [2008/07/29(火) 20:23:47 ] 入れればいいのん?って聞かれればDelphi2007 D5も動いてるけどね 3.1は入れたことがない
241 名前:デフォルトの名無しさん mailto:sage [2008/07/29(火) 20:44:21 ] 2006はそのままではインストールできなかった。
242 名前:デフォルトの名無しさん [2008/07/29(火) 23:52:38 ] ただ線を引くだけ、というクラスを作りたいんだけど、どこから継承すればいいの? Tshapeじゃもったいないし。
243 名前:238 mailto:sage [2008/07/29(火) 23:56:51 ] >>237 うわぁ・・・Form1.KeyPreviewの中・・すごくFalseだったナリ・・・
244 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 00:11:04 ] >242 TShapeでいいのでは?それかTGraphicControlからTShapeを参考に必要な部分だけ 実装するか。
245 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 01:27:41 ] >>243 せめて移したコードのトレースしてれば、すぐにわかるだろそんなことw
246 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 02:11:55 ] >>232 TObject
247 名前: ◆XcB18Bks.Y mailto:sage [2008/07/30(水) 20:58:46 ] >>242 TGraphicControlでいいと思います。 基本的にPaintメソッドに線を引くコードを書くだけですから とりあえず動くものはぐに出来てしまうと思いますよ。
248 名前:デフォルトの名無しさん [2008/07/30(水) 21:14:16 ] Delphiというか、標準PASCALで readln(a); assign(f, a); というふうにやっているんですが、 自分の家のコンパイラだと通るんですが、 他のコンパイラでもこの描き方でおkですか? aはchar型のpacked arrayです
249 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 22:53:05 ] Indy9とIndy10入れるとしたらどっちがいいですか? オプソのもの時々参考にしたり弄ったりする時があるけどIndy9ばっかなのでIndy9かな・・・
250 名前:デフォルトの名無しさん mailto:sage [2008/07/30(水) 23:01:14 ] Delphiのバージョンにもよるけど、基本Indy10で、問題があることがわかってる機能を使うならIndy9、じゃないのかな。
251 名前:242 [2008/07/30(水) 23:44:34 ] 解答さんくすです >>244 >>必要な部分だけ実装 そんな高等技術まだないっす。 >>247 >>TGraphicControlでいいと すっげー百済ねぇ質問だけど、あまり上位のオブジェクトを使うと、必要のない無駄な機能まで継承してしまって非効率って事はないの? 実際必要なのはプロパティでは始点・終点の座標と、任意に付与した線の名前と、線の色と太さくらい持ってれば十分なんだけど。 あとメソッドでは線を引く、線を消す、線を隠す、ShowHint、イベントハンドラはOnMouseMoveとOnClickくらいかな。
252 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 00:00:37 ] > >>244 > >>必要な部分だけ実装 > そんな高等技術まだないっす。 じゃ素直にTShapeから派生しとけ。
253 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 00:18:55 ] >>250 うーん、悩むとこですね 周りで使われてるのはIndy9ばっかなのでIndy10使うことになったら入れなおしでいいか・・・
254 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 00:55:55 ] >>251 VCLのソース読んでみな。TShape コントロールは TGraphicControl に 毛が生えたものでしかないことが分かるから。
255 名前:デフォルトの名無しさん [2008/07/31(木) 10:06:38 ] 久々に Windows アプリ書くんで、どうせなら新しめの Delphi 使おうと 『Codegear て何?』とか、『なんでBorland ドメインじゃないん?』と思いつつ TurboDelphi 落とした。 『そんな API 呼ぶなよ』とか警告出るけど、Delphi3.1 で書いたコードも通って一安心なんだけど、 なんで IDE のウインドウサイズ記憶しないの? 起動するたんびに WUXGA 画面いっぱいに広がって困りますわorz オプションとか見たけどそれらしき項目を見つけられず・・・自動保存の設定じゃないし。 今浦島なおじさんに教えてたもれ!
256 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 10:08:14 ] 上の方にレイアウトの呼び出し、保存のボタンがある。 何通りでも好きなだけ記憶させると言いい。
257 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 10:09:30 ] ウィンドウを好きなように配置して メニューの右上の方にDefaultLayoutみたいなドロップダウンリストがあるから その右隣のボタンをクリックして保存
258 名前:デフォルトの名無しさん mailto:sage [2008/07/31(木) 10:30:10 ] >>256 >>257 これは便利。 Classic Undocked で昔の別ウインドウ形式になるんだね。 そこら辺にマウスカーソル当てればわかることに即答ありがとう!
259 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 12:45:00 ] delphi7でwindows mobileのソフト作成ってできますか?
260 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 12:46:20 ] 無理
261 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 14:53:13 ] 叶姉妹
262 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 00:56:42 ] >>239 2007推奨。 旧バージョンは、VCLがVista環境下でいろいろと不都合がでてしまう。 VCL小細工しているせいかね。悲しいかな。
263 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 09:37:36 ] >>262 代表的な不都合をお願いします。 時期開発環境の参考にします。
264 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 10:18:10 ] ぐぐれよw
265 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 19:20:31 ] UNICODE非対応の今はどれでも同じ Vistaで使いたいなら自分で工夫、妥協するしかない
266 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 00:22:58 ] UAC有効だと確認ダイアログが出まくってまともに使えない。 Aero有効にしているとスクロールバーが半分隠れて使いにくくなる。
267 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 01:44:46 ] 結論としてはVista使ってる奴が悪い、になるんだろうな
268 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 01:59:56 ] Vistaが糞なんだろ
269 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 09:27:44 ] Vistaがクソとか平気でいう奴は、自分の置かれている立場(言語)がわかっているのかなあ?
270 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 09:45:41 ] 死んだとか言われてるけど初心者の俺には何が死んだのかよく分からないし普通に使えるので別にどうということはない
271 名前:デフォルトの名無しさん [2008/08/03(日) 12:02:01 ] recordを前方宣言出来るのでしょうか。 出来るのであれば、どうか方法を教えて頂けませんでしょうか。 出来ないのであれば、私を汚らしい言葉で責め立てて頂けませんでしょうか。
272 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 13:08:51 ] できないっぽいね。何をしたいのか具体的に書いてごらん?
273 名前:sage [2008/08/03(日) 13:46:14 ] 272様。 Builderのバグの qc.codegear.com/wc/qcmain.aspx?d=36215 コレを回避出来ないものかとおいまして。
274 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 15:23:16 ] ふ〜む、難しいねぇ。つかOpenにしたまま放置かい。
275 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 15:43:23 ] 都度hppを書き換える方法で行きます。
276 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 17:39:17 ] var d, i: Integer; begin d := Windows.GetLogicalDrives(); for i := 0 to 32 do if ((1 shl i) and d) <> 0 then Str.Add(Chr(i + Ord('A'))+':\'); end; とやるのと var d: Integer; c: Char; begin d := Windows.GetLogicalDrives(); for c := 'A' to 'Z' do if ((1 shl (Ord(c) - 1)) and d) <> 0 then Str.Add(c + ':\'); end; とやるのとじゃどっちが賢いんでしょうか
277 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 23:26:14 ] TWebBrowserのHttpヘッダを見たいんですが何かいい方法ありませんでしょうか
278 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 00:54:36 ] >276 下かな?でも上はそもそもバグっとる。for i := 0 to 25 doにしないと。 >277 つ WireShark
279 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 00:54:58 ] >>276 0 to 32 で 33個になるんだけど。 下の Ord(c) - 1 も、Ord(c) - Ord('A')じゃないの? 私は上の方が自然だと思います。 iが26以降になったときに何かやったほうがいいのかもしれません。
280 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 02:05:24 ] こんなのはどうだ。 d と c を分離するのはかえって解りづらいかな。 for c := 'A' to 'Z' do begin if (d and 1) = 1 then Str.Add(c + ':\'); d := d shr 1; end;
281 名前:276 mailto:sage [2008/08/05(火) 02:30:36 ] こんなにレスありがとうございます >>278 適当にググって適当にやったのがいけなかったかw 確かに25の間違いです >>279 ご指摘の通りです これからは見直しは1時間だな・・・ >>280 うーん、なんかすっきりしないですね
282 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 04:11:15 ] 280に一票
283 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 08:07:05 ] with BitArray(GetLogicalDrives) do with Each do while Loop do Str.Add(Char_Add('A', It.Value) + ':\'); 欠点はうちの環境でしか動かないことだがw
284 名前:277 mailto:sage [2008/08/05(火) 09:22:39 ] >>278 ああいや、外部からではなくDelphi内でモニタできないものかなあと思いまして、 Headerプロパティのようなものが見当たらず、代替するにも見当がつかなかったので聞いてみたのですが、 もしやindy経由で手の込んだことしないといけないんでしょうか…
285 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 15:46:47 ] >>284 ここにあった blog.goo.ne.jp/ozoz-goo/e/b403b98e3c2f3445549b191819c94a4f
286 名前:デフォルトの名無しさん [2008/08/05(火) 22:34:59 ] nkf32.dllやjconvertなりで文字コード自動検出してエンコードするソフトを作っているんですが、ほぼ英字のテキストだとたまに自動検出に失敗します。 失敗するのはいいんですが、失敗して文字化けした文字を検出するにはどうすればいいんでしょうか? EmEditorの自動検出でもよく失敗するのですが、そういうとき開くと「指定したエンコードで変換できない文字が含まれています。編集を続行して保存するとファイルの中身が破壊されます。 」と出るので検出は出来ると思うんですが、どうやったらいいのか見当もつきません・・・
287 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 22:48:40 ] 全文スキャンするしかないんじゃない? 文字コード検出のってファイル先頭部分しか見てないんじゃないかな
288 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 00:09:51 ] (c)文字は変換できないんじゃないの?
289 名前:286 mailto:sage [2008/08/06(水) 00:30:02 ] 自動検出で全文してみたんですけど無理みたい(失敗)です。。 EmEditorで検出失敗してもエラーが出ないときがあるので難しいのかもしれません。 けど、失敗エンコードのままの文をFireBird2.1DBのテーブルにインサートしてその文をクエリで検索するとエラーが今のとこ確実に出ます・・・ 2.0ではエラーはでずクエリできるので、2.0を使うしかないみたいです、自分の今の力では。。 (c)って著作権のマークのやつでしょうか
290 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 00:48:34 ] 自前変換ならエンコする時に全文字見る訳で その時に検出するだけでしょ WideCharToMultiByteとかならlpUsedDefaultCharで検出できるかと
291 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 11:12:20 ] >>285 うーん、headタグの取得については記述がありますが、 httpヘッダに関しては書いてないみたいです TWebResponseとかあるのにTWebBrowserでは使えないんてくやしいっ 大人しくTcpServer経由しますか…
292 名前:286 mailto:sage [2008/08/06(水) 11:54:16 ] >>290 なるほど、エンコ時にやればいいのか ありがとうございます!
293 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 16:38:17 ] というかぁ、完璧な自動って不可能だからぁ。 文字コードが重なっていて、自動判断できない領域があるしぃ。
294 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 18:57:59 ] その文書作った人がそうだといったらどう見ても違う文字コードでもその文字コードになっちゃうだろうしなあ
295 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 16:12:21 ] 指定のビットが0か1かを判定する関数またはクラスの作成をよろしくお願いします。 入力するデータはビット番号とデータなのですが、元のデータのサイズが決まっていなくて、 32ビットデータ4個(ビット0-127)だったり2個(ビット0-63)だったと可変です。
296 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 16:18:29 ] そこまで速度にこだわってないので、関数でいいのかな。 function TestBit(BitNum: Integer; Data: array ): Integer; Data引数が可変引数だったりするとうれしいです。以上よろしくお願いします。
297 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 16:20:22 ] ああ、32ビットと固定長でないかもしれません。16ビットや8ビットの場合もあるかもです。
298 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 16:21:58 ] ここは丸投げスレではありません お引き取りください
299 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 16:23:47 ] >>298 今日は暑いですが、よろしくお願いします。
300 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 16:25:33 ] >>299 本当に暑いですね クーラーつけなきゃやってらんないです お引き取りください
301 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 16:30:44 ] >>300 そんな寂しい事を言って私を涼しくしなくてもいいので、TestBitの中身の方をお願いします。
302 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 16:44:51 ] 解決しました。 function TestBit(Stream: TStream; BitNum: Integer): Integer; var B: Byte; OldPosition: Int64; begin OldPosition := Stream.Position; try if (BitNum < 0) or (BitNum > Stream.Size*8) then raise Exception.Create('error'); Stream.Position := BitNum div 8; Stream.ReadBuffer(B, SizeOf(B)); Result := (B shr (BitNum mod 8)) and 1; finally Stream.Position := OldPosition; end; end; でいくことにしました。アドバイスありがとうございました。
303 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 17:37:35 ] >>302 どういたしまして、お役に立てて光栄です。
304 名前:デフォルトの名無しさん [2008/08/09(土) 02:42:51 ] ゼロサプレスって言うんだっけ。桁数指定して、桁数に満たない場合は頭に0を埋めてくれるヤツ。 formatでできるかと思ったらできないんだね? どうすればいいのか教えて? まさか自作関数?
305 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 08:53:26 ] マニュアルのformat関数のところにちゃんと書いてあるよ
306 名前:デフォルトの名無しさん [2008/08/09(土) 09:13:41 ] え? 実数の場合は%8.3fとかでいいんだけど(あと通過型も) 整数の方法がわからないよ %05dとかにすると、スペースになってしまう。
307 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 09:17:56 ] delphi format %05d でぐぐってみw
308 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 10:04:36 ] どーでもいいがゼロサプレスの逆だろ ちなみに指定桁数を0で埋めるって何ていうんでしょう?
309 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 10:11:59 ] www.wdic.org/w/TECH/%E3%82%BC%E3%83%AD%E3%82%B5%E3%83%97%E3%83%AC%E3%82%B9
310 名前:デフォルトの名無しさん [2008/08/09(土) 11:12:28 ] ゼロパディングなんだ。 パケットとかではパディングってよく使うけど、桁合わせの時には聞いたことがないような。
311 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 18:28:40 ] ListView がスクロールされた事を知らせるイベントってないですか? あるいは、enable が true でスクロールバーをスライド出来なくする方法ありますか?
312 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 18:48:21 ] スクロールしないならLabel並べておけ
313 名前:デフォルトの名無しさん [2008/08/09(土) 19:01:47 ] ListViewはウィンドウコントロールだから、 普通に WM_VSCROLL で出来ないか? WndProc書き換えちゃえ。
314 名前:311 mailto:sage [2008/08/09(土) 19:14:03 ] >>312 ListView をクリックすると、そのセル上に同じ大きさで memo を表示して あたかも編集出来る様にしたんですけど、スクロールすると ListView だけ動いて memo は置いてけぼりになるんです、だから編集中はスクロール出来ない様にするか スクロールしたら、なんとか memo が付いて行く様にしたいと思ったんです。 >>313 やったこと無いですけど、何とか出来るか試してみたいと思います、有難うございましたw
315 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 20:04:36 ] >>314 Memo使うの? Editでならやったことあるけど、今はStringGrid使ってるよ
316 名前:311 mailto:sage [2008/08/09(土) 20:50:14 ] >>315 なんか memo が使いやすかったのでw >Editでならやったことあるけど その時スクロールとか困らなかったですか?
317 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 22:50:12 ] >>316 入力後Enterキーを押したらEditが消えるようにした気がする すぐにStringGridに変えたからよく覚えてない
318 名前:311 mailto:sage [2008/08/09(土) 23:04:01 ] >>317 そうですか、じゃあ自分もそうしようかなと思います、有難うございましたw
319 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 11:39:07 ] つーか、項目選択したらエディットコントロールを上掛け、 スクロールかEnter感知したらエディット消してListViewに反映でいいんじゃないの? StringGridはドロップダウンリストとか使えないからなぁ‥‥
320 名前:311 mailto:sage [2008/08/10(日) 11:46:16 ] >>319 そうしたいんです、でもスクロールを感知できなくて困ってるんです Enter感知は出来るけどw
321 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 12:02:43 ] >>320 ならWndProcメソッドのオーバーライドがんばれ。 正規の方法でのコンポの継承が面倒なときは↓の方法使うと楽 www.geocities.jp/asumaroyuumaro/program/tips/replacecompo.html
322 名前:デフォルトの名無しさん [2008/08/10(日) 12:19:11 ] なんか、最近Delphiのパンフが送られてこない気がするのですが、 次期バージョンの日本語版発売っていつごろになるんでしょうか? 今、BDS2006使いなのだけどもVistaにきちんと対応したい。 2007って今買い時かなのかな・・・? 次期バージョンはどうせ、VCLのUNICODE対応でバグ満載になるだろうし 安いうちに買っておけばよかたとちょっと後悔している
323 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 12:19:51 ] >>321 既出なのかもしれないけど、よいTipsですね。
324 名前:311 mailto:sage [2008/08/10(日) 12:21:07 ] >>321 やっぱりその方法しかないですかw なんとか頑張ってやってみます、有難うございました。
325 名前:デフォルトの名無しさん [2008/08/10(日) 12:23:02 ] そんな低レベルなところでがんばっても .NETに移ったら全部ゴミになっちゃうからやめておいた方がいいよ。 今のうちにC#を学んでいつでも移行できるように準備しておいた方が後々特。
326 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 12:35:12 ] >>324 WindowProc差し替えの方が簡単かも。
327 名前:311 mailto:sage [2008/08/10(日) 13:01:27 ] >>325 .NET も良さそうですね、便利そうで羨ましいですw >>326 その方が簡単ですか、その方法も調べて見たいと思いますw どうしても解からなかったら邪道だけどタイマーで監視します。 みなさん有難う御座いましたw
328 名前:311 mailto:sage [2008/08/10(日) 15:13:17 ] なんとか WindowProc の WM_VSCROLL で出来ました 有難う御座いましたw
329 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 20:19:38 ] memo1.lines.loadfromfile(****.txt); でメモラインに追加してから memo1.lines.loadfromfile(***2.txt); のテキストを↓に追加したいのですが、上書きされて***2.txtのデータしか残りません・・・・ 上書きせずに追加するにはどうすればいいのでしょうか?
330 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 20:53:51 ] add?
331 名前: ◆XcB18Bks.Y mailto:sage [2008/08/10(日) 21:15:41 ] >>329 編集中のテキストにファイルから別のテキストを追加読み込みしたいということですね。 別に文字列リストを用意してそれに読み込んでからMemo1.Linesに追加。 procedure TForm1.Action_AddFromFileExecute(Sender: TObject); var Strings: TStringList; begin Strings := TStringList.Create; try if OpenDialog1.Execute then begin // 文字列リストにファイルを読み込む. Strings.LoadFromFile(OpenDialog1.FileName); // Memo1のテキストにこの内容を追加. Memo1.Lines.AddStrings(Strings); end; finally Strings.Free; end; end;
332 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 07:32:07 ] ClientDataSetに大量のデータ突っ込んだ後、EmptyDataSetでクリアしても、 タスクマネージャのメモリ使用量が変わらないんだけど、これは?? データ突っ込んで、タスクマネージャで100MB近くなったんだけど、ずっとそのまま・・
333 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 18:05:35 ] TurboDelphiを先日落とした身です。 例えば procedure TForm1.Button2Click(Sender: TObject); var hoge: string; begin end; でF9実行しようとすると、その変数は使われてないと警告が出てデバッグが実行できません。 警告を残したままデバッグの実行はできないものなのでしょうか。
334 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 18:08:42 ] {$WARN SYMBOL_DEPRECATED OFF} みたいなのを頭に書いとけば消せる。 具体的な指定はヘルプにあるはず。 その警告は残しておいた方がいいとは思うが。
335 名前:デフォルトの名無しさん [2008/08/11(月) 19:24:36 ] Delphiでのアプリケーション間通信のよい方法があったら教えてください。 環境は双方ともDelphi製で、片方VCL GUIアプリ、片方Win32アプリです。 実際にはマップエディタで設定したマップを、別アプリのゲーム側で リアルタイムに読み込んでプレビュー処理をしたいのです。 そこで、マップエディタで現在編集中のマップをファイルで保存しておいて、 そのファイル名(もしくはマップのIDなり)をゲーム側に伝えたいのです。
336 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 19:38:34 ] ファイル名程度ならWM_COPYDATAで十分じゃ?
337 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 19:39:06 ] ファイル名程度なら、WM_COPYDATAで十分じゃ?
338 名前:デフォルトの名無しさん [2008/08/11(月) 19:40:24 ] Delphiでのアプリケーション間通信のよい方法があったら教えてください。 環境は双方ともDelphi製で、片方VCL GUIアプリ、片方Win32アプリです。 実際にはマップエディタで設定したマップを、別アプリのゲーム側で リアルタイムに読み込んでプレビュー処理をしたいのです。 そこで、マップエディタで現在編集中のマップをファイルで保存しておいて、 そのファイル名(もしくはマップのIDなり)をゲーム側に伝えたいのです。
339 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 19:45:33 ] SendMessage(WM_COPYDATA でマップデータを送るのはどうか。 使ったこと無いけど、SendMessageTimeout の方がいいのかもしれない。 受け取り側でデータをコピーするから、マップデータが巨大だと 時間がかかる。
340 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 22:10:29 ] 普通に考えればメモリマップドファイルだろうね。
341 名前:デフォルトの名無しさん [2008/08/11(月) 22:11:12 ] >>339-340 ありがとうございます。WM_COPYDATAが簡単にできそうです。 こちらが参考になりました。 WM_COPYDATA メッセージによるプロセス間通信 homepage2.nifty.com/Mr_XRAY/Halbow/Notes/N012.html
342 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 00:09:05 ] 警告ならできるだろ >333 原因は別にある
343 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 00:55:49 ] 変更のあるたびに全部送るんじゃなくて、変更のあったところのみ送れば 速くなりそうですね。
344 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 13:06:48 ] >>334 >>342 新規でプロジェクト作成してみたら警告が出るようなコードでもデバッグが実行できました。 どうもお騒がせしましたorz
345 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 20:09:22 ] >>331 遅くなりましたが、ありがとうございます! おかげでできました〜
346 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 19:18:29 ] TMenuItemからTMenuItemに全てのプロパティをコピーするにはどうすればいいんでしょうか Assignでは「TMenuItem から TMenuItem に代入することはできません.」と例外が発生しました
347 名前:346 mailto:sage [2008/08/13(水) 20:30:24 ] 自己解決しました delfusa.main.jp/delfusafloor/archive/www.nifty.ne.jp_forum_fdelphi/faq/00069.htm このCopyComponentを使えば出来ました
348 名前:346 mailto:sage [2008/08/13(水) 20:57:39 ] と思ったけど完全にはコピー出来ないようです 何とかコピー出来ないものでしょうか
349 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 21:01:06 ] TStream.WriteComponent/ReadComponentしてみたら。 それかメニュー構造を再帰的にコピーしていくコード書くか。
350 名前:346 mailto:sage [2008/08/13(水) 22:33:53 ] >>349 > TStream.WriteComponent/ReadComponentしてみたら。 例外が発生し、動きませんでした > それかメニュー構造を再帰的にコピーしていくコード書くか。 適当に書いたら普通に出来てしまいましたw ありがとうございました
351 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 00:24:35 ] 以前からこのスレを拝見しておりました いきなりの質問ですみませんがお答えいただけたら幸いです var str: array of array of String i : Integer; List: TList; begin SetLength(str,10); for i:=0 to 9 do begin SetLength(str[i],10) end; //str[0,0]からstr[9,9]まで領域を作る List:= TList.create; としたとき、 TListにstring型の1時配列を格納したいと思い、 List.add(str[Idx]) としたのですが、その後ListからItemsプロパティによって中身にアクセスできないんです・・・どうしたらよろしいのでしょうか?
352 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 01:42:22 ] >>351 usesにTypesを追加します。 TStringDynArray(List[x])[y] で str[x, y] にアクセスできます。
353 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 23:26:38 ] >>352 お答えありがとうごさいました!とても助かりました。
354 名前:322 [2008/08/15(金) 20:04:40 ] Delphi2007Pro版アップグレードの価格比較をみつけたので、こちらで吟味することにします。 ボーランド/Borland Borland Delphi 2007 for Win32 Professional R2 アップグレード版 価格比較 [coneco.net] www.coneco.net/PriceList/1070922054/order/MONEY/ amazonとかだと50000円超えててびくりしました お騒がせしました。 ありがとうございました。
355 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 20:51:48 ] 直販でUGすれば31500円だろ。 直販のUGってもう終了したんかな。
356 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 21:50:23 ] 電話してお姉さんに丁寧に説明してもらいなさい。
357 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 23:04:26 ] おねいさんに手取り足取り教えてもらいたい。
358 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 00:16:26 ] おねいさんに手コキ足コキしてもらいたい。
359 名前:322 [2008/08/16(土) 06:40:01 ] >>355 もう直販やってない希ガスCodeGearのページいってもたらいまわしにされる
360 名前:322 [2008/08/16(土) 07:06:51 ] 製品の購入のページってこれですよねえ。 www.codegear.com/jp/shop > バージョンアップ版を購入の方 > 以下のCodeGear製品については、バージョンアップ版も、新規購入と同様に、ソフトウェア流通代理店各社、SEshopのCodeGear専門ショップなどのオンラインショップサイトよりお求めいただけます。 > > CodeGear RAD Studio 2007 > Delphi 2007 for Win32 R2 > C++Builder 2007 R2 > JBuilder 2007 > 上記製品のバージョンアップ版の詳細については、こちらをご覧ください。その他の製品については、下記までお問い合わせください。 直販やってない? たらいまわしは、商品詳細とかんちがいしてましたw 問い合わせてみるか・・・ それともTiburon待ったほうがいいのかなあ
361 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 08:49:32 ] Unicode が必須じゃなければ2007にしとけ。 BDS2006持ってて2007買うのはどうかと思うがな。 お金持ちならだめもとでTiburonを。
362 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 08:54:10 ] こういう業界じゃ、バージョンアップの3万なんて日給分程度だろ? お金持ちって・・。
363 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 09:18:41 ] IT土方をなめるなよ。 ピンハネされまくって、ひ孫受けの土方に渡る金は、元金の1/3以下
364 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 09:31:53 ] Delphiできる人少ないから、手が足りない。 バイトで内職してくれる人おらん?
365 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 09:33:29 ] 思いっきり丸投げしといて 「内規で2割引かないといけないんですよてへへー」が 2つ3つ挟まるとか平気であるしなw
366 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 09:34:58 ] 3割引かれてテヘヘーだけど、1社しか挟まってないからまだ楽だ。
367 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 09:36:28 ] 他所でやれ
368 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 10:09:56 ] スキルが高まれば高まるほど逃げ出す、それが日本のIT業界。
369 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 13:10:00 ] >360 だからとりあえず電話してみなさいって。連絡先は ttp://www.codegear.com/jp/about/contact ここね。ただアップグレード期間は終わってるような気がするので通常の購入になって 高いかもしれないけど、そしたら他のところで買うことを考えてみればいいだけの話。 >366 3割ってよっぽど舐められてるか893か、いずれにしろろくでもないところだと思う。
370 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 13:25:53 ] スキルの低い底辺クズがいる、それがIT業界。
371 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 13:40:40 ] >>338-339 へぇ、メッセージで投げられるんだ 普通はアプリの通信ってパイプ使うけど マップデータ自体を送るんじゃなくてファイル名って言ったよね たった数文字送るなら パイプ通信のほうがいいんじゃないの
372 名前:デフォルトの名無しさん [2008/08/16(土) 13:40:50 ] Form1からForm2へドラッグ&ドロップするにはどうすればいいんでしょうか?
373 名前:322 mailto:sage [2008/08/16(土) 15:41:26 ] >>369 電話してみます。 みなさんありがとう。
374 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 15:57:45 ] >>372 OnDragOverイベントでAccept設定して出来ないか?
375 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 18:00:12 ] >>371 受け取る方はパイプのデータが更新されたことをどうやって知るの?
376 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 20:41:12 ] 数文字程度でもWM_COPYDATAの方が簡単かもしれない。
377 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 21:18:38 ] 自前のTMyFormの機能としてWM_COPYDATAをラップして 識別用のDWORD一つとデータ本体を送受信できるようにしておくといろいろ便利。
378 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 23:16:21 ] 現在Delphi2007を使用しています。 デバッグ機能について教えていただきたいのですが Visual Studioでいうところの「次のステートメントの設定」は Delphiに存在しないのでしょうか。 無いととても不便な気がするのですが どうしても見つかりません。
379 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 23:30:13 ] ない。なくても別にそれほど不便じゃないし。 QCに登録したら次の次で採用されるかも。
380 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 23:45:05 ] >>379 即レスありがとうございます。探し回っていたのですが これ以上探さずにすみます。それにしても残念。
381 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 03:40:24 ] >>372 VCL標準のD&D機構では出来ないから、 MouseCaptureして自分でやる。
382 名前:372 mailto:sage [2008/08/17(日) 10:49:16 ] >>374 >>381 レスありがとうございます。 MouseCaptureググッって、午後からいろいろ試してみようと思います。
383 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 11:13:40 ] TFormのDnD、VCLでできないんならOLEDnDのほうがスマートじゃ? プロセス間でも平気だし、テキストや画像なら未知のアプリケーション間でも出来るし
384 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 11:30:37 ] フォーム上にカラーパレットのようなものを配置(カラーグリッドでいいのかな) お絵描きコントロールを配置(たぶんペイントボックス) ペイントボックスに、既存のbmpファイルを読み込む(←ここがすでにわからない) カラーパレットをクリック で、色を選択 ペイントボックスに読み込まれた絵のどこか適当な場所をクリック その「クリックした個所と同じ色が」選択した色に塗りつぶされる (MSペイントの塗りつぶしみたいな感じ。あれは別な色で囲まれちゃってる部分は無視されるけど、 そこもぶち破って塗りつぶしてくれるならなおよろし。あれと同じでも充分) 顰蹙非難罵詈雑言何もかも覚悟でおねがい 以上を実現するコードください まるごとください おねがいします
385 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 11:34:30 ] どっかでペイントソフト作るチュートリアル無かったか。 丸投げするなら金額も一緒に書いとけよ。
386 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 11:38:11 ] 大人しくTPaintBox使わずにTImage使えば?
387 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 11:47:07 ] , ,:‘. 。 + ,.. ’‘ + ,.. . ..; ', ,:‘ . .; : ’ ' ,:‘. あ あ ,:‘. + .. ' ,:‘. . ...:: ’‘ ’‘ .; こ ん な に お 断 り し た い 。 . 。 気 持 ち に な っ た の は ,:‘. 。 '+。 初 め て で す .. ' ,:‘. :: . .. .. ' ,:‘. ハ,,ハ ( ゚ω゚ )
388 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 11:48:25 ] /\___/\ / / ヽ ::: \ | (●), 、(●)、 | | ,,ノ(、_, )ヽ、,, | | ,;‐=‐ヽ .:::::| \ `ニニ´ .:::/ NO THANK YOU /`ー‐--‐‐―´´\ .n:n nn nf||| | | |^!n f|.| | ∩ ∩|..| |.| |: :: ! } {! ::: :| ヽ ,イ ヽ :イ
389 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 12:12:59 ] お断りします ハ,,ハ ハ,,ハ ハ,,ハ ハ,,ハ ( ゚ω゚ )゚ω゚ )゚ω゚ )゚ω゚ ) お断りします / \ \ \ \ お断りします ((⊂ ) ノ\つノ\つノ\つノ\つ)) お断りします (_⌒ヽ ⌒ヽ ⌒ヽ ⌒ヽ お断りします ヽ ヘ } ヘ } ヘ } ヘ } ε≡Ξ ノノ `Jノ `J ノ `J ノ `J
390 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 15:47:38 ] 再度おねがいにきました あきらめないで待ってます
391 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 15:48:24 ] ____ やなこったwwwwwwwww .ni 7 /⌒ ⌒\ l^l | | l ,/) / ( ゚ ) (。 )\ .n ', U ! レ' / / ::::::⌒(__人__)⌒:::::\ l^l.| | /) / 〈 | ヘ / | | U レ'//) ヽっ ` ⌒´ / ノ / /´ ̄ ̄ ノ \rニ | `ヽ l
392 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 16:19:04 ] そんなことよりポインタ演算の話しようぜ。
393 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 22:17:46 ] もうちょっと待て。ベータブログに出てきてNDAから外れたらな。
394 名前:デフォルトの名無しさん mailto:sage [2008/08/17(日) 22:19:01 ] >390 WindowsのPaint使えばいいんじゃね?
395 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 00:18:16 ] お絵かきソフトのサンプルをCDから探して。
396 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 11:40:11 ] その1 Image1.Picture.LoadFromFile('hoge.bmp'); 以降よろしく。
397 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 11:58:30 ] canvas.FloodFill(なんたらかんたら)
398 名前:デフォルトの名無しさん mailto:sage [2008/08/18(月) 19:12:39 ] DEMOSとかというフォルダからサンプルらしきものを発見しました imageでも絵かけるんですね >>396 >>397 ありがとうございます ちょっと自力でがんばってみます
399 名前:398 mailto:sage [2008/08/19(火) 19:05:38 ] おかげさまでどうにか以下までは成功しました procedure TForm1.Image1Click(Sender: TObject); var MouseP:TPoint; MouseX:integer; MouseY:integer; GetColor:integer; begin GetCursorPos(MouseP); MouseP:=Image1.ScreenToClient(MouseP); MouseX:=MouseP.X; MouseY:=MouseP.Y; GetColor:=Image1.Canvas.Pixels[MouseX,MouseY]; Image1.Canvas.Brush.Color:=塗りつぶしたい色; Image1.Canvas.FloodFill(MouseX,MouseY,GetColor,fsSurface); end; 元のbmpファイルがけっこう小っちゃいので、Imageをめいっぱい大きくとったうえストレッチ表示にしたら クリック位置を補正しなきゃならなくなってしまいました MouseX:= Trunc(Image1.Picture.Bitmap.Width*MouseP.X/Image1.Width) とか、とりあえずやってみたらできたけど、何かこのあたりはまだ考える余地がありそうです あとちょっとだけがんばります
400 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 20:27:01 ] 始めたばかりで頑張っていた頃を思い出させるいいレス。 頑張れ!
401 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 01:07:43 ] WideStringでのインデックスをAnsiStringでのインデックスに直すにはどうすればいいんでしょうか? 例えば 関数('あああ',3) = 5 みたいな感じです
402 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 01:25:08 ] >>401 こんな感じかな function WideIndexToAnsiIndex(const ws: widestring; index: Integer): Integer; begin if (Index < 1) or (Index > Length(ws)) then Result := 0 else Result := Length(AnsiString(Copy(ws, 1, index - 1))) + 1 end;
403 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 01:36:25 ] >>402 うお、こんな簡単に出来ちゃうんですね ありがとうございました
404 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 03:34:47 ] >>401 なぜユニコードだったりそれをMCBSに変換しなければならないかにもよるけど、 ByteToCharIndexやCharToByteIndexでもっと幸せになれるかもしれない。
405 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 12:47:33 ] Button1を押したら Memo1の書いてる文章を 全て選択 コピー 切り取り 貼り付け するにはどうやればいいでしょうか?
406 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 13:36:46 ] >>405 Memo1.SelectAll; Clipboard.AsText:=Memo1.SelText; Memo1.SelText:=''; Memo1.SelText:=Clipboard.AsText;
407 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 14:00:30 ] マジありがとうございます。 超助かります! Memo1.SelectAll; をしたら、ちゃんと全部選択できるてるみたいですが 選択範囲の色が変わりません。 普通のメモ張だったら 全て選択とかCTRL+Aで選択範囲が青くなりますよね? 青くするのはどうやるんですか?
408 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 14:17:29 ] >>407 Memo1.SelectAll; Memo1.SetFocus;
409 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 14:24:01 ] あー。できました。 ありがとうございましたー。
410 名前:デフォルトの名無しさん mailto:sage [2008/08/20(水) 20:57:20 ] SpeedButtonかToolButton使え
411 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 12:41:16 ] ファイルネームの最後だけ、たとえば c:\AAA\BBB\CCC\asdf.html というファイルなら OpenDialogやFileListBoxのFileNameは c:\AAA\BBB\CCC\asdf.htmlになってしまうので Edit1.Text:=FileNameみたいにすると長くなっちゃうんだけど c:\からCCCまでいらなくてasdf.htmlだけ取得するにはどうしたらいいんですか?
412 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 13:00:55 ] ExtractFileName
413 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 13:02:45 ] このくらい考えられないか? FileName := 'c:\AAA\BBB\CCC\asdf.html'; while pos('\',FileName) > 0 do FileName := copy(FileName,pos('\',FileName)+1); edit1.Text := FileName;
414 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 13:10:37 ] >>413 Pos2回もやってるのって無駄じゃね? それに「ソ」とかのことも考えたほうがいいぜ まあLastDelimiter使った方が楽だがww
415 名前:デフォルトの名無しさん [2008/08/21(木) 14:53:29 ] 役に立たないスレだな
416 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 15:46:36 ] 412で答え出てるじゃん。
417 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 07:16:18 ] Delphiはchar型って変数じゃないんですか?
418 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 07:19:56 ] 変数です。整数ではありませんが。
419 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 08:15:42 ] checklistbox1 にあるすべての項目にチェックを入れるボタンと チェックをはずすボタンはどうやればいいんですか? Seleckallやclearを押してもチェックがはずれたりしなくて困ってます。 ボタンクリック begin CheckListBox1.SelectAll; end; ってやってもなんも変わらないんですけど、どうすりゃいいですか?
420 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 08:55:17 ] >>419 まわしたら?
421 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 17:00:54 ] Button2をクリックしたら、Button1クリックと同じ処理をしたいときはどうやるの? procedure TForm1.Button2click(sender:Tobject); begin Button1click(sender) end; とかやってもエラーがでてコンパイルできません。
422 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 17:13:13 ] >>421 それで間違ってないだろ。つかエラーメッセージくらい読めよ。
423 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 17:15:56 ] button1.onclick(sender);
424 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 17:34:25 ] Button2のイベントハンドラをButton1Clickに設定する
425 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 17:37:16 ] interfaceの宣言の下に書くGUIDはCtrl+Shift+Gで出る奴でいいんですか?
426 名前: ◆XcB18Bks.Y mailto:sage [2008/08/22(金) 19:23:55 ] >>421 エラーメッセージはなんですか? 未定義の識別子 Button1click と出たなら Button1click という名前のメソッドがないということです。 (このメソッドがあるはずだ!ということなら似たような違う名前になっていないか調べてください)
427 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 21:20:55 ] 俺俺っていうコードを変換したいんだけど (俺のコードは89 B4です) 89 B4 89 B4をchrを使って chr(89)+chr(B4)+chr(89)+chr(B4)ってやっても エエって出てきちゃいます。(半角のエはB4) どうやったら89 B4を「俺」になおせますか? chr(46127)てやっても出来ませんでした。 数値を日本語に変えるやりかたを教えてください!
428 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 21:29:25 ] ShowMessage(chr($89)+chr($B4)) で普通に俺って出るぞ
429 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 21:37:50 ] なぁんだ、$をつければよかったんだ。 どうもありがとう
430 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 22:17:39 ] Chr(B4)でコンパイル通るのかww
431 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 22:32:41 ] ListviewのFullDragをtrueにしてドラッグで入れ替えても 見かけ上は入れ替わるんですけど、中身のデータはその場所と一致してないんですけど ちゃんと一致させる方法ありますか?
432 名前:431 mailto:sage [2008/08/22(金) 22:35:26 ] すいませんカラムの並び替えです・・・
433 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 00:44:16 ] StringReplaceのWideString版ってありますか?
434 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 08:36:38 ] >>421 Button1.Click;
435 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 09:33:40 ] >>433 AnsiStringReplaceのことか?
436 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 14:31:08 ] Memo1.Linesのそれぞれの行の文字数(全角文字は二文字と数える)を取得するにはどうすればいいですか? ------- 最初 12345 あほ apple ------- ならメモ1の最初の行文字数=4 二行目=5 三行目=4 四行目=5 といった感じです!
437 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 14:34:12 ] >>436 普通にLength()でいいじゃん。
438 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 14:36:57 ] length
439 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 14:37:01 ] そんなコマンドがあったのか!ありがとうございます
440 名前:431 mailto:sage [2008/08/23(土) 19:21:21 ] >>431 の問題ってデフォですか、それともウチだけの不具合ですか それだけでも教えてください
441 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 19:32:19 ] >>435 それでも十分いけるんだけどいちいちWideString→Stringで置換→WideStringってやってるとなんか無駄っぽいので WideStringのまま出来ないかなって思っただけです TurboDelphiにWideStrUtilsってのがあったのでその中にある、 WideStringReplaceを使ってみたけどなんか不具合があるっぽくて正常に置換されなくて使えなかったんです でもTntの関数使ったら出来ました ありがとうございました
442 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 01:16:25 ] >>440 カラムのドラッグによる位置変更で データそのものの位置が変わっちゃったらえらい事になるでしょうよ ListView_GetColumnOrderArray ListView_SetColumnOrderArray 辺りで幸せになれるかもね
443 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 02:23:50 ] TTrayIconを使用しているのですが、 TrayIconが表示されている状態でWindowsをシャットダウンすると、 「シェル通知アイコンが削除できません」 というエラーメッセージダイアログが発されて、正常にシャットダウンしません。 ダイアログを閉じるなりすれば、シャットダウンは進行するのですが。 アプリケーションでメッセージを補足して、WM_QUERYENDSESSIONを 受けたときに、TrayIconの表示をFalseにすれば何とかなるかと思ったのですが、 WM_QUERYENDSESSIONを受け取る以前に上記のエラーメッセージが 発されてしまっているようです。 対策をテストするにも、毎回Windowsをログアウトするなりしなければならないので、 非常に非効率的な事態に陥っています。 これらの問題をすでに解決済みの先哲がいらっしゃいましょうや。 なにとぞ愚人に叡智を授けて下されれば、この443、幸いに存じます。
444 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 05:30:02 ] SDK32: 通知領域にアイコンが登録されないことがある support.microsoft.com/default.aspx?scid=kb%3Bja%3B418138
445 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 05:45:16 ] どうも、443っす。 結局のところ、自己解決したっす。 原因は、WM_QUERYENDSESSIONを補足しきれてなかったことみたいっす。 WM_QUERYENDSESSIONをちゃんと補足したときにTrayIconを非表示にするだけで何とかなったっす。 つまり、アプローチは間違って無かったっす。 汗顔のイタリーっす。板汚し、失礼したっす。 それじゃ、天上の調べをオリーブの枝に接ぐ作業に戻るっす。 チャオっす。
446 名前:431 mailto:sage [2008/08/24(日) 06:30:05 ] >>442 ありがとうございました
447 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 14:13:11 ] Excelで管理していたToDoのメモを使いやすくしたいと思い、 愛用のDelphiでDB化できないかと思っています。 可搬性を考え、Delphiの通常のアプリ同様インストールなしでDBを使いたいのですが、 なにかよいエンジンは何かないでしょうか? 手持ちの最新版は Delphi2006です。
448 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 15:21:06 ] EmbeddedFirebirdとか インタフェースはInterbaseそのままだからIBXとかも普通に使える。ただしDLLなので、動作時のカレントディレクトリに注意。
449 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 15:33:36 ] プロパティを絶対に変更しないって前提なら TTodoItem = class published にいろいろデータ溜め込んでTStream.WriteComponent, ReadComonentすればいいんだけど リスク高すぎなんだよな。 ここら辺もうちょっと柔軟にXMLに対して読み書きしてくれるライブラリはないものか。
450 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 16:05:15 ] >>447 SQLiteが一番手軽かと
451 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 16:15:53 ] >>448-450 ありがとうございます。 Embedded Firebird(Interbase6互換)、Write(Read)Component、SQLite などですね。 あと、MyBaseも使えるようです。こちらが参考になりました。 Delphi@WCIMH hp.vector.co.jp/authors/VA028375/delphi/db.html SQLiteはビジュアルコンポーネントと連携できるのでしょうか?
452 名前:447=451 mailto:sage [2008/08/26(火) 16:28:25 ] SQLiteのライブラリがいくつかありました。 Tim Anderson’s ITWriting - Tech writing blog ≫ A simple Delphi wrapper for Sqlite 3 www.itwriting.com/blog/a-simple-delphi-wrapper-for-sqlite-3 Aducom Software [Delphi SQLite Components] www.aducom.com/sqlite/download.htm 18385 SQLite DbExpress driver cc.codegear.com/Item.aspx?id=18385 Delphi8以降で使えない? いくつか試してみます。ありがとうございました。
453 名前:322 mailto:sage [2008/08/26(火) 16:38:56 ] >>369 遅レスですいません。 エンバカデロ日本に電話してみました。 直販はやってないとのことで、個人の場合は量販店やネットなどで買ってほしいとのことでした。 通販の値段はこちらを参考にすることにします。 ボーランド/Borland Borland Delphi 2007 for Win32 Professional R2 アップグレード版 価格比較 [coneco.net] www.coneco.net/PriceList/1070922054/order/MONEY/ 42000円前後でしょうか。 アップグレード割引期間内にアップグレードしておけばよかったと後悔してます。 2006の時は期間を延長したりしてくれてたのに・・・
454 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 19:34:14 ] >>447 ToDo リスト程度なら、TcrientDataSet でも十分実用になると思います。
455 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 20:34:40 ] つかDBいらねぇだろ。
456 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 20:55:00 ] enterprise.watch.impress.co.jp/cda/software/2008/08/26/13696.html >価格は、Delphi 2009、C++Builder 2009とも、 >Professional版が10万2900円、Enterprise版が25万2000円、Architect版が44万1000円。 >両製品のバンドルパッケージも用意されており、 >Professional版が13万4400円、Enterprise版が29万4000円、Architect版が50万4000円となっている。 どう考えても、高いよな。
457 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 20:56:48 ] 日本のPCゲーム業界みたいなことになってるな
458 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 21:13:14 ] アカデミック無いのかな
459 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 21:16:02 ] 5年前にやっとけよといいたいがようやく標準でまともなUNICODEアプリが作れるようになったか。 新版では、IDE、コンパイラ、フレームワーク、ランタイムがすべてUnicodeに対応し、 ANSIデータとUnicodeのシームレスな利用をサポートした。 また、新しいVCL(Visual Component Library)コンポーネントを搭載。 Office 2007から採用されたリボンをはじめとする、 新しいWindowsのルック&フィールに対応している。 さらに、RADテクノロジーを用いた多層データベースアプリケーションアーキテクチャ 「DataSnap」により、コンポーネントベースのデータベースアプリケーション開発を行えるとのこと。 これらに加えてDelphiでは、ジェネリックスや無名メソッドなど、 Delphiが持つ言語機能を強化し、開発効率の向上を実現。 一方のC++Buildeでは、新しい言語標準「C++0x」などもサポートしたとしている。
460 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 21:17:34 ] オッチャスレ池
461 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 21:28:23 ] >>460 ここですか?>< food8.2ch.net/test/read.cgi/pot/1077358365/
462 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 03:54:49 ] どんどん高くなっていくなぁ
463 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 06:16:53 ] >>459 これは欲しい。 次のバージョンアップが待ち遠しいぜ。
464 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 08:01:15 ] オッチャスレみていない俺のために張っておく 新規購入価格 Delphi 2009 Professional ¥98,000 (税込:¥102,900) Delphi 2009 Enterprise ¥240,000 (税込:¥252,000) Delphi 2009 Architect ¥420,000 (税込:¥441,000) C++Builder 2009 Professional ¥98,000 (税込:¥102,900) C++Builder 2009 Enterprise ¥240,000 (税込:¥252,000) C++Builder 2009 Architect ¥420,000 (税込:¥441,000) Delphi 2009 & C++Builder 2009 Bundle Professional ¥128,000 (税込:¥134,400) Delphi 2009 & C++Builder 2009 Bundle Enterprise ¥280,000 (税込:¥294,000) Delphi 2009 & C++Builder 2009 Bundle Architect ¥480,000 (税込:¥504,000) バージョンアップ価格 Delphi 2009 Professional ¥46,000 (税込:¥48,300) Delphi 2009 Enterprise ¥160,000 (税込:¥168,000) Delphi 2009 Architect ¥280,000 (税込:¥294,000) C++Builder 2009 Professional ¥46,000 (税込:¥48,300) C++Builder 2009 Enterprise ¥160,000 (税込:¥168,000) C++Builder 2009 Architect ¥280,000 (税込:¥294,000) Delphi 2009 & C++Builder 2009 Bundle Professional ¥60,000 (税込:¥63,000) Delphi 2009 & C++Builder 2009 Bundle Enterprise ¥180,000 (税込:¥189,000) Delphi 2009 & C++Builder 2009 Bundle Architect ¥320,000 (税込:¥336,000)
465 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 08:40:21 ] 高すぎる
466 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 10:40:51 ] Vistaがこけたおかげで、Delphi7が今でも現役だぜぇ。
467 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 10:59:26 ] 割れ厨急増ですねわかります
468 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 11:03:18 ] >>466 うんうん 助かるよねぇ ってか2006買ったが7使ってる
469 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 15:17:18 ] >>466 というか製品としても現役じゃないか、Del7とCBuilder6
470 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 16:49:25 ] 2007の拡張に慣れたらもう戻れない。
471 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 17:06:21 ] >>470 kwsk
472 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 17:08:09 ] 以前買った「Delphi DB&Webプログラミング」を読んでいるのですが DB初心者にすごくわかりやすくてよい本ですね。 ところで、Delphi7時代の本のせいか、いくつか用語かツールが変わっています。 例えば、SQLエクスプローラー相当はBDS2006時代では何にあたるんでしょうか?
473 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 21:13:03 ] BDS2006はもう誰も使ってないんじゃないかな・・
474 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 21:19:07 ] いや、俺使いまくってるけどw
475 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 00:05:29 ] www.geocities.jp/teamhasebe/prgrming/delphi/tips/dupignre.htm これを利用して多重起動させないようにしようとしてるんですが 新しい起動パラメータでリスタートさせるにはどうしたらいいでしょうか?
476 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 00:32:16 ] 起動させるためのexeを作る
477 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 02:30:28 ] 最初のexe起動。 次のexeをパラメータ付きで起動。 すでに起動済みならパラメータを最初のexeへ渡して自分は終了する。 タイミングによっては難しいかな。 最初のexeを終了させる方がいいかも。 いろいろ試して。
478 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 02:35:53 ] >>476 >>477 やっぱりそうゆうやり方しか無いんですかね。 やってみます。有難うございました。
479 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 05:23:51 ] >>475 自分でExe側をコーディングしているのなら、起動パラメータを弄るのではなく、 多重起動した場合、前のを落として 起動パラメータによって変更されるパラメータを変更するだけではないのかな?
480 名前:475 mailto:sage [2008/08/28(木) 12:49:11 ] >>479 すいません。 前のを落とす方法がわかりません。
481 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 14:22:09 ] mutexで排他制御をして すでに起動していたらWM_COPYDATAでパラメータを丸投げして 新しい方が自爆して すでに起動している方がパラメータを受け取ってリスタートする。 あるいは WM_COPYDATAで死ねというコマンドを送って古い方を終了させて 新しい方がそのままパラメータを処理する。 前者の方が初期化を省ける分軽くなる可能性はある。 後者の方が実装が楽になる可能性がある。
482 名前:475 mailto:sage [2008/08/28(木) 14:26:22 ] いい機会だからWM勉強してみます。 みなさん有難うございましたm(_ _)m
483 名前:デフォルトの名無しさん [2008/08/28(木) 14:50:53 ] TWebBrowserにhtmlでフォームを表示してるんですが フォームのtextarea内で改行出来ません ie・fxでは正常に改行できます
484 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 15:46:53 ] UIWebBrowserとか使っとけ
485 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 16:33:06 ] >>475 DDEを使って、既に起動している方に終了命令を送るかな 後から起動した方が、パラメータを既に起動している方に送って、 すぐに終了ってのはよくあるけど
486 名前:485 mailto:sage [2008/08/28(木) 16:59:49 ] >>475 DDEを使うとこんな感じ ※同じプログラム内に送受信を書きます 【メッセージ受信】 1. Systemパレットから DdeServerConv をフォームに置く 2. DdeServerConv の Name プロパティを "AAA" とかにする ← 後でトピック名に使われる 3. DdeServerConv の OnExecuteMacro イベントに受け取ったときの記述をする 例) Caption := Msg.Text; 【メッセージ送信】 1. uses 節に DDEMan 等(Formsも?)を追加 2. DdeClientConv を使って送信項目を書く↓ // アプリケーションが HogeHoge.exe で、トピック名が AAA の場合 SendStr = 'Tojiro-Goma'; ←送信するメッセージ with TDdeClientConv.Create(Application) do begin if SetLink('HogeHoge', 'AAA') then begin ExecuteMacro(PChar(SendStr), False); CloseLink; end; Free; end;
487 名前:475 mailto:sage [2008/08/28(木) 17:02:44 ] >>485 今回は>>481 さんの前者の方で無事成功しました。 DDEは別のところで使えそうなので参考にさせていただきます。 有難うございました。
488 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 22:11:06 ] 文字列'ABCD'があって、その文字列に1文字置きに'#'を挿入したいのですがどのようにすればいいでしょうか? こんな感じです。 A#B#C#D よろしくお願いします。
489 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 22:13:35 ] insert
490 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 23:01:40 ] Insertとforループでどうにかできました ありがとうございました
491 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 00:07:10 ] 二重ループの中で中側をブレークしてそのまま外をコンティニューするにはどうしたらいいで初夏? 取り敢えずフラグ立ててみたのですがこれしかないでしょうか? for i:=0 to Files.Count-1 do begin while .. do begin case xx of mrOk :zzz; mrIgnore:begin Flag:=True; Break; end; else exit; end; xxxx end; if Flag then Continue; zzzzzz; end; mrIgnoreの時はxxxxもzzzzzzを処理せずfor i:=ループを続けたい
492 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 03:55:45 ] 速度は遅いかもしれんけど中のループはbreakではなくcontinueで全部終わらせば 外のループへ出れる
493 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 07:52:05 ] goto使え
494 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 08:49:03 ] >>481 そっちのほうがスマートだな
495 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 13:36:05 ] bsNoneに設定したフォームで Form1.WindowState := wsmaximized を実行するとタスクバーの領域を浸食してしまうんだがお手軽に システムメニューの最大化を実装する方法ってあります?
496 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 21:31:01 ] こちらのサイトの方法を汎用化する方法はありませんでしょうか? Delphi VCL継承コンポーネントをインストールなしで使う/Tips & Tricks www.geocities.jp/asumaroyuumaro/program/tips/replacecompo.html Edti1 := CloneComponent(Edit1); みたいな方法で使いたいのですが・・・。 Hoge.Createすると、生成されずに、Createだけよばれてしまいます。 class helper使えばできる気もするのですが、class helperの同時に1つしか使えないという制限から困っています。
497 名前:496 mailto:sage [2008/08/29(金) 21:40:44 ] Result := TComponent(Original.ClassType).Create(Owner); でいける気がしました。 ちょっと試してみます。
498 名前:496 mailto:sage [2008/08/29(金) 21:51:58 ] >>497 は勘違いでした。orz とりあえずいけた気がします。 function CloneComponent(Owner, Original: TComponent; ClassType: TComponentClass): TComponent; var Stream: TMemoryStream; begin Result := ClassType.Create(Owner); if Original is TWinControl then (Result as TWinControl).Parent := (Original as TWinControl).Parent; Stream := TMemoryStream.Create; try Stream.WriteComponent(Original); Original.Free; Stream.Position := 0; Stream.ReadComponent(Result); finally Stream.Free; end; end; 使い方: Panel1 := CloneComponent(Self, Panel1, TPanelEx) as TPanel; 問題点は、PanelならPanelの上におかれたものが全部開放されちゃうことです・・・ なんとかならないかなあ・・・
499 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 23:08:08 ] 再帰
500 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 15:57:40 ] 2つのアプリを同じPCで動かしているのですが、 競合する動作があるので片方が動作すつときはもう片方の動作を止めるために WM_COPYDATAを送っています。 開発環境はxpで正常に動作しますが動作環境は98で 「このプログラムは不正な処理をおこなったので・・・」とゆうエラーが出ます。 このエラーは送信側が送信した瞬間に送信側で出ますが受信側は受信できています。 片方を落として動作させたり、片方の受信機能を外して送信した場合はエラーが出ません。 こちらの1と2をほぼそのまま利用しました。 homepage2.nifty.com/Mr_XRAY/Delphi/plSamples/650_SendText.htm
501 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 16:12:36 ]
502 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 16:57:25 ] >競合する動作があるので片方が動作すつときはもう片方の動作を止めるために そういうときには「ミューテックス」というモンを使うんですわ。 ttp://docs.codegear.com/docs/radstudio/radstudio2007/RS2007_helpupdates/HUpdate4/JA/html/delphivclwin32/SyncObjs_TMutex.html
503 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 17:50:03 ] Win98上での開発・デバッグ環境を用意しろとしか
504 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 03:59:43 ] 短い文字列型でやってみるとか。 ShortStringね。 送信側のEdit1.Textが空のときも問題ないのかな。 PCharでキャストすると、コード領域にある#0のアドレス返すから、 その辺でおかしくなるのかも。 良く分かりません。
505 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 11:32:33 ] >>498 TReaderのメソッドの中に、 コンポーネントの構成を再帰的に追っかけて読み込んでくれるメソッドがあった希ガス このメソッド使うと、イベントも含めたコンポーネントのクローンを作成することも可能。
506 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 19:37:44 ] >>502 そこはもう通り過ぎてるだろw
507 名前:496 mailto:sage [2008/08/31(日) 19:49:11 ] >>498 のコードは不完全でして、イベントハンドラ等のコピーができません。 それらをカバーするにはこちらが参考になるようです。 DelFusaBlog コンポーネントをインストールせずに使う方法 delfusa.blog65.fc2.com/blog-entry-40.html#more TMemoryStreamでイベントハンドラを別のオブジェクトにコピーするには? hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200703/07030070.txt 私はも書いてみようと思います。
508 名前:デフォルトの名無しさん [2008/09/01(月) 11:01:26 ] DLLについて質問です。 ----------------------------------- PCOPRS1CONTROL_RET Open(int port_no) port_no 使用するCOMポート番号(0 - 255) 出力 PCOPRS1CONTROL_RET_OK = 0 成功 PCOPRS1CONTROL_RET_ERR = 1 失敗 ----------------------------------- DLL内の上のような関数をテストしようと以下のようなコードを書いて実行すると関数はちゃんと走っているようなんですが矢印のところで毎回'privileged instruction at 0x0012f6d6'とエラーがでてしまいます。 これはDLLの呼び出し方が悪いのでしょうか?それとも他に原因があるのでしょうか? ---------------------------------- function Open(port_no: Integer): Integer; stdcall; external 'hogehoge.dll'; procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin i := Open(0); ShowMessage(IntToStr(i)); end; //← ----------------------------------
509 名前:デフォルトの名無しさん [2008/09/01(月) 11:49:53 ] >>500 メッセージと一緒にデータも送ってるのか? サンプルはCDSがローカル変数になってるのが良くないと思われるが 別のやりかたとしては、wmuser,wmapp,resisterwindowmessage()、ファイルマッピングオブジェクト、ミューテックスあたり
510 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 18:18:00 ] >>500 CDS.lpData:=PChar(Edit1.Text); がダメじゃないの? S := Edit1.Text; CDS.lpData := PChar(S); でどうだ。 >>508 呼び出し規約が合ってないかもね。 Cならデフォルトはcdecl。
511 名前:508 mailto:sage [2008/09/01(月) 20:51:26 ] >>510 function Open(port_no: Integer): Integer; cdecl; external 'hogehoge.dll'; ズバリその通りで上記のようにしたらエラーが出なくなりました。 ありがとうございます!
512 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 09:37:22 ] すいません、listviewのコラムの順番を変えたいんですけど ListView_SetColumnOrderArray(ListView1.Handle,3,pi); これって、3番目を1番目に移動するには pi に何を指定すれば良いんですか あと、これは全6個のうち3番目を1番目に移動するという事ですか SendMessage(ListView1.Handle,LVM_SETCOLUMNORDERARRAY,6,3) なんか、具体的な使い方が解からないので、お願いします
513 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 11:17:29 ] >>512 少しはググろうぜ ListView_SetColumnOrderArrayはLVM_SETCOLUMNORDERARRAYのマクロだからどちらも同じと受け取っておk piにはarray of Integerへのポインタを指定するっぽい 三つのカラムのうち一番右のカラムを一番左に持ってくるときは pi: array[0..2] of Integer pi[0] := 2; pi[1] := 0; pi[2] := 1; でいいと思う んで第二引数のとこには並べ替えるカラムの個数を指定するんだと思う だからListView_SetColumnOrderArray(ListView1.Handle, Length(pi), @pi);でいいような悪寒 以上ググった結果から適当に推測した結果でした
514 名前:512 mailto:sage [2008/09/02(火) 18:02:04 ] >>513 うまく出来ました しかし、コラムの内容は位置番号と一致してるけど それ以下の内容は位置番号と一致しないです やっぱり一致させるのは無理なのかな でも、使い方が解かったんで助かりました、ありがとうございますw
515 名前:デフォルトの名無しさん [2008/09/03(水) 13:41:01 ] SpTBXLibを使っている方は、おられませんでしょうか? Silverpoint Development club.telepolis.com/silverpointdev/sptbxlib/index.htm SpTBXLibは標準で便利なドッカブルパネルがあるのですが、 いくつものドッカブルパネルを上に載せて設計時にGUIデザインすると、 画面が狭くなるためフレームを使って分離できないかと考えています。 しかし、TSpTBXMultiDock に載せた TSpTBXDockablePanel 上に 他の出作ったTFrameから継承したフレームを載せると、 載せたフレームが真っ黒になってしまいます orz いままでSpTBXLib以外でのフレームでこのようなことはなかった気がします。 何か解決方法はないものでしょうか? SpTBXLib 2.2です。OSは、Vista SP1、XP SP3で確認しました。
516 名前:515 mailto:sage [2008/09/03(水) 14:23:56 ] どうやら、TSpTBXDockablePanel以外にも TSpTBXPanel 上にFrameを載せた場合にも起こるです。 上に載せたフレームの ParentColor := True でも無効な様子で、 Color := clNone から、Color := clBtnFaceにしたところ、通常のように表示されました。 しかし、残念ながらフレーム上では SpTBXLib の Theme設定が効きません。 他の部分がTheme対応なので不恰好になってしまいます。 VCLのソースを覗いてみてわかったのですが、 TXPManifest を載せて ParentBackground を有効にさせると、 設計時はダメですが、実行時は一応、SpTBXLibのThemeが効いてくれます。 しかし、画面リサイズ時などで画面のフレームの描画が崩れることが多々あります。 バグっぽい仕様な気がしてきました。(もしくはFrameに対応してない) ので公式サイトのリンク先のニュースグループで聞いてくることにします。 もし何かわかりましたら、こちらでも報告いたします。
517 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 15:25:20 ] AVGがDelphi7で生成したexeをウィルス扱いしやがったぜというお話 www.delphipages.com/threads/thread.cfm?ID=199695&G=199691&SAR=TRUE I have the new AVG 8 with Delphi 7 Pro With AVG fully updated. Create a new Delphi Project and add nothing and no controls and try and run. AVG throws a false positive Downloader.Banload.ZKA And the exe cannot be created. Add one piece of code or one simple component and no problem and no warnings.
518 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 16:11:31 ] Avast!もDelphiで生成したwin32コンソールアプリをたまに誤認するよ
519 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 16:28:11 ] ICSというコンポーネントをインストールしたんですが、いざ使おうとすると 「ユニット名〜が解決できません」と出て使えないのです。 何か他に特別なことがいるのでしょうか? インストールするのにに参照したサイトはここです。 mrxray.on.coocan.jp/Delphi/CompoInstall/index.htm verは2007です ICS www.overbyte.be/eng/products/ics.html
520 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 17:59:24 ] これIndyとどう違うの?
521 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 18:05:38 ] It is yet another internet component.
522 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 18:08:36 ] 日本語でおk
523 名前:519 mailto:sage [2008/09/03(水) 18:40:06 ] なんだか色々と弄ってたらどうにか使えるようになりました! お騒がせしました
524 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 18:44:03 ] .cbkってファイルがいつのまにかできていたのですが・・・? これは一体どのようなファイル? なのでしょう HogeFrameUnit.dfm.cbk というような ファイルでした 環境:BDS2006
525 名前:デフォルトの名無しさん [2008/09/03(水) 20:05:26 ] google ブラウザのせいでChromeがOxygeneに名前変わっててワロタ RemObjects Software: Oxygene 3.0 www.remobjects.com/product/?id={DC0A9947-5FED-4D34-8CC8-F2DCFA87A1FE}
526 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 20:09:20 ] 質問させてください<(_ _)> Delphiのボタンの色を変える方法ってありますでしょうか?? Bitボタンの文字の色を変えることはできるんですが ボタン表面自体の色を変えたいです。 imageなどで画像貼り付けも試してみましたが ボタン全体に被さってしまい、立体感がなくなってしまいます。 どなたかいい方法ご存知の方おられましたらぜひご教授ください。
527 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 20:24:03 ] >>526 ボタンにピッタリサイズのimageを作ればいいんじゃないかな
528 名前:526 mailto:sage [2008/09/03(水) 20:45:28 ] >>527 全体に合わせてしまうと立体感がなくなってしまうし 表面だけに会わせると、周りの色との違いがでてしまいます。 立体感含むボタンそのものの画像を作るしかないんでしょうか? それだと大きさによって変わるからたいへんですね^^;
529 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 21:20:26 ] >>528 WM_ERASEBKGNDを捕まえて適当に塗る
530 名前:デフォルトの名無しさん [2008/09/03(水) 21:29:20 ] >>528 ちょっと大きいPanelに乗せれば立体的に
531 名前:526 mailto:sage [2008/09/03(水) 21:41:50 ] >>529 、530 それは実行時にボタンを押したときに ちゃんと凹みますか??
532 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 21:44:19 ] やってみればいいじゃない
533 名前:デフォルトの名無しさん [2008/09/03(水) 22:11:47 ] >>526 TButtonの色変えは、かなーり昔からのFAQくさいw 色変更が可能なボタン rakasaka.fc2web.com/delphi/odbtn.html
534 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 22:15:04 ] その手の小細工を効かせたアプリは 大抵センスがよろしくないものになってしまうという
535 名前:526 mailto:sage [2008/09/03(水) 22:17:04 ] >>533 おお! これはいけそうですね!! どうもありがとうございます♪
536 名前:デフォルトの名無しさん [2008/09/04(木) 13:51:28 ] ここで質問する内容ではなさそうなので躊躇したのですが、他で該当するような 活発なスレが見付からないのでお許しください。 Delphi2009が発表されるので購入を考えているのですが、非常に高いですね・・・。 バージョンアップ版をと思ったのですが、私が以前に購入したのが10年くらい前の 初期バージョンの時代で、その後は会社購入版を使用していたため、私個人の IDを紛失してしまっています。 会社では業務の都合上Delphiの必要性がなくなったので今後のバージョンアップは 見込めない状態です。 そこで質問ですが、Delphiのバージョンアップ版を使用するにあたって過去製品で個人が 登録したIDが必要になると思うのですが、その必要性はどれくらいありますか? というのも、Microsoftのバージョンアップ版ではインストール時に過去の製品での ID等を聞かれないものですから、Delphiも大丈夫かと思いましたので質問させていただきました。 変な質問で申し訳ありませんが、私個人の出費としてはあまりにも大きな差があるもの ですから質問させていただきました。もしお分かりなられる方がいらっしゃいましたなら よろしくお願いいたします。
537 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 13:58:45 ] 某時代はそもそもユーザー登録してないとバージョンアップ版買えなかったから誰も知らないと思うぞ おそらくアクティベーション時に登録するCDNのアカウントで判断するんだろうけど。
538 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 18:13:40 ] 会社に電話して事情を説明して購入可能か聞くしかない。 正規ユーザーの条件はIDを持っていることであり バージョンアップ版は正規ユーザーであることが条件である。 ゆえにバージョンアップは不可能。とか適当なレスはつけられるが 実際に購入可能かどうかとは何の関係もないしな。
539 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 18:35:34 ] 会社で購入したことを根拠に個人でバージョンアップはどう見ても変でしょ。
540 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 18:45:09 ] >>539 初期バージョンの頃に個人で買ったって書いてあるじゃん!
541 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 19:25:07 ] それを証明できないから問題なんでしょ。 これが通るなら、新規バージョンの購入者はいなくなる。
542 名前:デフォルトの名無しさん [2008/09/04(木) 19:30:42 ] てか、Delphi2009の販促の封筒かはがきがこないんですけど、 皆さんのところには着ましたか? プレスリリースだけで後は店で買ってねってことなのかな・・・
543 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 19:31:58 ] 仕事でつかえないなら、趣味としてつかうの? Turbo Explorer でいいんじゃないの。
544 名前:デフォルトの名無しさん [2008/09/04(木) 19:40:57 ] 仕事で使う人がこんなとこで質問するの?
545 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 19:56:51 ] ActionListはどこにおくのがよいものでしょうか? FrameなどでコードやUIを分離してデザインする場合にユニットがそれぞれ分散しますよね? それぞれ、DataModuleにActionListおいておいて、 それぞれFrameなどから、 中央集権的にアクセスする感じでよいのかなあ? それと Frame を使った場合やFormがたくさんある場合に、 ほかのFormを含むユニットの依存関係ってどう処理したものなんでしょうか? ほかのFormやFrameをそのまま依存(つまり、uses)させてしまうと、分離している意味が少ない気がします。 DataModuleを介すれば、依存ユニットをusesする必要はあまりないですが、 解決になってない気もします。
546 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 20:03:26 ] >>545 自分もいろいろ試行錯誤したけど メインフォームに置くのが最適と判断した。 各フレームに対するアクションをそのフレームに委譲していくと アプリにとって本質的な状態の管理やらの制御のコードがフォームに残る。 データモジュールだとそのメインフォームに対する処理も冗長になるからちょっと面倒で無駄な感じ。 フォームユニットをスカスカにしても得るものがないしね。
547 名前:デフォルトの名無しさん mailto:sage [2008/09/04(木) 20:55:40 ] デルピィ
548 名前:Delフサギコ ◆A6VzDeLphI mailto:sage [2008/09/04(木) 23:41:51 ] _________ ∧,,∧∩ / ミ,,゚Д゚彡 < 日本がんがれ! ミつ旦.ミ \ @ミ ミ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∪''∪ やあ、元気っすか? さて、いきなり、質問っす。 コマンドラインの出力をクリップボードにとりこむような exeを作りたいんだよ。 dir > clip.exe みたいな実行ができるexeをつくりたいっす。 誰かおしえてくださいな。 BlueLeaf1336-PROBLEMS-2004_0013 www.geocities.jp/fjtkt/problems/2004_0013.html これを使うといいのかな?
549 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 00:01:17 ] それやるとclip.exeが死亡するんだが… dir|clipだよね? まあ標準入力をTStringListに放り込んでいって 最後にClipBoard.Text = Strlist.Textでいけると思う。
550 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 00:56:51 ] ゴミは消しとけよ>Delフサ
551 名前:Delフサギコ ◆A6VzDeLphI mailto:sage [2008/09/05(金) 00:57:10 ] ∧,,∧ どもー ミ,,゚ 3 ゚彡 ミ つ旦)~~ 〜と,,,~),,~) んーーー、こんなの書いてみて動きましたが 標準入力は、どうやって受け取るんでしょう? program ToClip; {$APPTYPE CONSOLE} uses SysUtils, Classes, Clipbrd, GrabConsole in 'GrabConsole.pas'; var SL: TStringList; begin SL := TStringList.Create; try PipeConsole('ipconfig', SL, nil); Clipboard.AsText := SL.Text; finally SL.Free; end; end.
552 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 01:25:24 ] APIのGetStdHandleで得てReadFileで読む RTLのRead関数はCのstdinなんかに比べて貧弱だから使わない方が良い
553 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 03:32:42 ] Delphi2009のバージョンアップは、今までより1〜2万高そう。
554 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 04:52:23 ] dir > clip.exe ワロタ
555 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 07:14:12 ] program cbin; uses Windows, Classes, SysUtils, Clipbrd; {$R *.res} var s, line: String; n: Integer; begin line := ''; n := 0; while not Eof(Input) do begin Readln(s); if n = 0 then line := line + s else if n = 1 then line := line + sLineBreak + s + sLineBreak else line := line + s + sLineBreak; Inc(n); end; Clipboard.AsText := line; end.
556 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 07:16:26 ] program cbout; uses Windows, Classes, SysUtils, Clipbrd; {$R *.res} begin Write(Clipboard.AsText); end. これで dir | cbin # クリップボードに取り込み cbout # クリップボードを出力 cbout | sort | cbin # クリップボードをソート な感じで使える
557 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 18:09:41 ] このへんのはC++Builderのほうが楽だと思うよー #include<vcl.h> #pragma link "rtl.lib" #pragma link "vcl.lib" だけしとけば何も考えずにVCL使えるし
558 名前:デフォルトの名無しさん mailto:sage [2008/09/05(金) 18:42:07 ] パイプで繋ぐのはシェルの役目であって プログラム自体はただの標準入出力するだけのコンソールアプリだろ。 言語選ぶようなもんでもない。
559 名前:Delフサギコ ◆A6VzDeLphI mailto:sage [2008/09/06(土) 00:44:14 ] ∧,,∧ ♪ ミ,,゚∀゚彡 ♪ ミつ[|lllll]). @ミ ミ ♪ ∪''∪ すっげー、 ありがとう。 でも、cbinだと、こういうエラーが出るんだ。なんでかな? --------------------------- デバッガ例外が発生 --------------------------- プロジェクト ClipboardIn.exe が EInOutError クラスの例外を生成しました。 'I/O エラー (6)' プロセスは停止しています。再開するにはステップ実行または実行を選択してください。 --------------------------- OK ヘルプ(H) ---------------------------
560 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 00:48:23 ] {$apptype console}が抜けてるんじゃね
561 名前:Delフサギコ ◆A6VzDeLphI mailto:sage [2008/09/06(土) 00:56:59 ] んん?ちゃんと動きました。>>560 さん。原因、そうかも。 ∧,,∧ ありがとう ミ゚Д゚*彡 ございます。 ミ(旦⊂ ミ (~,,(~,,,ミ〜 こんどは、ping -t 192.168.0.1 というずっと続く コマンドを、Memo1コントロールあたりに DOSプロンプトと同じ風に、1行つづ、出力したかったりするんですが こういうのはどのようにしたらよろしかりけり? それにしても、cbin、かっこいいな。 こういう実装もあるようです。どぞどそ。 File Area www.slis.keio.ac.jp/~anakata/filearea/filearea.html
562 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 02:56:02 ] >>561 CreateProcess, CreatePipeのサンプルがMLにあったはず。 中村氏だか戸田氏のコード。 それをサブスレッドで動かしてやれば標準出力を一行ごとに取れるだろう。 標準入力も受け付けるようなコンポーネントもあったな T*Dos*だかなんだか。かなり大昔の話だけど。 delphi component pipeあたりで探してれば見つかるんじゃねーの。知らんけど。 にしてもコマンドラインもパイプもネットワークもまるで興味なさそうだったのに 猫も進化するもんだなw
563 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 07:33:05 ] フサギコは犬だよ
564 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 08:35:50 ] Ω ΩΩ ナ、ナンダッテー!!
565 名前:Delフサギコ ◆A6VzDeLphI mailto:sage [2008/09/07(日) 00:56:56 ] わ・・・わん・・・・・・・ ∧.,,∧ >>562 さん ミ.,,゚Д゚彡 ミ つ目(ミ . 相変わらずですね。 〜ミ,,O,,,,,,つ まあ、いいけど。 Autch.netさんところや、 [プロセスコミュニケートコンポーネント(適当w)]さんのところで かかれているような応用すれば > こんどは、ping -t 192.168.0.1 というずっと続く > コマンドを、Memo1コントロールあたりに > DOSプロンプトと同じ風に、1行つづ、出力したかったりするんですが こういうのできるのかなあ。 んーー、ちょっとコーディングの感覚を取り戻す必要があるなあ。
566 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 05:12:03 ] TMemIniFileのUNICODE対応版(WideString)はどこかにありませんでしょうか?
567 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 09:56:55 ] INIファイル自体MS非推奨だからPrivate〜W系APIはない。 ついでに言えばUNICODE≠WideStringな。 MemInifileのソース抜いて頭にtype String = WideString;入れて再コンパイルしたら。
568 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 11:14:50 ] TMemIniFileはAPI非依存だから、改造すればいけそうだね
569 名前: ◆XcB18Bks.Y mailto:sage [2008/09/07(日) 15:32:45 ] >>566 ワイド文字列の値を保存するだけなら UTF8Encode関数でUTF-8に変換すればよいと思います ワイド文字列のファイル名だと大変そうですね。 >>545 アクションリストは基本的にメインフォームに置いています。 データモジュールはユーザーインターフェース(U/I。表示や編集)と無関係な 内部情報や内部処理を置く場所に徹するべきだと思います。 フォームを複数使うプログラムでは サブフォームやフレームがメインフォームを参照しないようにしています。
570 名前:545 mailto:sage [2008/09/07(日) 15:56:17 ] >>569 UIに関するものはメインフォームに置く、ということですが、その場合 サブフォームやフレームがメインフォームを参照しないようにできるんでしょうか?
571 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 16:56:06 ] Frame側でFileExecuteなんてpublicメソッドを用意して メインフォーム側のFileExecuteイベントハンドラから呼び出せば依存関係がなくなる。 publicをpublishedにしてSender.Name + 'Execute'を検索すれば少し楽になる。
572 名前:545 mailto:sage [2008/09/07(日) 20:04:55 ] いやそうでなく、フレーム側からメインフォームを参照するって話なのですが・・・ 動的にメソッド呼ぶのはなんか違くないですか?
573 名前:571 mailto:sage [2008/09/07(日) 20:31:26 ] (その逆はともかく)どうしてもフレーム、サブフォーム側からフォームを参照したくなければしなくてすむという話をしたつもりだったんだが。 動的かどうかはあまり本質的ではないと思うが。
574 名前:デフォルトの名無しさん mailto:sage [2008/09/07(日) 23:22:24 ] Delphi2007にUpdate3を当てると、System.pasが見つかりませんという DCCエラーが出るのですがどうすればいいんでしょうか? 他のUpdateも必要なのかと思い、 December2007 UpdateとApril08 Hotfixも当ててみましたが改善されません。 誰かご存知でしたら、教えてください
575 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 12:29:46 ] System.pasが見つからないは大抵コンパイラ起動する引数が多かったりするだけ ライブラリパスとか減らせば直ると思うよ こっちはd6per(笑)だから参考になるか分からんけども
576 名前: ◆XcB18Bks.Y mailto:sage [2008/09/08(月) 15:35:41 ] >>570 ・内部情報と内部処理は全てデータモジュールに置く ・内部処理クラスや汎用関数は別のユニットに書く とやるようにしたらメインフォームを参照することはなくなりました。 ただ、メインフォームにデータの保持とUIが一体化しているコンポを置く場合は 難しいかもしれません。
577 名前:デフォルトの名無しさん mailto:sage [2008/09/08(月) 21:53:44 ] >574 この件はローカライズの不具合で対応パッチがあったと思うけど。これか。 ttp://hiderin.air-nifty.com/delphi/2007/09/index.html#entry-20740562
578 名前:574 mailto:sage [2008/09/08(月) 22:19:48 ] >575 アドバイスありがとうございます。 手動でライブラリパスを変更して、Delphiを再起動するとうまくいきました >577 あ、問題はたぶんそれです でも、それ今はアップデートリストに出てこなくなってるようです。 一応手動ではありますが、解決しました ありがとうございました
579 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 07:57:56 ] Delphi最新版の予約語一覧をネットから見られるとこないですかね。
580 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 13:02:45 ] イメージ上でMouseDownしたときの処理A 同じくDlClickしたときの処理B 処理B実行後に時折Aが発動するんですが回避方法あります? Bの端末にReleaseCapture入れてみたがダメだった。
581 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 13:45:56 ] マウス操作ミスじゃないのか? ダブルクリック後一定時間以内ならMouseDownを無視してはどうでしょう?
582 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 17:26:47 ] マウスがチャタリング起こしてたりしない?
583 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 21:00:44 ] >579 つ ttp://docs.codegear.com/docs/radstudio/radstudio2007/RS2007_helpupdates/HUpdate4/JA/html/devcommon/fundamentalsyntacticelementsov_xml.html
584 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 21:30:02 ] 出勤前、帰宅後で自作自演、ご苦労さん
585 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 08:24:08 ] >>580 処理Aで↓ if not (ssDouble in Shift) then
586 名前:デフォルトの名無しさん mailto:sage [2008/09/10(水) 21:59:09 ] >>581 >>582 >>585 どもです。 操作ミスではないようです。チャタリング?は調べてみたところ大丈夫みたい。 >>585 で問題なく動作しました。ありがとうございます。 ssDubleについてはこれから調べてみます。
587 名前:デフォルトの名無しさん [2008/09/12(金) 19:13:43 ] 少し相談にのっていただけないでしょうか? TFrameをつくり、 フレームを使ってみる - DelWiki delwiki.info/?%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B こちらの方法で動的生成しているのですが、 実行時に以下のようなエラーが出てしまいます。 .dfmを見ると、ClientHeightが確かにあるのですが、削除しても フレームを表示すると、ClientHeightが再生成されてしまいます。 (ClientHeightを一時的に削除しても、同様に PixelsPerInch、OldCreateOrderプロパティでも同じようにエラーがでます) どのような対処したらよいものでしょうか? --------------------------- mogemage --------------------------- PropertyToolFrame.ClientHeight の読み込み中のエラー : プロパティ ClientHeight は存在しません. --------------------------- OK ---------------------------
588 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 19:16:04 ] 環境を書き忘れていました。 BDS2006 OS: Vista SP1 です。
589 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 19:38:52 ] >>587 おまいら、教えろ! まで読んだ。
590 名前:587 mailto:sage [2008/09/12(金) 20:08:04 ] >>587 です。 実は、Frameにこちらの TSpTBXFrame を、 Web interface to jrsoftware.org newsgroups - Re: Does SpTBXLib support TFrame ? news.jrsoftware.org/read/article.php?id=15119&group=jrsoftware.toolbar2000.thirdparty#15119 使っておりまして、どうも TSpTBXFrame にしたときに ClientHeight が published property にないのになぜか.dfmに保存されてしまうタイミングがあるようです。 (Forms.pasの property ClientHeight write SetClientHeight stored IsClientSizeStored が原因あるんでしょうか?) そこでアドホックですが、 ・「エディタで表示」(Alt + F12)でいったんIDE内でテキストで表示する ・エディタでエラーになる該当部分を消す。(ClientHeightなど) ・「フォームとして表示」(Alt + F12)で再表示する ・フレームのサイズを変更してみる ・コンパイル、実行 で修正OKでした。 結果的にエスパー必要としてスイマセン…… その後、「エディタで表示」で再度いじろうと思ったら、 --------------------------- 情報 --------------------------- モジュール '(パス)hoge.pas' は継承またはリンクされたモジュールで使われています。.閉じること はできません。 --------------------------- OK --------------------------- とかでで「エディタで表示」できなくなりました orz これはどうしたもんでしょうか?
591 名前:587 mailto:sage [2008/09/12(金) 20:31:37 ] > モジュール '(パス)hoge.pas' は継承またはリンクされたモジュールで使われています。.閉じること はできません。 の件は、どうやら フレーム名とフレームの型が .dfm と.pasで異なっていた(入力ミス?) のための影響でした。整合性をたもちましたら、解消されました。
592 名前:587 mailto:sage [2008/09/12(金) 20:41:59 ] 何度もすいません。原因がわかってきました(´д`;) こちらの TSpTBXFrame、 Web interface to jrsoftware.org newsgroups - Re: Does SpTBXLib support TFrame ? news.jrsoftware.org/read/article.php?id=15119&group=jrsoftware.toolbar2000.thirdparty#15119 つまり、これなのですが、 gist: 8945 ? GitHub gist.github.com/8945 デザイン時にTFrameを新規作成から生成し、 THogeMyFrame = class(TSpTBXFrame) という風に書き換えて、コンパイルし、いったん閉じて再度ひらいたところ デザイン画面がTFormのものになっており(TFrameの場合、枠がないはずなのに枠がある)、 .dfmの保存時もあたかもTFormのように振舞ってしまい、ClientHeight以下、 その他もろもろが保存されてしまうようです。 (ちなみに、TTnTFrameに置き換えた際は大丈夫でした) これは一体どのような現象なのでしょうか?
593 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 21:39:56 ] もう日記にでも買いたら。そんな一般性のない自問自答はしらんがな
594 名前:デフォルトの名無しさん mailto:sage [2008/09/12(金) 22:56:07 ] >>592 おそらくIDEのバグ 回避方法はもう忘れた 発生のタイミングはフレーム上のコンポを弄って保存した時。なのであまり弄るなw
595 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 09:08:18 ] TMainmenuのソース眺めてたらコンストラクタがなかったんだけど こいつを弄りたいときはドコ見れば良いんでしょ? 複数のペインがあるソフトでToolBarとかじゃなく個々にメインメニューを 置けないもんかとふと思ってね。縦置きとか下段置きとかやれんもんかと。
596 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 10:07:57 ] 継承して弄りたいなら TMyMainMenu = class(TMainMenu) public constructor Create(AOwner: TComponent); override; でいいんじゃないの。TMainMenuになければその親〜TComponentのコンストラクタがそのまま使われる。
597 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 10:38:08 ] メニューそのものはウィンドウズのメニューだよ。ウィンドウズのメニュー そのものの振るまいをかえることはできない。
598 名前:デフォルトの名無しさん mailto:sage [2008/09/13(土) 17:08:49 ] ToolBarのMenuBar := Trueにする方法がなかったけ?
599 名前:デフォルトの名無しさん [2008/09/14(日) 02:42:51 ] フォーム画面での「パネル」コンポーネントについて質問です。 すでにフォーム上に置いてあるコンポーネントを、 新たに配置したパネルの上に乗せたいのですが、 どうすればいいでしょうか? 画面左上の「構造」ウィンドウでドラッグしても、 駐車禁止マークみたいなものが出て、ドラッグできません。 (出来る時もあったように思うのですが・・・・)
600 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 02:50:45 ] カット&ペースト
601 名前:599 mailto:sage [2008/09/14(日) 03:08:38 ] できました!ありがとうございます。
602 名前:デフォルトの名無しさん [2008/09/14(日) 07:46:48 ] コンポーネントからParentのFormのイベントに対して反応することや、メソッドをフックするようなことは可能でしょうか? 具体的には、あるコンポーネントをFormに置くと、 CreateParamsを上書きして設定を書き換える、といったようなことです。 普通は、TMyForm.CreateParamsを定義して、 コンポーネントで定義したUpdateCreateParamsみたいなのを呼ぶものと思います。 ただ、もっと簡単にコンポーネントを利用できるようにならないかと思った次第です。
603 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 18:33:57 ] 継承のメカニズムに外部から干渉できるとすると大問題。 コンポーネントはポトペタができるクラスに過ぎない。 過大視するのは危険。 イベント横取りやメッセージフックは簡単にできる。あらかじめ外部から 干渉可能なメカニズムはコンポーネント化が有効かもね
604 名前:602 mailto:sage [2008/09/14(日) 18:50:09 ] >>603 サンクス。 >>602 には書いていなかったのですが一部やりたかった、 ウインドウメッセージの横取りは MakeObjectInstance でいけました。 調べたらサブクラス化といってDelphiでは定番の方法みたいですね。 CreateParamsはさすがにprotectedだし、というか普通のメソッドの横取りは無理だよなあ・・・ CreateParams時に、コンポーネントから呼び出してとドキュメントに書くしかないか。 どっかでアセンブラ使ってフックするような方法をみたんだけどあれはどこだったかなあ? 単なるWin32API呼び出しのフックだったかもしれない・・・。
605 名前:602 mailto:sage [2008/09/14(日) 18:53:18 ] ありました。 madshi.net - madCodeHook description www.madshi.net/madCodeHookDescription.htm 前にQuality CentralでVCLのバグを修正するのに利用されているのをみました。
606 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 20:18:53 ] Delphi8あたりから導入された class helper ですが、 2つのhelperが同時に使えないのが痛いと感じています。 これって、改善の要望みたいなのってどこかに出ていないのでしょうか?
607 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 21:43:14 ] すいません質問なのですが、Delphiには、任意の単語を登録して自動的にハイライトしてくれる機能を持ったテキストコントロールクラスがあると聞きました。 それってTRichEditというやつでしょうか?? 教えて頂けると幸いです。
608 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 21:51:43 ] >606 そういう積極的な使い方は非推奨だから…QCに出しても相手にされないと思う。 つかInterfaceとか使うべきなんじゃね? >607 少なくともTRichEditではない。TRichEditはWindowsのWordPad相当のrtfエディタ。 TEditorとかSynEditとかかなぁ?
609 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 22:21:25 ] RichEditも指定した単語をハイライトしたりというのは出来るけど 全部自分でコード書いてやらないといけないんだよな。
610 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 22:49:15 ] DelphiIDEに使われてる16x16のツールバーのビットマップってどっかにないですか? C:\Program Files\Common Files\Borland Shared\Images のは数が少なかったり古臭かったりで微妙なんで
611 名前:607 mailto:sage [2008/09/15(月) 23:39:52 ] ありがとうございます。 >>TEditorとかSynEditとかかなぁ? ああ、調べてみるとどうやらTEditorのことだったようです。ありがとうございました。 >> RichEditも指定した単語をハイライトしたりというのは出来るけど 全部自分でコード書いてやらないといけないんだよな。 そなんですよね!なのでTEditorのようなのがあるといいんのですが、DelphiじゃなくてC++(MinGW)で使いたいんですよね。 TEditorみたいののC++版みたいのがあればいいんですが・・ってDelphiスレで聞くことではないですね。。
612 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 23:42:11 ] C++BuilderならTEditorとか使えるがな
613 名前:607 mailto:sage [2008/09/15(月) 23:43:50 ] www.kanazawa-net.ne.jp/~pmansato/Components.htm#teditor ここにBCBでも使えるって書いてありますね。MinGWじゃだめなのかしら。。
614 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 23:45:30 ] BCB(CCB?ECB?)だとDelphiのコードがコンパイルできる なので他のコンパイラじゃ無理ぽ
615 名前:607 mailto:sage [2008/09/15(月) 23:46:25 ] >>614 ああ、そうなのですか・・知りませんでした。ありがとうございますm(_ _)m
616 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 14:41:18 ] C++Builderは、コンパイラがC++クラスとDelphiクラス両方のクラス扱えるようになってたりと、結構特殊な環境。
617 名前:デフォルトの名無しさん [2008/09/16(火) 14:56:54 ] 質問です。 htmlの<form>〜</form>のデータを Indyのpostで送信するプログラムを作成したいのですが <input タグの name="hoge" value="hogehoge" 等のデータを解釈して読み込み、post用にURLエンコードする必要がありますが <input name="hoge value="hogehoge"> この name="文字列" 形式の、"文字列"部分を効率良く取得する方法がいまいちわかりません。 泥縄式に文字列を操作して書けばなんとかなりそうではあるのですが スパっと取得できるワザはないでしょうか。 xxxx="xxxxx"形式を一発で取得する方法とか よろしくおねがいします。
618 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 16:28:33 ] >>617 TWebBrowserからIHTMLDocument2取ってきてDOMで操作するのは?
619 名前:587 mailto:sage [2008/09/16(火) 16:37:51 ] TFrameの継承クラスが、デザインして保存後にTFormに化ける問題ですが、 TTnTFrameのソース見て、原因がわかってきました。 設計時のコンポーネントとして、Delphiに登録しないといけないようです。 登録していないと>>587 のようにTFormとして認識され、おかしなことになります。 TTnTFrameはインスコ時にちゃんとDelphiに登録しているので大丈夫のようでした。 TTnTFrameの設計時インスコ用ライブラリのソースを真似て解決できそうです。
620 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 16:54:42 ] >>618 他の処理もIndyなので、postするときだけIEコンポだと ログインしている状態とかが引き継がれないので、 それは無理っぽいです。 <form>〜</form>を解釈してpostデータにしてくれるコンポがあれば一番いいのですが。 それか、name="hoge" value="hogehoge"を簡単に取得できる文字操作はないでしょうか。
621 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 17:02:47 ] xhtmlならXMLパーサでなんとかできないっけ?
622 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 17:04:03 ] 普通はPosかwhileで探すんじゃね?
623 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 17:07:30 ] Posとかだと変態チックなhtml投げられると詰まね?
624 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 17:14:40 ] MBCSにも対応してないしな
625 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 17:20:06 ] お前らなんで例にマジレスしてんの?
626 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 17:30:46 ] こんなの投げられたら困るじゃない(`・ω・´) pc11.2ch.net/test/read.cgi/tech/1198971515/46
627 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 19:13:24 ] >>620 正規表現は?
628 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 22:08:33 ] Tmemoから右クリックでメニューを出したいんですが TPopupMenuとTPopupActionBarの違いがよくわかりません
629 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 23:20:30 ] 計氏のMP3Playerコンポを使っていますが VolumeプロパティがVistaで機能しません 中の人はMMSystem.WaveOutSetVolumeとかしてるようですが
630 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 23:29:26 ] 作者に言え
631 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 00:10:05 ] >>620 Indyで取得したソースを書き込んでパーサ機能だけ利用すればいいじゃん、ってことじゃないの? ま、実際はWebBrowser使わずに直接パーサだけ利用できるんだけど
632 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 00:15:11 ] >>631 おすすめのパーサは?
633 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 00:26:31 ] おすすめも何もTWebBrowserが使ってるパーサが取替え可能とでも?
634 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 01:05:30 ] >>620 2chのCookie程度で効率とか考えなくても
635 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 08:45:02 ] スクリプト言語だとスクレイピング用のパーサーなんて一杯あるのにねえ マイナー言語だとこの辺が面倒なんだよなあ・・・
636 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 12:34:23 ] パーサーもろくにかけないのにプログラマー気取りか
637 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 13:14:13 ] んでDelphi2009の体験版使ったやついないの?
638 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 14:02:09 ] いくつかブログがヒットするな
639 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 15:38:48 ] >>637 使ったよ
640 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 20:11:24 ] MLで中村先生が少しだけレビューしてくれてるじゃないか
641 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 20:16:17 ] DBすっぱり削っていいからソースつき&基本機能の制限なしのTurbo出してくれよ〜
642 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 22:33:59 ] 637 以降はオッチャネタだね。あっちへどうぞ。
643 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 22:46:17 ] Delphi2009ってドトネトインスコ必須?
644 名前:デフォルトの名無しさん mailto:sage [2008/09/17(水) 23:28:39 ] >>643 必須
645 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 02:38:44 ] >>636 そういうあおりでは釣れないよ〜 ただでさえDelphiは車輪の再発明ばかりで、うんざりしてるんだから 愚痴ぐらい言ってもよかろう
646 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 09:51:57 ] 拾ってきたソースで楽ばっかしようとばっかで 己の才能のないことをDelphiのせいにするなよ
647 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 10:22:55 ] そんなこと言う奴はVCL使うの禁止だなw まあパーサぐらい正規表現使ってぱっぱとやるべきだろうけど。
648 名前:デフォルトの名無しさん [2008/09/18(木) 13:33:36 ] Delphiで改行はさせないけど、ボックスいっぱいになったら 次の行に表示させるようにしたいんだけど 普通のEditだとそもそも一行しか表示できないっぽいから RichEdit使ってみたんだけど、今度はMaxLengthに問題がでた。 EditではMaxLengthはバイト数なのにRichだと文字数になるらしい どうすりゃいいんだろう;
649 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 13:41:08 ] >>648 TMemoを使えばいいと思うよ。 ScrollBarsプロパティを ssNone か ssVertical にすれば勝手に折り返して表示してくれる
650 名前:デフォルトの名無しさん mailto:>>649 [2008/09/18(木) 14:00:24 ] できました!! ありがとうございます!
651 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 14:50:01 ] Delphi2006だけど、TADOTable.Refresh を実行すると、激しくメモリリークしないか?
652 名前:デフォルトの名無しさん [2008/09/18(木) 19:09:39 ] UNICODE文字列をANSI文字列方に変換したいから WideCharToString関数を使ってみたがString型だったため 使えませんでした。 他にStringをANSI文字列方に変換する方法ってありませんかね?
653 名前:デフォルトの名無しさん [2008/09/18(木) 19:11:32 ] >>>652 ちなみにDelphi5です。
654 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 19:20:48 ] StringはUnicode格納できないぜ?
655 名前:デフォルトの名無しさん [2008/09/18(木) 19:31:47 ] >>654 そうなんすか; ありがとうございます じゃぁ問題は他のとこか…;
656 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 19:40:57 ] どんなことをしたら文字化け(だよな?)したんだ?
657 名前:デフォルトの名無しさん [2008/09/18(木) 19:49:04 ] 文字化けっていうかBDEからADOに変えたら DBに入力した文字数ではいらないんすよ; 必ず何文字かなくなる上に、消える文字数に規則性がみつからないんです;
658 名前:デフォルトの名無しさん [2008/09/18(木) 20:39:33 ] >>657 全く同じ症状です。 どうすればよいのでしょうか。 情報お願いします。
659 名前:デフォルトの名無しさん [2008/09/18(木) 21:32:27 ] Parameters.ParamByName('W_NAME').SIZE:= 40; サイズ指定したら直りましたよ!
660 名前:デフォルトの名無しさん [2008/09/19(金) 06:19:21 ] 2009どこに売ってるの? 昨日秋葉回ったけど無かった
661 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 07:10:43 ] >>651 ReportsMemoryReaks := True だったかで確認した?
662 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 07:11:42 ] >>660 @nifty seshop.com
663 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 09:58:30 ] バージョンアップも店で買うようになったんだな。 ハガキが来ないからどうなったことだと思った。
664 名前:デフォルトの名無しさん [2008/09/19(金) 11:39:56 ] >>659 ありがとうございます!
665 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 12:01:46 ] UnicodeStringにCRLFを挿入するときって#13#10でOK?
666 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 12:13:32 ] Asciiと同じで#0が必要
667 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 17:40:52 ] >Asciiと同じで#0が必要 ハツミミです。
668 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 17:50:01 ] ネコミミでつ。
669 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 19:32:21 ] 文字コードの判定は何が良いでしょうか? UTF-8なども判定したいのでjconvertは使えません
670 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 22:44:09 ] 好きな方法でどうぞ。ちなみに完全に正しく判別する方法はありません。 詳しくは文字コードスレあたりで。
671 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 07:11:29 ] rubyのkconvみたいに適当でいいから判定してよライブラリがほしいのだろうと思う
672 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 07:50:41 ] 性格出るよねこういうときって
673 名前:デフォルトの名無しさん mailto:sage [2008/09/20(土) 09:51:04 ] たくさんの文字を調べれば遅くなるし 少しの文字しか調べないと甘くなるしな
674 名前: ◆XcB18Bks.Y [2008/09/21(日) 11:57:09 ] >>652 var s: string; ws: widestring; begin ws := 'くだすれ'; s := ws; end; …こういうことではなくて?
675 名前:669 mailto:sage [2008/09/21(日) 21:41:47 ] 皆さんありがとうございます nkf32.dllを使おうと思ったのですがWideStringを渡す方法が分からなかったので使えませんでした とりあえず自動判定は諦めるとして、文字コードの変換だけは実装しておきたいのですが、 WideStringのまま変換する例が無いのですが、何か良い方法はないでしょうか?
676 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 22:43:01 ] エクスプローラのツリービューはフォルダをマウスダウン→アップで選択すると リストビューにファイルが表示されますが、DelphiのTreeViewとListViewで同様の処理をする場合 どのイベントで記述すれば良いのでしょうか?TreeViewのOnChangeイベントだと マウスダウンの段階でイベントが発生します。OnClickイベントならダウン→アップで イベントが派生するので都合が良いのですが、OnClickはノード選択処理に使うのは不便です。 何か良い方法はありませんか?
677 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 13:05:09 ] >>663 おいらもびっくりしたよ。いつも来ているバージョンアップ版の案内がこないからさー。 SEShop.comで買って大丈夫なんだよね?
678 名前:676 mailto:sage [2008/09/22(月) 16:14:42 ] 自己解決しました><
679 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 23:17:20 ] Delphiで作られたランチャで、オープンソースのものってありまふか? 参考にしたいんですが。
680 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 23:45:13 ] ランチャってただ起動処理を外部アプリに飛ばすだけなんじゃね? あとはUIの秀逸さだけが勝負かと。
681 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 00:51:30 ] どうやら久しぶりに会社でDELPHIにかかわることになりそうなんだけど 操作が全然覚えていない・・・ 3.0の頃の書籍とか全部処分しちゃってるし 最近のお勧めってなんですか?
682 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 00:57:06 ] >>681 なんですかって?お勧めの本?
683 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 01:02:42 ] はい
684 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 02:42:34 ] ない
685 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 03:52:11 ] これなんかどう。 中身も読めるし。 books.google.co.jp/books?id=PbIgHHqhrIcC&printsec=frontcover&dq=delphi&as_brr=3&ei=_ASeSLCeHJvWtAP70pCeBQ&sig=ACfU3U2MzwQQwffFY1wl4CKhwNC1iwg0Dw#PPP1,M1 2005以降はMarco Cantuさんの洋書がお勧め。
686 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 04:22:00 ] ああ、世界中で1000部やっと、ってやつね。
687 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 04:48:38 ] >>685 なにこれww売る気無いのか?ww
688 名前:デフォルトの名無しさん [2008/09/24(水) 20:39:01 ] くだらない質問失礼 TFormのonShowってのはFormのVisible弄らない限り起動時にのみ呼び出されるの?
689 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 21:09:57 ] >>688 いえす。
690 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 22:49:24 ] Delphiの本スレってどこ?実質ここ? 別に超初心者じゃないんだけど。
691 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 22:53:14 ] >>688 メインフォームならYES。メインフォーム以外ならケースバイケース。 「Visibleいじらない限り」というのがShowやShowModalも含むのなら それ以外で呼び出されるってことはないんじゃないかな。
692 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 22:59:48 ] 質問スレはここだけみたいな気がする。
693 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 23:31:04 ] 昔はあったよね。本スレっぽい(雑談だったっけ?)スレが。
694 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 23:35:00 ] 寺子屋もあるぜよ
695 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 01:56:45 ] Delphi2から使ってるんで、超初心者でも初心者でもないんだが 2009どうよ、とかそういう話題はどこですればいいんかなー。
696 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 02:17:31 ] 2chのDelphiスレは終わってるからMLでおk
697 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 05:00:58 ] >>693 こっちでもやってるよ。 【Embarcadero】CodeGearオッチャ その12 pc11.2ch.net/test/read.cgi/tech/1221142134/l50
698 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 11:42:49 ] >>690 質問スレここしかない。 超初心者じゃない俺も質問しているからOK
699 名前:デフォルトの名無しさん [2008/09/25(木) 16:04:17 ] TMemoの改行を不可にしたいからこういう処理書いてみたが、 BackSpace使うと即行Tmemo内の文字の最後尾に移動してしまうんですが。 Tmemo.Text := StringReplace(Tmemo.Text,#13#10,'',[rfReplaceAll]); Tmemo.SelStart := Length(Tmemo.Text); 本来はどう書くのが正解?
700 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 16:11:53 ] >>699 普通にonKeyPressで#13殺したらいいんじゃね?
701 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 16:12:20 ] WantRetuensをFalseにするだけじゃダメなの?
702 名前:デフォルトの名無しさん [2008/09/25(木) 16:37:18 ] >>700 >>701 できました!!ありがとうございます!!!
703 名前:688 mailto:sage [2008/09/25(木) 22:05:42 ] ありがとうございます
704 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 05:22:48 ] 指定した位置から、指定したバイト分の文字列を抜き出す関数ってありますか?
705 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 05:23:52 ] Copyのまんまやん
706 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 08:31:34 ] Toolbar2000のD2009対応バージョンでたよー ttp://www.jrsoftware.org/tb2k.php
707 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 08:37:04 ] Toolbar2000よりTurboDelphi2009はまだかー
708 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 08:58:09 ] CodeGearは出す気はあるらしいけどね 学習用として出すらしいから機能は減るけど
709 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 09:35:23 ] 作ったソフトを配布できないとか意味不明な事はやめて欲しいのう
710 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 09:38:29 ] >>709 経済のお勉強しような。
711 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 09:41:01 ] (経済)笑い
712 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 10:05:47 ] 他人に上げるソフトなんて1部だけだし俺はそれでも構わんけどね
713 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 16:27:13 ] >>705 Copyの引数ってバイト数じゃなくて文字数じゃないの?
714 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 16:38:33 ] Copyはバイト数だよ。逆に文字数にしたかったらWideStringにキャスト Copy('へべれけ', 2, 2) ==> '??' Copy(WideString('へべれけ'), 2, 2) ==> 'べれ'
715 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 20:53:50 ] >>711 カッコ逆w
716 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 20:56:24 ] )経済(笑い
717 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 22:07:34 ] >>716 そうそう、次からは間違えんなよ
718 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 00:49:31 ] Turbo Explorerのことは、あきらめな。おそらくDelphi/C++Builderではなく、 Object Pascal/C++学習用環境、ということに…。
719 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 13:13:53 ] Delphi 6 で仮想リストビュー使ってます。 チェックボックスも表示したいのですが、OnData イベントで StateIndex にセットしないと表示しないようなので、 どうせならマウスカーソルのポイントの有無で色を分けようと、イメージリストに4種類の絵を用意しました。 インデックスは 0: チェックなし、1: チェックなしポイントあり、2: チェックあり、3: チェックありポイントありです。 リストアイテムの上でカーソルを動かすと OnData イベントが発生するようなので、WM_MOSEMOVE を処理して カーソルの位置からポイントしているアイテムを割り出して、OnData イベントでセットしわけようとしました。 WM_MOSEMOVE メッセージは Application.OnMessage イベントハンドラで処理しています。 コードの抜粋です。 【Application.OnMessage イベントハンドラ】 procedure TForm1.AppMessage(var Mesg: TMsg; var Handled: Boolean); var Point: TPoint; idr: TRect; begin if Mesg.message = WM_MOUSEMOVE then if Mesg.hwnd = ListView1.Handle then begin if ListView1.Items.Count > 0 then begin idr := ListView1.Items[0].DisplayRect(drBounds); if FListView1ItemHeght <> (idr.Bottom - idr.Top) then FListView1ItemHeght := (idr.Bottom - idr.Top); end; Point := ListView1.ScreenToClient(Mouse.CursorPos); FListView1MouseX := Point.X; FListView1MouseY := Point.Y; FListView1ItemIndex := (FListView1MouseY - ListView1.Top) div FListView1ItemHeght - 1; end; end;
720 名前:719 mailto:sage [2008/09/27(土) 13:15:17 ] (つづき) 【OnData イベント】 procedure TForm1.ListView1Data(Sender: TObject; Item: TListItem); var ColumnWidth: Integer; begin ColumnWidth := ListView1.StringWidth(Format('Item%d', [Item.Index])); Item.Caption := Format('Item%d', [Item.Index]); if (FListView1ItemIndex = Item.Index) and (FListView1MouseX < 16) then Item.StateIndex := 1 else Item.StateIndex := 0; if ListView1.Columns[0].Width < ColumnWidth + 30 then ListView1.Columns[0].Width := ColumnWidth + 30; end; しかしこれだとマウスカーソルをチェックボックスにポイントしても変化しません。 ポイントアイテムの特定がめちゃくちゃなのはわかってますが、ズレてても変化ぐらいはしてもいいと思うのですが…。 アイテムの特定に無理やりな計算をしているのは、GetItemAt メソッドの使用が原因かどうか切り分けたかった からです。 ttp://mackerel205.ddo.jp/data/program/test/VirtualListViewCheckBox.zip 一応ここにプロジェクト一式置いておきますんで、興味があったら見てみてください。
721 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 23:32:31 ] そんなもん使わないでぶあーちゃるつりーびゅぅーを使おうぜ!
722 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 00:48:13 ] TListViewにファイル一覧を表示して、ドラッグ&ドロップで並び順を変更できるようにしています。 これにさらにOLE Drag and Dropの機能を追加して、ファイルを他のアプリケーションへドロップできるようにしようとしています。 この場合、どうすればOLE Drag and Dropと並び順の変更機能を共存させられるでしょうか? 並び順の変更もOLE Dropを受けて行うしかないのでしょうか。
723 名前:722 mailto:sage [2008/09/28(日) 21:33:39 ] やっぱりOLE Dropの処理と統合するしかなさそうですね。 素直にそう実装することにします…。
724 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 22:56:08 ] SpTBXLib 2.3 released. Installation and requirements: TNT is not used on Delphi/C++Builder 2009 club.telepolis.com/silverpointdev/sptbxlib/support.htm#installation Web interface to jrsoftware.org newsgroups - ANN: SpTBXLib 2.3 news.jrsoftware.org/read/article.php?id=15223&group=jrsoftware.toolbar2000.thirdparty#15223 SpTBXLib のDelphi2009版はついに TNT 要らずになった
725 名前:デフォルトの名無しさん mailto:sage [2008/10/02(木) 08:55:23 ] 自作のアプリのUIはMainMenu+Coolbar+ToolbarなXPのExplorer風からまったく進歩してないな・・・ ActionManagerとかって最新の環境だと普通に使われるくらい安定してるの?
726 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 13:10:14 ] >>724 すごい。
727 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 13:35:11 ] 質問です。 TStringGridを使ってます。 例えば、Rowを削除したいのですが、簡単なメソッドがありません。 そこで、OnSelectCell内でRowの内容をずらして行って、最後に RowCountを-1使用と試みても、 OnSelectCell内でCellsの内容をいじると再帰で呼ばれて、オーバフローに なってしまいます。 簡単にRowを削除する方法ありますか?
728 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 13:38:23 ] >>727 DelRow:=StringGRid1.Row; for N=0 to StringGrid1.ColCount-1 do StringGrid1.Cols[N].Delete(DelRow); StrinGgrid1.RowCount:=StringGrid1.RowCount;
729 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 13:59:26 ] >>728 さん ありがとうございます。 頂いたコードを試したりしたのですが、 ”グリッドの行を追加/削除することは出来ません” というエラーが出てしまうんです。 簡単にTValueListEditorのように空のRowを削除できないものでしょうか・・・ あ、すみません。環境はD6+XP SP3です。 よろしくお願いします。
730 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 14:10:07 ] >>729 ごめん、なんか勘違いしてるわ。今は↓こんなんしか思いつかん。 for N:=StringGRid1.Row to StringGrid1.RowCount-2 do StringGrid1.Rows[N].Text:=StringGrid1.Rows[N+1].Text; StrinGgrid1.RowCount:=StringGrid1.RowCount-1;
731 名前:デフォルトの名無しさん mailto:sage [2008/10/03(金) 14:22:21 ] 730さん 何回もすみません。 ですよね。文字列を詰めて、最後にRowCountを調整するって簡単に考えていたのですが それをOnSelectCell内で行うとスタックオーバーフローになるし、 どうしたもんかと思っていたんですよ・・・ ちょっと、ググったら、ビンゴかなと思われるページがありました。 delfusa.main.jp/delfusafloor/archive/www.nifty.ne.jp_forum_fdelphi/samples/00488.html まだ、解読及び検証中ですが・・・ なにはともあれ、ありがとうございます。