1 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 23:56:27 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part47 pc12.2ch.net/test/read.cgi/tech/1257067411/
110 名前:デフォルトの名無しさん [2009/11/21(土) 13:47:38 ] 今回初めて印刷のロジックを作ることになりました。 「PageSettings.HardMarginX」と「MarginBounds.X」 のちがいは何でしょうか? 実行して値を表示させたとき、 「MarginBounds.X」 = 100、 「PageSettings.HardMarginX」= 13 となりました。 どちらも印刷可能範囲の左上端を示していると思いきや全く異なる値でした。 どういうちがいがあるのか、 ご存知の方、教えてください…!
111 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 13:50:16 ] マージンは印刷しないサイズ、ハードマージンは印刷できないサイズ ハードマージンは見なくて大丈夫だと思う
112 名前:デフォルトの名無しさん [2009/11/21(土) 14:14:08 ] >>111 さんありがとうございます。 今作成中のアプリケーションは、 全国の何ヵ所かの家庭や店舗で利用してもらおうとしており、 それぞれの家庭や店舗のプリンタの機種が様々なのですが、 どんな機種でも、おおよそ決まった位置に明細を印刷しようと思っています。 この場合もマージンで問題ないでしょうか。 たびたびの質問で恐縮ですが、よろしくお願いします。
113 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 14:53:53 ] >>112 印刷は所詮はアナログの世界なので、どうしても狂うことが出てくる。 オフセット(マージン)、縮尺は、ある程度印刷時に変えられるように作っておいたほうがいいよ。
114 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 15:22:26 ] >>113 だから、前にもこのスレあたりで書いたと思ったが、そんな訳がないだろう、ってw プリンタの実装がそんないい加減なものならどうして葉書の郵便番号なんか ちゃんと枠内に印刷できるんだ。 テキトーなこと言う奴が多すぎるな。
115 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 15:30:58 ] つーか、フチなし印刷できるプリンタ、できないプリンタでハードマージンは違うだろよ。 調整機能は必須。
116 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 15:35:52 ] >>115 だから、そういうテキトーなことを言わないこと。 葉書印刷ソフトだけでも世の中にいろいろあるが、そんな「調整機能」が 付いたソフトは見たことがない。 そんな泥臭い作業を人間様に任せるようなダメ設計になってるのなら windowsもページプリンタもこんなに普及してねえよ。
117 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 15:37:16 ] これがゆとりってやつか・・・。
118 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 15:39:18 ] www.yomiuri.co.jp/net/qanda/qanda081215.htm > 「筆まめ」の「印刷位置微調整」機能 > > 筆まめ19など、はがき作成ソフトには印刷位置をミリ単位で微調整する機能が備わっている。 > 筆まめの場合は、ファイルメニューの「印刷位置微調整」から利用する > 郵便番号の位置だけを微調整する機能もある。
119 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 15:42:31 ] >>116 ____ / \ /\ キリッ . / (ー) (ー)\ / ⌒(__人__)⌒ \ <そんな「調整機能」が | |r┬-| | 付いたソフトは見たことがない。 \ `ー'´ / ノ \ /´ ヽ | l \ ヽ -一''''''"〜〜``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) ____ /_ノ ヽ、_\ ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ <.だっておwww /⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒) | / / / |r┬-| | (⌒)/ / / // | :::::::::::(⌒) | | | / ゝ :::::::::::/ | ノ | | | \ / ) / ヽ / `ー'´ ヽ / / | | l||l 从人 l||l l||l 从人 l||l バ ヽ -一''''''"〜〜``'ー--、 -一'''''''ー-、 ン ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) バ ン
120 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 15:44:45 ] >>118 それは古い精度の悪いプリンタ(現実にはあまりないが)を使っている人を 想定した「念のための機能」であって、>>115 が主張するように必須の機能なんかじゃない。 通常はそんな馬鹿げたことをしなくても、少なくともmmオーダーの精度で 正確に位置決めされた印刷が行えるようになっている。 っていうか、印刷のコード書いたことがない馬鹿は黙っていた方がいいよ。
121 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 15:47:42 ] で? ユーザーがどんなプリンタを使ってるのか特定できない以上、>>118 みたいな 調整機能は必須だろ?
122 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 15:47:56 ] というか、.NETだとそのためのプロパティがHardMarginX,HardMarginYなんだよ。 これで用紙の左上とプリンタの印刷可能領域(印刷時のハードウエア座標の原点) のズレが取得できるようになっている。
123 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 15:47:58 ] >そんな「調整機能」が付いたソフトは見たことがない。
124 名前:デフォルトの名無しさん [2009/11/21(土) 15:48:17 ] プリンターの印刷可能領域に左右されずに、 用紙の左上から決まった場所に印刷するには、 例えば(100-ハードマージンX,200-ハードマージンY) とすべきですか?それとも 例えば(100-マージンX,200-マージンY) とすべきですか? マージンはプログラム上で何も設定していません。 よろしくお願いいたします。
125 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 15:49:55 ] >>121 だから、現実問題としてはそんなプリンタは市場にほとんど存在してない。 紙送りの精度が悪いので有名だったHPの10年前の製品だって、そんな機能が 必要になるほどズレたりはしない。
126 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 15:53:50 ] まー、そう思うなら調整機能付けなきゃいいだけだわな。 実際、有名どころの年賀状印刷ソフトにはついてるし、俺もあとで修正するのは面倒だから、 そういう機能を付けるけど。
127 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 15:56:59 ] >>124 用紙の、の場合は、マージンは使わない。 ハードマージンの分を含むか含まないかは、試してみてくれ
128 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 15:57:55 ] HTMLエディタを作る場合の内部的なデータの持ち方は どんなのがいいでしょう?
129 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 15:58:37 ] 機能によって違うんじゃね?
130 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 16:01:19 ] データ実体はHTML&CSSだろうな
131 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 16:33:34 ] プリンタによって1ページに収まったり収まらなかったりするんだから、 その手の調整機能は普通いるんじゃないの?
132 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 16:36:11 ] ____ / \ /\ キリッ . / (ー) (ー)\ / ⌒(__人__)⌒ \ <そんな「調整機能」が | |r┬-| | 付いたソフトは見たことがない。 \ `ー'´ / ノ \ /´ ヽ | l \ ヽ -一''''''"〜〜``'ー--、 -一'''''''ー-、. ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
133 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 16:46:33 ] どうでもいいが、幼稚な奴が多いのな。 俺は馬鹿な奴は嫌いじゃないが、幼稚な奴とコミュニケーションができない 真性ヲタはどうしようもないクズだと思ってる。
134 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 16:51:07 ] 揚げ足取りで勝った気になる困ったちゃんは少なからずいるものだ
135 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 16:51:24 ] >>133 お前みたいな幼稚なレスしかしない奴もクズだけどな
136 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 16:52:58 ] 僕.NEET 喧嘩はやめて
137 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 16:54:41 ] みんなゴメン。
138 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 17:04:54 ] >>133 俺も幼稚な奴は嫌いだけど論理的じゃない奴も嫌い 前2行をどう呼んだら3行目に繋がるんだ?
139 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 17:27:04 ] 幼稚な奴は小学校からやり直した方がいいな。 年賀状印刷ソフトに調整機能なんてついてない! とか言い張って、 ソースが提示されてるのに、現実問題としてそんなプリンタはほとんどない! か。 ほんと、テキトーなことを言う奴が多いなw
140 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 17:30:18 ] プリンタはアナログの世界で動く機械であって、 必ずしもアプリ側で指定した内容でずれなく印刷できる保証がどこにもない。 で、プリンタドライバのユーリティーでもある程度調整は効くだろうけど、 それで無理なような突っ込んだ内容はアプリ側でもある程度対応できるようにしておくべきだろう、という話。 必要だと思わないならやらなきゃいいだけさ。 別にスレが荒れるような内容じゃない。
141 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 17:36:06 ] >>114 と >>116 が釣り師ということで。この話題終了。
142 名前:デフォルトの名無しさん [2009/11/21(土) 17:44:15 ] マージンは余白で、 ハードマージンは常用プリンターの印刷可能開始位置だよね。 ところで、 マージンの値をページ設定ダイアログから指定していないときは、 C♯上のマージンの初期値はいくらになるの?
143 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 17:46:21 ] >>140-141 無知無能なくせにしつこいなお前さん。 本当にプログラマか? っていうか、君(ら)は今までプリンタ使ったことないのかね。 1万前後で買えるキャノンやエプソンの最下位グレードのインクジェットだって 位置決めの問題なんかないんだよ。 そんなことは例えばワードで葉書印刷をしたってわかるし、 自分でコードを書いて印刷されたものを物理的に測定したって分かる。 馬鹿な癖に頭の中だけで考えているからそういうとんでもない勘違いをすることになる。
144 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 17:57:38 ] 俺、キヤノンiP3100の付属CD印刷ソフト使ってるけど、微調整しなきゃズレるぞ?
145 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:04:32 ] >>144 俺もそれ使ってるけど微調整したことない なんでクエスチョンマークをつけるんだ?
146 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:06:08 ] 同じプリンタで同じように印刷すれば、そりゃ、位置はズレないだろうよ。 ズレるようなら、それは不良品。 そんな話をしてるんじゃなくて、違うプリンタで位置がズレるか、って話。 印字位置の調整機能を持ったソフトなんて、それほど山のようにあるだろ? もう釣りはいいから、さっさと死ねよ。
147 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:09:13 ] >>145 微調整したことない? 妙だな、CDのメーカーによって変更しなきゃいけないのに ああ、気にしてないってだけか
148 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:11:53 ] >>146 だから、プリンタの違いによる物理座標の違いを補正できないような糞設計には、 プリンタ側もウィンドウズ側もなってはいないの。 何度も言うように、.NETでも2.0以降はHardMarginX、HardMarginYプロパティが ちゃんと容易されていて、必要ならこういう差異をちゃんと補正できるようになっているんだよ。 ウダウダ言ってないで実際コード書いてみれば分かるから。 プリンタぐらい持ってるでしょ。
149 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:13:10 ] 同人でズレてるのは見かけるな。
150 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:16:41 ] フォントなんて3だか9だかの倍数じゃないと、メーカーによって大きさがバラバラだったよね。
151 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:17:45 ] なら、年賀状印刷ソフト会社にでも教えてやれよ。「調整機能は不要です!」って。
152 名前:デフォルトの名無しさん [2009/11/21(土) 18:27:13 ] >>142 ですが、ご存知の方、教えてください… (>_<)。
153 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:29:39 ] 「同じように印刷すれば、どのプリンタでも印字位置はズレない」 こんな命題が成り立つわけないのは自明だろ。全メーカーの全プリンタで検証して はじめて成り立つわけだし。 俺はそんな検証したくないし、そもそも、位置ズレに悩まされたこともあるから、 調整機能を付けるよ。
154 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:29:50 ] >>152 やってみればいいじゃん。
155 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:42:50 ] 万人が使えるUIなら当然微調整機能くらいは付けるわな
156 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:43:42 ] このどうでもいい議論いつまで続くんだろう
157 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:44:37 ] C#でグローバルIPを取得するにはどうすればいいですか?
158 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:46:26 ] >>157 ルータに問い合わせるかリモホを表示するサイトにアクセスして その結果を利用するか
159 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:46:52 ] >>157 なんのグローバルIPをどんなアプリから取得したいんだよ? LAN 内からルーターのグローバルIPが取りたい、ってことなら、UPnP か、 いったん外部にアクセスしてそっちからもらうか、だな。
160 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:48:32 ] >>158 ,159 ルータに問い合わせるって簡単に出来ますか? リモホを返すページ作ってアクセスさせてみます
161 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:52:13 ] perl だけど、サンプルあったぞ。 hydro.energy.kyoto-u.ac.jp/~sekiyama/upnp/upnp-get-extaddr
162 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 18:54:43 ] あ、SSI使えたので流用しようかと思いましたが、 ありがとうございます。使わさせて頂きます。
163 名前:デフォルトの名無しさん mailto:sage [2009/11/21(土) 19:53:58 ] デリゲートはメソッドをカプセル化する型
164 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 01:10:28 ] SMTPClientを使ってメールを送るプログラムを作っていたのですが、 WinXPの自分のPCだと問題無く動作するのですが、 Vistaの友人のPCだと、 メールを送信できませんでした。 場所 System.Net.Mail.SmtpClient.Send(MailMessage message) 場所 ConnectForm.Sendmail_DoWork(Object sender, DoWorkEventArgs e)] となり、詰まってます。smtpはVistaで使えないのですか?
165 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 01:17:08 ] >>164 メール送受信関係はWindowsのアキレス腱。 だって、元々SMTPはメールサーバー同士でメールをやり取りするためのプロトコルだぞ。 メールサーバーをローカルに立てているWindows機なんてそこらにはないだろ? ってことで、メール送信に関しては失敗したときの動作を必ず決めておくべき。 質問の答えだが、別にVistaだから使えないってことはない。 クライアントマシンの環境次第。例えばオレのマシンじゃ動かない。
166 名前:164 mailto:sage [2009/11/22(日) 01:34:04 ] 言葉足らずでした。 自分の場合、どの環境からも送信出来るようにと思い、 YahooやGoogleのフリーメールをsmtp経由で送信しているのですが、 それでもそんなものなんでしょうかね?
167 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 01:47:03 ] >>166 だから、クライアントマシンの環境次第だと言ってるじゃないか。察してくれよ。 ちなみに今時SMTPの標準のポートが空いてるプロバイダなんてまずねーよ。
168 名前:デフォルトの名無しさん [2009/11/22(日) 07:02:38 ] FillRectangleメソッドではRectangleFを指定できるのに、 DrawRectangleメソッドではなぜRectangleFが指定できず、Rectangleしか指定できないのでしょうか? floatのX,Y,Width,Heightを直接記述するとデバッグでエラーにならないのだから--- RectangleFが指定できたらいいのですが・・・・・できますでしょうか。 ご存知の方よろしくお願いいたします。
169 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 09:05:49 ] 言われてMSDN見てみた。ホントに一貫性無いな・・・なんでだろ。 Graphics..::.DrawRectangle メソッド (Pen, Single, Single, Single, Single) あるから出来ないわけないよね。 Graphics..::.DrawRectangles メソッド (Pen, array<RectangleF>[]()[]) に食わせるか、ラップ関数作って食わせるか。
170 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 09:16:37 ] >>164 とりあえずエラーの場所だけ書かれてもな
171 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 11:07:51 ] C#はCと違って文字列はアドレスはないの? char *P="もじれつれつ"; みたいなことできない?
172 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 11:09:56 ] うん。
173 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 11:13:21 ] そうなんだ。不便だのぉ
174 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 11:17:12 ] ポインタ管理しなくていいから楽でいいじゃん
175 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 11:21:37 ] >>171 ポインタは無いけど、イテレータ(Enumerator)ならあるよ。 ただし、string自体がimmutableなので、読み取り専用になるけど
176 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 11:21:39 ] GCって何ですか
177 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 11:22:43 ] ググレ
178 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 11:29:40 ] エンスーな写真月刊誌
179 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 12:10:22 ] C#は、他プロセスにアタッチして、 そのプロセスが持つフォームのタイトルテキストを変更するような プログラムを作成出来ますか?
180 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 12:13:32 ] うん 大抵はDllImport祭りになるけど
181 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 12:14:59 ] XPでVistaのガジェットのようにデスクトップに表示するアプリを作りたいのですが どのようにすればいいのでしょうか
182 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 12:30:24 ] 作ればいいと思うよ
183 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:03:14 ] 文字列を区切って変数に代入するメソッドはどうすればいい? class Test{ public int x; public int y; public void func(string s){ } } func("132/145")みたいに/で区切ると x=132、y=145が入る ようなことがやりたいんだけど。
184 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:05:34 ] string や int の性的メソッドを調べてみるべし
185 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:14:19 ] >>183 Splitかければいい。というか、こんなのは基本だろ? 分割できなかったときは、たぶんこの場合はnullを返すよりは例外を出したほうがいいだろうな。
186 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:16:33 ] >>183 ttp://www.atmarkit.co.jp/fdotnet/dotnettips/317vbsplit/vbsplit.html
187 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:26:37 ] unsafeでポインタ使えるから色々試してみるのも面白いよ splitより簡単にできることはないけど
188 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:33:31 ] 実はただの分割じゃなく数式の解析が目的でしたとかなー
189 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:39:55 ] >>71 で、「ListViewで垂直スクロールバーが出ているかどうか知りたいんですが」ってカキコしたんだが スルーされてしまったけど、やはり無理?
190 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:45:34 ] それが人に物を聞く態度か?
191 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 13:54:07 ] 教えてくれたらロリ画像だします・・・
192 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 14:02:55 ] そうしたら通報します・・・
193 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 14:05:16 ] >>189 ClientRectangleの外にItem(かSubItem)が存在するかどうかで判定するとか。 …泥臭いやり方だなw
194 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 14:28:01 ] >>193 どうもです。ListViewをOwnerDrawしている状態で、ヘッダーの長さを水平スクロールバーの出ない長さに調整したいのですが 縦スクロールバーを考慮いてその分ヘッダの長さを短くすると、バーが出ない時に白く残っちゃうんですよね これを何とか消したいんですが他のアプローチ考えてみます
195 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 14:31:55 ] >>189 ListViewのカスタムコントロール作ったことあるが、そのときはGetScrollBarInfoでやった 表示/非表示を知りたかったわけじゃなく、縦横それぞれのスクロールバーの 自動表示をコントロールしたくて実装した副産物 初心者スレでAPI薦めるってどうよって思ったが、正直ほかの方法は知らない
196 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 15:01:46 ] >>195 ありがとうございます。一応サンプル有ったからこれからテストしてみようと思います www.pinvoke.net/default.aspx/user32.getscrollbarinfo
197 名前:デフォルトの名無しさん [2009/11/22(日) 16:32:01 ] PrintDocumentにて、商品明細書を作成しています。、A4縦の単表に100ほどの項目名称や金額をDrawStringメソッドやDrawRectangleメソッドを併用して記述しているのですが、プレビューが出るのに15秒かかってしまいます (>_<;)。 項目数が多い場合、これくらい時間がかかるものなのでしょうか…。 皆様はどのような工夫をして、レスポンスを上げていますか? よろしくお願いします。
198 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 16:35:50 ] どのようにしているからレスポンスが遅いのかが分かりません。 各処理の区切りごとに時間を計測してどのボトルネックになている部分をまず探してみてはどうでしょう? 例えばDBからデータの取得が遅いとか色々あると思います。
199 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 16:37:15 ] 15秒は遅いな 単票なら座標計算に手間取る事は無いだろうから、データ取得あたりで時間掛かってないか見てみた方がいい
200 名前:デフォルトの名無しさん [2009/11/22(日) 17:05:30 ] >>199 ありがとうございます。 データは、今は直接、DrawStringメソッド内に文字列を指定しています。 DrawStringメソッドにて文字列の右揃えや左揃えを細かく指定し、さらに背景にFillRectangleでグレーの網掛けも随所に入れています。 DrawStringメソッドと DrawRectangleメソッド、 FillRectangleメソッドを 1つの関数に定義して、100項目ほどの文字列の描画について、全てその関数で行う形にしています。 いい方法と思いましたが、項目定義が増えるほど一気に重たくなりました (T_T;)。 DrawStringメソッドの中でPointのみを指定し、Rectangleを使わないようにした方が軽いかもしるません。 これから随所を削りながら試験してみます。 もし、何かコツなどのご意見がありましたらぜひ教えてくださいっ…!!
201 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 17:11:35 ] >>200 どちらかっつーと、データをレンダリングするのより データを取ってくるのに時間が掛かってるんじゃないかと思うが。 コードの断片ごとに掛かってる時間を計測して、標準出力に出して眺めてごらんよ。
202 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 17:11:39 ] たかだか100項目程度のそれで15秒もかかるとは思えない 生で書き込んでるんだったら 適当に文字を置換して晒してみれば? 座標計算の所が気になると言えば気になるけど
203 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 17:20:59 ] PDFにしないからだよ
204 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 17:23:46 ] >>203 え?
205 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 17:35:35 ] >>200 半分の50項目だったら何秒? 半分コメントアウトして試してみて
206 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 18:04:12 ] ListViewの話ですが、スクロールバーの検出に成功してカラムの調整まで成功しました が、水平スクロールバーの再描画というか消えるところまでは出来ませんでした もう少し頑張ってみます
207 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 18:41:52 ] 配列と列挙型ってどう違う? いやまぁ違うところは違うけどさ。 列挙型でできることって配列使っても簡単に同じことできね? 列挙型の存在価値がわからんがなんのためにあるの?
208 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 18:43:33 ] 全く違うだろう というかどういうのをして同じことって言うの?
209 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 18:46:00 ] 配列だと代入できんじゃん わざわざラップクラス作る? そのほうが無駄な手間だ
210 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 18:50:29 ] >>207 , 209 ????? 何を言ってるんだ???