C#, C♯, C#相談室 Part40
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/06/16(土) 16:40:51前スレ
C#, C♯, C#相談室 Part39
http://pc11.2ch.net/test/read.cgi/tech/1178639189/
過去スレは>>2-5あたり。
0002デフォルトの名無しさん
2007/06/16(土) 16:42:42Part37 http://pc11.2ch.net/test/read.cgi/tech/1169110545/
Part36 http://pc10.2ch.net/test/read.cgi/tech/1165656839/
Part35 http://pc8.2ch.net/test/read.cgi/tech/1162490865/
Part34 http://pc8.2ch.net/test/read.cgi/tech/1157549657/
Part33 http://pc8.2ch.net/test/read.cgi/tech/1153537081/
Part32 http://pc8.2ch.net/test/read.cgi/tech/1149934230/
Part31 http://pc8.2ch.net/test/read.cgi/tech/1145075577/
Part30 http://pc8.2ch.net/test/read.cgi/tech/1141448072/
Part29 http://pc8.2ch.net/test/read.cgi/tech/1138925245/
Part28 http://pc8.2ch.net/test/read.cgi/tech/1134514022/
Part27 http://pc8.2ch.net/test/read.cgi/tech/1131544541/
Part26 http://pc8.2ch.net/test/read.cgi/tech/1127063469/
Part25 http://pc8.2ch.net/test/read.cgi/tech/1122352650/
Part24 http://pc8.2ch.net/test/read.cgi/tech/1117631000/
0003デフォルトの名無しさん
2007/06/16(土) 16:43:26Part22 http://pc8.2ch.net/test/read.cgi/tech/1109630502/
Part21 http://pc5.2ch.net/test/read.cgi/tech/1106490240/
Part20 http://pc5.2ch.net/test/read.cgi/tech/1103005153/
Part19 http://pc5.2ch.net/test/read.cgi/tech/1100240847/
Part18 http://pc5.2ch.net/test/read.cgi/tech/1096112588/
Part17 http://pc5.2ch.net/test/read.cgi/tech/1091284402/
Part16 http://pc5.2ch.net/test/read.cgi/tech/1087297504/
Part15 http://pc5.2ch.net/test/read.cgi/tech/1083066815/
Part14 http://pc5.2ch.net/test/read.cgi/tech/1076933504/
Part13 http://pc2.2ch.net/test/read.cgi/tech/1071663456/ (ログ行方不明)
Part12 http://pc5.2ch.net/tech/kako/1066/10660/1066038651.html
Part11 http://pc5.2ch.net/tech/kako/1061/10612/1061262958.html
0004デフォルトの名無しさん
2007/06/16(土) 16:44:07Part9 http://pc2.2ch.net/tech/kako/1039/10396/1039646808.html
Part8 http://pc3.2ch.net/tech/kako/1032/10324/1032488831.html
Part7 http://pc3.2ch.net/tech/kako/1027/10275/1027531796.html
Part6 http://pc3.2ch.net/tech/kako/1022/10222/1022257078.html
Part5 http://pc3.2ch.net/tech/kako/1019/10195/1019533942.html
Part4 http://pc.2ch.net/tech/kako/1016/10165/1016597767.html
Part3 http://pc.2ch.net/tech/kako/1009/10094/1009473982.html
Part2 http://pc.2ch.net/tech/kako/1002/10024/1002468050.html
Part1 http://pc.2ch.net/tech/kako/977/977112364.html
0005デフォルトの名無しさん
2007/06/16(土) 16:44:49http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/
ふらっとC♯, C#(初心者用) Part16
http://pc11.2ch.net/test/read.cgi/tech/1179313212/
MSDNライブラリ
http://msdn.microsoft.com/library/ja/
MSDN2
http://msdn2.microsoft.com/ja-jp/library/default.aspx
pinvoke.net: the interop wiki!
http://pinvoke.net/
0006デフォルトの名無しさん
2007/06/16(土) 16:46:14http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/
.NET Framework SDK (2.0)
http://msdn2.microsoft.com/ja-jp/library/ms310244.aspx
MSDN Visual C# Express Edition フォーラム
http://forums.microsoft.com/msdn-ja/ShowForum.aspx?ForumID=187&SiteID=7
Visual Studio ユーザーグループ
http://vsug.jp/
@IT Insider.NET
http://www.atmarkit.co.jp/fdotnet/index.html
Insider.NET 会議室 ディレクトリ
http://www.atmarkit.co.jp/fdotnet/index/bbs/index.html
宇宙仮面の C# プログラミング / C# Programming
http://ukamen.hp.infoseek.co.jp/
WisdomSoft C#入門
http://wisdom.sakura.ne.jp/programming/cs/index.html
WisdomSoft Microsoft .NET入門
http://black.sakura.ne.jp/~third/system/msnet/msnet.html
どっとねっとふぁん
http://dotnetfan.org/
緑のバイク 初めてのC# 〜 覚え書き 〜
http://homepage3.nifty.com/midori_no_bike/CS/
どぼん!の .NET Tips
http://dobon.net/vb/dotnet/
0007デフォルトの名無しさん
2007/06/16(土) 16:57:040008デフォルトの名無しさん
2007/06/16(土) 16:58:35http://www.borland.com/jp/products/csharpbuilder/index.html
Turbo C#
http://www.turboexplorer.com/csharp
.NET Framework 1.1 製品ドキュメント
http://www.microsoft.com/japan/msdn/library/ja/netstart/html/sdkstart.asp
MSDN ライブラリ 2006 年 12 月版
http://www.microsoft.com/downloads/details.aspx?FamilyID=94596af5-cc58-45af-a14b-df627a31e783&DisplayLang=ja
0009デフォルトの名無しさん
2007/06/16(土) 17:06:39そんなに俺のことが嫌いなのかよ? このフナムシ!
0010デフォルトの名無しさん
2007/06/16(土) 17:09:01新たな気持ちで参りましょう
0011デフォルトの名無しさん
2007/06/16(土) 19:11:59正規表現で置換する以外に、文字列内に含まれる変数名を展開する便利関数てないですか?
string str = "あいうえおabcけこ";
abc = "かきく";
0012デフォルトの名無しさん
2007/06/16(土) 19:15:30ループまわして String.Replace 使ってけばいいだろ
0013デフォルトの名無しさん
2007/06/16(土) 19:43:43変数名はどうやって取得するんだ?
きめうちか?
0014デフォルトの名無しさん
2007/06/16(土) 19:53:310015デフォルトの名無しさん
2007/06/16(土) 19:58:24変数名を使ったプログラムは書かないほうがいい。
0016デフォルトの名無しさん
2007/06/16(土) 20:10:49変数名はメタ次元のものであり、それを使ってテキストと比べるのは良くない。
アルゴリズムとデータ構造がOOPと別の意味で混じってしまう。
変数のコンパイル後の内部表現とテキストが必ず同じかどうかもわからないような気もするし。
また他の言語では使えない場合が多い。
0017デフォルトの名無しさん
2007/06/16(土) 20:14:49FieldInfo[] fields = type.GetFields(
BindingFlags.Public|BindingFlags.NonPublic|BindingFlags.Static|BindingFlags.Instance);
foreach (FieldInfo field in fields){
string name = field.Name;
if (str.Contains(name)){str = str.Replace(name, field.GetValue(instance).ToString());}
}
return str;
}
static string abc = "かきく", def = "さしすせそ";
public static void Main(){
string str = "あいうえおabcけこdef";
Console.WriteLine(便利関数(str, typeof(このクラスの名前), null));}
調子に乗ってやってしまった
絶対使うなよw
0018デフォルトの名無しさん
2007/06/16(土) 20:25:17文字列に意図しないstrが入っていたら...
001911
2007/06/16(土) 23:02:40perlでいうevalみたいなチョロで出来てしまうのがあればなぁと思ったんだけど。
message = "あなたの年齢はage才です。";
みたいな定型分を用意して、age部分だけ変化するみたいな。
自分でしかこの定型文の場所はいじらないから他の変数名が入るという事はないんだけど。
message1, message2みたいにしてくっつければいいだけだけど、1個にしたかったので。
0020デフォルトの名無しさん
2007/06/16(土) 23:05:540021デフォルトの名無しさん
2007/06/17(日) 00:12:32エロゲでもつくるのか?
0022デフォルトの名無しさん
2007/06/17(日) 00:39:05そうでないなら>>20みたいにFormat使うのが無難。
0023デフォルトの名無しさん
2007/06/17(日) 00:56:56文字列リソースが大変そうだな〜
0024デフォルトの名無しさん
2007/06/17(日) 01:06:50message = "あなたの年齢は%age%才です。";
やるんならうっかり固定テキストと被らないように↑みたいなことしてループで置換しまくれ、このフナムシ!
0025デフォルトの名無しさん
2007/06/17(日) 02:06:53すぐ忘れてしまうようなら濫用しないほうがいいとおもうけど
0026デフォルトの名無しさん
2007/06/17(日) 02:16:22string[] strArr = { "4e", "4f", "50", "51" };
string [] の配列 "N", "O", "P", "Q" に変換するには
どうしたらよいのでしょうか?
0027デフォルトの名無しさん
2007/06/17(日) 02:30:07for (int i = 0; i < strArr.length; ++i){
result[i] = Convert.ToChar(byte.Parse(strArr[i], NumberStyles.HexNumber)).ToString();
}
0028デフォルトの名無しさん
2007/06/17(日) 02:43:18夜遅くにありがとう
0029デフォルトの名無しさん
2007/06/17(日) 02:46:130030デフォルトの名無しさん
2007/06/17(日) 02:47:54string[] result = Array.ConvertAll(strArr, delegate(string hex) { Convert.ToChar(byte.Parse(hex, NumberStyles.HexNumber)).ToString(); });
0031デフォルトの名無しさん
2007/06/17(日) 13:04:30ソートできないのですが、どうすればソートできるようになるでしょうか?
よろしくお願いします。
0032デフォルトの名無しさん
2007/06/17(日) 13:15:060033デフォルトの名無しさん
2007/06/17(日) 13:18:070034デフォルトの名無しさん
2007/06/17(日) 14:25:26DataGridViewの方はBindingSource以外は何もいじっていません。
0035デフォルトの名無しさん
2007/06/17(日) 15:35:250036デフォルトの名無しさん
2007/06/17(日) 21:21:33SomeClass.Set(int value);
というメソッドがあって、enum で渡したいのですが、
複数の種類の enum を渡したいと考えています。
SomeClass.Set((int)SomeEnum.One);
とすることはできるのですが、いちいちキャストするのがあまりスマートではないので、
もっと良い方法はないでしょうか?
0037デフォルトの名無しさん
2007/06/17(日) 21:23:450038デフォルトの名無しさん
2007/06/17(日) 21:40:580039デフォルトの名無しさん
2007/06/17(日) 21:59:230040デフォルトの名無しさん
2007/06/17(日) 22:00:27横からすまそ、enum のオーバーロードってどうやるの?
0041デフォルトの名無しさん
2007/06/17(日) 22:03:04SomeClass.Set(PrimaryColor value);
SomeClass.Set(LightColor value);
みたいなことを言ってるんだろたぶん
0042デフォルトの名無しさん
2007/06/17(日) 22:04:01あー、それじゃ、enum が増えたときに対応できないね。
0043デフォルトの名無しさん
2007/06/17(日) 22:05:16包含したenumとは?
0044デフォルトの名無しさん
2007/06/17(日) 22:05:28enumにそれを求めるのは間違いだろ
OOP的にやれよ
0045デフォルトの名無しさん
2007/06/17(日) 22:12:120046デフォルトの名無しさん
2007/06/17(日) 22:13:190047デフォルトの名無しさん
2007/06/17(日) 22:19:08単に興味があるだけなんで別に答えなくてもいいけど。
0048デフォルトの名無しさん
2007/06/17(日) 23:34:39ふらっとC♯, C#(初心者用) Part16
http://pc11.2ch.net/test/read.cgi/tech/1179313212/
0049デフォルトの名無しさん
2007/06/18(月) 10:58:58がでます。解決法を教授いただけないでしょうか?
public class TestClass<T>
{
public T Value;
public static TestClass<T> ConstValue = new TestClass<T>();
}
static Main()
{
TestClass<int> test = TestClass<int>.ConstValue;
}
}
0050デフォルトの名無しさん
2007/06/18(月) 11:12:58コンパイルも通るし動いてるけど
0051デフォルトの名無しさん
2007/06/18(月) 21:30:230052デフォルトの名無しさん
2007/06/18(月) 21:32:340053デフォルトの名無しさん
2007/06/19(火) 02:15:41xmlからxsdと通してDataGridViewにデータを表示し編集したりしようとしてるんですが
CheckBoxにチェックしたら、xmlではTrueになりTextBox内容はそのまま残るまではわかります。
ただ、Buttonの項目だけ、xmlに情報として残りません。
実際したいことは、ButtonでColorDialogを表示し、Buttonセル自体をそのColorDialog
で設定した色で色づけして、その後TextBoxから読み込んだ文字列を他の処理にあてるとき
その色を使うため、色見本として表示させてるんですが、xmlにそのButtonに関する情報が
記録されないため、閉じて、再度開いたら、色が元通りの白になります。
xmlにそんな情報まで残せないのでしょうか。
すいませんが、対処法を教えてください。
0054デフォルトの名無しさん
2007/06/19(火) 02:37:37これが理解できたらおれはあの娘に結婚申し込む
0055デフォルトの名無しさん
2007/06/19(火) 06:33:18ちなみにできれば 1.1 で。 2+ なら ReadKey 使えそうなんですが。
0056デフォルトの名無しさん
2007/06/19(火) 06:47:130057デフォルトの名無しさん
2007/06/19(火) 23:02:58無理じゃないか?
xmlにはデータセットを通してデータが保存されている。
データは常識的には、
チェックボックスにはチェックの状態、
テキストボックスにはテキストとなるだろう。
ではボタンのデータって何だ?
0058デフォルトの名無しさん
2007/06/19(火) 23:08:490059デフォルトの名無しさん
2007/06/20(水) 09:28:25以前作ったFileEnum(仮名)というクラスがあって、EnumDir(path, pattern)という
メソッドを呼ぶと、ディレクトリを再帰走査して、ディレクトリ一個ずつ
FindDirイベントが発生する、というものです。
Abort()メソッドも付けてあって、従来のスレッド処理やDoEvents()を使った方法で
中止させることができます。
こいつをBackgroundWorkerで処理させようと思い、とりあえずキャンセルボタンを
増設してBackgroundWorker.CancelAsync()を呼ぶようにしました。
資料を読むと、キャンセルさせたいときには
DoWork イベント内でCancellationPendingプロパティを監視してDoWorkEventArgs.Cancel
を設定しろ、ということらしいです。
しかし上記のクラスだとDoWork内で呼び出したFileEnum.EnumDir()メソッドが、
いったんこちらにお返しするのが別のイベントになってるので、
DoWorkEventArgsを参照できないので困っています。
DoWorkEventArgsは無視して、FindDirイベントの中でCancellationPending=trueなら
FileEnum.Abort()しとけばいいんでしょうか?
それはよくないという場合、たとえば
DoWorkEventArgsを呼び出しフォームのフィールドに代入してFindDirイベントで参照
するとか考えたんですが、
ほかにうまい方法があったら教えてください。
ながくてすまん。
0060デフォルトの名無しさん
2007/06/20(水) 12:33:52なんかそもそもスレッドの意味が分かってなさそう。。
真面目に勉強するのが結局一番早道だと思うよ。
少なくともスレッドの意味も知らずにスレッド使うのは無理無駄ムラ。
0061デフォルトの名無しさん
2007/06/20(水) 13:36:280062デフォルトの名無しさん
2007/06/20(水) 13:37:53今も目の前でプログラムくんでるけど。
0063デフォルトの名無しさん
2007/06/20(水) 14:42:000064デフォルトの名無しさん
2007/06/20(水) 20:04:430065デフォルトの名無しさん
2007/06/20(水) 20:58:17kwsk
0066デフォルトの名無しさん
2007/06/20(水) 21:00:220067黒い風 ◆ZL/4ZL7WZU
2007/06/20(水) 21:05:040068デフォルトの名無しさん
2007/06/20(水) 21:07:110069デフォルトの名無しさん
2007/06/20(水) 21:25:580070デフォルトの名無しさん
2007/06/20(水) 21:30:550071デフォルトの名無しさん
2007/06/20(水) 21:33:240072デフォルトの名無しさん
2007/06/21(木) 00:44:040073デフォルトの名無しさん
2007/06/21(木) 00:49:160074デフォルトの名無しさん
2007/06/21(木) 00:50:030075デフォルトの名無しさん
2007/06/21(木) 00:50:40いつの時代の話ですか
0076デフォルトの名無しさん
2007/06/21(木) 01:03:03テストした人教えて。
0077デフォルトの名無しさん
2007/06/21(木) 01:11:52マルチコアでマルチスレッドにして高速化なんてのは
並列計算業界では常識的に行われている事。
0078デフォルトの名無しさん
2007/06/21(木) 01:12:160079デフォルトの名無しさん
2007/06/21(木) 01:13:05UNIXとかはね。
0080デフォルトの名無しさん
2007/06/21(木) 01:15:360081デフォルトの名無しさん
2007/06/21(木) 01:21:400082デフォルトの名無しさん
2007/06/21(木) 02:08:14string my_url = "http://www.yahoo.co.jp";
HttpWebRequest req = WebRequest.Create(my_url) as HttpWebRequest;
HttpWebResponse res = null;
try
{
res = req.GetResponse() as HttpWebResponse;
}
catch
{
textBox1.Text = "指定した Web ページが応答していません!";
return;
}
StreamReader reader = new StreamReader(res.GetResponseStream(),
Encoding.GetEncoding("EUC-JP"));
textBox1.Text = reader.ReadToEnd();
System.Xml.XmlDataDocument doc= new System.Xml.XmlDataDocument();
String xml = textBox1.Text;
doc.LoadXml(xml);
yahooのウェブページをXMLDocumentにしたいのですが、LoadXmlのところで
6 行目にある開始タグ 'meta' と、終了タグ 'head' とは対応していません。 行 306、位置 3 です。
というエラーになり止ってしまいます。
metaとheadに対応していないということでしょうか。
解決策はありますでしょうか?
0083デフォルトの名無しさん
2007/06/21(木) 02:16:09どうしても読み込ませたいなら、自力でXHTMLに変換してから読み込ませてくださいw
0084デフォルトの名無しさん
2007/06/21(木) 02:21:54あり。
ではウェブページの構造解析をするのは
自力でやるかWebBrowser経由でやるかどっちかなんですね・・
0085デフォルトの名無しさん
2007/06/21(木) 05:28:300086デフォルトの名無しさん
2007/06/21(木) 10:10:21Accessのクロスクエリみたいな処理作ってるんだけど、データ発生順に列を生成してるから列が発生順になるんだ
教えてエロい人
0087デフォルトの名無しさん
2007/06/21(木) 10:57:05データを表示する時に希望の並び順でさえあればいいならDataGridView.DisplayIndex
0088デフォルトの名無しさん
2007/06/21(木) 11:11:06マルチコアなどならスレッドわけも利点があろうもん。
0089デフォルトの名無しさん
2007/06/21(木) 11:23:01thx
最終的にFlexGridとかいうグリッドコントロールのDataSourceにぶっ込むたかったので
グリッドにぶっ込んだ後で整形すればいいだけか
0090デフォルトの名無しさん
2007/06/21(木) 13:08:13引っかからなかったときはif(listbox.Items.Count == 0)としています。
このとき、また新たに検索して店舗がリストボックスに表示されるときに
店舗名ではなく、System.Data.DataRowViewと表示されてしまいます。
検索に引っかからなかったときだけ上記のように表示されてしまい困ってます。
DisplayMemberなどを追加してあげても駄目なんです。
どうすればいいでしょうか?
OleDbDataAdapter oleda;
DataSet dataSet11 = new DataSet("SHOP_MST");
oleda = new OleDbDataAdapter("SELECT〜(略);
oleda.Fill(dataSet11,"SHOP_MST");
listbox.DataSource = dataSet11.Tables["SHOP_MST"];
listbox.DisplayMember = "SHOP_JP_NAME";
listbox.SelectedValue = "SHOP_JP_NAME";
if(listbox.Items.Count == 0)
{
MessageBox.Show("店舗が見つかりませんでした。");
MessageBox.Show("日付はyyyy/MM/dd形式で入力してください。");
return;
009190
2007/06/21(木) 13:14:350092デフォルトの名無しさん
2007/06/21(木) 13:35:05ItemsじゃなくてRowsじゃね?
009390
2007/06/21(木) 13:48:05009492
2007/06/21(木) 13:52:38oleda.Fill(dataSet11,"SHOP_MST");
の後に
if(dataSet11.Tables["SHOP_MST"].Rows.Count == 0)
が良いんじゃまいかとオモタ
009590
2007/06/21(木) 13:57:53009692
2007/06/21(木) 14:39:56OleDbDataAdapter oleda;
DataSet dataSet11 = new DataSet("HOGE");
dataSet11.Tables.Add("SHOP_MST");
oleda = new OleDbDataAdapter("SELECT〜(略");
oleda.Fill(dataSet11,"SHOP_MST");
MessageBox.Show(dataSet11.Tables["SHOP_MST"].Rows.Count.ToString());
009790
2007/06/21(木) 16:06:340098デフォルトの名無しさん
2007/06/21(木) 16:08:23データの取得自体は上手くいってるの?
009990
2007/06/21(木) 16:13:42010092
2007/06/21(木) 16:13:590101デフォルトの名無しさん
2007/06/21(木) 16:27:27010290
2007/06/21(木) 16:34:530103デフォルトの名無しさん
2007/06/21(木) 16:37:13010492
2007/06/21(木) 16:37:47データ取得できる状態にしてDisplayMemberの行をコメントにしてみればなんとなく分かる
DataTableが0行でもListBoxには型名が貼り付けられるからItemsの数をかぞえちゃだめなんだよ
Rows.Countが通らない理由はシラネ
010590
2007/06/21(木) 16:37:48MessageBox.Show(listBox.Text)で表示させてみると
そっちはきちんと店名が表示されてます・・・
010692
2007/06/21(木) 16:54:01010790
2007/06/21(木) 16:54:29if(listbox.Items.Count == 0)を無くしてみたのですが
検索が0件だった場合=表示がおかしくなってしまうみたいです。
010890
2007/06/21(木) 17:04:43{
try
{
if(DateTime.Parse(textBox1.Text) > DateTime.Parse(textBox2.Text))
{
MessageBox.Show("日付を正しく入力してください。");
return;
}
else
{
OleDbDataAdapter oleda;
DataSet dataSet11 = new DataSet("SHOP_MST");
oleda = new OleDbDataAdapter("SELECT〜);
oleda.Fill(dataSet11,"SHOP_MST");
listbox.DataSource = dataSet11.Tables["SHOP_MST"];
listbox.DisplayMember = "SHOP_JP_NAME";
listbox.SelectedValue = "SHOP_JP_NAME";
}
if(listbox.Items.Count == 0)
{
MessageBox.Show("店舗が見つかりませんでした。");
}
}
catch
{
MessageBox.Show("日付を正しく入力してください");
}
}
010990
2007/06/21(木) 17:06:000110デフォルトの名無しさん
2007/06/21(木) 17:09:340111デフォルトの名無しさん
2007/06/21(木) 17:24:55mdb相手に全く同じコード使っても再現できず
("SELECT〜);と略した部分にでも問題があるんでね?
0112デフォルトの名無しさん
2007/06/21(木) 17:28:29前に質問してた方ですねw
ふらっとに移らなかったの?
011392
2007/06/21(木) 17:31:03これでだめならSQL見直さないとだめだな
書き込もうとしたら改行多いって言われたのでインデントは変だけどキニシナイ
private void buttom1_Click(object sender, System.EventArgs e)
{ try {
if(DateTime.Parse(textBox1.Text) > DateTime.Parse(textBox2.Text))
{ MessageBox.Show("日付を正しく入力してください。");
return;
} else
{
OleDbDataAdapter oleda;
DataSet dataSet11 = new DataSet("HOGE");
dataSet11.Tables.Add("SHOP_MST");
oleda = new OleDbDataAdapter("SELECT");
oleda.Fill(dataSet11.Tables["SHOP_MST"]);
if (dataSet11.Tables["SHOP_MST"].Rows.Count == 0)
{ MessageBox.Show("データ無い");
return;
} listBox1.DataSource = dataSet11.Tables["SHOP_MST"];
listBox1.DisplayMember = "SHOP_JP_NAME";
}
}
catch
{ MessageBox.Show("日付を正しく入力してください");
}
}
011490
2007/06/21(木) 17:31:180115デフォルトの名無しさん
2007/06/21(木) 17:35:51じゃあ相手にするだけ無駄だったな
0117デフォルトの名無しさん
2007/06/21(木) 17:40:040118デフォルトの名無しさん
2007/06/21(木) 17:46:21011992
2007/06/21(木) 17:47:26何が問題なのか理解しないみたいだし・・・
>117
SelectedValueは消してみた
0120111
2007/06/21(木) 17:51:39俺の環境じゃあのコードでも動いたよ
(ValueMemberに直しとSQL文作成と接続文字列は自前のだけど)
前スレじゃDataGrid使いたいと書いてたから.NET1.1の問題なんだろうか
0121デフォルトの名無しさん
2007/06/21(木) 18:01:26俺たちはお前の友達でもお兄さんでも先輩でもない。
まあ面白けりゃ何でもありだけど。
0122デフォルトの名無しさん
2007/06/21(木) 23:19:37やっぱり使い方自体変ですよね?
このスタイルでVB6時代からたまってるコード資産があるもんで、
おとなしくDoEventsでキャンセルを受け付ける方向でいきます。
新しいクラスやモデルはそれにあったコードで生かせということですね。
0123デフォルトの名無しさん
2007/06/21(木) 23:23:22コールバック渡すか IEnumerable<T> でも返せばいいじゃん、と。
0124デフォルトの名無しさん
2007/06/22(金) 11:54:00たとえばSQL-DMOなんか、進捗をイベントで返すんですよ。
で、その手法をパクッてたんです・・・
0125デフォルトの名無しさん
2007/06/22(金) 12:41:160126デフォルトの名無しさん
2007/06/22(金) 12:51:07今は、
public class hoge
{
public fuga[] f1;
}
ってやってるんだけどf1配列から項目削除する方法で悩んでたり
こういう場合はArrayListにしたほうが良いのかね?
0127デフォルトの名無しさん
2007/06/22(金) 13:10:150128デフォルトの名無しさん
2007/06/22(金) 13:32:28これは知らんかった
こないだリリースしたプログラム直したくなってきた・・・orz
0129デフォルトの名無しさん
2007/06/22(金) 13:39:180130デフォルトの名無しさん
2007/06/22(金) 13:43:10ですか?
0131デフォルトの名無しさん
2007/06/22(金) 13:47:490132デフォルトの名無しさん
2007/06/22(金) 13:48:19ってどっちにしろVS2003じゃ使えなかったのか
今やってる作業からVS2005だったから丁度良いタイミングで知れたのかな
0133デフォルトの名無しさん
2007/06/22(金) 15:57:59>これは知らんかった
新機能の一覧に位目を通せよ・・・・
目玉機能の一つだったと記憶しているが・・・
0134デフォルトの名無しさん
2007/06/22(金) 16:31:230135デフォルトの名無しさん
2007/06/22(金) 17:01:590136デフォルトの名無しさん
2007/06/22(金) 17:04:260137デフォルトの名無しさん
2007/06/22(金) 17:36:500138デフォルトの名無しさん
2007/06/22(金) 17:38:260139デフォルトの名無しさん
2007/06/22(金) 17:47:490140デフォルトの名無しさん
2007/06/22(金) 17:51:460141デフォルトの名無しさん
2007/06/22(金) 17:56:090142デフォルトの名無しさん
2007/06/22(金) 18:33:050143デフォルトの名無しさん
2007/06/22(金) 18:35:260144デフォルトの名無しさん
2007/06/22(金) 18:37:070145デフォルトの名無しさん
2007/06/22(金) 18:43:500146デフォルトの名無しさん
2007/06/22(金) 18:44:000147デフォルトの名無しさん
2007/06/22(金) 18:47:440148デフォルトの名無しさん
2007/06/22(金) 18:47:49内部クラスでインターフェイスを実装するのとそんなに変わらん
0149デフォルトの名無しさん
2007/06/22(金) 20:29:54その開発環境のOSは、Windows Vistaなのですが、実行ファイルをもらう時に、
いったん、WindowsXPで、再コンパイルしているので、何故か?と聞いたところ、
Vistaの環境コンパイルしたものは、WindowsXPで動かない、という話を聞きました。
こういったことはあるのでしょうか?
情報や、解決策等のwebページを見つけられませんでした。
どこかにありますでしょうか?
0150デフォルトの名無しさん
2007/06/22(金) 20:31:48確かに。
イテレータが、yieldで書けるなんて、スクリプト言語かとおもたよ。
Delphiなんて、yieldないから、イテレータ書くの四苦八苦ですぜ。
0151デフォルトの名無しさん
2007/06/22(金) 20:49:42ありえない。
はず。
0152デフォルトの名無しさん
2007/06/22(金) 20:58:17でいいの?
0153デフォルトの名無しさん
2007/06/22(金) 21:04:480154デフォルトの名無しさん
2007/06/22(金) 21:05:19ども。
0155デフォルトの名無しさん
2007/06/22(金) 21:15:34public void DoAction(){
処理1();
yield return;
処理2();
yield return;
}
とかできるようにしてしまえばよかったのに
0156デフォルトの名無しさん
2007/06/22(金) 21:17:42入れてないから知らないけど
0157デフォルトの名無しさん
2007/06/22(金) 21:18:26VB6とかならありそうだけど
フレームワークさえあればどの環境でも動くのがうりなはずなんだが・・・
一応ウチの収めてるのは動いてるっぽいけど
0158デフォルトの名無しさん
2007/06/22(金) 22:04:55思い込んでる人にはあったことがあるな。
よほどのことが無ければAnyCPUでOKなのだが。
0159デフォルトの名無しさん
2007/06/22(金) 22:14:44.NET FRAMWORKのバージョンの互換性を気にしてるんじゃないの?
基本バージョン間の互換性はあると思っていいみたいだけど、
ものによってはってこともあるみたいだし。
両方3.0入れてるんなら関係ないんじゃないかと。
(OSの違いの話しは聞いた事無い。.NET FRAMWORKの違いね)
.NET CLR アセンブリあたりでぐぐってみるか
↓あたりを参考にするかかな まあ、ややこしいはなしだわね
http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_index/index.html
http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_05/idnfw11_05_02.html
本では プログラミングMicrosoft .NET Framework あたりとかかな
0160デフォルトの名無しさん
2007/06/22(金) 22:46:510161デフォルトの名無しさん
2007/06/22(金) 23:12:11そんな下らんことでいちいちつっかかるな! このフナムシ!
0162デフォルトの名無しさん
2007/06/22(金) 23:26:450163デフォルトの名無しさん
2007/06/23(土) 01:33:440164デフォルトの名無しさん
2007/06/23(土) 09:18:560165デフォルトの名無しさん
2007/06/23(土) 09:56:51置き換えや削除は一切無いんじゃなかったか
0166デフォルトの名無しさん
2007/06/23(土) 09:57:040167149
2007/06/23(土) 12:31:05.NET Framework使う限りはありえないと思うのですが・・・
>http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_index/index.html
>http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_05/idnfw11_05_02.html
0168149
2007/06/23(土) 12:33:07>http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_index/index.html
>http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_05/idnfw11_05_02.html
複雑な話ですね。
C#やってなくても、頭が痛くなります・・・
とりあえず、.NET Framworkのバージョンを調べてみたいと思います。
Vistaで、3.0で開発してて、XP 2.0しか入ってないなんて、こともあるんだろうか。
3.0の機能なんて使ってないはずなのになあ・・・
0169デフォルトの名無しさん
2007/06/23(土) 14:28:200170デフォルトの名無しさん
2007/06/23(土) 15:10:190171デフォルトの名無しさん
2007/06/23(土) 15:12:23無能なやつはどこにでもいる
0172デフォルトの名無しさん
2007/06/23(土) 16:50:540173デフォルトの名無しさん
2007/06/23(土) 17:00:36.NET 3.0で動いてるとか、WPFやWCFが使えるとかいうのはどうやって判断したらいいのだろう。
0174デフォルトの名無しさん
2007/06/23(土) 17:05:120175デフォルトの名無しさん
2007/06/23(土) 17:55:05http://&rlo;. … ■ ▪ ▬◣〓▀▀■▇▆▅▄▂ ▪ ▂ ▐▂▲〓▀◤◢ ▂
http://&rlo;・ ▪ ▃∵ ¨▂ ■ ▪ ▀■▅▂. ▼◣◥ ▼ ▍
http://&rlo;▂▄◣◥〓■██■▇▆▅▄▂¨& ▀█▇◢& ◤◢ ◣▐ ▅ ◤◢ ▍▀
http://&rlo;. ▪ ∴ ◣◥ ▀▀〓■██▇▆▅██▅▂ ■ ▍ ■◢ ▅ ▍
http://&rlo;◣◥& ■& ▅.… ∴ ▪ ▀███████▇▅▐ ◣▐ ▂ ▐
http://&rlo;▂▄▃▄▂■ ▪& ▂▃▆████████▇▆▅◥▀ ▂◣▀
http://&rlo;‥∴ ■ ▪ ▀▀▀■▀▀▀ ¨& ■ ▀▅▄▂▄◣◥
0176デフォルトの名無しさん
2007/06/23(土) 18:02:090177デフォルトの名無しさん
2007/06/23(土) 23:20:070178デフォルトの名無しさん
2007/06/24(日) 16:55:21ファイル送信中の情報量を受け取れるメソッドとかがあるのでしょうか?
0179デフォルトの名無しさん
2007/06/24(日) 16:58:37マルチは死ね
0180デフォルトの名無しさん
2007/06/24(日) 20:40:30前にも書いてあったけど送るときに分割して送って、進捗度を自分で計算して表示。
以上。
あ、書き忘れていた。
馬鹿。
0181デフォルトの名無しさん
2007/06/24(日) 20:45:26http://&rlo;◣▇██ ██▇◢
http://  ـ▅▅▅ ◤◢ـ ◥◣
http://  ـ█●█ ◤◢ـ ◥◣
http://  ـ█▊ ▀▀▀▊ ▊█■ـ▍
http://  ـ▀▀▀▀▀▀▀▀▀▀■ـ▍
http://ـ▅▅▅▅▅▅▅ ▐▂▂ ـ ▐▂▂
http://ـ▂▅▅▅▃▃▅ ▐▐ ▍ ـ ▍ ▐ ▐
http://ـ▅▃▃▅▅▅▂ ▐▐ ▍ ـ ▍ ▐ ▐
http://ـ▅▅ ▃ ▐▂▐ ـ▐ ▐▂▌
http://ـ██ ▍ ▍ ▐ ▐ ـ▐ ▍ ▐ ▌
http://ـ▀▀ ▍ ▍ ▐ ▐ ـ ▂▍ ▐ ▌
http://ـ▅ ▐ ▐▍ ▇▇ ▍ ▍ ▐▅ ▐ـ▍
▐▂▂▍▀〓〓〓〓〓〓▀▐▂▂▍
▍ ▂ ▍ ▀▃▃▃▃▃▀ ▍▂ ▍
▐▃▃▃▍ ▐▂▂▍ ▐▃▃▃▍
▐ █ ▍
▐▂▀▂▍
0182デフォルトの名無しさん
2007/06/24(日) 20:47:24残念ながらお前は馬鹿だ。
0183デフォルトの名無しさん
2007/06/24(日) 21:26:44.NET 2.0をターゲットにしてるんですが
メディアプレイヤーのコンポーネントでビデオ再生をしてるんですが
ここにニコニコ動画のような上から文字を入れるようにしたいんです。
メディアプレイヤーのメソッドにはそのようなものは発見出来なかったのですが、C♯で実現出来ないのでしょうか?
0184デフォルトの名無しさん
2007/06/24(日) 21:34:25ちなみにC++にもない。
Direct Showで頑張れ。
0185デフォルトの名無しさん
2007/06/24(日) 23:03:32発想がステキ
0186183
2007/06/24(日) 23:20:35どうも。
やっぱり無いんですか。。。
DSでがんばります。
>>185
2003年ごろだったかな。
動画と字幕を扱う規格をMSがやろうとしてて
WMPに取り込まれるはずだったのよ。
実現はしなかったけど、それ絡みで残ってないかな と
0187デフォルトの名無しさん
2007/06/25(月) 00:14:320188デフォルトの名無しさん
2007/06/25(月) 00:32:450189デフォルトの名無しさん
2007/06/25(月) 04:00:17ActiveXコントロールを作りたいのですが・・・
どっかのサイトで、クラスライブラリにユーザーコントロールを追加して、
プロジェクトの設定で「COM の相互運用機能に登録する」を有効にすれば作れると書いてありました。
しかし、これをHTMLに書き込んだ所、オブジェクトにそんなメソッドはないよと言われました。
色んなサイトを見ると、このActiveXモドキだと特殊なツールで登録しないといけないとか、インストーラーが必要だとか書いてましたが
実際のところ、よくあるFlashコントロールのインストールのような形で簡単にユーザーがブラウザ上で導入出来るような方法は無いのでしょうか?
0190デフォルトの名無しさん
2007/06/25(月) 09:11:490191デフォルトの名無しさん
2007/06/25(月) 09:25:180192デフォルトの名無しさん
2007/06/25(月) 09:30:230193デフォルトの名無しさん
2007/06/25(月) 09:39:310194デフォルトの名無しさん
2007/06/25(月) 10:20:22スタックトレースや、そのたのエラー部分のメモリ情報を作成しているから時間がかかるのでナンセンス
例外はあくまで本当の例外で使うべきだと思う
019590
2007/06/25(月) 11:03:26またこちらのお世話になっても良いでしょうか?
0196デフォルトの名無しさん
2007/06/25(月) 11:11:230197デフォルトの名無しさん
2007/06/25(月) 11:30:34正直カンベンしてほしいが投稿するかどうかは自由だ
0198デフォルトの名無しさん
2007/06/25(月) 11:31:32例外が発生しない正しい手順を用意してれば例外投げてもおk
0199デフォルトの名無しさん
2007/06/25(月) 11:32:230200デフォルトの名無しさん
2007/06/25(月) 11:35:32>色んなサイトを見ると、このActiveXモドキだと特殊なツールで登録しないといけないとか、インストーラーが必要だとか書いてましたが
その通り、Regasm.exeで登録するか、インストーラー使ってレジストリに書き込むしかない。
それが嫌なら、VS6.0のVBかVC++を使え。
しかしActiveXとか懐かしいな。今じゃ普通は.NETサーバーを使ったWebプログラミングにした方が良いと思うが。
あ、その場合は板違いだからWebプログラミング板で聞けよ。
020190
2007/06/25(月) 11:39:16ループで回しながらリストで選択されたデータを取得し、DataGridに表示
させようとしているのですが、上手く行きません。
private void buttom1_Click(object sender, System.EventArgs e)
{
int i;
int c;
c = Uri_detail_lstbox.Items.Count;
for(i = 0; i < c; i++)
{
if(listbox.GetSelected(i) == true)
{
OleDbDataAdapter oleda;
ataSet dataSet11 = new DataSet("SHOP_MST");
oleda = new OleDbDataAdapter("SELECT SHOP_JP_NAME FROM SHOP_MST WHERE SHOP_JP_NAME = '" + listbox.Items[i].ToString + "'",olecon);
oleda.Fill(dataSet11,"SHOP_MST");
dataGrid1.DataSource = dataSet11.Tables["SHOP_MST"];
}
}
}
という感じでやっています。
0202デフォルトの名無しさん
2007/06/25(月) 11:42:500203デフォルトの名無しさん
2007/06/25(月) 11:43:54最後の1つだけの情報がでてるとか言うオチなんだろ?
020490
2007/06/25(月) 11:44:38020590
2007/06/25(月) 11:48:150206デフォルトの名無しさん
2007/06/25(月) 11:52:24あと、これでエラーは出てきていない?
エラーでてないんなら
"SELECT SHOP_JP_NAME FROM SHOP_MST WHERE SHOP_JP_NAME = '" + listbox.Items[i].ToString + "'"
まずこれを
debug.writeline "SELECT SHOP_JP_NAME FROM SHOP_MST WHERE SHOP_JP_NAME = '" + listbox.Items[i].ToString + "'"
かなんかで出力してDBで直接実行させてみて
それで出てない可能性が高いとおもうが?
ところでDBなんだったっけ?
0207デフォルトの名無しさん
2007/06/25(月) 11:52:32・>>90は外国人
・DBはoracle
・oracleだけどoledb
・素人のはずなのに環境選べず2.0を使わせてもらえない可哀想な子
・WHERE句のAND条件を知らない
0208デフォルトの名無しさん
2007/06/25(月) 11:53:49これはひどいw
0209デフォルトの名無しさん
2007/06/25(月) 12:17:04private void buttom1_Click(object sender, System.EventArgs e)
{
OleDbDataAdapter oleda;
DataSet dataSet11 = new DataSet("SHOP_MST");
oleda = new OleDbDataAdapter("SELECT SHOP_JP_NAME FROM SHOP_MST WHERE SHOP_JP_NAME = 'hogehoge'",olecon);
oleda.Fill(dataSet11,"SHOP_MST");
dataGrid1.DataSource = dataSet11.Tables["SHOP_MST"];
}
0211デフォルトの名無しさん
2007/06/25(月) 12:46:39じゃぁ入ってるデータ(listbox.Items[i].ToString の結果)に問題があるんじゃ・・・?
0212デフォルトの名無しさん
2007/06/25(月) 12:51:58private void buttom1_Click(object sender, System.EventArgs e)
{
MessageBox.Show(listbox.Items[listbox.SelectedIndex].ToString());
}
0213デフォルトの名無しさん
2007/06/25(月) 12:54:32まずそこを調べてみれば、ValueMember設定したらItemにDataRowViewが入っていることが
分かるわけで解決するよな
以前の質問もValueMemberとSelectedValueを間違えているせいで表示されなかったんだろうな
021490
2007/06/25(月) 12:56:250215デフォルトの名無しさん
2007/06/25(月) 12:57:000216212
2007/06/25(月) 13:00:43これを
DataRowView view = this.listbox.Items[i] as DataRowView;
oleda = new OleDbDataAdapter("SELECT SHOP_JP_NAME FROM SHOP_MST WHERE SHOP_JP_NAME = '" +
view[this.listbox.ValueMember].ToString() +
"'",olecon);
に変更すれば、「複数店舗選択したはずなのに一つだけで抽出されます><」って
次の糞質問ができるようになるので死んでください
0217デフォルトの名無しさん
2007/06/25(月) 13:01:30021890
2007/06/25(月) 13:12:03っと表示されました
0219デフォルトの名無しさん
2007/06/25(月) 13:13:190220デフォルトの名無しさん
2007/06/25(月) 13:14:04そろそろ一撃で終わらせたい
0221デフォルトの名無しさん
2007/06/25(月) 13:15:36お前が自由だなんて書き込んだからまた来たんだろうがw
ちゃんと最後まで責任取れよ
022290
2007/06/25(月) 13:24:09022390
2007/06/25(月) 13:28:43216の言うとおりなんですが・・・複数店舗表示させるにはどうすればいいでしょうか?
0224デフォルトの名無しさん
2007/06/25(月) 13:29:24{
MessageBox.Show(((DataRowView)listbox.Items[listBox1.SelectedIndex]).Row[0].ToString());
}
0226デフォルトの名無しさん
2007/06/25(月) 13:31:23ループで毎回データソース上書きしているのがおかしいってことに気づくように頭を鍛える
0227デフォルトの名無しさん
2007/06/25(月) 13:31:27この部分を
WHERE SHOP_JP_NAME IN( '店舗名1','店舗名2' )
とかにするのはどうだ?
WHEREでガリガリくっつけるのもありだが
0229デフォルトの名無しさん
2007/06/25(月) 13:43:03023090
2007/06/25(月) 13:52:570231デフォルトの名無しさん
2007/06/25(月) 14:01:50次にそのstring配列使ってINの'店舗名1','店舗名2'の部分を作っていく
string.Joinあたりを使うと楽
023290
2007/06/25(月) 14:07:55string配列とか使ったこと無いので分からないんですけど
具体的にどのような形にすればいいですか?
0233デフォルトの名無しさん
2007/06/25(月) 14:09:14023490
2007/06/25(月) 14:20:050235デフォルトの名無しさん
2007/06/25(月) 14:26:210236デフォルトの名無しさん
2007/06/25(月) 14:31:500237デフォルトの名無しさん
2007/06/25(月) 14:33:420238デフォルトの名無しさん
2007/06/25(月) 14:45:42今更だが俺の一言がこれほどの事態を呼び起こそうとは
NT○の時以来だ・・・orz
すまんみんな
俺も頑張る
023990
2007/06/25(月) 14:49:380240デフォルトの名無しさん
2007/06/25(月) 14:51:30とか書いちゃうようなバカにDB使わせちゃう会社って凄いな
よほどデータベース管理者がしっかりしてるんだろうなぁ
0241デフォルトの名無しさん
2007/06/25(月) 14:51:55StringCollectionあたり使ってみるのはどうだろうか?
0242デフォルトの名無しさん
2007/06/25(月) 15:00:53必死ですがりついてくるようになったようなもんだな。
これが最後のチャンスと思って死ぬ気で全体重かけてくる
0243デフォルトの名無しさん
2007/06/25(月) 15:02:110244デフォルトの名無しさん
2007/06/25(月) 15:17:28ブサイコ、で検索したら(((((( ;゚Д゚)))))ガクガクブルブル なページがあって寒くなった
024590
2007/06/25(月) 16:05:540246デフォルトの名無しさん
2007/06/25(月) 16:07:150247デフォルトの名無しさん
2007/06/25(月) 16:13:27おまえはググってみたのか?
0248デフォルトの名無しさん
2007/06/25(月) 16:54:370249デフォルトの名無しさん
2007/06/25(月) 20:32:19一週間はコード書くな
0250デフォルトの名無しさん
2007/06/25(月) 20:46:460251178
2007/06/25(月) 21:08:11ファイルをどうやって分割して送るんですか?
copyメソッドではそんなことできないですよね?
あとマルチ行為を働いたことを心のそこからお詫びします。
だから教えてください。
0252デフォルトの名無しさん
2007/06/25(月) 21:13:020253デフォルトの名無しさん
2007/06/25(月) 21:15:270254デフォルトの名無しさん
2007/06/25(月) 21:18:58ShellAPIになんかそういうのあったじゃん。それ使っとけ。
というか、進渉じゃなくて進捗だろうが。
C#以前に日本語の勉強して来いよ。
0255デフォルトの名無しさん
2007/06/25(月) 21:22:10押入れにしまっていた漢字ドリルをとりだして勉強します。
あと大好きです。
0256デフォルトの名無しさん
2007/06/25(月) 21:45:23進捗の方が余程易しい漢字のように思うんですが。
0257デフォルトの名無しさん
2007/06/25(月) 21:51:56交渉とか縁のない自宅警備員の人ですか
0258デフォルトの名無しさん
2007/06/25(月) 22:02:15単独で使わない漢字は熟語でみないと分からないもんだな。
どうでもいいが、俺は営業でも商売人でもないんで交渉とは縁なんか当然ないよ。
君は脳内スーパーPGでヘッドハンターとの交渉に明け暮れてるのかなw
0259デフォルトの名無しさん
2007/06/25(月) 22:08:420260デフォルトの名無しさん
2007/06/25(月) 22:11:440261デフォルトの名無しさん
2007/06/25(月) 22:13:340262デフォルトの名無しさん
2007/06/25(月) 22:14:560263デフォルトの名無しさん
2007/06/25(月) 22:50:29ピュー ( ^^ ) <これからも山崎を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0264デフォルトの名無しさん
2007/06/26(火) 09:32:03次に Data<string> も Data<int> も同一に扱えるように、IData インターフェイスを
つくり Data<T> にかぶせました。
でも、
IData d = new Data<int>();
d.Add(hoge);
ということができませんので、IData インターフェイスに、
void Add(object item);
Data に
public void Add(object item)
{
base.Add((T)item);
}
とメソッドを実装しました。
これで、
IData d = new Data<int>();
d.Add(hoge);
ができるようになってのですが、Add の引数が object なのでキャスト時に
エラーが出ると思います。
もっとスマートな実装は考えられるでしょうか?
0265デフォルトの名無しさん
2007/06/26(火) 09:35:55object の配列なりリストなりを使えばいいだけでは
0266デフォルトの名無しさん
2007/06/26(火) 09:48:54なつかしいなおいw
0267デフォルトの名無しさん
2007/06/26(火) 10:02:32(Add を利用するような処理も全部)、
それをポリモーフィックに扱うんじゃだめなの?
0268デフォルトの名無しさん
2007/06/26(火) 10:24:55たとえばどんなふうに?IData に Data を入れてポリモーフィックに扱ってるんじゃないの?
0269デフォルトの名無しさん
2007/06/26(火) 10:41:14interface IA { void Hoge(); }
class A<T> : IA { private List<T> list = new List<T>(); }
class A_int : A<int> {
public void Hoge() { list.Add(1); }
}
class A_string : A<string> {
public void Hoge() { list.Add("hoge"); }
}
0270デフォルトの名無しさん
2007/06/26(火) 10:45:18interface IData<T> {
void Add(T item);
}
0271デフォルトの名無しさん
2007/06/26(火) 10:47:40それはあまり意味がないのでは?
List を直接使ったのと同じ事かと。
0272デフォルトの名無しさん
2007/06/26(火) 10:59:46なるほどね。用意する型の数が少なければこの方法がいいね。
多い場合は >>264 でも良い気がする。
d.Add メソッドの中で型のチェックをすればおけ。
0273デフォルトの名無しさん
2007/06/26(火) 12:36:14アイテムの型として複数のを許容するリストを作りたいのかなんなのか
回答してる奴は本当に分かって回答してるか?
再考を要すると思うぞ俺は。
0274デフォルトの名無しさん
2007/06/26(火) 14:23:100275デフォルトの名無しさん
2007/06/26(火) 14:29:26>アイテムの型として複数のを許容するリストを作りたいのかなんなのか
あんたが一番分かってないじゃん
0276デフォルトの名無しさん
2007/06/26(火) 14:31:00string のリストを扱ったりしたいんだと思ってるけど、
それが一体どういう状況なのかはイマイチ分からないな。
0277デフォルトの名無しさん
2007/06/26(火) 14:45:15IListで済みそうな話に見えるけど
0278デフォルトの名無しさん
2007/06/26(火) 16:38:37非ジェネリックの方を明示的実装にしとけば気休めにはなる
0279デフォルトの名無しさん
2007/06/26(火) 19:21:58みなさまお手を煩わせて申し訳ありません。
えーっとやりたいことは、
1. ある計算をするクラスがいろいろとある。
2. この計算は、int のときもあれば double のときもある。
3. int, double ごとに、計算クラスを作りたくない
ので、複数の型を許容するジェネリックを使いました。
>>264 の例で、string と書きましたが、string は使いません。
0280デフォルトの名無しさん
2007/06/26(火) 19:23:120281デフォルトの名無しさん
2007/06/26(火) 19:25:31お前Genericsとは何なのか理解してないだろ。
0282デフォルトの名無しさん
2007/06/26(火) 19:26:23そうです。今は List<T> を継承した Data<T> : List<T> クラスを使っています。
これで int や double の配列として使えますので。
ジェネリックの使い方がわかっていないのかも知れません。
0283デフォルトの名無しさん
2007/06/26(火) 19:26:46http://www.codeproject.com/csharp/genericnumerics.asp
0284デフォルトの名無しさん
2007/06/26(火) 23:35:27私はC/C++、構造化/オブジェクト指向あたりは2〜3年位やっていて
プログラムの基礎の部分は抑えているつもりです。
興味の対象は web アプリ等ではなく PC で単独で動くWindowsアプリケーションで、今は
VC++&Win32API より使いやすいらしいという C#&.net framework を勉強してみようかと考えている所です。
で、よさげな本を探していたら「C#によるプログラミングWindows 上 (Charles Petzold) 」という本を見つけたのですが
・VS、あるいは.netがバージョンアップを繰り返しているけど、この本は今でも使い物になるか
・難易度は少々高くてもいいけど、中身は充実してるか(興味の対象と照らし合わせて、他に良い本がないか)
という点が気になっています。
以上、読んだ方がおられましたら参考までに教えていただけると嬉しいです。
0285デフォルトの名無しさん
2007/06/26(火) 23:39:55わからんけど新しいもの買ったほうがよさそう。
本は複数買うように。
0286デフォルトの名無しさん
2007/06/26(火) 23:45:05本屋にあるのは立ち読みされてべろべろの奴ばっか。
0287デフォルトの名無しさん
2007/06/26(火) 23:47:190288デフォルトの名無しさん
2007/06/26(火) 23:47:55オライリーので良いんじゃない?
0289デフォルトの名無しさん
2007/06/26(火) 23:49:28用途が違うのでは?
0290デフォルトの名無しさん
2007/06/26(火) 23:54:590291デフォルトの名無しさん
2007/06/27(水) 00:14:450292デフォルトの名無しさん
2007/06/27(水) 00:29:42俺はお前が信用できない
0293デフォルトの名無しさん
2007/06/27(水) 00:37:20初心者には難しいし、何より退屈だからな。
0294デフォルトの名無しさん
2007/06/27(水) 00:55:230295デフォルトの名無しさん
2007/06/27(水) 01:17:300296デフォルトの名無しさん
2007/06/27(水) 01:21:220297デフォルトの名無しさん
2007/06/27(水) 03:10:16TextBoxを継承したカスタムコントロール内で
protected override void OnEnter(System.EventArgs e) { }
を記述しフォーカス時に背景色を書いている(共通処理用)のですが、
フォームにこのカスタムテキストボックスを配置してEnterイベント(個々の処理用)
private void CustomTxt_Enter(object sender,EventArgs e) {}
を記述もEnterイベントが発生しません。ドキュメントには継承時の注意として
>派生クラスで OnEnter をオーバーライドする場合は、
>登録されているデリゲートがイベントを受け取ることができるように、
>基本クラスの OnEnter メソッドを呼び出してください。
と書いているのですが意味が良くわかりません。
0298デフォルトの名無しさん
2007/06/27(水) 03:11:560299297
2007/06/27(水) 03:16:01ヒントありがとうございます。ドキュメントに書いてある内容の意味がよくわかりました。
カスタムコントロールで
protected override void OnEnter(System.EventArgs e) {
base.OnEnter(e);
}
としたらできました。
0300デフォルトの名無しさん
2007/06/27(水) 06:50:08ことはできないでしょうか?例えばtableA(属性a,属性b)があって、
(1,1)(2,1)(2,2)(3,3)のインタンスがあります。
まずはa=2で絞りこむ→(2,1)(2,2)
その結果からb=max(b)を絞り込む→(2,2)
ということが目的です。
0301デフォルトの名無しさん
2007/06/27(水) 06:55:220302デフォルトの名無しさん
2007/06/27(水) 08:13:45・VS、あるいは.netがバージョンアップを繰り返しているけど、この本は今でも使い物になるか
No
いい本だとは思う。Ver2の差分を他の本で補うのなら購入してもいいとは思うが。
バージョンの差分が大きいので、今は他の本を探した方がいいとおもう。
・難易度は少々高くてもいいけど、中身は充実してるか(興味の対象と照らし合わせて、他に良い本がないか)
Yes
0303デフォルトの名無しさん
2007/06/27(水) 20:36:390304デフォルトの名無しさん
2007/06/27(水) 21:59:49http://pc11.2ch.net/test/read.cgi/tech/1182948981/
0305デフォルトの名無しさん
2007/06/27(水) 22:25:050306デフォルトの名無しさん
2007/06/27(水) 22:26:480307デフォルトの名無しさん
2007/06/27(水) 22:31:380308デフォルトの名無しさん
2007/06/27(水) 23:36:43Cがどこに隠れているかわかりません。
0309デフォルトの名無しさん
2007/06/27(水) 23:37:06むしろF#に見える
0310デフォルトの名無しさん
2007/06/27(水) 23:42:39Hoge GetHoge();
と
T Hoge
{
get;
}
どっちを選ぶかの指針ってありますん?
ご教示ねがいます。
0311デフォルトの名無しさん
2007/06/27(水) 23:44:23と
Hoge Nantoka
{
get;
}
のまちがいでした
0312デフォルトの名無しさん
2007/06/27(水) 23:46:290313デフォルトの名無しさん
2007/06/27(水) 23:50:440314デフォルトの名無しさん
2007/06/27(水) 23:52:12>>313
参考になりました。
0315デフォルトの名無しさん
2007/06/28(木) 23:05:370316デフォルトの名無しさん
2007/06/29(金) 11:54:18なのですが、例外について質問があります。
try〜catch は、付けようと思えばすべての関数に付けることができますし、
バグを含むすべての可能性に対処するのであればすべての関数につけるべきだと思います。
しかし実際のところどうなのでしょうか?
理論上、絶対に例外が発生しないところにはtry〜catchは付けず、
プログラム使用者の使い方によって例外が発生しそうなところだけにtry〜catchを付ける、
という使用方法で良いのでしょうか?
0317デフォルトの名無しさん
2007/06/29(金) 12:01:49上から呼ばれて下を呼ぶ時にそこでcatchするのがまずいこともあるべ
0318デフォルトの名無しさん
2007/06/29(金) 12:03:10>理論上、絶対に例外が発生しないところにはtry〜catchは付けず、
Yes
人生色々 PGも色々 ↓見て勉強してください
例外処理
http://pc11.2ch.net/test/read.cgi/tech/1142667446/
0319デフォルトの名無しさん
2007/06/29(金) 12:03:58>バグを含むすべての可能性に対処するのであればすべての関数につけるべきだと思います。
プログラムというのは、何らかの期待する動作(仕様)の通りに動くように書くわけです。
その動作のために必要なところには try catch を書き、不要なところには書く必要がない、
と簡単に言えばこうなります。
起こりうるバグやミスへの対処はエラーチェックとロギング等で行うものであって、
try catch を入れたからといって何か良いことが起きるわけでもありません。
0320316
2007/06/29(金) 12:49:10ありがとうございます。
例外の必要・不必要をそのつど見極めるべきで、
無条件にすべてに例外を付けるのはナンセンスのようですね。
0321デフォルトの名無しさん
2007/06/29(金) 13:53:51なんらかの異常が発生したときにプログラムにどういう動作をしてほしいか考えればおのずとどこにcatchをいれるべきかわかろう。
0322デフォルトの名無しさん
2007/06/29(金) 15:58:170323デフォルトの名無しさん
2007/06/29(金) 16:06:31VSのエディタでメソッド等が表示される順番をコントロールするAttributeってないですか?
現状アルファベット順で並んでしまうので、機能別に並べたいです
0324デフォルトの名無しさん
2007/06/29(金) 16:52:430325デフォルトの名無しさん
2007/06/29(金) 16:53:200326デフォルトの名無しさん
2007/06/29(金) 17:04:27あるのでMSDNをよく読んでください。
0327デフォルトの名無しさん
2007/06/29(金) 17:50:100328デフォルトの名無しさん
2007/06/29(金) 18:08:57頭から読んでるんですがみつかりませんorz
ヒントでもいいので下さい。どの名前空間あたりにあるかとか……
0329デフォルトの名無しさん
2007/06/29(金) 18:11:550330デフォルトの名無しさん
2007/06/29(金) 18:12:50ググってみたけどJAVAだと重要のようだね。
俺のは事務処理だから配布はすべてバイナリだし、今はまだ関係ないぽ。
0331デフォルトの名無しさん
2007/06/29(金) 18:13:46意味不明
0332デフォルトの名無しさん
2007/06/29(金) 18:15:50Reflectorでぐぐれカス
0333デフォルトの名無しさん
2007/06/29(金) 18:19:40降参ですorz
ケツにAttributeってついてるの見ましたが分かりませんorzorz
ずばり教えてください
0334デフォルトの名無しさん
2007/06/29(金) 18:22:280335デフォルトの名無しさん
2007/06/29(金) 18:26:070336デフォルトの名無しさん
2007/06/29(金) 18:33:56いまいち言ってることがよく分からんが、自作のプロパティがプロパティグリッドの
適当なカテゴリに表示されるようにしたい、ということなり文字通りCategory属性でしょ。
一応自分でカテゴリを新設することも可能。
まあMSDNの解説は例によって判じ物みたいだけどね。
0337デフォルトの名無しさん
2007/06/29(金) 18:34:19VSの機能を使って一括生成したときのメンバの順番のことなんじゃないの?
自分で属性定義してマクロ書くとか
0338デフォルトの名無しさん
2007/06/29(金) 18:47:10ちょっとワラタ
難読化でググると上のほうは.NET関連のが多いじゃないか
0339デフォルトの名無しさん
2007/06/29(金) 18:50:07難読化なんてくだらないことを考える自分がちっぽけに見える
0340デフォルトの名無しさん
2007/06/29(金) 18:53:21作者には難読化は死活問題。
0341デフォルトの名無しさん
2007/06/29(金) 18:54:530342デフォルトの名無しさん
2007/06/29(金) 19:02:20お前さんのコードに難読化なんて最初から必要ないわけで。
というか、お前さんの大した技術も使われてないウンココードを
一体だれがわざわざ覗くのかと。
0343デフォルトの名無しさん
2007/06/29(金) 19:05:58覗いてどうしようっていうわけではないけど
0344デフォルトの名無しさん
2007/06/29(金) 19:55:18少し時間をかければ読めるってw
0345デフォルトの名無しさん
2007/06/29(金) 19:58:54・・・君も仕事でC#やってるの?
0346デフォルトの名無しさん
2007/06/29(金) 20:19:130347デフォルトの名無しさん
2007/06/29(金) 20:33:49例えば、テキストボックスと保存ボタンがあって、テキストボックスに
何も入力されていなかったらボタンのenabledをオフにしたいのです。
javaだったらテキストボックスにドキュメントリスナーを追加して
テキストボックスを監視して何も入力されていないときは、ボタンをオフにできるのだけれど・・
0348デフォルトの名無しさん
2007/06/29(金) 20:40:35デフォルトでオフにしといて、
TextBoxのValidatedイベントで値の入力を確認してオンにする
0349デフォルトの名無しさん
2007/06/29(金) 20:51:39でもそうすると、もう一度テキストボックスが空になったとき
オフにならなくないですか??
0350デフォルトの名無しさん
2007/06/29(金) 20:52:27{
this.button1.Enabled = !string.IsNullOrEmpty(this.textBox1.Text);
}
こんな風にしとけばいいじゃん
0351デフォルトの名無しさん
2007/06/29(金) 21:30:25this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
0352デフォルトの名無しさん
2007/06/29(金) 21:37:340353デフォルトの名無しさん
2007/06/29(金) 21:39:12public Form1()
{
InitializeComponent();
button1.Enabled = false;
textBox1.TextChanged += new EventHandler(textBox1_TextChanged);
}
void textBox1_TextChanged(object sender, EventArgs e)
{
button1.Enabled = textBox1.Text.Length > 0;
}
これで普通にできるけど・・・
0354デフォルトの名無しさん
2007/06/29(金) 21:56:14あたしのダーリン♥
0355デフォルトの名無しさん
2007/06/29(金) 22:01:050356デフォルトの名無しさん
2007/06/29(金) 22:02:480357デフォルトの名無しさん
2007/06/29(金) 22:08:570358デフォルトの名無しさん
2007/06/29(金) 22:18:21誰がハゲやねん#
0359デフォルトの名無しさん
2007/06/29(金) 22:21:310360デフォルトの名無しさん
2007/06/29(金) 22:24:41『○○厨』って書いてるつもりだったのか
0361デフォルトの名無しさん
2007/06/29(金) 22:26:350362デフォルトの名無しさん
2007/06/30(土) 01:16:28すごくいい話しに見えるフラグ来たな
だが、俺は容赦なく「例外」を投げつける・・・!
0363デフォルトの名無しさん
2007/06/30(土) 01:27:250364デフォルトの名無しさん
2007/06/30(土) 01:42:40くだらない馴れ合いがしたい寂しい奴は他所いって気が済むまでやれよ。
TPOも弁えられない低能ならプログラマなんてやめちまえよ。
まあ、もう手遅れかもしれないけどね最近のこのスレのレベルを見てると。
0365デフォルトの名無しさん
2007/06/30(土) 02:17:26とりあえず>>364はクズだな
しんどけ
0366デフォルトの名無しさん
2007/06/30(土) 02:26:07厨房の房やろ
○○厨ってなんやねんwwww
0367デフォルトの名無しさん
2007/06/30(土) 02:34:56あぁマックをマクドとかいう人種か
納得。
0368デフォルトの名無しさん
2007/06/30(土) 02:36:41Component Oneとか商用のライブラリだけにちゃんと難読化されててReflector使ってもちょっと読みづらいよ。
DotCOEなんかはそのへん少しは警戒しなきゃいけないようなアプリだと思うが、全く難読化されてなくて激しくノーガード戦法だったよ。
自分のところのアプリは試しに難読化してみてReflector掛けてみたらあんまり意味がないと思った。
お試し版のではソースに埋まってるSQLとか難読化できないのでそのままなので全然意味がなかった。
リフレクションに依存した処理が入っていると難読化すると正常に動かなくなるので
ソース書く人が多いと誰か知らぬまにリフレクションを使ったりして動かなくなるので事実上難読化してから全部再テストとかやってられないし。
enumのToStringとenum.Parseとかやって設定ファイルとかにenumの文字列表現をはき出したりすると駄目なわけだし。
dllとか分けてるとpublicな部分は難読化するわけにはいかないし。
とりあえず、中国語化して中国向けの新しい市場を開拓したいとか言ってた人がいたけど全力で反対した。
0369マルチを働いたものです
2007/06/30(土) 05:02:07ファイルを分割してコピーする方法を教えていただいた方にここで御礼申し上げといてあげます。
0370デフォルトの名無しさん
2007/06/30(土) 06:05:34難読化とのつながりをもうちょっと説明してほしい(煽りではないよ)
enumに関してはenumを難読化の対象からはずせばいいだけの話では。
0371デフォルトの名無しさん
2007/06/30(土) 10:16:530372デフォルトの名無しさん
2007/06/30(土) 12:09:16まあWin32も延命されたことだし.NETはサーバ周りで細々とやっていけって判断なのかね。
0373368
2007/06/30(土) 12:10:56中国向けに出すからコピー対策で難読化を行うってことからとりあえず難読化を試したので。
難読化とかしても全てそのままコピーされて勝手に売られると思うので
やはり中国は市場にはならないと思ってるので難読化が使い物になってても反対したけど。
中国向け以外では別に難読化なんてしなくてもかまわないと思ってるし現状は難読化してない。
何かエラーが起きてもログなどに残ってたスタックトレースも難読化されてて追いづらいのも面倒だし。
確かに、問題が起きるenumとかだけ難読化から外せばいいんだけど、
そうするとリフレクションがある以上は確実に同じ動きをするには難読化できないってことになるから。
Reflectorでカジュアルハックされるのを防止したいなら
アセンブリをリソースに暗号化して埋め込んでそれを展開したメモリから直接にアセンブリをロードするようにして
展開処理だけ難読化しとけばいいと思うよ。
単純な難読化よりかは動作への影響は少ないだろうし、それでも解析しようとするやつ相手には.NETの範囲だけでどんなに対策してもほとんど無駄だし。
0374デフォルトの名無しさん
2007/06/30(土) 12:40:230375側近中の側近 ◆0351148456
2007/06/30(土) 13:25:42しぃ三姉妹だよ☆
(*゚ー゚)
(++゚ー゚)
(#゚ー゚)
0376デフォルトの名無しさん
2007/06/30(土) 14:11:520377デフォルトの名無しさん
2007/06/30(土) 15:41:34何つーかフレームワーク的に全体の構造をあんまり見せたくないなぁというものに対してはそれだと難しい。
うまく鍵使って実行時に暗号解除するほうがいろいろとまんどくさくない気がしてきた。
0378デフォルトの名無しさん
2007/06/30(土) 15:50:08元のコードはReflectorからは見えなくなるな。
ttp://madebits.com/netz/index.php
0379デフォルトの名無しさん
2007/06/30(土) 15:56:20俺もC++を知っていて、最近(ココ2,3ヶ月)会社で自分のための道具を作るのにC#で書くようになった。
.NETもCOMも利用できるので便利だしVC++よりインテリセンスがC#は良く効くので楽。
C++をマスターしてるってことで俺の場合が参考になると思う。
Petzorldの本はWinFormを読んだ、空のプロジェクトから作るので解りやすい。英語だけどWinFormに慣れるには良い。
C#そのものは、オライリーのプログラミングC#第4版を電車の中で通読
なんかオライリーのことを悪く言いたい奴がいるみたいだけど、プログラミングC#はC++解ってるなら入門には良い
.NET2.0対応と書いてるようにGenericクラスのことなども触れていて1部を通読すれば言語として大体の感じは掴める。
後はMSDNのオンラインヘルプで問題なくできるんじゃないかな?
ものによるけどWinodwsPCの中で単独で動くだけならVC++&ATL/WTLで書いたほうがコンパクトで配布も簡単な気もする
0380デフォルトの名無しさん
2007/06/30(土) 18:49:55ある行の一番右端に書かれてる場所が何列目に当たるのかを取得したいんだけど
どうすればその値を取得できんの?
Rows[n].Countだと65536になってしまうので。
0381デフォルトの名無しさん
2007/06/30(土) 19:03:12だったらあんたの自作クラスの仕様なんか、誰も知らないだろう。
違うか?
0382デフォルトの名無しさん
2007/06/30(土) 21:15:42Excelスレで聞いた方が良いんじゃね?
俺は右端取得なんて便利なプロパティ聞いたこと無いわ
0383デフォルトの名無しさん
2007/06/30(土) 21:31:030384デフォルトの名無しさん
2007/06/30(土) 21:32:510385デフォルトの名無しさん
2007/06/30(土) 21:36:56空セル混じってもいける?
0386デフォルトの名無しさん
2007/06/30(土) 21:57:57WorkSheet内で右端というか使ってる範囲ならUsetRangeが楽だけど
ある行のを手軽に取得する手段はよくわからん。
ま、スレ違いだが。
0387デフォルトの名無しさん
2007/06/30(土) 23:38:41おぉ WorkSheet内でも構わないんですけど!
ちなみにUsetRangeで検索かけてもヒット0件だったけど。。
もうちょい詳しく教えてくだちい。
range.get_End(XlDirection.xlToRight)
で、起点から、次の空白まではいけるらしいんだけど。
スレ違いとなるとVBAスレが適当なんですかね??
VBで回答きそうな。まぁいいけど。
0388デフォルトの名無しさん
2007/06/30(土) 23:39:340389デフォルトの名無しさん
2007/06/30(土) 23:39:56http://pc11.2ch.net/test/read.cgi/bsoft/1181155085/
マルチ扱いされないように気をつけて行ってらっしゃい
0390デフォルトの名無しさん
2007/06/30(土) 23:46:54ありがとう
0391デフォルトの名無しさん
2007/06/30(土) 23:51:09どうもありがとう。移動しました。
0392デフォルトの名無しさん
2007/06/30(土) 23:56:55去った後に回答するのもなんだけど、普通に行内のセルを一つ一つチェックするしかないし、
するだけのことでしょ。
まあベタにやるとたぶん遅いので一旦行全体のRange.ValueをObjcet[255,0]に
読み取った方がいいとは思うけど。
それと、エクセル操作するならC#よりVB.NETの方が親和性高いと思う。
0393デフォルトの名無しさん
2007/07/01(日) 00:01:59以下のようなコードを書いているのですが、
Deserialize部分でStreamにデータが流れていないとのエラーが出ます。
[送信側]
Hage hage = new Hage();
BinaryFormatter bf = new BinaryFormatter();
NetworkStream ns = tcpClient.GetStream();
bf.Serialize(ns, hage);
[受信側]
Hage hage = new Hage();
BinaryFormatter bf = new BinaryFormatter();
NetworkStream ns = tcpClient.GetStream();
hage = (Hage)bf.Deserialize(ns);
この記述じゃStreamに流れないのでしょうか。
ご助言願いたいです。
0394デフォルトの名無しさん
2007/07/01(日) 00:02:32すまん、綴りミスってた。
UsedRangeだ。
0396デフォルトの名無しさん
2007/07/01(日) 00:42:18あんた、なんと言うかセンスないよ。
よく考えてみろよ。
それで出来たら送受信のタイミングとかどうやってると思うんだ?
0397デフォルトの名無しさん
2007/07/01(日) 00:51:190398デフォルトの名無しさん
2007/07/01(日) 01:04:13簡単に困ると書くな。
努力しろ。
考え直せ。
何度でもやり直せ。
試せ。
0399デフォルトの名無しさん
2007/07/01(日) 01:21:54>bf.Serialize(ns, hage);
コンピュータやバイナリを勉強しなおしたほうがいいぞ。
0400デフォルトの名無しさん
2007/07/01(日) 01:23:57行き詰ってつい書き込みをしてしまいました。スレ汚しすみませんでした。
送受信のタイミングについてもう少し調べてみます。
0401デフォルトの名無しさん
2007/07/01(日) 01:27:23レス有難うございます。
binary部分ももう一度勉強しなおします。
0402デフォルトの名無しさん
2007/07/01(日) 01:28:33まさかそのコードだけじゃないよな?
0403デフォルトの名無しさん
2007/07/01(日) 01:38:43TcpClientとTcpListenerで接続するようにしました
[送信側]
TcpClient tcpClient = new TcpClient(address, port);
[受信側]
TcpListener tcpListener = new TcpListener(address, port);
tcpListener.Start();
TcpClient tcpClient = tcpListener.AcceptTcpClient();
0404デフォルトの名無しさん
2007/07/01(日) 01:50:57冗談だったんだが白状しておく。
0405デフォルトの名無しさん
2007/07/01(日) 01:51:430406デフォルトの名無しさん
2007/07/01(日) 01:54:470407デフォルトの名無しさん
2007/07/01(日) 01:55:51そんなんして楽しいんか?
0408デフォルトの名無しさん
2007/07/01(日) 02:21:25だまれカス
0409デフォルトの名無しさん
2007/07/01(日) 02:46:45System.Drawing.Icon appIcon = System.Drawing.Icon.ExtractAssociatedIcon( ファイルパス );
で、ファイルに関連づけられたアイコンが取得できるけど、これをListImage経由でListViewに追加したんだ。
けど、ListViewに表示されるイメージって、アイコンに入ってる16*16とかを使うじゃなくて、32*32を拡大縮小して
使うのか?
imagelistのサイズを16*16にしたら、32*32のアイコンを縮小した奴が表示されたよ。
これどうにかならない?
0410デフォルトの名無しさん
2007/07/01(日) 03:10:42サイズ指定したいときは
http://www.atmarkit.co.jp/fdotnet/dotnettips/280getappicon/getappicon.html
0411デフォルトの名無しさん
2007/07/01(日) 14:51:01サンクス。
そうかAPIしかないか。
試してみたらできたよ。ありがとう。
しかし、APIにしかできない事ってまだまだ多いな。
0412デフォルトの名無しさん
2007/07/01(日) 15:57:01必ず4バイトずつになってしまうんです。
bwr.Write(13);
bwr.Write(10);
例えば、これで改行をさせたいのですが
00 00 00 0D 00 00 00 0A
と書き込まれてしまいます
どうすれば良いのでしょうか?
よろしくお願いします。
0413デフォルトの名無しさん
2007/07/01(日) 16:00:4813や10がint32
0414デフォルトの名無しさん
2007/07/01(日) 16:04:280415デフォルトの名無しさん
2007/07/01(日) 16:04:320416414
2007/07/01(日) 16:06:360417デフォルトの名無しさん
2007/07/01(日) 16:20:310418デフォルトの名無しさん
2007/07/01(日) 16:53:08今度は桁数のある文字列のため、
bw.Write(Convert.ToString(数字));
なのですが、桁数や内容にかかわらず、前に 04 や 05 などというのゴミが1ビット入ります。
多分String型が問題だと思うのですが、何を使えばいいのでしょうか;
0419デフォルトの名無しさん
2007/07/01(日) 16:53:52ゴミじゃねえよ、MSDN読め。さもなくば、死ね
0420デフォルトの名無しさん
2007/07/01(日) 16:54:32追加ってなあ;
0421デフォルトの名無しさん
2007/07/01(日) 17:06:25その前に、
なんでバイナリなんだ
お前レベルだとテキストのほうがお似合い。
0422デフォルトの名無しさん
2007/07/01(日) 17:24:440423デフォルトの名無しさん
2007/07/01(日) 17:26:07シフトJISに。
0424デフォルトの名無しさん
2007/07/01(日) 17:27:370425デフォルトの名無しさん
2007/07/01(日) 17:29:18陸上の選手怖いいい
手拍子も要求するし…
0426デフォルトの名無しさん
2007/07/01(日) 17:31:230427デフォルトの名無しさん
2007/07/01(日) 17:31:28テキストなめんな
0428デフォルトの名無しさん
2007/07/01(日) 20:14:280429デフォルトの名無しさん
2007/07/01(日) 20:16:080430デフォルトの名無しさん
2007/07/01(日) 20:19:11INIファイルのが45687980949566倍まし
0431デフォルトの名無しさん
2007/07/01(日) 20:23:170432デフォルトの名無しさん
2007/07/02(月) 02:40:540433デフォルトの名無しさん
2007/07/02(月) 03:04:21ここ2〜3日そんな感じだな
まともな回答出てないし
0434デフォルトの名無しさん
2007/07/02(月) 04:22:25C++でいえばEffective C++のようなポジションですかね?
Effective C#っていう本があるようですが読まれた方はいますか?
0435デフォルトの名無しさん
2007/07/02(月) 04:35:05『プログラミングMicrosoft .NET Framework 第2版』
0436434
2007/07/02(月) 04:54:47さっそくレスどうもです。
アマゾンのレビューを見た限りでは、その本はどちらかといえばC#というより
.NET Frameworkの仕組みが主みたいですね。Frameworkに関する本は既に読んだので、
今度はプログラミングの視点から見た書籍がないかなと思った次第です。
あとやや古めなのも気になりますね。2.0の機能はぜひカバーしてほしいところです。
0437デフォルトの名無しさん
2007/07/02(月) 05:24:430439デフォルトの名無しさん
2007/07/02(月) 11:58:25以下のような列挙方で定義されているものとします。
private enum hoge {
piyo1 = 0,
piyo2,
piyo3
}
ドキュメント・コメントを以下に定義しました。
/// <summary>ホゲります。</summary>
/// <param name="p">パラメータです。hoge列挙型を使用してください。</param>
void hogering(int p)
{
:
:
}
この状態で、
hogering(
と入力すると説明文が出てきますが、これを更に発展させまして、
hogering(
と入力した時点で自動的に
hogering(hoge.
まで表示させたいと思っています。
確か他のやつで、このように自動的に列挙型が提示されるものがあったかと思います。
これを実現する場合、どのようなタグを使ったらよいでしょうか?
よろしくお願いします。
0440デフォルトの名無しさん
2007/07/02(月) 12:03:54{
:
:
}void hogering(hoge p)
{
hogering((int)hoge);
}
こうしているだけじゃないか?
0441デフォルトの名無しさん
2007/07/02(月) 12:04:47hogering(hoge)だけでおk
0442デフォルトの名無しさん
2007/07/02(月) 12:11:39hoge型で引数取れ。
0443439
2007/07/02(月) 12:12:01できました!ありがとうございます!
0444デフォルトの名無しさん
2007/07/02(月) 12:12:530445439
2007/07/02(月) 12:13:01そうですね。基本がなってないです。
0446デフォルトの名無しさん
2007/07/02(月) 13:33:300447デフォルトの名無しさん
2007/07/02(月) 14:05:38DragDropはじめるときに文字列とかファイルとか複数登録しておいてクライアントの都合のいいデータを取るようにしたかったんだけど・・・
0448デフォルトの名無しさん
2007/07/02(月) 14:05:530449デフォルトの名無しさん
2007/07/02(月) 14:39:510450デフォルトの名無しさん
2007/07/02(月) 15:04:19DataObject.SetDataでいくらでも
0451デフォルトの名無しさん
2007/07/02(月) 16:03:50それは誰に対して言ってんだ?
0452デフォルトの名無しさん
2007/07/02(月) 16:43:070453デフォルトの名無しさん
2007/07/02(月) 16:45:13文字や数値を表示させる事はできましたが、
線を引く事がまだ出来てないです。
どなたか教えてください。
0454デフォルトの名無しさん
2007/07/02(月) 16:50:37http://pc11.2ch.net/test/read.cgi/bsoft/1181155085/
0455デフォルトの名無しさん
2007/07/02(月) 16:57:460456デフォルトの名無しさん
2007/07/02(月) 17:09:060457デフォルトの名無しさん
2007/07/02(月) 17:16:520458デフォルトの名無しさん
2007/07/02(月) 18:00:29いまダイアログAとダイアログBがあります。
今度新たにタブを使ったダイアログCとDを作ろうと思ってるんですが、
CとDの最初のタブにはダイアログAとBと同じものにしたいと思ってます。
CとDができれば、AとBはもう必要ありません。
この様な場合どのようにするのが理想的なのでしょうか?
0459デフォルトの名無しさん
2007/07/02(月) 18:06:21CとDに追加すれば
0460デフォルトの名無しさん
2007/07/02(月) 18:11:040461デフォルトの名無しさん
2007/07/02(月) 18:18:470462デフォルトの名無しさん
2007/07/02(月) 18:39:330463デフォルトの名無しさん
2007/07/02(月) 18:45:200464458
2007/07/02(月) 18:47:41とりあえずユーザーコントロールでやってみたいとおもいます。
難しそうですが、これなら他のタブは共通で使えそうですので。
0465デフォルトの名無しさん
2007/07/02(月) 18:48:02public partial class Form1 : Form
{
FormA formA = new FormA();
FormC formC = new FormC();
public Form1()
{
InitializeComponent();
Control c = formA.Controls["panel1"];
formA.Controls.Remove(c);
TabControl tabControl =(TabControl) formC.Controls["tabControl1"];
tabControl.TabPages[0].Controls.Add(c);
formC.ShowDialog();
}
}
FormAにDock=Fill したpanel1を置いて、コントロールは全てその中に配置。
panel1 を FormAから取り外して、FormCのTabPageに追加する
あとは同じようにBとDでやりゃOK
0466デフォルトの名無しさん
2007/07/02(月) 18:51:00普通に読めば、FormAをTabPageを使うように改造すれば済む話に思うんだが、
なんでわざわざ新たにFormCを作ってAを破棄する必要があるんだ?
それに質問のために書く文章としてはとりあえずFormAだけ書けば必要十分に思えるのに、
どうしてわざわざFormBまで俎上にあげて話を必要以上にややこしくするのだ?
そもそもWindows Formの話なんだろうかこれ
0467デフォルトの名無しさん
2007/07/02(月) 19:02:39本気でやろうとしたらかなり根本的なとこから作らないといけないけど
0468デフォルトの名無しさん
2007/07/02(月) 19:14:22確かにいろいろ手間がかかりそうだ。
しかし、それが正しいとしたら>>458の文章かれその内容を読み取るって
エスパーにしか思えないすごい能力だなw
0469458
2007/07/02(月) 19:14:29ありとうございます。それもかっこいいですね。
panelにおけばコントロールとして扱えるんですね。
やってみます。
0470デフォルトの名無しさん
2007/07/03(火) 17:55:04VS 2005 C#
string s = "2007/6";
DateTime dt;
DateTime.TryParse(s, out dt);
このようにすると、dtには2007/6/1の日付が返されますが、
2007/6/0という値を返すことは可能でしょうか?
可能だとしたらどうすれば良いでしょうか?
よろしくお願いします。
0471デフォルトの名無しさん
2007/07/03(火) 17:57:020472デフォルトの名無しさん
2007/07/03(火) 18:12:480473デフォルトの名無しさん
2007/07/03(火) 18:25:47んなもん普通は加工するにきまってんだろ
s = dt.ToString("yyyy/M") + "/0";
0474デフォルトの名無しさん
2007/07/03(火) 19:02:010475デフォルトの名無しさん
2007/07/03(火) 20:39:450476デフォルトの名無しさん
2007/07/03(火) 20:47:270477デフォルトの名無しさん
2007/07/03(火) 21:00:36○必要性
0478デフォルトの名無しさん
2007/07/03(火) 21:07:32どうすりゃgoogleでC#検索できるの?
0479デフォルトの名無しさん
2007/07/03(火) 21:10:000480デフォルトの名無しさん
2007/07/03(火) 21:11:100481デフォルトの名無しさん
2007/07/03(火) 21:13:01エンコードがShifut-JISになってない?
0482デフォルトの名無しさん
2007/07/03(火) 21:15:48unDonutの検索バー(google検索)使ったからダメだった用です。
普通にgoogleページ内の検索のところに書いたら検索できました。
お騒がせしました。
0483デフォルトの名無しさん
2007/07/03(火) 21:16:00そんなものにはなってない
0484デフォルトの名無しさん
2007/07/03(火) 21:19:36つーことはShift-JISになってたんだろ
設定を見直せ
0485デフォルトの名無しさん
2007/07/03(火) 21:19:430486デフォルトの名無しさん
2007/07/03(火) 21:20:180487デフォルトの名無しさん
2007/07/03(火) 21:21:24VS2005のない状況がこんなに辛いなんて…
逆に人間が退化しているのか?
0488デフォルトの名無しさん
2007/07/03(火) 21:23:440489デフォルトの名無しさん
2007/07/03(火) 21:24:49まさかbreakがないなんて…
GOTOも久しぶりに使った。
0490デフォルトの名無しさん
2007/07/03(火) 21:25:330491481,484
2007/07/03(火) 21:27:00書き方がぶっきらぼうだった。
search.iniを開いて「Encode=3」でunDonutの検索窓でも普通に使えるようになる
0492デフォルトの名無しさん
2007/07/03(火) 21:27:14http://pc11.2ch.net/test/read.cgi/tech/1180692040/
0493デフォルトの名無しさん
2007/07/03(火) 21:29:02break相当のステートメントは普通にあるよ。
無いのはcontinueにあたるもの。
0494デフォルトの名無しさん
2007/07/03(火) 21:32:20そうなのか。
タイプミスしていたのかな?
ステートメントは入力候補にでてこないしなあ
0495デフォルトの名無しさん
2007/07/03(火) 21:36:360496デフォルトの名無しさん
2007/07/03(火) 21:46:220497デフォルトの名無しさん
2007/07/04(水) 02:42:43DataGridViewにCheckBoxやButton、TextBoxを配置し
て実行時にTextBoxに入力等をして、入力値をXMLにシリアライズで保存し
次開くときに増えたRowの分を最初(フォームロード時)
にRowCountで設定して、保存したXMLを読み込んで
データを表示させ、データ自体はちゃんと読み込めて
表示もされるのですが、最終行のいわゆる未入力の行のButton列の
Buttonの背景?が透けてしまいます。
透けるというのは、DataGridView表示時のその未入力の行のButtonの
ある場所のウィンドウのzオーダー一つ奥の画像がそのままButtonの背景?
表面?に映し出されてしまいます。
何か、設定しとく必要があるんでしょうか。
すいませんが、教えてください。
0498デフォルトの名無しさん
2007/07/04(水) 05:10:110499デフォルトの名無しさん
2007/07/04(水) 07:39:35同期インデックスを格納するための値型(参照型でもいいですが)を用意して、
その型に対してlockすれば十分のように思うのですが。
各オブジェクトごとに4バイトというのは実際どれくらいの割合に相当するのか分かりませんが、
節約できるならするに越したことはないんで何かしら理由があるんでしょうか。
0500デフォルトの名無しさん
2007/07/04(水) 08:13:00Macで使用できる言語ならC++(今現在)の次はC#勉強しようと思ってるんですがどう思いますか?
0501デフォルトの名無しさん
2007/07/04(水) 08:26:14使えるっちゃあ使えるけど非標準的な環境がないと実行できないから勧めないよ
0502デフォルトの名無しさん
2007/07/04(水) 08:59:35Macでもできる
自分で使うプログラムを作るならmonoを入れてC#を勉強してもいいと思う
でも他人のMacに実行環境が入ってる事は期待しない方がいい
Windowsなら大体のPCに実行環境が入ってるけど
0503デフォルトの名無しさん
2007/07/04(水) 09:56:38なんか公開したところでマカに袋叩きにされるのがオチだろw
0504デフォルトの名無しさん
2007/07/04(水) 10:01:310506デフォルトの名無しさん
2007/07/04(水) 14:06:06動機インデックスってなんね?
>同期インデックスを格納するための値型(参照型でもいいですが)を用意して、
>その型に対してlockすれば十分のように思うのですが。
動作が遅くなっても正常に動けばいい、というのであればそれでもOKかもしれませんね。
0507499
2007/07/04(水) 15:19:57どういう実装かは知りませんがなにやら同期(lock)のために使うメモリ領域へのインデックスだそうです。
>動作が遅くなっても正常に動けばいい、というのであればそれでもOKかもしれませんね。
「オブジェクトのデリファレンス→同期インデックスの取得」という処理のうちデリファレンスが省けるので
速くはなっても遅くはならないと思いますが。
0508デフォルトの名無しさん
2007/07/04(水) 15:28:59プログラミング.NET Framework 第2版でメリット・デメリット
一通り解説されてるから読んでみたら?
0510デフォルトの名無しさん
2007/07/04(水) 17:32:00Macは実行環境入ってないんですか・・・
友人にMac使ってる人が多いので勉強しようと思ったんですが入れてもらう必要がありそうですね
とりあえずC#を勉強してみたいと思います
ありがとうございました
0511デフォルトの名無しさん
2007/07/04(水) 17:36:41今から勉強始めるんだったらJavaにしとけよ
0512デフォルトの名無しさん
2007/07/04(水) 17:38:03たとえば、トイレ全体ではなくて個々のトイレ毎に排他制御ができないと、
誰かがどこかのトイレを使っている場合には、空いている他のトイレも使えない
ということになる。
永遠に待てるならこれは問題にはならないけど、普通は「個々のトイレ毎に排他
すればいいんじゃね?」となるわな。
0513デフォルトの名無しさん
2007/07/04(水) 17:40:10Windowsで作ったものをMacで動かそうとしてるなら
フォントとかパスとかの扱いに注意しながら作ろう
0514デフォルトの名無しさん
2007/07/04(水) 17:57:19排他の代わりに排泄したらどうでしょうか?
0515デフォルトの名無しさん
2007/07/04(水) 18:02:100516デフォルトの名無しさん
2007/07/04(水) 18:41:02ごめ・・・おれ少しだけ吹いた
0517デフォルトの名無しさん
2007/07/04(水) 18:54:200518デフォルトの名無しさん
2007/07/04(水) 18:56:49意味分かってねーな?
例えばMutexみたいに、インスタンスとして使う同期用クラスがあればいい話だ。
そうなってないのは良くなかったと、件の本にはっきり書かれてる。
0519デフォルトの名無しさん
2007/07/04(水) 19:06:42意味がさっぱりわからんがエスパー同士の会話なのかなw
0520デフォルトの名無しさん
2007/07/04(水) 19:12:55C側
------------------------------------
int WINAPI Create(char* Map, int Width, int Height, char* Field, int x,int y,int x2,int y2, int r)
{
//
}
C#
------------------------------------
[DllImport("util.dll", EntryPoint = "Create", CharSet = CharSet.Auto)]
public static extern int CreateNearMap([MarshalAs(UnmanagedType.Error)] ref byte[] cr1, int cr2,
int cr3, [MarshalAs(UnmanagedType.LPArray)] ref byte[] cr4, int cr5, int cr6, int cr7, int cr8, int cr9);
-------------------------
int Ret = Win32.CreateN(ref Map[aNum], 10, 10,
ref Byte[aNum], 0, 0, 0, 0, 7);
よろしくおねがいします・・
0521デフォルトの名無しさん
2007/07/04(水) 19:14:580522デフォルトの名無しさん
2007/07/04(水) 19:16:31何を思ってUnmanagedType.Errorなんか使ってるんだ…?
0523デフォルトの名無しさん
2007/07/04(水) 19:21:19どこかでLPArrayがErrorに書き換わってたみたいです・・・・
0524デフォルトの名無しさん
2007/07/04(水) 19:54:33>各オブジェクトごとに4バイトというのは実際どれくらいの割合に相当するのか分かりませんが、
オブジェクトの管理番号(ポインタというのか参照の値と呼ぶのか良くわからないけど)を
そのまま使ってると思うから、スペースは消費してないのでは?
>>518
それは思った。せっかくMonitor機能をobjectから別クラスに分離してるのになんでstaticクラスなのかと。
0525デフォルトの名無しさん
2007/07/04(水) 20:14:04マルチスレッドで、メインとは別のスレッドからフォームを操作する場合
Invoke で Delegate を呼び、Delegate の中でフォームを操作するじゃないですか。
その時 Invoke は、メインスレッドでの動作になる?と思います。
この場合マルチスレッドの恩恵は受けられないという理解でいいですか?
0526デフォルトの名無しさん
2007/07/04(水) 20:17:15冗談抜きでろくに理解せずにスレッドなんか使うと痛い目みるよ。
0527デフォルトの名無しさん
2007/07/04(水) 20:38:500528デフォルトの名無しさん
2007/07/04(水) 20:46:28Invokeだと同期をとるから、delegate関数呼び出している間中は
マルチスレッドの恩恵は受けられない
0529デフォルトの名無しさん
2007/07/04(水) 20:55:59これではマルチスレッドの恩恵は受けられないのですね!
0530デフォルトの名無しさん
2007/07/04(水) 21:39:01�@アホな質問ってのは重々承知なんですけど、
foreach(…)
foreach(…)
if(…)
double_break;
2重のループを一気に抜ける方法はあるでしょうか?
�A以下のようにループ判定→フラグ立てという処理の、もっとカッコイイ書き方あるでしょうか?
bool f = false;
for(…) {
if(…) {
f = true;
break;
}
}
if(f)
…
0531デフォルトの名無しさん
2007/07/04(水) 21:40:36goto
0532デフォルトの名無しさん
2007/07/04(水) 21:44:130533デフォルトの名無しさん
2007/07/04(水) 21:46:190534デフォルトの名無しさん
2007/07/04(水) 21:46:520535デフォルトの名無しさん
2007/07/04(水) 21:51:34使いたくなければ、2重ループの部分をメソッドにしてreturnとbreakを使い分けるとか。
VBだとExit For とExit DoとWendが使い分けできて微妙に何とかなったりする。
0536デフォルトの名無しさん
2007/07/04(水) 21:52:430537デフォルトの名無しさん
2007/07/04(水) 22:21:31この部分だけJavaのラベル付きのforがあったらいいかもと思うことがある。
やはりメソッドを分けてreturnかな。
0538デフォルトの名無しさん
2007/07/04(水) 22:29:140539デフォルトの名無しさん
2007/07/04(水) 22:35:380540デフォルトの名無しさん
2007/07/04(水) 23:05:30forならループ変数が明記されてるけどforeachだとぱっと見処理される順序が明確じゃないから
0541デフォルトの名無しさん
2007/07/04(水) 23:06:550542デフォルトの名無しさん
2007/07/04(水) 23:14:26いや、returnが一番か。
0543デフォルトの名無しさん
2007/07/04(水) 23:15:360544デフォルトの名無しさん
2007/07/04(水) 23:23:17switch 文の中のようにラベルは全て fall through 無し、かつ goto は後方への分岐に限定とすれば
スパゲッティにもならずにわかりやすいと思う。
0545デフォルトの名無しさん
2007/07/04(水) 23:42:48GOTOとどう違うの?
0546デフォルトの名無しさん
2007/07/04(水) 23:44:38gotoを恐れず使う兵共がfinallyや多重breakを語るスレ
http://pc11.2ch.net/test/read.cgi/tech/1123726695/
0547デフォルトの名無しさん
2007/07/04(水) 23:54:44全く関係ない場所へ飛ぶ心配がなくなる。
0548デフォルトの名無しさん
2007/07/04(水) 23:55:270549デフォルトの名無しさん
2007/07/04(水) 23:57:310550デフォルトの名無しさん
2007/07/05(木) 00:01:070551デフォルトの名無しさん
2007/07/05(木) 00:02:520552デフォルトの名無しさん
2007/07/05(木) 00:11:00オブジェクト hogeをthrowableにして、
throw hogeで投げて、catch!するだけ。
0553デフォルトの名無しさん
2007/07/05(木) 00:15:370554デフォルトの名無しさん
2007/07/05(木) 00:22:220555デフォルトの名無しさん
2007/07/05(木) 00:25:480556デフォルトの名無しさん
2007/07/05(木) 00:27:23さすが GO GO GOだけあるなw
だが俺はGOTOは(゚�听)イラネ
0557デフォルトの名無しさん
2007/07/05(木) 00:29:130558デフォルトの名無しさん
2007/07/05(木) 00:30:180559デフォルトの名無しさん
2007/07/05(木) 00:43:45にコピーしたいんですけどどうすればいいですか?
0560デフォルトの名無しさん
2007/07/05(木) 00:54:35羹に懲りて膾を吹くというか、gotoの使用そのものが害悪だと思ってる単細胞な人間って
案外いるんだよね。
それは「goto悪玉論」が本で読んだ知識でしかなく、自分の実体験に基づいてないからだろうけどさ。
0561デフォルトの名無しさん
2007/07/05(木) 00:56:380562デフォルトの名無しさん
2007/07/05(木) 01:01:37ちょっw
それ参照www
0563デフォルトの名無しさん
2007/07/05(木) 01:11:36for(int i=0; i<dataGridView1.Rows.Count;i++)
for (int j = 0; j < dataGridView1.Rows[i].Cells.Count; j++)
{
if (dataGridView1.Rows[i].Cells[j].Value != null)
{
if (dataGridView1.Rows[i].Cells[j].Value.ToString() == "orz") goto orz; // もういいや・・・
dataGridView2.Rows[i].Cells[j].Value = dataGridView1.Rows[i].Cells[j].Value;
}
}
orz:
MessageBox.Show("コピー終了");
0564デフォルトの名無しさん
2007/07/05(木) 01:20:200565デフォルトの名無しさん
2007/07/05(木) 01:25:19DataTable dt = (DataTable) dataGridView1.DataSource;
dataGridView1.DataSource = dt.Copy();
で駄目かな
0566デフォルトの名無しさん
2007/07/05(木) 01:38:20問題はバインドしていない時だとおも・・・
つうか、そのくらいの定義書いとくべきだろうなぁ…
0567デフォルトの名無しさん
2007/07/05(木) 06:24:38Control.BeginInvokeでどうでしょう。
ところでControl.BeginInvokeを使った場合はEndInvokeをペアで呼び出すというのは必須なのでしょうかね?
非同期デリゲートの場合は必須とMSDNに明記されていますが、
WPFのDispatcher.BeginInvokeでは不要。というよりEndInvokeがありません。
Control.BeginInvokeはどちらかと言えば後者に近いからいらない気もします。
Control.BeginInvokeにはコールバックを指定できないのでコールバックでのfire and forgetパターンも使えない。
よくわからないので今のところなるだけControl.Invokeを使うようにしてますが。
0568デフォルトの名無しさん
2007/07/05(木) 06:32:15でないとリソースが解放されないことがある。
0569デフォルトの名無しさん
2007/07/05(木) 06:38:05どこかに記述はありますか?
非同期デリゲートについては見つけましたが、
コントロールへのマーシャリングのケースでは記述が見つかりません。
0570デフォルトの名無しさん
2007/07/05(木) 06:53:32http://www.interact-sw.co.uk/iangblog/2005/05/16/endinvokerequired
0571デフォルトの名無しさん
2007/07/05(木) 06:53:35By プログラミング .NET Framework 第2版
0572デフォルトの名無しさん
2007/07/05(木) 07:10:26ありがとう。喉のつっかえが取れました。
0573530
2007/07/05(木) 10:04:21いろいろなご意見ありがとうございます
0574デフォルトの名無しさん
2007/07/05(木) 21:51:38DllImportしなきゃだめ?
0575デフォルトの名無しさん
2007/07/05(木) 21:55:080576デフォルトの名無しさん
2007/07/05(木) 22:45:51グループ化された複数RadioButtonのインデックスのようなものと、
データソースの整数型プロパティをバインドする手段はないでしょうか?
enumのプロパティをRadioButtonの選択で表示したいんですが…
0577デフォルトの名無しさん
2007/07/05(木) 23:10:38ピンボケしろ。自分でピンボケしてイメージリスト取得したクラス作ったけど、おしえてやらねー。
0578デフォルトの名無しさん
2007/07/05(木) 23:12:42コモンダイアログをカスタマイズってできますか??
0579デフォルトの名無しさん
2007/07/05(木) 23:16:490580デフォルトの名無しさん
2007/07/05(木) 23:17:380581デフォルトの名無しさん
2007/07/05(木) 23:19:180582559
2007/07/06(金) 01:44:25どうもありがとう。
が、バインドしてない場合のでも教えてほしいです。。
現状dataGirdView1があって、
dataGridView2の方はなんもかかれてない状態で
dataGridView1をコピーしたいんですけど。
オーソドックな方法とかってのはないんですかね。
0583デフォルトの名無しさん
2007/07/06(金) 02:25:05dataGridView2.Columns.Clear();
for (int i = 0; i < dataGridView1.Columns.Count; i++)
{
dataGridView2.Columns.Add((DataGridViewColumn)dataGridView1.Columns[i].Clone());
}
で列をコピーしてから行をいれるとか
0584デフォルトの名無しさん
2007/07/06(金) 03:05:59(コピー元は記入されてるのに)
なぜ??
0585デフォルトの名無しさん
2007/07/06(金) 03:13:01ソースアップしてみたら?
0586デフォルトの名無しさん
2007/07/06(金) 10:35:040587デフォルトの名無しさん
2007/07/06(金) 10:49:41それだったらある
0588デフォルトの名無しさん
2007/07/06(金) 11:06:03Show() メソッドで開かれているか、ということです。
0589デフォルトの名無しさん
2007/07/06(金) 11:11:400590デフォルトの名無しさん
2007/07/06(金) 11:15:55ネ申!
0591デフォルトの名無しさん
2007/07/06(金) 11:27:240592デフォルトの名無しさん
2007/07/06(金) 12:08:47答えた方が早い場合もあるから
0593デフォルトの名無しさん
2007/07/06(金) 14:54:31C#でサーバー周りばっかやってた人はFormのことなんかしらんだろうし。
0594デフォルトの名無しさん
2007/07/06(金) 15:34:450595デフォルトの名無しさん
2007/07/06(金) 16:09:400596デフォルトの名無しさん
2007/07/06(金) 16:15:17暴れてたカスどもを思い出すな・・・。
0597デフォルトの名無しさん
2007/07/06(金) 17:28:37よう。それを言うためだけにこのスレにきてるのかい?
0598デフォルトの名無しさん
2007/07/06(金) 17:58:520599デフォルトの名無しさん
2007/07/06(金) 18:35:340600デフォルトの名無しさん
2007/07/06(金) 18:45:27全面的に594の言うとおりだよ。
MSDNライブラリ読んでたいていの問題を解決するなんて別に当たり前のことで、
それをすごいなんて思うわけがない。
三流の俺ですらそうなんだから。
>>598なんか自分の馬鹿さ加減を晒しているだけのこと(要するに598はその
当たり前のことが出来ないからそんな風に思うんでしょ)で、非常に恥ずかしいw
少なくとも586レベルの問題を解決できない人間にプログラマの資格も資質もなしといわざるを得ない。
0601デフォルトの名無しさん
2007/07/06(金) 18:47:54心配するな、今ではお前が後ろ指指されてるから。
俺も昔はそのカスな言動をよくしていた。
しかしアホゲイツKKが開発すべき方面と言語を不必要に
増やしたからな。お前は「解決出来て当たり前」程度の
仕事しかしてないし、そういう人格に見られてんだよ。
0602デフォルトの名無しさん
2007/07/06(金) 18:49:32と他人を軽蔑したいんなら、こういうQAスレは絶好の場所だろうな。
0603デフォルトの名無しさん
2007/07/06(金) 18:50:40そこまでパーだとなんか哀れで突っ込む気もおこらん。
0604デフォルトの名無しさん
2007/07/06(金) 18:52:000605デフォルトの名無しさん
2007/07/06(金) 18:55:05Q. <質問>
A. MSDN読め
0606デフォルトの名無しさん
2007/07/06(金) 18:57:14そういうの防衛機制っていうんだよねw
他人を罵倒しようと相手を待ち構えている人間がいるとしても、
罵倒に値する愚劣な行動がなければ罵倒しようがないだろうw
標準的な能力のプログラマであれば調べればすぐわかるはずのことを
質問する行為は罵倒に値するから罵倒されてるんだよ。わかる?
悩んで当然と思うような問題に関する質問であれば罵倒なんてしねえよ。
すくなくとも俺はな。
0607デフォルトの名無しさん
2007/07/06(金) 19:02:53ただそれだけのこと
0608デフォルトの名無しさん
2007/07/06(金) 19:06:40馬鹿で怠惰で非常識な「質問クン」の意見だね。
むしろ594のような態度こそ常識であり、推奨されると思うが。
0609デフォルトの名無しさん
2007/07/06(金) 19:08:350610デフォルトの名無しさん
2007/07/06(金) 19:10:180611デフォルトの名無しさん
2007/07/06(金) 19:16:50>少なくとも586レベルの問題を解決できない人間にプログラマの資格も資質もなしといわざるを得ない。
つか、このスレってプログラマ専用スレッドなのか?
俺は趣味でやってるだけなんだが・・・
てか、プログラマは少ないんじゃないのか?
0612デフォルトの名無しさん
2007/07/06(金) 19:25:230613デフォルトの名無しさん
2007/07/06(金) 19:25:51ただQ&Aスレでプログラマの資格云々を語るのはプログラマ以前の問題
0614デフォルトの名無しさん
2007/07/06(金) 19:27:22そういう性格だから馬鹿なんだよ。
0615デフォルトの名無しさん
2007/07/06(金) 19:31:04どんだけ読解力ないんだ
0616デフォルトの名無しさん
2007/07/06(金) 19:35:15君、中高時代いつも現代国語の成績2以下だったでしょw
0617デフォルトの名無しさん
2007/07/06(金) 19:48:340618デフォルトの名無しさん
2007/07/06(金) 19:54:32みなさん、スルーしていきましょう。
0619594
2007/07/06(金) 20:00:33人の言ってることを理解できない奴って意外と多いんだな。
0620デフォルトの名無しさん
2007/07/06(金) 20:04:370621デフォルトの名無しさん
2007/07/06(金) 20:17:350622デフォルトの名無しさん
2007/07/06(金) 20:36:53ふ〜ん。社会不安障害の人がいるのかぁ。
辛いんだろうなぁ。視線恐怖症だったら最強。
0623デフォルトの名無しさん
2007/07/06(金) 20:38:57そこがネットのいいところだ。
どうせ友達もいない童貞30男なんだろうけれど、哀れ。
0624デフォルトの名無しさん
2007/07/06(金) 21:35:05思考回路おかしそうだね
0625デフォルトの名無しさん
2007/07/06(金) 21:50:54質問無くて回答する気も無くただ文句言いたいだけの香具師はただの荒らし
0626デフォルトの名無しさん
2007/07/06(金) 22:16:53馬鹿は自分の振りかざす「俺様ルール」を自分に適用できない。
0627デフォルトの名無しさん
2007/07/06(金) 22:34:010628デフォルトの名無しさん
2007/07/06(金) 22:54:590629デフォルトの名無しさん
2007/07/07(土) 00:49:010630デフォルトの名無しさん
2007/07/07(土) 01:06:23スレ違いだが巧妙に反論を誘うレスをして荒らす気違い来襲中!!!!!
0631デフォルトの名無しさん
2007/07/07(土) 04:07:100632デフォルトの名無しさん
2007/07/07(土) 11:15:20チェックボックスのenableをフォルスにした時に、テキストの文字色だけを赤にすることって出来ませんか?
0633デフォルトの名無しさん
2007/07/07(土) 11:20:09CheckedChangedイベントでForeColorを変更すれば十分じゃない?
0634559
2007/07/07(土) 16:41:42dataGridView2は初期化、カラムヘッダーをセット済み。
foreach (DataGridViewRow row in dataGridView1.Rows)
{
dataGridView2.Rows.Add((DataGridViewRow)row.Clone());
}
これでdataGridView1をdataGridView2にコピーできてるつもりなんですけど出来ません。
何が間違ってるんでしょう?
0635デフォルトの名無しさん
2007/07/07(土) 17:27:21ttp://msdn2.microsoft.com/ja-jp/library/system.windows.forms.datagridviewrow.clone(VS.80).aspx
>Clone メソッドは、行とそのプロパティ値をコピーしますが、行に含まれるセルの値はコピーしません。
0636634
2007/07/07(土) 19:46:101セルずつコピらなきゃいけないのか。。
ありがとう〜
0637458
2007/07/07(土) 23:12:50どこに書けばよいのでしょうか?
keydownイベントだとHandled = trueしてもビープ音が鳴ったりするので
ここではないと思うんですが。
0638デフォルトの名無しさん
2007/07/07(土) 23:22:01ショートカットキー
0639デフォルトの名無しさん
2007/07/07(土) 23:24:03どうせメニューぐらいつけるんでしょ?
0640458
2007/07/07(土) 23:31:03メニューに割り当てたショートカットキーがきかなくなってしまうので、
これがうまく動けばメニューに付けてもいいのですが
これを解決する方法はあるのでしょうか?
0641デフォルトの名無しさん
2007/07/07(土) 23:37:450642デフォルトの名無しさん
2007/07/07(土) 23:41:43悪いことしてる気がしてしょうがない
0643デフォルトの名無しさん
2007/07/07(土) 23:48:560644458
2007/07/08(日) 00:04:54>>643
それも試した記憶がありますが、WebBrowserには無力だった記憶があります。
0645デフォルトの名無しさん
2007/07/08(日) 00:37:36KeyDownやKeyPressやKeyUpでごりごりやるのに比べれば何倍もましだから。
0646デフォルトの名無しさん
2007/07/08(日) 06:45:59これは仮の構文ですが、namespace abc={a,b,c};でインテリセンスでa,b,cすべて列挙できて、
using abc;がusing a;using b;using c;と同じ意味になるようなもの。
もうひとつ質問ですが、
VBではインテリセンスのポップアップにフィルタ機能がついているんですが、
C#でそれを実現できないでしょうか?
0647デフォルトの名無しさん
2007/07/08(日) 08:05:18タブページのTextを左よりにしたいのですが、
どうすればいいのでしょうか?
タブの幅を全部同じにしたとき、左がそろうようにしたいです。
0648デフォルトの名無しさん
2007/07/08(日) 08:56:48マクロでも使え
0649デフォルトの名無しさん
2007/07/08(日) 09:23:46おかしくないですか?
0650デフォルトの名無しさん
2007/07/08(日) 09:24:55↓
ツールバーとメニュー
です。
なんかほかのアプリはこんな色じゃないし
0651デフォルトの名無しさん
2007/07/08(日) 09:30:040652デフォルトの名無しさん
2007/07/08(日) 12:05:15一つ前のオフィスも同じようなデザインだよね。
確かにあのデザインセンスは俺にも理解できない。
まあ、配色はコンパネで変えられるし、まともな神経のユーザーなら
ルナなんか使わずクラシック表示にしてると思うけど。
0653デフォルトの名無しさん
2007/07/08(日) 12:15:470654デフォルトの名無しさん
2007/07/08(日) 12:20:47Main()に定番の一行。
ToolStripManager.VisualStylesEnabled = false;
>>652
ルナとは関係ない
0655デフォルトの名無しさん
2007/07/08(日) 12:29:27関係あるでしょ。実際やってから物言えば?
0656デフォルトの名無しさん
2007/07/08(日) 13:11:00ありがとう。直りました
0657デフォルトの名無しさん
2007/07/08(日) 14:22:38それより、
ToolStripManager.RenderMode = ToolStripManagerRenderMode.System;
の方がよい。
ToolStripManagerRenderMode.Professionalが規定値みたいだね。
0658デフォルトの名無しさん
2007/07/08(日) 16:45:01実際はOfficeがそうしてるんじゃねーの?
0659デフォルトの名無しさん
2007/07/08(日) 16:55:19これを表示しないようにできますか?
0660デフォルトの名無しさん
2007/07/08(日) 17:09:15全ての要素を連結させた1つの文字列を作りたいんですけど、
foreachでぶんまわして一個一個くっつける以外に効率的な方法ないですか?
0661デフォルトの名無しさん
2007/07/08(日) 17:09:31ConfigurationManager.CreateConfigure(path);で
新規のConfigureオブジェクトを生成し、取得するようなイメージでありませんでしょうか?
0662660
2007/07/08(日) 17:24:060663ファイル転送
2007/07/08(日) 18:09:45ファイル自身は正常に転送できるのですが、どうもファイルが壊れているみたいです。ファイルを再生することができません。
ファイルはAVI形式の動画ファイルです。参考に、以下にコードを掲載しますので、わかる方ご指導をお願いします。
0664ファイル転送
2007/07/08(日) 18:10:19private void newConnect(string filePath)
{
TcpListener newTcpL = new TcpListener(IpAddressGetter.getLocalIpAddr(), this.port + 1);
newTcpL.Start();
Socket newsock = newTcpL.AcceptSocket();
if (newsock.Connected)
{
NetworkStream netStream = new NetworkStream(newsock);
FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
byte[] bb = new byte[8];
while (fs.Read(bb, 0, bb.Length) != 0)
{
netStream.Write(bb, 0, bb.Length);
netStream.Flush();
bb = new byte[8];
}
// 後処理
fs.Close();
netStream.Close();
newsock.Close();
newTcpL.Stop();
}
}
0665ファイル転送
2007/07/08(日) 18:13:22/// <summary>
/// ファイルを受信する
/// </summary>
private void getFile()
{
// ファイル受信用ポートを開く
int port = this.clientPort + 1;
TcpClient newtcpC = new TcpClient();
newtcpC.Connect(this.clientIp, port);
NetworkStream netStream_n = newtcpC.GetStream();
FileStream fs = new FileStream(this.downFolderPath + @"\" + downFileName,
FileMode.OpenOrCreate,
FileAccess.Write);
byte[] bb = new byte[8];
while (netStream_n.Read(bb, 0, bb.Length) != 0)
{
fs.Write(bb, 0, bb.Length);
fs.Flush();
bb = new byte[8];
}
MessageBox.Show("ダウンロード完了!");
fs.Close();
netStream_n.Close();
newtcpC.Close();
}
0666デフォルトの名無しさん
2007/07/08(日) 18:18:04読み込んだサイズと関係なく書き込みしているような?
でも関係ないか。
0667ファイル転送
2007/07/08(日) 18:19:17ちなみに、MP3は正しく再生されます。
0668デフォルトの名無しさん
2007/07/08(日) 18:20:00ネットワークのことはよくわからんが、ファイルサイズはあってるの?
コードを見る限り出力ファイルは必ず8の倍数になる気がするのだが・・・
あと
・ループごとにバッファを再確保してどうする。ものすごい勢いでガーベッジを増やしてる。
・もう少しわかりやすい変数名をつけた方がいい
・もう少し質問文を推敲したほうがいい
0669デフォルトの名無しさん
2007/07/08(日) 18:23:58かなり無駄だろ。
0670666
2007/07/08(日) 18:25:56でも関係ないかも。
0671ファイル転送
2007/07/08(日) 18:26:19ちなみにバイト数自体はあっています。
0672デフォルトの名無しさん
2007/07/08(日) 18:28:02転送
int c = fs.Read(bb, 0, bb.Length);
netStream.Write(bb, 0, c);
受信
int c = netStream_n.Read(bb, 0, bb.Length);
fs.Write(bb, 0, c);
じゃね?
あと、while の中の
bb = new byte[8];
これいらない
0673デフォルトの名無しさん
2007/07/08(日) 18:30:44少なくともどこがどう違うのかは検証したんだろうね?
まさか調べるのが面倒だから丸投げってわけじゃないよね?
0674デフォルトの名無しさん
2007/07/08(日) 18:30:49まずは、ファイル内容比較して、どういう壊れ方してるか確かめろよ。
0675デフォルトの名無しさん
2007/07/08(日) 22:55:08※8バイトずつ書き込んでも、8バイトずつ届くとは限らない。
ついでに8バイトごとにフラッシュなんてあほな実装はやめとけ。
0676デフォルトの名無しさん
2007/07/09(月) 10:01:07どこを見てあってると判断したの?
0677デフォルトの名無しさん
2007/07/09(月) 12:59:50まずはそれで確認してからだね
0678デフォルトの名無しさん
2007/07/09(月) 15:28:090679デフォルトの名無しさん
2007/07/09(月) 15:31:53長嶋を彷彿とさせるwwww
どういうことなんだろう?
FriendではなくPublicでほかのプロジェクトからも参照できるということなんだろうか?
0680デフォルトの名無しさん
2007/07/09(月) 15:40:05Designer.csいじってもコンパイルすると元に戻るからなぁ・・・
0681デフォルトの名無しさん
2007/07/09(月) 16:37:40class Hoge{
long _num;
}
のインスタンスhogeがあるとしてnumFInfoが_numフィールドのFIeldInfoだとします。
string valueStrが値を表す文字列だとして、
ここでnumFInfo.SetValue(hoge,処理ほにゃらら(valueStr))としたいのですが、処理ほにゃららにあたるものってありますか?
numFInfo.FieldTypeより各プリミティブのint.TryParse(valueStr)などに振り分けてもいいんですが、もう少しエレガントな方法がないかと。
0682デフォルトの名無しさん
2007/07/09(月) 16:38:29バイナリエディタで中身を表示したら 00 の羅列だったとか
0683デフォルトの名無しさん
2007/07/09(月) 16:44:330684681
2007/07/09(月) 17:20:440685デフォルトの名無しさん
2007/07/09(月) 22:24:55内部実装は配列なのに・・・
0686デフォルトの名無しさん
2007/07/09(月) 22:32:180687デフォルトの名無しさん
2007/07/09(月) 22:51:18関係ないけどList<T>.InsertRangeの実装見てみたら追加する要素ごとにInsertを呼んでる気がするんだが・・・
これってO(元の要素数*追加する要素数)かからない?
まっとうにやればO(元の要素数+追加する要素数)ですむはずだが。
0688デフォルトの名無しさん
2007/07/09(月) 22:53:330689デフォルトの名無しさん
2007/07/09(月) 23:02:56実装はそうなってないと思うんだけど。
まあ一部のケースだけど
0690デフォルトの名無しさん
2007/07/10(火) 00:37:120692デフォルトの名無しさん
2007/07/10(火) 08:50:100693デフォルトの名無しさん
2007/07/10(火) 12:49:33デバッグ構成はちゃんとあるんですが・・・つかさっきまで普通に実行できてたし。プロジェクト削除、参照削除して追加しなおしても同じ(ノД`)
0694デフォルトの名無しさん
2007/07/10(火) 12:50:46クリーンビルドしてみるとかは?
0695デフォルトの名無しさん
2007/07/10(火) 13:17:57どうすればいいのでしょうか?
Enable = false;だと表示が変わってくれないです。
0696デフォルトの名無しさん
2007/07/10(火) 13:48:54Enable = false;
0697デフォルトの名無しさん
2007/07/10(火) 14:13:46複数のプロジェクトがあってスタートアップに設定してないほうをデバッグ実行しようとすると
そのエラーがでるときあるな。
0698デフォルトの名無しさん
2007/07/10(火) 14:49:140699デフォルトの名無しさん
2007/07/10(火) 14:49:22優先度の高いパスにデバッグ情報無しのファイルがあったりしないか
よくあるのは、EXEのプロジェクトの中にコピーした場合、とか。
0700172
2007/07/10(火) 15:14:07private void button1_click(object sender, EventArgs e) {
if (validation() == true) {
buttonOK.DialogResult = DialogResult.Cancel;
this.Close();
}
else {
buttonOK.DialogResult = DialogResult.Cancel;
MessageBox.Show("入力エラー");
}
}
みたいな。
0701172
2007/07/10(火) 15:15:04private void button1_click(object sender, EventArgs e) {
↓
private void buttonOK_Click(object sender, EventArgs e) {
です
0702デフォルトの名無しさん
2007/07/10(火) 15:28:32どうでもいいけど>>172は俺だ
0703デフォルトの名無しさん
2007/07/10(火) 15:38:19ごめ、ハンドル残ってた
0705デフォルトの名無しさん
2007/07/10(火) 15:54:04VB9はFW3.5になるんだっけ?
0706デフォルトの名無しさん
2007/07/10(火) 15:55:210707デフォルトの名無しさん
2007/07/10(火) 15:58:10でもそのままデバッグ続行したらデバッグ情報でてるっぽい(`・ω・´)
VSのバグ?とりあえずししょうがないようなので放置します。お騒がせしました。
0708デフォルトの名無しさん
2007/07/10(火) 16:31:00メインのフォームが他のフォームをShowDialogで呼び出している最中かを
知る方法がありましたら教えてください。
0709デフォルトの名無しさん
2007/07/10(火) 16:31:440710デフォルトの名無しさん
2007/07/10(火) 16:33:28正当なんじゃね
0711708
2007/07/10(火) 16:42:47なっているか知る方法はありますか?に変えさせていただきます。
すいません。
メッセージボックスも含み、自分が管理できないコードからモーダルウインドウが
出現させられることも含んでできるようにしたいです。
0712デフォルトの名無しさん
2007/07/10(火) 16:50:20Enabledをfalseにしてもそのスタイルはつくけど。
0714デフォルトの名無しさん
2007/07/10(火) 18:06:17多分、デバッグ情報がないって言われたのは
ライブラリ側のアセンブリがロードされる前だったんでは?
0715α
2007/07/10(火) 18:31:550716デフォルトの名無しさん
2007/07/10(火) 18:36:18つかあんなもん「あのとおり」に作るだけじゃないか
0717デフォルトの名無しさん
2007/07/10(火) 18:58:09だって言葉が通じてないもの・・・
0718デフォルトの名無しさん
2007/07/10(火) 19:00:59母国語でおk
0719デフォルトの名無しさん
2007/07/10(火) 19:07:370720デフォルトの名無しさん
2007/07/10(火) 19:07:39スワヒリ語ですがよろしいでうか?
0721デフォルトの名無しさん
2007/07/10(火) 19:09:250722デフォルトの名無しさん
2007/07/10(火) 19:18:290723デフォルトの名無しさん
2007/07/10(火) 19:29:02何かかっけー
0724デフォルトの名無しさん
2007/07/10(火) 20:47:37技名みたいだ
>>715>>722
とりあえずHello, world から始めるといい
0725デフォルトの名無しさん
2007/07/10(火) 20:55:180726デフォルトの名無しさん
2007/07/10(火) 20:55:590727デフォルトの名無しさん
2007/07/10(火) 21:08:13ファイルダイアログをカスタマイズするのは大変です。
クラスがsealed属性になっているので継承はできません。
マイクロソフトがC#でファイルダイアログのカスタマイズのソースを
公開しているみたいですが、0から作る感じです。
0728デフォルトの名無しさん
2007/07/10(火) 21:11:410729デフォルトの名無しさん
2007/07/10(火) 21:16:340730デフォルトの名無しさん
2007/07/10(火) 21:19:45ところで質問は?
0731デフォルトの名無しさん
2007/07/10(火) 21:48:070732デフォルトの名無しさん
2007/07/10(火) 22:29:25できればモーダレスなフォームとしても使える奴を作って欲しい。
よろしく頼んだよ。
0733デフォルトの名無しさん
2007/07/10(火) 22:47:070734デフォルトの名無しさん
2007/07/10(火) 22:47:50スルーできないなら2ch自体見ないほうがいい
0735デフォルトの名無しさん
2007/07/10(火) 22:49:18また来たの?
あなたは定期的に出てくるC++人ですね。
誰かにそのページ紹介してもらってからしばらくいませんでしたね?
c#の勉強はすんだの?
次はC#ではまともなエディタは作れないですよね?
0736デフォルトの名無しさん
2007/07/10(火) 22:49:37本気で待ってるわ
0737デフォルトの名無しさん
2007/07/10(火) 23:19:29後で使い回せるとはいえ
たかがファイルダイアログなのに本体よりでかくなったりしたら。
0738デフォルトの名無しさん
2007/07/11(水) 08:23:27この部分がクリックされたとき、フォーカスの四角を表示させない
ようにするにはどうすればいいのでしょうか?
0739デフォルトの名無しさん
2007/07/11(水) 09:20:19{
}
0740デフォルトの名無しさん
2007/07/11(水) 10:38:19ということをやりたいのですができません。
どうしたらよいんでしょうか。
0741デフォルトの名無しさん
2007/07/11(水) 11:13:14http://msdn2.microsoft.com/ja-jp/library/acdd6hb7(VS.80).aspx
0742741
2007/07/11(水) 11:13:560743デフォルトの名無しさん
2007/07/11(水) 11:27:25なんだかすごいコアなファイルまで置き換わるみたいだけど
大丈夫かよコレ?
0744デフォルトの名無しさん
2007/07/11(水) 16:18:20readonlyにしたところで alp[2] = "hoge"; みたいなことは防げないので注意。
これを防ぎたければインデクサにすればいい。
0745デフォルトの名無しさん
2007/07/11(水) 16:27:390746デフォルトの名無しさん
2007/07/11(水) 16:28:20ローカルエリアネットワーク上の共有フォルダ上のExeを実行すると
System.IO.Directory.GetDirectoriesがセキュリティエラーを出して停止します。
ためしにローカルにコピーしてから使うと問題なく動きました。
1.0/1.1だとセキュリティ設定を変更するツールがあったようなのですが
2.0ではどうやったら、例外が出ないようにすることができるのでしょうか?
0747デフォルトの名無しさん
2007/07/11(水) 20:25:07タブの部分だけをセレクタとして使いたいんだけど…
コンテナなんて要らない。
0748デフォルトの名無しさん
2007/07/11(水) 20:29:140749デフォルトの名無しさん
2007/07/12(木) 09:00:01バックアップというフォルダはあるみたいなのですが…
0750デフォルトの名無しさん
2007/07/12(木) 09:04:220751749
2007/07/12(木) 09:59:28やっぱCVSかSubversion必須ですか・・・
時間がある時に導入してみます。
暫くはプロジェクトフォルダ毎にコピーします。
ありがとうございました。
0752デフォルトの名無しさん
2007/07/12(木) 10:42:49コマンドラインからAcrobat Readerを呼び出そうと思っているのですが、
Readerのインストール先を取得するのに、レジストリの設定値を読みだしても問題ないでしょうか?
一応商用で考えているので、もしレジストリの読み込みだけでも何かのミスで壊れたら。。。。と思い心配中です。
他にも他のソフトの設定値等のレジストリを読み込んでいるような商用ソフトがあれば安心なのですが…
0753デフォルトの名無しさん
2007/07/12(木) 10:43:55阿呆か。
0754デフォルトの名無しさん
2007/07/12(木) 10:46:39関連付け無視でIE起動するアプリケーションとかホント鬱陶しい。
0755デフォルトの名無しさん
2007/07/12(木) 10:58:48わかるわかる
オナニープログラムだよなw
0756751
2007/07/12(木) 11:54:56シェルの関連付けに従って起動出来るのですね。
その方が全然いいです。
そのやり方もやはりレジストリ読み込みになるのでしょうか…
というのも、昔データエラーが出るCD-RWのコピーを頼まれて、
データエラーを無視してコピーしてくれるソフトでコピーしたら、
コピー元のデータが0byteになったという恐ろしいことがあったので。。。
読み込みだけでも怖いです・・・
0757デフォルトの名無しさん
2007/07/12(木) 12:04:48つーかレジストリ読むだけで壊れるって、それなんてWindowsME?
0758デフォルトの名無しさん
2007/07/12(木) 13:01:560759デフォルトの名無しさん
2007/07/12(木) 17:17:57story
1、アプリAを実装中である。
2、アプリAにはポップアップウィンドウと呼ばれるformが存在する。
3、ポップアップウィンドウがShow()されると、アプリAのどの窓よりも
前面に表示される。
4、ただしアプリA以外のアプリを使用するときは、
使用するアプリを最前面に表示させる。
5、アプリAにフォーカスを戻すと、必ずポップアップウィンドウが最前面に表示される。
formのbase.CreateParams プロパティをオーバーライドして色々試しているのですが、
なかなか思うような動きをしてくれません。
このstoryを解決するような実装をどなたか教えていただけないでしょうか?
よろしくお願いします。
0760デフォルトの名無しさん
2007/07/12(木) 17:26:590761759
2007/07/12(木) 17:45:34ひとつのフォームに対する親子関係ではなくて
story3にあるようにアプリAのどの窓よりも前面に表示したいのです。
0762デフォルトの名無しさん
2007/07/12(木) 17:52:230763デフォルトの名無しさん
2007/07/12(木) 18:36:23はずしてるかもしれないけど、
Showの引数をAにするのではなくAの子ウインドウにする。
0764デフォルトの名無しさん
2007/07/12(木) 18:41:310765764
2007/07/12(木) 18:42:130766デフォルトの名無しさん
2007/07/12(木) 18:44:07タイマーで適当に監視して(そのアプリの)他のウィンドウの一つ手前に
Aを持ってくるってのが簡単だと思う。
フォーカス等を奪わないように気を付けてね。
0767759
2007/07/12(木) 18:53:53>763
Aとはフォームではなくてアプリ全体を指します。
>764
ポップアップウィンドウを消さないとその他のフォームが操作できないので
ShowDialogは却下です。
>765
アプリAの全てのフォームの最前面に表示したいのです
>766
簡単ではありますが、常にtimerのイベントプロシジャーが実行されるので
わがままですが個人的にはその実装はしたくありません。
0768デフォルトの名無しさん
2007/07/12(木) 18:56:110769デフォルトの名無しさん
2007/07/12(木) 19:43:20なんか言ってる意味がよくわからないので勘違いしてるかも知れないけど。
(1) アプリの全てのフォームのDeactivateイベントを次のようなメソッドに紐付けする。
void anyForm_Deactivate(object sender, EventArgs e)
{
if (Form.ActiveForm == null)
{
formA.TopMost = false;
}
}
(2) アプリの全てのフォームのActivatedイベントを次のようなメソッドに紐付けする。
void anyForm_Activated(object sender, EventArgs e)
{
formA.TopMost = true;
}
こういう動作のことでいいの?
0771デフォルトの名無しさん
2007/07/12(木) 20:47:46少しは頭使おうよ。
それならたとえば、
void anyForm_Activated(object sender, EventArgs e)
{
if (!formA.TopMost)
{
Form activeForm = Form.ActiveForm;
formA.TopMost = true;
activeForm.Focus();
}
}
とかすればいいじゃん。
0773デフォルトの名無しさん
2007/07/12(木) 21:56:300774デフォルトの名無しさん
2007/07/12(木) 22:10:250775デフォルトの名無しさん
2007/07/12(木) 22:11:450776デフォルトの名無しさん
2007/07/12(木) 23:57:22>ShowDialogは却下です。
先に飼い解けや
0777デフォルトの名無しさん
2007/07/13(金) 01:07:50ただ単にアプリAで常に最前面に表示するフォームと何が違うの?
0778デフォルトの名無しさん
2007/07/13(金) 01:29:590779デフォルトの名無しさん
2007/07/13(金) 01:54:30Enterイベントで this.TopMost = true;
Leaveイベントで this.TopMost = false;
で駄目かな
0780デフォルトの名無しさん
2007/07/13(金) 01:56:490781デフォルトの名無しさん
2007/07/13(金) 02:26:470782デフォルトの名無しさん
2007/07/13(金) 03:29:540783デフォルトの名無しさん
2007/07/13(金) 07:15:18何が趣味なんだろ。
0784デフォルトの名無しさん
2007/07/13(金) 07:28:280785デフォルトの名無しさん
2007/07/13(金) 09:23:30ばくでしょうか?
treeView1.Nodes.Add("LLLLLLLLLLLLSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS");
treeView1.Nodes.Add("LLLLLLLLLLLLSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS");
0786デフォルトの名無しさん
2007/07/13(金) 11:49:29表示させることはうまくいったのですが、その合計の値を取得しとうとすると失敗してしまいます。
int sum = 0;
foreach(DataRow dataRow in dt.Rows)
{
sum +=(int)dataRow["数量"];
}
int sum1 = 0;
foreach(DataRow dataRow in dt.Rows)
{
sum1 +=(int)dataRow["金額"];
}
double Goukei = (sum*sum1*(1+0.05));
Goukeiには常に0.0しか入ってくれません。
ためしに
double Goukei = (2*2000*(1+0.05));
としてみてもやはり0.0のままです。何が原因でいけないのでしょうか?
0787デフォルトの名無しさん
2007/07/13(金) 11:51:17ステップ実行で追えよ。
0788デフォルトの名無しさん
2007/07/13(金) 12:09:570789デフォルトの名無しさん
2007/07/13(金) 12:18:53http://pc11.2ch.net/test/read.cgi/tech/1182948981/184-
なんでふらっとスレからわざわざこっちに移動してくるんだ?
0790786
2007/07/13(金) 12:28:49順序的には
private
DataSet ds = new DataSet("明細");
DataTable dt;
DataSet ds2 = new DataSet("合計金額");
DataTable dt2;
public Form1
{
dt = ds.Tables.Add("明細");
dt.Columns.Add("数量",typeof(int));
dt.Columns.Add("金額"typeof(int));
dataGrid1.DataSource = ds.Tables["明細"];
dt2 =ds2.Tables.Add("合計金額");
dt2Columns.Add("数量",typeof(int));
dt2Columns.Add("金額",typeof(int));
dataGrid2.DataSource = ds2.Tables["合計金額"];
}
0791786
2007/07/13(金) 12:30:15{
DataRow dr2;
dr2 = dt2.NewRow();
dt2.Rows.Clear();
int sum = 0;
int sum1 = 0;
foreach(DataRow dataRow in dt.Rows)
{
sum -=(int)dataRow["数量"];
}
dr2["数量"] = sum;
foreach(DataRow dataRow in dt.Rows)
{
sum1 +=(int)dataRow["金額"];
}
dr2["金額"] = sum1
dt2.Rows.Add(dr2);
double Goukei = (sum*sum1*(1+0.05));
}
上記のようにコーティングしています。
0792デフォルトの名無しさん
2007/07/13(金) 12:33:380793デフォルトの名無しさん
2007/07/13(金) 12:40:262.二度DataRowCollectionループする必要性が不明
3.ちゃんと変数名つけろと会社で怒られないのか不明
4.Goukei使ってないのが不明
5.コーティング
6.ふらっとに帰れ
0794デフォルトの名無しさん
2007/07/13(金) 13:15:06のスレでもコーティングだよ(;´Д`)
と、とにかくチョコレートで頼むわ。。
マジレスすると、foreachの中にブレークポイントしかけて
値がとれてるか確かめることから始めよう
0795デフォルトの名無しさん
2007/07/13(金) 14:40:30これだけのコードじゃ、dtには、データが存在しないのでは?
まさか、ホントにこれだけで、合計が 0 なのはどうして?って、質問じゃぁないよね…
>>793 でいわれてるような なんで2回ループすんの?
どころか、このループは処理されないんだから
int sum = 0; int sum1 = 0; のままジャン?
0796デフォルトの名無しさん
2007/07/13(金) 14:51:05>double Goukei = (2*2000*(1+0.05));
これが0.0になるのが非常に気なるんだが。
どうやって確かめたのだ?
0797デフォルトの名無しさん
2007/07/13(金) 18:34:29#define func( a,b,c ) ( (a << b) | c )
#define CONST_VALUE_A func( 1,2,3 )
これをC#で実装しようとするとfuncという関数を作って代入すればよいのですが
そうすると、const変数にできません。
staticクラスでこういうコンパイル時には定数になるものを
定義することはできるのでしょうか?
0798デフォルトの名無しさん
2007/07/13(金) 18:40:120799デフォルトの名無しさん
2007/07/13(金) 18:42:15べた書きかstatic readonly
0800デフォルトの名無しさん
2007/07/13(金) 18:44:39スッキリ
場合によってはあとから再利用可能
0801デフォルトの名無しさん
2007/07/13(金) 18:47:520802デフォルトの名無しさん
2007/07/13(金) 20:36:41一般に中間言語っていうとバイトコードのことですよね?
.NETの場合アセンブリ言語っぽい表現のことも指すと思うんですが(拡張子.ilだし)、
両者を区別する用語みたいなものはあるんでしょうか?
0803デフォルトの名無しさん
2007/07/13(金) 20:40:170804デフォルトの名無しさん
2007/07/13(金) 20:47:100805デフォルトの名無しさん
2007/07/13(金) 21:04:00なんかややこしいですね・・・
と思ったんですが.NETでアセンブリっていえばコードの集合のことですよね。
コードそのものはなんていうんだろ・・・
0806デフォルトの名無しさん
2007/07/13(金) 21:11:04それは違う。
MSILはテキスト状態のものもバイナリ状態のものもIL(中間言語)と呼ぶ。
アセンブリは複数(または単数)のILモジュールをまとめたもの。
0807デフォルトの名無しさん
2007/07/13(金) 21:50:44{
DataRow dr2;
dr2 = dt2.NewRow();
dt2.Rows.Clear();
int sum = 0;
int sum1 = 0;
double Goukei = 0;
foreach(DataRow dataRow in dt.Rows)
{
sum -=(int)dataRow["数量"];
sum1 +=(int)dataRow["金額"];
Goukei -=(int)dataRow["数量"]*(int)dataRow["金額"];
}
dr2["数量"] = sum;
dr2["金額"] = sum1
dt2.Rows.Add(dr2);
Goukei *= 1.05;
}
0808デフォルトの名無しさん
2007/07/13(金) 22:00:37だな
集合体っていう意味じゃない >アセンブリ
あえて言うならアセンブラは有りだと思うが
http://msdn2.microsoft.com/ja-jp/library/496e4ekx(VS.80).aspx
0809デフォルトの名無しさん
2007/07/13(金) 22:26:14exeやdllを抽象的・論理的に表した言葉と理解していいの?
0810デフォルトの名無しさん
2007/07/13(金) 23:10:04んーやっぱテキストファイルの方をバイトコードと区別する呼び方が何かあるわけじゃないんですね。
そこでも「.ilソースファイル」という呼び方しかしてないし。
検索したらここでも同じようなことが書かれてました。
http://www.atelier-blue.com/program/il/il10-01.htm
関係ないけどMSILとCILって同じだと思ってたんですが違うんですね。
0811デフォルトの名無しさん
2007/07/14(土) 02:49:25おねがいします。
0812デフォルトの名無しさん
2007/07/14(土) 02:51:20時と場合による、普通は出来ないので
目を閉じるのがよい
0813デフォルトの名無しさん
2007/07/14(土) 02:55:440814デフォルトの名無しさん
2007/07/14(土) 02:56:040815デフォルトの名無しさん
2007/07/14(土) 03:24:50やってみます。ありがとうございます
0816デフォルトの名無しさん
2007/07/14(土) 03:40:58異なるコンテキストメニューを表示させたいのですが、どのように行えば良いでしょうか。
いくらか検索して、notifyIconをMouseClickで押したマウスのボタンで判別してcontextMenuStripをShowすればいいのだと思ったのですが、
右クリックのみ有効のままでうまくいきませんでした。
ご教授お願いします。
private void notifyIcon_MouseClick(object sender, System.Windows.Forms.MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.contextMenuStrip_Left.Show(this, PointToClient(Cursor.Position));
}
else if (e.Buton == MouseButtons.Right)
{
this.contextMenuStrip_Right.Show(this, PointToClient(Cursor.Position));
}
}
0817デフォルトの名無しさん
2007/07/14(土) 15:04:07どういう意味?
0818デフォルトの名無しさん
2007/07/14(土) 15:18:11左に割り当てたメニューが表示できなかったってことなんじゃね?
0819816
2007/07/14(土) 16:52:12わかりづらくてすみません、>>818さんの言うとおりです。
右クリックではcontextMenuStrip_Rightのメニューが出るのですが、
左クリックではまったく反応なしのまま。という意味です。
どこかでデザインフォームからのnutifyIconのContextMenuStripプロパティに直接設定すると
左クリックが有効にならないというのがあり、ContextMenuStripプロパティの指定をなくして
コード上で指定するようにもしてみましたが、この場合だと右左ともメニューが表示できなくなってしまいました。。
0820デフォルトの名無しさん
2007/07/14(土) 17:38:03Showするんだろう。
0821デフォルトの名無しさん
2007/07/14(土) 18:05:12なんかやってみたら普通に問題なく出来たけど。
ひょっとしてその"notifyIcon_MouseClick"にイベントがヒモ付けされてない、
なんてオチだったりしないか?
0822デフォルトの名無しさん
2007/07/14(土) 19:23:220823デフォルトの名無しさん
2007/07/14(土) 20:09:19で追加したノードを削除するために
treeView1.Nodes.RemoveByKey("AAA");
を実行したのですが、削除されません。
何がいけないのでしょうか?
0824デフォルトの名無しさん
2007/07/14(土) 20:56:360825デフォルトの名無しさん
2007/07/14(土) 20:59:56ContextMenuStripプロパティは設定してるんだろ。
テストしたけどContextMenuStrip設定して手もMouseClick普通に発生する。
>>821に一票
0826816
2007/07/14(土) 23:09:07>>821さんの通りでしたorz
初歩的なミスにずっと気づいてなかったとは・・・。
無事解決できました。ありがとうございました。
0827デフォルトの名無しさん
2007/07/14(土) 23:32:20ここで質問するほうがよっぽど面倒な気がするが…
0828デフォルトの名無しさん
2007/07/14(土) 23:46:470829デフォルトの名無しさん
2007/07/15(日) 03:00:35で、連結する間にいれる文字を指定する方法orそれにかわるうまい方法はないですか?
string[] tmp = new string("a", "b", "c");
の配列をforeachなどで一回一回くっつけて文字列を作るのじゃなくて、
string after = "a任意の文字b任意の文字c";
のように一発で合成させたいんですけど。
0830デフォルトの名無しさん
2007/07/15(日) 03:04:270832デフォルトの名無しさん
2007/07/15(日) 12:26:070833デフォルトの名無しさん
2007/07/15(日) 12:30:240834デフォルトの名無しさん
2007/07/15(日) 12:34:44それは流石に無理があると思うが・・・
「よく使うクラス」って意外に多いよ。
むしろインテリセンスを活用するべき。メソッドの説明まで出るんだし。
0835デフォルトの名無しさん
2007/07/15(日) 12:38:291日や2日で済むくらいじゃない?
想像してる範囲が違うのかな
0836デフォルトの名無しさん
2007/07/15(日) 12:40:24ある程度知識がないと何が大事な情報かなんてわからないからキリがない
0837デフォルトの名無しさん
2007/07/15(日) 12:50:060838デフォルトの名無しさん
2007/07/15(日) 12:58:20俺は834こそ「無理がある」と思うけど。
スペルとかオーバーロードの全てとかを一語一句覚える必要はもちろんないが、
基本的なクラスが持つ機能ぐらい頭に入ってないと効率悪くて死ぬでしょ。
まあそういうわけで俺はStringみたいな基本中の基本のクラスの機能が頭に入ってないって
そもそもどうなの、と思うわけだけど、そういう個人的な感覚は横においておくとしても、
少なくとも文字列を操作しようと思ったときに真っ先にStringについて調べようと思う発想がないのは
かなり恥ずかしいことでしょ。
0839デフォルトの名無しさん
2007/07/15(日) 13:03:490840デフォルトの名無しさん
2007/07/15(日) 13:05:15見落とした(見つけられなかった)だけじゃねーの?
0841デフォルトの名無しさん
2007/07/15(日) 13:05:44また無駄なレスが付いたな
0843デフォルトの名無しさん
2007/07/15(日) 13:57:480844デフォルトの名無しさん
2007/07/15(日) 14:09:13>>842をよく見ろ >>843
そして俺も>>841
0845デフォルトの名無しさん
2007/07/15(日) 14:25:260846デフォルトの名無しさん
2007/07/15(日) 14:26:510847デフォルトの名無しさん
2007/07/15(日) 14:30:03static void Mainとするのが普通?
VSで自動生成されるコードを見てると、privateだけど外部から呼ばれる可能性があるものは
アクセスレベルを書かない習慣になってるように見えるんだが
0848デフォルトの名無しさん
2007/07/15(日) 14:31:390849デフォルトの名無しさん
2007/07/15(日) 14:32:270850デフォルトの名無しさん
2007/07/15(日) 14:34:29外部から呼ばれるとは限らないものは基本なし(=internal)になってるが。
っていうか、特に理由がなければつかないのがデフォルトになってるな。
0851デフォルトの名無しさん
2007/07/15(日) 14:49:050852デフォルトの名無しさん
2007/07/15(日) 15:05:590853デフォルトの名無しさん
2007/07/15(日) 15:20:430855デフォルトの名無しさん
2007/07/15(日) 18:13:460856デフォルトの名無しさん
2007/07/15(日) 21:22:380857デフォルトの名無しさん
2007/07/16(月) 00:33:050858デフォルトの名無しさん
2007/07/16(月) 20:24:32�@ジェネリッククラスA<T>でIEquatable<A<T>>を実装したときのbool A<T>.Equals(A<T>)に
ついてなんですが、T型のメンバの比較を、Tが値型だった時でもボックス化しないように
書くことは可能ですか?
�Aジェネリッククラスの静的フィールドはTの型ごとに個別に確保されるのですか?
�BT var = ...; if (var == null) ...; という文がTが値型であっても許容されるんですが、
この比較では一体何が行われてるんですか?
(デバッガの逆アセンブルによるとcallを含む何かしらの
処理が行われているようです。)
0859デフォルトの名無しさん
2007/07/16(月) 20:31:39もしメンバ等にTを持っててそのTを比較するとかなら、
Tの制約にIEquatable<T>を指定して、IEquatable<T>.Equalsを呼べばいい。
�Aそう
�B何も行われない。
値型に対してインスタンスかされた場合、
nullとの比較およびそのときに処理される内容は削除される。
※絶対に実行されることはないとわかっているため。
0860デフォルトの名無しさん
2007/07/16(月) 20:40:57Tの制約にIEquatable<T>が含まれているとするとする。
このとき次のコードはボックス化を起こさない。
T a, b;
bool b1 = a.Equals(b);
bool b2 = System.Collections.Generic.Comparer<T>.Compare(a, b);
ただしこう書くとボックス化が起きる。
T a, b;
IEquatable<T> ia = a; //ボックス化
IEquatable<T> ib = b; //ボックス化
bool b1 = ia.Equals(b);
0861860
2007/07/16(月) 20:44:11上のボックス化を起こさない版、正しくはこう。
b2 = System.Collections.Generic.EqualityComparer.Default.Equals(a, b);
0862860
2007/07/16(月) 20:45:26b2 = System.Collections.Generic.EqualityComparer<T>.Default.Equals(a, b);
0863858
2007/07/16(月) 20:54:43�@Tには制約を課したくないのですが、そしたらやっぱりボックス化するしかないんでしょうか。
�Aありがとうございます。
�B「コードを最適化する」にチェックを入れても値型のTに対して7個程度の命令が
出力されてるみたいなんですが、この設定はJIT最適化とは無関係ってことなんですかね?
>>860-862
参考になりました。
0864デフォルトの名無しさん
2007/07/16(月) 20:59:490865デフォルトの名無しさん
2007/07/16(月) 21:06:09b2 = System.Collections.Generic.EqualityComparer<T>.Default.Equals(a, b);
は、TがIEquatable<T>を実装している場合にはボックス化は起きず、
実装していない場合はボックス化は起きるけどエラー無しに比較だけはしてくれる。
それでよければ利用するメソッド側にIEquatable<T>制約を付ける必要はない。
TがIEquatable<T>を実装していない場合は、
ValueType.Equals以外に一般的な比較方法が無いんだけどどうしたいわけ?
せいぜいできて、Equalsが型付けされたバージョンでオーバーロードされているか
Reflectionで調べて、あったらそれ呼ぶぐらいだと思うけど。
>値型のTに対して7個程度の命令
命令ってのがILのことを言ってるなら、冗長な比較はJITコンパイルの段階で除去される。
0866デフォルトの名無しさん
2007/07/16(月) 21:18:41すみません、無関係なのは当たり前でした。
VisualStudioでデバッガの出力する逆アセンブリコード(ILではなく)において
値型とnullの比較に7個程度の命令が含まれていたんですが、VisualStudioでホストすると
JIT最適化が行われないとかそういったことがあるんでしょうか?
>>865
IEquatable<T>を実装していなければ値型は規定の比較、参照型は参照の比較で十分かなと
思ってます。制約によるデメリットの方が大きいので。
EqualityComparer<T>.Defaultの方法がよさそうですね。
0867デフォルトの名無しさん
2007/07/16(月) 21:56:04>JIT最適化が行われないとかそういったことがあるんでしょうか?
いろんな要因でいろんなレベルの最適化が無効になりうるので
そういうのは自分で確かめてくれ。
最適化が無効になるのが嫌な場合は、
該当部分でDebugger.Break()を呼んだりDebugBreak APIを呼んだりして
その後にデバッガをアタッチするのが定石。
F5実行でインライン展開といった一部の最適化は確実に無効になる。
あとは言語のスコープにオブジェクトの寿命をあわせるために
ローカル変数を延命させたりといった副作用がある。
0869デフォルトの名無しさん
2007/07/16(月) 22:07:59EqualityComparer<T>.Defaultが何やっているかについてはこの辺読んでおくよろし。
ttp://d.hatena.ne.jp/NyaRuRu/20070216/p1
0870858
2007/07/16(月) 22:18:47Debugger.Break()を使ったところnull比較のコードが省かれていることを確認しました。
どんな最適化が実際に行われているか自分の目で確認できるので便利ですね。
どうもありがとうございます。
>>869
読んでおきます。
0871デフォルトの名無しさん
2007/07/16(月) 22:46:08public Form1()
{
InitializeComponent();
ContextMenuStrip menu = new ContextMenuStrip();
ToolStripMenuItem item = new ToolStripMenuItem("item1");
item.DropDown.Items.Add("item1_1");
menu.Items.Add(item);
item.DropDown.MouseDown += new MouseEventHandler(DropDown_MouseDown);
this.ContextMenuStrip = menu;
}
void DropDown_MouseDown(object sender, MouseEventArgs e)
{
MessageBox.Show("MouseDown");
}
コンテキストメニューのドロップダウンにマウスイベントを割り当てても実行されないのですが
どうすればいいのでしょうか?
DropDownItemClickedではなくどうしてもMouseDownを割り当てたいのです。
0872デフォルトの名無しさん
2007/07/16(月) 23:13:380873デフォルトの名無しさん
2007/07/16(月) 23:14:40獏ですか(怒)?
0874デフォルトの名無しさん
2007/07/16(月) 23:15:2298で使うな。
0875デフォルトの名無しさん
2007/07/16(月) 23:19:260876デフォルトの名無しさん
2007/07/16(月) 23:25:01>item.DropDown.MouseDown += new MouseEventHandler(DropDown_MouseDown);
わからんけどここが問題では?
0877デフォルトの名無しさん
2007/07/16(月) 23:25:050878デフォルトの名無しさん
2007/07/16(月) 23:30:25FIX: Treeview を制御するのには、 勝ち 98 での負の座標で失敗します。
0879デフォルトの名無しさん
2007/07/16(月) 23:43:49→FIX: Treeview 制御 失敗 で 負 座標 での 勝ち 98
→FIX: Treeview を制御するのには、 勝ち 98 での負の座標で失敗します。
機械翻訳するのはいいけど Win を勝ちはひどいなwww
0880デフォルトの名無しさん
2007/07/16(月) 23:45:310881デフォルトの名無しさん
2007/07/16(月) 23:49:37どうしてもMouseDown使いたいってのは、
右クリックとかもとりたいのではないかと想像するけど
ContextMenuStrip使わずにToolStripDropDownMenuとかから継承してって
OnMouseUpとかで自前のイベント起こした方が近道っぽいよ
0882デフォルトの名無しさん
2007/07/17(火) 03:35:31ここで怒ってどうするw
0883デフォルトの名無しさん
2007/07/17(火) 03:38:45バグじゃないよ
0884デフォルトの名無しさん
2007/07/17(火) 05:51:420885デフォルトの名無しさん
2007/07/17(火) 06:14:53ありがとうございました(怒)
0886デフォルトの名無しさん
2007/07/17(火) 07:49:090887デフォルトの名無しさん
2007/07/17(火) 13:00:17レスサンクスです。
でも大変そうなので、結局、DropDownに追加したToolStripMenuItem一つ一つにMouseDownを割り当てました。
0888デフォルトの名無しさん
2007/07/17(火) 13:12:34どうでもいいけど今からvarっていう識別子を使うのはやめとけよ
0889デフォルトの名無しさん
2007/07/17(火) 15:44:350890デフォルトの名無しさん
2007/07/17(火) 21:17:230891デフォルトの名無しさん
2007/07/17(火) 21:20:440892デフォルトの名無しさん
2007/07/18(水) 01:25:31これってカスタマイズできないですか?
System.Collections.GenericはともかくSystem.Textはさほど使用頻度は高くないと思うんですが・・・
0893デフォルトの名無しさん
2007/07/18(水) 01:31:500894デフォルトの名無しさん
2007/07/18(水) 01:55:260895デフォルトの名無しさん
2007/07/18(水) 08:19:57ホストされていたらweb.configを読み込んで、そうでなければapp.configを読み込む。
という処理とかを書きたいんですけど。
0896デフォルトの名無しさん
2007/07/18(水) 09:06:34単に普通にセクションを読むだけなら
区別しなくても大丈夫だよ?
0897デフォルトの名無しさん
2007/07/18(水) 12:55:250898デフォルトの名無しさん
2007/07/18(水) 17:59:480899デフォルトの名無しさん
2007/07/18(水) 18:46:310900デフォルトの名無しさん
2007/07/18(水) 19:28:00あたらしくコンテキストメニューを出したいんですが、
コンテキストメニューのshow()を呼ぶと元のメニューが消えてしまいます。
元のメニューを消さずにコンテキストメニューを表示させるには
どうすればいいのでしょうか?
お願いします。
0901デフォルトの名無しさん
2007/07/18(水) 19:31:360902デフォルトの名無しさん
2007/07/18(水) 20:10:14自分のアプローチが間違っているかも?って少しぐらい考えないのかと。
>>900
質問に対する答えは「不可能」
そうしたい理由があるならそれも書けば?
0903デフォルトの名無しさん
2007/07/18(水) 20:13:160904デフォルトの名無しさん
2007/07/18(水) 20:19:540905デフォルトの名無しさん
2007/07/18(水) 20:21:02>IEやスタートメニュー見たことないの?
イミワカラン;;
0906デフォルトの名無しさん
2007/07/18(水) 20:37:02じゃーなんていうの
0907デフォルトの名無しさん
2007/07/18(水) 20:49:58もしかして進むボタンとか戻るボタンのことを言ってるのか?
あと、スタート押して出てくるのはどう見てもウィンドウだろ
0908デフォルトの名無しさん
2007/07/18(水) 20:52:150909デフォルトの名無しさん
2007/07/18(水) 20:55:06右クリックするとコンテキストメニューが出るよ
0910デフォルトの名無しさん
2007/07/18(水) 20:55:58D&Dで並べ替えたり、右クリックでメニューが出せるのを知らない人が多いの?
もちろんあれは普通のメニューじゃなくてMSオリジナルなんだけど、
今回.netでメニューがオリジナルになったからできると思って
質問したわけです。
0911デフォルトの名無しさん
2007/07/18(水) 20:56:02多分
メニュー→お気に入り→フォルダまたはお気に入りファイルの上で右クリック
の奴のことを言ってるんだと思う。
0912デフォルトの名無しさん
2007/07/18(水) 20:58:18分かれやボケ共
0913デフォルトの名無しさん
2007/07/18(水) 21:01:48じゃぁおまえはすっこんでろカス!
別れやチンカス
0914デフォルトの名無しさん
2007/07/18(水) 21:18:46ここかフラットでずっと前に出てたから探してみな。
0915デフォルトの名無しさん
2007/07/18(水) 21:21:19ToolStripMenu上でToolStripじゃないメニューでるよ
0916デフォルトの名無しさん
2007/07/18(水) 21:37:36ありがとう。
System.Windows.Forms.ContextMenuを使ってできました。
0917デフォルトの名無しさん
2007/07/18(水) 21:41:410918デフォルトの名無しさん
2007/07/18(水) 22:00:23表示されるのがデフォみたいだけど、この仕様はPublicなプロパティとメソッドを
いじるだけではやはり変えられない?
しかし、ToolStrip系のコントロールって全体的に設計が糞だね。
Controlから派生して作られてない上に、継承して動作変更しようと思っても
制約が非常に多い。
0919デフォルトの名無しさん
2007/07/18(水) 22:08:48自分の書いた内容をよく読むんだ!
変だと思わなかったらふらっとへ池。
0920デフォルトの名無しさん
2007/07/18(水) 22:10:39まあ君が変だということはよくわかった。
0921デフォルトの名無しさん
2007/07/18(水) 22:17:26ほめ言葉に聞こえるんだ。
0922デフォルトの名無しさん
2007/07/18(水) 22:33:080923デフォルトの名無しさん
2007/07/18(水) 22:46:210924デフォルトの名無しさん
2007/07/18(水) 22:48:45昔はパソコン=プログラムだったんだが。
俺たちは異端児…
0925デフォルトの名無しさん
2007/07/18(水) 22:57:560926デフォルトの名無しさん
2007/07/19(木) 00:03:43そんな奴がいたら変だ!
0927デフォルトの名無しさん
2007/07/19(木) 01:25:52>>910
>>916
これで解決なの?
なんなんだいったい…
0928デフォルトの名無しさん
2007/07/19(木) 02:09:35Expressとか出すからこうなるんだ
0929デフォルトの名無しさん
2007/07/19(木) 02:13:31お前みたいなのはこのスレに必要ないから
もう来なくていいよ
0930デフォルトの名無しさん
2007/07/19(木) 02:20:07わざわざ自分に言わなくてもwwww
何自演やってんだよカス
お前がいらないよ
いいわけいいからさっさと消えろ
0931デフォルトの名無しさん
2007/07/19(木) 02:31:340932デフォルトの名無しさん
2007/07/19(木) 02:33:27ワロタw
0933デフォルトの名無しさん
2007/07/19(木) 02:34:300934デフォルトの名無しさん
2007/07/19(木) 02:37:140935デフォルトの名無しさん
2007/07/19(木) 02:47:02煽りながらも質問するとか答えるとかしろ
あ、丸いボタンってどうやって作るんですか?
みたいな
0936デフォルトの名無しさん
2007/07/19(木) 02:48:340937デフォルトの名無しさん
2007/07/19(木) 02:49:390938デフォルトの名無しさん
2007/07/19(木) 02:50:02お前の母ちゃんでべそだろ?
0939デフォルトの名無しさん
2007/07/19(木) 02:51:21次スレたてればいいことだし
0940デフォルトの名無しさん
2007/07/19(木) 02:53:57で、>>1000が壮大な質問しろ
0941デフォルトの名無しさん
2007/07/19(木) 03:23:420942デフォルトの名無しさん
2007/07/19(木) 05:42:180943デフォルトの名無しさん
2007/07/19(木) 05:46:17C#のRuby bindingsというか。
検索してもやり方がまずいのか見つからなくて
0944デフォルトの名無しさん
2007/07/19(木) 06:19:33C#
0945デフォルトの名無しさん
2007/07/19(木) 08:56:110946デフォルトの名無しさん
2007/07/19(木) 08:59:060947デフォルトの名無しさん
2007/07/19(木) 08:59:21>>5
0948デフォルトの名無しさん
2007/07/19(木) 09:03:09public static void Main()とかあるじゃん
VBのがかんたん!
0949デフォルトの名無しさん
2007/07/19(木) 09:04:03ウインドウのサイズも指定しないとだめなんじゃん
死ねよ
0950デフォルトの名無しさん
2007/07/19(木) 09:10:08そこはデザイナがやってくれるから気にせずForm1にVBのようにゴリゴリ書けばいい
0951デフォルトの名無しさん
2007/07/19(木) 09:27:40this.button.Location = new Point(80, 16);
this.button.Size = new Size(96, 32);
これってウインドウサイズ指定必須ってことだろ=−
0952デフォルトの名無しさん
2007/07/19(木) 09:28:18これだよー
0953デフォルトの名無しさん
2007/07/19(木) 09:48:120954デフォルトの名無しさん
2007/07/19(木) 10:07:050955デフォルトの名無しさん
2007/07/19(木) 10:15:43名前付けるとしたらなんと言ったらいいのかね?
0956デフォルトの名無しさん
2007/07/19(木) 10:16:41クラス名・変数名に迷ったら書き込むスレ。Part10
http://pc11.2ch.net/test/read.cgi/tech/1180146315/
0957895
2007/07/19(木) 10:33:530958デフォルトの名無しさん
2007/07/19(木) 13:00:44こことか >>956 で聞くよりも、Mac 関係の板に行って
「あれってみんななんて呼んでる?」って聞くほうがはやくね?
0959デフォルトの名無しさん
2007/07/19(木) 13:02:26賢いレイアウトしてもらいたければ WPF 使え。
そのサイトに WPF の説明もある。
Window.SizeToContent で、中身にあわせた自動 sizing してくれる。
0960デフォルトの名無しさん
2007/07/19(木) 13:28:05ドックとしか言われないと思うよ。
0961デフォルトの名無しさん
2007/07/19(木) 13:41:52どうしよう。
0962デフォルトの名無しさん
2007/07/19(木) 13:41:58using System.Windows.Forms;
class Program
{
public static void Main()
{
Application.Run(new Form());
}
}
何を持って必須といいたいんだろう。
初期値くらい持ってるけど。
それとも週の真ん中で釣り糸垂らし中?
0963デフォルトの名無しさん
2007/07/19(木) 13:43:12実際使いもせずにサイトの情報だけ見て判断しているんじゃね?
0964デフォルトの名無しさん
2007/07/19(木) 16:47:400965デフォルトの名無しさん
2007/07/19(木) 18:22:52比率でサイズ指定できるんじゃなかったか?
フォームのサイズを変更しても、大丈夫というか
0966デフォルトの名無しさん
2007/07/19(木) 19:04:03C♯, C#相談室 Part34
http://pc11.2ch.net/test/read.cgi/tech/1162467959/
0967デフォルトの名無しさん
2007/07/19(木) 19:10:510968デフォルトの名無しさん
2007/07/19(木) 19:51:40過去ログの番号の整合性が無くなるからそこは止めようということになった
0969デフォルトの名無しさん
2007/07/19(木) 19:54:56http://pc11.2ch.net/test/read.cgi/tech/1184840053/
0970デフォルトの名無しさん
2007/07/20(金) 09:54:42そうですよ。
何か問題ありますか?
VBとC#とどっちがかんたんなのか
3時間以内に判断しないといけないんです
0971デフォルトの名無しさん
2007/07/20(金) 10:01:30this.button.Location = new Point(80, 16);
this.button.Size = new Size(96, 32);
↑こういうコードはデザイナが自動生成するから自分で書く必要ない
ついでにデザイナが生成するコードは別ファイルで保存されるから
目にはいることもない
ただ、VB6.0あたりとC#だったらVBの方が簡単なんじゃないだろうか
便利なのは.NETの方だと思うが
0972デフォルトの名無しさん
2007/07/20(金) 10:10:14C#とVJと
どれが一番かんたんななのか
しらべなくてはいけないんっですが
それするとけっきょく
ぜんぶいちどはいいんすとーるしなければならないので
ふぁびょってるんですうううもうだめええ
らめええええええ
で、不等号>でむずかしいじゅんにならべてええええ
0973デフォルトの名無しさん
2007/07/20(金) 10:19:26異論は認めない。これが宇宙の真理だ。100人に聞けば100人が同じように答える。
だからもう森へお帰り。
0974デフォルトの名無しさん
2007/07/20(金) 10:27:080975デフォルトの名無しさん
2007/07/20(金) 10:27:39異論はあるけど>>972にはその答えで十分だと思うからつっこまない。
0976デフォルトの名無しさん
2007/07/20(金) 10:28:540977デフォルトの名無しさん
2007/07/20(金) 10:29:04すばらしい!!!
VJ#ではないところが特に素晴らしい
0978デフォルトの名無しさん
2007/07/20(金) 10:29:32くそVBを学ぶなんてw
0979デフォルトの名無しさん
2007/07/20(金) 10:31:430980デフォルトの名無しさん
2007/07/20(金) 10:35:17次すれには来るなよ〜
0981デフォルトの名無しさん
2007/07/20(金) 10:46:51質問1個くらいは答えられるかもしらん
0982デフォルトの名無しさん
2007/07/20(金) 11:14:070983デフォルトの名無しさん
2007/07/20(金) 11:19:05私はC#初心者で、VS2005 C# で開発してるんですが、
文字列を数値変換する方法で前々から思っていたことがありました。
以下の定義されているとします。
string s = "10";
例外が発生してもいいなら以下のようにすると思います。
int i = int.Parse(s);
例外を発生させたくない場合は、以下のようにすると思います。
int i;
if( !int.TryParse(s, out i) )
MessageBox.Show("error");
前者が1行ですむのに対して後者は3行も使わなければなりません。
もっと効率の良いソースはないでしょうか?
0984デフォルトの名無しさん
2007/07/20(金) 11:19:570985デフォルトの名無しさん
2007/07/20(金) 11:23:57>>983
int i = int.TryParse("1", out i) ? i : -1;
0986デフォルトの名無しさん
2007/07/20(金) 11:30:26糞プログラマを増やすだけだろw
0987デフォルトの名無しさん
2007/07/20(金) 11:44:33>>973
「目が真っ赤だ」
「な、仲間をよんでるぞ!」
0988デフォルトの名無しさん
2007/07/20(金) 11:52:10いろいろ流行のものをブチ込んだ言語
0990デフォルトの名無しさん
2007/07/20(金) 12:07:060991デフォルトの名無しさん
2007/07/20(金) 12:38:341行だけどそんなのやだ
0992デフォルトの名無しさん
2007/07/20(金) 12:57:320993デフォルトの名無しさん
2007/07/20(金) 13:40:160994デフォルトの名無しさん
2007/07/20(金) 14:20:490995デフォルトの名無しさん
2007/07/20(金) 14:30:10スレ立てヨロ
>>1000
もっとまともな質問しろやカス!
0996デフォルトの名無しさん
2007/07/20(金) 14:33:10C#, C♯, C#相談室 Part41
http://pc11.2ch.net/test/read.cgi/tech/1184840053/
0997デフォルトの名無しさん
2007/07/20(金) 14:34:56>>969
既に立っておるぞよ、この糠
0998デフォルトの名無しさん
2007/07/20(金) 14:37:42>>995への突っ込みが無ければ立ててしまうところだったわ
0999デフォルトの名無しさん
2007/07/20(金) 14:38:451000デフォルトの名無しさん
2007/07/20(金) 14:44:46市ね
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。