ふらっとC#,C♯,C#(初心者用) Part26
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2008/03/23(日) 11:07:29「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
前スレ
ふらっとC#,C♯,C#(初心者用) Part25
http://pc11.2ch.net/test/read.cgi/tech/1204104280/
0002デフォルトの名無しさん
2008/03/23(日) 11:08:00http://google.com/
http://homepage3.nifty.com/midori_no_bike/CS/
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
http://dobon.net/vb/dotnet/
http://jeanne.wankuma.com/tips/
http://www.labasp.net/CsharpNote/
0003デフォルトの名無しさん
2008/03/23(日) 11:08:46>>950が無理な場合、話し合って新スレ立てる人を決めて下さい。
誰も建てないので立てました。
0004デフォルトの名無しさん
2008/03/23(日) 11:09:40http://pc11.2ch.net/test/read.cgi/tech/1200911737/
C♯, C#相談室 Part34
http://pc11.2ch.net/test/read.cgi/tech/1162467959/
【新GUI FW】WPF(XAML,AVALON,.NET3.0)【重い?】
http://pc11.2ch.net/test/read.cgi/tech/1162950198/
Windows Live プログラミング
http://pc11.2ch.net/test/read.cgi/tech/1188112572/
初心者のためのプログラミング言語ガイド Part7
http://pc11.2ch.net/test/read.cgi/tech/1200807067/
0005デフォルトの名無しさん
2008/03/23(日) 11:13:44・自分のプログラムのバグなのかコンパイラのバグなのかわからない
・他の仕事に応用できない糞開発ツールの独自世界を必死に学習している
・テキストエディタで書いたほうが効率的なのに糞UIツールを懸命に使っている
・糞開発ツールを批判すると「性格が悪いから糞ツールを批判するんだ」と言われる
糞だけど、政治的な理由で無理やり使わされているんですよね。
もう、あんな厨の作った糞ツールを我慢して使うのはやめましょう。
・糞開発ツールを部下に押し付ける上司の命令は無視しましょう。
上司は糞開発ツールが使われる実績を作ることであの会社のごきげんをとっているのです。
・糞開発ツールを使わせる上司の下では働けません、と上司の上司に直訴しましょう。
・あの糞開発ツール提供会社には「おたくの糞開発ツールは話にならない」と突き放しましょう。
バグレポートなどしてはいけません。改善要求などもってのほかです。
あの会社はあなたたちのことをテスター/モルモットとしか思っていません。
・あの会議で「糞開発ツールを使ったら生産性がxx%アップしました」
なんて話が出たら力強く机を叩き、会議室を出ましょう。
あの人たちは糞開発ツールをマンセーすることで立場を確保しているのです。
糞な開発ツールを糞だと言える、そんな当たり前の環境をみんなの力で取り戻しましょう。
0006デフォルトの名無しさん
2008/03/23(日) 11:43:10彼女もできました。宝くじにも当たってびっくり
今更ながらにあのツールのすごいパワーを感じてます
0007デフォルトの名無しさん
2008/03/23(日) 11:57:18eclipse にだって良い所は沢山あるんだぞ、そんなに悪く言うな
0008デフォルトの名無しさん
2008/03/23(日) 11:57:29離婚しました。会社も解雇されてびっくり
今更ながらに糞開発ツールのすごいネガティブパワーを感じてます
0009デフォルトの名無しさん
2008/03/23(日) 12:05:240010デフォルトの名無しさん
2008/03/23(日) 12:10:26次のスレ建てから、それは 1 に書いておきませんか?
>>950を踏んだ人は新スレを立てて下さい。
>>950が無理な場合、話し合って新スレ立てる人を決めて下さい。
それと、スレの流れは速い訳では無いので 980 でもいいかと。
0011デフォルトの名無しさん
2008/03/23(日) 13:40:110012デフォルトの名無しさん
2008/03/23(日) 13:43:56http://blogs.msdn.com/charlie/archive/tags/Future+Focus/default.aspx
0013デフォルトの名無しさん
2008/03/23(日) 13:57:210014デフォルトの名無しさん
2008/03/23(日) 14:02:27妄想してハァハァしたい
0015デフォルトの名無しさん
2008/03/23(日) 14:03:370016デフォルトの名無しさん
2008/03/23(日) 14:06:200017デフォルトの名無しさん
2008/03/23(日) 14:08:12/ ̄\
─( ゚ ∀ ゚ )─
\_/
/ │ \
○○○ ○○○
○,,・ω・○ ○・ω・,,○
○○○ ○○○ o
o〜(,_uuノ とuu_,)ノ
FREE TIBET
0018デフォルトの名無しさん
2008/03/23(日) 14:22:14アセンブリ単位ならバージョン混在可能だし、それを想定してコードを書きたいところ。
ヤバイ仕様は、拡張すれば当然出現するし、しかしそれを放置しないでサクサク修正して欲しいな。
どこかのタイミングでdelegateは廃棄してラムダ式で統一して欲しいとか、今でも思うし。
0019デフォルトの名無しさん
2008/03/23(日) 14:26:360020デフォルトの名無しさん
2008/03/23(日) 14:38:540021デフォルトの名無しさん
2008/03/23(日) 14:40:470022デフォルトの名無しさん
2008/03/23(日) 14:46:580023デフォルトの名無しさん
2008/03/23(日) 14:47:58既に憶えている人には良いが、新しくC#を憶える人がC#の歴史を勉強しないとならないという事態になってしまう。
それは良くない、気付けば使える人間はオッサンばっかりという事態に陥るから。
0024デフォルトの名無しさん
2008/03/23(日) 14:53:39ヘジたんの関数型に対する知識が微妙だっただけでは、匿名でないdelegateにしても
コンテナになっていて複数個のメソッドが登録できるとか
実用的な機能はコレだって言われれば至極なっとくできるが、美しくは無いような。
この理屈不要実用一点張りがC#のいいところだと思うんで。
0025デフォルトの名無しさん
2008/03/23(日) 15:01:11delegateがコンテナであっても別に問題ないというのはすごいことなような気はするが
0026デフォルトの名無しさん
2008/03/23(日) 15:03:13イベントの後ろにだけ別途コンテナ用意すればいい
0027デフォルトの名無しさん
2008/03/23(日) 15:04:13何回でもコード書きやがれ、使いやがれ、頭で考えるな!!
0028デフォルトの名無しさん
2008/03/23(日) 15:07:500029デフォルトの名無しさん
2008/03/23(日) 15:12:31イベントハンドラを登録・結合するコードはどうせコンパイラが自動生成するんだから
全くメリットを感じない
0030デフォルトの名無しさん
2008/03/23(日) 15:16:04効率はともかく。
0031デフォルトの名無しさん
2008/03/23(日) 15:18:060032デフォルトの名無しさん
2008/03/23(日) 15:20:27コンテナを別にすればいいだけのこと
0033デフォルトの名無しさん
2008/03/23(日) 15:21:45そんな事はあとから考えればいいの、今必要なのは何か、これが一番大事。
0034デフォルトの名無しさん
2008/03/23(日) 15:29:36Closedにいくつも+=するなんてことはないだろう
一個のメソッドを書いて、その中に必要な処理を書いていくだろう
0035デフォルトの名無しさん
2008/03/23(日) 15:32:56その実装のためにデリゲート自体にコンテナを持たせる必要はない
コンパイラが生成するイベントの実装コードをちょっと変えればコンテナは分離できる
0036デフォルトの名無しさん
2008/03/23(日) 15:33:14登録されるコントロールが自ら登録するんだよ、アホ
0037デフォルトの名無しさん
2008/03/23(日) 15:40:00Framework内部のことであれば好きなように実装すればいいだろう
Formが子Controlの仮想OnClosedメソッドでも呼び出すのが自然だと思うがね
Controlは木構造でありAddしたときに親Formがあるかどうかはわからんのだし
0038デフォルトの名無しさん
2008/03/23(日) 15:41:53イベントとしてクローズを挙げたのは一例に過ぎないぞ
大体だ、何か有るたびにFormにコード書きまくらなければならない、そのコーディングの非効率をどう思うよ?
0039デフォルトの名無しさん
2008/03/23(日) 15:45:18Frameworkを使う立場の俺は、イベントにメソッドをIDEを使って登録し
Formにコードを書きまくっているが特に何の問題も感じない
ややこしくなれば登録したメソッドから別クラスのメソッドを呼び出すけども
0040デフォルトの名無しさん
2008/03/23(日) 15:50:34そもそもその辺を分離するための機能がイベントなのに
0041デフォルトの名無しさん
2008/03/23(日) 16:09:14このページのコード(csargs1.cs)で引数を表示させるプログラムをビルドしてみたのですが、
引数に <"LD"> と入力すると「構文が間違っています」と表示されます。
そのまま引数に<"LD">を文字列として渡すためにはどうすれば良いでしょうか。
どなたか教えてください。よろしくお願いします。
0042デフォルトの名無しさん
2008/03/23(日) 16:18:580043デフォルトの名無しさん
2008/03/23(日) 16:20:590044デフォルトの名無しさん
2008/03/23(日) 16:25:43速レスthxです
コマンドプロンプトの構文なんですね、すみませんでした。
>>41で上げた引数はエラーが起こる例で、あるアプリケーションから
このプログラムに引数を渡したいので、文字列は変更できないんです。
後出しになってしまってごめんなさいorz
0045デフォルトの名無しさん
2008/03/23(日) 16:27:430047デフォルトの名無しさん
2008/03/23(日) 16:35:510048デフォルトの名無しさん
2008/03/23(日) 16:38:58さすがにこのあたりの意見は暴論にしか聞こえないね。
経験が足りないか知識が足りないんだろうけど。
0049デフォルトの名無しさん
2008/03/23(日) 16:43:07「C#, C♯, C#相談室」にいってドヒンシュク買ってこいって思うよ。
0050デフォルトの名無しさん
2008/03/23(日) 18:25:090051デフォルトの名無しさん
2008/03/23(日) 19:24:06http://jp.youtube.com/watch?v=obbFja9-sVY&feature=related
0052デフォルトの名無しさん
2008/03/23(日) 21:00:160053デフォルトの名無しさん
2008/03/23(日) 21:38:390054デフォルトの名無しさん
2008/03/23(日) 21:44:100055デフォルトの名無しさん
2008/03/23(日) 22:02:060056デフォルトの名無しさん
2008/03/23(日) 22:48:170057デフォルトの名無しさん
2008/03/23(日) 23:33:370058デフォルトの名無しさん
2008/03/24(月) 01:51:22プログラム自身以外が原因で発生する例外はいろんな種類があっていいと思うんですが
コードのバグに起因する例外って細分化する必要があるんでしょうか?
例えばパラメータが異常,switchで本来ありえないdefaultに到達してしまった,
foo()を呼ぶ前にbar()を呼んでしまった、といったバグにそれぞれ別の例外を割り当てて
catchしたりしなかったり、catchした時に処理の内容を変えるといったことはありえるんでしょうか。
それともバグと外的な要因で発生する例外の種類を分けること自体無意味ですか?
文法的な使い方は一応理解したつもりなんですが、
どこでどんな例外をthrowするべきかというのがいまいちよくわかりません。
0059デフォルトの名無しさん
2008/03/24(月) 02:49:51行選択したときに送られるイベントって何ですか?
0060デフォルトの名無しさん
2008/03/24(月) 03:38:20論理的に有り得ない状況(e.g. コーディングミス、仕様外の利用)を
検出するのが目的ならアサーション使え
cf. System.Diagnostics.Debugクラス
006160
2008/03/24(月) 03:47:49仕様外の利用ってのはクラスなどの内部で閉じてる場合ね
外部に公開されるメンバなら例外投げる方が適切
0062デフォルトの名無しさん
2008/03/24(月) 04:02:55バグを見つけるためというよりも万一バグった後の処理を続行させない為という意味合いの何か良い例外ってあるのかな。
自分そこらへん結構いい加減だw
0063デフォルトの名無しさん
2008/03/24(月) 04:31:11/ ̄\
─( ゚ ∀ ゚ )─
\_/
/ │ \
○○○ ○○○
○,,・ω・○ ○・ω・,,○
○○○ ○○○ o
o〜(,_uuノ とuu_,)ノ
FREE TIBET
0064デフォルトの名無しさん
2008/03/24(月) 08:08:460065デフォルトの名無しさん
2008/03/24(月) 10:49:330066デフォルトの名無しさん
2008/03/24(月) 15:18:05InvalidOperationExceptionは、不当な操作では?
その操作が出来る状態になっていないのに、操作した場合の例外。
>>59
誰もレスつけないので、自分も知らないのですが、こんなやり方をしています。
RowEnter で操作開始を検出して、各種プロパティーをみるという手を良く使っています。
SelectedCells を読めばいけるんじゃないかなと思のですが・・・今で試せる環境がないので試してません。
RowEnter タイミングが微妙なので、類似の別のイベントの方が良いかもしれません。
0067デフォルトの名無しさん
2008/03/24(月) 15:20:31それを不当な操作というんじゃないのか?
0068デフォルトの名無しさん
2008/03/24(月) 15:22:13内部的バグに対する例外ではないよと言ったつもりなのですが・・・
0069デフォルトの名無しさん
2008/03/24(月) 15:53:14適当でいいんだと思うがな
catchされないような例外に何を投げようと関係ないんじゃないか?
0070デフォルトの名無しさん
2008/03/24(月) 16:02:070071デフォルトの名無しさん
2008/03/24(月) 16:08:330072デフォルトの名無しさん
2008/03/24(月) 16:18:350073デフォルトの名無しさん
2008/03/24(月) 16:50:22この書き方好きじゃないんだけどboolにキャストしたりValueプロパティにアクセスすると
nullのときに例外が発生する
0074デフォルトの名無しさん
2008/03/24(月) 16:51:34C#はむちちゅじょに過ぎる
0075デフォルトの名無しさん
2008/03/24(月) 17:05:040076デフォルトの名無しさん
2008/03/24(月) 17:06:44if (value.GetValueOrDefault(false))
とか
if( value ?? false)
で良いんじゃない?
0077デフォルトの名無しさん
2008/03/24(月) 17:13:37Nullable使っててキャスト時に例外がとんでくる?
使い方を根本的に間違ってねぇかそれ・・・。
0078デフォルトの名無しさん
2008/03/24(月) 17:15:160079デフォルトの名無しさん
2008/03/24(月) 20:00:16SelectionChangedイベントでSelectedRowsを読む
>>62
一部または全部をTrace.Assertにすれば
0080デフォルトの名無しさん
2008/03/24(月) 20:08:33value??falseいいね
0081デフォルトの名無しさん
2008/03/24(月) 21:43:58例えばシフトJISで最初の40バイト目までが項目A、41バイト目から項目Bというような感じです。
string.Format("{0,40}{1}",a,b)
として書き出しても、全角文字が混じるとその分だけずれてしまいます。
1文字ずつ全角か半角かチェックしながらカウントして、埋める空白の文字数を計算して出すしかないのでしょうか?
0082デフォルトの名無しさん
2008/03/24(月) 21:49:08008381
2008/03/24(月) 22:18:30シフトJISのEncoderを使ってバイト数を調べて、空白は自分で補うということでしょうか。
もう少し調べてみます。ありがとうございました。
0084デフォルトの名無しさん
2008/03/24(月) 22:22:390085デフォルトの名無しさん
2008/03/25(火) 09:54:23webBrowser1.Navigate(new Uri(a));
data1 にはランダムな値が入る場合
http://192.168.0.3/"data1".txt
の用にしてdata1によって違うページを開かせたい場合はどのように記述すればいいのでしょうか?
0086デフォルトの名無しさん
2008/03/25(火) 09:57:00×192.168.0.3
○192.168.0.1
0087デフォルトの名無しさん
2008/03/25(火) 10:14:470088デフォルトの名無しさん
2008/03/25(火) 10:22:14webBrowser1.Navigate(new Uri(a));
でいいんじゃないの?
0089デフォルトの名無しさん
2008/03/25(火) 10:28:33有り難う御座います。>>88の方法で出来ました。
0090デフォルトの名無しさん
2008/03/25(火) 10:31:10string a = ("http://192.168.0.1/{0,D3}.txt",data1);
0091デフォルトの名無しさん
2008/03/25(火) 11:58:07フォーマットプロバイダ通さないやり方がちょっとキモイな
0092デフォルトの名無しさん
2008/03/25(火) 11:59:280093デフォルトの名無しさん
2008/03/25(火) 12:03:150094デフォルトの名無しさん
2008/03/25(火) 12:09:371Gなんてダウンロードしたくない
0095デフォルトの名無しさん
2008/03/25(火) 12:10:48VBのコードも多いから、混合して書ける機能があると大助かりというのが実あったりするけどな
class X
{
void F()
{
#lang VB
・・・・
#endlang
}
}
#lang VB
・・・・
#endlang
こんな感じで、要望してみるかな。
0096デフォルトの名無しさん
2008/03/25(火) 12:25:14こんな表記あんの?
0097デフォルトの名無しさん
2008/03/25(火) 12:29:420098デフォルトの名無しさん
2008/03/25(火) 12:30:160099デフォルトの名無しさん
2008/03/25(火) 12:30:26別に個人でやってるだけだからどうでもいいんだが、統合されたら他の言語に移るしかないな
0100デフォルトの名無しさん
2008/03/25(火) 12:32:320101デフォルトの名無しさん
2008/03/25(火) 12:33:02無いよ
string.Formatを忘れてるだけだろ
0102デフォルトの名無しさん
2008/03/25(火) 12:33:22だな、その場で書いたなw
0103デフォルトの名無しさん
2008/03/25(火) 12:36:03さようなら、VB統合と言わず、今すぐそのままJavaへなり移行されてくださいw
0104デフォルトの名無しさん
2008/03/25(火) 12:36:390105デフォルトの名無しさん
2008/03/25(火) 12:42:59C# 水割り
C++ ロック
C ストレート
0106デフォルトの名無しさん
2008/03/25(火) 12:43:27まあ改行=行の終わり、とか細かい点で気持ち悪い点は確かにいくつかあるけど。
0107デフォルトの名無しさん
2008/03/25(火) 12:44:16VBの方が好きな点はそれだけ
0108デフォルトの名無しさん
2008/03/25(火) 12:46:13varが出来て状況はだいぶ改善したけど
0109デフォルトの名無しさん
2008/03/25(火) 12:47:30var a as string = "a"とか
var a : string = "a"みたいになりそうだな
0110デフォルトの名無しさん
2008/03/25(火) 12:47:35var hinsuumei = new Katamei();
0111デフォルトの名無しさん
2008/03/25(火) 12:48:10var font = new;
0112デフォルトの名無しさん
2008/03/25(火) 13:06:44ちょっと欲しい気はするな、それだと型の推論のしようがないが
var = [email protected] new ;
使うときは
[email protected] or [email protected] or instance1@Font or instance1
衝突がなければ通るとか、オブジェクト指向になって以来ハンガリアン記法が役立たずになっているが
これなら型名が増えても困る事はないし、分りきっている場所で不必要に型名を書いてかえって読みずらい事にもならないような……気がする。
0113デフォルトの名無しさん
2008/03/25(火) 13:11:28コンパイルエラーとする下限の確率をコンパイラのパラメータで指定する
0114デフォルトの名無しさん
2008/03/25(火) 13:13:480115デフォルトの名無しさん
2008/03/25(火) 13:21:040116デフォルトの名無しさん
2008/03/25(火) 13:28:24{
foo()
{
・・・・
}
hoge{get; set;}
honya{get; set;}
hogehoge{get; set;}
}
Public Class hoo()
{
List<foo> list = new List<foo>();
・・・・・・
}
Public Class puu()
{
List<hoo> list2 = new List<hoo>();
・・・・
}
こういうリストのリストを使うんですが、これを単なるリストに展開するにはどうしたらいいのでしょうか?
0117デフォルトの名無しさん
2008/03/25(火) 13:33:062.0なら2重のループで新しく作ったリストに自分で追加していく
0118デフォルトの名無しさん
2008/03/25(火) 13:37:14高度な話題になるから、ソレらしい所に行くべし
きわどい問題も累積している。
0119デフォルトの名無しさん
2008/03/25(火) 18:38:12public static void Main()
{
START:
int a = int.Parse(Console.ReadLine());
int b = int.Parse(Console.ReadLine());
int c = int.Parse(Console.ReadLine());
if (a > b)
{if (a > c){if (c > b){Console.Write("{0}{1}{2}", a, c, b);
}else{
Console.Write("{0}{1}{2}", a, b, c);
}
}else{
Console.Write("{0}{1}{2}", c, a, b);
}
}else{
if (b > c)
{
if (a > c)
{
Console.Write("{0}{1}{2}", b, a, c);
}else{
Console.Write("{0}{1}{2}", b, c, a);
}
}
if (c > a && c > b)
{
Console.Write("{0}{1}{2}", c, b, a);
}else{
Console.Write("数字が重複していますカエレ");
0120デフォルトの名無しさん
2008/03/25(火) 18:43:140121デフォルトの名無しさん
2008/03/25(火) 19:06:46自分が入力した値でどこを通るか辿っていったらわかるだろ
とりあえず整形しなさい
0122デフォルトの名無しさん
2008/03/25(火) 19:11:45当たり前じゃん。bが一番大きかったらc>bを満たすはずがない
0123デフォルトの名無しさん
2008/03/25(火) 19:14:13if文をちゃんと理解してる?
0124デフォルトの名無しさん
2008/03/25(火) 19:26:09goto START; とかやるつもりなんだろうか
0125デフォルトの名無しさん
2008/03/25(火) 20:19:25>>119 そのコード、コンパイル通らない。
0126デフォルトの名無しさん
2008/03/25(火) 20:21:040127デフォルトの名無しさん
2008/03/25(火) 20:34:170128デフォルトの名無しさん
2008/03/25(火) 20:34:380129デフォルトの名無しさん
2008/03/25(火) 20:39:350130デフォルトの名無しさん
2008/03/25(火) 20:49:08http://www.labasp.net/CsharpNote/mControl/ContextMenuStrip/101_110.html#104
で見つけました。
もうひとつ質問があるのですが、これはウィンドウ外でも表示出来るのでしょうか?
0131デフォルトの名無しさん
2008/03/25(火) 20:57:300132デフォルトの名無しさん
2008/03/25(火) 20:59:400133デフォルトの名無しさん
2008/03/25(火) 21:29:420134デフォルトの名無しさん
2008/03/25(火) 21:31:590135デフォルトの名無しさん
2008/03/25(火) 21:34:27ここに書いてありました。どうもすみませんでした。
0136デフォルトの名無しさん
2008/03/25(火) 21:37:40彼は別にソートしたいんじゃなくて、勉強したいんだろ
>>119
意図したとおりにならなかったら
デバッガで1ステップずつ実行して違う場所を探せばいい
その時点の変数の値も確認できる
0137デフォルトの名無しさん
2008/03/25(火) 21:58:32PixtureBoxに点(1ドット)を打ちたいのですが、方法が分かりません。
ご教授いただけると幸いです。
0138137
2008/03/25(火) 22:02:41PictureBoxで描写しているBitmapにです。
Graphicsに落として、線を引いたりはできるのですが、指定した一点にだけ描写する方法が分かりませんm(_ _)m
0139デフォルトの名無しさん
2008/03/25(火) 22:18:48Bitmap.setpixel()
0140デフォルトの名無しさん
2008/03/25(火) 22:20:340141137
2008/03/25(火) 23:12:37できました。ありがとうございます。
Bitmapにあったんですね(^^;
JavaのノリでいたのでGraphicsにあるものだと思い込んでました。。。
縦横1pxの四角形を描こうとすると、縦横2pxの四角形になってしまいました。。。orz
0142デフォルトの名無しさん
2008/03/25(火) 23:54:29中身を取り出したときに確実に葬り去るにはどうすればいいの?
0143デフォルトの名無しさん
2008/03/25(火) 23:55:400144デフォルトの名無しさん
2008/03/26(水) 00:17:41それらを考えると放射線でメモリをROMとして焼き付けるのが一番ではないだろうか?
0145デフォルトの名無しさん
2008/03/26(水) 00:30:460146デフォルトの名無しさん
2008/03/26(水) 02:07:20>葬り去る
この意味を書け、何をしたいのかハッキリさせろ、話はそれからだ。
0147デフォルトの名無しさん
2008/03/26(水) 03:13:02staticでないクラスのstaticメソッドはプログラム内
で全く使われてなくてもメモリ上に読み込まれる?
0148デフォルトの名無しさん
2008/03/26(水) 08:51:02ゆとりか
0149デフォルトの名無しさん
2008/03/26(水) 09:06:39146じゃないけど、142がどの程度C#とStackのことをわかってるのかがわからない以上、
俺も何をしたいのかわからない。
ひょっとするとhoges.Peek()にしか気づいておらず、スタックから消す方法を聞きたいのかもしれない。
hoges.Pop().Hoge()とかのように、そのまま使ってしまいDispose()を呼び出せないと思いこんでいるのかもしれない。
いろいろ考えられる。
0150デフォルトの名無しさん
2008/03/26(水) 10:24:07オブジェクトの破棄の意味と仮にエスパーしても何段階かあるぜ、どれなんだい?役立たずの爺さんよぉ。
0151デフォルトの名無しさん
2008/03/26(水) 10:32:25JITの勝手、作る側は意識しない。
今現在どうなっているのかというなら、アセンブリ単位で読み込まれているようだ。
用語の意味や詳細がわからないなら以下を読め、ただしプログラム初学者には難易度は高いぞ。
http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_index/index.html
0152デフォルトの名無しさん
2008/03/26(水) 10:45:34メモリ上に読み込まれるのと、型として評価されるのと、
特定のメソッドがJITでコンパイルされるタイミングはどれも違う。
型として評価されるタイミングならスタティックイニシャライザに
WriteLineを仕込んでみると近似できると思うよ。
0153デフォルトの名無しさん
2008/03/26(水) 11:41:00C#でどのように克服されてるかという話かもしれない
0154デフォルトの名無しさん
2008/03/26(水) 11:54:34C++では、例外を使わないという事を検討すべきだな、故障中と書かれた蛇口をひねるような真似はすべきでない。
この話題は、もはやスレ違いだ 147 は死ねって事でFA。
0155デフォルトの名無しさん
2008/03/26(水) 12:04:22使われる前には読み込まれていなければならない
具体的なタイミングは実装依存だったと思う
0156デフォルトの名無しさん
2008/03/26(水) 12:05:16作るほうが難しいけど。
C++はただなんでも値渡しでコピーするから
例外投げないメソッドが作りづらいだけじゃないか、それが致命的なんだけど。
0158119
2008/03/26(水) 13:10:19ついでにもうひとつ質問ですがデバッガはどこを押せばできますか?
使ってるソフトはMicrosoft Visual C# 2008です。
おしえてください
0159デフォルトの名無しさん
2008/03/26(水) 13:16:240160デフォルトの名無しさん
2008/03/26(水) 13:18:56デバッグは止めたいところにカーソル置いてF9を押してブレークポイントを追加してからF5
0161デフォルトの名無しさん
2008/03/26(水) 13:19:540162デフォルトの名無しさん
2008/03/26(水) 13:25:15goto使いまくるような言語から入った人なのかな
0163デフォルトの名無しさん
2008/03/26(水) 13:28:140164デフォルトの名無しさん
2008/03/26(水) 13:31:440165デフォルトの名無しさん
2008/03/26(水) 13:35:500166デフォルトの名無しさん
2008/03/26(水) 13:36:410167デフォルトの名無しさん
2008/03/26(水) 13:36:49考えられるケースを書き出してからコード書き始めると漏れがなくなる。
abc
123
132
213
231
312
321
あと重複チェックは先頭でやってしまったほうがいいな。
正しくない入力データはなるべく早く排除しておいたほうがいい。
というのを踏まえてgoto抜きで書き直してみ。
別に使っちゃいけないわけじゃないがこのケースで使う必要は0。
それからgotoネタは他所でやった方がレスの共通化が図れて効率的。
0168デフォルトの名無しさん
2008/03/26(水) 13:37:12スクリプト系か
0169デフォルトの名無しさん
2008/03/26(水) 13:37:16gotoでスパゲッティになることもない
問題なのは巨大な関数の方でgotoじゃない
0170デフォルトの名無しさん
2008/03/26(水) 13:42:31HSPとかかなぁ。よく知らないけど。
0171デフォルトの名無しさん
2008/03/26(水) 13:42:520172デフォルトの名無しさん
2008/03/26(水) 13:43:39スパゲティとかいうレベルじゃなく場当たり的に回避してるだけだ
0173デフォルトの名無しさん
2008/03/26(水) 13:45:43避けられるなら避けるべきだ
0174デフォルトの名無しさん
2008/03/26(水) 13:59:25チームのメンバとか、他社へ納品するとか、他人が見る可能性がある場合は、
そういうことに気をつける必要はある。
だが、個人で書いてて誰にも見せないなら、どんな書き方をしようが個人の自由。
気にするな。
でもgotoは、COBOLとRPGでreturnとかcontinueとかbreakとかがなくて
仕方なく使ってたのが最後だな。
0175デフォルトの名無しさん
2008/03/26(水) 14:08:130176デフォルトの名無しさん
2008/03/26(水) 15:25:52時間のみの取得がどうすればいいのか分かりません。
long tick = DateTime.Now.Ticks;
DateTime d = new DateTime(tick);
というサンプルを見つけたのですが、これでは年〜秒まで取得してしまします。
どのようにすればよいかご助言下さい。
if(4時<時間<=11時)
{
処理1
}
else if(11時<時間<=16時)
{
処理2
}
else
{
処理3
}
0177デフォルトの名無しさん
2008/03/26(水) 15:39:32つかDateTime構造体をちゃんと調べれ
0178デフォルトの名無しさん
2008/03/26(水) 15:41:31どうみても>>119は初心者なんだから個人の自由とかの議論の前にみんなが指摘してやってるだけだと思うよ。
0179デフォルトの名無しさん
2008/03/26(水) 15:51:03C言語で入力を待って実行するのに便利だったのですが。
0180デフォルトの名無しさん
2008/03/26(水) 15:51:48ありがとうございます。
0181デフォルトの名無しさん
2008/03/26(水) 15:53:350182デフォルトの名無しさん
2008/03/26(水) 15:54:34http://msdn.microsoft.com/library/ja/vclib/html/vclrfrun-timeroutinesnetframeworkequivalents.asp
0183デフォルトの名無しさん
2008/03/26(水) 15:58:27thx
0184デフォルトの名無しさん
2008/03/26(水) 17:08:51Where T : Typeとしました。
このとき、TがEnumから派生したものでない場合、例外を投げるにはどの例外を投げたらいいでしょうか?
ArgumentExceptionにメッセージでEnumを継承してないからだめって書いて投げてもいいのでしょうか?
0185デフォルトの名無しさん
2008/03/26(水) 17:13:50例外はなんでもいいんじゃね
どうせ実行時には発生しちゃいけないはずなんだから
0186184
2008/03/26(水) 17:14:26whereは指定していませんが、上記の場合、どの例外を投げるのが適切なのでしょうか?
0187デフォルトの名無しさん
2008/03/26(水) 17:42:29Windows コントロール ライブラリ
見れるところってありますか?
0188デフォルトの名無しさん
2008/03/26(水) 17:49:20where T : structにしといたほうがいい
TEnumのほうがいいかも
ArgumentExceptionはメソッドの引数の例外だからExceptionかその直接の派生クラス作って投げたら
>>187
codeplexとかcodeprojectとか
0189デフォルトの名無しさん
2008/03/26(水) 18:04:48コンパイルエラーにできないということはそういう使い方をするなということなんでしょうかね…
>>188
TypeLoadExceptionというものを見つけたんですが、これはまた別物なんでしょうか?
それと、お二方のご指摘通り、where T : structを指定しました。
ありがとうございます。
0190デフォルトの名無しさん
2008/03/26(水) 20:05:00{
List<string> list = new List<string>();
return list;
}
List<string> list = GetList();にするとnullが返って来てエラーとなります。
こういうものなのですかね?。
0191デフォルトの名無しさん
2008/03/26(水) 20:16:07ちょw
0192デフォルトの名無しさん
2008/03/26(水) 20:17:07それはおかしい
そのコードでnullが返ることは無い
0193デフォルトの名無しさん
2008/03/26(水) 20:17:48>例外投げないメソッドが作りづらいだけじゃないか
具体的に例外安全とならない例をひとつ挙げてみてもらえないか?
不可能だと思ったので、すこし興味深い。
0194デフォルトの名無しさん
2008/03/26(水) 20:19:01クリーン再インストールすると治るんじゃないかなw
0195デフォルトの名無しさん
2008/03/26(水) 20:22:40別のプログラム bbb.exe 上の
ボタンを自動で押したいのですが、どうやればいいのでしょうか?
0196デフォルトの名無しさん
2008/03/26(水) 20:25:44セキュリティー上の重大な問題を引起こす、その種の操作は一般にはできない。
無理すればできるが、かなり高度な話題、相互運用でググれ。
0197デフォルトの名無しさん
2008/03/26(水) 20:31:34bbb.exe側のソースをいじれるなら .NETリモート処理で対応する。
できないなら>>196のいうとおりAPIいじくるしかない。
0198190
2008/03/26(水) 20:40:43家族の夕食を作って食べてから出直してきます。
みなさん、ありがとう。
0199デフォルトの名無しさん
2008/03/26(水) 20:55:52using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(f());
}
private int f()
{
return 10;
}
}
}
f()をstaticなメソッドにすれば問題ないのですが何故ですか?
フォームアプリケーションではstaticでなくても問題ないみたいですが…。
0200デフォルトの名無しさん
2008/03/26(水) 20:58:39bbb.exeはいじれないです。
APIでいじる方法のキーワードとなりそうなググり方でも教えていただけると嬉しいです
0201デフォルトの名無しさん
2008/03/26(水) 21:02:33フォームアプリケーションでは、
ウィザードが生成するコードの中でインスタンスを作っている。
コンソールアプリケーションでは、自分でインスタンスを作らないといけない。
static void Main(string[] args)
{
Program p = new Program;
Console.WriteLine(p.f());
}
0202デフォルトの名無しさん
2008/03/26(水) 21:08:47ありがとうございました!
Mainのあるクラスですらインスタンスを作らなくちゃいけないんですね。
たしかにstaticなのはMainだけだからそうなんだろうけど自分自身を作るみたいで変な感じ^^;
0203デフォルトの名無しさん
2008/03/26(水) 21:16:13当時は何の疑問も感じずに使ってたけどProgram.csに慣れると
コンポーネントの中にエントリポイントがあるっておかしいだろ普通に考えて
0204デフォルトの名無しさん
2008/03/26(水) 21:20:44http://www.microsoft.com/japan/msdn/net/bda/cominterop.aspx
APIの使い方が分らないというならキッパリ諦めた方がいい。
0205デフォルトの名無しさん
2008/03/26(水) 21:44:19FindWindow系で対象のボタンのウインドウハンドルを探して
クリックしたメッセージを送るか、マウス操作をエミュレート
0206デフォルトの名無しさん
2008/03/26(水) 22:06:39対称となるウィンドウ(ボタン)は固定なので、SendMessageくらいで出来ると嬉しいです。
Spy++のように座標が取得できればマウス動かしてやろうかな
などと考えております
0207デフォルトの名無しさん
2008/03/26(水) 22:21:50ならDllImportAttributeあたりを調べてみるといい
0208デフォルトの名無しさん
2008/03/26(水) 22:33:49対象のウィンドウのウィンドウハンドル取得後、
GetWindowRectで対象ウィンドウの現在位置を取得して、
対象ウィンドウの左上座標からの相対位置から、スクリーン座標を求めた後に、
WindowFromPointでボタンのウィンドウハンドルを取得し、
SendMessageでキーのアップダウンメッセージなりマウスのアップダウン(クリック)メッセージなりを
送ればいいとおもわれ
0209デフォルトの名無しさん
2008/03/26(水) 22:37:070210デフォルトの名無しさん
2008/03/26(水) 22:38:140211デフォルトの名無しさん
2008/03/26(水) 22:44:30さらに言うなら、この程度自力でなんとかしやがれ。
0212デフォルトの名無しさん
2008/03/27(木) 00:08:19ANSIの標準ライブラリは、何一つC#では使えないんだろうな。
それなら、VB.NETのほうが良いのでは。
VBを知らない人のための言語のように思えるが。
0213デフォルトの名無しさん
2008/03/27(木) 00:22:28public int Property
{
get { return hoge; }
private set { hoge = value; }
}
より
public int Property
{
public get { return hoge; }
private set { hoge = value; }
}
のほうがシンメトリックだし。
0214デフォルトの名無しさん
2008/03/27(木) 00:33:21ヘジたんの御心のままです
0215デフォルトの名無しさん
2008/03/27(木) 00:39:460216デフォルトの名無しさん
2008/03/27(木) 01:09:01「送る」->「メール受信者」という項目から通常使うメーラとして起動したいのですが、
HKEY_LOCAL\SOFTWARE\Clients\Mail\nullmail\Protocols\mailto\shell\open\command
HKEY_LOCAL\SOFTWARE\Clients\Mail\nullmail\shell\open\command
などのレジストリを書き換えても動いてくれません。
IEの通常使うメールソフトの設定には表示されているのですが、なぜか起動すらしてくれないのです。
Gmail等のWebメールでURLに引数を付けて呼び出す方法などだと動くのですが、
.NETでメールを書く場合には何かルールがあるのでしょうか?
0217デフォルトの名無しさん
2008/03/27(木) 02:52:38C#を使えるようにしたいのですが、
どのように勉強するのが効率的なのでしょうか?
一応、15日ほど前にC#の絵本というのを買って
Micro Soft Visual Studio C# 2005 Express Edition
というツールを使いながら読み進めているのですが、
サンプルプログラムに省略されている部分が多くてよくわからないのです。
0218デフォルトの名無しさん
2008/03/27(木) 08:47:31これってつまり重複したキーが使えるという事なのでしょうか?
今まで気づかなかったorz
0219デフォルトの名無しさん
2008/03/27(木) 09:05:21どちらで作ればよいのでしょうか?
0220デフォルトの名無しさん
2008/03/27(木) 09:27:17PCだと、XNAランタイムみたいなの入れてないと動かないPO
DirectX・・・資料多い。ややめんどくさいかも。PCだけだとこっちの方が動く環境多い
0221デフォルトの名無しさん
2008/03/27(木) 09:28:000222デフォルトの名無しさん
2008/03/27(木) 09:29:56C++つかったほうが
0223デフォルトの名無しさん
2008/03/27(木) 09:36:150224デフォルトの名無しさん
2008/03/27(木) 09:45:54じゃあどっちでも良いじゃん
0225デフォルトの名無しさん
2008/03/27(木) 09:55:48C#にする時点で.NETを入れる必要があるんだから
XNAのランタイムを入れる必要があるってデメリットは無視できると思う。
「DirectX」がもしManaged DirectXのことを言ってるんだとしたら結局は同じ。
Managed DirectXは見捨てられ、XNAにシフトした。
ただし、360コントローラ以外のパッドのようにXbox360と互換がないデバイスは
XNAでサポートされていないのでManaged DirectXを使う必要がある。
DirectXを直接C#から呼ぶのは大変。
と時間が出来たら技術的興味からXNAに触ってみようとしてるやつが思った、
間違ってるとこがあるかもしれない戯れ言
0226デフォルトの名無しさん
2008/03/27(木) 10:07:06http://www.amazon.co.jp/%E3%82%B2%E3%83%BC%E3%83%A0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-Game-Developer-%E8%B5%A4%E5%9D%82-%E7%8E%B2%E9%9F%B3/dp/4797334800
0227デフォルトの名無しさん
2008/03/27(木) 10:40:13そうすると、セキュリティーの関係上DirectXがマネージドでないと都合が悪いので
どういう形になるにせよ、DirectXがマネージドになるのは時間の問題かと。
現在のDirectXがマネージドDirectXラッパーになるのでは。
0228デフォルトの名無しさん
2008/03/27(木) 11:10:350229デフォルトの名無しさん
2008/03/27(木) 11:46:060230229
2008/03/27(木) 11:49:170231デフォルトの名無しさん
2008/03/27(木) 13:37:42MCTS,MCPD
0232デフォルトの名無しさん
2008/03/27(木) 13:56:33using System;
class aaa
{
public static void Main()
{
for (int a = 1; a == 9; ++a)
{
for (int b = 1; b == 9; ++b)
{
Console.Write("{0}*{1}",a,b);
}
Console.Write("\n");
}
}
}
0233デフォルトの名無しさん
2008/03/27(木) 14:15:17a == 9 が true の間だけループを回す、って意味だが。
0234デフォルトの名無しさん
2008/03/27(木) 14:16:48DInputゲームパッドから入力とるだけならC#+Marshalingで直さわりしても
正直一日仕事レベルなのだが意外に知られてないっつーか
キーマップやら無理ない設計やら面倒くさいもの(しかしあまり使われない)が
ややこしいのは確かなんだが
0235デフォルトの名無しさん
2008/03/27(木) 14:38:420236デフォルトの名無しさん
2008/03/27(木) 14:42:08プライベート配置できるし
0237デフォルトの名無しさん
2008/03/27(木) 14:42:11そもそも、DirectX自体がWPFとXNAに二分されて
フェードアウトするんじゃないか?
DirectShowなんか、既にWindows SDKに移住したし。
0238デフォルトの名無しさん
2008/03/27(木) 15:04:57んなもん #if で終了だろ
0239デフォルトの名無しさん
2008/03/27(木) 16:36:39int やlongの場合、intを使わずに全てlongで良いような気がするのですが、なぜintが存在しているのでしょうか?
素人考えだと、intで良い物はむやみにlongにするより、処理が早くてすむ、メモリの節約になる。
などの理由があるのかなと予想しているのですが。
0240デフォルトの名無しさん
2008/03/27(木) 16:43:01>処理が早くてすむ、メモリの節約になる。
正解。
0241デフォルトの名無しさん
2008/03/27(木) 16:44:58誰もA1ノートなんて買わないだろ?使わないんだから
0242デフォルトの名無しさん
2008/03/27(木) 16:53:210243デフォルトの名無しさん
2008/03/27(木) 17:09:39ありがとうございます。すっきりしました。
0244デフォルトの名無しさん
2008/03/27(木) 17:12:31Direct3Dに関しては、WPFのブラシの一つとして実装されるのが一番綺麗だろうな。
逆にDirect3DのテクスチャとしてWPFがまた利用可能で、無限入れ子になってくれば汎用性も高そうな気がする。
消滅に関しては今更感があるので難しいかと。
0245デフォルトの名無しさん
2008/03/27(木) 17:15:00現状だとCPUが32ビットで、複数回に分けて計算されるので
long だと、マルチスレッドではいちいちlockしないといけないのが面倒くさいという実務上の都合もあるな。
0246デフォルトの名無しさん
2008/03/27(木) 17:15:140247デフォルトの名無しさん
2008/03/27(木) 18:39:55thx 参考になります。
0248デフォルトの名無しさん
2008/03/27(木) 19:12:380249デフォルトの名無しさん
2008/03/27(木) 19:15:42ちっとも面白くないが、君が「オカシイ」奴だということだけはよくわかるよ
0250デフォルトの名無しさん
2008/03/27(木) 19:33:52ToolStripItem.MouseUp += new EventHandler(fff);
private void fff(object sender, MouseEventArgs e)
{
}
0251デフォルトの名無しさん
2008/03/27(木) 19:36:16または
ToolStripItem.MouseUp += fff;
0252デフォルトの名無しさん
2008/03/27(木) 19:41:18ありがとうございます。
EventHandlerで全て処理するのかと思い込んでいました。
指摘されて電気が走りました・・・。
0253デフォルトの名無しさん
2008/03/27(木) 21:05:380254デフォルトの名無しさん
2008/03/27(木) 21:11:050255デフォルトの名無しさん
2008/03/27(木) 21:13:350256デフォルトの名無しさん
2008/03/27(木) 21:32:270257デフォルトの名無しさん
2008/03/27(木) 23:07:13変わりますがこれをどちらかだけ固定する方法はないのでしょうか?
0258257
2008/03/27(木) 23:08:40今度は30秒待ってから書きますorz
0259デフォルトの名無しさん
2008/03/27(木) 23:36:550260デフォルトの名無しさん
2008/03/27(木) 23:38:150261デフォルトの名無しさん
2008/03/28(金) 00:01:05ここの「ホットキーを登録する」をコピペしたら動きました。
これから理解したいと思います。
0262デフォルトの名無しさん
2008/03/28(金) 02:34:15以下のような、任意のデータ方を扱えるconsを作りたいのですが、うまくいきません。ご教鞭願いたいです
class Cons<T,U>
{
private T left;
private U right;
public T car
{
get { return left; }
set { left = value; }
}
public U cdr
{
get { return right; }
set { right = value; }
}
public Cons(T a,U b)
{
this.left = a;
this.right = b;
}
0263つづき
2008/03/28(金) 02:34:53{
return "(" + left.ToString() + "." + right.ToString() + ")";
}
static void Main()
{
Cons a = new Cons(10, "a");
Console.WriteLine(a.ToString());
}
}
0264デフォルトの名無しさん
2008/03/28(金) 02:36:54Cons a = new Cons(10,"abc");
などとして作った後、
a.car="foo";
とするとエラーになると思うのですが、解決策はあるでしょうか?
0265デフォルトの名無しさん
2008/03/28(金) 02:46:24この2つを直せば動く。
1. ジェネリッククラス内にエントリポイントMainは置けない。
2. ジェネリッククラスを使うときには、Cons<int, string>のように
ジェネリックの引数を指定しないといけない。
0266デフォルトの名無しさん
2008/03/28(金) 03:02:32型推論を働かせたい場合、コンストラクタでは無理。
static partial class New
{
static Cons<T, U> Cons<T, U>(T left, U right) { return new Cons<T, U> (left, right); }
}
みたいな static メソッドを書けば、
C# 3.0 なら
var a = New.Cons(10, "abc");
で、Cons<int, string> が作られたりはする。
0267デフォルトの名無しさん
2008/03/28(金) 03:05:29・任意のデータ型を内包できるリスト構造を作れるか
・そのリストの要素をまた別の任意の型へ変換できるものが作れるか
この2点が知りたいです。
そんなに柔軟な型にこだわるならスクリプト言語でもいじってろと思うかもしれませんが・・・
0268デフォルトの名無しさん
2008/03/28(金) 03:07:09なるほど、結構しんどくなってくるんですね・・・
0269デフォルトの名無しさん
2008/03/28(金) 03:22:08吊ってきます。
0270デフォルトの名無しさん
2008/03/28(金) 06:42:43横やりだけど、これって関数型言語のような事をしたいという意味に取れたのですが
もしそうだとしたら、プロパティーに set をつけること事態がよろしくないのでは?
と思ったりしたのですが・・・・
やるとすれば、たとえば string クラスや DateTime クラスのように
一回設定したら変更できないタイプのクラスに設計するのが美しいような予感がします。
0271デフォルトの名無しさん
2008/03/28(金) 07:11:04public class Pair<T,U> {
T left ;
U right ;
public T Left { return left ; }
public U Right { return right ; }
public Pair<T,U>(T l ,U r) { left = l ; right = r ; }
public override string ToString() {
return "(" + left.ToString() + "." + right.ToString() + ")";
}
}
public static class Lisp {
public static T Car<T,U>( this Pair<T,U> pair ) { return pair.left ; }
public static U Cdr<T,U>( this Pair<T,U> pair ) { return pair.right ; }
public static T SetCar<V,U>( this Pair<T,U> pair , V left ) { return new Pair<V,U>( left , pair.right ) ; }
public static U SetCdr<T,V>( this Pair<T,U> pair , V right ) { return new Pair<T,V>( pair.left , right ) ; }
public static Pair<T,U> Cons<T,U>( T left , U right ) { return new Pair<T,U>( left , right ) ; }
}
class MyClass {
void Main() {
var a = Lisp.Cons( 10 , "a" ).Car() ;
var b = a.SetCar( "foo" ) ;
Console.WriteLine(a.ToString());
}
}
0272デフォルトの名無しさん
2008/03/28(金) 07:26:52public static T SetCar<V,U>( this Pair<T,U> pair , V left ) { return new Pair<V,U>( left , pair.right ) ; }
public static U SetCdr<T,V>( this Pair<T,U> pair , V right ) { return new Pair<T,V>( pair.left , right ) ; }
↓
public static Pair<V,U> SetCar<T,U,V>( this Pair<T,U> pair , V left ) { return new Pair<V,U>( left , pair.right ) ; }
public static Pair<T,V> SetCdr<T,U,V>( this Pair<T,U> pair , V right ) { return new Pair<T,V>( pair.left , right ) ; }
コンパイルしていないのでまだあるかも知れない。
0273デフォルトの名無しさん
2008/03/28(金) 08:27:11↓
public T Left { get { ... } }
pair.left
↓
pair.Left
あとはMainもおかしい
aはint
0274デフォルトの名無しさん
2008/03/28(金) 09:06:50ジェネリックスはもともと関数型言語由来だから相性は悪くないはず
object などと妥協せずとことんやりこんでみる事をお勧めする。
0275デフォルトの名無しさん
2008/03/28(金) 10:39:38{
}
を有効にするにはxオブジェクトを private static で修飾する、ということであってますか?
0276デフォルトの名無しさん
2008/03/28(金) 11:00:31readonly をつけることは結構あるかも
0277デフォルトの名無しさん
2008/03/28(金) 12:31:07日本語書け。
「有効にする」とはどういう意味?
あるいは、「有効にする」というからには「無効」という状態があるんだろうが
「lock(x)が無効」とは具体的にどんな事態のことを指してるの?
0278デフォルトの名無しさん
2008/03/28(金) 13:06:03MSDNでlockのところ読んどけ
0279デフォルトの名無しさん
2008/03/28(金) 13:53:17おぃ、なんちゅートンデモアドバイスを与えいるんだ?
0280デフォルトの名無しさん
2008/03/28(金) 19:04:420281デフォルトの名無しさん
2008/03/28(金) 20:04:53{
foreach (string[] item in list_news) if (item[0] == url) return item;
return null;
}
こういう書き方ってきもいかな?
0282デフォルトの名無しさん
2008/03/28(金) 20:09:460283デフォルトの名無しさん
2008/03/28(金) 20:12:140284デフォルトの名無しさん
2008/03/28(金) 20:14:150285デフォルトの名無しさん
2008/03/28(金) 20:19:080286デフォルトの名無しさん
2008/03/28(金) 20:25:14list_news.Find(x => x[0] == url)
ですむんじゃまいか。
0287デフォルトの名無しさん
2008/03/28(金) 20:29:21たぶん.NetFrameworkの上でなければ全然気にならないんだろうけどwww
0288デフォルトの名無しさん
2008/03/28(金) 20:36:40やっぱり透過をやめたい場合はどうすればいいんでしょうか??
0290デフォルトの名無しさん
2008/03/29(土) 13:05:15派生クラスからメンバを追加する方法ってありますか?
0291デフォルトの名無しさん
2008/03/29(土) 13:12:43具体的に何がしたい
0292デフォルトの名無しさん
2008/03/29(土) 13:13:08//Nestedオブジェクトは常にこのメソッドを通して作ること!
protected virtual Nested CreateNested() { return new Nested(); }
protected class Nested { }
}
class Derived {
protected override Nested CreateNested() { return new DerivedNested(); }
class DerivedNested : Nested { public void NewMember() { } }
}
こういうことか?
0293デフォルトの名無しさん
2008/03/29(土) 14:13:59最近何通りにも解釈できる短い日本語だけで、何も具体的に書かないのが多いな。
しかもそれに対して、こうでしたって書き込みがない。
釣りか?
0294デフォルトの名無しさん
2008/03/29(土) 14:26:27むしろこういうタイプの「彼」は、「俺様の意図が理解できないなら黙ってろよこの煽り厨房が」
ぐらいのことをリアルで思ってように感じられる。
0295デフォルトの名無しさん
2008/03/29(土) 14:28:16これからも宜しくお願いしますm(_._)m
飛び入りです
0296デフォルトの名無しさん
2008/03/29(土) 14:38:30これからも宜しくお願いしますm(_._)m
通りすがりです
0297デフォルトの名無しさん
2008/03/29(土) 14:55:22そういう教育をしてこなかった世代にも誤りがあります
0298デフォルトの名無しさん
2008/03/29(土) 15:05:13礼儀の問題か。
説明能力の問題だろう。
まあ君の場合は理解力の問題でもある。
0299デフォルトの名無しさん
2008/03/29(土) 15:08:511から1000まで書かないと理解して貰えませんでしたか、とても残念です。
0300デフォルトの名無しさん
2008/03/29(土) 15:18:210301デフォルトの名無しさん
2008/03/29(土) 15:49:20きっと彼の想像するお望みの機能はあっさり実装できると思われますが。
0302デフォルトの名無しさん
2008/03/29(土) 16:09:21using System;
class aaa
{
public static void Main()
{
int a = int.Parse(Console.ReadLine());
int[] b= new int [a];
for(int c=0;c<=a;++c)
{
a[c] = int.Parse(Console.ReadLine());
}
}
}
0303デフォルトの名無しさん
2008/03/29(土) 16:12:040304デフォルトの名無しさん
2008/03/29(土) 16:24:420305デフォルトの名無しさん
2008/03/29(土) 16:26:39あと直す箇所はどうやってなおしたらいいかおしえてください
0306デフォルトの名無しさん
2008/03/29(土) 16:28:39では、ここに来る前に入門書を購入してしばらくやってください。
ちょっと迷惑にもほどがありますね。
0307デフォルトの名無しさん
2008/03/29(土) 16:29:03c=<aはおかしいがc<=aは正しい
aは配列じゃない云々言われたはずだが、どうして分からないとか言えるんだ?
0308デフォルトの名無しさん
2008/03/29(土) 16:31:130309デフォルトの名無しさん
2008/03/29(土) 16:32:320310デフォルトの名無しさん
2008/03/29(土) 16:34:540311デフォルトの名無しさん
2008/03/29(土) 17:18:12やっぱり透過をやめたい場合はどうすればいいんでしょうか??
0312デフォルトの名無しさん
2008/03/29(土) 17:56:25OS起動後に実行すれば問題なく実行できます。
環境は
OS:WindowsXPSP2
IDE:Visualstudio2005pro
.netframework2
です。
0313デフォルトの名無しさん
2008/03/29(土) 18:05:51当方まったく同じ環境ですが、問題なく起動しています。
別に原因があるんじゃないですかね?
0314デフォルトの名無しさん
2008/03/29(土) 18:07:400315デフォルトの名無しさん
2008/03/29(土) 18:12:23Color.Empty でも指定すれば良いんじゃね
0316デフォルトの名無しさん
2008/03/29(土) 18:33:44今までデータ管理は自分でやっていたから気にしてなかったのですがさっき自分が使いやすいように
固めて扱ってみたらわりと便利そうな感じです。これから設定などはこれを利用してみようと思います。
0317デフォルトの名無しさん
2008/03/29(土) 18:35:25これからやるなら、せっかくだからLINQ攻めてみたらどうだい?
0318デフォルトの名無しさん
2008/03/29(土) 18:42:43Visual Studio 2005のヘルプのようなヘルプを作りたいのですがどうすればいいのでしょう?
0319デフォルトの名無しさん
2008/03/29(土) 19:02:1230*30に設定してもならないですし、
フォームにラベル貼ってAutoSizeで大きく表示したあと、そのラベルを30*30くらいまで下げると縦長のウィンドウになっちゃうし…。
0320デフォルトの名無しさん
2008/03/29(土) 19:11:13sqlとの付き合いも長いからある程度は使えると思うのですがまだ利用のイメージが
わかないのです。あると便利なのはわかるのですがそれを有効に使うには結局、
メモリ以上に大量のデーターベースをおいて置かないといけないって事ですよね?。
0321デフォルトの名無しさん
2008/03/29(土) 19:25:40SystemInformation.MinimizedWindowSize
SystemInformation.MinWindowTrackSize
この辺じゃね?
0322デフォルトの名無しさん
2008/03/29(土) 20:01:01そんな激しいもんじゃないよ、テーブルの定義がclassのフィールドもしくはプロパティーになって
その配列(シーケンスとよばれている)がテーブル
それに対してクエリを発行しましょうという物。
その テーブルの定義 == class に Sql やら XML やら、自作DBを関連付けて統一的に取り扱えるようにしましょうという物。
0323デフォルトの名無しさん
2008/03/29(土) 20:01:18てことは30*30とかには変更できないって事ですね。
でもラベルのAutoSizeに合わせるとバグるのはなんでなんだろ
0324デフォルトの名無しさん
2008/03/29(土) 22:24:58NDocは更新が止まっていた気がするので今だとSandcastle?
0325デフォルトの名無しさん
2008/03/29(土) 22:38:15どこかで見かけたなと思って、スタートメニューの中をのぞいていたら HTML Help Workshop というのがあって
ためしにチョコチョコっと作ったらできた。
初代VS,2002,2003,2005,2008のどれかについてきたものだと思う、調べてみるといいかも。
0326デフォルトの名無しさん
2008/03/29(土) 22:52:170327デフォルトの名無しさん
2008/03/29(土) 22:57:05誰か、暇だったら教えて下さい><
0328デフォルトの名無しさん
2008/03/29(土) 22:58:04プロパティー読み出して適当な変数に保存しておればいいかと。
Checkedという名前だった・・・はず
0329デフォルトの名無しさん
2008/03/29(土) 23:11:32ありがとうございます。明日起きたらやってみますzzz
0330デフォルトの名無しさん
2008/03/29(土) 23:12:050331デフォルトの名無しさん
2008/03/29(土) 23:38:32自分でリフレクション使ってやらないといけない?
0332デフォルトの名無しさん
2008/03/29(土) 23:45:33フィールドならIFormatterだが直接TextWriterは無理か
0333デフォルトの名無しさん
2008/03/29(土) 23:47:46シリアライザを使ったらいいと思うよ。
0334331
2008/03/29(土) 23:49:48イミディエイトウインドウなんかだと自動でやってくれるので,
もしかしたら標準的な方法が用意されてるのかなと
0335デフォルトの名無しさん
2008/03/29(土) 23:54:09ttp://www.codeplex.com/DotnetCommons/Wiki/View.aspx
commonsと比べると微妙だった気がするが・・・
0336デフォルトの名無しさん
2008/03/29(土) 23:55:08最近見かけておやっ、あとで調べとかなきゃとか思っていたんだが2008専用かもしれん。
今、手元にないので駄目だが、ツールボックスか、プロジェクトの追加の所を調べてみるといい、たしか有ったぞ。
0337デフォルトの名無しさん
2008/03/30(日) 09:05:33Visualizer(デバッガ ビジュアライザ)の事?
あれはTextWriterに書き出すのとは用途が違うからなぁ・・
0338デフォルトの名無しさん
2008/03/30(日) 10:21:330339デフォルトの名無しさん
2008/03/30(日) 10:24:200340デフォルトの名無しさん
2008/03/30(日) 10:28:430341デフォルトの名無しさん
2008/03/30(日) 10:38:090342デフォルトの名無しさん
2008/03/30(日) 12:36:40単に
public int Member1;
とするのと、get setを使用する
public int Member1()
{
get{return _member1;}
set{_member1 = value;}
}
とするのとは同じものと考えていいのでしょうか?
0343デフォルトの名無しさん
2008/03/30(日) 12:37:46前者はフィールドで後者はプロパティです。
0344デフォルトの名無しさん
2008/03/30(日) 13:06:520345デフォルトの名無しさん
2008/03/30(日) 13:21:59本格的に使ってみればわかる、全くの別物。
0346デフォルトの名無しさん
2008/03/30(日) 15:43:060347デフォルトの名無しさん
2008/03/30(日) 16:01:42例えば DataGridView とかプロパティーのみを表示するクラスとか色々あるだろ
デザイナ上でのユーザーコントロールもそうだし
そういった所まで使い始めるとどちらで設計するかが使い勝手の良さを決定的に変える。
0348デフォルトの名無しさん
2008/03/30(日) 16:02:45例外を投げるとは具体的にどのように?
0349デフォルトの名無しさん
2008/03/30(日) 16:04:04346では無いが、そのぐらいは自分で考えてみたらどうだい?
0350デフォルトの名無しさん
2008/03/30(日) 16:10:36c1.exceptionMessage = "";
if (c1.exceptionMessage != string.IsNullOrEmpty)
{
MessageBox.Show(c1.exceptionMessage);
c1.exceptionMessge = "";
}
0351デフォルトの名無しさん
2008/03/30(日) 16:18:06C++上のメタプログラミングみたいだな、けど・・・でき悪い、キモイよ
使用したいなら更なる改善を要求する
0352デフォルトの名無しさん
2008/03/30(日) 17:35:21良いのでしょうか?
0353デフォルトの名無しさん
2008/03/30(日) 17:47:390354デフォルトの名無しさん
2008/03/30(日) 17:50:29そうするとデータの最後に何らかの〆データを付加するしかないのですね
0355デフォルトの名無しさん
2008/03/30(日) 17:58:46getで例外投げるのはガイドライン違反
0356デフォルトの名無しさん
2008/03/30(日) 18:06:210357デフォルトの名無しさん
2008/03/30(日) 18:11:57javaでいうところのチェック済み例外みたいなのをgetが投げちゃダメって意味だと思う
0358デフォルトの名無しさん
2008/03/30(日) 18:50:09{
private Dictionary<Int32, String> titles;
}
こんなクラスで
Anime ccs = new Anime();
ccs.Title[0] = "さくらと不思議な本"
Console.WiteLine(ccs.Title[0]);
みたいに使えるプロパティを作るにはどうすればいいですか?
上記以外のコレクションへの直接操作は出来ない感じで。
0359デフォルトの名無しさん
2008/03/30(日) 18:53:15>>341
0360デフォルトの名無しさん
2008/03/30(日) 18:58:46まずC#に ref classはないだろ
class Anime
[
private Dictionary<int,string> titles;
public Dictionary<int,string> Titles{ get{ return titles; } }
}
これで出来る
0361デフォルトの名無しさん
2008/03/30(日) 18:59:01public Dictionary<int, string> Titles { get{ return this.titles; } }
0362デフォルトの名無しさん
2008/03/30(日) 19:03:48インデクサを通さないと他の操作やりたい放題だよ
public string this[int index] {
get { return titles[index]; }
set { if(titles.ContainsKey(index))titles[index]=value;else titles.Add(index,value); }
}
0363デフォルトの名無しさん
2008/03/30(日) 19:05:50C#は名前つきインデクサ作れないから、プロキシオブジェクトを返さないと無理だ
0364デフォルトの名無しさん
2008/03/30(日) 19:08:21インデクサ自体の実装は>>362みたいな感じで
0365デフォルトの名無しさん
2008/03/30(日) 19:11:050366デフォルトの名無しさん
2008/03/30(日) 19:50:510367デフォルトの名無しさん
2008/03/30(日) 19:56:420368デフォルトの名無しさん
2008/03/30(日) 20:18:48class Anime
{
Dictionary<string,int> titles;
TitlesIndexer indexer;
public Anime()
{
titles = new Dictionary<string,int>();
indexer = new TitlesIndexer(titles);
}
public TitlesIndexer Titles{ get{ return indexer; } }
public class TitlesIndexer
{
Dictionary<int,string> titles;
public TitlesIndexer(Dictionary<int,string> titles)
{
this.titles = titles;
}
public string this[int index]{ get{ return titles[index]} } }
}
}
0369デフォルトの名無しさん
2008/03/30(日) 20:21:36以前からある System.Collections.ArrayList.ReadOnly や System.Collections.ArrayList.Synchronized
に対応する
ジェネリックス版は無いのでしょうか?
見つからなくてとりあえず自作してしまっているので、あれば交換しておきたい所。
0370デフォルトの名無しさん
2008/03/30(日) 20:22:31そんな最低な仕様は嫌だろ、Linqも何も使えなくなっちまう。
0371デフォルトの名無しさん
2008/03/30(日) 20:24:49ないよ。なくなっちゃった。
0372デフォルトの名無しさん
2008/03/30(日) 20:30:530373デフォルトの名無しさん
2008/03/30(日) 20:38:24ども、Asが付いたのか
なんとも実装が中途半端だな、問題が見つかったのだろうか?
0374デフォルトの名無しさん
2008/03/30(日) 20:38:54Synchronizedは・・・まぁ手抜きサービスとしてはあまりに
お粗末すぎるから廃止されたんじゃねーの?
0375デフォルトの名無しさん
2008/03/30(日) 20:41:39敢えてタイトルの中身には突っ込まないでおこう。
0376デフォルトの名無しさん
2008/03/30(日) 20:59:46キーワード検索で「socket」って入れるとSystem.Net.Sockets.SocketExceptionしか出てこない
こんなものでしょうか?、それとも使い方を間違えているのでしょうか?
TcpClient tcp = listener.AcceptTcpClient();
このtcpからリモートのIPを調べる方法を知りたいのです
0377デフォルトの名無しさん
2008/03/30(日) 21:19:570378デフォルトの名無しさん
2008/03/30(日) 21:27:27TCPは知らないけど、
どのMSDNライブラリを入れたのか?
フィルタが設定されていないか?
これ入れた?
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=6ff3bc60-32c8-4c22-8591-a20bf8dff1a2&DisplayLang=ja
0379デフォルトの名無しさん
2008/03/30(日) 21:49:59問題が分ってきた
使いにくい理由は、SyncRootをコンテナが持っているからで
外部から渡せば十分使い物になりそうな感じがするんだけどな。
0380デフォルトの名無しさん
2008/03/30(日) 22:36:06VS2008ExpressJPNX1428694ってDVDでVCSやVCとかも入った物から入れました。
>>378のサイズを考えると上記のDVDには一部しか入っていないようですです。
ありがとうございます。
しかし2464.6 MBはADSLには辛い・・・。
0381デフォルトの名無しさん
2008/03/30(日) 23:32:42IList<>とIDictionary<>のインデクサの汎用ラッパー作ってみた
public static class Indexer {
public static DictionaryIndexer<TKey, TValue> GetIndexer<TKey, TValue>(this IDictionary<TKey, TValue> dict) { return new DictionaryIndexer<TKey, TValue>(dict); }
public static ListIndexer<T> GetIndexer<T>(this IList<T> list) { return new ListIndexer<T>(list); }
}
public sealed class DictionaryIndexer<TKey, TValue> {
private IDictionary<TKey, TValue> dict;
internal DictionaryIndexer(IDictionary<TKey, TValue> dict) { this.dict = dict; }
public TValue this[TKey key] { get { return dict[key]; } set { dict[key] = value; } }
}
public sealed class ListIndexer<T> {
private IList<T> list;
internal ListIndexer(IList<T> list) { this.list = list; }
public T this[int index] { get { return list[index]; } set { list[index] = value; } }
}
0382デフォルトの名無しさん
2008/03/30(日) 23:40:27(値段、初心者向け問わず、なるべく内容の濃いもの)
0383デフォルトの名無しさん
2008/03/31(月) 15:40:49http://www2s.biglobe.ne.jp/~sahmaro/RenameEx.htm
のような処理を行いたいのですがどうすればよいのでしょうか?
ヒントでも構いませんのでご教授いただければ幸いです。
0384デフォルトの名無しさん
2008/03/31(月) 15:49:26シェル拡張したいってことかな?
↓こんな話が。
http://blogs.wankuma.com/shannon/archive/2007/01/06/54837.aspx
0385デフォルトの名無しさん
2008/03/31(月) 16:34:10シェル拡張ではない気がします......
キーボードフックでF2キーを監視しているのでしょうか?
0386デフォルトの名無しさん
2008/03/31(月) 16:40:490387デフォルトの名無しさん
2008/03/31(月) 17:12:17ちなみに配列は一次配列で内容はint型の整数です。
0388デフォルトの名無しさん
2008/03/31(月) 17:20:23var total = arr.Sum();
.NET 3.0かそれ以前なら普通にループ。
0389デフォルトの名無しさん
2008/03/31(月) 18:20:39見るからにシェル拡張に見えるよ
0390デフォルトの名無しさん
2008/03/31(月) 19:13:52new[]だろ?
0391デフォルトの名無しさん
2008/03/31(月) 20:45:58MFCに依存しないWin32 DLLです
0392デフォルトの名無しさん
2008/03/31(月) 20:49:51あとはCOMになっているやつもいける。
0393デフォルトの名無しさん
2008/03/31(月) 20:52:06どうもありがとうございます。
シェル拡張部分をCやC++で書いて処理部分をC#で書く、と言う形になるのでしょうか?
0394デフォルトの名無しさん
2008/03/31(月) 20:53:57てことは、クラスとかは無理ってことでしょうか
0395デフォルトの名無しさん
2008/03/31(月) 20:58:540396デフォルトの名無しさん
2008/03/31(月) 21:07:27自分で明示的にクリアしなければならないですか?
たとえば、プロパティ用の一時変数とかも含めて。
public List<int> hoge;
private string _piyo;
private int _fuga;
↑がある場合は、↓みたいに全てクリアが必要なのでしょうか?
hoge = null;
_piyo = null;
_huga = 0;
0397デフォルトの名無しさん
2008/03/31(月) 21:26:140398デフォルトの名無しさん
2008/03/31(月) 21:37:07使い終わったら実行してほしい普通のメソッドを実装するだけ
0399デフォルトの名無しさん
2008/03/31(月) 21:39:58そいつは呼んでおけ。
0401デフォルトの名無しさん
2008/03/31(月) 22:08:03というか要するに複数バージョンのCLRが同一プロセスで動けないのが
問題なわけさ。エクスプローラは単一プロセスにシェル拡張読み込む
ので別バージョンのCLR使うシェル拡張読み込んだ瞬間クラッシュしちまう
それが解決出来るのならなんでもいい。といってもC++ネイチブ使ってアウト
プロセスにしちまうくらいしか思い付かないがまあ確かに出来そう。
0402デフォルトの名無しさん
2008/03/31(月) 22:37:24量が多すぎてC# .Net Frameworkがわかった気がしない・・・。
しかも、なにかやりたいことがあって、それが可能か不可能か
を調べるのに、MSDNに記載されている箇所を正しく見つける
ことができずに、ぐぐって見つけたどこかの海外のフォーラム
とかブログの記事なんかで推測する始末・・・。
0403デフォルトの名無しさん
2008/04/01(火) 00:03:34量が少なく過ぎよりははるかにマシだから。
0404デフォルトの名無しさん
2008/04/01(火) 00:07:430405デフォルトの名無しさん
2008/04/01(火) 00:10:250406デフォルトの名無しさん
2008/04/01(火) 00:12:41WPFの適当なドキュメントを見てみろ
今までなんだかんだいって頼りにしてたんだなと痛感する
0407デフォルトの名無しさん
2008/04/01(火) 00:13:400408デフォルトの名無しさん
2008/04/01(火) 00:14:10ならないほうがいいじゃん
0409デフォルトの名無しさん
2008/04/01(火) 00:19:460410デフォルトの名無しさん
2008/04/01(火) 00:21:520411デフォルトの名無しさん
2008/04/01(火) 00:25:28あれだけで引く気がうせる。
0412デフォルトの名無しさん
2008/04/01(火) 00:31:23ネット上の MSDN は最悪だな。
0413デフォルトの名無しさん
2008/04/01(火) 00:33:37だれか助けて><
0414デフォルトの名無しさん
2008/04/01(火) 00:43:38ローカルでもSystem.Windows.Forms名前空間みたいに
でかいページを表示しようとするときと移動するときは重い
0415デフォルトの名無しさん
2008/04/01(火) 00:49:440416デフォルトの名無しさん
2008/04/01(火) 09:05:420417デフォルトの名無しさん
2008/04/01(火) 09:34:040418デフォルトの名無しさん
2008/04/01(火) 09:50:39これをlistview内であれば発生するようにしたい場合はどうしたら良いでしょうか?
0419418
2008/04/01(火) 09:54:130420デフォルトの名無しさん
2008/04/01(火) 16:34:24プライマリーキーらしい情報が見つからないのですがこれは先頭にあるカラムが自動的に
プライマリーとして扱われるという認識で合っていますか?
0421デフォルトの名無しさん
2008/04/01(火) 16:58:56プライマリキーの情報を書き込みたいなら XmlWriteMode.WriteSchema が必要。
0422デフォルトの名無しさん
2008/04/01(火) 17:01:030423デフォルトの名無しさん
2008/04/01(火) 19:28:25同感、なんだかんだいってもMS頑張ってるよ、もっともっと頑張って欲しいが
WPFにしてもLINQにしても、めちゃめちゃ使えるのに、リバースエンジェニアリング的なことまでやらないと理解できないのはあまりに寂しい。
>>393
マネージドコードが使えるシェル拡張が強く欲しいよな
しかし、現状では素直にComで作っとけ。
0424デフォルトの名無しさん
2008/04/01(火) 20:53:24たぶんこんな感じにずれてます。
index 値
1 AAA
2 BBB
3 CCC
2番を消すと
1 AAA
2 CCC
0425デフォルトの名無しさん
2008/04/01(火) 21:25:35何をしたいのか具体的に書いてくれないと、書きようがない。
ヒントとしてはItemsに設定できるのはObjectで、
SelectedItem系でそのObjectが取得できるってこと。
0426デフォルトの名無しさん
2008/04/01(火) 21:56:48ありがとうございました。
0427デフォルトの名無しさん
2008/04/01(火) 22:16:12自己定義のクラスのオブジェクトを渡すと、クラス名が表示されてしまいます。
表示名を設定する方法を教えて下さい。
0428デフォルトの名無しさん
2008/04/01(火) 22:18:180429デフォルトの名無しさん
2008/04/01(火) 22:31:13小泉 「2です」
菅直人「ですから、1+1なんですよ。質問に答えてください」
小泉 「2ですね」
菅直人「全く質問に答えていない。国民が聞きたいのは1+1なんですよ!」
小泉 「どうあっても2です」
菅直人「全く説明になっていません」
小泉 「誰が何と言おうと2です」
菅直人「うまく逃げましたね。あなたはいつもそうだ」
小泉 「……?」
菅直人「あまり国民をなめないで頂きたい!」
小泉 「ですからねぇ・・・原則として、1+1は2、
これは揺らがない、私はずっとそうお答えしています」
菅直人「いいでしょう、最後に私は、小泉総理は1+1について
国民をあざむいたと、そう申し上げて答弁を終了します」
0430デフォルトの名無しさん
2008/04/01(火) 22:35:430431デフォルトの名無しさん
2008/04/01(火) 22:53:45order.Field<DateTime>("update")でフィールドとDateTimeとしてソートしてくれる
のではないのでしょうか?。updateにはDateTime.Now.toString();が入っています。
EnumerableRowCollection<DataRow> query = from order in table.AsEnumerable()
orderby order.Field<DateTime>("update")
select order;
>>421
ありがとうございます。
0432デフォルトの名無しさん
2008/04/01(火) 23:23:16だとすれば、こうだろ
order.Field<string>("update")
0433431
2008/04/01(火) 23:32:17カラムの設定を指定したらいけそうです。
0434デフォルトの名無しさん
2008/04/02(水) 03:07:56グーグルで検索してみると、暗記しろと書いてあるところもあれば
必要最低限のところだけ覚えればいいと書いてあるところもあり
どうしたものかと右往左往しています
もし仮にこの本を丸暗記したとして次のステップアップはどのようにすればいいのでしょうか?
0435デフォルトの名無しさん
2008/04/02(水) 03:42:13とは言えると思うけど、余程暇で無い限り丸暗記する必要はない。
(こんな機能があるってだけ覚えておけば、必要な時に思い出したり調べることが出来る)
次のステップは・・何を作りたいかによって全然違うから何とも言えない。
0437デフォルトの名無しさん
2008/04/02(水) 10:47:50けど大事なところは思い出せないんだけどね。
0438デフォルトの名無しさん
2008/04/02(水) 11:22:19キャンセル→Cancel
みたいな
FormのLanguageを英語にしてみたけど日本語のままだったorz
0439デフォルトの名無しさん
2008/04/02(水) 11:29:16CurrentUICultureを英語にしてみるとか。
0440デフォルトの名無しさん
2008/04/02(水) 11:37:46DragEnterを書き換えないと無理だとハードルが高すぎるのですが・・・
0441デフォルトの名無しさん
2008/04/02(水) 12:15:48ファイルパスが含まれてるならキャッシュから持ってこれるかもしれない。
DeviceIndependentBitmapとか持ってたらそれから作れるな。面倒だけど。
DragEnterの書きかえって何?
0442デフォルトの名無しさん
2008/04/02(水) 12:31:43っていうか今時のプログラミング関係の本の読み方は基本は「乱読」だと思うよ。
一冊の本を熟読なんていう受験勉強スタイルは時間のムダだと思う。
これ一冊読んでおけばOK、なんて網羅的は本はないし、
書くほうも恐らく精読されることを想定して書いてない。
あと個人的意見として、「猫でも〜」の著者の本はウンコだと思う。
0443デフォルトの名無しさん
2008/04/02(水) 12:33:43それがブラウザ上の画像からD&DをしようとするとDragEnterイベントが起きないのです。
こういう場合はDragEnterをオーバーライド?とかしないといけないのでしょう?。
0444デフォルトの名無しさん
2008/04/02(水) 12:45:08ドラッグできないものならドロップ先でなにしようがD&Dできない。
ドラッグできるものならドラッグ元が制限かけない限りDragEnterは発生する。
何をドラッグさせるかはドラッグ元次第。
まずドラッグできてるのかってところから確認。
0445デフォルトの名無しさん
2008/04/02(水) 14:40:190446デフォルトの名無しさん
2008/04/02(水) 15:16:00あるサーバーのHTTPヘッダーが
本来CRLFでなければならない部分がLFLFになっているらしく、
アクセスすると「サーバーによってプロトコル違反が発生しました. Section=ResponseStatusLine」
というエラーが出て落ちてしまいます
これを回避するにはどうしたらいいでしょうか?
よろしくお願い致します。
0447デフォルトの名無しさん
2008/04/02(水) 15:34:30面倒なんだけど何とかならない?
0448デフォルトの名無しさん
2008/04/02(水) 15:45:04HttpWebRequest使うのを諦めてSocket or TcpClient使う
0449デフォルトの名無しさん
2008/04/02(水) 15:47:10ありがとうございます。
TcpClientは使ったことないですがやってみます
0450デフォルトの名無しさん
2008/04/02(水) 15:59:48UseUnsafeHeaderParsing
でどうにかならんかな?
0451デフォルトの名無しさん
2008/04/02(水) 18:04:44ありがとうございます
System.Configuration.dllをアセンブリ参照に追加して、
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
SettingsSection section = (SettingsSection)config.GetSection("system.net/settings");
section.HttpWebRequest.UseUnsafeHeaderParsing = true;
で行けました。
0452デフォルトの名無しさん
2008/04/02(水) 19:09:262.0対応にしようと思って、プロジェクトのプロパティのアプリケーションタブの対象フレームワークを2.0にして
3.5及び3.0をアンインストールしてからソリューションを開いてみたら、
version3.5のmicrosoft.build.engineがありません、と言われて起動出来ませんでした。
なにかアドバイスもらえませんか?
0453デフォルトの名無しさん
2008/04/02(水) 19:14:062008に必要なランタイム削れば、そら動かんのは当たり前だろ。
2008のIDEだけ欲しかったとか? あてが外れたね。
0454デフォルトの名無しさん
2008/04/02(水) 19:23:060455デフォルトの名無しさん
2008/04/02(水) 19:48:58最悪、Win32 APIのMessageBoxExか自前でやるか。
0456デフォルトの名無しさん
2008/04/02(水) 19:49:030457デフォルトの名無しさん
2008/04/02(水) 20:14:38これだと画像を引っ張った時に e.Effect = DragDropEffects.None;の状態になるので
イベントが起きていないと勘違いしていました。すいません。
でも、e.Data.GetDataPresent("UniformResourceLocator")にマッチするのに何故でしょう?。
イベントが二回起きているからなのかな?。
private void treeView_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent("UniformResourceLocator") || e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effect = DragDropEffects.Link;
}
else if (e.Data.GetDataPresent(typeof(ListViewItem)))
{
e.Effect = DragDropEffects.None;
}
else
{
e.Effect = DragDropEffects.None;
}
}
0458457
2008/04/02(水) 20:18:32画像の場合、DragDropEffects.Linkだとだめなのですね。
e.Effect = DragDropEffects.Copy;にしたら上手く行きました。
0459デフォルトの名無しさん
2008/04/02(水) 21:09:56MessageBox は現在の MUI (または言語バージョン) に合わせて表示するので、変更はできないし、
できるだけそういう処理をすべきではない。
いっそのこと日本語を含む多言語対応 (Localizable = true) にしてしまうのが良いのでは?
0460457
2008/04/02(水) 21:13:12デスクトップからファイルをドロップ → ×
ブラウザから画像ファイルのドロップ → ×
ブラウザからハイパーリンクリンクをドロップ → ○
おまけに他の.netアプリでもD&Dできなくなったしorz
再起動してくるよ・・・
private void treeView_menu_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent("UniformResourceLocator") || e.Data.GetDataPresent(DataFormats.FileDrop))
{
if (e.Data.GetDataPresent("DeviceIndependentBitmap"))
{
e.Effect = DragDropEffects.Copy;
}
else
{
e.Effect = DragDropEffects.Link;
}
}
else
{
e.Effect = DragDropEffects.None;
}
}
0461457
2008/04/02(水) 21:16:55何のこっちゃ
0462デフォルトの名無しさん
2008/04/02(水) 22:07:47え?
UIスレッドのCurrentUICultureをいじれば普通にできなかったっけ?
0463デフォルトの名無しさん
2008/04/02(水) 23:52:50459 じゃないが、試してみた、駄目っぽいな。
0464459
2008/04/02(水) 23:57:35Windows Forms の MessageBox.Show は実質 MessageBox 関数 (API) の
リダイレクトだから、CurrentUICulture が効かないんだな。
独自にダイアログを作れば Thread.CurrentUICulture でいいと思うけど。
0465デフォルトの名無しさん
2008/04/03(木) 00:04:140466デフォルトの名無しさん
2008/04/03(木) 00:05:15こんなん見つけてきた、国際対応の仕方だけど結構便利そうだな。
さすが世界中のソフトを売りさばいている会社だけの事はあるw
0467デフォルトの名無しさん
2008/04/03(木) 00:11:31これをツールボックスからGUIでFormに
配置するのって無理?
0468デフォルトの名無しさん
2008/04/03(木) 00:14:350469デフォルトの名無しさん
2008/04/03(木) 00:14:390470デフォルトの名無しさん
2008/04/03(木) 00:23:010471デフォルトの名無しさん
2008/04/03(木) 00:24:210472デフォルトの名無しさん
2008/04/03(木) 00:24:49そのコントロールが入っているアセンブリに参照設定すればOK
0473デフォルトの名無しさん
2008/04/03(木) 00:29:52スレタイ嫁
0474デフォルトの名無しさん
2008/04/03(木) 00:32:13知らないんじゃなくてわざとだ
0475デフォルトの名無しさん
2008/04/03(木) 00:36:550476デフォルトの名無しさん
2008/04/03(木) 00:41:42なるほど
DLL化しておくのが一番いいんですかね
0477467
2008/04/03(木) 00:45:14できんと思ってた。やってみるわ。
0478デフォルトの名無しさん
2008/04/03(木) 00:53:30おれもMSDNでキーワード拾って
最後はググってる・・・。
MSDNがいまいち分からん。
MSDN使い方マニュアルがほしい・・・
0479デフォルトの名無しさん
2008/04/03(木) 01:05:29ガシガシ検索が正しい使い方だと思ってる
0480デフォルトの名無しさん
2008/04/03(木) 22:06:02Visual C# 2008 Express Edition
で十分ですかね?有償版にしかない機能とかはなんなんでしょうか?
0481デフォルトの名無しさん
2008/04/03(木) 22:12:00デバッガがちょっとだけ弱いけど工夫次第でどうにでもなる
0482デフォルトの名無しさん
2008/04/03(木) 22:13:210483デフォルトの名無しさん
2008/04/03(木) 22:13:59なる。デバッガとかですか。トンクス。
たしかVisualC++だとMFCとか使えなかった気がしたんで心配しまちた。
0484デフォルトの名無しさん
2008/04/03(木) 22:14:100485デフォルトの名無しさん
2008/04/03(木) 22:16:51XNAってあのXBOX360上でも動くランタイムみたいなやつっすかー。
PCゲームオンリーでXNA使うメリットってなんかありますかね?
とりあえずDirectXさえ動いてくれればいいかなーとか思ってたんすが・ω・;
0486デフォルトの名無しさん
2008/04/03(木) 22:26:16調べる方法はありますか? 試しにCreateDelegateしてみるしかないのでしょうか
0487デフォルトの名無しさん
2008/04/03(木) 22:29:07目立った所で、MSIインストーラーがないので、公開するのが面倒くさいかもしれない
ClickOnce の使えるレンタルサーバは限られている。
フリーのインストーラを使えば問題ない。
XAMLでゲームを作るなら、ちょっと不足があるかもしれない。
VSSでバージョン管理したいなら、使えないので注意が必要。
フリーソフト類と組み合わせて開発するつもりなら「マクロ、アドイン、パッケージは使用不可」に注意。
0488デフォルトの名無しさん
2008/04/03(木) 22:33:44なるほどーすごい参考になりました。ありがとうございます(__)
たしかにmsiがないのは公開するときダリーですね。
0489デフォルトの名無しさん
2008/04/03(木) 22:51:15これ↓
http://www.amazon.co.jp/gp/product/images/4891003529/
0490デフォルトの名無しさん
2008/04/03(木) 22:52:090491デフォルトの名無しさん
2008/04/03(木) 23:00:04いまさらだけど、こういう宣言って悠長じゃね?
var control = new System.Windows.Forms.Control();
オブジェクトの型はオブジェクト自身が知ってるからこれでいいんじゃね?
0492デフォルトの名無しさん
2008/04/03(木) 23:01:040493デフォルトの名無しさん
2008/04/03(木) 23:04:030494デフォルトの名無しさん
2008/04/03(木) 23:07:100495デフォルトの名無しさん
2008/04/03(木) 23:08:40メリット以前にC#でDirectX直触りするんならレガシーのぞいてオフィシャルは
XNAしか茄子。
本当に直触りも出来るけど素人お断り&とても大変&あれ以上の完成度
難しい。…まあXnaがかなりよく考えて作られてるってことだが
0496デフォルトの名無しさん
2008/04/03(木) 23:12:242.0からEE縛り消えた。C#のみサポート縛りは確かあり
0497デフォルトの名無しさん
2008/04/03(木) 23:13:55なるる。なんかWikiみるとXNAにはフレームワークも用意されてるっぽいし、
サンプルが充実してそうでつね。ぱっとみ気になるのは
「日本語の表示が非常に難しい」
「ジョイパッドはXBOX360コントローラーだけ」
ってところかな?wまぁ実際触ってみます。
0498デフォルトの名無しさん
2008/04/03(木) 23:29:15SpriteFont出来たから日本語の表示は楽になった。ビルドに時間かかるぐらい。
というか文字表示はDirectX使うならどっちにしろ大変。SpriteFontは
かなりいい落とし所。
DInputはMarshalingに慣れてる人なら直で触ってもサクッと書けてしまう
ぐらいのコード量かと。全機能綺麗にと言われたらちょっと大変かもだが
0499デフォルトの名無しさん
2008/04/03(木) 23:58:33XMLにButton1を押した時にはC:\XXX\AAA.dllのBBB.bbbクラスのcccってメソッドを呼ぶ
ってな感じで記入して、記入した内容を元にプログラムを実行したいです。。
XMLを書き換えればソースを書き換えなくても動くようにしたいんです。
まだまだC#はかじったばかりですが、どのあたりを勉強すればいいですか?
検索のキーワードとか、ヘルプで見るネームスペースとかだけでもいいから教えてください。
0500デフォルトの名無しさん
2008/04/04(金) 00:17:34なるほー。情報マジどもです(__)
XNAさわりまくってみまつ。
0501デフォルトの名無しさん
2008/04/04(金) 01:03:57使い終わった後でDisposeしようとしたら下記の例外が発生しました。
System.ArgumentException はユーザー コードによってハンドルされませんでした。
Message="アクセス許可が有効でないため、Brush を変更できません。"
Source="System.Drawing"
SystemBrushesから取得したブラシはDisposeしてはいけないのでしょうか。# パフォーマンス上の理由?
それとも何か重大な勘違いをしているのでしょうか。
0502デフォルトの名無しさん
2008/04/04(金) 09:16:29自分で作ってないものは破棄しちゃ駄目、というのが原則。
0503デフォルトの名無しさん
2008/04/04(金) 10:24:02なるほど次から気をつけます。
0504デフォルトの名無しさん
2008/04/04(金) 10:28:01WPF(XAML)なら標準でできる
WinFormsならリフレクションを駆使して自力で頑張る
0505デフォルトの名無しさん
2008/04/04(金) 10:58:23まあプロパティで取得するオブジェクトだから、中の人がCloneを返すようにしていたならば当然Disposeして
問題ないのだが(むしろしないとまずい)、おそらく中の人はそのまんま参照を返しているみたいなので
その例外が出たんだろうね。
要するに他にもいろんなところで使われているオブジェクトの参照なので勝手にDisposeしてはいけないということかな。
仮にそのオブジェクトを変更したりする必要が出てくるような場合はCloneを受け取ればよい。
using (var sb = SystemBrushes.Highlight.Clone() as SolidBrush)
{
Hoge();
}
これなら例外発生しない。
0506デフォルトの名無しさん
2008/04/04(金) 11:25:44あーなるほど、中ではそういう事になってるんですね
ありがとうございます。とても参考になりました
0507デフォルトの名無しさん
2008/04/04(金) 13:17:50超初心者で、まずハロワのプログラム書いたんだけど、SDKでコンパルして
.exeのやつ作って実行しても何か黒い画面が一瞬表示されるだけで何書いてるかも
読めない。これって俺の書いたのが悪いのか?メッセージループ?か何か使ってないから?
0508デフォルトの名無しさん
2008/04/04(金) 13:20:34コマンドプロンプトから実行
0510デフォルトの名無しさん
2008/04/04(金) 17:07:42C#でスクリーンセーバーを一時無効化する事って出来るんでしょうか?
マウスポインタを強制的に動かす方法くらいしか思いつきません。
又その場合、実際のマウス操作と認識して無操作時間がリセットされるのでしょうか?
どなたかお力をお貸し下さい。お願いします
0511デフォルトの名無しさん
2008/04/04(金) 17:48:04というように文字列を表示しようとすると
「静的でないフィールド、メソッド、・・・でオブジェクト参照が必要です」
とエラーになってしまうのですが、どのようにすればいいですか?
0512デフォルトの名無しさん
2008/04/04(金) 18:03:380513デフォルトの名無しさん
2008/04/04(金) 18:29:400514デフォルトの名無しさん
2008/04/04(金) 19:14:110515デフォルトの名無しさん
2008/04/04(金) 20:20:470516デフォルトの名無しさん
2008/04/04(金) 20:27:340517デフォルトの名無しさん
2008/04/04(金) 20:44:160518デフォルトの名無しさん
2008/04/04(金) 20:54:260519デフォルトの名無しさん
2008/04/04(金) 23:48:42VB.NETで
Dim FileName As String = "C:\WINDOWS\system32\xvid.ax"
If IO.Path.GetExtension(FileName).ToLower <> ".dll" Then
Console.WriteLine("DLLじゃないよ")
End If
は出来るのにC#で
string FileName = @"C:\WINDOWS\system32\xvid.ax";
if (System.IO.Path.GetExtension(FileName).ToLower != ".dll") {
Console.WriteLine("DLLじゃないよ");
}
と出来ないのは何故でしょうか。
また、VB.NETと同じように処理可能にする方法はないでしょうか。
0520デフォルトの名無しさん
2008/04/04(金) 23:54:11VBでも括弧は省略しない癖を付けた方が…
0521デフォルトの名無しさん
2008/04/04(金) 23:59:45orz
こんな単純ミスだったんですね…。
VB.NETの場合、"()"が必要な場合はインテリセンスが自動補完してくれるので気付きませんでした。
これからは気を付けます。
0522デフォルトの名無しさん
2008/04/05(土) 00:28:04その自力で頑張るの部分をもう少し詳しくお願いできませんか?
System.Windows.Forms.Formを使用してます。
0523510
2008/04/05(土) 00:33:580524デフォルトの名無しさん
2008/04/05(土) 01:56:53for (int i = 34; 7 <= i; i--)
{
tlp.Controls.RemoveAt(i);
}
のように後ろからやっていく方法と
for (int i = 34; 7 <= i; i--)
{
tlp.Controls.RemoveAt(0);
}
のように前からやっていく方法とで、どちらかのほうがいいということはありますか?
それとも、たいした違いはありませんか?
0525デフォルトの名無しさん
2008/04/05(土) 02:02:56for (int i = 34; 7 <= i; i--)
{
tlp.Controls.RemoveAt(7);
}
でした、すみません
0526デフォルトの名無しさん
2008/04/05(土) 02:37:55どこに格納するのが慣例なのでしょうか?
VBではモジュールがよさそうですが。
0527デフォルトの名無しさん
2008/04/05(土) 02:48:472. フォームのコンストラクタで渡して使う
3. Form.Show の前にプロパティで渡す
0528デフォルトの名無しさん
2008/04/05(土) 09:02:56obj = new (???) c;
それとも、こういう使い方をしてはいけないのでしょうか?
public class A
{
public A()
{
new B(this);
}
public A_C()
{
//
}
}
public class B
{
public B(object c)
{
c.A_C(); // ← こういう雰囲気の事をしたい
}
}
0529デフォルトの名無しさん
2008/04/05(土) 09:09:470530デフォルトの名無しさん
2008/04/05(土) 09:24:510531デフォルトの名無しさん
2008/04/05(土) 09:30:23Listview lv = (ListView) sender;とかと同じ理屈だとは思うのですが・・・
()の中に何を入れてよいのかわかりません
0532デフォルトの名無しさん
2008/04/05(土) 09:33:310533デフォルトの名無しさん
2008/04/05(土) 09:39:04例えばこのobjectがどのクラスか不明だった場合はどうしたら良いのでしょうか?
0534デフォルトの名無しさん
2008/04/05(土) 09:41:590535デフォルトの名無しさん
2008/04/05(土) 09:43:130536デフォルトの名無しさん
2008/04/05(土) 09:53:20どのクラスか不明って少なくともA_C()を実装してるクラスが一番の大元だろう?
そのクラスにキャストしれ
っつか、そのクラスで受け取れよ。
0537デフォルトの名無しさん
2008/04/05(土) 09:57:370538533
2008/04/05(土) 10:03:27ダウンロード完了時のイベントを呼び出し元で側で受け取りたいのです。
感じとしては以下のような形です。
public Download(string uri, string filepath,object obj)
{
if (dc == null)
{
dc = new WebClient();
dc.DownloadFileCompleted += new AsyncCompletedEventHandler(obj.DownloadCompleted);
}
dc.DownloadFileAsync(new Uri(uri), filepath);
}
0539デフォルトの名無しさん
2008/04/05(土) 10:07:20つか普通そのオブジェクトがイベントを伝播する形にするんじゃね?
0540533
2008/04/05(土) 10:16:03もやっとぼーるを投げます
お騒がせしました
0541デフォルトの名無しさん
2008/04/05(土) 10:43:33で、いろんなパターンがあって、全てのクラスに共通する基本クラスは作成できないと解釈。
呼び出したいメソッドを定義したインターフェイスを作って、
それぞれのクラスでそのインターフェイスを実装。
メソッドのパラメータはそのインターフェイスの型の型にする。
デリゲートで使えるかどうかはしらん
0542デフォルトの名無しさん
2008/04/05(土) 11:30:100543デフォルトの名無しさん
2008/04/05(土) 11:31:47MethodInfoあたりでも使えば、問答無用で好き放題できるだろうけど
その前に可能であればC#らしいスタイルを追求したいと思う自分がいる。
1.呼び出してほしいインターフェイスを定義して、呼び出されたいクラスが実装する。
Downloadが完了次第、Downloadを持つクラスがそれを呼び出す。
参照が無くなったりDisposeされたりといった問題があるなら、それを加えてもう一度やりたい事をここで説明。
2.主従関係を逆転して考えてみる。
Download を持つクラスに event を定義して、呼び出されたいクラスがコンストラクタ等で自ら登録する。
3.MethodInfo を使って、まさに当初の質問通りの処理をする。
0544デフォルトの名無しさん
2008/04/05(土) 11:44:05http://msdn2.microsoft.com/ja-jp/library/ms228969(VS.80).aspx
0545デフォルトの名無しさん
2008/04/05(土) 12:17:31DLL 'testdll.dll' の 'f'' というエントリ ポイントが見つかりません。
と例外が出てしまいます。
やり方が間違っているのでしょうか?
DLL側は
class c
{
public:
static __declspec(dllexport) int f();
};
int c::f()
{
return 777;
}
C#側は
using System.Runtime.InteropServices;
using System;
namespace ConsoleApplication1
{
class Program
{
[DllImport("testdll.dll")]
public static extern int f();
static void Main(string[] args)
{
Console.WriteLine(f());
}
}
}
こんな感じになってます。
testdll.dllとtestdll.libはC#側のフォルダに入れてます。
0546デフォルトの名無しさん
2008/04/05(土) 12:28:20C++側のインターフェイスをCスタイルで書いてextern "C" とする。
C++の識別子は、どのようなスタイルになるのかはアンマネージドの範囲でも一切保障されない。
0547デフォルトの名無しさん
2008/04/05(土) 12:33:31C++側をcomで作って、C#側はプロジェクトの参照設定よりdllを追加(COMタブより追加可能)
0548533
2008/04/05(土) 12:44:25でも、今度は何のダウンロードが完了したのかわからない。未だに見慣れないのですがMSDNと格闘してきます!。
AsyncCompletedEventHandler e = new AsyncCompletedEventHandler(this.DownloadCompleted);
FileDownload(path, filepath, e);
public void DownloadCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
System.Net.WebClient m = (System.Net.WebClient)sender;
//m.download_url = ???
}
0549545
2008/04/05(土) 12:49:16extern "C"{
__declspec(dllexport) int f()
{
return 777;
}
}
DLLをこう書き直したのですが結果は変わりませんでした。
これはCスタイルではないって事でしょうか??
0550デフォルトの名無しさん
2008/04/05(土) 12:53:070551デフォルトの名無しさん
2008/04/05(土) 12:54:55CallingConventionを合わせる
0552デフォルトの名無しさん
2008/04/05(土) 12:58:28まずC++をしっかり勉強してからの方が無難かもしれないね。
0553デフォルトの名無しさん
2008/04/05(土) 12:59:290554545
2008/04/05(土) 13:47:47extern "C"
{
int __declspec(dllexport) __stdcall f();
}
int __declspec(dllexport) __stdcall f()
{
return 777;
}
DLLをこう変更しましたがだめでした。
DLL側のコードを書いてくれませんか?
0555デフォルトの名無しさん
2008/04/05(土) 13:57:530556デフォルトの名無しさん
2008/04/05(土) 14:05:220557デフォルトの名無しさん
2008/04/05(土) 14:09:12でdll調べてみたら
0558デフォルトの名無しさん
2008/04/05(土) 14:10:40C:\>type test.cpp
extern "C" __declspec(dllexport) int f() {
return 777;
}
C:\>type test.cs
using System;
using System.Runtime.InteropServices;
namespace Test {
class Test {
[DllImport("test", CallingConvention=CallingConvention.Cdecl)]
static extern int f();
static void Main() {
Console.WriteLine(f());
}
}
}
C:\>cl /LD /nologo test.cpp
test.cpp
ライブラリ test.lib とオブジェクト test.exp を作成中
C:\>csc /nologo test.cs
C:\>test
777
0559545
2008/04/05(土) 16:14:51/nologoと付けたら出来ましたが、IDEからビルドすると例外エラーです。
皆さんはアンマネージドのC++でDLLを作ってC#とかから呼び出したりしないんですか?
0560デフォルトの名無しさん
2008/04/05(土) 16:21:03ふつーは .def 使ってエクスポート名をきちんとしておく。
0561560
2008/04/05(土) 16:27:33//test.cpp
extern "C" int __stdcall f() {
return 777;
}
//test.def
LIBRARY
EXPORTS
f
//test.cs
[DllImport("test.dll")]
int f();
0562デフォルトの名無しさん
2008/04/05(土) 16:31:31俺だったらC++/CLIで作る
0563デフォルトの名無しさん
2008/04/05(土) 16:55:54コンパイルすら通らないんですが。。
//test.cpp
extern "C" __declspec(dllexport) int f()
{
return 777;
}
//test.def
LIBRARY "testdll"
EXPORTS
f
//test.cs
using System;
using System.Runtime.InteropServices;
namespace Test
{
class Test
{
[DllImport("testdll")]
static extern int f();
static void Main()
{
Console.WriteLine(f());
}
}
こうですか?
それでも例外出ますね。
0564デフォルトの名無しさん
2008/04/05(土) 17:15:55あーごめんC#側で extern と static いるの忘れてた
とりあえずそのコードだとC側の呼び出し規約が間違ってる。def使う場合
dllexportはいらない
0565デフォルトの名無しさん
2008/04/05(土) 17:19:390566564
2008/04/05(土) 17:20:20.defはリンカの設定に追加する必要がある。VSは作ったら勝手にやって
くれた気もするが
0567デフォルトの名無しさん
2008/04/05(土) 17:21:52Dependency Walkerでもいいけどな
0568デフォルトの名無しさん
2008/04/05(土) 17:51:54モジュール定義ファイルにtest.defを追加すればいいんですかね??
それでもビルド出来ないんですが。。
error C3872: '0x3000': この文字を識別子で使用することはできません
error C2065: ' return' : 定義されていない識別子です。
error C2143: 構文エラー : ';' が '定数' の前にありません。
0569デフォルトの名無しさん
2008/04/05(土) 17:53:19そしてその後に関連される単語が出てくると「だから>>○○で言っただろ」と得意気な顔をするw
0570デフォルトの名無しさん
2008/04/05(土) 17:55:23それ全角スペースだろ死ねよ。
0571デフォルトの名無しさん
2008/04/05(土) 17:59:11DLLの情報見れば解決する話だろうが。
0572デフォルトの名無しさん
2008/04/05(土) 18:00:060573デフォルトの名無しさん
2008/04/05(土) 18:05:550574デフォルトの名無しさん
2008/04/05(土) 18:08:43そこかよorz
そのコードインデントに全角スペース使ってるからインデントは
そのままコピペするんじゃなくてタブか半角スペースにきちんと
置換してくれ
>>571
dumpbin 使おうが Dependency Walker 使おうがエクスポートされた
名前は見れるけど、「どうやってその名前を作るの」がわからない、
つまり確認しか出来ないから直接解決にならんだろ
まぁそれらを知っておいてかつ確認ぐらいはしてほしいがマジで
まぁふらっとだから
0575デフォルトの名無しさん
2008/04/05(土) 18:15:20全角スペースを使うぐらいだから、コマンドプロンプトの使い方が分からないんだよ。
>>574
その名前で呼び出せば使えるんだから、命名規則の仕様まで分からなくてもいいと思うが。
0576デフォルトの名無しさん
2008/04/05(土) 18:18:13あそっか。C#側いじればいいのか。
0578デフォルトの名無しさん
2008/04/05(土) 18:21:56だから呼び出し規則あわせろってずっと言ってるだろ。
今のコード貼ってみろよ
0579デフォルトの名無しさん
2008/04/05(土) 18:22:12それじゃ根本的な解決になってないだろ
0580545
2008/04/05(土) 18:25:29どこでそんなこと書いてありますか?
//test.cpp
extern "C" int __stdcall f()
{
return 777;
}
//test.def
LIBRARY
EXPORTS
f
//test.cs
using System;
using System.Runtime.InteropServices;
namespace Test
{
class Test
{
[DllImport("test.dll")]
static extern int f();
static void Main()
{
Console.WriteLine(f());
}
}
今のコードはこうです。
DLL側とC#側のコード貼ってください。
0581デフォルトの名無しさん
2008/04/05(土) 18:26:440582545
2008/04/05(土) 18:28:05ツールを使って名前を調べて呼び出したりするんですか?
0583デフォルトの名無しさん
2008/04/05(土) 18:29:42もしかしてスピリュアルってやつ?
0584デフォルトの名無しさん
2008/04/05(土) 18:35:34当たり前だろ。
dumpbin /exports test.dll
の結果見せろよ。
0585545
2008/04/05(土) 18:38:41イメージとしてはWin32APIを呼び出すときのように使いたいのです。
[DllImport("user32.dll")]
extern static int RegisterHotKey(IntPtr HWnd, int ID, int MOD_KEY, int KEY);
こんな感じで呼び出して利用できました。
なので自作のDLLも同じように出来るのかな?と思ったわけです。
C++のDLLをC++で呼び出したり、
C#のDLLをC#で呼び出すときは楽なのに、
マネージドからアンマネージドを呼び出すのは大変ですね…。
0586デフォルトの名無しさん
2008/04/05(土) 18:39:14あんまりいじめるな。
お前がコード張ればいいだろ。
0587デフォルトの名無しさん
2008/04/05(土) 18:39:34それコンパイルしたら普通に上手く動くぞ。
お前さんのやり方に問題があるとしか思えん。
0588デフォルトの名無しさん
2008/04/05(土) 18:40:29俺は>558ではった
0590デフォルトの名無しさん
2008/04/05(土) 18:46:35別の原因の気がするので
・dumpbin の結果
VS のコマンドプロンプト(たぶんスタートメニューのツールの
下あたりにある)を起動して、生成した C++ な DLL に対して
dumpbin /EXPORTS "test.dll"
みたいにしてその結果を張ってください
・探索ロケーション周り
当然 C# な exe と C な DLLは同じフォルダにないとダメですよ。
あたり確認してみてくれ
0591545
2008/04/05(土) 18:56:11両方ともプロジェクト作り直したら通りました;
dumpbinの結果は
File Type: DLL
Section contains the following exports for test.dll
00000000 characteristics
47F74A82 time date stamp Sat Apr 05 18:46:42 2008
0.00 version
1 ordinal base
1 number of functions
1 number of names
ordinal hint RVA name
1 0 00001000 f = _f@0
Summary
1000 .data
1000 .rdata
1000 .reloc
1000 .rsrc
1000 .text
こんな感じでした。お騒がせしました><
DLLは作ったことないので色々いじって見ます。
0593デフォルトの名無しさん
2008/04/05(土) 19:01:31人の作ったDLLなら見る。
だって、C/C++のヘッダを見ただけでは分からないこと(修飾名)があるから。
WindowsシステムのDLLはそれがもう分かっているし、
585のように単純にDllImportを書くだけで使えるようになっているから見ない。
自分で作ったDLLも見ない。どうなっているかは自分で決めた通りなのだから、
調べるまでもない(思い通りになっているかを確認することはあるが)。
0594デフォルトの名無しさん
2008/04/05(土) 19:05:01今回はこのパターン。
0595デフォルトの名無しさん
2008/04/05(土) 19:12:33ほぅほぅわかりやすい。
勉強になりました。
0596デフォルトの名無しさん
2008/04/05(土) 19:16:48一応コマンドラインに落ちなくても全部IDE上でできるが
詳しい知識がないと、VSのバージョンが上がったら手が付けられなくなるぞ。
0597デフォルトの名無しさん
2008/04/05(土) 19:20:540598デフォルトの名無しさん
2008/04/05(土) 19:23:07説明した通りに書かせればその分についてのみは動くだろうけど
0599デフォルトの名無しさん
2008/04/05(土) 19:26:52一度動いてからわからないものを調べて学ぼうと思っただけです。
今日はこれをやるって決めたんです!
0600デフォルトの名無しさん
2008/04/05(土) 19:28:58まずはC++のリンクの仕組みを確り勉強するといいよ、いきなり吹っ飛ばしてC#とリンクとか無茶だから。
0601デフォルトの名無しさん
2008/04/05(土) 19:30:290602デフォルトの名無しさん
2008/04/05(土) 19:31:100603デフォルトの名無しさん
2008/04/05(土) 19:31:33そこまで行かなくてもいいと思うけど、LIBの仕組みDLLの仕組み程度は知っておいて欲しい。
0604デフォルトの名無しさん
2008/04/05(土) 19:31:430605デフォルトの名無しさん
2008/04/05(土) 19:32:180606デフォルトの名無しさん
2008/04/05(土) 21:14:06いろいろあるんだぐらいに思っとけばいいだろう。
0607デフォルトの名無しさん
2008/04/05(土) 21:22:020608デフォルトの名無しさん
2008/04/05(土) 21:27:05ついでに、「自分以外・自分の世代以外は全員馬鹿」っていうのは
濡れ落ち葉族のオッサンのセリフみたいで惨めだなw
0609デフォルトの名無しさん
2008/04/05(土) 21:29:050610デフォルトの名無しさん
2008/04/05(土) 21:29:180611デフォルトの名無しさん
2008/04/05(土) 21:36:110612デフォルトの名無しさん
2008/04/05(土) 21:49:250613デフォルトの名無しさん
2008/04/05(土) 21:56:370614デフォルトの名無しさん
2008/04/05(土) 22:11:16VBとc#のあいのこのつもりか?w
0615デフォルトの名無しさん
2008/04/05(土) 22:13:180616デフォルトの名無しさん
2008/04/05(土) 22:16:200617デフォルトの名無しさん
2008/04/05(土) 22:43:590618デフォルトの名無しさん
2008/04/05(土) 22:47:330619デフォルトの名無しさん
2008/04/05(土) 23:06:190620デフォルトの名無しさん
2008/04/05(土) 23:09:320621デフォルトの名無しさん
2008/04/06(日) 00:00:030622デフォルトの名無しさん
2008/04/06(日) 00:09:480623デフォルトの名無しさん
2008/04/06(日) 00:15:070624デフォルトの名無しさん
2008/04/06(日) 00:18:180625デフォルトの名無しさん
2008/04/06(日) 01:11:05二つのformが表示されていて、一つのformが他方のformに
おれはこんな処理やったよってのを知らせたい。
0626デフォルトの名無しさん
2008/04/06(日) 01:26:570627デフォルトの名無しさん
2008/04/06(日) 01:30:310628デフォルトの名無しさん
2008/04/06(日) 02:14:31Module Module1
Friend Declare Unicode Function LoadLibraryW Lib "kernel32.dll" (ByVal lpLibFileName As String) As Integer
Friend Declare Function FreeLibrary Lib "kernel32.dll" (ByVal hModule As Integer) As Integer
Sub Main(ByVal Args() As String)
Dim hModule As Integer = LoadLibraryW("C:\WINDOWS\Resources\Themes\Luna\luna.msstyles")
(以下略)
でhModuleにハンドルが入りますが、C#で同じように
class Program {
[DllImport("kernel32.dll")]
internal static extern int LoadLibraryW(string lpLibFileName);
[DllImport("kernel32.dll")]
internal static extern int FreeLibrary(int hModule);
static void Main(string[] args) {
int hModule = LoadLibraryW(@"C:\WINDOWS\Resources\Themes\Luna\luna.msstyles");
(以下略)
としても必ず失敗(0)してしまいます。原因は何でしょうか。
0629デフォルトの名無しさん
2008/04/06(日) 02:19:400630デフォルトの名無しさん
2008/04/06(日) 02:22:28DllImportのCharSet
0631デフォルトの名無しさん
2008/04/06(日) 03:18:25[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
internal static extern int LoadLibraryW(string lpLibFileName);
[DllImport("kernel32.dll")]
internal static extern int FreeLibrary(int hModule);
[DllImport("kernel32.dll")]
internal static extern int GetLastError();
static void Main(string[] args) {
int hModule = LoadLibraryW(@"C:\WINDOWS\Resources\Themes\Luna\luna.msstyles");
if (hModule == 0) {
int Err = GetLastError();
Console.WriteLine("ロード失敗: {0}",Err);
(以下略)
>>629-630
遅レスすみません、ありがとうございます。
エラー&H7Eから、ファイルのロードそのものに失敗していたようです。
明示的にUnicodeを指定してintのまま実行すればロード/解放、共に成功しました。
しかしIntPtrにすると「hModule == 0」で『演算子 '==' を 'System.IntPtr' と 'int' 型のオペランドに適用することはできません。』となり実行出来ませんでした。
0632デフォルトの名無しさん
2008/04/06(日) 03:22:090633デフォルトの名無しさん
2008/04/06(日) 03:30:46>>632
出来ました、ありがとうございます。
VB.NETとC#は方言の関係と思っていましたが、実際はかなり違うのですね…精進します。
0634デフォルトの名無しさん
2008/04/06(日) 03:33:40[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]
internal static extern int LoadLibrary(string lpLibFileName);
でいいよ。
0635デフォルトの名無しさん
2008/04/06(日) 03:34:15internal static extern int LoadLibrary(string lpLibFileName);
0636デフォルトの名無しさん
2008/04/06(日) 03:34:510637デフォルトの名無しさん
2008/04/06(日) 13:00:05Addという名前のメソッドを呼び出すだけなのか
引数の数も自由でかなり変態的な使い方ができそう
0638デフォルトの名無しさん
2008/04/06(日) 16:22:07ドボンとかのサンプルをコピペした場合何か断りみたいなのいるのかな?
ソースを見たらバレバレなので黙って使っていいのか悩んでいます。
0639デフォルトの名無しさん
2008/04/06(日) 16:37:10勝手に使っちゃだめだったら何のために公開してるのかわからん
0640デフォルトの名無しさん
2008/04/06(日) 16:38:57ライセンスに関する記述無いな。どうしても心配ならメール送ってみな
0641デフォルトの名無しさん
2008/04/06(日) 17:24:02コピペしてそのまま使うなんてナンセンスだろw
0642デフォルトの名無しさん
2008/04/06(日) 20:39:21Class1にある値を返すメソッドがあります。
例1:
public string Hoge(){...}
メインフォームで
Class1 class1 = new Class1();
string s = class1.Hoge();
例2:
public static string Hoge(){...}
メインフォームで
string s = Class1.Hoge();
どちらが正しい使い方なのでしょうか?
0643デフォルトの名無しさん
2008/04/06(日) 20:40:560644デフォルトの名無しさん
2008/04/06(日) 20:52:47フィールドとはボタンなどのコントロールのことでしょうか?
Class1はstringの値を返すHogeメソッドだけです。
複数回呼ぶことがあります。
staticをつけている方がメモリの確保など無駄なパフォーマンスがなくて
良さそうかなと思ったのですが、普通は前者なんですね。
0645デフォルトの名無しさん
2008/04/06(日) 20:55:090646デフォルトの名無しさん
2008/04/06(日) 20:57:28あのコードに独創性を垣間見たんですね、わかります
0647デフォルトの名無しさん
2008/04/06(日) 22:09:240648デフォルトの名無しさん
2008/04/06(日) 22:10:56staticメソッドばっかりになったらCで書いてるのと変わらないし。
ここら辺がoopの限界なのかな。
そろそろ次の新しい概念出てきてもいい頃だな。
0649デフォルトの名無しさん
2008/04/06(日) 22:20:15お前は何を言ってるんだ
0650デフォルトの名無しさん
2008/04/06(日) 22:24:45C#にフィールドはあるんだよ。
0651デフォルトの名無しさん
2008/04/06(日) 22:30:240652デフォルトの名無しさん
2008/04/06(日) 22:32:31制限付きのクラスオブジェクトと考えれば別に不自然とも思えないけど
0653デフォルトの名無しさん
2008/04/06(日) 22:33:220654デフォルトの名無しさん
2008/04/06(日) 22:42:32クラス名の飾りがついただけのグローバル関数/変数とも考えられる
0655デフォルトの名無しさん
2008/04/06(日) 22:42:47下の方だとエラーになるのです
Color.FromArgb(int.Parse((string)new object[]{"-1"}));
Color.FromArgb((int)new object[]{"-1"});
0656デフォルトの名無しさん
2008/04/06(日) 22:45:090657655
2008/04/06(日) 22:53:16すいません
0658デフォルトの名無しさん
2008/04/06(日) 23:58:36オブジェクト指向って実世界の”モノ”とは到底かけ離れてるよね?
でもそれに近い概念でインスタンス化させてるのに、staticメソッドはそのまま使えたりしたらなんだかなぁと思う。
よくMathクラスなんかもインスタンス化した方が不自然だ、とか言われるけど
intやifですらオブジェクトと見なそうという言語や思想がある中でとっても違和感を感じずにはいられない。
0659デフォルトの名無しさん
2008/04/07(月) 00:16:580660デフォルトの名無しさん
2008/04/07(月) 00:20:320661デフォルトの名無しさん
2008/04/07(月) 00:52:31d.sin()とかd.abs()とかだったら、なんてことは俺も考えたことある。
0662デフォルトの名無しさん
2008/04/07(月) 01:23:140663デフォルトの名無しさん
2008/04/07(月) 09:21:22主演:大泉洋
0664デフォルトの名無しさん
2008/04/07(月) 09:43:47コントロールの初期化について分からないことがあるので教えてください。
プログラムの構成は、ひと月ごとにその月のすべての日の行をグリッド上に表示していくような感じです。
現在表示すべき(グリッドが描画時に情報として用いる)年/月は、staticな変数に記録して管理しています。
ここで、そのstaticな変数を変化させてみても
(たとえば2008/4の状態から、ひと月前の状態にして2008/3とする)、
変数自体は変化するもののフォーム上のグリッドの表示に変化は見られません。
Update()なども試みてみましたが、反応なしです。
このような場合、どうすればグリッドの表示を更新することができるでしょうか?
0665デフォルトの名無しさん
2008/04/07(月) 09:53:41エクスプローラーのリストビューのタイプの変更を行いたく思い、少し調べているのですがよくわからない部分があるので質問させてください。
http://yokohama.cool.ne.jp/chokuto/urawaza/lv_icon.html
を読んでタイプの変更は出来そうなのですがWindows Vistaの特大アイコンなどはどのようなメッセージを送ればいいのかわからないのです。
ヒント等ご教授戴ければ幸いです。
0666デフォルトの名無しさん
2008/04/07(月) 13:27:25>現在表示すべき(グリッドが描画時に情報として用いる)年/月は、staticな変数に記録して管理しています。
これほんと?
これだと複数コントロール貼って使う場合とかにまずいからこういう設計にしないと思うんだけど。
何か勘違いしてない?俺が作るとしたらプロパティで実装するけどなぁ。
0667デフォルトの名無しさん
2008/04/07(月) 13:49:34その内部クラスのフィールド変数の品揃えは未定だけど、
フィールド変数を使っての処理は決まっている。
・クラスA,B,Cごとに内部クラスの品揃えに違いがある。
このような場合、どうしたらすっきりした実装ができますか?
0668デフォルトの名無しさん
2008/04/07(月) 14:20:41共通の処理を行うならプロパティを宣言したインターフェイスを作ってA,B,Cに実装する
処理の目的だけが決まっていて,フィールドをどう使うかはA,B,Cそれぞれで全く違うんだったら
その処理を行うメソッドをインターフェイスに宣言してそれをA,B,Cが実装する形にすれば
きれいかもしれないけど実装の手間は変わらん
0669667
2008/04/07(月) 14:41:39提案ありがとうございます。
難しいですね。。。
フィールドに抽象メンバなるものを持てて、
抽象メンバ取り出しメソッドみたいなものがあって、
取り出したメンバにたいしてforeachをかける
みたいな実装できたらよかったのですが。。。
0670667
2008/04/07(月) 15:04:25値そのものはこの配列に格納することにする。
フィールドのプロパティでその配列にアクセスするようにする。
実際の処理は、配列に対して行なう。
(クラスによってその配列の長さは異なる。)
で実現できそうです。
0671665
2008/04/07(月) 16:46:06ご返答ありがとうございます。
OOPは初めてなので、きっと勘違いしていると思います。
そのようなプロパティ実装をした非static変数は、
各メソッド内でインスタンス生成してから用いると認識していますが、その場合、
たとえばグリッドコントロールが今表示している年/月を取得したりすることはできるのでしょうか?
それとも、グリッドを配置しているFormのクラス内に、
プロパティ実装した変数をフィールドとして用意するのでしょうか?
後者は、とりあえず試みてはみたものの、やはり変数をいじってもグリッドに変化が見られません。
0673デフォルトの名無しさん
2008/04/07(月) 17:55:48a = "変更した";
もしかしてこれで変更できると勘違いしてない?
0675デフォルトの名無しさん
2008/04/07(月) 18:34:12string _str;
public string Str {
get { return _str; }
set
{
sourceGrid.DateTime = value;
_str = value;
}
}
こんな感じのことがしたいの?
取得ってのは普通に
var value = souceGrid1.DateTime;
とかでいいと思うんだけども。
ソースグリッドとかいうものを使ったことないから分からんけど。
0676675
2008/04/07(月) 18:42:07プロパティじゃなくてメソッドかなんかでやってんのかな?
sourceGrid.SetMonth(value);
こんな感じで。
プロパティでなんかありそうだけどね。
面倒だがちょっと導入して試してみるか。
0677675
2008/04/07(月) 18:47:07とりあえず>>664はソースグリッドコントロールの年/月を取得もしくは設定しようとしている部分の
コードを晒してくれ。
取得ができないような設計にはなってないと思うんだ。
0678デフォルトの名無しさん
2008/04/07(月) 19:27:02xml.Load(url);
xml["abc"]というノードがあるのか調べるにはどうしたら良いのでしょうか?
0679664
2008/04/07(月) 19:48:19根本的に間違っているような気がしてきました・・・。
ここに書き込む前は、以下のような方法で実現しようとしていました。
namespace下に以下のようなクラスを作成し、
public class CurrentYearAndMonth
{
public static int cYear;
public static int cMonth;
public static int cMonthDaysCount;
public static void SyncYM()
{
DateTime dtNow = DateTime.Now;
cYear = dtNow.Year;
cMonth = dtNow.Month;
cMonthDaysCount = DateTime.DaysInMonth(cYear, cMonth);
}
}
これに対して、グリッドを配置しているFormのForm_Loadメソッド内で、
簡潔に書くと以下のように上記の変数を使っています。
for (int r = 1; r <= CurrentYearAndMonth.cMonthDaysCount; r++)
{
grid1.Rows.Insert(r);
grid1[r, 0] = new SourceGrid.Cells.Cell(CurrentYearAndMonth.cMonth.ToString() + "月" + r.ToString() + "日");
}
この状態で、Load完了後にcMonthなどの変数値をいじってFormやgrid1をUpdate()などしてみると、
UI上の表示も変化するかなと目論んでいたんですが、やはり間違っているのでしょうか?
(ちなみに、SourceGridは
ttp://sourceforge.net/project/downloading.php?group_id=178155&use_mirror=nchc&filename=SourceGrid4_11.zip&38810142
からダウンロードできます。)
0680664
2008/04/07(月) 19:50:46CurrentYearAndMonth内のSyncYM()メソッドは、OSの現在時刻と合わせるためのもので、
プログラム起動時のみ1度だけ使用しています。
0681678
2008/04/07(月) 19:54:290682デフォルトの名無しさん
2008/04/07(月) 20:00:020683デフォルトの名無しさん
2008/04/07(月) 20:01:52コントロールに値を渡した後は元の変数とは何の関係もなくなるから
更新するときは毎回全部設定しなおす必要がある
それと,フィールドをstaticにするのは誰がどう見ても間違い
0684デフォルトの名無しさん
2008/04/07(月) 20:04:250685デフォルトの名無しさん
2008/04/07(月) 20:32:250686664
2008/04/07(月) 21:00:58なるほど。そうでしたか。
試行錯誤の結果、
<変数値変更>
this.Controls.Remove(grid1);
grid1 = new SourceGrid.Grid();
grid1.Refresh();
this.Controls.Add(grid1);
<grid1の表示調整>
<Form1_Load メソッドでgrid1に対して行われるのと同等の処理>
というような流れで、無事初期化・表示更新を行うことができました。
staticについても見直してみます。
貴重なお時間を割いてアドバイスいただき、本当にありがとうございました。
0687デフォルトの名無しさん
2008/04/07(月) 21:36:31そうでしたか。ごめんなさい。
0688デフォルトの名無しさん
2008/04/07(月) 21:44:54ノードっつっても色々あるがどのノード?
あとxml["abc"]じゃなくてabcを調べたいんだよな?
0689デフォルトの名無しさん
2008/04/07(月) 22:05:21XPathで一発でいけるとおもうけど
0690デフォルトの名無しさん
2008/04/07(月) 22:22:26これを一般的なグラフのように左下にして、簡単に座標をイメージできるように
したいですが、どのようにすればいいのでしょうか?
0691デフォルトの名無しさん
2008/04/07(月) 22:29:370692デフォルトの名無しさん
2008/04/07(月) 22:31:120693デフォルトの名無しさん
2008/04/07(月) 22:33:320694デフォルトの名無しさん
2008/04/07(月) 22:41:32参考になりました。
0695デフォルトの名無しさん
2008/04/08(火) 16:17:59C関数の宣言みたいに型だけじゃいけない理由って?
0696デフォルトの名無しさん
2008/04/08(火) 16:23:15を
あいうえおaaaaaaaa'bbb'ccc
という文字列として処理したいのですがどのようにすればよいでしょうか?
0697デフォルトの名無しさん
2008/04/08(火) 17:21:00IDってデリゲート名のことか? デリゲートも型なんだから名前必須なのは当然だが。
>>696
その記述なら普通にそうなるとおもうが。
0698696
2008/04/08(火) 17:38:37書き方が悪かったですすいません。
"\u3042\u3044\u3046\u3048\u304A"+"aaaaaaaa'bbb'ccc"
を受け取ったときに
あいうえおaaaaaaaa'bbb'ccc
という文字列として処理したいのですがどのようにすればよいでしょうか?
ということでした。言葉足らずですいません。
0699デフォルトの名無しさん
2008/04/08(火) 17:52:14ということか?
0700デフォルトの名無しさん
2008/04/08(火) 18:56:20これでstrに対して処理すればいい
0702厨(2年)房
2008/04/08(火) 20:44:35ttp://ufcpp.net/study/csharp/
↑でC#について勉強しているのですが、関数の部分が難しくてわかりません。
もうすこしやさしく解説してるところをおしてください
0703デフォルトの名無しさん
2008/04/08(火) 20:45:270704703
2008/04/08(火) 20:46:030705デフォルトの名無しさん
2008/04/08(火) 21:43:21えっと、リアル中二だから、sin 関数が分からないって意味?
別に sin ってもの分からなくても、C# の関数定義の仕方としてはそのページで十分分かると思うんだが。
0706デフォルトの名無しさん
2008/04/08(火) 22:02:22delegate void MyDelegate(int x);
↑この"x"って事です。
0707デフォルトの名無しさん
2008/04/08(火) 22:07:08それは引数。
delegate void MyDelegate(string str);
とかでも当然良い。
0708デフォルトの名無しさん
2008/04/08(火) 22:09:240709デフォルトの名無しさん
2008/04/08(火) 22:12:54それよりは高級だけど。
0710デフォルトの名無しさん
2008/04/08(火) 22:13:08Cだとfunction(int)やfunction(stirng)のように引数の名前を省略できるが、
C#のデリゲートはなぜできないのかと695は聞いているのだと思う。
0711デフォルトの名無しさん
2008/04/08(火) 22:36:15構文解析の都合かかね。
0712デフォルトの名無しさん
2008/04/08(火) 22:46:47void Hoge(int) {} とか書くと、
")"に赤い波線が出て「IDがありません。」というエラーになる
だから、非常に分かりにくいけど間違いではない
0713デフォルトの名無しさん
2008/04/08(火) 22:49:02型パラメータを使いたいならこっち使えばいいだけの話。
Action<string>
Func<string>
0714デフォルトの名無しさん
2008/04/08(火) 22:49:49�@現在の画面のハードコピーを取得
�Aそれをプレビューで開いて
�B所定のフォルダにbmpで保存(取り直し可で、取り直しを選択した場合は保存されない)
こんなプログラムを作ろうと思ってい
0715デフォルトの名無しさん
2008/04/08(火) 23:02:42作ってください
0716デフォルトの名無しさん
2008/04/08(火) 23:21:01他に今やる事/やりたい事は無かったのか?
0717デフォルトの名無しさん
2008/04/08(火) 23:37:34�@現在の画面のハードコピーを取得
�Aそれをプレビューで開いて
�B所定のフォルダにbmpで保存(取り直し可で、取り直しを選択した場合は保存されない)
こんなプログラムを作ろうと思っています。
だれか作ってください。
0718デフォルトの名無しさん
2008/04/08(火) 23:38:49/ ヽ
-―ニ二二二二ニ>、
ァ /ィ=-_ _ト-、)
( Y ー==j〈二゙i )
ゝ i - r ヾ"^j )。
( ) `- ≦三。゚・
ゞ ∧ヾ ゝ゚ ≦三゚。
(_/ ヽ゚≧ 三=-
/|ヽ \ァ ≧-
| \ イレ、 >=
| ≦Vヾ ヾ≧
〉 く。゚/。イハ 、、ミ。゚
0719デフォルトの名無しさん
2008/04/08(火) 23:40:16言い出しっぺの法則
0720デフォルトの名無しさん
2008/04/08(火) 23:51:160721デフォルトの名無しさん
2008/04/09(水) 00:28:29なんでそんな素っ頓狂な回答するの?
0722デフォルトの名無しさん
2008/04/09(水) 01:20:22>>710の補足をすると、C#のデリゲートはタイプセーフなので引数と戻り値の型が
一致しないとデリゲートを追加できないようになっている
>>713は意味分からんから誰か解説してくれ
0723デフォルトの名無しさん
2008/04/09(水) 01:43:02型だけだと引数の意味がわからないからだろ。
void DrawLine(int, int, int, int)
↓
void DrawLine(int x1, int y1, int x2, int y2)
0724デフォルトの名無しさん
2008/04/09(水) 01:56:32宣言に意味を持たせる必要ないだろ
0725デフォルトの名無しさん
2008/04/09(水) 02:43:10意味を持たせたい場合と持たせたくない場合、両方あると思うけどな。
Func<int> 見たいなのの場合は、void → int の写像であることだけを示したいけど、
EventHandler みたいなのは、引数にも意味を持たせたい。
0726デフォルトの名無しさん
2008/04/09(水) 09:18:290727デフォルトの名無しさん
2008/04/09(水) 11:31:34protected override bool IsInputKey(System.Windows.Forms.Keys keyData)
{
if ((keyData == Keys.Up) || (keyData == Keys.Down))
{
KeyEventArgs e = new KeyEventArgs(keyData);
OnKeyDown(e);
return false;
}
return base.IsInputKey(keyData);
}
KeyUpイベントは使わないのでいいかなと思ったのですが、
少し気持ち悪いので他に↑↓キーの動作を他に無効にする方法があればよろしくお願いします。
0728デフォルトの名無しさん
2008/04/09(水) 12:17:44だったらなおさら省略出来た方がいいだろ。
C/C++だってプロトタイプ宣言は省略するじゃん。
0729デフォルトの名無しさん
2008/04/09(水) 12:28:130730デフォルトの名無しさん
2008/04/09(水) 12:35:480731デフォルトの名無しさん
2008/04/09(水) 13:11:35デリゲートだと省略できないのは冗長だとおもう
てか「冗長じゃない」って反論する人っているの?
0732デフォルトの名無しさん
2008/04/09(水) 15:17:40一人でコード書いてるやつが冗長だとか言ってるのみると笑える。
0733デフォルトの名無しさん
2008/04/09(水) 15:23:32そういう話題じゃないだろw
0734デフォルトの名無しさん
2008/04/09(水) 15:28:14C#4.0では省略できるようになりそうだね
0735デフォルトの名無しさん
2008/04/09(水) 15:31:14が省力できない理由でしょう。
0736デフォルトの名無しさん
2008/04/09(水) 15:36:42デスマーチ経験したことないだろうから。Cでも省略してるバカPGがいたら発狂する。
0737デフォルトの名無しさん
2008/04/09(水) 15:40:16省略すると、なんかだらしない感じがするのでカチっと書いてます
0738デフォルトの名無しさん
2008/04/09(水) 15:44:07コメントや命名は手を抜くとあとで困る。
0739696
2008/04/09(水) 15:45:440740デフォルトの名無しさん
2008/04/09(水) 15:46:390741デフォルトの名無しさん
2008/04/09(水) 15:47:510742デフォルトの名無しさん
2008/04/09(水) 15:49:28コメントで説明するために識別子をつけるってこと?
0743デフォルトの名無しさん
2008/04/09(水) 15:49:530744デフォルトの名無しさん
2008/04/09(水) 15:51:59だから冗長に思えるんだよ。
0745デフォルトの名無しさん
2008/04/09(水) 15:54:040746デフォルトの名無しさん
2008/04/09(水) 15:54:12そういうのは実際に使うときに使えww
0747デフォルトの名無しさん
2008/04/09(水) 15:54:56だよね。
>>736なんかは自分がなんでも知ってるみたいに発狂する病気なんだろうね。
0748デフォルトの名無しさん
2008/04/09(水) 16:00:02バカだな。引数の意味がいらないなら、そのデリゲート宣言は無駄な宣言だろう。
意味づけするために宣言するのに何言ってんだ?
0749デフォルトの名無しさん
2008/04/09(水) 16:01:42いいえ、 >>736 を支持した発言です。勘違いしないでください。
0750デフォルトの名無しさん
2008/04/09(水) 16:02:07デリゲート宣言が無駄とかw
だったら受け取る側はどうやって型判別するの?
宣言時の引数の変数は無駄だけど、宣言自体は必要。
0751デフォルトの名無しさん
2008/04/09(水) 16:05:540752デフォルトの名無しさん
2008/04/09(水) 16:07:18宣言時に引数の用途、意味が決まってないのか?それ糞コードだろ。
0753デフォルトの名無しさん
2008/04/09(水) 16:07:520754デフォルトの名無しさん
2008/04/09(水) 16:08:420755デフォルトの名無しさん
2008/04/09(水) 16:13:070756デフォルトの名無しさん
2008/04/09(水) 16:14:410757デフォルトの名無しさん
2008/04/09(水) 16:18:20宣言時に引数の用途、意味が決まってないのか?答えれないのか?
無理に答えろとは言わんが。
0758デフォルトの名無しさん
2008/04/09(水) 16:20:38↓
0759デフォルトの名無しさん
2008/04/09(水) 16:21:020760デフォルトの名無しさん
2008/04/09(水) 16:21:210761デフォルトの名無しさん
2008/04/09(水) 16:22:16引数の型が同じだからという理由で流用してるなら、ただのアホだろ。
0762デフォルトの名無しさん
2008/04/09(水) 16:22:51宣言してから言えよ…せっかく面白いのに
0763デフォルトの名無しさん
2008/04/09(水) 16:24:30発狂君空気嫁よ
0764デフォルトの名無しさん
2008/04/09(水) 16:25:41バカPG認定します。
0765デフォルトの名無しさん
2008/04/09(水) 16:27:180766デフォルトの名無しさん
2008/04/09(水) 16:28:230767デフォルトの名無しさん
2008/04/09(水) 16:31:350768デフォルトの名無しさん
2008/04/09(水) 16:33:510769デフォルトの名無しさん
2008/04/09(水) 16:36:550770デフォルトの名無しさん
2008/04/09(水) 16:41:08Re-gateという文字からは門、入り口に再入させるとかそんな感じだよな。
リエントラントと何か関係あったりするの?
0771デフォルトの名無しさん
2008/04/09(水) 16:46:10del・e・gate
1 代理者[人]
あと、プログラミング一般では移譲と訳される。
0772デフォルトの名無しさん
2008/04/09(水) 16:52:50関数の仕様を見るときにヘッダ見るよりcppファイル読んだ方がいいと思うし。
0773デフォルトの名無しさん
2008/04/09(水) 17:01:35でも高級言語の場合は開発者の視点で言語仕様が決定されるべきでヘジはそうしている。
それに実装が公開されてないインタフェースだけのライブラリも多いし、
同時開発なんてよくある話で実装がまだ無い場合もあるから、
実装見たくても見れない場合は多々ある。
0774デフォルトの名無しさん
2008/04/09(水) 17:10:03それともオブジェクト指向を否定したいのか?
0775デフォルトの名無しさん
2008/04/09(水) 17:17:270776デフォルトの名無しさん
2008/04/09(水) 17:21:34C/C++でヘッダファイル見てる人ってC#はどうしてるんだろうね
0777デフォルトの名無しさん
2008/04/09(水) 17:23:220778デフォルトの名無しさん
2008/04/09(水) 17:58:04よろしくお願いいたします
0779デフォルトの名無しさん
2008/04/09(水) 17:58:240780デフォルトの名無しさん
2008/04/09(水) 18:00:12関数のオーバーロードを使用して書きます。
0781デフォルトの名無しさん
2008/04/09(水) 18:18:500782デフォルトの名無しさん
2008/04/09(水) 18:44:43>>781
マジですか?
VBですらOptionalとかあるのに・・・
0783デフォルトの名無しさん
2008/04/09(水) 18:54:28それは「VBですら」じゃなくて負の遺産を相続してる「VBだから」でしょ。
実際VB.NETでもエクセルとか操る時以外使わないよ普通は。
0784デフォルトの名無しさん
2008/04/09(水) 18:59:260785デフォルトの名無しさん
2008/04/09(水) 19:12:380786デフォルトの名無しさん
2008/04/09(水) 19:16:05実装も簡単でしょ
0787デフォルトの名無しさん
2008/04/09(水) 19:24:39Effective C++くらい読んどけよ
0788デフォルトの名無しさん
2008/04/09(水) 19:27:04ぐぐってみたんだけどわからなかった。
デフォルト引数 害悪の検索結果 6 件中 1 - 6 件目 (0.04 秒)
0789デフォルトの名無しさん
2008/04/09(水) 19:30:280790デフォルトの名無しさん
2008/04/09(水) 19:34:200791デフォルトの名無しさん
2008/04/09(水) 19:34:59>>744
0792デフォルトの名無しさん
2008/04/09(水) 19:35:160793デフォルトの名無しさん
2008/04/09(水) 19:40:06VBのOptionalと比較する人多いけど、
VBの場合はさらに、名前付き引数渡しができたよな。
f(x = 0, y = 1) みたいな。
Optionalって、この名前付き引数との組み合わせで効果発揮するものだと思ってるんで、
そもそもこれがないC#には別に必要性感じないんだけどなぁ。
0794デフォルトの名無しさん
2008/04/09(水) 19:44:50有名なのは仮想関数と合わせて使うと思わぬ結果になる可能性があるということ。
class Base
{
public virtual void f(int x = 5) {}
}
class Derived : Base
{
public override void f(int x = 10) {}
}
Derived d = new Derived();
Base b = b;
d.f(); //xは10
b.f(); //xは5
仮にC++の規則をそのまま持ち込んだとすると、
呼び出すときのソース上の型でデフォルト引数を決めるのでこういうことになる。
0795デフォルトの名無しさん
2008/04/09(水) 19:49:13http://blogs.msdn.com/csharpfaq/archive/2004/03/07/85556.aspx
1つは、ユーザの書いたコードとcompiler-generatedコードの区別があいまいになるのが嫌。
(デフォルト値使うと、f(x)みたいな記述からf(x, 0)みたいなのが自動生成されるけど、
極力こういうコード自動生成はしたくないんだって。)
あと、XMLドキュメントコメントとインテリセンスで困るから辞めた。
というようなことが書いてあるな。
0796デフォルトの名無しさん
2008/04/09(水) 19:57:07というかそこまでして省略したいのかと。
0797デフォルトの名無しさん
2008/04/09(水) 20:05:29IE7のFeedをAPIから扱えるらしいので、
試しにFeedのエクスポート/インポートプログラムを作ったら
標準でIEについてた\(^o^)/
俺アホすぎるorz
0798デフォルトの名無しさん
2008/04/09(水) 20:05:390799デフォルトの名無しさん
2008/04/09(水) 20:09:420800デフォルトの名無しさん
2008/04/09(水) 20:13:590801デフォルトの名無しさん
2008/04/09(水) 20:14:10オーバーロードでも同じ事になるんじゃないの
0802デフォルトの名無しさん
2008/04/09(水) 20:30:580803デフォルトの名無しさん
2008/04/09(水) 20:39:360804厨(2年)房
2008/04/09(水) 20:47:51入力の最後にエラーが出ます。理由と修正するところと内容をおしえてください
using System;
class donarudo
{
static void Main()
{
int[] a = new int [5];
for (int i = 0; i < 5; ++i)
{
a[i] = int.Parse(Console.ReadLine());
}
int b = ave(a);
Console.Write("平均の値は{0}です", ave(a));
}
static int ave(int[] a)
{
int hei = a[1] + a[2] + a[3] + a[4] + a[5];
return hei;
}
}
0805デフォルトの名無しさん
2008/04/09(水) 20:51:26配列の要素は0からはじまる。
int[5]なら[0]から[4]までの四つ。
デバッグ機能は使えるように成っておいた方が良いよ。
0806デフォルトの名無しさん
2008/04/09(水) 20:52:310807デフォルトの名無しさん
2008/04/09(水) 20:52:580808デフォルトの名無しさん
2008/04/09(水) 21:22:400809デフォルトの名無しさん
2008/04/09(水) 21:27:460810デフォルトの名無しさん
2008/04/09(水) 21:35:21C#から見れば単なるstaticクラス
0811デフォルトの名無しさん
2008/04/09(水) 21:41:48うーん、分かったような分からないような。
Reflection自体があまり触れた事が無いのも原因だけど、
Reflectionでとってきたクラスってモジュールに限らずインスタンス化できないんだね。
やりたかったことはできそうにも無いけど、ありがとうございます。
0812803です。
2008/04/09(水) 22:06:00Assembly assembly = Assembly.LoadFile("アセンブリネーム");
Type classType = assembly.GetType("クラスネーム");
object o = Activator.CreateInstance(classType);
ってやって作ったやつをclassTypeの型にキャストする方法ってありませんか?
理想としては
classType型 classInstance = (classType型)Activator.CreateInstance(classType);
ってできれば最高なんですけど・・・
0813デフォルトの名無しさん
2008/04/09(水) 22:07:47でもモジュールはstaticクラスだからそもそもリフレクション関係なくインスタンス作れない。
0814デフォルトの名無しさん
2008/04/09(水) 22:09:50型を静的に解決できないから動的にロードしてるんだろ?
普通インターフェイスなり抽象クラスなり使う。
0815デフォルトの名無しさん
2008/04/09(水) 22:31:52現在の環境だと2005でも入力中に処理待ちになったりするので
VS2008に移行するか迷ってます。
0816デフォルトの名無しさん
2008/04/09(水) 22:33:160817デフォルトの名無しさん
2008/04/09(水) 22:36:55リフレクション使ったこと無いんだけど使ったら例えばどんなことができるの?
0818デフォルトの名無しさん
2008/04/09(水) 22:45:540819デフォルトの名無しさん
2008/04/09(水) 23:03:35それではよくわからない
0820デフォルトの名無しさん
2008/04/09(水) 23:04:550821デフォルトの名無しさん
2008/04/09(水) 23:49:270822デフォルトの名無しさん
2008/04/10(木) 00:55:03Visual Studio 2008 Part 8
http://pc11.2ch.net/test/read.cgi/tech/1207063618/
0823デフォルトの名無しさん
2008/04/10(木) 07:14:40というかデザイナ周り基本全部リフレクションの上。間に一枚かんでるが。
使ってるだろ。ペタペタ張ってフォーム作ったりプロパティ設定したりするの。
0824デフォルトの名無しさん
2008/04/10(木) 09:53:44マルチスレッドについて調べてたら出たんだけど、
ttp://msdn2.microsoft.com/ja-jp/magazine/cc163340.aspx
結局これって実装されたの?
VS2008で完全サポートっていってるのに参照を探してもないんだが
0825デフォルトの名無しさん
2008/04/10(木) 11:05:16Parallel FX Libraryは今のところまだCTPらしいな
0826デフォルトの名無しさん
2008/04/10(木) 13:00:22thx
これが.NET本体にのったらかなり楽にマルチスレッド対応できるんだがなぁ
4.0で乗るかな?
0827デフォルトの名無しさん
2008/04/10(木) 13:29:440828デフォルトの名無しさん
2008/04/10(木) 17:37:27・ショートカットを登録
このような単純な機能を持つデスクトップランチャーを、C#初心者が作るとしたらどれ位時間がかかりますか?
作成に掛かる時間…というよりも、ランチャー作成自体の難易度がどのようなものか教えていただけると幸いです
C、Java、アセンブラは初歩を嗜んだ程度です
0829デフォルトの名無しさん
2008/04/10(木) 17:55:06.NETのクラスライブラリが直接サポートしている機能ではない。
P/InvokeかShell系COMインターフェイスをほにゃららする必要がある。
とりあえずあなたはそれをVC++あたりで作れたりするの?
0830デフォルトの名無しさん
2008/04/10(木) 17:59:17二行目の単語は両方意味すらわからない程度です
VC++でも作れません
0831デフォルトの名無しさん
2008/04/10(木) 18:11:43作るには一番向いてない類のプログラムなんだよね。
.NET使えねーとかいってネガってる奴らはたいていこの手のツールを作ってたりする。
0832デフォルトの名無しさん
2008/04/10(木) 18:13:020833デフォルトの名無しさん
2008/04/10(木) 18:13:55最後に一つ質問なんですが、その軽量ユーティリティを作るのに適した言語、ソフトでオススメ無いでしょうか?
0834デフォルトの名無しさん
2008/04/10(木) 18:20:42Delphiの.NETではないやつ。かつてその手のツールが大量に作られた実績がある。
サンプルソースは手に入りやすいかもしれない。
0835デフォルトの名無しさん
2008/04/10(木) 18:54:46リフレクションを意図的に使用したことが無い人にも分かるように
できればもう少し詳しく・・・
0836デフォルトの名無しさん
2008/04/10(木) 19:08:15おまえ全くドキュメント読んでないだろ。ふざけすぎ。
0837デフォルトの名無しさん
2008/04/10(木) 20:04:35普通のコードよりも上のレベルでの操作がどうしても必要で,それを可能にするのがリフレクション
0838デフォルトの名無しさん
2008/04/10(木) 20:14:01おー、なんかイメージがわいてきました。
説明のうまい人は助かります。
ありがとうございます。
0839デフォルトの名無しさん
2008/04/10(木) 20:18:09ttp://dobon.net/vb/dotnet/programing/mysettings.html
ここを読むと変更不可のようですが、こんなに便利なのに変更不可なのでしょう?
0840デフォルトの名無しさん
2008/04/10(木) 20:53:290841デフォルトの名無しさん
2008/04/10(木) 21:03:30そんなことはないでしょう。
個人的にはアプリケーションフォルダの中に保存されて欲しいです。
アプリケーションを削除する時に一緒に消えるし。
0842デフォルトの名無しさん
2008/04/10(木) 21:04:25まぁリフレクションの必要性がわからないってのは
ある意味正しいプログラミングしてるのかもよ。
0843デフォルトの名無しさん
2008/04/10(木) 21:05:45それはマイクロソフトの方針に反してるもん。
0844デフォルトの名無しさん
2008/04/10(木) 21:30:30Documents and Settings\UserName\Local Settings\Application Data\CompanyName\(appdomainname)_(eid)_(hash)\1.0.0.0
こんなところに保存するアプリってなかなかないわなw
0845デフォルトの名無しさん
2008/04/10(木) 21:34:28俺はそうしてる、monoerだけど。
0846デフォルトの名無しさん
2008/04/10(木) 21:35:14CompanyName まではふつー。
0847デフォルトの名無しさん
2008/04/10(木) 22:00:05のはず
0848デフォルトの名無しさん
2008/04/10(木) 22:04:080849デフォルトの名無しさん
2008/04/10(木) 22:06:270850デフォルトの名無しさん
2008/04/10(木) 22:07:470851デフォルトの名無しさん
2008/04/10(木) 22:16:280852デフォルトの名無しさん
2008/04/10(木) 22:19:50アンインスコもフォルダ消すだけってフリーソフトが大多数だし。
0853デフォルトの名無しさん
2008/04/10(木) 22:23:30インストーラーはProgram Filesにインストールするから、
そこでファイルの書き換えしたらあかんよという話でしょ。
0854デフォルトの名無しさん
2008/04/10(木) 22:25:220855デフォルトの名無しさん
2008/04/10(木) 22:27:240856デフォルトの名無しさん
2008/04/10(木) 22:33:19自動インストールしてくれるから使ったほうがいいだろ。
それとも昔みたいにユーザーにランタイム探させたほうがいいと?
0857デフォルトの名無しさん
2008/04/10(木) 23:02:02時と場合による。
0858デフォルトの名無しさん
2008/04/10(木) 23:16:09インストーラもレジストリを使うから嫌われるね。
レジストリを使わない自己解凍形式を使い、解凍時に読み込む実行ファイルで.NETの有無やバージョン確認を手動で行うのならOK。
でもそんな面倒くさい物作る位なら普通にzip圧縮でいいよ。
初心者程アップデートで示されるファイルは何でもかんでも入れるから.NETの最新版が入っている確率は非常に高い。
それはそうと、デスクトップ軽量アプリはやはりC++か。
VC++2008EEはWin32GUIプロジェクト非対応だから学習に使うには厳しいな…。
0859デフォルトの名無しさん
2008/04/10(木) 23:25:53冗談みたいな話だが、インストーラの存在理由ってのは[スタート]⇒[プログラム]
やデスクトップにショートカットを作ることにあるんだよ。
つまり一般ユーザーは自分でショートカット作ったり、[スタート]メニューをカスタマイズしたり
ライチャーを使ったりできない人が多い。
必要なコンポーネントをシステムにインストールする、なんていうのは
すくなくとも二次的な機能でしょ。
ドトネトに限れば将来的には全てのPCに.NET Frameworkがインストールされていると
期待していい時代が来るはず(本当か?w)なんだし。
0860デフォルトの名無しさん
2008/04/10(木) 23:47:59結果、プログラム用のディレクトリを別に作らなきゃいけなくて面倒。
0861デフォルトの名無しさん
2008/04/10(木) 23:53:34VC++2008EEでもGUI作れるでしょ?
SDKはデフォで同梱だし、C++/CLI使えばポトペタも…
0862デフォルトの名無しさん
2008/04/10(木) 23:55:22何が言いたいのかわからない
>>860
Program Files以下に置けばいいじゃん。
ところでProgram Filesに自動でインストールされないファイルをProgram Filesにわざわざ置くってやついるのか?
0863デフォルトの名無しさん
2008/04/10(木) 23:56:29俺とか。
Vistaだと管理者権限無いときちんと動かないし
0864デフォルトの名無しさん
2008/04/10(木) 23:58:540865デフォルトの名無しさん
2008/04/11(金) 00:01:29ああVistaか
0866デフォルトの名無しさん
2008/04/11(金) 00:03:39.NETはカスタムアップデートで自分で選ばないと入らないよ。
2.0は何かのアプリがインストールしてる可能性はあるけど、
XPで3.0が入ってるマシンはほとんどないんじゃない。
0867デフォルトの名無しさん
2008/04/11(金) 07:08:59実行ファイルのパスから完全パスで生成すりゃいいじゃん
0868デフォルトの名無しさん
2008/04/11(金) 09:30:59実行時に調べる方法はないでしょうか?
Type.IsAssignableFromを使ったり、
リフレクションでop_Implicitを探していけば、それらしいものは作れそうですが、
仕様の見落としがあるかもしれないので、
.NET Frameworkによって提供された機能があれば、そちらを使いたいと思っています。
0869デフォルトの名無しさん
2008/04/11(金) 09:36:370870デフォルトの名無しさん
2008/04/11(金) 10:00:21JavaのVelocityみたいな感じで、ちょっとした式を埋め込める
テンプレートエンジンを作ろうと思っています。
で、その式でC#と同じように暗黙の型変換が行われれば便利かなと思いまして。
TypeConverterを使うことも考えたのですが、1.5をintに変換すると2になったりと、
ちょっとやりすぎな所があるので、こちらはできれば使いたくないんです。
0871デフォルトの名無しさん
2008/04/11(金) 11:25:130872デフォルトの名無しさん
2008/04/11(金) 11:54:03それだと、
暗黙の型変換演算子(op_Implicit)による変換や
shortからintの変換などができませんでした。
0873デフォルトの名無しさん
2008/04/11(金) 12:49:37isでいいだろ
0874デフォルトの名無しさん
2008/04/11(金) 20:04:170875デフォルトの名無しさん
2008/04/11(金) 22:17:09参照変換と型変換を同列に扱うのはナンセンス
面倒くさがらずに個別に確認しろよ
1) IsAssignableFromがtrue
2-a) op_Implicitで変換可能
2-b) 組み込み型変換(暗黙)で(ry
2-c) 組み込み型変換(暗黙)+op_Implicitで(ry
0876デフォルトの名無しさん
2008/04/11(金) 22:57:17{
public int Value;
}
-----
List<ItemClass> Items;
このような感じになっていて、
Itemsに保持しているItemClassのうちでValueの最大の値を探したいのですが、
以下のコードで合っていますか?
int max = Items.Max(item => item.Value);
一応正しい値が求められているようですが
いまいちラムダ式が理解できておらず自信がありません。
またこの場合、「item」は「hoge」とかの何でも良いと解釈して良いのでしょうか?
0877デフォルトの名無しさん
2008/04/11(金) 23:08:31Expression.Convertを使うとか
>>876
あってる
itemは自動生成されるメソッドの引数名だからなんでもいい
0879デフォルトの名無しさん
2008/04/13(日) 10:48:15フィールド
メソッド
上下の順番はどうするのがいいの?
0880デフォルトの名無しさん
2008/04/13(日) 10:51:480881デフォルトの名無しさん
2008/04/13(日) 10:52:06HttpWebResponse res = (HttpWebResponse)req.GetResponse();
Stream resStream = res.GetResponseStream();
StreamReader sr = new StreamReader(resStream, Encoding.GetEncoding(CharacterCode));
string ret = sr.ReadToEnd();
sr.Close();
resStream.Close();
return ret;
このようなコードで5分おきにサーバーからデータを取得しているのですが、
長時間(10時間以上)動かすと2行目でSystem.Net.WebExceptionの
「リモート サーバーに接続できません」という例外が発生してしまいます。
プログラムを立ち上げ直してもWindowsを再起動するまで同じエラーが発生します。
開放するべきリソースを開放していないのでしょうか?
このコードにまずい点がありましたら教えていただきたいです。
よろしくお願い致します。
0882デフォルトの名無しさん
2008/04/13(日) 10:53:54好きにすればいいんじゃね?
強いて言えば、それぞれでまとめて置いた方がいいかも
0883デフォルトの名無しさん
2008/04/13(日) 10:56:17MSの公開してる.NET Frameworkのソースコード見てたらバラバラだよ
種類別に分けてるのもあれば,種類関係なく目的別に分けてるのもある
0884デフォルトの名無しさん
2008/04/13(日) 11:06:00取りあえずresもCloseしてみる
0885デフォルトの名無しさん
2008/04/13(日) 11:07:41WebResponceもIDisposableを実装してるからDisposeするべきだよ
それが原因かは知らないけど
わかってるかもしてないけど,Closeはfinallyで
面倒ならusing重ねてClose書かなくてもおk
0886デフォルトの名無しさん
2008/04/13(日) 11:20:19>>885
ありがとうございますやってみます
IDisposableを実装してるオブジェクトは手動で開放しないとまずいんですね
勉強になりました
0887デフォルトの名無しさん
2008/04/13(日) 11:24:230888デフォルトの名無しさん
2008/04/13(日) 11:26:320889デフォルトの名無しさん
2008/04/13(日) 11:28:470890デフォルトの名無しさん
2008/04/13(日) 11:33:530891デフォルトの名無しさん
2008/04/13(日) 11:35:02消すなら全部Disposeし終わった後でClearする
public static void DisposeAll<T>(this IEnumerable<T> source) {
foreach (var item in source.OfType<IDisposable>()) item.Dispose();
}
//collection.DisposeAll()
やってることは一緒だけどこういうのも面白いかも
0892デフォルトの名無しさん
2008/04/13(日) 11:35:550893デフォルトの名無しさん
2008/04/13(日) 11:37:36何もやってない
0894893
2008/04/13(日) 11:41:35ごく普通のメソッドで,リソースを解放したりする処理が普通に書いてあるだけ
0895デフォルトの名無しさん
2008/04/13(日) 11:43:460896デフォルトの名無しさん
2008/04/13(日) 11:46:060897デフォルトの名無しさん
2008/04/13(日) 14:42:400898デフォルトの名無しさん
2008/04/13(日) 14:55:39フラグ代わりにnull代入することは多いけど
0899デフォルトの名無しさん
2008/04/13(日) 15:20:530900デフォルトの名無しさん
2008/04/13(日) 15:21:10今はWindows2000なのでVC#2005しかインストールできません
数ヵ月後にはXPに移行してVC#2008を導入しようと考えています。
VC#2005とVC#2008は全然違うものなのでしょうか?
VirtualPCを使ってでもVC#2008を使ったほうがいいのか、
VC#2005を使うべきなのか悩んでいます。
0901デフォルトの名無しさん
2008/04/13(日) 15:21:150902デフォルトの名無しさん
2008/04/13(日) 15:31:04とりあえず2005でいいんじゃないの
0903デフォルトの名無しさん
2008/04/13(日) 15:33:50IDEの性能が違いすぎるから、2008にしておいたほうがいい
機能面はもちろん、キーボードやマウスに対する反応等ユーザーインターフェイスの反応速度まで2008のほうが上。
というか2005はタコすぎ、お勧めできない。
0904デフォルトの名無しさん
2008/04/13(日) 15:44:310905デフォルトの名無しさん
2008/04/13(日) 15:56:17>>815でサッサと答えとけ
0906デフォルトの名無しさん
2008/04/13(日) 16:43:490907デフォルトの名無しさん
2008/04/13(日) 16:48:050908デフォルトの名無しさん
2008/04/13(日) 16:52:17VB6の段階で不正解
0909デフォルトの名無しさん
2008/04/13(日) 16:53:36設計の肝は継承だろ。
実装と設計は一致しないとかよく言うけどさ、
マイクロソフトがJITコンパイラの見栄えをよくする為に入れたマッチポンプ
に付き合わされてるんだよ。 おまえら。
気付けよ。
0910デフォルトの名無しさん
2008/04/13(日) 17:20:350911デフォルトの名無しさん
2008/04/13(日) 18:09:21ちょっ・・・・今どきかよ(^^;
素直にインターフェイスにしろよ
0912デフォルトの名無しさん
2008/04/13(日) 18:13:470913デフォルトの名無しさん
2008/04/13(日) 18:16:190914デフォルトの名無しさん
2008/04/13(日) 18:28:46baseって地味に便利じゃね?
0915デフォルトの名無しさん
2008/04/13(日) 18:31:290916デフォルトの名無しさん
2008/04/13(日) 18:32:210917デフォルトの名無しさん
2008/04/13(日) 18:38:25class B : public A { public: void hoge() { A::hoge(); } };
in C++
0918デフォルトの名無しさん
2008/04/13(日) 18:43:46多重継承があるならそれしかないよね
0919デフォルトの名無しさん
2008/04/13(日) 18:46:38というのでもいいけどね。
基底クラス増やしただけでエラーになっちゃうけど。
0920881
2008/04/13(日) 18:54:59やはり同じ例外が発生してしまいます。
他に原因と考えられるところはないでしょうか?
よろしくお願い致します。。
0921デフォルトの名無しさん
2008/04/13(日) 19:08:000922デフォルトの名無しさん
2008/04/13(日) 20:26:59Visual C++は独自に__superがあって、
多重継承時は曖昧さなく名前が見つかれば使えるとなっている。
0923デフォルトの名無しさん
2008/04/13(日) 22:26:020924デフォルトの名無しさん
2008/04/13(日) 22:45:19req.KeepAlive = false;
0925デフォルトの名無しさん
2008/04/13(日) 22:47:300926デフォルトの名無しさん
2008/04/13(日) 23:51:450927デフォルトの名無しさん
2008/04/13(日) 23:57:12性的じゃないと無理じゃない?
型から呼べる関数
0928デフォルトの名無しさん
2008/04/14(月) 00:06:590929デフォルトの名無しさん
2008/04/14(月) 00:12:260930デフォルトの名無しさん
2008/04/14(月) 02:09:43ということは、流れが読めなくて、917の最終行が分からないのは、C#スレ的には普通だと
0931デフォルトの名無しさん
2008/04/14(月) 11:20:28ってなもんだけどな
0932デフォルトの名無しさん
2008/04/14(月) 11:43:230933デフォルトの名無しさん
2008/04/14(月) 13:47:290934デフォルトの名無しさん
2008/04/14(月) 15:29:10ttp://temple-knights.com/image/anime/higurashi_cast.jpg
0935デフォルトの名無しさん
2008/04/14(月) 15:55:43スレタイ読むとそうなるのか
0936デフォルトの名無しさん
2008/04/14(月) 16:45:14どの変から学びはじめるといいですか?C言語でもそれっぽく使ってきたが、
オブジェクト脳にはあまりなってないとおもいます。
0937デフォルトの名無しさん
2008/04/14(月) 16:48:44あれを理解すれば、さらに書籍が必要かどうかは、自分で判断できるだろ。
0938デフォルトの名無しさん
2008/04/14(月) 18:40:18ゼロから始めるとして難易度はどの程度でしょうか?
1日2~3時間、プログラムを組むなり勉強するなりすると考えて、大体何ヶ月ぐらいかかるでしょうか?
0939デフォルトの名無しさん
2008/04/14(月) 18:42:55作業時間30分
0940デフォルトの名無しさん
2008/04/14(月) 18:54:500941デフォルトの名無しさん
2008/04/14(月) 18:55:27listViewはView=DatailsでHeaderStyle=Noneです。
listView.Height = listView.Font.Height * (listView.Items.Count-1);
等とやってみたのですがうまくいきませんでした。
0942デフォルトの名無しさん
2008/04/14(月) 19:49:00l / / // ,.ィ´ !', ト、 ヽ. ヽ
. レ′, / //_,..イ// ,| l |lλぃ い. ',
} / { ‐7Ζ_∠!イ 〃 /リ,}/┤!」l 小 !
ノ i| 八//'゛ -`l 〃 /ノ'´ j ! |l/| iイ/
ヽ|l//イ ャ''Tェ歹''`y゙/ 'ヾ歹¨リ`イ!ノ// まさか、ロリコンじゃないわね・・・
) 〃A ``''''"´ '^ r; `'''"´/クK/
Y/ !トヘ. //// //// /.ィi| ;|
|i( l|`Ti\,___ '⌒) ,∠lj_|iリ
{い ヾLr┤:.:.:.:.`:、__,,..イ;:.::.:./勹_」!
``ァ;=<´ ̄``ヽ:ヽ;‐-/;/``Tr-.、
0943デフォルトの名無しさん
2008/04/14(月) 20:12:59勃起したぞ
0944デフォルトの名無しさん
2008/04/14(月) 22:23:36映画のレナと魅音逆じゃん
0945デフォルトの名無しさん
2008/04/14(月) 22:30:17どう思う兄者?
カス揃いだ。
0946デフォルトの名無しさん
2008/04/14(月) 23:21:320947デフォルトの名無しさん
2008/04/15(火) 00:16:080948デフォルトの名無しさん
2008/04/15(火) 10:25:010949デフォルトの名無しさん
2008/04/15(火) 10:32:020950デフォルトの名無しさん
2008/04/15(火) 11:25:09# JavaScript の var とは、暗黙的型付けされている点で全く別物だよね
0951デフォルトの名無しさん
2008/04/15(火) 17:13:16>>3 をよろしく、建てられない場合は報告も
0952950
2008/04/15(火) 17:25:29建てようとしたけど無理だったので、誰か代わりにお願いします。
ふらっとC#,C♯,C#(初心者用) Part27
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
前スレ
ふらっとC#,C♯,C#(初心者用) Part26
http://pc11.2ch.net/test/read.cgi/tech/1206238049/
0953950
2008/04/15(火) 17:26:15http://pc11.2ch.net/test/read.cgi/tech/1200911737/
C♯, C#相談室 Part34
http://pc11.2ch.net/test/read.cgi/tech/1162467959/
【新GUI FW】WPF(XAML,AVALON,.NET3.0)【重い?】
http://pc11.2ch.net/test/read.cgi/tech/1162950198/
Windows Live プログラミング
http://pc11.2ch.net/test/read.cgi/tech/1188112572/
初心者のためのプログラミング言語ガイド Part8
http://pc11.2ch.net/test/read.cgi/tech/1208186034/
0954950
2008/04/15(火) 17:26:45http://google.com/
http://homepage3.nifty.com/midori_no_bike/CS/
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
http://dobon.net/vb/dotnet/
http://jeanne.wankuma.com/tips/
http://www.labasp.net/CsharpNote/
0955デフォルトの名無しさん
2008/04/15(火) 17:44:28ふらっとC#,C♯,C#(初心者用) Part27
http://pc11.2ch.net/test/read.cgi/tech/1208248879/
ちと過疎り気味なので誰か燃料投下して早くこのスレ消化するようにw
0956デフォルトの名無しさん
2008/04/15(火) 17:45:40スレ建て乙です
0957デフォルトの名無しさん
2008/04/15(火) 19:43:29ゼロからC#を始める人間にお薦めな本って無いでしょうか?
0958デフォルトの名無しさん
2008/04/15(火) 19:44:390959デフォルトの名無しさん
2008/04/15(火) 21:21:06マジお勧め
0960デフォルトの名無しさん
2008/04/15(火) 21:37:010961デフォルトの名無しさん
2008/04/15(火) 22:17:180962デフォルトの名無しさん
2008/04/16(水) 01:01:230963デフォルトの名無しさん
2008/04/16(水) 05:00:12環境 VC#2005無料版
デバイス名(例 \Device\HarddiskVolume1)から対応するドライブ名(例 C:)を取得する方法を教えてください。
検索したところ、逆はQueryDosDevice()でできるとわかったのですが…。
0964デフォルトの名無しさん
2008/04/16(水) 05:36:33{
QueryDosDevice(〜);
}
0965デフォルトの名無しさん
2008/04/16(水) 11:24:00[DllImport("kernel32.dll")]
static extern uint QueryDosDevice(string lpDeviceName, StringBuilder lpTargetPath, int ucchMax);
[DllImport("kernel32.dll")]
static extern uint GetLogicalDriveStrings(uint nBufferLength, [Out] char[] lpBuffer);
private const int MAX_PATH = 260;
static string GetNtDeviceNameForDrive(string drive)
{
if (string.IsNullOrEmpty(drive))
{
return null;
}
drive = Path.GetPathRoot(drive).Replace("\\", "");
StringBuilder result = new StringBuilder(MAX_PATH);
QueryDosDevice(drive, result, MAX_PATH);
return Path.Combine(result.ToString().Replace(@"\??\", ""), "");
}
つづく。
0966デフォルトの名無しさん
2008/04/16(水) 11:24:49static StringCollection GetDrives()
{
const int size = 512;
char[] buffer = new char[size];
uint code = GetLogicalDriveStrings(size, buffer);
if (code == 0)
{
return null;
}
StringCollection list = new StringCollection();
int start = 0;
for (int i = 0; i < code; ++i)
{
if (buffer[i] == 0)
{
string s = new string(buffer, start, i - start);
list.Add(s);
start = i + 1;
}
}
return list;
}
つづく。
0967デフォルトの名無しさん
2008/04/16(水) 11:25:35static string GetDriveForNtDeviceName(string deviceName)
{
foreach (string drive in GetDrives())
{
if (GetNtDeviceNameForDrive(drive) == deviceName)
{
return drive;
}
}
return null;
}
static void Main()
{
Console.WriteLine(GetDriveForNtDeviceName(@"\Device\HarddiskVolume1"));
}
おしまい。
0968デフォルトの名無しさん
2008/04/16(水) 19:00:47var deviceName = @"\Device\HarddiskVolume1";
var sb = new StringBuilder(260);
var drive = Enumerable.Range('A', 'Z').Cast<char>().FirstOrDefault(c => (QueryDosDevice(c+":", sb, (uint)sb.Capacity) > 0 && sb.ToString() == deviceName));
// drive(char): A-Z or NULL
0969デフォルトの名無しさん
2008/04/16(水) 20:44:010970デフォルトの名無しさん
2008/04/16(水) 20:47:040971デフォルトの名無しさん
2008/04/16(水) 22:29:052.0,3.0とバージョンを重ねるごとに変態度が上がってない?
ラムダ式、LINQ、密かにジェネリックで条件指定できる拡張メソッドとか、
漏れを含めて初心者はわけわかめなんじゃ
0972デフォルトの名無しさん
2008/04/16(水) 22:32:09Spread for .NET 1.0.6で金額項目に単位を表示させたいので
columnを結合して"XXX,XXX" "円" ていうような処理をしています。
その項目を水平スクロールバーで移動させると、
右の三角ボタンを押すと左端が1セルずつ移動するので
端っこに"円"とか表示されたりするのですが、
これを結合されてる単位でスクロールすることって可能ですか?
0973デフォルトの名無しさん
2008/04/16(水) 22:39:26> ラムダ式、LINQ、密かにジェネリックで条件指定できる拡張メソッド
初心者ならこの辺は知らなくても良いだろ
0974デフォルトの名無しさん
2008/04/16(水) 22:44:15仕事のことを2chで聞く神経が理解できない
嘘教えられたらどうするんだ?
0975デフォルトの名無しさん
2008/04/16(水) 22:56:442chしか頼れない場合もあるんだよ。
別に嘘教えられたって、それの通りにやってみて
動かなければ他の方法を試すだけ。
情報が無いよりはよっぽど役に立つと思うよ。
学校と違って聞く相手が居ないことも多いしな。
0976デフォルトの名無しさん
2008/04/16(水) 22:58:31正論や倫理なんかより、
結果が優先されるのが仕事。
手段を選べないことは仕事の方が多いと思うな。
趣味だったらいくら時間をかけても平気だけど、
仕事だとそうも行かないし。
0977デフォルトの名無しさん
2008/04/16(水) 23:00:07わかったら劇的にコードが短縮されるだけ。
そういう俺もついこの間までは、このスレとかで=>が入ってるコードを見ると
頭の上が?の嵐で「読めねえよ」って思ってたけどね。
0978デフォルトの名無しさん
2008/04/16(水) 23:05:54さすがに有料のコンポーネントになると誰でも持っているわけじゃないので
開発元かサポートに聞いた方が早いと思う。
0979デフォルトの名無しさん
2008/04/16(水) 23:08:51質問後に数レス以内で答えてくれないと流れる可能性大。
その数レスの間に嘘や間違いのレスがあった場合も
その後に問題をちゃんと考えてくれる人がいなくなるという危険性も。
0980デフォルトの名無しさん
2008/04/16(水) 23:18:36質問内容が的確でなおかつスレ違いでないような質問であればほとんどの場合
ちゃんとレスがつくと思うが。
流されちゃってる質問は、情報不足だったりとんちんかんなことを言っている場合がほとんど。
0981デフォルトの名無しさん
2008/04/16(水) 23:26:52いやいや触ってたから覚えてないけど、そもそも"XXX,XXX", "円"を分ける必要なかったキガス。
VBer内では有名みたいだけど出来よくないよ、GrapeCityは。
0982デフォルトの名無しさん
2008/04/16(水) 23:42:28いやレスしたがるような要素がないと無理。
ちなみに>>972の場合はそれが特に表面化していなかったが、
>>974のおかげで話題になった。
どんなに情報を的確に書いてもすぐ次にレスしたがる要素の多い質問が書かれたら
前者の質問はスルーされる。
0983デフォルトの名無しさん
2008/04/16(水) 23:43:220984デフォルトの名無しさん
2008/04/17(木) 02:32:27コレクションまともに使えないぜ
0985デフォルトの名無しさん
2008/04/17(木) 02:33:370986デフォルトの名無しさん
2008/04/17(木) 03:58:480987デフォルトの名無しさん
2008/04/17(木) 08:37:590988デフォルトの名無しさん
2008/04/17(木) 12:14:20「link と読みます。link you と読むな」って開発者が言ってる。
0989デフォルトの名無しさん
2008/04/17(木) 14:30:21当方C#経験、グラフィック周りのプログラム経験はゼロの素人です
0990デフォルトの名無しさん
2008/04/17(木) 14:50:530991デフォルトの名無しさん
2008/04/17(木) 14:53:49・Σや∫の数式を作りやすくする
これが目的です
数式はテンプレートを埋めていく形のを考えています
0992デフォルトの名無しさん
2008/04/17(木) 14:54:36だとすると10年かかっても出来ないけど。
0993デフォルトの名無しさん
2008/04/17(木) 14:56:18それ以外のプログラミング経験は?
0994デフォルトの名無しさん
2008/04/17(木) 15:12:01Office 2007 では、今までの MS Equation 3.0 に代わって、
Microsoft Math Add-in ってのが利用できるようになったんだけど
(要追加インストール、無料)
これだと、s=\sum _(i=1)^n a_i みたいに打てばちゃんと組み版されるようになった。
正直、標準で結構快適に使えるんで、自作の必要性をまず疑う。
0995デフォルトの名無しさん
2008/04/17(木) 15:13:49visioなんて変態は無理なのは分かっています
それの機能の一部に似たようなソフトを作ってみたいと思っています
自作の必要性はたぶん無いです。ほとんど趣味に近い事です
0996デフォルトの名無しさん
2008/04/17(木) 15:23:11趣味ならどこまで出来るかやってみては!?
0997デフォルトの名無しさん
2008/04/17(木) 21:39:22趣味だけど、無駄なことはしたくないという大人の考えだな。
喉いてぇ。
0998デフォルトの名無しさん
2008/04/17(木) 22:37:49何がしたいのか謎な人だな
0999デフォルトの名無しさん
2008/04/17(木) 22:39:291000デフォルトの名無しさん
2008/04/17(木) 22:45:40バスケがしたいです
_____
/ィへヾγ \
///""""""ヽ \
`// / /(ィ ミ|ヾヾヽ
f/ /≦レヾ≧ニ| |i|i|
| イ∠o〉くo\ヽ ||||
| |〃/  ̄ヾ| ||
| |Uヽ_ュ U| |
| | r――、 | |
| | rヒ二三ノ、 | |
|iヽU ((/ハ i i|
||||\__/))/ /||||
ヾ从リヽ三 U/イ从ハリ
/ ̄/| ̄ / \
/ く__<
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。