1 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 23:31:08 ] Delphi初心者が問題をコツコツと解きながらレベルアップするためのスレです。
720 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 22:29:21 ] www.eurus.dti.ne.jp/~yoneyama/Word/art/w_art-33.gif delphiで画像の一番上左から4番目のワードアートと似たような文字を表示したいのですが、 可能でしょうか? win32apiのパスを使えばできそうだけど、分からないですorz
721 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 23:36:43 ] ok
722 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 11:01:05 ] >>720 Officeのワードアート機能を使うサンプルは見たことがあるけど 直接表示するのは知らないなあ。
723 名前:デフォルトの名無しさん mailto:sage [2009/11/20(金) 20:42:25 ] これか? ttp://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200904/09040002.txt
724 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 20:56:27 ] >>723 そんな感じです!文字を変形させるのに使う計算が理解できなくて苦しんでます。 www.geocities.jp/asumaroyuumaro/program/winapi/path/flattenpath.html これを元にやってみてはいるんですが、うまくいかないorz
725 名前:デフォルトの名無しさん mailto:sage [2009/11/26(木) 17:43:14 ] までも無料版のdelfaiってあるのですか?
726 名前:デフォルトの名無しさん mailto:sage [2009/12/01(火) 19:06:18 ] 誰かくだすれ建てないのかな 俺のホストじゃ無理だった
727 名前:デフォルトの名無しさん mailto:sage [2009/12/02(水) 00:20:06 ] >>726 俺じゃないが pc12.2ch.net/test/read.cgi/tech/1259667697/
728 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 17:30:13 ] デルフォイ デルフォイ
729 名前:デフォルトの名無しさん [2009/12/05(土) 00:23:18 ] TMemorystreamの基本的な使い方を教えて下さい。 ・整数値を書き込む、読み出す ・文字列を書き込む、読み出す ・あるアドレスからあるサイズだけ読み出すってのがわかりません。
730 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 01:53:26 ] マルチ乙
731 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 09:00:01 ] >729 その前に派生元であるTStreamの使い方を調べるべきだ。 >730 またお前か。さっさと吊れ。
732 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 16:02:24 ] さっさと吊れ(キリッ だってw くっさww
733 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 19:53:23 ] キモイ
734 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 23:01:04 ] >>732 _, ._ んもー / NMO ( ・ω・) ○={=}〇, |:::::::::\, ', ´ .wwし w`(.@)wwwwwwww
735 名前:デフォルトの名無しさん mailto:sage [2009/12/05(土) 23:57:36 ] さっさと吊れ(キリッ だってv くっさvv
736 名前:デフォルトの名無しさん [2009/12/07(月) 22:09:28 ] case文なんてelseifがあればいらねんじゃね
737 名前:デフォルトの名無しさん mailto:sage [2009/12/07(月) 23:14:26 ] /: : : : : __: :/: : ::/: : ://: : :/l::|: : :i: :l: : :ヽ: : :丶: : 丶ヾ ___ /;,, : : : //::/: : 7l,;:≠-::/: : / .l::|: : :l: :|;,,;!: : :!l: : :i: : : :|: : ::、 / ヽ /ヽヽ: ://: :!:,X~::|: /;,,;,/: :/ リ!: ::/ノ l`ヽl !: : |: : : :l: :l: リ / そ そ お \ /: : ヽヾ/: : l/::l |/|||llllヾ,、 / |: :/ , -==、 l\:::|: : : :|i: | / う う 前 | . /: : : //ヾ ; :|!: イ、||ll|||||::|| ノノ イ|||||||ヾ、 |: ::|!: : イ: ::|/ な 思 が /: : ://: : :ヽソ::ヽl |{ i||ll"ン ´ i| l|||l"l `|: /|: : /'!/l ん う ∠: : : ~: : : : : : : :丶ゝ-―- , ー=z_ソ |/ ハメ;, :: ::|. だ ん i|::ハ: : : : : : : : : : : 、ヘヘヘヘ 、 ヘヘヘヘヘ /: : : : : \,|. ろ な |!l |: : : : : : : : :、: ::\ 、-―-, / : : :丶;,,;,:ミヽ う ら 丶: :ハ、lヽ: :ヽ: : ::\__ `~ " /: : ト; lヽ) ゝ レ `| `、l`、>=ニ´ , _´ : :} ` / ,,、r"^~´"''''"t-`r、 _ -、 ´ヽノ \ノ / お ・ ,;'~ _r-- 、__ ~f、_>'、_ | で 前 ・ f~ ,;" ~"t___ ミ、 ^'t | は ん ・ ," ,~ ヾ~'-、__ ミ_ξ丶 | な 中 ・ ;' ,イ .. ヽ_ ヾ、0ヽ丶 l / ( ;":: |: :: .. .`, ヾ 丶 ! \____/ ;;;; :: 入:: :: :: l`ー-、 )l ヾ 丶 "~、ソ:: :い:: : \_ ノ , ヾ 丶
738 名前:デフォルトの名無しさん mailto:sage [2009/12/07(月) 23:23:22 ] まあ、10年ぶりにプログラム組もうとしたら、すっかり 頭の中がリセットされていたことに笑いが止まらなかった。
739 名前:デフォルトの名無しさん [2009/12/08(火) 08:17:29 ] ならデルヒなんてやめとけ
740 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 14:12:11 ] >>739 ____ / \ /| _ = ミ 彡 -、 , 、 _,- ミ _ { `| ,=・ァ = ,r・=、, |´ } ヽ{! '" , ',:、 '" ,' |}ノ 黙れ小僧! | /`'ー'"ヽ- ト、 __,.-ヽ ノー=-' } /:: \_ : : : : : :/`ー、__ノ-'/ : : : |: :`ー : : : : く: /:| \_,.-"/:: : : : |: : : : : : : /: : :|/|:::∧ /:: : : /: : : : : : :|: : : : :| /:く /:: : : ;\: : : : : : : :|: : : : :|'::::::::/: : :◎: :/: : : :
741 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 16:05:26 ] TStringGridを継承したコンポーネントを作ってるんですが、設計の都合でVCLのGrid.pasを 改造する必要が出てきました。 今作ってるコンポーネント以外にはGrid.pasの変更を波及させたくないので、コンポーネントの プロジェクトからだけ改造したGrid.pasを参照するようにしたいんですが、うまく行きません。 ソースコード上はAlt+↑で継承元を辿っていくとちゃんと改造したGrid.pasに辿り着くんですが、 いざコンパイルを掛けるとTCustmoGridに追加した変数が認識されずエラーとなります。 こういう場合はどうしたら良いでしょうか? A.諦めて継承先のコンポーネントで何とかする B.DELPHIが参照しているVCL本体を置き換える。 C.改造したGrid.pasをGrid2.pasのように別名保存し、コンポーネントのプロジェクト内では Grid.pasの代わりにGrid2.pasを参照する。 のような案を考えましたが、他に何か良い案が有れば宜しくお願いします。
742 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 16:14:00 ] 修正部分だけコーディングしてあとは元のコードを使うようにできるんじゃなかったっけ? それくらいじゃ対処できないってんならC案だろうけど。
743 名前:デフォルトの名無しさん mailto:sage [2009/12/11(金) 16:43:05 ] >>741 プロジェクトのフォルダに改造したGrid.pasを入れればそっちを参照するんじゃない? その方法が開発チーム内で許されていればだけど。
744 名前:デフォルトの名無しさん mailto:sage [2009/12/12(土) 00:33:54 ] そもそもGrid.pasを改造する必要が本当にあったのか
745 名前:741 mailto:sage [2009/12/14(月) 03:56:07 ] 今作ってるプロジェクトはパッケージなんですが、通常のプロジェクトとは違って>>743 の方法が使えないみたいです。 containsにGrids.pasを書くと、 「パッケージ 'vcl' はすでにユニット 'Grids' を含んでいます」 というエラーが発生してコンパイルできません。 containsに書かずにプロジェクトのソースディレクトリにGrids.pasを置くとvclパッケージ内部のGrids.pasが優先して参照されてしまいます。 継承先でどうにかする方法も模索中ですが、TCustomGridがprivateで持っているメンバーにたくさんアクセスする必要があるため難航しています。
746 名前:デフォルトの名無しさん mailto:sage [2009/12/14(月) 10:30:49 ] ひょっとして「実行時パッケージを使って構築」にチェック入れてる? vclを外す事は許されないんだろうか。
747 名前:デフォルトの名無しさん mailto:sage [2009/12/14(月) 13:53:58 ] >>745 対象バージョンが固定ならprivateメンバーにアクセスする方法はいくらでもある まあ別にバージョン固定じゃなくてもその分分岐すればいいんだけど
748 名前:741 mailto:sage [2009/12/17(木) 19:21:57 ] >>746 チェックは入れていません。 というかチェックボックスが触れない状態です。 >>747 例えばどんな方法が有るでしょうか?
749 名前:デフォルトの名無しさん [2009/12/17(木) 22:12:16 ] すみません。教えて下さい。 TClientDataSet が保っているデータセットを 結合して1つのDBGridに表示したいのですが、 どうすればいいでしょうか? 宜しくお願いします。
750 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 23:15:32 ] >>749 一方のDataSetにFieldKindがfkLookupの TFieldを用意し、他方のDataSetを参照すればいけそう。な気 がする。 やり方 つttp://docwiki.embarcadero.com/RADStudio/ja/参照項目を 定義する
751 名前:デフォルトの名無しさん mailto:sage [2009/12/17(木) 23:25:32 ] >>748 最初に確認すべきだったけど、Delphiのバージョンとエディションは?
752 名前:デフォルトの名無しさん [2009/12/17(木) 23:45:34 ] >>750 的確なアドバイスありがとうございました。 これで眠れそうです。
753 名前:デフォルトの名無しさん mailto:sage [2009/12/18(金) 00:05:15 ] >>748 TObjectからTCustomGridまでに宣言されてるすべてのメンバー変数を抽出して、 それをレコードか何かとして宣言して、インスタンスをそのレコードでキャストすれば直接アクセスできる それぞれの変数間に詰め物もあるけど、その辺はデバッガでメモリ覗く等して一度調べればOK 多少語弊があるかもしれないけど、簡単に言えばクラスってのは継承できるレコードに過ぎないからね 他にもprivate変数をpublicにしただけのクローンクラスを作ってキャストしても同じ効果が得られる もちろん目的のprivate変数自体のオフセットが分かってればインスタンスアドレスから直接取り出した方が早いけど ただしこの説明で何やってるかピンと来なければ危険なのでやらない方がいい
754 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 03:15:07 ] オブジェクト指向における継承の概念をしっかり理解しない人が コンポーネント改造しようだなんて10年早い
755 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 04:03:16 ] こういうことを書いてる人が本当に理解できてた例を見た試しがない
756 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 04:49:30 ] ftTimestamp型が使えなくて泣いてみたりして
757 名前:デフォルトの名無しさん [2010/01/13(水) 14:25:34 ] フォルダ作成機能付きのフォルダ選択ダイアログありますか?
758 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 14:33:43 ] >>757 SelectDirectory(Delphi2009で確認)
759 名前:デフォルトの名無しさん [2010/01/13(水) 16:19:00 ] BDEを使わずにODBCアクセスってどうやれば良いですか?
760 名前:デフォルトの名無しさん mailto:sage [2010/01/13(水) 20:57:58 ] がんばる
761 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 00:03:06 ] つActiveX
762 名前:デフォルトの名無しさん mailto:sage [2010/01/14(木) 14:09:31 ] ActiveXでODBCアクセスって出来ましたっけ?
763 名前:デフォルトの名無しさん mailto:sage [2010/01/15(金) 10:30:36 ] ADOがあるじゃない
764 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 23:33:45 ] sites.google.com/site/delphibasics/
765 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 18:22:08 ] Delphi の購入で、Pro版かEnt版かで悩んでいます。 開発ターゲットは、SQLServerを使うDBアプリです。 Ent版ならSQLServerのNativeDriverが付いてきますよね。 でも、Pro版でもADOやODBC経由でSQLserverを使えるはず。 ADOやODBC経由と比較し、NativeDriveerが使えるメリットって、 何があるのでしょうか?
766 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 18:31:43 ] ・Delphi付属のDBコンポーネントが使える ・SQLServerの全機能をDelphiから扱える
767 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 21:07:41 ] リモートでDBXを使える(ProはDBXをリモートで使えない)。
768 名前:デフォルトの名無しさん mailto:sage [2010/04/03(土) 18:51:03 ] >>767 が、とっても重要で見落としてはいけないことを言った
769 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 18:11:25 ] フォームのクライアント領域の一部に長方形や円を描きたいと思い、フォームのOnPaintで Self.Canvas.Brush.Color := clBlack; Self.Canvas.Rectangle(10, 10, 200, 100); のようにしました。 この描画結果をデザイン時でもに見えるようにするにはどうしたら良いでしょうか? フォーム自体のコードではデザイン時に無反応なので無理だと判断しています。 そこで、試しにカスタムコンポーネントTDrawTestを作って constructor TDrawTest.Create(AOwner: TComponent); begin inherited; if AOwner is TForm then begin FParent := TForm(AOwner); FParent.OnPaint := Self.ParentDraw; FParent.OnResize := Self.ParentDraw; end; end; procedure TDrawTest.ParentDraw(Sender: TObject); begin FParent.Canvas.Brush.Color := clBlack; FParent.Canvas.Rectangle(10, 10, 200, 100); end; のようにしてやり、このコンポーネントを対象のフォームに配置しました。 すると、デザイン時にフォームをリサイズした時に長方形が描画されたのですが、フォームを他の画面の後ろに隠して再び前に出した時など、サイズ変更が伴わない再描画処理では長方形が描画されませんでした。 処理対象のイベントを増やしていけば一応は動作するのでしょうが、根本的に方法がおかしいような気もします。 何か良い方法は無いでしょうか?
770 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 20:03:16 ] 新規作成→ダイアログで作ったダイアログでOKを押しても 条件によって、そのダイアログを表示し続けるにはどうしたらいいですか?
771 名前:デフォルトの名無しさん mailto:sage [2010/04/07(水) 22:21:30 ] フォーム(ダイアログ)のOnCloseQueryでCanCloseにFalseを設定する。
772 名前:770 mailto:sage [2010/04/08(木) 10:10:55 ] トンです。
773 名前:デフォルトの名無しさん [2010/04/13(火) 17:59:42 ] IdHTTPでgetメソッド行うときってtimeout設定出来ましたっけ? timeoutでググルと下が出てきましたがエラー一覧だった: ttp://mrxray.on.coocan.jp/Delphi/plSamples/772_Indy_HTTPGet.htm
774 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 00:28:13 ] Indy10ならTIdHTTP.ReadTimeoutはどう?
775 名前:773 mailto:sage [2010/04/14(水) 11:42:49 ] C++ Builder 6なので、TIdHTTP.ReadTimeoutが無いみたいです。 実際に発生しているエラーは、 Getメソッドを繰り返し行って4回目くらいに、Connection Closed Gracefully、が発生です。 どうもPCのスペックが悪いのか(Win7のネットブック)、時間がかかってるのが目に見えるようなのでやっぱタイムアウトかな、と思います。
776 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 13:54:12 ] Gracefullyの意味を辞書で調べてくるといいと思うよ^^
777 名前:773 mailto:sage [2010/04/14(水) 13:58:30 ] >ttp://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200512/05120092.txt (FTPですが)にも書いてあるように、 VCLコントロールが内部から投げてる例外って意味ですが、 やっぱ、その場合にもエラー処理を行うのが対処みたいで、 正常終了ということでは無さそうです。 実際、 >Connection Closed Gracefully が発生しているのは、 何十〜何百台あるPCの1、2台だけっぽいです。
778 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 20:08:50 ] ネットワークものは素人の推測でどうこうするのではなく、まずはWiresharkでパケットをキャプれ。 話はそれからだ。 TIdHTTP.ReadTimeoutはIndy9にもある。というかあんまり古いバージョンはお勧めしない。 C++Builder6ならIndy9まではあげたほうがいい。
779 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 21:32:31 ] >>775 Connection Closed Gracefullyがでるときは大抵POSTミスやら通信ミスってるだけだろ
780 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 22:24:20 ] Connection Closed Gracefully自体には悪い意味はなくGracefull shutdown(ttp://msdn.microsoft.com/en-us/library/ms738547%28VS.85%29.aspx) のことだろ?たぶん。Gracefullな手順踏んで正常にコネクションが切断されただけだろ。 タイムアウトじゃねぇかな。
781 名前:デフォルトの名無しさん mailto:sage [2010/04/14(水) 22:33:06 ] うそ書いた。正常にコネクション切断されたなら、タイムアウトすると矛盾するな。 すまそ。
782 名前:デフォルトの名無しさん mailto:sage [2010/04/15(木) 14:24:25 ] HTTP 1.0と1.1の違い知ってる? 前者はコネクションをいちいち切る 後者はつなげたまま
783 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 16:25:23 ] Delphi 2010に、TurboPower SysToolsをインストールしようとしています。 EDN(エンバカデロデベロッパーネットワーク)のWebページの通りにインストールしたのですが、 コンパイルエラーになってしまいます。 エラーメッセージとエラー箇所のコードを下記に示します。 対処方法を教えていただけないでしょうか? ■エラーメッセージは次の通りです。 [DCC エラー] StBarC.pas(1751): E2030 case 文のラベルが重複して定義されています [DCC 警告] StBarC.pas(1752): W1063 指定された AnsiChar 定数 (#$84) を WideChar に 拡大変換した結果、情報が失われました ■エラー箇所のコードは次の通りです。 > procedure GetACode128CDigit (c : Char; var Index : Integer; > var bcDigitPos : Integer); > var > J : Integer; > > begin > case (c) of > #130 : bcDigits[bcDigitPos + 1] := 98; {rest are manufactured characters} > #131 : bcDigits[bcDigitPos + 1] := 97; <− ★ここで上記のコンパイルエラーになります★
784 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 19:05:28 ] AnsiChar(c)
785 名前:デフォルトの名無しさん mailto:sage [2010/04/16(金) 21:21:42 ] >>784 ありがとう。やってみます。 Delphi2010+TurboPowerSysToolsのインストール解説ページにソースコードの 変更が必要など書いてなかったです。 必要なら書いてほしいなぁ・・・
786 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 06:25:15 ] >>783 Delphi 2010に、TurboPower SysToolsをインストールするHPって、 edn.embarcadero.com/article/40498 だよな。 公式ページに掲載されてる情報なんだから、コード修正なんて不要だと思うのだが。
787 名前:デフォルトの名無しさん mailto:sage [2010/04/24(土) 13:21:27 ] やってみてから言えよ屑
788 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 04:57:24 ] やってみました。 確かに StBarC.pas の数箇所で変更が必要です。 修正箇所は、こんな感じ。 修正前: Case c : 修正後: Case AnsiChar(c) : 修正前: if c in [...] 修正後:if CharInSet(c, [...]) >>787 へ 批判するだけで建設的な意見を書き込めない「無能者」は、 どんな社会でも受け入れられないでしょう。 幸いにも受け入れられる社会を見つけても、そこはキミと同じ無能者 の巣窟だろうね。
789 名前:デフォルトの名無しさん mailto:sage [2010/04/25(日) 07:31:19 ] マジになんなよ
790 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 03:45:29 ] >>788 公式だからと鵜呑みにしたのは無能じゃないの? 馬鹿なの?
791 名前:デフォルトの名無しさん mailto:sage [2010/04/26(月) 15:14:30 ] >>788 見当違いの>>786 みたいなレスも社会では受け入れられないよね、無能の屑さん^^
792 名前:デフォルトの名無しさん mailto:sage [2010/04/27(火) 20:09:24 ] デルフィアン!
793 名前:デフォルトの名無しさん mailto:sage [2010/04/28(水) 21:01:59 ] スペル・デルフィン
794 名前:デフォルトの名無しさん mailto:sage [2010/05/10(月) 19:51:14 ] delphi使っている人って、 独法などで研究やっている人が多いんだよね?ちがう?
795 名前:デフォルトの名無しさん mailto:sage [2010/05/11(火) 00:03:18 ] ちがうね
796 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 12:00:40 ] おじゃまします、IDE上で、コード上の大文字/小文字の区別をさせる、何かしらの設定みたいなものって無いんでしょうか とりあえずヘルプなど当たってみましたが、見つけることができませんでした 例えばMessageBoxとmessageBoxを区別したい(表記が統一されていなければわかるようにしたい)のですが…
797 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 12:04:26 ] >>796 何したいのかよくわかんないけど、検索のオプションには大小区別のオプションはあるよ。
798 名前:デフォルトの名無しさん mailto:sage [2010/05/14(金) 15:36:56 ] なるほど、レスありがとうございます いえ、色々な人間がコーディングしていると、人によってはMessageBoxだったり、またある人はmessageboxだったり、messageBOXだったり、まちまちになるとソースが読みにくくなるんです。 まぁ一括置換をしてやれば良いんですが、できればコーディングしている段階で、その人がわかるようにコンパイルで弾いてやれないかなと思ったんです 神経質といえば神経質ですね
799 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 13:46:44 ] Canvasにアルミのヘアライン仕上げみたいな描画をしたいのですが、 やり方載ってるページとか無いですかね? 検索してもPhotoshopでのやり方とかは出てくるんですがねぇ・・・ Bitmapに保存しておいて、それを貼り付ける方法も考えたのですが、 出来れば、コードで描きたいんですけど。
800 名前:デフォルトの名無しさん mailto:sage [2010/05/15(土) 18:39:30 ] >799 漏れはプログラムは組めるが絵心が無いんで Illustratorでヘアライン仕上げみたいな描画をする方法を教えてくれ。 そうしたら実現コード考えてもいい。
801 名前:デフォルトの名無しさん mailto:sage [2010/05/17(月) 11:34:05 ] タイマーをいくつも使ってイベントで処理するのと、 マルチスレッドってやつ使うのとは何が違うの? タイマー使った方がお手軽に並列処理出来ると思ったけど 違うっぽいんで教えてくだしゃぁ
802 名前:デフォルトの名無しさん mailto:sage [2010/05/17(月) 15:24:36 ] >>800 すみません、規制で書き込みませんでした。 ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1225706387?fr=shopping_search こんな感じですが。 よろしくお願いします。
803 名前:デフォルトの名無しさん mailto:sage [2010/05/17(月) 15:46:02 ] >>801 タイマーのインターバルを50msec位にして、タイマーのイベントで100msec位かかる処理を行うとどうなりますか? また、スレッドを50msec毎に作成して100msec位かかる処理を行うとどうなりますか?
804 名前:デフォルトの名無しさん mailto:sage [2010/05/17(月) 22:31:38 ] >801 タイマを使うってのはメインスレッドの中で処理が順次行われていくってこと。例えていうなら 中の人が5分おきに電話で起こされて仕事をしてまた寝るってのを繰り返す感じ。だから 処理は並行には行われない。それに対してスレッドのほうは中の人を5人用意してそれぞれに 仕事を割り振って一斉に(でなくてもいいけど)平行して仕事をしてもらう。でも1つしかない 資源は排他的に扱う(一度に一人だけが使用する)ようにしなければならない。 勘違いしやすいのは、タイマはタイマ割り込みではなく、指定した時間が経過したことを 示すフラグでしかない(WM_TIMERはフラグが立ったことの通知)というあたり。
805 名前:デフォルトの名無しさん mailto:sage [2010/05/17(月) 23:45:33 ] >>803 ,804 ありがとうございました。 すっきりしますた。
806 名前:デフォルトの名無しさん mailto:sage [2010/05/18(火) 01:06:28 ] >>802 なんかオレにも出来そうだな。 ちょっと書いてみるか。
807 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 12:26:43 ] 複数のスレッドが並列処理されることは保証されるの? 片方のスレッドが停滞することは ありえないの?
808 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 12:48:02 ] >>803 の答えはどうなるの? タイマは呼び出しスタックが積み上がるイメージだけど
809 名前:デフォルトの名無しさん mailto:sage [2010/05/21(金) 13:35:27 ] >>807 マルチタスクで片方のタスクが停滞することはありえないの?
810 名前:806 mailto:sage [2010/05/22(土) 21:35:02 ] 挫折
811 名前:デフォルトの名無しさん [2010/05/24(月) 14:48:48 ] Exeのアイコンをタスクバーでは非表示にして、 タスクバーのツールバー(?)に表示するには、 どうしたら良いのでしょう?
812 名前:デフォルトの名無しさん mailto:sage [2010/05/24(月) 15:15:45 ] タスクトレイ?
813 名前:デフォルトの名無しさん mailto:sage [2010/05/24(月) 15:51:40 ] その通りです!!! タスクバーのアイコンを非表示にして、タスクトレイにアイコンを表示したいでつ。
814 名前:デフォルトの名無しさん mailto:sage [2010/05/24(月) 16:10:48 ] そうか。わかった。
815 名前:デフォルトの名無しさん [2010/05/24(月) 16:12:33 ] 教えて下さいorz
816 名前:デフォルトの名無しさん mailto:sage [2010/05/24(月) 16:23:18 ] >>815 えっと、質問何だったっけ?
817 名前:デフォルトの名無しさん mailto:sage [2010/05/24(月) 17:19:24 ] 見つけました: ttp://kazina.seesaa.net/article/20890953.html
818 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 11:18:13 ] Delphi 6 を最近始めました。 シリアル通信で マイクロソフトのActiveX MSCOMM32.OCX を使った場合 処理の途中でポートが開いているか判別するのに if MSComm1.PortOpen = False then // クローズ状態 begin { ポートがクローズしていた場合の処理 } end else begin { ポートがオープンしていた場合の処理 } end; とやるところを、CommX で www.moriq.com/apollo/ext/comm/Phi/CommX.html ttp://www.moriq.com/delphi/CommX106.lzh TCommX.Handleプロパティ >property Handle: THandle; >通信ハンドルの値を示します。
819 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 11:19:16 ] -続き- >このプロパティは、拡張のために用意されています。 >また、オープンされていない状態のときは、 >必ず -1 となるので通信コンポーネントの状態を知ることもできます。 とあるので if CommX1.Handle = -1 then // クローズ状態? begin { ポートがクローズしていた場合の処理 } end else begin { ポートがオープンしていた場合の処理 } end; とやってもポートopen/close 関わらず片一方の処理しかできません。 ポートの開閉状態を知るのに何かコツでもあるのでしょうか? 検索を掛けても、手動でボタンなどを操作するソースばかりでわかりません。 壮絶な勘違いをしているかもしれませんが、教えてください。
820 名前:818-819 です mailto:sage [2010/05/27(木) 17:43:42 ] 半分 自己解決です。 この場合の if CommX1.Handle = -1 then −1は Integer型「符号あり整数値」= −1 じゃなくて Cardinal(UINT)型 = 4294967295 になるんですね・・・ 又は 16進数で = FFFFFFFF if CommX1.Handle = 4294967295 then if CommX1.Handle = $FFFFFFFF then で逝けました・・・
821 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 21:00:45 ] つ INVALID_HANDLE_VALUE
822 名前:818-819 です mailto:sage [2010/05/27(木) 22:47:47 ] >>821 (〃▽〃) おぉそのような文字列があったのですね・・・ しかし、MSCOMM32.OCX から CommX に変えると、シリアル経由で 1秒間隔毎にだらだらと送られてくる文字を足していって #13#10 で区切って文字列にし、 必用な部分を抜いて、別に送ると これまでの約5倍ほどの遅延が発生するようになってしまいました。 ttp://sourceforge.net/projects/comport/files/ TComPort に切り替えて読み込みの遅延は押さえ込めそうなのですが、 今度は>>818 の処理をさせる書式が見当たりません。 どなたか判る方、教えていただけませんでしょうか?
823 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 22:56:05 ] 遅延はやり方が悪いだけだろ
824 名前:デフォルトの名無しさん mailto:sage [2010/05/27(木) 23:55:38 ] >822 つ Connected
825 名前:824 mailto:sage [2010/05/28(金) 00:00:45 ] >822 あ、OnRxCharのようなデータの受信イベントで処理するのが常道だから。
826 名前:818-819 です mailto:sage [2010/05/28(金) 01:56:16 ] >>824 行けました・・とサクっと書きたかったのですが、 最初入れていたのが TComPort component version 1.50 で、その書式だとエラー なんとか比較的新しいコンポーネントに入れなおして突破できました。 ありがとうございました。 >>825 地道に理解していきます m(_ _)m
827 名前:デフォルトの名無しさん [2010/06/18(金) 14:29:38 ] BDE無しでODBC使いたいです。
828 名前:デフォルトの名無しさん mailto:sage [2010/06/18(金) 16:33:12 ] ADOは?
829 名前:827 mailto:sage [2010/06/18(金) 17:01:15 ] d 実は、C++ Builder 6 なんですが、ADO経由でODBC出来るんでしたっけ?
830 名前:デフォルトの名無しさん mailto:sage [2010/06/18(金) 17:07:22 ] detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1126289866
831 名前:827 mailto:sage [2010/06/18(金) 17:09:14 ] d とりあえず、ADOアクセス検討してみまつ。