トップページ⇒tech
1001コメント270KB

ふらっとC♯, C#(初心者用) Part18

レス数が1000を超えています。これ以上書き込みはできません。
000110002007/08/08(水) 14:28:24
前スレ1000の俺です。
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

前スレ: ふらっとC♯, C#(初心者用) Part17
http://pc11.2ch.net/test/read.cgi/tech/1182948981/
前前スレ: ふらっとC♯, C#(初心者用) Part16
http://pc11.2ch.net/test/read.cgi/tech/1179313212/

(,,゜Д゜)∩先生助けてくださいです! 
....世の中には貴方の助けを必要としている人がいるぽ....
0002デフォルトの名無しさん2007/08/08(水) 14:31:58
     ,、‐;;;;;;;;;ヽ、
    /:::::;;-‐-、:::ヽ             _,,,,,,,_
     l::::::l  _,,、-‐"iiiiiillllllllllliiー-、__ゞ:::::::::::`ヽ,
    ヽ::`/: : : : iiiiiilllll||llllliiiiii : : ヽイ〜`ヽ::::::i
      /;,..-‐、: : : : : l|l: : : : : : : : : : : : : \ ノ::::}
     /: /: : : : :`.: : : : : : : : :/´ ̄\ : : : : : ヽ:::ノ
     !: : : :iflllli、: : : : : : : : : : : : : : : :ヽ: : : : : :.!
    |: : : :llllf l: : : : : : : : : : :.iflllli、: : : : : <iiii|
    |: : : :|llll |: : : : : : : : : : .llllf l: : : : : : : : :.|
    |: : : :.!lllll!' : : : : : : : : : : |llll |: : : : : : : : :i
   /: : : : :    ▼    : : .!lllll!' : : : : : : : :.i  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   |: : :"      |      : : : : : : : :.<iii/  | 
   l   / ゞ、__,. -ーヘ、  . :.:〃:: : : ヲ,イ   <  C#厨はクズ。以上。
    ゙i  i   __      `i. :.:. :ノ:: : し'´ ::|   | 
    ゙i  ``''ー==='''^ . ! :.:.:.:i: :: : |: : : :|    \_____________
      l    ー‐-´ ..  . . :.::,': :: :: |: /|\
     l i    "''    : :../::/: :: :/  ,イ::::::\
     `、j       . :.::./:://  ,.'´/::::::::::::::\
  _, .イ¨|ヽ、   . . :.:::_ィ‐'´ ,. '´ _,/:::::::::::::::::::/`ー-、_
‐ ´:::::::::/:::::|\ハー一イ´_,.‐'´ ,.‐'´/:::::::::::::::::::/:::::::::::::::::
000310002007/08/08(水) 14:34:15
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/
.NET のつぼ
http://park16.wakwak.com/~mimi/dotnet/top.html


C/C++に関する質問はやさしい人がいっぱいいる下記のスレへ
【初心者歓迎】C/C++室 Ver.41【環境依存OK】
http://pc11.2ch.net/test/read.cgi/tech/1186410368/l50
0004前スレ9122007/08/08(水) 14:46:16
前スレ912です。

if (int.Parse(listBox1.Items[e.Index].ToString()) == 値1)
を試してみましたが

入力文字列の形式が正しくありません。

とエラーが出てしまいました。
0005デフォルトの名無しさん2007/08/08(水) 15:03:23
int.TryParse
0006前スレ9122007/08/08(水) 15:15:16
'int' に 'TryParse' の定義がありません。といわれました・・・
0007デフォルトの名無しさん2007/08/08(水) 15:34:25
.Net1.1か?
0008前スレ9122007/08/08(水) 15:39:17
1.1です・・・
0009デフォルトの名無しさん2007/08/08(水) 15:51:12
だったらint.Parseはtry...catchの中で使う
0010前スレ9122007/08/08(水) 15:56:29
try
{

if(int.Parse(listBox1.Items[e.Index].ToString()) == A1)
{
myBrush = Brushes.Red;
}
e.Graphics.DrawString(listBox1.Items[e.Index].ToString(),e.Font,myBrush,e.Bounds,StringFormat.GenericDefault);

e.DrawFocusRectangle();
}
catch
{
}

こんな形であってますでしょうか?
0011デフォルトの名無しさん2007/08/08(水) 17:45:59
つーかintにキャストでいけるんじゃね
0012デフォルトの名無しさん2007/08/08(水) 19:09:16
高収入のアルバイト。チャットレディ。
自宅にいながらかなり高額の報酬が得られます。
副業としては最高のアルバイトだと思います。
私も現役チャットレディで月に10万以上稼いでます。
下記のサイトを参考にしてください。
http://www2.atpages.jp/nicl1216
0013デフォルトの名無しさん2007/08/08(水) 19:54:28
>>4
そういう場合は
listBox1.Items[e.Index].ToString()の結果をどこかに表示したりして原因を考えるもんだよ。

プログラマが考えることを放棄してはいけない。
0014デフォルトの名無しさん2007/08/08(水) 20:21:39
マイクロソフトのペイントに、SendMessageで値を送りたいのですが、
どうすればいいでしょうか?

(メニュー)色→色の編集で出てくるダイアログで、色の作成ボタンを押したときに、
右側に出てくるRGUに値を送りたいです。

分からないことはFindWindowEXに入れる値?
MSのメモ帳なら、
hWnd = FindWindowEx(hWnd, 0, "Edit", null);
のEditの部分

とSendMessageの値
メモ帳なら
SendMessage((System.IntPtr)hWnd, 0x000C, 0, msg);
に入れる値です。

メモ帳は↑で文字列を送れるのですが、ダイアログに送る方法がいまいち
分からなくて・・お願い致します。
0015デフォルトの名無しさん2007/08/08(水) 20:25:47
そこまで到達するのに一苦労じゃないか。

spy++つかえ
0016デフォルトの名無しさん2007/08/08(水) 22:13:08
>>15
すげーーーーーーーーーーー!
Spy++って使ったことなかったので・・
クラス名とか分かるんですね。
やってみます。ありがとうございました。
0017142007/08/09(木) 01:24:41
ありがとうございました。後半は一応できました。
http://yokohama.cool.ne.jp/chokuto/urawaza/message/
ここがとても参考になりました。

でも、「色の編集」ダイアログを開く方法が分かりません・・・
ヒントを頂けると嬉しいです。
0018デフォルトの名無しさん2007/08/09(木) 09:28:15
オートメーションに無いかなあ
色の編集ダイアログを出すだけならメニューのID送ればいいべ
0019前スレ9122007/08/09(木) 09:40:30
>>13

メッセージボックスなどにも表示させてみましたが、「System.Data.DataRowView」
と表示されるだけで・・・とりあえず、表示をちゃんとしないとだめですかね。
0020前スレ9122007/08/09(木) 10:36:11
とりあえず、ListBoxの中の表示は直せました。

あとはどうやって、色を変えればいいかな・・・
0021デフォルトの名無しさん2007/08/09(木) 10:48:36
>>20
表示させるんじゃなくて、ブレークポイント設定してクイックウォッチで
中身が何なのか確かめろよ
0022前スレ9122007/08/09(木) 10:57:26
中身はTextで見た場合、表示のまま、Items[e.Index]を見た場合は
インデックス番号が取得できました。
0023デフォルトの名無しさん2007/08/09(木) 11:03:08
だったらその表示のままの部分と値1を比較してブラシをかえればいいべ
0024デフォルトの名無しさん2007/08/09(木) 14:08:12
コンストラクタで初期化して、以降は変更しないフィールドはreadonlyを付けた方がいいの?
0025デフォルトの名無しさん2007/08/09(木) 14:30:52
openFileDialogで選択したファイルのパスを、テキストでファイルに書き込みしたいのですが、書き込めません。
パスは正しく取得できています。
openFileDialogをどうしても使いたいのでよろしくおねがいします。


//openFileDialogで選択したファイルのパスをテキストでファイルに書き込む
private void button1_Click(object sender, System.EventArgs e)
{
string text;
if(openFileDialog1.ShowDialog() == DialogResult.OK)
{
text = openFileDialog1.FileName;

//ここでtextをファイルに書き込む

}
}
0026デフォルトの名無しさん2007/08/09(木) 14:34:39
いや、書き込むとこのコードが無いと、どこが間違ってるのか指摘できないよ
0027デフォルトの名無しさん2007/08/09(木) 14:52:23
・OpenFileDialogでパスを取得
・そのパスをファイルに書き込む
これらは互いに全く関係ないから落ち着いて分けて考えろ
0028デフォルトの名無しさん2007/08/09(木) 15:29:07
クリスタルレポートを使ってるんだが、レポートの印刷を押したときに
イベントを発生させるようにしたいんだが、どうすればいいかな?
0029デフォルトの名無しさん2007/08/09(木) 16:30:55
>>26
そんなのないんだろ
0030デフォルトの名無しさん2007/08/09(木) 16:32:07
>>29
それじゃあ書き込めないわな
0031252007/08/09(木) 16:49:52
>26
>27

すいませんでした。

ちゃんと書き込めていました。
自分が意図したところにファイルが無かったので、質問しましたが、OpenFileDialogで開いたフォルダにファイルがありました。
書き込みのところで、相対パスを使ったのが問題でした。
以後気をつけます。
0032デフォルトの名無しさん2007/08/09(木) 17:02:42
OpenFileDialogはカレントディレクトリも変わるからなあ
0033デフォルトの名無しさん2007/08/09(木) 18:19:32
ところで単に興味で聞くんだが、
なんでファイルに書き込むとこの
ソース書かなかったの?
0034デフォルトの名無しさん2007/08/09(木) 18:26:43
処理が複雑だったんじゃないの?
0035デフォルトの名無しさん2007/08/09(木) 19:02:01
恥ずかしかったんじゃないの?
0036デフォルトの名無しさん2007/08/10(金) 01:25:23
ここにも書き込めてなかったんだろ
0037デフォルトの名無しさん2007/08/10(金) 01:37:04
ざぶとん1枚もっていけ
0038デフォルトの名無しさん2007/08/10(金) 01:53:10
ざぶとんが欠けた。
0039142007/08/10(金) 03:06:12
>>18
メニューのIDってどれでしょう?
ずっとSpyで探しているのですがめぼしい物が見つかりません。
「無題 - ペイント MSPaintApp」の直下にありますか?
Spy持ってたら教えて欲しいです。
0040デフォルトの名無しさん2007/08/10(金) 06:37:56
private void hoge() {
 処理;
 innerHoge();
 処理;
 innerHoge();

 private void innerHoge() {
 }
}

みたいに、hoge()の中でしか呼ばれない繰り返し行う処理をinnerHoge()にまとめたく、
かつ、innerHoge()はhoge()の中からしか呼ばれないので、hoge()の中で定義するなどして
他からは気にしなくてもよいようにしたいのです。
でも、C#はメソッドの入れ子はできないようなので、こういうことがしたいときの
冴えたやり方を教えてほしいのです。
よろしくお願いします。
0041デフォルトの名無しさん2007/08/10(金) 06:55:38
>>40
冴えてるかどうかは置いといてdelegateを使うというのはどう?
private delegate void F();
private void hoge() { 
  F innerHoge = delegate { innerHoge相当の処理; };
 innerHoge(); 
 innerHoge(); 
}
0042デフォルトの名無しさん2007/08/10(金) 07:12:30
>>41
delegateって使ったことないんですが、これって宣言した引数の数とあってれば、
なんどでも定義し直して使えるんですかね?
たとえば、hoge()の中ではinnerHoge()相当の処理を定義して、hage()の中では
同じ宣言に対してinnerHage()相当の処理を定義してって感じで

しかしそうやってみると、無名オブジェクトを作るところで名前をつけるような
ちょっとしたもっさり感を感じなくもないですね
hoge( new Hige() );
とすればいいところを
Hige temp = new Hige();
hoge( temp );
みたいな
0043デフォルトの名無しさん2007/08/10(金) 07:28:37
Action!これだ!ありがとう!
0044デフォルトの名無しさん2007/08/10(金) 09:31:23
>>39
スパイあるんなら、メッセージ監視して自分でメニュー選んで
流れたメッセージIDを拾う、という手がある
ツール使って直接リソースを覗くのでもいいけど
0045デフォルトの名無しさん2007/08/10(金) 09:56:04
>>42
>しかしそうやってみると、無名オブジェクトを作るところで名前をつけるような
>ちょっとしたもっさり感を感じなくもないですね

2回以上呼ぶのにもっさり感のないやり方ってどうやるんだ?
0046デフォルトの名無しさん2007/08/10(金) 10:56:53
そもそも2回以上全く同じ動作するならforループとかで何とかなるんじゃね?
0047デフォルトの名無しさん2007/08/10(金) 11:06:31
んな
0048デフォルトの名無しさん2007/08/10(金) 15:12:33
gotoを使えばいいんだよ
0049デフォルトの名無しさん2007/08/10(金) 15:54:26
クラスまたはインタフェースSingletonを実装または継承するSingletonChildを
(名前の通りシングルトンパターンで)作りたいと思っているのですが、一つ問題があります

Singletonで、自分を実装または継承するものには、あるメソッドmethod()を実装させたいのです
従ってabstractではその実装を強制できないため、Singletonはインタフェースとなります
しかしインタフェースではコンストラクタの実装を定義できないため、実装クラスの
記述によってシングルトンパターンとなりえなくなります
ポリモーフィズムを許し、特定のメソッドの実装を強制させるシングルトンパターンは
どのようにすれば実現できるのでしょうか?
0050デフォルトの名無しさん2007/08/10(金) 17:08:57
private interface ISingleton でvoid method();
public abstract class Singleton : ISingleton でコンストラクタ定義
public class SingletonChild : Singleton でmethod()実装

かな?でもSingleton定義した時点でISingletonにmethod()がないって怒られそうな気がする

private interface ISingleton でvoid method();
public abstract class Singleton でコンストラクタ定義
public class SingletonChild : Singleton, ISingleton でmethod()実装

が正解でしょうか?クラスとインタフェースで分かれてたら多重継承できたはずだし
でもクラス図にするとすべてのシングルトンパターンのクラスの頭に2つ箱がつながるのは
あまり綺麗じゃないなあ…
0051デフォルトの名無しさん2007/08/10(金) 17:34:22
>>49
>従ってabstractではその実装を強制できないため
質問の意図がつかめてないのだけど、何でそう思ったの?

public abstract class Singleton {
  public abstract void method();
:
で強制できてない? 
0052デフォルトの名無しさん2007/08/10(金) 18:04:57
Singletonの派生クラスがAとBの2つあったとして、
AのインスタンスとBのインスタンスは同時に存在してもいいの?
0053デフォルトの名無しさん2007/08/10(金) 18:10:01
ファクトリは継承先で実装しないとしょうがないよな。インスタンスを保存するクラス変数も。
0054デフォルトの名無しさん2007/08/10(金) 18:31:43
//Singletonクラス
private static Dictionary<Type, Singleton> instances;
public static T GetInstance<T>() where T : Singleton, new() {
 Singleton i; Type t = typeof(T);
 if (!instances.TryGetValue(t, out i)) {
  i = new T();
  instances.Add(t, i);}
 return (T)i; }
こういうのは?
0055デフォルトの名無しさん2007/08/10(金) 18:41:36
普通にnewできてしまうだろうがよっ
0056デフォルトの名無しさん2007/08/10(金) 18:46:56
protected Singleton(){
if (instances.ContainsKey(this.GetType()))
throw new InvalidOperationException();
}
とか
0057デフォルトの名無しさん2007/08/10(金) 19:01:18
>>51
オライリーの本にそう書いてあったように記憶していたのですが、よく読み返してみると
孫クラスには強制できないという話でした
ということは、単に抽象クラスで作ってそれを継承してやるだけでいいんでしょうか?

>>52
http://smdn.invisiblefulmoon.net/mnemorepos/20040219-00.html
ここを参考にすると、実行時にリフレクションでもってインスタンスを作っていますが、
ポリモーフィズムされて親のSingleton型としてフィールドに持つため、
二回目別のサブクラスからファクトリを呼んでも、一回目のサブクラスのインスタンスが
帰ってくるだけのようです
0058デフォルトの名無しさん2007/08/10(金) 19:14:56
>>57
コンストラクタに触られたくないからprotectedにしといてリフレクションで無理矢理っていうのは
いくらなんでもやっちゃダメだろそのリンク先
0059デフォルトの名無しさん2007/08/10(金) 19:17:55
>>58
あれ…だめなんですか?
0060デフォルトの名無しさん2007/08/10(金) 19:19:28
ちょっと手の込んだファクトリとか作ろうとしたらリフレクションが必要になるのがC#
0061デフォルトの名無しさん2007/08/10(金) 19:21:25
だからって>>58を認めたらシングルトンなんか根底から崩壊するよ
0062デフォルトの名無しさん2007/08/10(金) 19:29:37
しかも>>57のリンク先
>.NET Frameworkではstaticなメンバに対してはスレッドセーフであるそうなので、lock等は使っていません。
って・・・
まずいだろそれ
0063デフォルトの名無しさん2007/08/10(金) 19:42:37
SingletonClass 第二のインスタンス = (SingletonClass)System.Activator.CreateInstance(typeof(SingletonClass), true);
あっさり崩壊w
0064デフォルトの名無しさん2007/08/10(金) 19:53:51
ええと…では、継承可能で最初にインスタンスを生成した子クラスのインスタンスを
唯一のインスタンスとするシングルトンは、

http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/dnpatterns/htm/ImpSingletonInCsharp.asp

このURLの最後のマルチスレッドシングルトンのサンプルコードを変更して、
Singletonを継承可能な抽象クラスにし、プロパティInstanceをGetInstance( System.Type type )
にして、GetInstanceに最初に渡した子クラスのTypeでもってインスタンスを作るという
やり方は、どのような問題がありますでしょうか。
SingletonにキャストできないTypeが渡された場合はException投げて終わりにしようと思ってます
0065デフォルトの名無しさん2007/08/10(金) 20:09:34
最後の行がそのまま問題
C#2.0なら>>54みたいに GetInstance<T>() where T : Singleton にしといた方がいいよ
new()も付けたくなるけど
0066デフォルトの名無しさん2007/08/10(金) 20:20:54
そんなに無茶でもないように見えるがな。
まあもっといい実装はあるとしても。

ただ、おかしなことも書いてるので注意は必要。
0067デフォルトの名無しさん2007/08/10(金) 20:21:50
>>57
そら最初からやりたいことが違うんだから
0068デフォルトの名無しさん2007/08/10(金) 20:24:26
おおお上2つは>>58あて
0069デフォルトの名無しさん2007/08/10(金) 20:26:40
>>63
崩壊してないだろ
0070デフォルトの名無しさん2007/08/10(金) 20:27:42
>>61
意味が分からんなあ
0071デフォルトの名無しさん2007/08/10(金) 20:30:08
>>66
もっといい実装というと
0072デフォルトの名無しさん2007/08/10(金) 20:35:35
ライブラリならコンストラクタをinternalにするとかでいいんじゃね
どんな凝ったことしてもリフレクション使われたりしたらどうせ死亡だし
0073デフォルトの名無しさん2007/08/10(金) 20:36:55
崩壊するのは一般的によくあるシングルトンの実装の場合だろ。

だがリフレクション使えばかなり何でもありだから
大抵は想定外で済むだろうってか済ますだろう。
0074デフォルトの名無しさん2007/08/10(金) 20:44:23
コンストラクタ側にリフレクションで呼ばれてるかどうか判定する術はないの?
0075デフォルトの名無しさん2007/08/10(金) 20:46:36
ないよ。
0076デフォルトの名無しさん2007/08/10(金) 20:48:28
>>72
どういう使われ方をするかというと、そのクラスのインスタンスをグローバル変数的に全クラスから
アクセスできるように、また、そのクラスの実装は外部のXMLファイルに定義して、
XMLにかかれているクラスのインスタンスを作るにようにしようとしています。
後々サブクラスが増えても、既存のソースは直さずに、増やすクラスの追加とXMLファイルの
修正だけですむようにと
0077デフォルトの名無しさん2007/08/10(金) 20:49:31
あまりまともな方法は無いと思う。
ので特殊な事情がない場合は最初からあきらめる。
0078デフォルトの名無しさん2007/08/10(金) 20:50:42
>>76
そういう場合はリフレクション使うしかないよ。
0079デフォルトの名無しさん2007/08/10(金) 21:13:19
ああ>>77は>>74宛な
0080デフォルトの名無しさん2007/08/10(金) 23:19:22
こういうのはどこかで妥協が必要になるのだろう。継承したクラスに生成のコードを委譲してみた。
abstract class AbstractSingleton {
  static object syncRoot = new object();
  volatile static AbstractSingleton instance = null;

  protected delegate AbstractSingleton RegistrationCallback();
  protected static AbstractSingleton Registration(RegistrationCallback callback) {
    if (instance == null) {
      lock (syncRoot) { if (instance == null) instance = callback(); }
    }
    return instance;
  }
  public abstract void MustOverrideFunc();
}
0081デフォルトの名無しさん2007/08/10(金) 23:21:33
つづき。 継承したクラスがInstanceプロパティを細工してしまったら終わりだが、
継承したクラスの作成者は信用することで妥協。
sealed class SingletonImpl1 : AbstractSingleton {
  private SingletonImpl1() {}
  public static AbstractSingleton Instance {
    get { return Registration(delegate{ return new SingletonImpl1(); }); }
  }
  public override void MustOverrideFunc() { Console.WriteLine(this); }
}
sealed class SingletonImpl2 : AbstractSingleton { // 省略
class Test {
  static void Main() {
    AbstractSingleton singleton = SingletonImpl2.Instance;
    singleton.MustOverrideFunc();
    singleton = SingletonImpl1.Instance;
    singleton.MustOverrideFunc();
  }
}
0082デフォルトの名無しさん2007/08/10(金) 23:28:52
それはそれでよくできてると思うけど、話と違う方向に行っちゃってるな
0083デフォルトの名無しさん2007/08/10(金) 23:29:42
こうなるともはや違うイディオムな気がするな…
クラスがシングルトンなんじゃなくて、コンテナが管理すると言う。
DIじゃないけど、DIでのシングルトンの考え方に近い。
0084デフォルトの名無しさん2007/08/10(金) 23:31:47
あいや>>83は>>80を見た時点で書いたんだが、
>>81が入ってくるとちょっとイメージが違ったわw
0085デフォルトの名無しさん2007/08/10(金) 23:35:56
static class SingletonManager<T> where T : class, new()
{
public static T Instance = new T();
}

自作のインスタンスなんかしったこっちゃないわ。
0086デフォルトの名無しさん2007/08/10(金) 23:49:40
ああすまんreadonlyつけ忘れた
0087デフォルトの名無しさん2007/08/10(金) 23:51:31
遅延評価の必要が無ければなんでもいい感じですなぁ。
0088デフォルトの名無しさん2007/08/11(土) 01:43:41
遅延評価したけりゃstaticコンストラクタつければいいだけ。
そも、ジェネリックの場合はジェネリックの具象クラスがコンストラクトされたタイミングになるだろうから、
事実上知見評価に近い気もするが。
0089デフォルトの名無しさん2007/08/11(土) 01:50:28
じっさいのとこ、本物のシングルトンじゃなきゃ困ることってそんなにあるんかな。
ルールにのっとった方法で取得したインスタンスは、唯一、同一であることが保証されれば、
たいていの場合は困らん気がするのだが。
0090デフォルトの名無しさん2007/08/11(土) 03:19:38
C#ってIF(A & B)みたいな使い方できないのか
なんか便利なんだか面倒なんだか
0091デフォルトの名無しさん2007/08/11(土) 03:40:51
何が言いたいのかわからない
0092デフォルトの名無しさん2007/08/11(土) 03:43:38
Cとかと違ってC#は型付けが強いからね
0093デフォルトの名無しさん2007/08/11(土) 03:46:08
新しい言語ほど、バグを作りそうな仕様を減らすものだよ。
0094902007/08/11(土) 04:00:39
>>91
文字列操作とか面倒な作業に煩わされない強力な言語だなって
驚いてたんだけどこんなこともできねぇのかって話し
まあわざとそうしているんだろうけど
プログラム人口が減っている昨今、確かにシンプルな方がいいんだよね
0095デフォルトの名無しさん2007/08/11(土) 04:03:16
AとBが何のつもりか知らんがそんなことができてもたいしてうれしくもない。
0096デフォルトの名無しさん2007/08/11(土) 04:10:54
それはお前の意見だろうが!ひとそれぞれやり方が違うんだよ
0097デフォルトの名無しさん2007/08/11(土) 04:17:16
何が言いたいのかよくわからんが
>こんなこともできねぇのかって話し
これもお前の意見じゃないのか??
0098デフォルトの名無しさん2007/08/11(土) 04:17:59
いやべつじんだったらすまんのう
0099デフォルトの名無しさん2007/08/11(土) 04:19:47
C++のMSのソースにもそのような判定は腐るほどあるからな
自分達でもバグの温床になると判断してなくしたんだろ
0100デフォルトの名無しさん2007/08/11(土) 08:56:40
>>90
A B ともbool型なら & はショートサーキット評価なしの論理ANDになるけどね。
0101デフォルトの名無しさん2007/08/11(土) 09:16:31
大文字のIFが使えないって事じゃないのか
0102デフォルトの名無しさん2007/08/11(土) 10:29:57
VBへようこそ!
0103デフォルトの名無しさん2007/08/11(土) 11:01:11
そもそもIF(A&B)って何の言語だよ
0104デフォルトの名無しさん2007/08/11(土) 13:09:42
if文にbool型しか取れないってことを言ってるのかな。
0105デフォルトの名無しさん2007/08/11(土) 13:31:26
class Boolean{
public static implicit operator Boolean(int value){...}
public static bool operator true(Boolean value){...}
public static bool operator false(Boolean value){...}
}

if ((Boolean)(A&B))
0106デフォルトの名無しさん2007/08/11(土) 16:01:19
あるObject oが、あるインタフェース Hoge.Interfaceを実装したものかどうかを知りたいのですが、
やり方としてはoのType tを取得して、t.FindInterfacesでType[]を取得して、
そのFullNameがHoge.Interfaceに合致するか見ながら回す、とかしかないんでしょうか?
もっとかしこいやり方がありそうな気がするけど、t.IsImplemented( "Hoge.Interface" )
みたいなメソッドは無いようなので
0107デフォルトの名無しさん2007/08/11(土) 16:05:10
Type.IsAssignableFromを使うのが定番
0108デフォルトの名無しさん2007/08/11(土) 16:05:18
インスタンスがあるなら as か is で充分だろ
01091072007/08/11(土) 18:23:59
ああ、Typeとか言ってたから適当にレスしてしまった
>>108に同意
0110デフォルトの名無しさん2007/08/11(土) 21:07:51
2.0のBinaryFormatterでシリアライズしたものを1.x系でデシリアライズ可能でしょうか?
0111デフォルトの名無しさん2007/08/11(土) 21:10:43
可能としてもやりたくねーな
なんでそんな要求が出てきたの?
0112デフォルトの名無しさん2007/08/11(土) 21:29:25
>>111
ASP.NET1.xで動いてる環境があって、
そのコンテンツ管理システムを2.0でつくろうかと思っているんですが
更新頻度が少ないマスタ的なデータをそのコンテンツ管理で作って
1.x系に読ませたいなと。(DBを経由せずに)
0113デフォルトの名無しさん2007/08/11(土) 21:48:08
バイナリ形式って、きっちりとした仕様決められてたっけ。
まあ、それだけ限定的な使用方法なら実際に試してみればいいと思う。
たぶんシリアライズ対象のオブジェクトのアセンブリが同じなら問題ないはずだけど……。

どうしても不安なら、シリアライズ部分だけ外部プロセスにやらせる手もある。
0114デフォルトの名無しさん2007/08/11(土) 21:52:37
XMLにしとけよ
なんでそんなことでバイナリにしたがるわけ?
0115デフォルトの名無しさん2007/08/11(土) 21:54:37
バイナリ形式はプログラムレベルで対応しないといけないだろう。
明確に仕様があるものならば、フレームワークレベルで定義しないと
使い物にならん。
01161102007/08/11(土) 21:58:09
>>113
いますぐは試せないのですが、
シリアライズ対象のアセンブリが同じであればいけそうとのことですね。
ありがとうございました。
01171102007/08/11(土) 21:58:51
>>114
理由はパフォーマンスです。
0118デフォルトの名無しさん2007/08/11(土) 22:07:10
たしかにXMLは遅い
0119デフォルトの名無しさん2007/08/11(土) 22:22:18
>更新頻度が少ないマスタ的なデータをそのコンテンツ管理で作って
>1.x系に読ませたいなと。(DBを経由せずに)

こんな処理になんでそんなにパフォーマンスが必要なんだ?
もちろんそりゃパフォーマンスがいいに越したことはないが。

ついでに、確か1.1と2.0ではバイナリシリアライズ形式に
互換性がなかったんじゃなかったっけか?
これはちとうろ覚えですまんが。
0120デフォルトの名無しさん2007/08/11(土) 22:27:18
リモート処理についてに質問です。
どのサンプルを見ても、クライアントからリモートオブジェクトのメソッド呼び出して
結果をクライアントに返す感じなんですが、クライアントからの要求をサーバーで処理
するようなのは無理なのでしょうか?
クライアントから"AAA"送信→サーバーで"AAA"受信といった具合に
0121デフォルトの名無しさん2007/08/11(土) 22:32:05
>>119
すまん、互換性がないのは1.0→1.1のようだ。
1.1→2.0は互換性あるらしい。
0122デフォルトの名無しさん2007/08/11(土) 22:35:02
>>120
>どのサンプルを見ても、クライアントからリモートオブジェクトのメソッド呼び出して
>結果をクライアントに返す感じなんですが、クライアントからの要求をサーバーで処理
>するようなのは無理なのでしょうか?

何言ってんだかさっぱりわからん。

クライアントからサーバのメソッド呼び出してるってことは
クライアントからの要求をサーバーで処理してるってことだろうがよ。

>クライアントから"AAA"送信→サーバーで"AAA"受信といった具合に
引数で渡せばいいだけではないのか?
0123デフォルトの名無しさん2007/08/11(土) 23:06:53
一般的なリモート処理のサンプルでは、リモートオブジェクトをDLLbニして作っておbォ、
サーャoー側ではDLL参照したメソッドを呼び出ししています。
クライアントからはサーバーのメソッドを呼び出しているのではなく、DLL内部の
メソッドを呼び出ししているわけですので、サーバー側で受信を確認する手段が分かりません

0124デフォルトの名無しさん2007/08/11(土) 23:15:41
StringBufferで生成可能な文字列ってどれくらいなんでしょうか
Appendしまくりで限界がくるとOutOfMemoryの例外が発生します。
どうも空きメモリ量によって処理可能なサイズが変わっているような気がします。
0125デフォルトの名無しさん2007/08/11(土) 23:15:54
おまえはいったい何を言っている?
ってかそもそもリモート処理ってのがどういうものか理解してるのか?
0126デフォルトの名無しさん2007/08/11(土) 23:17:04
>どうも空きメモリ量によって処理可能なサイズが変わっているような気がします。
そりゃそうだろ、たいていは。
0127デフォルトの名無しさん2007/08/11(土) 23:21:00
>>124
はじめてのC言語からやり直せ
0128デフォルトの名無しさん2007/08/11(土) 23:26:19
>StringBufferで生成可能な文字列ってどれくらいなんでしょうか
まさにメモリを無事確保できる限り、としかいいようがないな。
仕様上の上限はMaxCapacityだがその前にメモリでアウト
0129デフォルトの名無しさん2007/08/11(土) 23:34:39
インスタンス生成を抑えるのがオブジェクト指向の基本原則だろうが。
0130デフォルトの名無しさん2007/08/11(土) 23:35:44
寝言は寝て言え
いや言うな
0131デフォルトの名無しさん2007/08/12(日) 00:04:46
NotifyIconのMouseClick時にマウスの絶対座標を取得する方法を教えて下さい。
MouseEventArgsのe.Locationやe.X,e.Yではどれも0という数値しか返してくれません・・・
01321312007/08/12(日) 00:20:08
Cursor.Positionでうまくいきました。
お騒がせしました。
0133デフォルトの名無しさん2007/08/12(日) 01:06:25
えぇ、こんなに騒がしかったのはミレニアム以来でしたよ。
0134デフォルトの名無しさん2007/08/12(日) 01:22:05
131はクライアント座標とスクリーン座標の区別が付いていないんじゃないだろうか?
と余計な老婆心に一瞬とりつかれた
0135デフォルトの名無しさん2007/08/12(日) 02:05:23
あるクラスHogeのConfigファイルを作ろうとしています(Config.xmlとする)
また、同時にHogeの終了時状態もシリアライズ/デシリアライズしようとしています(State.xmlとする)
たとえばHoge.Nameは設定項目としてユーザがXMLファイルの値を書き換えて良い
Hoge.Stateは単に復元されるべき終了状態だから、ユーザが触る必要はない
という感じです
自分用のプログラムなので、State.xmlを変更できなくする機能とかはつける必要はないのですが、
後々わかりやすくするために、Config.xmlとState.xmlは最低限ファイルを分けたいです
今のところXMLSerializerで行けないかと思っているんですが、方法が見つかっていません
State.xmlはXMLSerializerで作る、Config.xmlは別のConfig作成用クラスで作るとかでもいいので、
良い方法(.NETで丁度いいクラスとか)があれば教えていただけますでしょうか。
最悪自作でクラスを作るしか無いんでしょうが…

ただ、アプリケーション構成ファイルはあまり使いたく無いと思っています。
特定のクラスごとに別々のConfig.xmlを吐かせたいというのと、設定を吐かせるクラスが
増えたり減ったり変更になったときに、ちょっと構成ファイル変更に関する作業が大きそうなので…
0136デフォルトの名無しさん2007/08/12(日) 02:11:39
ああ、Hogeの中にHogeConfigクラス作ってそこにHogeのConfig.xmlに吐きたい
フィールドだけを定義しておいて、シリ・デシリの時にHogeのフィールドと同期させてやればいいのかな
0137デフォルトの名無しさん2007/08/12(日) 04:58:58
「クリップボードからデータを貼り付けようとしている時」に
呼ぶイベント?みたいなのは、ないでしょうか?

textBoxにデータを貼り付けるとき、クリップボードを調べて、
その文字によってmaxlengthをいじりたいです。

Ctrl+Vからの貼り付け、コンテキストメニューからの貼り付け、と
一括で設定したいので何か良い方法があったら教えてください。
宜しくお願いします。
0138デフォルトの名無しさん2007/08/12(日) 05:08:06
WM_PASTE
0139デフォルトの名無しさん2007/08/12(日) 05:45:15
http://www.dotnet247.com/247reference/msgs/30/150798.aspx
この辺が参考になるかな。
01401372007/08/12(日) 06:10:37
>>138、>>139
朝早くからありがとう。
なんとなく分かったんだけど、別のクラス間でtextBoxのメソッド?
いじる方法がイマイチわかんねー。
もうちょい調べてみます。ありがとうございました。
0141デフォルトの名無しさん2007/08/12(日) 06:42:46
前回のB()終了後、ある時刻になるとメソッドA()を呼んで、
今回のメソッドA()終了後、ある時刻になるとメソッドB()を呼んで…
という処理を繰り返すことを考えています
ベタなやり方だと、

while ( true ) {
 while ( 現在時刻 < ある時刻 ) {} // 不等号の使い方は便宜上
 A();
 while ( 現在時刻 < ある時刻 ) {} // 不等号の使い方は便宜上
 B();
 if ( メインループの終了条件を満たす ) { break; }
}

みたいな感じになると思うんですが、C#ではもう少しマシなやり方があるのではと思う次第です
どういうやり方がベストプラクティスでしょうか?
0142デフォルトの名無しさん2007/08/12(日) 07:25:55
*.Timer
ブロックしていいならThread.Sleep
0143デフォルトの名無しさん2007/08/12(日) 07:33:06
>>142
前者はSystem.Threading.Timeクラスのことでしょうか?
0144デフォルトの名無しさん2007/08/12(日) 07:53:00
それでもSystem.Windows.Forms.TimerでもSystem.Timers.Timerでも
場合に合ったものを適当に選んでくれ
01451372007/08/12(日) 07:56:34
いろいろやってみたが別のクラスにあるoverrideのとこ?が全く呼べない!
どうすれば・・?

Form1.cs
//インスタンス
private Class1 class1 ;
//コンストラクタ
this.class1 = new Class1(this);

Class1.cs

//インスタンス
public Form1 f1;
//コンストラクタ
public Class1(Form1 f1)
{
this.f1 = f1;
}
private const int WM_PASTE = 0x0302;
protected override void WndProc(ref Message m)
{
if(m.Msg == WM_PASTE)
{
IDataObject iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Text))
{
this.f1.textBox1.MaxLength = 7;
return ;
}
}
base.WndProc(ref m);
}
0146デフォルトの名無しさん2007/08/12(日) 08:21:48
>>145
継承しないと無理
0147デフォルトの名無しさん2007/08/12(日) 12:10:45
compact framework2.0で保存したHTMLファイルを閲覧するところでつまづいています。

保存したHTMLをWebbrowser.navigateで開いているのですが、Aタグのname属性で指定した
名前にジャンプすることが出来ません。

ウェブ上のHTMLファイルであれば、普通にURL#fragmentという形式で期待する動作をするの
ですが、クライアントに保存したHTMLで同じ事をしようとすると、
「ページを表示できません。名前を確認して、もう一度やり直してください。」
というエラーが出て読み込めません。
(#以下(fragment部分)を削除すると、普通に読み込めています)

compact frameworkではfragmentの指定はできないのでしょうか。
0148デフォルトの名無しさん2007/08/12(日) 16:05:38
テキストボックス内の文字列の検索についての質問です。
private void button5_Click(object sender, EventArgs e)
{
string kensaku = textBox6.Text;
int find = textBox5.Text.IndexOf(kensaku);
if (find > -1)
{
textBox5.SelectionStart = find;
textBox5.SelectionLength = kensaku.Length;
}
}
この後、button5をクリックすると次の文字列を検索させるようにしたいのですが、
どうすればいいんでしょうか。textBox5.Text.IndexOf(kensaku)の開始位置を後ろにすれば
よいのだと思うのですが、誰か知恵をお貸しください。
0149デフォルトの名無しさん2007/08/12(日) 16:09:58
じゃあ開始位置を指定すればいいんじゃね?
0150デフォルトの名無しさん2007/08/12(日) 16:12:15
>>149
質問の仕方が悪かったです。その開始位置の指定をどうすればよいのかわからなくて…
0151デフォルトの名無しさん2007/08/12(日) 16:14:38
string.IndexOfのオーバーロードをMSDNで調べればいいんじゃね?
0152デフォルトの名無しさん2007/08/12(日) 16:28:43
そのオーバーロードをどういう風にすれば次を検索していけるようになるのかというのが質問です。
0153デフォルトの名無しさん2007/08/12(日) 16:34:05
SelectionStart+SelectionLengthから始めればいいんじゃね?
もしくはインデックスをフィールドにして覚えとくか
0154デフォルトの名無しさん2007/08/12(日) 16:47:41
>>148
textBox5の内容を変数に入れて、次に検索するときは前回検索した後のデータを代入する
string data = textBox5.Text;
二回目以降は
data = data.Substring(find + kensaku.Length);
みたいな感じで、検索がヒットしたら前回の位置をプラス。

なんかめんどくさいな・・・
0155デフォルトの名無しさん2007/08/12(日) 16:50:47
>>151 が○
0156デフォルトの名無しさん2007/08/12(日) 20:05:59
>>147
クリックしてるの?
0157デフォルトの名無しさん2007/08/12(日) 20:07:26
じゃなくてwebサーバーが入ってないだけだな。
0158デフォルトの名無しさん2007/08/12(日) 23:43:24
すみません、教えてください

listView1.Items.Containsで既にアイテムがある場合は追加しない
って処理がしたいのですが項目(カラム)が複数ある場合は
全てマッチを判定するんですよね?

まったく同じアイテムでも追加されてしまうのは
制御構文のほうが間違ってるのか。。。
0159デフォルトの名無しさん2007/08/12(日) 23:47:52
ListViewItem 自体を比較してたりしてないか?
中の Text を比較しないと駄目だぞ。
0160デフォルトの名無しさん2007/08/12(日) 23:50:11
>>159
あっ。。。そうなんですか。

恥ずかしいです。項目全て比較するんですね。
ありがとうございます
0161デフォルトの名無しさん2007/08/12(日) 23:59:40
あるサーバ上で稼動しているプログラムでエラーが発生した場合、
別のPCにエラー発生したことを知らせたいのですが、どのような
手法がありますか?
0162デフォルトの名無しさん2007/08/13(月) 00:01:05
電子メールを送信
0163デフォルトの名無しさん2007/08/13(月) 01:09:52
通信だろうね。え、礼はいいよ
01641372007/08/13(月) 01:19:49
>>146 ありがとう!TextBoxを継承したユーザーコントロールを作って
maxLengthをいじることができました。
しかし、貼り付け時にデータがmaxlengthを超えて貼り付けられてしまいます。
なぜか、貼り付けた後にMessageBoxを表示させると、maxlength内に
納まります。どう対策すればよいでしょうか?

//Form1.cs
public void maxLengthChange()
{
userControl1.MaxLength = 7;
}
public void copyFromClipBoard()
{
userControl1.Text = Clipboard.GetDataObject().GetData(System.Windows.Forms.DataFormats.Text).ToString();
//ここにMessageBoxを表示すると、maxlength内に納まる。
}
//UserControl1.cs
protected override void WndProc(ref Message m)
{
const int WM_PASTE = 0x0302;
if(m.Msg == WM_PASTE)
{
IDataObject iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Text))
{
f1.copyFromClipBoard();
f1.maxLengthChange();
return ;
}
}
base.WndProc(ref m);
}
01651372007/08/13(月) 01:25:22
すみません、
//UserControl1.cs の
f1.copyFromClipBoard();
f1.maxLengthChange();
の順番は逆です。

しかも
return
すると、>MessageBoxを表示させるとmaxlength内に納まる・・・
が再現しなくなるのでreturnもなしです。失礼しました。
0166デフォルトの名無しさん2007/08/13(月) 01:36:48
クリップボードからTextBoxに入れるのにTextプロパティ使ってるよな。
MaxLengthの解説読んでみ?
01671372007/08/13(月) 02:35:32
>>166
ありがとう。そこは分かったけど、MessageBoxを表示させると、
maxlength超えてる部分削られて納まるのは何でですか?
01681372007/08/13(月) 03:17:40
色々テストしていたら、
1回目貼り付け→maxlengthを超えてもそのまま表示される
2回目貼り付け→maxlengthに納まる
3回目貼り付け→maxlengthを超えてもそのまま表示される
4回目貼り付け→maxlengthに納まる
:
:
の繰り返しになる事が分かりました。
原因が分かりません。
なんか気持ち悪いので、考えられそうな原因を教えてもらえませんか?
0169デフォルトの名無しさん2007/08/13(月) 05:06:17
それはあなたです
0170デフォルトの名無しさん2007/08/13(月) 10:19:34
あなたを、犯人です。
0171デフォルトの名無しさん2007/08/13(月) 11:01:23
あな、人です。
0172デフォルトの名無しさん2007/08/13(月) 18:07:39
Express Editionは条件付コンパイル出来ませんか?
#if DEBUG
#endif
で囲っても無視されます。
プロパティの[ビルド]でDEBUG定数の定義にチェックを付けても変化ありませんでした
0173デフォルトの名無しさん2007/08/13(月) 18:11:24
メソッド定義を書くときに、引数の型名が長かったり、引数の数が多かいとき
どこで改行しますか。
0174デフォルトの名無しさん2007/08/13(月) 18:22:59
おカンマ区切りが定石
0175デフォルトの名無しさん2007/08/13(月) 18:25:50
>>172
囲まれてるところの文字色は普通のコードの色になってる?
0176デフォルトの名無しさん2007/08/13(月) 18:34:21
>>175
なってます。
#else
で囲むとグレーアウトされます。
0177デフォルトの名無しさん2007/08/13(月) 18:37:20
ソリューション構成はDebugになってる?
01781722007/08/13(月) 18:49:55
>>177
どこを見れば確認できますか?
0179デフォルトの名無しさん2007/08/13(月) 18:58:52
ツールバーの「デバッグ開始」アイコンの右にあるドロップダウンボックス
もし表示されてなかったら、オプションを開いて左下の「すべての設定を表示」にチェックを入れて、
「プロジェクトおよびソリューション」−「全般」の「ビルド構成の詳細を表示」や「常にソリューションを表示」
あたりにチェックを入れてみて
01801722007/08/13(月) 19:15:11
>>179
以前はそこにDebugとかReleaseとかプルダウンで表示されていたような気がしますが、
今はコンボボックスがグレーアウトして表示されているだけで操作できない状態です。
0181デフォルトの名無しさん2007/08/13(月) 20:20:54
10区切りで切り上げた値を求めたい場合、どのようにすればいいかなー?
3 なら 10
24 なら 30
47 なら 50 な具合に。
0182デフォルトの名無しさん2007/08/13(月) 20:23:02
ふらっと以下だろ・・・。10−下一桁を+すればいいだろ
0183デフォルトの名無しさん2007/08/13(月) 20:54:38
>>182
5足して切り上げの方がスタイリッシュじゃね?
01841832007/08/13(月) 20:56:02
間違った>>183は忘れてくれ。
0185デフォルトの名無しさん2007/08/13(月) 20:58:04
>>182-183
9足して切り捨てがスタイリッシュだろ。
0186デフォルトの名無しさん2007/08/13(月) 21:03:39
発想って大事だよね
0187デフォルトの名無しさん2007/08/13(月) 21:24:01
3 / 10 +1
47 /10 +1
全てint
0188デフォルトの名無しさん2007/08/13(月) 21:24:58
10かけるの忘れた。
0189デフォルトの名無しさん2007/08/13(月) 21:32:55
>>187
気持ち悪い
0190デフォルトの名無しさん2007/08/13(月) 22:40:08
「指定した精度の数値に切り上げする」でググれ
0191デフォルトの名無しさん2007/08/13(月) 23:09:17
マイナスは無視ですか?
0192デフォルトの名無しさん2007/08/13(月) 23:13:26
マイナス時の挙動は偶数丸め以外は基本的に要求次第じゃない?
0193デフォルトの名無しさん2007/08/13(月) 23:27:18
ListViewのヘッダーは色変えられないのですか
0194デフォルトの名無しさん2007/08/13(月) 23:28:57
2.0 ならオーナードローで
0195デフォルトの名無しさん2007/08/13(月) 23:32:59
Formsはいらない子。
WPFに食べられて排泄される運命
0196デフォルトの名無しさん2007/08/14(火) 00:11:14
まあ俺にはまだ必要だが…
0197デフォルトの名無しさん2007/08/14(火) 01:37:13
DateTime.Now.ToString("yy/MM/dd HH:mm:ss.ミリセカンド")
このような表記で表示したいのですが、文字列でミリセカンドは表記できないのでしょうか?
やっぱりDateTime.Now.Millisecondで取るしかない?
0198デフォルトの名無しさん2007/08/14(火) 01:40:46
ヘルプで書式指定文字列を引け
0199デフォルトの名無しさん2007/08/14(火) 04:30:11
16進文字列を解釈してlong型整数を生成したいのですが、どうすればいいのでしょうか。
VBでいう、CLng( Hex( バイト型変数 ) ) みたいに…。
たとえば、String str = "0D"; からは13が生成させるはずです。

BitConverter.ToInt64( Encoding.Unicode.GetBytes( str ), 0 );
を考えていたのですが、GetBytesの時点でstrがエンコードされてしまい、{ 48, 0, 68, 0 }
となってしまうようで、うまくいきません。
よろしくお願いします。
0200デフォルトの名無しさん2007/08/14(火) 04:32:52
Convert
0201デフォルトの名無しさん2007/08/14(火) 04:59:48
>>200
でけました
ありがとう
0202デフォルトの名無しさん2007/08/14(火) 09:14:02
>>198
だからそんな糞レスはいらないんだよ
0203デフォルトの名無しさん2007/08/14(火) 09:20:06
答えなんじゃないのか?
0204デフォルトの名無しさん2007/08/14(火) 09:31:54
>>202
お前という存在がいらない
0205デフォルトの名無しさん2007/08/14(火) 09:33:53
>>198はかなり的確な回答だろ
その場限りの答えより遥かに役立つ
0206デフォルトの名無しさん2007/08/14(火) 10:02:37
構造体Aのメンバ変数が全部publicで宣言されてるとき、初期化は
A a = new A(int x, int y, int z);
のようにコンストラクタを呼び出すより
A a; a.X = 1; a.Y = 2; a.Z = 3;
みたいに平べったくした方が速かったりする?
02072062007/08/14(火) 10:04:47
上の方はA a = new A(1, 2, 3);の間違い
0208デフォルトの名無しさん2007/08/14(火) 10:05:15
試してみれば
0209デフォルトの名無しさん2007/08/14(火) 13:18:42
微々たる違い
0210デフォルトの名無しさん2007/08/14(火) 15:48:12
その程度の速度を気にするより、オブジェクトの再利用やキャッシュの効率性を考えろ。
0211デフォルトの名無しさん2007/08/14(火) 17:08:27
int[]等の各要素を定数として使用するとき、
誤って要素の値が書き換えてしまうことができないようにするにはどうすれば良いですか?
0212デフォルトの名無しさん2007/08/14(火) 17:40:12
プロパティ知らないの?
0213デフォルトの名無しさん2007/08/14(火) 18:24:47
ReadOnlyCollection<T>
0214デフォルトの名無しさん2007/08/14(火) 18:44:31
ふらっとだった。ちょい追記しとこう。

static readonly ReadOnlyCollection<int> PrimeNumbers = new ReadOnlyCollection<int>(new int[] {
 3, 5, 7, 11, 13, 17, 19,
});

こんな感じ。
0215デフォルトの名無しさん2007/08/14(火) 19:05:20
初心者的な質問ですみません。
Visual Studio2005 .Netでプログラムをしています。
TabContorolの中にボタンを配置した場合、そのボタンはどのように指定すればいいのでしょうか?

名称をTabControl:TabCon ボタン:Buttonとした場合
TabControl.Buttonと指定はできないんですよね?(できなかったです)

すみませんがどなたか教えてもらえないでしょうか?
TabControlについての参考URLも教えていただけたら幸いです。
0216デフォルトの名無しさん2007/08/14(火) 19:08:38
>>215
普通にButtonだと思うけど・・・
そのボタンをダブルクリックしてみては?
0217デフォルトの名無しさん2007/08/14(火) 20:21:21
ある変数が初期化されているかどうかってどうやって取得すればいいんでしょうか?
DateTime dt;
if ( dt == null ) {
}
だと、到達できないコードがあるって怒られたので、nullではないようですが…
0218デフォルトの名無しさん2007/08/14(火) 20:27:13
UIのオブジェクトは配置したFormに属している。
Tabに属しているわけではない。
0219デフォルトの名無しさん2007/08/14(火) 20:28:28
DateTimeは構造体だったよねたしか。
0220デフォルトの名無しさん2007/08/14(火) 20:37:30
ローカル変数は初期化すんでない時触ったらコンパイルエラー。
0221デフォルトの名無しさん2007/08/14(火) 20:43:32
本当だstructだ…
クラスの時は何にも入ってないよっていう意味の初期化でnullを入れられますけど、
構造体の場合はどうするのが普通なんですかね?
0222デフォルトの名無しさん2007/08/14(火) 20:45:21
Nullable
0223デフォルトの名無しさん2007/08/14(火) 21:21:04
任意の整数型の任意の位置から任意のビット幅の値を取得するメソッドを定義したいです
なんとなく書いてみましたが、コンパイルエラーになります

エラー 1 演算子 '>>' を 'T' と 'byte' 型のオペランドに適用することはできません

public static byte GetByte<T>(T val,byte shift,byte bits)
where T : struct
{
return (byte)( (val >> shift) & ((1 << bits) - 1) );
}
型に対して、「整数型かつ右シフト可能である」という制約はかけられませんか?

1 そもそもそんな事はできない
2 where以下が間違っている
0224デフォルトの名無しさん2007/08/14(火) 21:32:08
演算子オーバーロードの制約は where ではかけない
0225デフォルトの名無しさん2007/08/14(火) 21:42:46
C# ジェネリックは、C++ テンプレートほど柔軟ではありません。
たとえば、C# ジェネリック クラスでは、ユーザー定義演算子は呼び出すことができますが、
算術演算子を呼び出すことはできません。
0226デフォルトの名無しさん2007/08/14(火) 21:47:49
左シフト演算子 (<<) では、2 番目のオペランドで指定されたビット数だけ最初のオペランドが左に
シフトされます。
2 番目のオペランドの型は int です。
0227デフォルトの名無しさん2007/08/14(火) 22:13:58
プログラムっていうやつを生まれて初めて弄る超ド素人(このスレ読んでもチンプンカンプン)なんだけど、
C#のお勧め参考書や入門書ある?
0228デフォルトの名無しさん2007/08/14(火) 22:15:17
ない
0229デフォルトの名無しさん2007/08/14(火) 22:40:07
>>227書籍じゃないが
独学C#
ttp://www12.plala.or.jp/dokugaku/

ここ読んで駄目なら素直にVB.NET(Visual Basic 2005 Express Editionを使用)から始める事を勧める。
VB.NETの方がヘルプが初心者向けに懇切丁寧に書かれているから。
0230デフォルトの名無しさん2007/08/14(火) 22:49:40
>>229
その本は、プログラム初心者にはきついと思う。
0231デフォルトの名無しさん2007/08/14(火) 22:52:11
ごめん
独習c#と勘違いした
0232デフォルトの名無しさん2007/08/14(火) 22:53:07
Cライブラリのtime(NULL)と同等のメソッドはどれですか?
具体的にはファイル名"1186550904.txt"から拡張子を抜き、現在時刻との時間差を求めて、TimeSpanにする処理です。
DateTime.Now.ToFileTimeでは1601年をゼロとしているようで合いませんでした。
0233デフォルトの名無しさん2007/08/14(火) 22:55:40
>>232
頭使え。
0234デフォルトの名無しさん2007/08/14(火) 23:11:50
DateTimeのメンバを調べて考えなさい。
0235デフォルトの名無しさん2007/08/14(火) 23:16:42
>>229
thx
そのサイトのオススメ参考書を本屋行って目通して見るよ
02362322007/08/15(水) 01:36:01
とりあえず、File.GetCreationTimeでお茶を濁すことにしました。
>>233
お前こそ頭を使ったレスをしろ。
>>234
適当に答えただろ。
0237デフォルトの名無しさん2007/08/15(水) 01:41:36
求めるものが見つからない場合は回避手段を探すってのはまあ基本だよな
0238デフォルトの名無しさん2007/08/15(水) 02:06:42
system.datetime epoch でぐぐったら先頭にこれが出たよ

ttp://www.codeproject.com/csharp/timestamp.asp
0239デフォルトの名無しさん2007/08/15(水) 02:10:28
>>238
おっ、これは簡単だ。
わざわざC++/CLIのDLL作ってC#から呼び出してたのにorz
0240デフォルトの名無しさん2007/08/15(水) 02:13:18
どんだけー
02412152007/08/15(水) 08:53:31
>>216
アドバイスありがとうございます。
確かにダブルクリックしたらButtonでした!!
なんて無駄な時間をすごしてしまったんだ・・・
0242デフォルトの名無しさん2007/08/15(水) 09:01:17
>>229
でもそのリンク先みたいに言語の基本事項をだいたいカバーしてる
良い入門サイトはVB.NETでは少ないよな
どこ見てもOOPすっとばして「使い方」ばっかり
0243デフォルトの名無しさん2007/08/15(水) 12:09:21
>>242
それでもいい場合があるからな。
で、ある日突然悟りを開く…
0244デフォルトの名無しさん2007/08/15(水) 12:21:11
Textboxから入力されたテキストをSecuerStringに入れたとき、文字コードはどうなるんでしょうか?
自動的にUnicodeに変換してくれるなら事前の変換処理が必要なくなって楽なのですが…
0245デフォルトの名無しさん2007/08/15(水) 12:46:26
SecuerString って何だ?
ググっても出てこない。
0246デフォルトの名無しさん2007/08/15(水) 12:49:16
SecureString
02472442007/08/15(水) 12:52:29
>>245
SecureStringでした。
typo…orz
0248デフォルトの名無しさん2007/08/15(水) 12:58:03
textboxの文字もunicodeじゃないのかい?
02492442007/08/15(水) 13:18:40
>>248
そうだと思ってEncoding.Unicode.GetBytesしたのを戻したら見事に化けてたことが
あったので多分システムに依存するんじゃないかと思ったのですが…
0250デフォルトの名無しさん2007/08/15(水) 13:21:27
>Encoding.Unicode.GetBytesしたのを戻したら
ここのあたりが怪しいと思わないのか?
0251デフォルトの名無しさん2007/08/15(水) 13:42:49
何でバイト列だと思ったんだ
0252デフォルトの名無しさん2007/08/15(水) 13:52:26
そうじゃなくて。

自前の処理に問題があると思わないの?
0253デフォルトの名無しさん2007/08/15(水) 14:01:33
TextBoxに普通にキー入力したものをTextで取り出したら Stringだよ。
0254デフォルトの名無しさん2007/08/15(水) 14:11:26
そうだね。
Stringだね。
0255デフォルトの名無しさん2007/08/15(水) 14:16:24
SecureString自体も文字セット関係ないしなー 使うのCharだし
0256デフォルトの名無しさん2007/08/15(水) 14:16:54
>>244
どこが質問のポイントなのかよく分からないが

1. TextBox.Text は String、なのでUnicode
2. SecureStringの内部は暗号化された非公開情報
文字列として保持されているわけではないのでUnicodeとか意識するだけ無駄
3. SecureString と string は直接変換できない(双方向)
これはSecureStringの存在意義にかかわる問題であり、仕様。
4. どうしても相互変換したい場合、例えば以下のようになる
SecureString ss = new SecureString();
ss.AppendChar('a');
ss.AppendChar('b');
string s = Marshal.PtrToStringUni(Marshal.SecureStringToBSTR(ss));
5. しかし、4.のようなことはするべきではない
ttp://akari.kabe.co.jp/MagSite/Content.modf?id=20060713110548
どうしても変換する状況が避けられないなら、そもそも SecureString を使うことに意味はない

ということで、Textboxから入力されたテキストをSecuerStringに入れるのはダメ
0257デフォルトの名無しさん2007/08/15(水) 14:26:52
おーい、4. でリークしてるぞー

ところでunsafe使えばString書き換えられるんだけど、メモリ上どうなってんだろ
0258デフォルトの名無しさん2007/08/15(水) 14:28:46
SecureString使い道なし。
0259デフォルトの名無しさん2007/08/15(水) 14:41:27
>>257
ごめん、面倒になって意味なく端折りすぎた

×
string s = Marshal.PtrToStringUni(Marshal.SecureStringToBSTR(ss));

○
string s;
IntPtr bstr = Marshal.SecureStringToBSTR(ss);
try {
s = Marshal.PtrToStringUni(bstr);
}
finally {
Marshal.ZeroFreeBSTR(bstr);
}
0260デフォルトの名無しさん2007/08/15(水) 21:58:29
C#でVBのRedim関数と同様の関数ってありますか?
0261デフォルトの名無しさん2007/08/15(水) 22:04:56
そんなの忘れろ。
可変長リストなら List<T> や ArrayList 使え。
0262デフォルトの名無しさん2007/08/15(水) 22:04:57
普通に初期化するだけで動的配列(確保)になる
int[] array;
array = new array[5];//Redim

int[] array = new array{]{1, 2, 3, 4, 5};
こんな風に初期化したとしても、arrayは動的配列になる
0263デフォルトの名無しさん2007/08/15(水) 22:09:26
>>262
それ、動的配列違う
0264デフォルトの名無しさん2007/08/15(水) 22:14:13
262は動的配列だよ。実行時に要素数を決定できるのが動的配列。
可変長とはまた別の概念。
0265デフォルトの名無しさん2007/08/15(水) 22:20:02
動的配列はただの動的に確保された配列とは異なる。
0266デフォルトの名無しさん2007/08/15(水) 22:21:02
寝た元貼り忘れた。ゴメ!

ttp://ja.wikipedia.org/wiki/%E9%85%8D%E5%88%97
02672622007/08/15(水) 22:24:53
わかると思うけど間違い
×new array  ○new int
VBでは宣言時にサイズを指定しない配列を動的配列と呼ぶみたいだからそれに従った。
0268デフォルトの名無しさん2007/08/15(水) 22:25:22
Preserveなら違うだろうけど、Redimなら>>262でいいんじゃない?
0269デフォルトの名無しさん2007/08/15(水) 22:50:23
>>262
それ動的じゃないよ。
静的。
実行前に決まってるし、サイズの自動拡張できないし。
0270デフォルトの名無しさん2007/08/15(水) 22:56:51
ここってレベル低いっすね
動的すらわからないなんて
C#って入門者向けなの?
0271デフォルトの名無しさん2007/08/15(水) 22:58:00
yes
全ての人に門戸は開かれています。
ありがたや、ありがたや。
0272デフォルトの名無しさん2007/08/15(水) 22:59:24
さすが大人の切り替えし
0273デフォルトの名無しさん2007/08/15(水) 23:07:07
c++の間口の狭さは異常。
0274デフォルトの名無しさん2007/08/15(水) 23:10:22
VB7以降のRedimはほとんど互換で残ってるようなものだけどな。
0275デフォルトの名無しさん2007/08/15(水) 23:19:27
>>260の質問じゃなくて、>>262の「動的」に食い付いているのか

>>260はこれで良いと思うけど
使用する前にサイズがわかって、以後サイズは変更されない
Redim → >>262(>>267)

使用した後にサイズが変更になる
ReDim Preserve → >>261


たしかにVB6だと、宣言時にサイズを指定しないのは「動的」って見かけるね
0276デフォルトの名無しさん2007/08/15(水) 23:54:30
質問してもよろしいですか?
C#に限ったことではないとは思うのですが、
,NETのプログラムでデータベースからデータセットを取得した後に、
データセットと同じプロパティ名を持つクラスにデータを放り込んだりするプログラムに
よく出くわします。

照会画面や印刷物を出力するためのSQLを発行するたびに
問い合わせ結果を保存するためのクラスを作るのはいかにもしんどい作業なのですが、
こういうものなのでしょうか?
データセットの値を直に画面や印刷物に出力するのはよろしくないのでしょうか?

また、データセットを取得するためにビジネスロジックと呼ばれるクラスを作って、
そこから呼び出すのですが、フォームから直にデータセットを取得するのは問題があるのでしょうか?

長くなりましたがどなたかご教示ください。
0277デフォルトの名無しさん2007/08/16(木) 00:05:28
フォームとビジネスロジックを別にできる。
↓
作る人を別に出来る
↓
完成が少し早くなる。
0278デフォルトの名無しさん2007/08/16(木) 00:10:26
↑
嘘でした。
0279デフォルトの名無しさん2007/08/16(木) 00:12:50
コンマネット
0280デフォルトの名無しさん2007/08/16(木) 00:24:09
>>277
早速のご回答ありがとうございます。
なるほど。そういうメリットがあるのですね。
いわゆる3階層というものでしょうか?
データを保存するクラスを作っておくのも
実際にデータベースからデータを取得するプログラムが完成しなくても、
個別に紹介画面などを開発できるというわけですね?
ひとりで作ってると目の前に材料があるのにお預けくらってるようでもどかしいのですが・・・

>>278
他にも理由があるのですか?
02812442007/08/16(木) 00:41:43
亀レスすいません。

>>256
文字コードを変換するためにSecureStringを使うわけではないのですが、
それでもTextBoxのTextを突っ込むのはまずいですかね?
0282デフォルトの名無しさん2007/08/16(木) 00:44:53
>>281
出てきたついでに>>280に答えてやれよ。
02832442007/08/16(木) 00:59:49
>>282
データベースとかはまだ触ったことないので…
>>280さんすいません orz
0284デフォルトの名無しさん2007/08/16(木) 01:10:21
SQLもXMLで記述するべき。
LINQ、iBATIS
0285デフォルトの名無しさん2007/08/16(木) 01:15:35
>>281
誰も文字コード変換するためとは思ってないし、
まずいのではなく、意味がないと言っている。

SecureString っていうのは動作中のプロセスのメモリイメージを
そのまま他人にぶっこ抜かれて調査された場合でも該当のメモリ上に
認識可能な文字列が残らないことを保証するためのもの。
例えば、サスペンド中のノートパソコンを盗難されて解析されるとかの状況。

TextBoxの文字列を入力するということはSecureStringに格納する前に
メモリ上に可読可能なString型文字列が存在することになる。
この状態でメモリを解析されたら、たとえSecureStringの内容は読めなくても、
代入元のStringの文字列がそのまま見えてしまうので、意味がないといってる。

だから使い方(使いどころ)が非常に難しくて、>>258のような発言になる
0286デフォルトの名無しさん2007/08/16(木) 01:58:38
>>284
レスありがとうございます。
なるほどこういうものがあるのですね。

データベース上のテーブルと1対1でクラスを作っておくのであれば
他のプログラムでもなにかと利用する機会もあるのかもしれないのですが、
参照系などはSQLを投げればデータセットが必要な項目を勝手に用意してくれるという
恩恵にあずかれないのはやはりもどかしく感じられます。

よく使う参照項目を持ったデータセットが何パターンもできてしまい
しかもそれらが元になるテーブルとの関連が分からなくなってしまうのを避けるために、
トランザクション系のテーブルに参照項目をすべて持たせ冗長化させたりで、
なんだかCOBOLのデータファイルみたいなテーブルばかりで・・・

どうもしっくりこないのですが、そういうものなのでしょうか?
0287デフォルトの名無しさん2007/08/16(木) 06:36:51
フォームが作られるときに実行して欲しい処理は
フォーム1ロードに書けやゴルァみたいな解説があったんですが

public Form1()
{
InitializeComponent();
}
↑の中に記述しちゃっても違いがないみたいなんですけど
なぜにロードがあるのですか?
インスタンスがはじめて作られるときだけ実行されるみたいな解説があったようななかったような
0288デフォルトの名無しさん2007/08/16(木) 06:49:44
Load イベントはフォームが最初に表示されるとき
0289デフォルトの名無しさん2007/08/16(木) 09:24:06
初期化はコンストラクタに書いちゃっていいよ
0290デフォルトの名無しさん2007/08/16(木) 09:34:41
初期化する内容による。
FormのGUI要素にアクセスするなら、Loadまで待つ必要がある。
0291デフォルトの名無しさん2007/08/16(木) 09:51:52
そういえばLoadイベントは派生クラスでOnLoadをオーバーライドしたら潰せるよね
仕方ないのはわかるけど
02922872007/08/16(木) 10:26:02
>>288-290
なるほど。ありがとうございました
form1road{}書いてもまったく反応なくて
それでそこに記入したんですよね。
まさかフォームをダブルクリックして作ってもらわないといけないとはね
0293デフォルトの名無しさん2007/08/16(木) 10:27:32
ダブルクリック・・・?
0294デフォルトの名無しさん2007/08/16(木) 10:28:25
あ、デザイナってやつをです。こういうの使ったことねえからわかんね
0295デフォルトの名無しさん2007/08/16(木) 10:28:50
form1roadって・・・
0296デフォルトの名無しさん2007/08/16(木) 10:37:59
>>292
デザイナ触るのが面倒だったらOnLoadをオーバーライドでもおk
0297デフォルトの名無しさん2007/08/16(木) 10:38:08
不覚にも笑ってしまった
0298デフォルトの名無しさん2007/08/16(木) 10:52:28
雷マークのほうが分かりやすいのでは
0299デフォルトの名無しさん2007/08/16(木) 11:05:19
button.Click += [Tab][Tab]
は快感だよな
0300デフォルトの名無しさん2007/08/16(木) 11:24:10
http://www.rubyist.net/~matz/20070801.html
性能はともかく純粋の言語設計の善し悪しで 見るとC#はRubyの足下にも及ばないと思う。
0301デフォルトの名無しさん2007/08/16(木) 11:27:37
そうだね
0302デフォルトの名無しさん2007/08/16(木) 12:07:32
Rubyは業務で使ったことも言語仕様を研究したこともないから
なにもいえないな。
ひとつ言える事は、普及するまで研究しようとは思わない。
0303デフォルトの名無しさん2007/08/16(木) 12:29:33
>>300
根拠なく言われても。このスレで言われても。
0304デフォルトの名無しさん2007/08/16(木) 13:57:06
>>300
悔しさがにじみ出てる・・・
がんばれ・・・
0305デフォルトの名無しさん2007/08/16(木) 14:33:27
そりゃ作者は自分のがいいと言うでしょうよ
0306デフォルトの名無しさん2007/08/16(木) 14:40:22
構造体(classでもよいです)の静的な初期化を
したいです。
C++では、こうやって書いていたもの。

struct A { int x; char *str; };
const A tbl[] = {
{10, "one"},
{20, "two"},
};

C#ではどうやりますか?
0307デフォルトの名無しさん2007/08/16(木) 14:42:36
コンストラクタ
03083062007/08/16(木) 14:50:06
struct A {
public A(int x, string str) { _x = x; _str = str; }
int _x; string _str;
}
A[] tbl = {
new A(10, "one"),
new A(20, "two"),
};

これでOK?
A[]に、constするとエラーになるな。

0309デフォルトの名無しさん2007/08/16(木) 14:52:22
C/C++ と違ってメモリに皮かぶせただけのものではないしねー。
03103062007/08/16(木) 14:59:08
なるほど。
なんか、データがソースコードに埋め込まれている感が強くなるね。

こーゆー、データっぽいやつは、xmlなんかで
外においとけってことなのかしら。
0311デフォルトの名無しさん2007/08/16(木) 15:22:07
constの部分を無理やり生かそうとするならこんな感じかのう。
struct A {
  public int x; public string str;
  public A(int x, string str) { this.x = x; this.str = str; }
}
class Test4 {
  static readonly IList<A> a = Array.AsReadOnly(new A[] { new A(1, "one"), new A(2, "two")});
  static void Main() { ... }
}
0312デフォルトの名無しさん2007/08/16(木) 16:23:39
川俣の相手をしているようじゃ松本もゴミだな
0313デフォルトの名無しさん2007/08/16(木) 16:38:34
C#3.0をまて
0314デフォルトの名無しさん2007/08/16(木) 17:06:07
C#はオブジェクト指向。
データはクラスに属するからソースコードに埋め込まれている感が強く感じるのは当然だよ。
0315デフォルトの名無しさん2007/08/16(木) 17:57:08
>>313
これはこれで一体何の言語だって感じだ。
var ss = new [] { new { x=1, str="one" }, new { x=1, str="two" }};

ただマップ系の初期化がサポートされないのは残念。
=> はラムダ式で使っちゃったしな。
0316デフォルトの名無しさん2007/08/16(木) 18:00:16
そこまでするのに動的型は導入しないのは逆に不自然なような
0317デフォルトの名無しさん2007/08/16(木) 18:07:57
あるオブジェクトを参照しているオブジェクトの一覧を
取得することなんてできないでしょうか?

参照を全部外したつもりでGC.Collect()してるのに、
一向に破棄されないオブジェクトがあるので、
どこから参照されてるのか知りたいのです。
0318デフォルトの名無しさん2007/08/16(木) 18:09:59
CLR Profiler使えば
03193172007/08/16(木) 18:15:27
ありがとうございます。
さっそく試してみます。
0320デフォルトの名無しさん2007/08/16(木) 18:15:54
>>315
var dic = (new [] { 
  new { x=1, str="one" }, new { x=2, str="two" }, new { x=3, str="two" }
    } ).ToDictionary(s => s.x, s=> s.str);
03213172007/08/16(木) 18:43:34
CLR Profiler使ったけど
NullReferenceExceptionですぐおちるよ。
なんじゃこりゃ。
0322デフォルトの名無しさん2007/08/16(木) 18:54:26
.NET2.0には2.0用のバージョンがあるけどそれは確認した?
03233172007/08/16(木) 19:01:42
http://www.microsoft.com/downloads/details.aspx?familyid=a362781c-3870-43be-8926-862b40aa0cd0&displaylang=en
これを使ったんで2.0用なんですが、
アプリが.NET3.0使ってるんで、それでだめなのかもしれないです。

0324デフォルトの名無しさん2007/08/16(木) 21:39:17
Releaseだとアプリケーションエラーで落ちるんだけど、Debugならエラー無し。

どこ見ればいいの?
0325デフォルトの名無しさん2007/08/16(木) 21:42:00
よくあることさ
0326デフォルトの名無しさん2007/08/16(木) 21:48:11
最適化関係
スレッドまわり
ディレクティブ
0327デフォルトの名無しさん2007/08/16(木) 21:51:16
>>326
確認してみます。
0328デフォルトの名無しさん2007/08/16(木) 22:48:18
アバウトな質問にはアバウトな回答ですかw
しかし、アプリケーションエラーってw
投げやりなのか頭悪いのかそれともその両方か
0329デフォルトの名無しさん2007/08/16(木) 22:52:52
ふらっとスレだからまあそんなのもいていいんじゃない
0330デフォルトの名無しさん2007/08/16(木) 23:01:51
便乗質問いいですか。

ネイティブなWin32アプリなら、リリースビルドでもデバッグ情報と
クラッシュダンプがあれば、後からデバッガで解析(ポストモータムデバッグ)
できますよね。

C#(というか.NET)の場合、客先で運用中に落ちたときの一般的な解析方法
みたいなのはあるんでしょうか。
0331デフォルトの名無しさん2007/08/16(木) 23:22:58
>>330
ttp://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1984476&SiteID=7
参考に
0332デフォルトの名無しさん2007/08/16(木) 23:28:16
質問させてください。
Visual Studio 2005 .Netでプログラムしているのですが、
「インクリメント検索」の機能を実装したいのですが、
どうやればいいか悩んでいます。

テキストボックスに文字
正規表現でリスト内のデータを検索
リストボックスにマッチしたものを表示

くらいしか思いつきません。
みなさんはどのようにしていますか?
よろしくお願いします。
03333302007/08/16(木) 23:38:12
>>331
まさにズバリの情報です。
どうもありがとうございました。
0334デフォルトの名無しさん2007/08/17(金) 00:26:12
アプリケーションエラー以外の情報はどうやって探ればいいの?
0335デフォルトの名無しさん2007/08/17(金) 00:28:37
意味が分からんわ
以外のってどんなのだよ
適当にログ書きだしてろ
0336デフォルトの名無しさん2007/08/17(金) 00:45:14
アプリケーションエラー発生した際の詳細情報の確認方法教えてください><
0337デフォルトの名無しさん2007/08/17(金) 01:14:29
なぜかあるプロジェクトのみReleaseでビルドしても実行ファイルが
releaseフォルダに出力されないんだけど、原因わかる人いませんか?
0338デフォルトの名無しさん2007/08/17(金) 01:18:07
Releaseの出力先を別のところに指定してるんだろ
0339デフォルトの名無しさん2007/08/17(金) 01:20:44
それも確認したんですけど、初期設定のまんま変更してないです。
"bin\Release\"で。
ソリューション構成リストボックス?でRelease選択するだけで、
以前は一個のファイル化されたリリース版が出力されたと思うんだけど。。
0340デフォルトの名無しさん2007/08/17(金) 01:33:24
>>337
コンパイルするとき、以下のような情報は表示されていないの。
パスの情報は正しくなってる?

...
コンパイルの完了 -- エラー 0、警告 0
test1 -> E:\test1\test1\bin\Release\test1.exe
========== すべてリビルド: 1 正常終了、0 失敗、0 スキップ ==========
0341デフォルトの名無しさん2007/08/17(金) 02:04:35
form2を表示させるときに
何枚も表示させたいのでループさせて
同じインスタンス名で作ってみたんですけど
エラーもでないようですしこれでいいんですかね?
0342デフォルトの名無しさん2007/08/17(金) 02:16:21
バグを自分で埋め込むようなコードを作るなよw
0343デフォルトの名無しさん2007/08/17(金) 02:49:50
インスタンス名とはこれ如何に
0344デフォルトの名無しさん2007/08/17(金) 02:53:44
>>341
for(int i=0;i<length;i++)
{
Form form1 = new Form();
.....
form1.Show();
}
こんな感じ?
0345デフォルトの名無しさん2007/08/17(金) 03:00:08
>>344
Form form2;
.....
for(int i=0;i<length;i++)
{
form2 = new Form();
.....
form2.Show();
}
いやこうかな?
ループ中で最後に生成したFormのインスタンスしか制御できなくなるけどそれでもいいならいいよ
0346デフォルトの名無しさん2007/08/17(金) 03:25:12
どっちかっていうと344さんのが近いかな
そこまであからさまにループさせてるわけではないのだけど
表示する関数を呼び出すたびに実行されるようにしてるので。
制御できなくなるだけですか
ならポップアップのように情報をちょっと出すだけなので問題なさげですね
0347デフォルトの名無しさん2007/08/17(金) 03:25:43
>>345みたいに書くんだったら>>344にすれ。
どうせ最後のインスタンスだけ使えても意味ないんだし。
0348デフォルトの名無しさん2007/08/17(金) 03:39:40
どっちにしろ、何時破棄されるかわからない作りにするなよw
メモリの無駄遣いなだけ。
0349デフォルトの名無しさん2007/08/17(金) 11:02:43
配列に入れとけよ
0350デフォルトの名無しさん2007/08/17(金) 11:48:06
modeless fromなら、Closeボタンでclose(dispose)されるんだし
作り捨てでいいと思うけどな。
オレなんて new Form1().Show(); とかやってるぞ。
0351デフォルトの名無しさん2007/08/17(金) 11:52:44
>>350
modeless form*

Application.Run(new Form1()) ももろ作り捨てだったり
0352デフォルトの名無しさん2007/08/17(金) 12:18:39
Application.Runはステップがそれより先には進まないから別だろ
0353デフォルトの名無しさん2007/08/17(金) 12:20:42
メッセージループが終了したら戻ってくるお
0354デフォルトの名無しさん2007/08/17(金) 12:41:09
でもその時点でフォームは破棄されてるんだから放置にはならないお
0355デフォルトの名無しさん2007/08/17(金) 12:47:28
先生、放置はいけないと思ったので修正したらフォームがすぐ消えてしまいます。

using (Form2 form2 = new Form2()) {
  form2.Show();
}
0356デフォルトの名無しさん2007/08/17(金) 15:08:01
List<> の2つの要素を入れ替えるにはどうしたらいいですか?
0357デフォルトの名無しさん2007/08/17(金) 15:11:37
配列の要素入れ替えるのと変わらん
0358デフォルトの名無しさん2007/08/17(金) 15:12:00
T item1 = list[index1];
T item2 = list[index2]
list[index1] = item2;
list[index2] = item1;
0359デフォルトの名無しさん2007/08/17(金) 20:54:09
Visual Studioに関数のアウトラインを表示する機能ってないの?
最近の秀丸みたいな。
0360デフォルトの名無しさん2007/08/17(金) 20:58:15
コンポーネントを作成して、ツールボックスの「アイテムの選択」から
exeファイルを選んだのに、「ツールボックスに含めることの出来るコンポーネントは何もありません」
と表示されます。

どこが間違っているのか検討がつきません。
どのあたりが怪しいでしょうか?
0361デフォルトの名無しさん2007/08/17(金) 20:59:55
>>359
秀丸は知らんけどクラスビューは?

>>360
そのコンポーネントはpublic classになってる?
03623592007/08/17(金) 21:25:40
>>361
ありがとう。
今見てるソース内の関数が列挙されてるとかだと見やすくていいんだけどねぇ。。
ごちゃごちゃしててあんまみやすくないね。
0363デフォルトの名無しさん2007/08/17(金) 21:34:56
>>362
右クリック→アウトライン→定義に縮小
0364デフォルトの名無しさん2007/08/17(金) 21:42:29
規定のテキストエディタを起動して
string変数の内容を表示したいのですが
どのようにすればいいのでしょうか?
03653602007/08/17(金) 21:45:00
>>361
さっそくの回答ありがとうございます。
class TestListenerってなってるからprivateなんですよね?

明日会社に戻ったら試してみます。
ちなみに↑は私の家の古いソースを見ました。
でもツールボックスにはあるのが不思議。
前任者はどうやってツールボックスに追加したんだろう???
0366デフォルトの名無しさん2007/08/17(金) 21:46:56
既定のテキストエディタというのが .txt に関連付けられたアプリという意味なら、
いったんstringをファイルに出力してそれをProcess.Start
03673592007/08/17(金) 22:04:12
>>363
ありがとう。
これ(Ctrl+M+L)を良く使ってたんだけど、やっぱり別ウインドウで常に表示しててほしかったので。
0368デフォルトの名無しさん2007/08/17(金) 22:19:05
プラグインでそれっぽいのなかったけか?
Source Outliner
SDKのサンプルかな??
0369デフォルトの名無しさん2007/08/17(金) 23:16:10
コンポーネントもexeなんだね。
勝手にDLLだと思ってた。
0370デフォルトの名無しさん2007/08/17(金) 23:22:28
普通はDLLにする
0371デフォルトの名無しさん2007/08/18(土) 00:31:32
オブジェクトブラウザ知らんのか?
0372デフォルトの名無しさん2007/08/18(土) 00:32:23
アレとは別もんだろ
0373デフォルトの名無しさん2007/08/18(土) 00:38:17
リージョンの事か?
0374デフォルトの名無しさん2007/08/18(土) 00:39:31
そうじゃにか
0375デフォルトの名無しさん2007/08/18(土) 03:45:41
知識ゼロの初心者なんだけど、おすすめの書籍ってある?
入門とか初心者でもたくさんあってよくわからないんだけど
0376デフォルトの名無しさん2007/08/18(土) 04:03:48
初心者の最初の課題はサーチエンジンで必要な情報を探すこと。
アマゾンでC#で検索してよさそうな本をピックアップして書店で立ち読み。
プログラミング関係者はみんなこんな感じで調べてる。
0377デフォルトの名無しさん2007/08/18(土) 04:37:28
>>376
近くの本屋行ってきて見たんだけど、品揃え悪いんだよ・・・
0378デフォルトの名無しさん2007/08/18(土) 04:48:13
開発環境って本来数万円するものだから
そのあまった金で手当たりしだい本買えばいいと思うYO
0379デフォルトの名無しさん2007/08/18(土) 04:50:28
品揃え悪いのか、MS関連の本では、最初に日経BP本から調べてるな俺は。
0380デフォルトの名無しさん2007/08/18(土) 05:03:07
>>378
え?Visual C#2005じゃだめなの?
0381デフォルトの名無しさん2007/08/18(土) 05:06:45
>>380
ExpressEdition?
入門にはベストな選択だと思うよ
0382デフォルトの名無しさん2007/08/18(土) 05:08:18
>>381
さんくすw
0383デフォルトの名無しさん2007/08/18(土) 05:11:26
とりあえずいまhttp://wisdom.sakura.ne.jp/programming/cs/index.html
見てるんだけど、どのプロジェクトで始めればいいかわからん・・・・
.NET Framework 1.0だから形式が違うのか?
0384デフォルトの名無しさん2007/08/18(土) 05:17:16
ちなみに最終的にシュミレーションゲーム(戦闘の指示出して見とく感じ)
のゲーム作りたいんだけど、最初は何がおすすめかな?
普通に”ひと目でわかるMicrosoft Visual C# 2005 アプリケーション開発入門”とか?
0385デフォルトの名無しさん2007/08/18(土) 05:37:59
シュミレーションゲーム
それは難しいw
0386デフォルトの名無しさん2007/08/18(土) 05:40:21
>>385
まじか・・・
作れないか?
0387デフォルトの名無しさん2007/08/18(土) 05:47:23
>>383
コンソールアプリケーションかな?
>>386
DirectX使えばC#でもできる
0388デフォルトの名無しさん2007/08/18(土) 05:55:42
>>387
DirectXってプログラミング言語なの?API群って書いてあるんですけど?
0389デフォルトの名無しさん2007/08/18(土) 06:05:57
>>383
http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/develop/
http://www.microsoft.com/japan/msdn/vs05/vcsharp/usingcsharpexpress.aspx
ここ読んでみて
0390デフォルトの名無しさん2007/08/18(土) 06:08:02
>>388
APIだけどそれがどうかしたの?
0391デフォルトの名無しさん2007/08/18(土) 06:17:05
>>390
APIって.NETみたいなもの?
0392デフォルトの名無しさん2007/08/18(土) 06:22:57
>>380
ん?十分でしょ
C#も少し前までは有料だったんだってさ
その分本かえるでしょ
逆引き500とかって本眺めてればリファレンス代わりになるんじゃね
0393デフォルトの名無しさん2007/08/18(土) 06:43:07
>>392
リファレンスって見ても難しいんじゃない?
0394デフォルトの名無しさん2007/08/18(土) 08:29:09
ブール型を文字列型に入れるのはそのままいけるのに
逆にそこで得た”True”を文字列型にいれられない・・・
if分で判別しなきゃだめでしょうか?
0395デフォルトの名無しさん2007/08/18(土) 08:38:18
いやまず
> ブール型を文字列型に入れるのはそのままいけるのに
そのままはいけないから。型をなんだと思ってる。
0396デフォルトの名無しさん2007/08/18(土) 09:46:40
え?じゃあチェックボックスが返すbool値はプログラムが勝手に変換してくれてたのか
キャストむずかしす
0397デフォルトの名無しさん2007/08/18(土) 10:58:39
>>384
XNA使えばC#でバリバリ作れるよ
とてもじゃないけど入門には向かないがw
0398デフォルトの名無しさん2007/08/18(土) 11:01:25
普通にGDI+でガリガリ書いてもよかろう。
0399デフォルトの名無しさん2007/08/18(土) 11:20:49
DirectXに行くのはGDI+の遅さに我慢できなくなってからでいいだろうね
0400デフォルトの名無しさん2007/08/18(土) 11:51:10
シミュレーションゲームだったらコマンド入れるとテキストベースで
戦況が一覧される系のプログラムを作って、
ある程度出来てからグラフィックに取り掛かれば十分。
そのグラフィックに必要な環境やライブラリはその時期になると自然と決まってくる。
0401デフォルトの名無しさん2007/08/18(土) 11:56:41
たぶん>>384はRTSじゃね?
ビジュアルとマウス操作前提だと思うけど
0402デフォルトの名無しさん2007/08/18(土) 12:04:49
>>401
あ〜そんな風に言うんだw
そんな感じのやつです
0403デフォルトの名無しさん2007/08/18(土) 13:12:18
他のアセンブリから参照する必要は無い限り、
クラスのアクセスをpublicにする必要は無いですか?(internal)

あるいは他の理由でpublicにしなければならない場合があるんでしょうか
0404デフォルトの名無しさん2007/08/18(土) 13:24:00
いや別にないが
0405デフォルトの名無しさん2007/08/18(土) 13:36:01
>>403
javaで他から利用されるクラスをプライベートに変更し、
そのクラスだけコンパイルし直したら他クラスから利用出来た。
他クラスごとコンパイルするともちろんエラー

これを使えばアクセス不能のライブラリが作れる!と思ったが
職場のlinuxではコンパイル出来ず。
処理系の問題か…

.netは同じ事出来るのかなぁ

スレ違いですみません。
0406デフォルトの名無しさん2007/08/18(土) 13:45:44
フレンドアセンブリ
0407デフォルトの名無しさん2007/08/18(土) 13:51:04
internal interface を実装するときにメンバを public にしなければいけないのはなぜなんだ
internal じゃあかんのか
0408デフォルトの名無しさん2007/08/18(土) 13:51:42
すいません。今、XML に XSLT を適用しようとしているのですが、XML 中に DTD の
宣言が入っていて、XmlException が発生してしまいます。
別に DTD の Validation をする必要はないので、無効にしたいのですが、無効になりません。

コードはこんな感じです。

XmlReaderSettings readerSettings = new XmlReaderSettings();
readerSettings.ProhibitDtd = true;
readerSettings.ValidationType = ValidationType.None;

XmlReader reader = XmlReader.Create(xsltFileName, readerSettings);

XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load(reader);

XmlTextWriter tw = new XmlTextWriter(outputFileName, Encoding.GetEncoding("shift_jis"));
xslt.Transform(sourceFileName, tw);
04094052007/08/18(土) 14:06:27
System.MethodAccessExceptionがでた…
0410デフォルトの名無しさん2007/08/18(土) 14:13:53
そもそもそんなのロードできないようにバージョンつけとくべき
0411デフォルトの名無しさん2007/08/18(土) 14:24:32
>>366
やはりそれしかないですか・・・
レスありがとうございました
04124052007/08/18(土) 14:47:51
>>410
レスありがとうございます!
バージョンですか調べてみます。
0413デフォルトの名無しさん2007/08/18(土) 14:50:19
XNAはシェーダープログラミングがレイトレーシング、それにモデリング技術がないと使いこなせない。
0414デフォルトの名無しさん2007/08/18(土) 14:50:30
いあそれはちょっと話がずれてると思う…
0415デフォルトの名無しさん2007/08/18(土) 14:53:23
2Dでスプライトしか使わないなら簡単
0416デフォルトの名無しさん2007/08/18(土) 15:23:58
SpriteBatch も BasicEffect もあるからシェーダは書かなくてもなんとかなると思う。
固定機能で今までは作っていたわけだし。

モデルとかコリジョンとかその他はまあ頑張れとしか言えんが。
0417デフォルトの名無しさん2007/08/18(土) 16:23:43
ToolStripMenuItemsにファイルから読み込んだ文字列をAddで追加していって、
Addされた文字列をクリックしたときに発生するイベントはどのように指定したらよいでしょうか?
Addされる文字列などは起動時にファイルから読み込まれるので動的な生成?って感じになるのですが・・・
0418デフォルトの名無しさん2007/08/18(土) 16:32:01
とりあえず MSDN で event とかのキーワードから調べてみる?
0419デフォルトの名無しさん2007/08/18(土) 17:03:41
>>418
すみません、ググってきます(´・ω・)
0420デフォルトの名無しさん2007/08/18(土) 22:26:12
多次元配列とかジャグ配列って使うことあるんすか?
使用頻度は少ないよね。
0421デフォルトの名無しさん2007/08/18(土) 22:36:10
なくはないけど
0422デフォルトの名無しさん2007/08/18(土) 22:42:36
>>420
多次元配列は基本中の基本。

画像データや音声データを扱うときに良く使います。
0423デフォルトの名無しさん2007/08/18(土) 23:34:50
いや使わんね。
少なくともC#では。
0424デフォルトの名無しさん2007/08/18(土) 23:44:50
多次元配列はメモリ量が少ない組み込み系には使えるが、
メモリ気にしないですむシステムで定義する理由がない。
0425デフォルトの名無しさん2007/08/18(土) 23:54:51
本気か?
0426デフォルトの名無しさん2007/08/19(日) 00:06:16
どうかな?
0427デフォルトの名無しさん2007/08/19(日) 00:08:08
まあ.NETの多次元配列は実際あまり使わないほうがいいかも。
0428デフォルトの名無しさん2007/08/19(日) 00:10:05
Array クラスの多次元配列の冷遇っぷりは異常……でもないか。
自分は使わないし。
0429デフォルトの名無しさん2007/08/19(日) 00:28:44
悪代官「良いではないか良いではないか」
0430デフォルトの名無しさん2007/08/19(日) 01:14:23
コレクションとかってのに朝鮮しようとして
リストボックス型にaddで追加して実際のリストボックスに入れてあげようとしたけど
項目ありすぎてわかんないお(´・ω・`)

入力補助みたいなので一覧みたいなの表示されるけど
ちんぷんかんぷん。みんなどうやって覚えたの
0431デフォルトの名無しさん2007/08/19(日) 01:40:04
>>429
町娘「Array〜」
0432デフォルトの名無しさん2007/08/19(日) 02:27:20
あるクラスのメンバ変数から、自分の他のメンバ変数って呼べないんですか?
private string info = "メンバa=" + this.a;
みたいに…

インタフェースOyaでString Infomationというプロパティを宣言して、それを実装するクラスKoでは
メンバ変数という形でもつ設定値等を説明文付きで返したかったんですが。
上の例みたく、info変数に入れ込んで…
0433デフォルトの名無しさん2007/08/19(日) 02:27:59
>>429
>>431
(・∀・)ジサクジエンデシタ

>>430
だいたいListBoxとかListViewとかComboBoxとかは
Itemsプロパティがコレクション取得/設定のためのプロパティだよ

listBox.Items.Add( object ) みたいな
0434デフォルトの名無しさん2007/08/19(日) 02:34:20
>>432

>private string info = "メンバa=" + this.a;

はある意味、略記法。
実際はコンストラクタで初期化される。
その時点では this.a が初期化されてるかわかんないでしょ
0435デフォルトの名無しさん2007/08/19(日) 02:40:58
>>434
んで、>>432のようなことをしたい場合、Infomationのgetの中で初めて
this.aを呼んでやる、つまりthis.aに関する説明文はその中で書いてやるというのが
普通なんでしょうか?
0436デフォルトの名無しさん2007/08/19(日) 02:55:15
information のスペルが間違ってる
0437デフォルトの名無しさん2007/08/19(日) 08:28:29
infoにクラスのインスタンスを作った時点のthis.aを使いたいのか、
プロパティが呼ばれた時点のthis,aを使いたいのかわからないな。
後者なら>>435の方法になるし、
前者なら
class Hoge {
 string a = "foo"; string info;
 public Hoge() { info = "メンバーa=" + a; }
0438デフォルトの名無しさん2007/08/19(日) 10:36:28
後者なら特に理由がなければメンバ変数にしないでそのつど文字列作って返すのが普通
0439デフォルトの名無しさん2007/08/20(月) 00:23:28
VISUAL C#を仕事で使うことになったので、今日参考書を見て回ったのですが、
最初の参考書としてお勧めのものがあれば教えてください。
自分では「独習C#」という本が見やすく、詳しそうに感じたので、この本を買おうか
と考えているのですが、VISUAL C#での開発なのでVISUAL C#を題材に絞った
本のほうがよいのかとも思っています。
業務はVISUAL C#を使用するのは画面の制御周りで、細かな内部処理は別言語
を使用するため、そこまで掘り下げた内容でもいいのかとも思ったりもしています。
ちなみにプログラミング経験はCOBOLだけあります。
0440デフォルトの名無しさん2007/08/20(月) 00:38:31
化石だな
0441デフォルトの名無しさん2007/08/20(月) 01:28:51
>>439
VISUAL C#は大文字小文字を区別する言語なのでVisual C#と書いたほうが良い。
参考書は自分がわかりやすいVC#の本を買えば良い。
0442デフォルトの名無しさん2007/08/20(月) 02:32:06
>441
その前に全角半角の区別を…
0443デフォルトの名無しさん2007/08/20(月) 05:10:47
プログラミング言語は本1冊読んだ程度では、初歩的なコードしか書けない。
最低でも数冊は読まないとな。
言語知識は独習C#で間に合うが、画面の制御と言うならば、
Forms、WPFなどの本を使わないと身に付かない。
0444デフォルトの名無しさん2007/08/20(月) 09:23:37
>>443
Forms の本でいい本はありますか?本屋で見てても Dobon を上回るような本がみつからなくて・・・
0445デフォルトの名無しさん2007/08/20(月) 09:27:31
ありません
0446デフォルトの名無しさん2007/08/20(月) 10:01:31
C#を学ぶ前にオブジェクト指向について軽く勉強しておくべきですか?
0447デフォルトの名無しさん2007/08/20(月) 10:04:24
Wikipedia読むくらいはしといてもいいかもね
0448デフォルトの名無しさん2007/08/20(月) 10:06:42
お返事ありがとうございます。
その程度で十分なんですね。早速、Wikiを読んでみようと思います
0449デフォルトの名無しさん2007/08/20(月) 10:11:25
ちゃんと勉強するのは、だいたい一通りコード読めるようになってからにした方が早い
0450デフォルトの名無しさん2007/08/20(月) 10:15:29
お返事ありがとうございます。
一通り勉強してからの方がいいですか。それもそうですね。。。
しばらくはC#の勉強だけにしようと思います。オブジェクト指向について
勉強するのは当分、先ですね
0451デフォルトの名無しさん2007/08/20(月) 10:38:11
オブジェクト指向というのは今後廃れていきます
プログラムを複雑化させた諸悪の根源なのです
0452デフォルトの名無しさん2007/08/20(月) 10:41:33
でたらめ言うなよ
0453デフォルトの名無しさん2007/08/20(月) 16:31:07
>>451
その説明のソースはどこにある?
0454デフォルトの名無しさん2007/08/20(月) 16:35:02
すいません、現在の月の二ヶ月後の末日を取得するのってどうやってますか?

たとえば今日なら8月なので2007年10月31日というDateTimeの値がほしいのですが。。。
0455デフォルトの名無しさん2007/08/20(月) 16:40:32
ヒント 自分で計算する
0456デフォルトの名無しさん2007/08/20(月) 16:45:59
>>454
DateTimeにTimeSpanを足す
0457デフォルトの名無しさん2007/08/20(月) 16:46:56
>>454
現在が8月なら8月1日に月3つを足して1日引く。
0458デフォルトの名無しさん2007/08/20(月) 16:46:57
>>454
http://www.atmarkit.co.jp/fdotnet/dotnettips/267timespan/timespan.html
これが参考になるかな
0459デフォルトの名無しさん2007/08/20(月) 16:54:27
DateTime twoMonthsLater = DateTime.Now.AddMonths(2);//今から2ヵ月後の日時
0460デフォルトの名無しさん2007/08/20(月) 16:57:01
>>457 と同じだがコーディングするとこう
DateTime ct = DateTime.Now;
DateTime td = new DateTime(ct.Year, ct.Month, 1).AddMonths(3).AddDays(-1);
0461デフォルトの名無しさん2007/08/20(月) 16:58:57
>>454
DateTime dt = DateTime.Today.AddMonths(2);
int year, month, day;
year = dt.Year;
month = dt.Month;
day = DateTime.DaysInMonth(year, month);
string date = String.Format("{0}/{1}/{2}, year, mount, day);
MessageBox.Show(DateTime.Parse(date).ToString("d"));
0462デフォルトの名無しさん2007/08/20(月) 17:01:23
書き間違いを訂正
---
DateTime dt = DateTime.Today.AddMonths(2);
int year, month, day;
year = dt.Year;
month = dt.Month;
day = DateTime.DaysInMonth(year, month);
string date = String.Format("{0}/{1}/{2}", year, month, day);
MessageBox.Show(DateTime.Parse(date).ToString("d"));
0463デフォルトの名無しさん2007/08/20(月) 17:04:08
ああ、末日か。
勘違い。
>>460で。
04644612007/08/20(月) 17:06:42
>>460で。
0465デフォルトの名無しさん2007/08/20(月) 17:39:16
カスが内容も把握せず、冗長な糞レスつけるなよなww
0466デフォルトの名無しさん2007/08/20(月) 17:49:02
氏ね^^
0467デフォルトの名無しさん2007/08/20(月) 18:01:41
冗長?>>465は誰に言ってんだろぅ・・・
0468デフォルトの名無しさん2007/08/20(月) 18:04:23
>>2 じゃね?
0469デフォルトの名無しさん2007/08/20(月) 18:10:27
>>468
ポップアップさせたらふいた
0470デフォルトの名無しさん2007/08/20(月) 18:20:06
>>465は463->464を見て461も勘違いしてると思ったんだろ
0471デフォルトの名無しさん2007/08/20(月) 19:32:40
どう考えても461は勘違いだろ・・・
0472デフォルトの名無しさん2007/08/20(月) 19:43:29
↑どこが?
0473デフォルトの名無しさん2007/08/20(月) 19:45:21
えーと、一応言っておくと>>459=>>463(=俺)ね
0474デフォルトの名無しさん2007/08/20(月) 20:54:54
すんません、教えてください。

環境はVS2005 C#です。

UserControlを継承したプログラムを作成したんですが、
ツールボックスにそのコントロールが追加されません。

VS2003のVBでは自動的に追加されていたので、

ツールボックス右クリック→アイテムの選択から追加する以外に、
自動的に追加する方法があると思って
調べてみましたがわかりませんでした・・・。

よろしくお願いいたします。m(_ _)m
0475デフォルトの名無しさん2007/08/20(月) 21:06:37
コントロールのコードがFormと同じプロジェクトならプロジェクトをビルドすれば
表示されると思う。

別のプロジェクトならプロジェクト参照すれば表示されるよ。
0476デフォルトの名無しさん2007/08/20(月) 21:08:57
自動的に追加されません
0477デフォルトの名無しさん2007/08/20(月) 21:12:46
自動的に追加されます
プロジェクトにカスタムコントロールを新規作成してビルドしてみれ
0478デフォルトの名無しさん2007/08/20(月) 21:46:13
>>475
それが追加されないんです・・・。
新しい項目の追加→ユーザーコントロールから作成したんですが・・・。

>>477
それでもダメでした・・・orz
なんでだろう・・・?

0479デフォルトの名無しさん2007/08/20(月) 21:49:39
もしかして作成したコントロールのデザイナを表示したままになってないか?
フォームのデザイナとか開いてみたか?
0480デフォルトの名無しさん2007/08/20(月) 21:55:23
>>479
う〜ん、全部閉じて開きなおしたり、
再起動したりしましたがダメでした・・・。
設定も特に変更してないのですが・・・。
0481デフォルトの名無しさん2007/08/20(月) 22:06:11
1番上に出ると思うが。
ツールボックスの (ソリューション名)コンポーネントは開いてるのか?
0482デフォルトの名無しさん2007/08/20(月) 22:09:40
>>480
まあ、まず間違いなく(表示されてるのに)見落としてるだけだw
ムラサキの歯車のアイコンが最上段に表示されてるでしょ
0483デフォルトの名無しさん2007/08/20(月) 22:11:43
新規作成でwindowsアプリを選ぶ。

新しい項目の追加→ユーザーコントロール

ユーザーコントロールをいじる。

ビルド

form1のタブをクリック

ツールボックスに歯車のアイコンが…
0484デフォルトの名無しさん2007/08/20(月) 22:14:51
ツールボックスを右クリック→ツールボックスのリセット
0485デフォルトの名無しさん2007/08/20(月) 22:39:55
折りたたんで見えてないなんておちじゃないだろうな…
0486デフォルトの名無しさん2007/08/20(月) 23:17:38
>>481-485
アドバイスありがとうございます。
書き込みも含め、色々と試行錯誤してみましたがダメでした・・・。
VBプロジェクトで同じことやってもダメでした・・・。
折りたたみも確認して、リセットも行いました。

こりゃもう、再インストールしたほうがよさげですかね・・・orz
04873602007/08/20(月) 23:23:32
C#のボタンでクリックした時に凹んだ状態になりますが、
KeyDownで押しっ放しにしてるときに、その表示にするにはどうしたらいいですか?
いろんなところくぐってみましたが、解決策が見つからなくて。
お願いします。
0488デフォルトの名無しさん2007/08/20(月) 23:24:32
>>487
checkbox使え。
0489デフォルトの名無しさん2007/08/20(月) 23:26:06
>>486
何個かコントロール作って同じこと試して、
原因がそのコントロール自体にあるのか確かめてからにしたら?
0490デフォルトの名無しさん2007/08/20(月) 23:31:49
サービスパック適用してないからじゃないか?
結構VS2005はバグあるぞ。
04913602007/08/20(月) 23:44:08
>>488
checkboxってコントロールのですよね?
どうやったらボタンの表示が変わるか教えていただけないでしょうか。
関連付けできなくてすみません。
0492デフォルトの名無しさん2007/08/20(月) 23:48:57
>>491
質問自体が曖昧・情報が欠落しすぎでワケワカメ
(まあ488も分からんが)

Buttonコントールのことだと想定して
りふれくたーでみたら分かるけどOnKeyDownオーバーライドしたら
いけるんじゃね?
spaceキーなら普通に押しっぱなしでへこむだろ
04934912007/08/20(月) 23:55:29
>>492
ありがとうございます。
Speceキーならたしかに凹みました!!
リフレクターでのオーバーライド、、、これをもう少し調べてみます。
(リフレクターって言葉初めて聴きました)
0494デフォルトの名無しさん2007/08/20(月) 23:56:52
メンバ変数とフィールドの違いを教えてください
0495デフォルトの名無しさん2007/08/21(火) 00:04:43
プロパティ
0496デフォルトの名無しさん2007/08/21(火) 00:07:11
>>494
同じ
04974862007/08/21(火) 00:37:18
>>489-490
アドバイスありがとうございます。
サービスパック適応してませんでした・・・。
いまインストール中です。明日には終わるかな?
とりあえずそれで試してみようと思います。
ありがとうございました!
0498デフォルトの名無しさん2007/08/21(火) 01:12:11
とてもくだらないかと思いますが、承知の上質問しますw

C#のコマンドラインプログラムなんですえけど、WriteLineメソッド
実行後ウィンドウがものすごい早さで消えるんですけど、
例えば、ユーザーがEnterキーを押して始めて終了するというようには
できないでしょうか。
0499デフォルトの名無しさん2007/08/21(火) 01:15:49
Console.ReadLine();

コマンドプロンプトにプログラムをD&D
0500デフォルトの名無しさん2007/08/21(火) 01:23:07
何のウインドウが消える?
05015002007/08/21(火) 01:24:22
あぁごめん。コマンドラインか。
0502デフォルトの名無しさん2007/08/21(火) 01:38:59
ブレークポイントでしょ?
左端クリックして丸をつけましょう。498ね
0503デフォルトの名無しさん2007/08/21(火) 02:12:46
Hello world!のやり方ってどうやるんですか?
0504デフォルトの名無しさん2007/08/21(火) 03:05:02
まず右手をあげて
0505デフォルトの名無しさん2007/08/21(火) 03:21:54
ノ
0506デフォルトの名無しさん2007/08/21(火) 07:24:01
で、そのあとは?
0507デフォルトの名無しさん2007/08/21(火) 07:29:19
>>498
デバックモードなんじゃない?
0508デフォルトの名無しさん2007/08/21(火) 08:07:13
いえモードに関係なくすぐ終了してしまいます
僕のPCが高性能すぎるからですかね
0509デフォルトの名無しさん2007/08/21(火) 08:10:42
しかし、質問者は健康的な生活を送ってるなw
0510デフォルトの名無しさん2007/08/21(火) 08:36:17
CheckBoxのプロパティの値について質問なのですが、
Accessのyes/no型でDataGridviewにCheckBoxを表示させているのですが、
そのCheckBoxがチェックされているか、されていないかの情報を取得するには、
どうすればよいか教えていただけないでしょうか。
よろしくお願いします。
0511デフォルトの名無しさん2007/08/21(火) 09:22:39
普通にCheckBoxのプロパティから取れないか?
0512デフォルトの名無しさん2007/08/21(火) 10:40:19
何時間右手上げてればいいんだよ
続き賭けやボケ!!ヽ(`Д´)ノ
0513デフォルトの名無しさん2007/08/21(火) 10:50:16
朝礼台に上って
0514デフォルトの名無しさん2007/08/21(火) 11:28:10
左手を口に添えて


つーかなにこのやる気の無いスレは?
>>510
CellのValue
0515デフォルトの名無しさん2007/08/21(火) 13:43:32
>>503
using System;
static class Program {
static Program() { Console.WriteLine("Hello world!"); }
public static void Main() { }
}
0516デフォルトの名無しさん2007/08/21(火) 14:54:50
理解できない。日本語でおねがいします
0517デフォルトの名無しさん2007/08/21(火) 14:55:52
システムを使用します;
静的なクラスProgram{
静的なProgram(){Console.WriteLine、(「こんにちは、世界!、」、}
公共の静的な空のMain(){ }
}
0518デフォルトの名無しさん2007/08/21(火) 15:05:30
>>511、514さん回答ありがとうございます。
CheckBoxの値を取得することが出来ました。
現在、取得出来た値がtrueだったら、
他のCheckBoxにCheckを入れるプログラムを作成しているのですが、
if文がtrueの方に処理をしてくれません。
何か良い比較方法はないでしょうか。
よろしくお願いします。

if (System.Convert.ToString(dataGridView1.CurrentRow.Cells[2].Value) == "true")
{
  hoka.Checked = true;
}
0519デフォルトの名無しさん2007/08/21(火) 15:37:38
ブレークポイントを設定して、値を確認する方法を最初に勉強した方が良くないか?
0520デフォルトの名無しさん2007/08/21(火) 15:44:57
で、DateTimeを質問したにーちゃんは何処行ったんだ?
0521デフォルトの名無しさん2007/08/21(火) 16:06:22
自己解決しました
0522デフォルトの名無しさん2007/08/21(火) 16:07:27
>>519
言える
>>518
その行でF9押してF5押して、止まったらその変数の上にマウス乗っけるだけだぞ
0523デフォルトの名無しさん2007/08/21(火) 16:45:54
Debugの有効活用はプログラミング開発の基本だからな。
0524デフォルトの名無しさん2007/08/21(火) 20:11:03
form1とform2で共通のグローバル変数にアクセスするときに
for文でまわしてるときなど片方からのアクセスを拒否したいんですが
スレッドのようにロックだのミューテックスだのって使えるんですか?
0525デフォルトの名無しさん2007/08/21(火) 20:12:16
普通にlockすればいいよ。
0526デフォルトの名無しさん2007/08/21(火) 20:16:58
あれ、form1とform2って同じスレッドになるんじゃないの。
ロックは必要?
0527デフォルトの名無しさん2007/08/21(火) 20:18:35
form1とform2は普通は同じスレッドで動いてるのだからlockしなくてもいい。
0528デフォルトの名無しさん2007/08/21(火) 20:21:26
別スレッドからの操作ならinvokeすれば良い。
05295242007/08/21(火) 20:53:45
うーんロックが効いてるんだか効いてないんだかよくわらん
form1でsleep使うとform2も止まってしまうのか
確かに同一スレッド扱いでロックとかいらないみたいですね
0530デフォルトの名無しさん2007/08/21(火) 21:47:22
扱い……
0531デフォルトの名無しさん2007/08/21(火) 21:50:34
スレッド=小人さん一人
一人しかいないから片っぽで仕事してるとき他からアクセスされることはない
Thread.Sleepすると一人しかいない小人さんが寝てしまうので全部止まる
0532デフォルトの名無しさん2007/08/21(火) 21:59:27
確かにどうやっても割り込めなかったので同一スレですた
0533デフォルトの名無しさん2007/08/21(火) 22:34:20
ソース上でラジオボタンを可変個、グループボックス内に作成しました。
これらのラジオボタンにイベントを指定するにはどうすればいいのでしょうか?

for (int i = 0; i < t; i++) //tは可変
{
RadioButton radio = new RadioButton();
radio.Location = new Point(10, 10 + i * 10);
}

From上にコントロールを貼り付ける場合は
radio.Enable = true;
みたいな感じで、「名前.イベント」ですが、
手書きでコントロールを作成した場合はどうすればいいのでしょうか?

よろしくお願いします
0534デフォルトの名無しさん2007/08/21(火) 22:35:29
ソース上でラジオボタンを可変個、グループボックス内に作成しました。
これらのラジオボタンにイベントを指定するにはどうすればいいのでしょうか?

for (int i = 0; i < t; i++) //tは可変
{
RadioButton radio = new RadioButton();
radio.Location = new Point(10, 10 + i * 10);
}

From上にコントロールを貼り付ける場合は
radio.Enable = true;
みたいな感じで、「名前.イベント」ですが、
手書きでコントロールを作成した場合はどうすればいいのでしょうか?

よろしくお願いします
0535デフォルトの名無しさん2007/08/21(火) 22:37:35
なんも変わらんよ。
自動生成されたソースを見れば、イベントがどう追加されてるかわかるぞ。
0536デフォルトの名無しさん2007/08/21(火) 22:37:55
radio.イベント名 += メソッド名(またはTabキーを2回押す);
解答としてはこれでいいんだけど、いい機会だからちゃんと言語としてのC#を勉強してみたら
0537デフォルトの名無しさん2007/08/21(火) 22:47:57
勇気を持って書き込みます。

string型の変数strAに"AAA"を代入した後、
strAを引数にして別メソッドを呼び出し、
呼び出されたメソッドで仮引数strBに"BBB"を代入します。
このあと呼び出し側のメソッドでstrAを表示させると、
"BBB"になると思ったのですが、実行したところ"AAA"のままでした。

stringは参照型なので、変数strAと変数strBは同じ実態を参照していると思うのですが、
なぜ違う内容になるのでしょうか。
よろしくお願いします。
0538デフォルトの名無しさん2007/08/21(火) 22:49:58
いやお前らの書いてることに違和感を感じるよ。
0539デフォルトの名無しさん2007/08/21(火) 22:51:06
プログレスバーを、バーが伸びていく方法ではなく、バーが端から端へループする方法にしたい場合、どうすればよいですか?
こんな感じのものです。
|
|||
 |||
  |||
   |||
    |
0540デフォルトの名無しさん2007/08/21(火) 22:51:50
ないものは作るしかない!
ないものは作るしかない!
ないものは作るしかない!
0541デフォルトの名無しさん2007/08/21(火) 22:53:31
>>537
同じ実体を参照してたのに、呼び出し先で別の実体を参照しちゃってるじゃんか。

>>539
ProgressBarStyle かな
0542デフォルトの名無しさん2007/08/21(火) 22:55:53
>>537
ref使え
0543デフォルトの名無しさん2007/08/21(火) 22:56:49
>>537
「参照型」と「参照渡し」は違う
それはポインタを値渡ししてるだけ
0544デフォルトの名無しさん2007/08/21(火) 22:58:11
この中に一人、エビアンがおる。
0545デフォルトの名無しさん2007/08/21(火) 23:01:25
method (string strB) // strB -> "AAA"
{
strB="BBB"; // strB→"BBB" 参照先の変更
}
いくらmethod実行しても
strA→"AAA"のまま。
0546デフォルトの名無しさん2007/08/21(火) 23:05:40
これは酷い
0547デフォルトの名無しさん2007/08/21(火) 23:07:03
どれがどう酷いの
0548デフォルトの名無しさん2007/08/21(火) 23:12:02
オマイラ、どんだけふらっとなんだよww
0549デフォルトの名無しさん2007/08/21(火) 23:13:19
誰も間違ったことは言ってないとは思うけど
0550デフォルトの名無しさん2007/08/21(火) 23:16:22
やってみればわかる?
0551デフォルトの名無しさん2007/08/21(火) 23:16:39
537です。
>>541,542,543,545
少しの間にたくさんのレスありがとうございます。

よろしければもう少し教えてください。
つまり、変数に新しい値を代入するということは、参照先の実態が変更されるのではなく、
参照先アドレスが変更されるということなのでしょうか。例えば、

strA = "AAA"
strA = "BBB"

この場合、1行目のstrAが参照しているアドレスと、2行目のstrAが参照しているアドレスは
別物ということでしょうか。よろしくお願いします。
0552デフォルトの名無しさん2007/08/21(火) 23:17:24
>>551
そのとおり
0553デフォルトの名無しさん2007/08/21(火) 23:20:45
>>552
ようやく理解できました。ありがとうございました。
0554デフォルトの名無しさん2007/08/22(水) 00:25:56
>>546
素人を混乱させるな。
0555デフォルトの名無しさん2007/08/22(水) 00:32:19
>>539それって何のためのプログレスバーだよw
どこまで進んだのかわかりにくいじゃん
0556デフォルトの名無しさん2007/08/22(水) 00:34:50
ちゃんと仕事してるふりをするためだろ。
ユーザーも流れる緑色を眺めてれば気が紛れる。
0557デフォルトの名無しさん2007/08/22(水) 00:40:03
Marqueeってたしか2003とかでビジュアルスタイルがオンのときしか
使えないんだよな

自前でやるしかないね
0558デフォルトの名無しさん2007/08/22(水) 01:12:12
>>541
まさにそれでした。ありがとうございます。
>>555
99%で止まってしまうよりマシかと思いまして。
0559デフォルトの名無しさん2007/08/22(水) 01:31:22
なんで99%でとまるんだ?
0560デフォルトの名無しさん2007/08/22(水) 01:37:21
終わるまで仕事の総量がわからないからじゃね?
0561デフォルトの名無しさん2007/08/22(水) 01:41:12
必ずしも進捗状況を明示できるとは限らんだろ。
例えばネット越しの処理を呼び出し中とか。
0562デフォルトの名無しさん2007/08/22(水) 01:43:26
>>557
オフのときは対まで無理やり動かす。
すげー見栄え悪いし辺だけど。
いやなら自作しろってこったな。
0563デフォルトの名無しさん2007/08/22(水) 01:43:56
対ま??
タイマ
0564デフォルトの名無しさん2007/08/22(水) 01:44:27
辺??
変
0565デフォルトの名無しさん2007/08/22(水) 01:48:14
探せばコントロール転がってるよ。
0566デフォルトの名無しさん2007/08/22(水) 01:50:22
五児だ辻
0567デフォルトの名無しさん2007/08/22(水) 02:15:20
ついまで?
0568デフォルトの名無しさん2007/08/22(水) 04:45:49
何かユーザーアカウント登録とかしなくちゃいけないの?MSDNの
0569デフォルトの名無しさん2007/08/22(水) 09:09:19
まあ9割の人が2、3回起動して終わるからいらないんじゃね
0570デフォルトの名無しさん2007/08/22(水) 15:38:52
VS2008β使ってて分かったんだけど
C# 3.0だと今まで継承したりインターフェースを実装したりしてたとこの
ほとんどがデリゲートとラムダ式に置き換わるぜ
言語仕様としてはそんなに変わってないように見えるかも知らんけど
やってることはほとんど別の言語使ってるみたいになる
0571デフォルトの名無しさん2007/08/22(水) 16:24:30
ラムダ式をさらにExpression<>にすると・・・クォートかよ!
ヘルスバーグはじけたと思ってしまった。
0572デフォルトの名無しさん2007/08/22(水) 16:27:21
あまり拡張しすぎて、C++みたいに気持ち悪い言語にならなければいいが・・・
0573デフォルトの名無しさん2007/08/22(水) 16:35:58
ラムダ式にfor文のiを入れないとか
LINQで作ったEnumeratorは二度列挙しないとか
変なノウハウは必要になったな
0574デフォルトの名無しさん2007/08/22(水) 18:55:41
Form2を作るとできるForm2型ってなんなの
ふつうにForm型で受けようとしてもだめなんすね。不思議
0575デフォルトの名無しさん2007/08/22(水) 18:59:17
何を言ってるの
0576デフォルトの名無しさん2007/08/22(水) 19:03:01
Formと2は同じ型じゃないのかなと思って
0577デフォルトの名無しさん2007/08/22(水) 19:08:21
Formの定義を見てみろよw
0578デフォルトの名無しさん2007/08/22(水) 19:24:43
Form2はFormを継承してないんじゃないの
0579デフォルトの名無しさん2007/08/22(水) 19:30:27
public partial class Form2 : Form
たぶん>>574はこれを
public partial class Form : Form
と書き換えようとしたんじゃないかなw
0580デフォルトの名無しさん2007/08/22(水) 21:51:14
コンソールアプリを開発しているのですが
exeを実行中に同じexeを実行した場合、実行できなくしたいのですが
どういうロジックで可能でしょうか?
0581デフォルトの名無しさん2007/08/22(水) 21:53:52
多重起動禁止とかでググれ
0582デフォルトの名無しさん2007/08/22(水) 21:54:17
多重起動関連でググれがいくらでも出てくるぞ?
0583デフォルトの名無しさん2007/08/22(水) 21:54:29
>>580
http://jeanne.wankuma.com/tips/process/previnstance.html
0584デフォルトの名無しさん2007/08/22(水) 21:54:49
かぶったorz
0585デフォルトの名無しさん2007/08/22(水) 21:56:44
多重起動大人気
0586デフォルトの名無しさん2007/08/22(水) 22:05:25
http://livetube.cc/pugyy/%E3%82%82%E3%81%B2%E3%81%8B%E3%82%93%E3%80%80%E3%83%9F%E3%83%B3%E3%82%B5%E3%82%AC%E3%80%8013
0587デフォルトの名無しさん2007/08/22(水) 22:56:32
よく文字列の前に@をつけてたりしますが
これは何の意味があるの?
0588デフォルトの名無しさん2007/08/22(水) 22:57:49
WYSIWYG文字列
0589デフォルトの名無しさん2007/08/22(水) 22:57:53
ある。
\\とか書かなくて良くなる。

と混乱させてみる。
0590デフォルトの名無しさん2007/08/22(水) 22:58:57
お洒落
0591デフォルトの名無しさん2007/08/22(水) 23:00:19
アドレスだよ。
0592デフォルトの名無しさん2007/08/22(水) 23:02:34
属性。
俺様@酔っ払い
0593デフォルトの名無しさん2007/08/22(水) 23:07:43
@を付けると"\n"が改行コードとみなされない。
それだけの意味。
0594デフォルトの名無しさん2007/08/22(水) 23:08:16
なぜほんとのことをいわない
0595デフォルトの名無しさん2007/08/22(水) 23:11:43
おまえもにゃ〜

verbatim文字列
答えです。
0596デフォルトの名無しさん2007/08/22(水) 23:12:25
バームクーヘンとかなんとか言うんだよな
0597デフォルトの名無しさん2007/08/22(水) 23:14:49
ところで、@って何なの?
演算子でもキーワードでもないよね
float a=1.0f のfと同じように、文字列リテラルの一部なの?
0598デフォルトの名無しさん2007/08/22(水) 23:15:25
" の たぐい
0599デフォルトの名無しさん2007/08/22(水) 23:19:22
そういえばint @if;なんて使い方もあるもんな
そりゃそうだ
0600デフォルトの名無しさん2007/08/22(水) 23:24:26
>>588
"""""""""""""""""""""""""""
0601デフォルトの名無しさん2007/08/22(水) 23:26:13
>>587
 "C:\\b\\d\\e\\" を
 @"C:\b\d\e\" と書けたり

string sql = @"
SELECT
  *
FROM
  HageHoge
WHERE
  〜 ";

と書ける優れもの。
0602デフォルトの名無しさん2007/08/22(水) 23:31:12
>>588
D厨は黙っていてくださいね^^
0603デフォルトの名無しさん2007/08/22(水) 23:49:57
>>599
それも使った難読化したことがあるが効果絶大
0604デフォルトの名無しさん2007/08/23(木) 00:00:10
メソッド名とか変数名とか全部C#のキーワードに置き換えるのか。
ちょっと楽しそうだ。
今度やってみるよ。
0605デフォルトの名無しさん2007/08/23(木) 00:22:54
using @delegate = System;
namespace ConsoleApplication1
{
    class @namespace
    {
        static void Main( string[] args )
        {
            @int @foreach = new @int();
            @foreach.@static();
        }
    }

    class @int
    {
        static string @public = @"Hello! ";
        static string @private = @"World";
        public void @static()
        {
            @delegate.Console.WriteLine( @public + @private );
            @delegate.Console.ReadLine();
        }
    }
}
0606デフォルトの名無しさん2007/08/23(木) 00:36:10
>>605
このソースについて会話したらすごいことになりそうだな。
0607デフォルトの名無しさんNGNG?2BP(655)
>>605
そそ そんな感じ
コンパイルしてリフレクタで逆コンパイルしてみて
0608デフォルトの名無しさん2007/08/23(木) 01:01:45
namespace ConsoleApplication1 {
internal class @int {
private static string @private;
private static string @public;
static @int() {
@public = "Hello! ";
@private = "World";
}
public @int() { }
public void @static() {
Console.WriteLine(@public + @private);
Console.ReadLine();
}
}
internal class @namespace {
public @namespace() { }
private static void Main(string[] args) {
new int().@static();
}
}
}

どうみても読みやすくなってます。本当ん(ry
0609デフォルトの名無しさん2007/08/23(木) 01:06:42
あら、前は@付いてなかったような・・・
もしかして対策された?
でもnew int().@static();はいい感じ
0610デフォルトの名無しさん2007/08/23(木) 11:48:16
そこまでするなら.ilにして記号混ぜまくれよ
0611デフォルトの名無しさん2007/08/23(木) 13:35:03
いちいちコードを書くのが大変なので
プログラムにプログラムを作らせればいいことに気がつきました
C#で可能でしょうか?
0612デフォルトの名無しさん2007/08/23(木) 13:40:24
マスターメンテナンス画面自動生成PGを作ったことがある
C#で

0613デフォルトの名無しさん2007/08/23(木) 14:08:19
可能
0614デフォルトの名無しさん2007/08/23(木) 14:29:38
別にC#で機械語生成することも
Cコンパイラ造ることも出来るしな
0615デフォルトの名無しさん2007/08/23(木) 14:34:00
実行時にIL書き下せるのはびっくりする
0616デフォルトの名無しさん2007/08/23(木) 14:37:44
まあそういうのはインタプリタ言語のソースコード生成した方がいいだろうけど
0617デフォルトの名無しさん2007/08/23(木) 17:15:02
いや、機械に機械が直せるか!
そんなことは可能なのかって事だと思う
0618デフォルトの名無しさん2007/08/23(木) 17:17:11
可能だよ。予め全ての故障に対する対処法を書いておけばいいだけ。
0619デフォルトの名無しさん2007/08/23(木) 17:23:37
故障に対する対処法が書いてある部分が故障したらどうするんだ
0620デフォルトの名無しさん2007/08/23(木) 17:27:14
その部分の直し方を知っている機械が他にあれば直せる。
0621デフォルトの名無しさん2007/08/23(木) 17:27:29
そしたら別の機械がその部分を・・・

機械が機械を生産して
修理までしだしたら人間は必要なくなって
社会がのっとられるんじゃ((((;゚Д゚)))ガクガクブルブル
0622デフォルトの名無しさん2007/08/23(木) 17:28:53
HAHAHA
0623デフォルトの名無しさん2007/08/23(木) 17:33:33
笑い事じゃねー
今まで人手が必要だったものがコンピューターに取って代わられ
失業者が増える一方だってのに、社会まで乗っ取られようとしているとは!
全てお前らプログラマーのせいじゃ
こうして2008年
プログラマー抹殺命令がでるのであったデデンデンデデン
0624デフォルトの名無しさん2007/08/23(木) 17:33:59
C#の話をするべきではないだろうか
0625デフォルトの名無しさん2007/08/23(木) 17:36:31
それなんていうB級映画
0626デフォルトの名無しさん2007/08/23(木) 17:38:11
プログラムを作るプログラムってつまり
プログラミング言語のことだよな
0627デフォルトの名無しさん2007/08/23(木) 17:38:42
>>623
なんかそういう映画あったよな
0628デフォルトの名無しさん2007/08/23(木) 17:40:24
スレタイを見て欲しい
ここはそんな話をする場所だろうか
0629デフォルトの名無しさん2007/08/23(木) 17:41:32
全て人手が要らなくなったら
人間は遊んでるだけでいいのでは
0630デフォルトの名無しさん2007/08/23(木) 17:43:33
>>626天才あらわる
0631デフォルトの名無しさん2007/08/23(木) 18:20:39
ピクチャーボックス上にマウスカーソルがある時に、キーダウンイベントを発生させたいのですがうまくいきません
なにか特別な方法があるのでしょうか?
0632デフォルトの名無しさん2007/08/23(木) 19:12:26
まじめな質問が来ると途端に過疎る
0633デフォルトの名無しさん2007/08/23(木) 19:14:31
>>631
意味わからんw
一体何がやりたいんだろうかw
0634デフォルトの名無しさん2007/08/23(木) 19:18:29
>>631
ピクチャーボックス上にマウスカーソルが来たらフラグ立てて外れたら下ろすようにしといて
falseの時にキーダウンイベントが発生したらメソッドの頭で抜けるのは?
それかキーダウンイベントが発生したらマウス座標を取得して
ピクチャーボックス上にあるか判定するとか
0635デフォルトの名無しさん2007/08/23(木) 19:19:21
キーダウンイベントを発生させれば?
くだらないコードになりそうだが。
0636デフォルトの名無しさん2007/08/23(木) 19:19:49
マウスカーソルが上に載ったらキーダウンイベントがぼんぼん発生するんじゃないの
何のキーかわからんけど
0637デフォルトの名無しさん2007/08/23(木) 19:24:59
そう書かれてるけど本当はマウスカーソルが載ってないときの
キーダウンイベントは無効にしたいのかと思った
違うならすまん
0638デフォルトの名無しさん2007/08/23(木) 19:26:29
たぶん>>634が正解だろ
エスパーすげえ
0639デフォルトの名無しさん2007/08/23(木) 19:27:25
複数のイベントに対して共通のイベントハンドラを指定したい
の類じゃね?
0640デフォルトの名無しさん2007/08/23(木) 19:31:36
すみません
説明がおかしかったみたいです
ピクチャーボックスにフォーカスがある時に数字キーを押されたらピクチャーボックスのキーダウンイベントを発生させたかったんです
マウスクリックイベントやマウスリーブイベントは発生出来てるのにキーダウンイベントだけ発生しないんですよ
フォームのキーダウンイベントにすればいいって事ですかね?
とりあえず今は出先なので実験出来ないんですが
0641デフォルトの名無しさん2007/08/23(木) 19:33:58
PictureBoxはデフォでは入力フォーカスもてないぞw
継承してSetStylesで入力フォーカス持てるPictureBoxExを作りなされ
0642デフォルトの名無しさん2007/08/23(木) 19:37:07
そもそもPictureBoxってFocusできないんじゃないの?
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.control.focus(VS.80).aspx
0643質問した人2007/08/23(木) 19:41:54
>>641
もしかして、プロパティにイベントはあるけどそのままじゃ使えない、ってことですかね?
>>642
ピクチャーボックス.Focus()ってのはありますよ
0644デフォルトの名無しさん2007/08/23(木) 19:44:22
>>643
選択できない Windows フォーム コントロールの一覧を次に示します。これらのコントロールから派生したコントロールも、選択できません。
Panel
GroupBox
PictureBox
ProgressBar
Splitter
Label
LinkLabel (コントロール内にリンクが存在しない場合)

というわけでこれらはFocusをもてないんだ
詳しくはリンク先を参照
0645デフォルトの名無しさん2007/08/23(木) 19:50:20
度々すみません
>>642のリンク先読みました
フォーカスのメソッドはあっても、呼び出しても実行されないんですね…
結果キーダウンイベントもあるけど自分で呼び出さないと実行されない、と
勉強になりました
0646デフォルトの名無しさん2007/08/23(木) 20:08:18
Focus()メソッドを呼んでやれば普通にキーイベントも発生はするようだね。

だからキーで操作したい人間を無視するとすれば、とりあえずClickイベントか何かで
Focus()を呼んでやればとりあえずは解決するんじゃないの?
0647デフォルトの名無しさん2007/08/23(木) 20:16:23
ピクチャーボックスくらい自分で作った方が早いんじゃないの?
0648デフォルトの名無しさん2007/08/23(木) 20:43:58
>>646
えっマジ!?
0649デフォルトの名無しさん2007/08/23(木) 20:57:50
今家に戻って、見てみました
PictureBox にはKeyDownイベントありませんでした
Formのイベントと間違えていたようです。ごめんなさい。
それでもKeyDownイベントが発生しなくてぐぐってたら

Form の KeyPreview が False になってると動かない

というのを見つけて、true にしたらやっと動きました!!
ご迷惑おかけして申し訳ありませんでした
0650デフォルトの名無しさん2007/08/23(木) 21:13:50
>>649
あるよw
ただデザイナのプロパティグリッド使ってハンドラを自動で作れないだけ。
コードエディタで自分で紐付けすればいい。
0651デフォルトの名無しさん2007/08/23(木) 21:46:44
WindowsアプリにはXmlReaderみたいなコントロールが
ないけどXMLからドロップダウンリストの
項目をバインドすることってできますか?

WebのほうだとXmlReaderみたいなコントロールでできました。
0652デフォルトの名無しさん2007/08/23(木) 21:51:56
なんでもかんでもコントロールと言うの禁止。旧VB上がり?
つか「みたいな」ってなんだよ。

DataSet(or DataTable)のReadXmlでDataSet/DataTableに取り込めばいいんじゃない。
0653デフォルトの名無しさん2007/08/23(木) 22:08:39
System.Xml.XmlReaderのことを言ってるなら使えるはずだけど。
単に using System.xml; が抜けてるだけとか。
0654デフォルトの名無しさん2007/08/23(木) 22:14:31
デザイナからなんとかしたいと思ってるんだろ。
0655デフォルトの名無しさん2007/08/23(木) 23:19:02
質問です。
ねとらじなどのmp3などのストリーミングデータを取得するには、どうしたらいいでしょうか?
0656デフォルトの名無しさん2007/08/23(木) 23:24:57
mp3はストリーミングデータではない
0657デフォルトの名無しさん2007/08/23(木) 23:25:15
まずJASRACに許可をもらいなさい
0658デフォルトの名無しさん2007/08/23(木) 23:34:25
>>656
すいません。
しかし、中身はmp3みたいです。

>>657
聞く側なので許可はいらないはずですが・・・

開発環境が手元にないので試せませんが、HttpWebRequestとかでいけますか?
0659デフォルトの名無しさん2007/08/23(木) 23:39:31
いけるかもしれないしいけないかもしれない。
サーバがどんなプロトコルを使ってどうデータを流してるかによる。
0660デフォルトの名無しさん2007/08/23(木) 23:49:02
>>659
多分HTTPだと思います。
アドレスの頭にhttpがついてるので
06616512007/08/23(木) 23:50:38
すみませんでした。
自宅PCにVSが入ってなかったので名前を思い出せませんでした。
インストールして確認してみたところXmlReaderじゃなくてXmlDataSourceでした。

Windowsアプリのほうにはこのコントロールが無いようですが
他のコントロールを使うかプログラムを書くことで
XMLの要素をドロップダウンリストのアイテムに
バインドは可能でしょうか?
って意味でした。

DataSetかDataTableでできそうということですね。
サンクス。
0662デフォルトの名無しさん2007/08/24(金) 00:29:13
SSLページにIDとパスワードをPOSTして、そこで取得したクッキーを基に
同一ドメイン・ホスト名内のSSLページにリファラを付けてGETして
そのレスポンスヘッダに含まれるクッキー情報を取得したいと考えているのですが
これを実現するにはどのようなキーワードで検索したら良いでしょうか。

今のところググった感じではHttpWebRequest/HttpWebResponceで
HTTP通信での情報の送受信はできることとCookieContainerでクッキーを
扱えることまではわかったのですが、ヘッダ情報のセットと取得の方法で
躓いている状態です。
具体的には、上記のやり取りにより、会員用ログインページの情報を取得、
その認証情報を基に別のクライアントソフトを起動するためのランチャーを作りたいと考えています。
(そのクライアントソフトは毎回ウェブサイトの会員ページにログインしないと起動できない)
C#の勉強も兼ねて作っているため、もしかしたら敷居が高すぎたのかもしれませんが・・・
どなたかご存知でしたらご教授よろしくお願いします。
0663デフォルトの名無しさん2007/08/24(金) 00:41:10
>609
Reflector試したら普通に@が付いててがっかりしたよ。
もっと混沌としたソースが展開されるのを期待したのに…
0664デフォルトの名無しさん2007/08/24(金) 02:22:09
このスレならどんな質問にも答えてくれるよ
http://pc11.2ch.net/test/read.cgi/avi/1102121520/
0665デフォルトの名無しさん2007/08/24(金) 12:55:19
C♯とC#の違いを教えて下さい。
0666デフォルトの名無しさん2007/08/24(金) 12:59:12
片方で検索すると片方が引っかからない
0667デフォルトの名無しさん2007/08/24(金) 14:58:23
ジェネリックデリゲートのAction<T>のTにvoidを指定する方法ってありますか?
もしあれば教えてやってください。
0668デフォルトの名無しさん2007/08/24(金) 15:05:25
ありません。
0669デフォルトの名無しさん2007/08/24(金) 15:40:27
public delegate void Action();

こんなのを作って使いましょう
06706672007/08/24(金) 15:44:43
>>668-669
ありがとうございます。
素直に定義することにします。
0671デフォルトの名無しさん2007/08/24(金) 15:53:26
FormsだけどMethodInvokerでいいじゃん
0672デフォルトの名無しさん2007/08/24(金) 15:58:50
C# 3.0だとAction,Action<T>,Action<T1,T2>,Action<T1,T2,T3>,Action<T1,T2,T3,T4>
まで標準であるから自分でこれと同じの作っとくといい
Func<TResult>,Func<T1,TResult>,...,Func<T1,T2,T3,T4,TResult>も必須だぜ
0673デフォルトの名無しさん2007/08/24(金) 17:16:45
スレッドを多重化して使う時
・最大同時実行枚数を指定できるqueueによるスレッドの管理(スレッドプール)
・スレッドの進捗を通知するためのコールバックと、スレッドの終了時に実行されるコールバックがある(BackGroundWorker)
を併せ持つスレッド管理をするにはどうしたらいいでしょうか。

作ろうとしてるものはListViewのレコード毎に1スレッド生成されるプログラムです。
つまるところよくあるダウンローダーです。
現状ListViewItem.Tagに実行状態を持たせたListViewを監視スレッドで監視し、
最大同時実行枚数を超えない範囲でBackGroundWorkerでダウンロードスレッドを起動しています。
が、もっとすっきりした管理方法があれば教えてください。
0674デフォルトの名無しさん2007/08/24(金) 19:41:22
なんでUI側に管理させるわけ?
0675デフォルトの名無しさん2007/08/24(金) 19:42:38
普通にクラス作って分けようよ。
0676デフォルトの名無しさん2007/08/24(金) 20:15:41
>>674
Form上のコントロールに別スレッドの管理情報を乗せた事ですか?
それが自然で簡単と思ったからです。
こういうところは場数踏んでよりブラッシュアップしていきます。

>>675
すでにあるものをそのまま使ってできるだけ手を加えずにって思ってたんですけど
ThreadPool+BackgroundWorkerみたいな都合のいいものは無いですよね。

他のアプリケーション使っててありがちな処理かなと思ったので定石みたいなのが
あればと思ったのですが、本見て勉強してみます。
ありがとうございました。
0677デフォルトの名無しさん2007/08/25(土) 00:10:06
ありがちな処理だ。
c#では知らないが、実習JAVAと言う本に同じ様なものが載っている。
0678デフォルトの名無しさん2007/08/25(土) 00:12:30
C#だとデリゲート使うから、スレッド管理あまり使わないんだよ。
スレッド間同期とかね。
0679デフォルトの名無しさん2007/08/25(土) 06:07:00
2008のβが取れたらすぐに移行しなきゃいけないの?
0680デフォルトの名無しさん2007/08/25(土) 08:47:43
今まで2003で開発してたものを2005に移行するとバグるから嫌だ。
2005で開発したものを2008に移行するのも難しいかな。
0681デフォルトの名無しさん2007/08/25(土) 10:35:41
2005->2008はランタイムはほとんど変わらなくて変わるのはライブラリだけだろ
今回は大丈夫じゃね
0682デフォルトの名無しさん2007/08/25(土) 10:42:27
潜在バグが顕在化しただけだ
初めから行儀よく書かんのがいかん
0683デフォルトの名無しさん2007/08/25(土) 14:02:36
VSTOってC#でも開発できるんだよね
どこかに評価版ないかな・・・
0684デフォルトの名無しさん2007/08/25(土) 23:43:14
自分のやり方が悪かったのか確認できなかったんだけど、HGlobalAllocしたのをFreeしたらすぐに
メモリ使用量って減る?
GCされるまで減らない?

って、明らかに.NETスレ向けだよな orz
0685デフォルトの名無しさん2007/08/25(土) 23:47:42
非マネージドなメモリをどうやってGCが関知するってんだ
0686デフォルトの名無しさん2007/08/26(日) 00:01:33
>>685
だよなぁ・・・
どうなってるんだろこれ
0687デフォルトの名無しさん2007/08/26(日) 01:12:12
メモリ使用量って何?
どうなってるって何が?
0688デフォルトの名無しさん2007/08/26(日) 01:14:20
ランタイムが一定領域メモリ確保するから、それを超えない限り気にすることはない。
0689デフォルトの名無しさん2007/08/26(日) 16:09:26
メモリなんてのは架空の存在
やつらはただ電荷を保持しているだけにすぎない
記憶なんて夢のまた夢
0690デフォルトの名無しさん2007/08/26(日) 16:31:00
まさかメモリが架空の存在だったとは
0691デフォルトの名無しさん2007/08/26(日) 17:48:57
.Netframeworkにwinsockのような通信を行うようなライブラリってありますか?
まだC#を勉強し始めたばかりなんですが、WindowsアプリでMSNメッセンジャーのようなアプリを作りたいと思っています。
0692デフォルトの名無しさん2007/08/26(日) 17:50:25
ある
0693デフォルトの名無しさん2007/08/26(日) 17:52:01
SOCKETクラス調べてみればいい。
0694デフォルトの名無しさん2007/08/26(日) 18:00:04
>>693
Socketクラスですね。
ありがとうございました。


C#はまだ触り始めたばかりなのですが本当に面白いです。
今まではC言語の開発ばっかりやってたのですが、今後はC#に移行したいと思ってます。
0695デフォルトの名無しさん2007/08/26(日) 18:01:40
>C言語の開発

すごい人がいたもんだな、おい。
0696デフォルトの名無しさん2007/08/26(日) 18:02:48
本ならTCPネットワークプログラミングを読めば簡単な通信プログラミングならマスターできるようになる。
本格的に通信プログラミングできるようになりたいなら、英語のページや本を探さないと難しいけど。
0697デフォルトの名無しさん2007/08/26(日) 18:04:23
車輪を再発明しちゃうの?
0698デフォルトの名無しさん2007/08/26(日) 18:04:35
C言語の開発は分野が多すぎるから一概にはなんともいえない。
制御系からUnix-Cまであらゆる分野で使われている。
0699デフォルトの名無しさん2007/08/26(日) 18:05:33
>>695
すみません。
C言語での開発という意味です。間違えました。
でも文章読めば分かる気が・・・
0700デフォルトの名無しさん2007/08/26(日) 18:06:27
わかるよ
からかっただけでしょ
0701デフォルトの名無しさん2007/08/26(日) 18:06:32
C言語 の 開発 ≠ C言語での 開発
0702デフォルトの名無しさん2007/08/26(日) 18:08:11
左は文脈によってどっちともとれるだろ
0703デフォルトの名無しさん2007/08/26(日) 18:08:24
>>700
わざとだったんですね。
本当に勘違いされたのかと思いました。
0704デフォルトの名無しさん2007/08/26(日) 18:15:13
Cからの移行者なら、C#の便利さが良くわかるはず、関数ポインタの代わりにデリゲートつかったり、
非同期スレッドのかわりにデリゲート使えたり、ソケット通信の制御に使える技術で
かなりのコードがライブラリやC#の機能で省略できるから。
0705デフォルトの名無しさん2007/08/26(日) 18:16:52
自作のUserControlのプロパティを
Visual Studio 2005のプロパティービューの
「表示」カテゴリで表示させたいんだが、

[Category(L"表示")]

ってやると言語が変わるとまずい気がする。
いい方法ある?
0706デフォルトの名無しさん2007/08/26(日) 18:17:56
でもね。

cで10行でできたsocket通信が20行になったとぼやく人がいるんだよ。
0707デフォルトの名無しさん2007/08/26(日) 18:20:53
そのソースを張ってもらわないと何も反論できない。
0708デフォルトの名無しさん2007/08/26(日) 18:21:20
どうせエラー処理何もしてないんだろ
0709デフォルトの名無しさん2007/08/26(日) 18:21:48
うん、そーっす
0710デフォルトの名無しさん2007/08/26(日) 18:24:50
Cの10行でコールバックのエラー処理が出来るとは思えないしな。
0711デフォルトの名無しさん2007/08/26(日) 18:42:38
>>705
L プリフィクスってなんだ

CategoryAttribute の解説みれ
基本的に定義済みカテゴリ名使えばOK
0712デフォルトの名無しさん2007/08/26(日) 19:02:53
>>711
トンクス

本当はC++/CLIのコードだったんだが
Lを抜き忘れたw
.NETならこっちのほうがいいかなと思って。
0713デフォルトの名無しさん2007/08/26(日) 19:30:54
>>706
今、ちょっとメタプログラミング的なことに興味あって、
F# の勉強してみてるんだけど・・・

行数少なく書けりゃいいってもんじゃねぇぞ。
0714デフォルトの名無しさん2007/08/26(日) 19:37:02
F#ってC#3.0のラムダ式みたいな言語か?
0715デフォルトの名無しさん2007/08/26(日) 19:44:08
関数型言語 Ocaml に、手続き型パラダイムと OO パラダイムを注入した感じ。

まあ、関数型言語がキモいってのよりも、
F# が言語的に汚いんだと思う。

MS リサーチで生まれて、それなりにファンもいるのに
MS が本腰入れてプロモーションしないのもうなずける。
0716デフォルトの名無しさん2007/08/26(日) 19:56:18
関数型言語じゃ金にならんからでしょ
0717デフォルトの名無しさん2007/08/26(日) 22:03:43
SizeChangedとResizeってどう違うんだ
0718デフォルトの名無しさん2007/08/26(日) 22:53:48
ぜんぜん違う。
0719デフォルトの名無しさん2007/08/26(日) 23:14:06
>>715
関数型言語なのに手続き型パラダイムも持ってるってのがOCamlの特徴だぜ
「OCaml 副作用」でぐぐってみそ。

副作用を極限まで嫌うならHaskell。
0720デフォルトの名無しさん2007/08/27(月) 11:04:18
VC#で、SELECT文のヒット件数を、COUNT関数を使わずに集計する方法ってありますか?

SELET * FROM test1

みたいに取得して、5件ヒットしたデータがあった場合に 5という数字を取りたいのですが。。。

一件以上ヒットしたデータがあればデータを取得、そうでなければ別処理
みたいな処理をしたいのです。

よろしくお願いします。
0721デフォルトの名無しさん2007/08/27(月) 11:24:55
コレクションの件数を取得すればいいじゃん。
0722デフォルトの名無しさん2007/08/27(月) 12:16:11
それは反則です
0723デフォルトの名無しさん2007/08/27(月) 12:26:44
どっちにしろDBと使うドライバ次第だろう。
07247202007/08/27(月) 16:51:21
おとなしくcount(*)使って二回DBにアクセスすることにしました。
ありがとうございます。

今、スプラッシュウィンドウをがんばってVC#で作っているのですが、
なぜかJPEGやBMPを背景にすると、一瞬ノイズ?みたいなのが表示された後に
正しい画像が表示されます。

なぜこんなことになるのでしょうか・・・
0725デフォルトの名無しさん2007/08/27(月) 16:54:13
バッファリングや塗りつぶし処理してないんじゃないか?
0726デフォルトの名無しさん2007/08/27(月) 16:56:34
スプラッシュウィンドウくらいならGraphics取って自分で描けば
0727デフォルトの名無しさん2007/08/27(月) 17:01:00
>>720
select *,count(*) from table1
ではあかんの?
0728デフォルトの名無しさん2007/08/27(月) 17:07:32
集計関数を勉強してきなさい^^
0729デフォルトの名無しさん2007/08/27(月) 17:49:07
いやだ
0730デフォルトの名無しさん2007/08/27(月) 17:50:14
では、データベースプログラミングをやめなされ。
07317202007/08/27(月) 18:55:14
>725
バッファリングとかわかってないです。。。。
何か解決の糸口がわかればうれしいので、よかったらおしえてください。
0732デフォルトの名無しさん2007/08/27(月) 18:56:35
風邪薬じゃないでしょうかね?
0733デフォルトの名無しさん2007/08/27(月) 19:12:45
http://www.atmarkit.co.jp/fdotnet/dotnettips/449doublebufed/doublebufed.html

ずばりこれじゃないか?
0734デフォルトの名無しさん2007/08/27(月) 21:28:30
Formでやったらダブルバッファリングしたってちらつくだろう
0735デフォルトの名無しさん2007/08/27(月) 21:34:50
SELECT * FROM TST

CURSOR.READ()
{
nCOUNT++
}
0736デフォルトの名無しさん2007/08/27(月) 21:35:40
>>727
これならありだが

SELECT EMP.*,
(SELECT COUNT(*) FROM EMP) CNT
FROM EMP;
0737デフォルトの名無しさん2007/08/27(月) 21:38:30
いまいち>>720の問題がわからない。

>5件ヒットしたデータがあった場合に 5という数字を取りたいのですが
と
>一件以上ヒットしたデータがあればデータを取得、そうでなければ別処理
>みたいな処理をしたいのです。
が、呼応してないような気がする。

適当だけど、SqlDataReader の hasRows使えないかな
0738デフォルトの名無しさん2007/08/27(月) 21:43:54
>737
カウント取らなくても大体の関数にチェックあるんじゃね?
0739デフォルトの名無しさん2007/08/27(月) 21:53:45
データベースプログラミングの場合は環境がわからないとなんとも言いがたいんだよな。
ADO.NETだろうけど。
0740デフォルトの名無しさん2007/08/27(月) 23:03:12
はじめたばかりで、ここで聞いていいのかもわかりませんが
失礼させていただきます。
Microsoft Visual C# 2005 Express Editionをつかっています。

テンキーのそれぞれの数字キーをおしたときに
単にその回数をカウントするプログラムを作りたいのです。

たとえば
「7」「8」「9」
「4」「5」「6」
「1」「2」「3」
とあって「1」を何回押した、「2」を何回押した・・・・
とそれぞれのカウントを表示するというものです。
交通量を調べるとき(車種別)のカウントのようなものです。

このキーを押したら〜という、ショートカットではないですが
似たような処理
0741デフォルトの名無しさん2007/08/27(月) 23:05:17
わっふるわっふる
0742デフォルトの名無しさん2007/08/27(月) 23:06:18
宿題か?
0743デフォルトの名無しさん2007/08/27(月) 23:26:47
?
新手の釣り?
0744デフォルトの名無しさん2007/08/27(月) 23:52:30
VB.NETで組んだロジックと同様のロジックをC#で組んだ場合
C#でコンパイルしたexeの方が処理が早いんすか?
0745デフォルトの名無しさん2007/08/27(月) 23:56:20
VB.NET と C# のバージョンが同時期のものならほとんど同じコードしかはかない。
0746デフォルトの名無しさん2007/08/28(火) 00:25:13
どうせ速さが問題になるコードなんか書かないんだろ?
0747デフォルトの名無しさん2007/08/28(火) 00:27:34
速さが問題になるソフト作らなければいけない場合はサーバーサイドならUnixだし、
クライアントサイドならネイティブで作らないといけないわな。
0748デフォルトの名無しさん2007/08/28(火) 01:36:00
C#3.0になってから型がわかってる場合でもverを使うサンプル(not DB)をよく見るのですが、
なぜですか?
0749デフォルトの名無しさん2007/08/28(火) 01:51:14
たとえばどこのサンプルですか
0750デフォルトの名無しさん2007/08/28(火) 01:54:41
>>747
今まで、
「遅くてもいいですよ」
なんていわれたこと一度もありませんけど・・・
0751デフォルトの名無しさん2007/08/28(火) 02:12:25
>>748
タイプめんどいから
0752デフォルトの名無しさん2007/08/28(火) 03:10:56
>>750
おれ毎晩いわれてるんだけど
0753デフォルトの名無しさん2007/08/28(火) 10:11:53
決して速くはないが、言うほど遅くもないと思うのだが。
具体的に遅い例を挙げてくれると有難いなぁ…

オレの周りで遅いって言ってるヤツは大抵「アレ」な人たちばっかりで参考にならんw
0754デフォルトの名無しさん2007/08/28(火) 11:55:20
>>752
コーヒーをキーボードに吹いちまったじゃね〜か!
0755デフォルトの名無しさん2007/08/28(火) 14:26:41
まあ関数型言語に比べたら早いだろ
変なベンチマークで早いとか言い張ってる奴はいるけど
関数型だと副作用のあるコードが書けないから

string Hoge(string[] strs){
 string result = "";

 foreach(string str in strs)
  result += str;

return result;
}

 こういうのは書けても

string Hoge(string[] strs){
 StringBuilder sb = new StringBuilder();

 foreach(string str in strs)
  sb.Add(str);

return sb.ToArray();
}
 こういうのが書けない。上と下には絶望的なまでの速度差がある。
07567552007/08/28(火) 14:27:47
ごめん最後ToArrayじゃなくてToStringだった
0757デフォルトの名無しさん2007/08/28(火) 14:37:26
別にC#自体は遅くないでしょ
VBなんかと違って使ったら絶対に遅くなるような地雷機能もとくにないし
0758デフォルトの名無しさん2007/08/28(火) 14:38:54
>>742,743
いえいえ、まじめにです。
計数した後の統計処理はなんとかできるのですが
その前の部分でつまずいています。
http://private.ceek.jp/archives/002000.html
このキータイプ数を数えるというところと同じようなものです。
0759デフォルトの名無しさん2007/08/28(火) 14:42:58
その手のはC#では作れないんじゃなかったっけ
0760デフォルトの名無しさん2007/08/28(火) 14:54:30
>>740
なつやすみのしゅくだいはちゃんとじぶんでやろうね
0761デフォルトの名無しさん2007/08/28(火) 15:25:03
>>758
通報しました(・∀・)!!
0762デフォルトの名無しさん2007/08/28(火) 15:42:51
どこに?
0763デフォルトの名無しさん2007/08/28(火) 15:59:49
>>758
グローバルフック使えばできるんだってさ。
でも.NETじゃグローバルフック使えないんだってさ。
でもSetWindowsHookEx()でできるんだってさ。

.NET C# グローバルフック キーボードフック SetWindowsHookEx

を組み合わせてググるといろいろ出てくるみたいだよ。
そんなことをここで言ってたよ。
ttp://vsug.jp/tabid/63/forumid/45/postid/1344/view/topic/Default.aspx
07647402007/08/28(火) 16:47:08
すいません宿題じゃないんです
ATMのキーを記憶するプログラムが組みたいです
早くおしえてくれ
0765デフォルトの名無しさん2007/08/28(火) 16:53:21
対戦車ミサイルだと?
公安に通報しとくわ。
0766デフォルトの名無しさん2007/08/28(火) 17:06:21
コレクション作ってインクリメントすればいいだけじゃねーのか?
0767デフォルトの名無しさん2007/08/28(火) 18:19:03
現金自動預け払い機?
0768デフォルトの名無しさん2007/08/28(火) 18:29:04
どうみても釣りにしか見えないんだが・・・
本気だったらまずちゃんとした日本語で質問してくれ
0769デフォルトの名無しさん2007/08/28(火) 18:48:20
非同期転送モード?
0770デフォルトの名無しさん2007/08/28(火) 18:59:50
もうほっとけよ
0771デフォルトの名無しさん2007/08/28(火) 19:02:48
何のことかとぐぐってみたら
アンチタンクミサイルかよ。わかるかボケw
0772デフォルトの名無しさん2007/08/28(火) 19:08:52
アホな父ちゃんもういらへん、ってcmもあったな
0773デフォルトの名無しさん2007/08/28(火) 19:36:21
俺らにとっては、アホなSEもういらへんだけど
0774デフォルトの名無しさん2007/08/28(火) 20:51:02
>>764
お前通報されるぞ。
0775デフォルトの名無しさん2007/08/28(火) 21:15:20
知らないうちになにやら成りすましが続出しているようで・・・
07767202007/08/29(水) 10:42:38
>>738
ありがとう
hasrowでいけますよね・・・
ありがとうございます
0777デフォルトの名無しさん2007/08/29(水) 12:36:14
List<string[]>に、二次元で下のようなデータを格納した場合、
aを検索して、bに対して処理したいのですが、どのような方法がありますか?
string[]{a,b}
string[]{c,d}


0778デフォルトの名無しさん2007/08/29(水) 12:50:29
そのまま書けばいいと思うが・・・
foreach (string[] arr in list) { if (arr[0] == a) hoge(arr[1]); }
もし要素数が多くて線形探索じゃ時間かかりすぎってのならリスト使うのがそもそも間違い。
0779デフォルトの名無しさん2007/08/29(水) 13:41:41
Dictionary<string,string>でいいんじゃ
0780デフォルトの名無しさん2007/08/29(水) 23:24:29
.NETのハッシュは止めとけ、遅くて使い物にならん
0781デフォルトの名無しさん2007/08/30(木) 00:11:05
>>780
Capacity を適切に設定してないとかではなく?
0782デフォルトの名無しさん2007/08/30(木) 00:27:40
>>781
俺も昔気づいたけどCapacityとかのせいじゃなく本当に遅いよ
自作したのに置き換えたらその部分が4倍くらい速くなった
あんまり速度気にせず手軽に組むなら.NETのでもいいだろうけどね
0783デフォルトの名無しさん2007/08/30(木) 00:56:49
TreeViewのの特定のNodeにチェックボックスをつけたくないのですが
どうすればいいのですか?
0784デフォルトの名無しさん2007/08/30(木) 00:57:13
白で塗りつぶす
0785デフォルトの名無しさん2007/08/30(木) 01:25:04
なるほどできましたw
0786デフォルトの名無しさん2007/08/30(木) 02:30:18
>>782
> 自作したのに置き換えたら
って、なにを置き換えたの?IHashCodeProviderの実装?
いくら遅いっていったって、線形探索よりは速いよね?w
0787デフォルトの名無しさん2007/08/30(木) 03:19:56
たしかに.NETのstringのHashは全文字調べるから
stringのHashだけでO(N)操作なんだよな
でもめちゃくちゃ長い文字列でも使わない限りそうひどいことにはならない
Capacity大きめに入れないと発狂するほど遅くなるけど
0788デフォルトの名無しさん2007/08/30(木) 05:01:23
日付(項目1)、予定(項目2)
  18日   、デート
  19日   、オナニー

上記のように項目1、2があるとして
リストビューの詳細モードでやってみたのですがソートの機能って項目1のみにしか働きませんよね?
ってことで自分で項目2のソートをしようと思っても
tab_click{ }ってな感じで同じところに飛んでしまうのですが
タブごとにわけられないんでしょうか?
せっかくどちらも押せる様になってるので
座標から判別するのはもったいないと思うのですが
0789デフォルトの名無しさん2007/08/30(木) 08:04:38
ColumnClick イベント
0790デフォルトの名無しさん2007/08/30(木) 09:06:45
本当は18日もオナニーだからソートされない。
0791デフォルトの名無しさん2007/08/30(木) 10:37:47
19日の間違いなww
0792デフォルトの名無しさん2007/08/30(木) 15:07:19
なるほど。そこまでC#は見抜くのかすげー
ColumnClickイベントですが押されたカラムの番号ってどっかに格納されてないんすか?
これだとどこ押されても同じ処理で意味ないような
0793デフォルトの名無しさん2007/08/30(木) 15:15:13
ColumnClickEventArgs.Column
0794デフォルトの名無しさん2007/08/30(木) 16:15:20
WindowsFormで、チェックボックス付きの、複数カラムが表示できるコントロールを
使いたいのですが、そんなのは無いのでしょうか?
具体的には、VisualStudio2005で、普通、左にあるツールボックスを右クリックし、
「アイテムの選択」を選択したときにタブページに貼られているコントロールです。

これは、CheckedListBoxで出来るのでしょうか?
それとも、DataGridに何か細工をするのでしょうか?
あるいは、全く別のものなのでしょうか・・・。
0795デフォルトの名無しさん2007/08/30(木) 16:19:16
ListView
0796デフォルトの名無しさん2007/08/30(木) 16:26:30
どうもです〜。なるほど、ListViewだったんですか。
ListViewでググったら参考になりそうなところとか見つかりました。
有難うございました。

http://www.codeproject.com/vb/net/CustmizdListView.asp
0797デフォルトの名無しさん2007/08/30(木) 17:49:54
16進数で示したコードを出力するときは、どうすればいいのでしょうか?
カンマなら \x002c を出力したい場合など

07987882007/08/30(木) 19:18:15
>>793
最初理解できなかったけどなんとかわかりました。ありがとう
0799デフォルトの名無しさん2007/08/30(木) 21:48:33
>>797
1行目と2行目の内容逆じゃね?
0800デフォルトの名無しさん2007/08/30(木) 21:55:20
>>797
Encoding.GetBytes
0801デフォルトの名無しさん2007/08/30(木) 22:18:44
>>799-800
たとえば、sw = StreamWriterで
sw.WriteLine("aaa" + ","); のところを
sw.WriteLine("aaa" + \x002c);のようにコードで出力したいのですが
0802謎の人2007/08/30(木) 22:24:21
KENT WEB さんの、スレッド式掲示板を作りたいのですが、
Perlへのパスというところで詰まっています
まったくそれが何だかわかりません
どうすればいいでしょうか
超初歩的なことすいません
08038012007/08/30(木) 22:28:51
馬鹿な質問ですいませんでした。
そのまま'x\002c'で出来ました・・・・
0804デフォルトの名無しさん2007/08/30(木) 22:42:18
>>803
C# 言語仕様の 2.4.4.5 リテラル文字列 あたり読んどくといいよ
0805デフォルトの名無しさん2007/08/30(木) 22:52:55
フォーム1とフォーム2でクラスを共有したいんだけど方法教えてください!!
0806デフォルトの名無しさん2007/08/30(木) 22:56:49
一方のフォームにプロパティを作ってもう一方のフォームから設定する
0807デフォルトの名無しさん2007/08/30(木) 22:59:17
>>805
シングルトンってやり方がある、クラス自身の中にスタティックな自分自身のインスタンスを保持するやり方
デザインパターンの初歩だから調べて勉強してみるといいよ
0808デフォルトの名無しさん2007/08/30(木) 23:02:21
よくわかってないうちにそれをやるとVB的なやり方が身に染み付いてしまいそう
0809デフォルトの名無しさん2007/08/30(木) 23:02:43
"クラス"を共有するんだったら同じプロジェクトに入れとくだけだけどなー
0810デフォルトの名無しさん2007/08/30(木) 23:06:01
やりたいのはForm1からForm2を呼び出して、From2のPropatyGridで操作した
結果(クラス)をForm1で利用したいというものです。

例えば、共有したいクラスをstaticにして利用するのは邪道なのでしょうか?
0811デフォルトの名無しさん2007/08/30(木) 23:07:42
それはクラスじゃなくてオブジェクト
そんなこともわからないうちにとりあえずstaticにしとけばいいやっていうのは良くないよ
0812デフォルトの名無しさん2007/08/30(木) 23:09:33
それならForm1でクラスを生成して、Form2に渡してから加工した方がいいと思うが
0813デフォルトの名無しさん2007/08/30(木) 23:22:35
たぶんForm2はプロパティグリッドを載せるためだけのウインドウなんだろ
それを通してForm1上のコントロールか何か(またはForm1自身)のプロパティを弄ると

もしこれで合ってるなら、Form2に加工対象を入れるプロパティを作るかな
08148102007/08/30(木) 23:27:34
>>813
エスパーですか!!その通りです。
From2で弄ったPropetyGridの結果を得て、From1のコントロールを弄りたいのですが…。

>Form2に加工対象を入れるプロパティを作るかな
もう少し噛み砕いてお願いします。
0815デフォルトの名無しさん2007/08/30(木) 23:28:46
Property
0816デフォルトの名無しさん2007/08/30(木) 23:30:48
そんなことはMFC時代から既に実装されてるだろ。
C++を参考にしろよw
0817デフォルトの名無しさん2007/08/30(木) 23:31:22
class Form2 {
略
    public 加工対象の型 加工対象 {
        get { return かこうたいしょう; }
        set {
            かこうたいしょう = value;
            プロパティグリッドにかこうたいしょうをセット;
        }
    }
    private 加工対象の型 かこうたいしょう;
}
大雑把に言えばこんなもんだ
08188102007/08/30(木) 23:33:21
分かりました!!みなさんありがとうございました。
0819デフォルトの名無しさん2007/08/30(木) 23:35:05
>>817
キミプロパティグリッドの基本的な用途や使い方を知らないんじゃないの?w
0820デフォルトの名無しさん2007/08/30(木) 23:35:47
>>819
ぜひとも教えてくれ
0821デフォルトの名無しさん2007/08/30(木) 23:36:55
>>817
それ、おれもオモタww
普通はそれ専用のクラス作って、SelectedObjectに割り当てるんだよ
0822デフォルトの名無しさん2007/08/30(木) 23:39:09
それが「加工対象」じゃねーの? >それ専用のクラス
0823デフォルトの名無しさん2007/08/30(木) 23:44:28
純粋にプロパティグリッド乗せるだけのウインドウならObject型でいいんじゃないの
0824デフォルトの名無しさん2007/08/31(金) 00:31:52
>782
4倍速くなるソースを晒してくれ。
0825デフォルトの名無しさん2007/08/31(金) 00:50:39
ハッシュが遅いってのは文字列のGetHashCodeが遅いってこと?
0826デフォルトの名無しさん2007/08/31(金) 01:39:29
>>825
Yes
だけどそんなに遅くない
文字数を増やすと文字数に比例する時間がかかるけどごくわずかといえばわずか
文字列が莫大な長さだとやばいかも
0827デフォルトの名無しさん2007/08/31(金) 03:11:33
遅くて使いもんにならんらしいが…
0828デフォルトの名無しさん2007/08/31(金) 04:38:39
はじめてみましたが
クラスだの継承だの抽象なんとかだの全く理解できません
これ理解するのって東大はいるのと同じくらい難しくありませんか?
いや東大生でもこれ理解できねーんじゃねーかって気がする
0829デフォルトの名無しさん2007/08/31(金) 04:39:35
専門学校卒業すれば十分理解できるレベル。
0830デフォルトの名無しさん2007/08/31(金) 05:57:05
義務教育ちゃんと受けてれば大丈夫。
0831デフォルトの名無しさん2007/08/31(金) 06:46:24
クラスの継承は基本的に使ってはいけない
抽象も難しいことを言っているわけではなく
同じメソッドを持ってるクラスを使いまわすとか
呼び出す必要のないものはprivateにして見せないとか
そういう素朴なことだと考えて別に問題はない
0832デフォルトの名無しさん2007/08/31(金) 07:53:41
・・・
0833デフォルトの名無しさん2007/08/31(金) 09:00:35
初めはなんでもいいよ、もう
色々失敗したり破綻したりして今があるのだからこうすべき論はその後でいい。
そのかわりコードたくさん書け、たくさん読め、なんでもまず試せ、
んで時々立ち止まって考えろ。

意外に皆直感でああだこうだいってるからその感覚をまずはゲッツ
0834デフォルトの名無しさん2007/08/31(金) 09:11:17
>826
Hashtableのキーにする文字列がそんなに長大になることってあるのか?
キーにする文字列が普通に使う長さなら使いものにならないくらい遅くなるなんてことはないのでは?
0835デフォルトの名無しさん2007/08/31(金) 09:20:02
一ついえるのはコボルとコボラーだけには関わるな
あれに洗脳されると矯正が大変になる
0836デフォルトの名無しさん2007/08/31(金) 09:30:08
>>834
ないと思う

>>814
partial class Form1 : Form
{
Form2 form2 = new Form2();

HogeClass hoge = new HogeClass()

public Form1()
{
form2.PropertyGrid.SelectObject = hoge;
form2.ShowDialog();
}
}
こんなんじゃないの
0837デフォルトの名無しさん2007/08/31(金) 11:18:23
この度C#でActiveReportsを使うことになったのですが

使い方などが載っているサイトとかありますか?

もしあるなら教えていただけませんか?
0838デフォルトの名無しさん2007/08/31(金) 12:09:02
>>837
商用なんだから、製造元の解説読んで、それでもわからなかったら製造元に問い合わせれば?
0839デフォルトの名無しさん2007/08/31(金) 14:14:48
>>837
んなもんメーカーに聞けよ
0840デフォルトの名無しさん2007/08/31(金) 15:43:30
もし荒れたらごめんなさい。
最近Cに興味が沸いている、VBさわり始めて数ヶ月の者です。
実際の所、C#とCは全く違うものなんでしょうか。
C#の方が理解しやすいのならVB→C#→Cなんて段階踏むのは
ありなのかなぁなんて考えてるんですが…。

>>808なんかを見るとVBがとても悪いもののように思えますが
VBの知識は他言語に応用しにくいとかありますか?

0841デフォルトの名無しさん2007/08/31(金) 15:57:00
そっくりだけどまったく違う
0842デフォルトの名無しさん2007/08/31(金) 16:09:49
VBもC#もCも互いに応用しやすい方だと思うよ
Cは使いこなすのが格別難しいけど考え方は似通ってる部分が多い
まあ一個の言語極めたら他の言語に応用するのは難しくないから好きなもの極めたらいい
0843デフォルトの名無しさん2007/08/31(金) 16:25:42
自作クラスに変数を書いて、その変数を呼出し元では値の取得のみしたい
どうすればいいですか?
0844デフォルトの名無しさん2007/08/31(金) 16:28:15
>>843
プロパティでぐぐる。
0845デフォルトの名無しさん2007/08/31(金) 16:28:38
プロパティにしてgetだけ実装
0846デフォルトの名無しさん2007/08/31(金) 16:51:49
>>844-845
ありがと!
やってみる
0847デフォルトの名無しさん2007/08/31(金) 16:52:30
マウスのドラッグによってスクロールするユーザーコントロールというものを実装しようとしています。
そこで、以下のようなコードを書きました。
スクロール自体はうまくいくのですが、ドラッグ開始時にスクロールバーが左上の位置に移動してしまいます。
どうすれば思い通りの実装を行えるでしょうか。

protected override void OnMouseDown(MouseEventArgs e)
{
    base.OnMouseDown(e);

    isDraggable = true;
    dragMouseStart = new Point(e.X, e.Y);
    dragScrollStart = this.AutoScrollPosition;
}
protected override void OnMouseUp(MouseEventArgs e)
{
    base.OnMouseUp(e);

    isDraggable = false;
}
protected override void OnMouseMove(MouseEventArgs e)
{
    base.OnMouseMove(e);

    if (!isDraggable)
        return;
    Point p = new Point(
        dragScrollStart.X - (e.X - dragMouseStart.X),
        dragScrollStart.Y - (e.Y - dragMouseStart.Y));
    this.AutoScrollPosition = p;
}
0848デフォルトの名無しさん2007/08/31(金) 17:03:06
VB 簡単で使いやすいが他の言語への移行が難しい地雷言語
C# 簡単で使いやすくC言語への移行が簡単で高機能言語
C 簡単ではないがPCの基本的概念の理解ができ、C#への移行が簡単な標準的言語
C++ 習得が難しく扱いが難しいネイティブを使わなくてはならない場合のみ導入を検討するべき

C→C#が一番将来的に高スキルを目指すには最適だと思われる。
0849デフォルトの名無しさん2007/08/31(金) 17:25:05
>>842
>>848
やっぱり人によって意見は全然違うんですね。荒れなきゃいいですけど(汗

目的達成の為だけなら使いやすいのを使えばいいんでしょうけど
スキルアップの為にも取りあえず今VBで作っているソフトをC#に
移植するところからやってみて、その上で感触を確かめてみます。
有り難う御座いました。
0850デフォルトの名無しさん2007/08/31(金) 17:39:19
言語なんてどれでもいっしょだろ
俺日本語からC#入ったけど全くだめだった
0851デフォルトの名無しさん2007/08/31(金) 17:40:02
>>842おまえそりゃいくらなんでも…
0852デフォルトの名無しさん2007/08/31(金) 17:44:32
C#ってそんなすげ〜のか。俺もやってみっかな。
0853デフォルトの名無しさん2007/08/31(金) 17:50:00
一番良いのは、C++ネイティブとC#.NETの使い分け。
サーバがLinuxやUnixなら他の言語も検討。
0854デフォルトの名無しさん2007/08/31(金) 18:20:54
VBっつってもVB.NETとC#はほとんど同じものだぞ
.NET以前のVBとC#はかなり違うけど
0855デフォルトの名無しさん2007/08/31(金) 18:42:29
わかってない子にもそれなりに使えるように進化していく運命にある言語だけどな
0856デフォルトの名無しさん2007/08/31(金) 18:47:46
C言語ファミリーって言える言語がC++,JAVA、C#、PHPとか大量にあるから
それらの中から始めるのが吉。一つ覚えれば他の習得が比較的楽にできるよ
VBの問題はVB自身じゃなくてVB6やCOBOLからの乗換え組みの質の悪さだと思う
新人で彼らに教わったら地獄だな、そんな時は自分で勉強すべし
0857デフォルトの名無しさん2007/08/31(金) 19:27:37
CompactFrameworkがらみの質問なんですが、
Formを継承してShownイベントを追加しようとしてVisibleやShowメソッドを
オーバーライドしてコードを追加したのですが、Application.Run()からだと
これらのプロパティやメソッドは使ってないらしく、イベントが発生しません。
WndProc()をオーバーライドしようにもメソッド自体ないし、ReflectorでFrameworkの中を
覗いてみてもなぜかCompactの方はメソッドやプロパティのコードが空っぽ…

どうしたらApplication.Run()から実行したときにイベントを発生させることが出来るでしょうか?
0858デフォルトの名無しさん2007/08/31(金) 19:34:23
Activated イベントとフラグを併用するのがいいんじゃないかな
0859デフォルトの名無しさん2007/08/31(金) 20:13:40
>>858
上手くいきました。
なんでWndProc()積んでないんだ… orz

ありがとうございました。
0860デフォルトの名無しさん2007/08/31(金) 21:42:04
ここは回答もレベル低いなww
0861デフォルトの名無しさん2007/08/31(金) 21:47:01
高レベルな回答を超期待
0862デフォルトの名無しさん2007/08/31(金) 21:51:26
質問どうぞ
0863デフォルトの名無しさん2007/08/31(金) 21:55:38
いや、すまん実はC#始めてまだ3週間なんだww
0864デフォルトの名無しさん2007/09/01(土) 01:17:33
9月です
BGMが変わってトマトが枯れました
0865デフォルトの名無しさん2007/09/01(土) 02:46:01
質問です。
XmlSerializerでxmlを逆シリアライズしているときのパースエラーが起きたとき、
そこの要素を空にして再試行、または続行するにはやはりXmlSerializerに頼らず
自分でXmlをパースしなければならないのでしょうか?
0866デフォルトの名無しさん2007/09/01(土) 02:56:06
フォーム上にコントロールが1000個くらいあって
それを移動したりリサイズしたりするのにループ(for)でまわして10秒くらいかかる処理があるとして
スレッドつかって一気に変更したら早くなるのかな?
0867デフォルトの名無しさん2007/09/01(土) 02:56:43
はあ?
0868デフォルトの名無しさん2007/09/01(土) 03:06:12
MDIのフォーム配置で試せば?
0869デフォルトの名無しさん2007/09/01(土) 03:40:38
ある特定のメソッドのみから参照できるメンバ変数って定義できますか?
0870デフォルトの名無しさん2007/09/01(土) 03:42:33
何がしたいのかわからん。
0871デフォルトの名無しさん2007/09/01(土) 04:21:01
インスタンスの状態を保存するメンバ変数があって、
その変数を参照・設定するメソッドからのみその変数は参照できるようにして、
それ以外のメソッドからはメンバ変数にアクセスできないようにしたいということです。

class {
private int member;
public void A {...}
public void B {...}
}

このようなクラスがあったとしたら、Aからはmemberにアクセスできるけど、
Bからはできないという風にしたいのです。
0872デフォルトの名無しさん2007/09/01(土) 04:38:36
半パブリックだな。もしくはpubstaticとか
0873デフォルトの名無しさん2007/09/01(土) 04:41:19
クラスの継承使えばどうだ?

08748732007/09/01(土) 04:42:49
サブクラスからアクセス不可に設定すれば可能だと思うが。
0875デフォルトの名無しさん2007/09/01(土) 04:45:34
>>872
検索してみたのですが、よく分かりませんでした。
よろしければ具体的なコード例を示していただけないでしょうか。
0876デフォルトの名無しさん2007/09/01(土) 04:47:42
>>873
たしかにプライベートな抽象クラスを作ってそれを継承すればできそうですね。
ありがとうございます。
0877デフォルトの名無しさん2007/09/01(土) 04:51:47
この機能を実現したいクラスはすでに他のクラスを継承していたので、
クラスを継承する方法は使えませんでした。
>>872で挙げられている方法はどのようなものなのでしょうか。

連投申し訳ありません。
0878デフォルトの名無しさん2007/09/01(土) 04:53:53
>>865
> XmlSerializerに頼らず
全部自前でパースするよりはシリアライズ対象のオブジェクトにIXmlSerializableを実装してあげるのが近道っぽい。
0879デフォルトの名無しさん2007/09/01(土) 09:42:36
class Hoge{
class AClass
{
private int member;

public void A(){...}
}
AClass aClass = new AClass();

public void A(){ aClass.A(); }
}
こんなんじゃだめなん
0880デフォルトの名無しさん2007/09/01(土) 09:48:35
privateかどうかにそこまでこだわってもあまりメリットはないぜ
外側から見えないようにするのには価値があるけど
内側でアクセス権気にしてもコードがごちゃごちゃする上に
拡張しにくくなる

何が外側で何が内側なのかというのは難しい話だけどな
0881デフォルトの名無しさん2007/09/01(土) 09:55:35
匿名メソッド使えば?w
0882デフォルトの名無しさん2007/09/01(土) 09:57:56
privateなプロパティにする。
フィールドは、簡単にはアクセスできないようアラビア語あたりの文字を含めるw
0883デフォルトの名無しさん2007/09/01(土) 10:02:08
基本的なことを言うと、publicメンバはインターフェースとして定義することができるメンバにする。
クラス外から見えるということはクラス外に対するコンタクトを標準化する必要性が出てくる可能性があるから
インターフェースになるわけだ。
0884デフォルトの名無しさん2007/09/01(土) 10:04:47
突然何を言い出すんだ?
0885デフォルトの名無しさん2007/09/01(土) 10:20:31
class A:B {
}
っていう元のクラスに対して

class C:B{
private vv;
public hoge(){
}
}
ってクラスを作って、元のやつを
class A:C{
}
にすればいいだけじゃね
0886デフォルトの名無しさん2007/09/01(土) 10:43:26
クラス外から見える=interfaceになる可能性がある
というのは違う
単にクラスが長くて見通しが悪いから分離しただけだったりもする
大体のクラスは抽象化の単位じゃなく実装のしやすさで分かれる

ライブラリのクラスであればpublicクラスのpublicメンバであれば
interfaceになることを想定する必要が確実にあるということは言えると思う

抽象化の単位ではpublicメンバはinterfaceである必要があるが
抽象化の内側の実装のレベルではprivateを多用してもしょうがない
むしろやりにくくなる
0887元ルート2007/09/01(土) 11:43:04
/::::)(:::)(:::::::::::)(::::::^::::::::::\
       (::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::\
     /::::::::::/ノ::::::::ノ::::::::ヽ:人::::::::::ヽ:::::::::::::::)
     (::::::::::/  ):::ノ::::ノ ) ソ ヾ::::::::::::丶::::ヽ
    (:::::::::/ 彡  ノ   ノ  :: 彡:/)) ::::::::::)
   (::::::::::/彡彡彡彡彡   ミミミミミミミ :::::::::::)
   ( :::::::// ̄ ̄ ̄ ̄ヽ===/ ̄ ̄ ̄ ̄ヽ |:::::::::)
    | =ロ   -=・=-  ‖ ‖ -=・=-   ロ===
    |:/ ‖    / /ノ  ヽ \     ‖ ヽ|ヽ      _________
     |/  ヽ`======/ .⌒ ` ========ノ.   ..| |     /
   .(         .(●  ●)         )ノ   / 
   (   ・     / :::::l l::: ::: \         .)  <だってアンカーがうてないんだもん
   (       // ̄ ̄ ̄ ̄\:\.       .)   \       
   .\     : )::::|.  ̄ ̄ ̄ ̄ |::: ::::(:     /..    \_________
    \ :::   :::::::::\____/  ::::::::::   /
      ヽ  ヽ:::: _- ::::: ⌒:: :::::::: -_     ノ
       \丶\_::_:::::_:::: :::::_/::::  /

0888デフォルトの名無しさん2007/09/01(土) 11:44:13
お前はもう、しんでいる。
0889元ルート2007/09/01(土) 12:00:12
/::::)(:::)(:::::::::::)(::::::^::::::::::\
       (::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::\
     /::::::::::/ノ::::::::ノ::::::::ヽ:人::::::::::ヽ:::::::::::::::)
     (::::::::::/  ):::ノ::::ノ ) ソ ヾ::::::::::::丶::::ヽ
    (:::::::::/ 彡  ノ   ノ  :: 彡:/)) ::::::::::)
   (::::::::::/彡彡彡彡彡   ミミミミミミミ :::::::::::)
   ( :::::::// ̄ ̄ ̄ ̄ヽ===/ ̄ ̄ ̄ ̄ヽ |:::::::::)
    | =ロ   -=・=-  ‖ ‖ -=・=-   ロ===
    |:/ ‖    / /ノ  ヽ \     ‖ ヽ|ヽ      _________
     |/  ヽ`======/ .⌒ ` ========ノ.   ..| |     /
   .(         .(●  ●)         )ノ   / 
   (   ・     / :::::l l::: ::: \         .)  <何回やってもダメだよ〜
   (       // ̄ ̄ ̄ ̄\:\.       .)   \       
   .\     : )::::|.  ̄ ̄ ̄ ̄ |::: ::::(:     /..    \_________
    \ :::   :::::::::\____/  ::::::::::   /
      ヽ  ヽ:::: _- ::::: ⌒:: :::::::: -_     ノ
       \丶\_::_:::::_:::: :::::_/::::  /
0890元ルート2007/09/01(土) 12:04:58
マンコはちょっとくらいくさいほうが良いよね?


0891元ルート2007/09/01(土) 12:07:21
ぉまんこの匂いを嗅ぐと熟睡できる。

シャワーを浴びてないあの匂いは最高。


0892デフォルトの名無しさん2007/09/01(土) 12:27:10
おかしい・・・まだ夏休みが続いているのか
0893デフォルトの名無しさん2007/09/01(土) 12:31:31
delegate void MyMethod();
private MyMethod _a;
public void A() {
 if (_a == null) {
  int member = 0;
  _a = delegate { /*ここで本当の処理をする*/member++; };
 }
 else { _a(); }
}
0894デフォルトの名無しさん2007/09/01(土) 12:33:01
>>869
そこだけVBで作るとかどう?w
VB.NETならStaticで宣言したローカル変数がそういう、
「寿命がフィールドと同じで、アクセスのスコープがローカル変数と同じ」
という仕様になるよ。
0895デフォルトの名無しさん2007/09/01(土) 12:33:38
まだ、9月1日が土曜日だから夏休み続いてるんじゃないの?
0896デフォルトの名無しさん2007/09/01(土) 12:49:56
俺たちの夏休みは終わらない   完
0897元ルート2007/09/01(土) 13:06:11
オリシーは、本当のマンコ臭は、味わえない。
微香料付きオリシーが大半だからな。
使用済みオリシーは、何度がゲットし匂ったが、微香料に押されて気味。
やはり、純マンコ臭を間接的にかぐには、使用済みパンティか、おもらしナプだな。


0898デフォルトの名無しさん2007/09/01(土) 13:30:58
つまらん。
どうせガキ臭いこと書くならせめて笑えることを書けよ。

しかし、こういう馬鹿が表れるとだいたい、「夏休み」とか子供のせいにされるが、
俺の感ではこういう奴は「ガキ臭い」オッサンであって本当のガキではないと思うね。

こんな低能と同じレベルに貶めるのでは子供に失礼だよ。
0899元ルート2007/09/01(土) 13:32:52
監督  元ルート
脚本  元ルート
主演  元ルート
脇役A レコード屋
脇役B ちんけなオトコ
脇役C オーム返し
脇役D 漫画道場
脇役E あと誰だっけ?
エキストラ 役5名
ここはそんな世界。
あははははははは

0900デフォルトの名無しさん2007/09/01(土) 15:48:39
なにがあってもC#初心者の質問に答えるという使命は忘れてはいけない
0901デフォルトの名無しさん2007/09/01(土) 17:20:33
えらい!マイクロソフトから金もらえ
0902デフォルトの名無しさん2007/09/01(土) 18:24:37
>>871
何でそんなことが必要なんだ?
理由書いてくれ。
0903デフォルトの名無しさん2007/09/01(土) 18:31:06
まさかローカル変数とメンバ変数同じ名前にしていて…
とか馬鹿な理由じゃないよな?
0904デフォルトの名無しさん2007/09/01(土) 18:33:57
858みたいな状況とか、フィールドに置かれてもって感じはするよな
C の static 変数で表現できるならそっちのほうがすっきりする
0905デフォルトの名無しさん2007/09/01(土) 18:53:03
>>902
書かなくても分かるだろ普通w
「隠蔽」という概念の拡張に過ぎないじゃないか。
要するに君は隠蔽の意義が理解できてないんだろう。
0906デフォルトの名無しさん2007/09/01(土) 19:20:13
あたりまえ
どっからでもアクセスできた方がいいだろ
スタジアムだってアクセスの良さを確保するのにどんだけ苦労することか
したくないときはアクセスしなきゃいいだけだし
0907デフォルトの名無しさん2007/09/01(土) 19:48:49
隠蔽する必要があるのか?
誰から隠蔽するのか?
何から隠蔽するのか?
0908デフォルトの名無しさん2007/09/01(土) 20:07:32
同じクラス内で隠蔽したいなんてバカな考えはやめろ
クラスの設計が間違ってるんだからそっちを見直せ
0909デフォルトの名無しさん2007/09/01(土) 20:14:22
なるほど、ならローカル変数もブロックスコープの変数も一切禁止すべきだなw
0910デフォルトの名無しさん2007/09/01(土) 20:28:35
うーん…方向が逆じゃないか?
0911デフォルトの名無しさん2007/09/01(土) 20:46:27
>>909
馬鹿発見
0912デフォルトの名無しさん2007/09/01(土) 20:55:01
馬鹿に突っ込みいれて喜んでんじゃねーよ。

お前ら裸の大将見て感動しろ。
0913デフォルトの名無しさん2007/09/01(土) 20:56:02
partialクラスを別々の人間が作るとかならありうるかも知れないけど・・・
0914デフォルトの名無しさん2007/09/01(土) 20:57:08
ぼ、ぼくはおにぎりがす、好きなんだな
0915デフォルトの名無しさん2007/09/01(土) 21:00:11
おむすび、すきすきす〜
0916デフォルトの名無しさん2007/09/01(土) 21:19:17
VS2003とVS2005って1つのマシンにインストール可能?
同じマシンに2つ入ってても問題なく動作する?
0917デフォルトの名無しさん2007/09/01(土) 21:23:59
>>916
する
0918デフォルトの名無しさん2007/09/01(土) 21:25:13
           ,: ' " `丶 
          , :´  .   `、 
.         . '  .    ; .丶 
.        ,:´ .    '    ' `、      
       ,'    . 簍�J鶸鑼  ; `.        
   ,, -'''" .   .  駲刪櫑躪  . ' ';゛`'丶.、.......
.  '´     !    . 膚順棚斷. ' , ;::::::::::::...`.::::::::....
 i       ヽ、..._,.__魎鬱蹠撫.,,__,.,..ノ.:::::::::   !::::::::::::...
. ヽ、                      ,: '.:::::::::
    `=ー--、....,,,,,______,,,,,... --‐=''´..::::::
      ``" '' 'ー───‐―‐' ''' "´
0919デフォルトの名無しさん2007/09/02(日) 00:54:25
Alt-Tabの一覧に出ないようなウインドウってどうやって作ればいいんでしょう?
ShowInTaskBarをfalseにしてもこの一覧には出ちゃうみたいなんですが。
09209192007/09/02(日) 01:02:50
自己解決。
Ownerに適当なフォームを設定したらうまくいきました。
0921デフォルトの名無しさん2007/09/02(日) 01:26:58
その適当なフォームが閉じられたら一緒に閉じられちゃうけどそれでいいのかな
0922元ルート2007/09/02(日) 09:57:40
もう来る気はなかったが最後に2チャンネル帝国に敬意と問題提起をしておきたい。
ジャパンビバレッジってどうよ?PART2

2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50 [PR]話し相手はここにいるかも【ASKS?】[PR].
ジャパンビバレッジってどうよ!?pret2. 1 :名無しさん@引く手あまた:2007/06/17(
日) 00:57:34 ID:FCmmekzq0: ボーナス出て退職者続出の予想もある中、 ...
って書いてある中で「話し相手がいるかも?」って書き直しましたね〜

私はね2ちゃんねる介入がここのスレが初めてでもう2ちゃんねるに来ることはないの。
なぜだかわかりますか?そう、弱者しかここには存在しない。

あなたのライバル他社の掲示板にあたるかもしてないが、そこにはレベル的に高い人間が存在しているからね。
そこでは戦争なんてしなくていいの。ただ言論闘争のみ。

システムの変更を早急にしなくてはあなたの帝国の崩壊は近い将来必ず来る。
なぜなら、あなたは裁判に負けて賠償金払ってないですよね。

その行為は絶対的権力の日本国を敵にすることになる。このスレはプロローグにしか過ぎないの。

私はね、ここのレスがもっと荒れてきたら、最終兵器「核」を一個落とすところでしたよ。
それによってあなたの帝国は商品価値をかなり下げるとこでした。
そこまではもう致しません。ご安心を。

改善策は名無しをできないシステムの構築とIDをころころ変えないこと。
その2つで2チャンネルは継続しますよ、きっと。

もうこないからご安心を。さいなら〜。
0923デフォルトの名無しさん2007/09/02(日) 11:32:53
コピペ君って馬鹿だな、まで読んだ。
09249192007/09/02(日) 14:00:55
>>921
今回のケースはそれで問題ないです。
0925デフォルトの名無しさん2007/09/02(日) 14:29:23
C#で画像の結合って出来ます?
0926デフォルトの名無しさん2007/09/02(日) 14:32:09
画像の結合って表現初めて聞いたけど、語感から想像される意味の通りなら
Bitmapに描画して保存するだけじゃないの?
0927デフォルトの名無しさん2007/09/02(日) 14:46:54
言葉足らずでした。
二つないし四つの画像を結合して一つの画像にしたいのです。
オークションに出品するときなどに使う予定です。
0928デフォルトの名無しさん2007/09/02(日) 14:58:37
>>927
やれはするがそれは画像ツールを使って編集したほうがが早いのと思う。

C#でやるなら4倍の面性を持つBitmapを作って、それに4つの画像を座標指定で描く。
最後にBitmapからjpegなど形式を指定して保存する。
0929デフォルトの名無しさん2007/09/02(日) 15:30:37
>>928
ありがとうございます。
その手順を参考に作ってみます。
*高性能なフリーソフトはたくさんありますが
自分で作ると言うことに意義があるので・・。^^ゝ
0930デフォルトの名無しさん2007/09/02(日) 15:36:23
すみません、教えてください。

フォームの中にPanelAがあり、PanelAはEnable = falseです。
PanelAの中にRadioButton1とRadioButton2があります。

Mainスレッドとは別のスレッドで
Invokeで、ShowDialogします。
その時は、RadioButton1と2はEnable=falseの状態できちんと表示されます。

その後に、あるイベントが上がると、PanelAをEnable = trueにした後に
ShowDialogすると、RadioButton1だけ消えている場合があります。消えていない場合もあります。
インスペクタでRadioButton1のVisibleの値を見ると、trueになっています。

その状態で、Refreshかけても、Updateかけても表示は変わりません。
しかし、RadioButtonBにチェックを入れるとRadioButtonAが表示されます。
なぜRadioButtonAだけ表示されないのでしょうか・・・?

解決方法をご教授いただけると幸いです、よろしくお願いいたします。
0931デフォルトの名無しさん2007/09/02(日) 15:38:47
すみません、追記です。

>その時は、RadioButton1と2はEnable=falseの状態できちんと表示されます。
の後に、その後、いったんフォームを閉じます。

を追記です。
0932デフォルトの名無しさん2007/09/02(日) 15:57:55
>>930
人に質問する前に基本的なことをちゃんとやれよ。
まず、問題の現象が起きる必要条件をきちんと絞り込むこと。
話はそれからでしょ。
0933デフォルトの名無しさん2007/09/02(日) 16:32:19
>>932
すみません、問題の現象が起きる必要条件を書きます。

一連の流れはメインスレッドとは別のスレッド上で行われます。

初期状態は、
RadioButtomを二つ持ったPanelがフォームにあり、
PanelのEnableはfalseで、フォームはまだ開いてません。

上記の状態から以下の処理を行います。

Invokeを使って、フォームをShowDialog↓
開いたフォームを閉じる
↓
PanelのEnableをtrueに設定
↓
再びInvokeを使って、フォームをShowDialog
↓
フォームは開くが、二つあるRadioButtomがひとつしか表示されない。

という流れで現象が発生します。
開発環境はVS2003で、
動作環境はWinXP SP2/.net framework1.1です。

宜しくお願いいたします。
0934デフォルトの名無しさん2007/09/02(日) 16:34:57
ダイアログのインスタンス使い回しはやめといたほうがいい。
Enabled の設定も別スレからなら Invoke が必要。
0935デフォルトの名無しさん2007/09/02(日) 17:17:43
RadioButton
0936デフォルトの名無しさん2007/09/02(日) 21:17:08
以下の問題は仕様によるものなのかに悩まされています

問題
FormのTransparencyKeyを適当な色に設定してリザイズを継続して行うと
Formの再描画がされなくなるor再描画が数秒単位でしかされない


再描画されなくなる直前のFormが表示されたままですが
FormのSizeは正常に変更されています。
FormはWindowsApplication作成時のデフォルトFormです。

解決方法をご存知の方がいらっしゃいましたらご教授お願いしたいです。

環境
2台のPC(Vista・XP 共にVS2005/.NET 3.0)共に同様の現象が発生
0937デフォルトの名無しさん2007/09/02(日) 21:32:52
>>934
ありがとうございます!試してみます!
0938デフォルトの名無しさん2007/09/03(月) 00:24:51
>>936
試したがこっちでもなるな
仕様なんじゃね?わからんけど
0939デフォルトの名無しさん2007/09/03(月) 01:57:58
適当にクラスを作ってみてリストに入れてみたんですが
そのメンバにアクセスするのってどうやるんですか?

List<object> list = new List<object>();
list.Add(test);      リストにテストのオブジェクト追加
list[0].title="ABC" 失敗。テストのメンバにアクセスしているつもり

よくわからんからオブジェクトの配列でやるかと思ったけどそれもだめでした
0940デフォルトの名無しさん2007/09/03(月) 01:59:53
ジェネリックについてググってください。
0941デフォルトの名無しさん2007/09/03(月) 02:02:19
勇気を出して聞いてみよう♪沢井製薬って出てきました
0942デフォルトの名無しさん2007/09/03(月) 02:27:56
>>934
サイズ変更する場合一時的にKeyを無効にするしかないんじゃないかな

>>941
答えが見つかってよかったね
もう来ないでね
09439392007/09/03(月) 02:28:44
単純にストリング型にしてメンバ入れとけってことですよね?
そうするとメンバ分のリスト必要になってありがたみが減ってしまう
0944デフォルトの名無しさん2007/09/03(月) 02:28:51
>>936の間違い
0945デフォルトの名無しさん2007/09/03(月) 02:49:12
>>943
違う・・・
objectをそのメンバをもつクラスにしろって話でしょ。
あと型とかキャストについてもぐぐっとけ
0946デフォルトの名無しさん2007/09/03(月) 02:52:51
>>943おまえは何を言ってる?
09479392007/09/03(月) 03:09:06
あ、ほんとだ。
クラスの型ができてる・・・
オブジェクト指向ムズカシス
ありがとうございました
0948デフォルトの名無しさん2007/09/03(月) 08:10:05
ジェネリクスってオブジェクト指向なのか
0949デフォルトの名無しさん2007/09/03(月) 09:10:50
まあクラスがなきゃジェネリクスもあり得ないからな
0950デフォルトの名無しさん2007/09/03(月) 09:14:29
どうだろ?
型総称はクラスとは無関係だと思うけど
0951デフォルトの名無しさん2007/09/03(月) 10:14:22
質問があります。環境はMS VS 2003 C#です。

Windowsのヘルプだとよくありますが、Ctrl+Cで文字をコピーできるラベルを
作りたいのですが、どうしたら良いでしょうか?
おながいします。
0952デフォルトの名無しさん2007/09/03(月) 10:25:14
キー入力を見てClipboardにラベルの文字をセットしたら?
09539362007/09/03(月) 10:28:31
レスありがとうございました。
仕様でしたか。ググってもなかなか資料が出てこなくて困っていましたが
一時的にTransparencyKeyを変更するほか仕方がないみたいですね。
09549512007/09/03(月) 10:44:45
>>952
ラベル文字全体のコピーなら良いのですが、部分的に選択して、選択したところだけを
クリップボードにコピーしたいのですが、方法はあるでしょうか?
0955デフォルトの名無しさん2007/09/03(月) 10:48:49
ラベルじゃなくてテキストボックスを使う
ReadOnly : true
BorderStyle : None
0956デフォルトの名無しさん2007/09/03(月) 10:49:12
TextBoxをラベルぽく表示してやれよ。
09579512007/09/03(月) 11:41:28
>>955-956
できました。ありがとうございます!
以下まとめです。

「コピペできるラベルの作り方」
コンポーネント
 TextBox
プロパティ(変更点のみ)
 ReadOnly : True
 BorderStyle : None
 Multiline : True
0958デフォルトの名無しさん2007/09/03(月) 12:20:36
このスレではVB厨以下とか言っては言ってはダメなんだっけw
0959デフォルトの名無しさん2007/09/03(月) 12:28:43
そもそも初心者スレなんだからスキルは別にして、好感の持てる質問者だろ
簡単だけど目立つキーワードがなくて自分で調べにくいテーマだし
0960デフォルトの名無しさん2007/09/03(月) 12:39:17
951の善意は否定しないよ。

まあ確かにこういう善意を萎縮させないためには、多少「取るに足りないのでは?」
と思う内容でもいちいち突っ込まない寛容さが重要かもしれんとは思う。
0961デフォルトの名無しさん2007/09/03(月) 12:50:25
ここ見てるとVB.NETの初心者スレが欲しいと思う今日この頃。
スレの存在云々で決めたくないけどVB.net質問スレの酷さに
C#に移行したくなる。
0962デフォルトの名無しさん2007/09/03(月) 12:55:46
たてればいいじゃない
VB.NET初心者スレとして機能しなくてもゴキブリホイホイにはなるかもよ
0963デフォルトの名無しさん2007/09/03(月) 13:27:36
このスレは自分では得点を決めないけど
前線で潰れ役になるフォワードに似ている
0964デフォルトの名無しさん2007/09/03(月) 13:40:49
C#の↓みたいなサイトあったら教えて下さい。

ttp://www.winapi-database.com/
0965デフォルトの名無しさん2007/09/03(月) 13:49:44
http://www.pinvoke.net/
0966デフォルトの名無しさん2007/09/03(月) 14:04:54
有り難う御座いました。
0967デフォルトの名無しさん2007/09/03(月) 20:14:31
ユーザーコントロールを作っているのですが
メソッドの中にメソッドが入れ子になってるような?やつはどうやったら作れますか?

たとえばListboxにはItemsってのがあってその下にAddとかClearがありますが
自作のユーザーコントロールでも同じようなことはできますか?
0968デフォルトの名無しさん2007/09/03(月) 20:16:34
定義みてましょうね。
プロパティもべんきょうしましょうね。
0969デフォルトの名無しさん2007/09/03(月) 20:21:29
まず基本的なことから。
入れ子になってるのはメソッドではなくクラス

Listboxの場合は

public class Listbox
{
 public ObjectCollection
 {
  public void Add(..)
  {
  }
 }

 public ObjectCollection Items
 {
  get{}
 }
}

となっている。
publicとかかprivateとかはクラスの使用形態で考える。
0970デフォルトの名無しさん2007/09/03(月) 20:21:32
Itemsは確かListBoxItemsというクラスじゃなかったかな
そういったAddとかClearとかのメソッドを持ってるクラスを
プロパティで返せばいいだけだよ
0971デフォルトの名無しさん2007/09/03(月) 20:22:08
まちがえた
public class Listbox
{
 public class ObjectCollection
 {
  public void Add(..)
  {
  }
 }

 public ObjectCollection Items
 {
  get{}
 }
}
0972デフォルトの名無しさん2007/09/03(月) 20:26:43
補足すると別にクラスは入れ子にする必要はないよ
要はプロパティで別のクラスのオブジェクトを返せばいいというだけ。
0973デフォルトの名無しさん2007/09/03(月) 20:57:28
>>971
アリガトン
クラスの中にクラスをネストできるなんて知らんかったです
買ってきた入門書にはのってなかったでつ

ネストされたほうの子?のほうのクラスから親クラスで宣言した変数が参照できないのでつね
0974デフォルトの名無しさん2007/09/03(月) 21:00:31
インスタンスフィールドなら親のインスタンス渡せ
静的フィールドならいくらでも
0975デフォルトの名無しさん2007/09/03(月) 22:44:19
にしてもここの住民は大した知識もないのな
直近200レスを見てもまともな答えできてないし
わからなかったら煽りレスいれたり仕様で終わらせたりと見ていて呆れるわ
0976デフォルトの名無しさん2007/09/03(月) 22:44:58
何を今更
0977デフォルトの名無しさん2007/09/03(月) 22:50:01
何か質問しなさい
なんでも答えてあげよう
0978デフォルトの名無しさん2007/09/03(月) 22:52:53
僕が道程なのはなぜですか
0979デフォルトの名無しさん2007/09/03(月) 22:54:23
C#なんかで作ったexeをサーバに突っ込んでクライアントで起動させる場合
コントロールパネルのMicrosoft .NET Framework 2.0 構成のランタイム セキュリティ ポリシー
のイントラネットのスライダーバーを目一杯上に上げれば大抵動くんだけど、サーバー変えたら
動かない、サーバーのファイル属性はフルアクセス、なんかそのところ参考になるサイトあったら
教えてください
0980デフォルトの名無しさん2007/09/03(月) 23:28:32
何のためのコードアクセスセキュリティだよっ
0981デフォルトの名無しさん2007/09/03(月) 23:53:39
何のためのコードアクセスセキュリティなの?
0982デフォルトの名無しさん2007/09/03(月) 23:55:28
すんませんだから初心者なのれす
0983デフォルトの名無しさん2007/09/04(火) 00:05:22
C#2005EEを使っているんですけど例えば
String a = "h";
を
String a = 1;
と書き換えてもビルドするまでエラー一覧ウインドウにエラーが表示されないのですが
vbのように即座にエラーを表示させることはできますか?
0984デフォルトの名無しさん2007/09/04(火) 00:31:04
できないです。
諦めた方がよいでしょう
0985デフォルトの名無しさん2007/09/04(火) 00:33:14
オプションで変えれなかったか?
0986デフォルトの名無しさん2007/09/04(火) 00:35:09
ここの住人はピザデブが多いんですか?
0987デフォルトの名無しさん2007/09/04(火) 00:36:11
>>986
ピザデブさん、楽しいですか?
0988デフォルトの名無しさん2007/09/04(火) 00:38:20
>>974
アリガトン
ネストする必要がないという意味がわからなかったけど
親の参照が渡せるならクラスそのものがどこにいてもいいということで
ようやく理解することができますた
0989デフォルトの名無しさん2007/09/04(火) 00:48:18
発行してインストーラ作ったんですが、インストール完了後すぐにプログラムが起動してしまいますが
この自動起動は抑止できますか?
09909832007/09/04(火) 00:49:13
>>984-985
オプションにも無いみたいなのであきらめます
ありがとうございました
0991デフォルトの名無しさん2007/09/04(火) 02:08:37
Visual C#2005でセルをButtonとして表示するGUIのライフゲームを
作ろうとしているのですがButton描画のもっさりを改善する方法は無いでしょうか。

サンプルとしてデザイナからButtonを100個配置したFormをDelphiとC#で
それぞれ作り、ウィンドウの最小化、復元をした時の描画速度を比べたのですが
Delphiは一瞬なのに対しC#では左上から右下に向かってButtonが
描画されていくのを目で認識できる位の速度です。
0992デフォルトの名無しさん2007/09/04(火) 02:26:30
なんとかデザインサスペンドはした?
0993デフォルトの名無しさん2007/09/04(火) 02:36:51
Buttonはやめとけ。
素直に自前で直接描画。

あるいはWPF。
0994デフォルトの名無しさん2007/09/04(火) 02:44:57
>>992
動的に配置する方ではSuspendLayout、PerformLayoutしてみましたが芳しく無かったです。
>>993
簡単にできそうなのでButtonでやってみたのですが手抜きしないでやってみます。


どうもありがとうございました。
0995デフォルトの名無しさん2007/09/04(火) 02:52:01
Formsは地雷、DelphiかWPFにした方が良い。
0996デフォルトの名無しさん2007/09/04(火) 10:50:38
Visual C# 2005で変数を計算で指定したいのですが、どのように行えばいいでしょうか?
ググってみようにも、なんとググっていいのかが…。。。
具体的には下記のような下線の部分を計算したいです。

int[] intData = int[5,4,3];
int intData1;
int intData2;
int intData3;

for(int i = 0;i < 10;i++){
[intData + i.ToString()] = intData[i];
} ~~~~~~~~~~~~~~~~~~~~~~
よろしくお願いします。
0997デフォルトの名無しさん2007/09/04(火) 10:55:04
なんかすごい質問きた
0998デフォルトの名無しさん2007/09/04(火) 11:00:01
>>996
何がしたいか伝わってないから、欲しい結果を書いてごらん。
0999デフォルトの名無しさん2007/09/04(火) 11:12:47
変数名+1という式を実行したいのです
すなわちなぜ数字の1と文字列型の1が存在し区別する必要があるのかということです?
すごく面倒です
1000デフォルトの名無しさん2007/09/04(火) 11:15:14
1000いただきじゃーい
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。