ふらっとC#,C♯,C#(初心者用) Part50
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/12/10(木) 10:00:38「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
前スレ
ふらっとC#,C♯,C#(初心者用) Part49
http://pc12.2ch.net/test/read.cgi/tech/1259383252/
関連スレ
C#, C♯, C#相談室 Part55(実質56)
http://pc12.2ch.net/test/read.cgi/tech/1260111240/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part4
http://pc12.2ch.net/test/read.cgi/tech/1245384489/
0002デフォルトの名無しさん
2009/12/10(木) 10:00:51http://www.google.co.jp/
http://msdn.microsoft.com/ja-jp/library/default.aspx
http://homepage3.nifty.com/midori_no_bike/CS/
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
http://dobon.net/vb/dotnet/
http://jeanne.wankuma.com/tips/
http://www.labasp.net/CsharpNote/
0003デフォルトの名無しさん
2009/12/10(木) 10:04:060004デフォルトの名無しさん
2009/12/10(木) 10:25:16すまん、編集した「行番号」の色を変えるのは無理だ
0005デフォルトの名無しさん
2009/12/10(木) 10:47:300006デフォルトの名無しさん
2009/12/10(木) 10:49:220007デフォルトの名無しさん
2009/12/10(木) 10:56:26public class Hoge
{
public static readonly ArrayList Array = new ArrayList();
}
public class Huga
{
public int HogeCount { get { return Hoge.Array.Count; } }
}
0008デフォルトの名無しさん
2009/12/10(木) 10:57:52すみません。
1つのarraylistを2つのFormをまたいで共有したいのですがやりかたがわかりません
0009デフォルトの名無しさん
2009/12/10(木) 11:01:42・親Formがいるなら親のプロパティにしてみる
・Formのコンストラクタ変更してArrayListを作成時に引数として渡す
どれか
0010デフォルトの名無しさん
2009/12/10(木) 11:03:57ありがとうございます。
これから試します。
0011デフォルトの名無しさん
2009/12/10(木) 11:04:52わかんないまま難しいやり方しても余計こんがらがるだけ
正しいやり方はそのうちわかる
0012デフォルトの名無しさん
2009/12/10(木) 11:52:560013デフォルトの名無しさん
2009/12/10(木) 12:30:280014デフォルトの名無しさん
2009/12/10(木) 12:41:32おつです
0015デフォルトの名無しさん
2009/12/10(木) 12:51:33すっげー。
感動した。
0016デフォルトの名無しさん
2009/12/10(木) 12:59:170017デフォルトの名無しさん
2009/12/10(木) 13:39:550018デフォルトの名無しさん
2009/12/10(木) 13:46:39再生したいファイルはwmaやmp3などさまざです。
アドバイスや参考サイトがありましたら教えて下さい。
0019デフォルトの名無しさん
2009/12/10(木) 13:48:25終了
0020デフォルトの名無しさん
2009/12/10(木) 13:53:23・片方にパブリックプロパティとして持たせて、もう片方から参照する
これで一応回避しました。有り難うございます。
C言語のグローバル変数の様に配列を使用したかったのですが難易度が高そうです。
0021デフォルトの名無しさん
2009/12/10(木) 13:57:51漠然としすぎ
WMPコントロール使ってれば
0022デフォルトの名無しさん
2009/12/10(木) 14:17:120023デフォルトの名無しさん
2009/12/10(木) 14:21:33こことかどう?
http://msdn.microsoft.com/en-us/library/aa472935(VS.85).aspx
外していたらスマン
0024デフォルトの名無しさん
2009/12/10(木) 14:34:11COMコンポーネントでツールボックスアイテムの選択から選べます。(まあ、それくらい知ってるよね)
0025デフォルトの名無しさん
2009/12/10(木) 15:13:45class Global{
public static ArrayList A = new ArrayList();
}
0026デフォルトの名無しさん
2009/12/10(木) 15:29:010027デフォルトの名無しさん
2009/12/10(木) 15:32:010028デフォルトの名無しさん
2009/12/10(木) 15:36:49public static ArrayList A = new ArrayList();
親フォームに上記述でもダメでした。
何をしたいかといいますと
・親フォームのボタン押下でリストデータ追加
・子フォームで作成しているグラフの軸データに�@を反映
です。
子フォームで上記リストAを使うと「コンテキストは存在しません」エラーがでます。
0029デフォルトの名無しさん
2009/12/10(木) 15:39:06フォームのコードに書くんじゃなくて
新しいクラスを作るんだよ
0030デフォルトの名無しさん
2009/12/10(木) 15:45:18public static ArrayList A = new ArrayList();
てしたら
別のフォームからは
Form1.A で呼び出す
0031デフォルトの名無しさん
2009/12/10(木) 16:00:360032デフォルトの名無しさん
2009/12/10(木) 16:03:480033デフォルトの名無しさん
2009/12/10(木) 16:09:270034デフォルトの名無しさん
2009/12/10(木) 16:16:03みなさんありがとうございます。
とりあえずForm1.Aでメドがつきそうです。
0035デフォルトの名無しさん
2009/12/10(木) 16:19:21Form2 obj;
// その他プロパティ追加
public Form1()
{
InitializeComponent();
obj = new Form2(this);
obj.Show();
}
子側
Form1 obj;
public Form2(Form1 obj)
{
InitializeComponent();
this.obj = obj;
}
obj.何とかで親プロパティにアクセス可
やりたいのってこいうう事?
0036デフォルトの名無しさん
2009/12/10(木) 16:19:240037デフォルトの名無しさん
2009/12/10(木) 16:39:27とりあえずこんな形にしてみました。よい方法があれば教えてください
親側
public partial class MainForm : Form{
public static ArrayList alNumbers = new ArrayList();
public string[] arNumbers;
public MainForm(){
InitializeComponent();
}
void Button1Click(object sender, EventArgs e){
alNumbers.Add(100);
alNumbers.Add(150);
alNumbers.Add(120);
alNumbers.Add(135);
}
}
子側
public partial class Form1 : Form{
public Form1(){
//グラフX軸用データ
X.Data = MainForm.alNumbers;
}
}
0038デフォルトの名無しさん
2009/12/10(木) 16:41:28ってやるのと
public int A;
ってやるの何がどう違うんだろうな。
いみなくね?
0039デフォルトの名無しさん
2009/12/10(木) 16:46:060040デフォルトの名無しさん
2009/12/10(木) 16:49:20これだと親子相互利用が可能
0041デフォルトの名無しさん
2009/12/10(木) 17:00:38プロパティに対するgetやsetのタイミングでブレークポイントを仕込めるところが大違い。
あるいは入出力時に簡単な処理(例えば変換作業とか)もできる。
欠点としては初期値を定義できないことで、コンストラクタに初期値の代入をしてあげないといけなくなる。
プロパティとメンバが別になってると、さらに自由度は増える。
0042デフォルトの名無しさん
2009/12/10(木) 17:05:37後から必要に応じて
int A{
get{処理}
set{処理}
}
と修正するとしてどう違うんだって言いたいんじゃないか
0043デフォルトの名無しさん
2009/12/10(木) 17:05:550044デフォルトの名無しさん
2009/12/10(木) 17:09:05Class1があって
SubClass2、SubClass3は両方Class1を継承している
instanceOfSubClass2=new SubClass3();
とか不可能だよな?どうやるんだ
0045デフォルトの名無しさん
2009/12/10(木) 17:12:32Class1 c1_3 = new Class3();
とはできるよ
0046デフォルトの名無しさん
2009/12/10(木) 17:14:57どうやると言われても困るが
ButtonもTextBoxもControl派生だが
Button button = textBox1;
とか言われてもイミフだろ
0047デフォルトの名無しさん
2009/12/10(木) 17:34:31現在使っているパソコンの電力(ワット値)を取得する術はありますか?
WMIを使って取得できるかと思い調べてみたんですが、どうしてもわかりません。
わかる方ご教授お願いします。
0048デフォルトの名無しさん
2009/12/10(木) 17:34:3710;
みたいな文もコンパイルエラーにならなかったがC#だとエラーになるのな。
004937
2009/12/10(木) 17:37:000050デフォルトの名無しさん
2009/12/10(木) 17:38:010051デフォルトの名無しさん
2009/12/10(木) 17:39:370052デフォルトの名無しさん
2009/12/10(木) 17:48:43そもそも電力センサー自体がシステムに搭載されてるか疑問
ノートPCとかならありそうだけど、それってファームウェアレベルじゃね?
0053デフォルトの名無しさん
2009/12/10(木) 17:49:23005447
2009/12/10(木) 17:56:37調べている中で、モバイルメーターというソフトウェアを見つけたのですが、
それでは実際にワット値を取得していました。(ノート用ソフトウェアらしいです)
52さんの言う通り、ノートしか現実的に無理なんでしょうか。
>>53
私もそれは発見しましたが、プログラム的に値を取得したいので、厳しいです・・・。
0055デフォルトの名無しさん
2009/12/10(木) 18:08:18スレ違い。
0056デフォルトの名無しさん
2009/12/10(木) 18:21:010058デフォルトの名無しさん
2009/12/10(木) 18:21:37CopyPixels→WritePixels
0059デフォルトの名無しさん
2009/12/10(木) 18:26:22SlickEditGadgets使って見ました
これはいいですねー
Expressでは使えないのは残念ですが
目が悪い私にもとても使いやすいです
いいものを紹介していただき大変ありがとうございました
0060デフォルトの名無しさん
2009/12/10(木) 19:09:31今更だけどやってみた。
static double Integral(double min, double max, Func<double, double> f)
{
double y = 0.0;
double a = f(min);
for (double x = min; x < max; )
{
x += delta;
double b = f(x);
y += (a + b) * 0.5 * delta;
a = b;
}
deltaの値はお好みで。
-1から3までx^3+3x^2+4x-2をやりたいならIntegral(-1, 3, x => x * x * x + 3 * x * x + 4 * x - 2)という具合。
これは台形公式だけど、シンプソンでもなんでもお好きに。
0061デフォルトの名無しさん
2009/12/10(木) 19:47:14たとえばフォームにボタンとテキストボックスがひとつだけあって
テキストボックスにthis.Text="Hello World";
って書いたらフォームのテキストがhello worldになって
Button.Text="hogehoge";ってやったらボタンがhogehogeになる
みたいな感じ
Button_Click += method;
method(object o,EventArgs e){
//ここにテキストの内容を命令にするコードを書く
}
こんな感じにすればいいと思うだけどわからん。。。
0062デフォルトの名無しさん
2009/12/10(木) 20:11:37Replace(2,3,"opq");" //2行目3列目のデータを"opq"に変更する
といった感じで修正したいです。
0063デフォルトの名無しさん
2009/12/10(木) 20:15:19そうでないなら全部読み込んで修正して全部書きだし
テキストファイルってそういうモノ
006462
2009/12/10(木) 20:16:08最悪の場合、全行を読むことになるので、もっといい方法を知りたいです。
0065デフォルトの名無しさん
2009/12/10(木) 20:18:50できるかどうかだけなら、できる。
拾うべきイベントはボタンじゃなくてTextBoxの。
字句解析は必要。汎用的にするならリフレクションも必要。
0066デフォルトの名無しさん
2009/12/10(木) 20:38:210067デフォルトの名無しさん
2009/12/10(木) 20:45:00thisって何のthis? ってなる
0068デフォルトの名無しさん
2009/12/10(木) 20:46:50IronPythonでも組み込めば
0069デフォルトの名無しさん
2009/12/10(木) 20:49:360070デフォルトの名無しさん
2009/12/10(木) 20:53:280071デフォルトの名無しさん
2009/12/10(木) 20:57:22http://www.atmarkit.co.jp/fdotnet/dotnettips/060eval/eval.html
0072デフォルトの名無しさん
2009/12/10(木) 20:57:380073デフォルトの名無しさん
2009/12/10(木) 21:02:32エロ動画の認証でもするつもりだったのか俺は
0074デフォルトの名無しさん
2009/12/10(木) 21:05:410075デフォルトの名無しさん
2009/12/10(木) 21:08:38ちょっとやってみようかな
0076デフォルトの名無しさん
2009/12/10(木) 22:17:48モンテカルロ法の方が万能だと思うんだが。
0077デフォルトの名無しさん
2009/12/10(木) 22:18:36美しさとかいいだしたら、まともに設計しろって話になるぞ
Formにデータや処理を入れている時点で手抜きか無知かだし
>>41
自動実装使うと、プロパティ初期化子とか欲しくなるよな
>>48
C#では多少効率に関わっても、極力ヒューマンエラーが起こる確率を下げる方針だから、
そういう有っても無くてもいいような部分は、じゃあ無くてもいいよねって感じでバッサリと
0078デフォルトの名無しさん
2009/12/10(木) 22:24:00わざわざチェック入れて通らなくしてるんだ
0079デフォルトの名無しさん
2009/12/10(木) 22:38:000080デフォルトの名無しさん
2009/12/10(木) 22:39:560081デフォルトの名無しさん
2009/12/10(木) 22:48:42いや、構文木の作り方によっちゃ
「定数のみ」を「文」に含めないってやったら通らなくなるぞ
0082デフォルトの名無しさん
2009/12/10(木) 22:50:14Process.StartInfo.FileName="a.exe";
Process.StartInfo.FileName=
"Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)+@"\a.exe");
どちらがいいんでしょう?
0083デフォルトの名無しさん
2009/12/10(木) 22:53:01前者はカレントディレクトリが変わってると使えない。
0084デフォルトの名無しさん
2009/12/10(木) 22:55:380085デフォルトの名無しさん
2009/12/10(木) 22:59:090086デフォルトの名無しさん
2009/12/10(木) 23:00:01定数のみを文に含めないってやるのは不自然
0087デフォルトの名無しさん
2009/12/10(木) 23:01:34何のためにわざわざカレント(現在の)っ呼んでると思うんだよ
0088デフォルトの名無しさん
2009/12/10(木) 23:02:31あるよ。ショートカットで作業ディレクトリを変えたりとか。
0089デフォルトの名無しさん
2009/12/10(木) 23:04:52プロジェクトのフォームから自由に開始時のカレントディレクトリを変更できるよ。
0090デフォルトの名無しさん
2009/12/10(木) 23:05:49a[1] = AAA
a[2] = AAA
a[3] = BBB
でaのAAAを指定したら2を出力する的な
0091デフォルトの名無しさん
2009/12/10(木) 23:06:210092デフォルトの名無しさん
2009/12/10(木) 23:08:28.NETの機能としてなら
2.0ならArray.FindAll()で条件に合致するのの配列を取得してそれのLength
3.5なら拡張メソッドCount()で
0093デフォルトの名無しさん
2009/12/10(木) 23:17:54とりあえず、先にこれだけは言わせてくれ
どっちでもいいけど、言語仕様とコンパイラの実装を混ぜないでくれよ
>>78の言いたいことは分かるんだけど、有っても無くてもいいというのはユーザーサイドを意図したつもり
つまり、ユーザにとって有っても無くてもいいものは、(Cと比べて)制約を増やしてでも排除すると
>>91
一応、ファイルダイアログのは防止できるけどな
0094デフォルトの名無しさん
2009/12/10(木) 23:21:52初心者スレで手抜も無知もないんじゃないか
おそらく>>9のアドバイスを受けてがんばって作ったんだろうに
00959
2009/12/10(木) 23:24:390096デフォルトの名無しさん
2009/12/11(金) 00:07:48余程多次元じゃないかぎり収束が遅すぎるだろ
0097デフォルトの名無しさん
2009/12/11(金) 00:13:41アプリケーションの処理を途中で全て停止する方法は無いでしょうか?
0098デフォルトの名無しさん
2009/12/11(金) 00:14:01ちょうどこんなのあるよ↓。シンプソン法。
http://ufcpp.net/study/csharp/sm_silverlight.html#fourier
0099デフォルトの名無しさん
2009/12/11(金) 00:14:48Thread.Abort();
Application.Exit();
throw new Exception();
0100デフォルトの名無しさん
2009/12/11(金) 00:17:440101デフォルトの名無しさん
2009/12/11(金) 00:18:510102デフォルトの名無しさん
2009/12/11(金) 00:28:33ありがとうございます。
しかしアプリを落としたいわけではなく、
一回目のキー入力ではループ開始、
二回目の同一キー入力ではループが開始していたとしても、
ループを途中で停止する処理を欲しています。
一回目のキー入力でループ開始するコードは馬鹿でも出来るのですが、
もう一度、同一のキー入力を受けて、ループ自体を停止することが困難です。
アドバイスください。
0103デフォルトの名無しさん
2009/12/11(金) 00:31:09一回目のキーと同じキーが押されたら、フラグを立てるだけでいいんじゃね?
0104デフォルトの名無しさん
2009/12/11(金) 00:31:40Windows Formのアプリ、それともコンソールアプリを想定してるの?
スレッドは使っていい?
0105デフォルトの名無しさん
2009/12/11(金) 00:35:15Debubモードだと戻ってこない
Releaseモードだとちゃんと戻ってくる
これってどういう現象?
トレースデバッグできなくて困ってる
0106102
2009/12/11(金) 00:36:27フラグ立てるとフラグ立てる回数が多いコードなのであまりやりたくはありません。
// "1"を押下
if (e.KeyCode == 49)
{
try
{
for (int i = 0; i < Int32.Parse(textBox9.Text); i++)
{
IDataObject iData = null;
if (!textBox1.Text.Equals(""))
{
Clipboard.SetText(textBox1.Text);
//クリップボードの文字列データを取得する
iData = Clipboard.GetDataObject();
//クリップボードに文字列データがあるか確認
if (iData.GetDataPresent(DataFormats.Text))
{
//文字列データがあるときはこれを取得する
SendKeys.SendWait((string)iData.GetData(DataFormats.Text));
Sleep(Int32.Parse(textBox8.Text));
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
}
0107デフォルトの名無しさん
2009/12/11(金) 00:44:56ショートカットに関連づけられているアプリケーション?
hoge.txt.lnkからnotepad.exeを手に入れるってこと?
IShellLinkで実体のパス(の拡張子)手に入れて、あとはレジストリあさるかAllocQueryStringとか使うか
010877
2009/12/11(金) 00:46:39ああ、表現が悪かったな。アンカーしてないレスには特に含むところは無い
とりあえず、俺の主張は
「Formにデータや処理を入れる」という設計が良くないのに、
その段階で美しいもなにもないんじゃないか、>>40
と、それだけ
0109デフォルトの名無しさん
2009/12/11(金) 00:48:360110102
2009/12/11(金) 00:49:21すみません。
フラグの考え方だとたぶん6ステップ程度でいけますね。
ただフラグ数が多いので、面倒くさいことは面倒くさいですので、
何が方法があれば教えてください。
そんなにプライオリティは高くないので無理なら無理で構いません。
ありがとうございました。
0111デフォルトの名無しさん
2009/12/11(金) 00:51:17ダメじゃないよ
0112102
2009/12/11(金) 00:52:51先ほどのものです。質問しそびれました。
テキストフォームのバリデーションチェックなどできるのでしょうか?
.NETにはあまり詳しくないのでチェックの仕方さえ知らないのですが、
一々、チェックルーチンを組まないといけないのでしょうか?
それとも予め用意されたバリデーション機能などあるのでしょうか。
C#.NETです。
ご回答よろしくお願いいたします。
0113デフォルトの名無しさん
2009/12/11(金) 01:01:41ループを無限ループにするんじゃなくて、タイマイベントで回せば別スレッドもいらないしフラグもいらない
勿論イベントの管理は必要になる
>>112
Validation クラスが使えるか調べてみては?
オレは使ったこと無いからよくわからん。
0114デフォルトの名無しさん
2009/12/11(金) 01:01:44デリゲートとラムダ式(orAnonyMeth)が便利すぎる
この二つの機能もってない言語に移ったら気が狂いそうだ
0115デフォルトの名無しさん
2009/12/11(金) 01:06:17そのプロセス内のメモリ検索を行うにはどうすればいいですか
0116デフォルトの名無しさん
2009/12/11(金) 01:12:38そういうことをやるのはC#は向いてない。
C+++APIでやったほうがずっと簡単
0117デフォルトの名無しさん
2009/12/11(金) 02:17:240118デフォルトの名無しさん
2009/12/11(金) 02:29:100119デフォルトの名無しさん
2009/12/11(金) 03:18:24決定的で超簡潔な説明をお願いします
0120デフォルトの名無しさん
2009/12/11(金) 03:19:490121デフォルトの名無しさん
2009/12/11(金) 06:40:010122デフォルトの名無しさん
2009/12/11(金) 08:07:460123デフォルトの名無しさん
2009/12/11(金) 08:09:200124デフォルトの名無しさん
2009/12/11(金) 08:35:070125デフォルトの名無しさん
2009/12/11(金) 08:37:19実質それだけ
0126デフォルトの名無しさん
2009/12/11(金) 08:44:59もと具体的にお願い
たとえば戻り値なし引数stringのデリゲート
void delegate1 (string str)があったとして
delegate1 = method;
void method(string s){
console.writeline(s);
}
こんな風にmethodを媒介にして書いてたのが
delegate1= (string s) => console.writeline(s);
になっただけだぞ
0127デフォルトの名無しさん
2009/12/11(金) 08:53:220128デフォルトの名無しさん
2009/12/11(金) 08:56:29引数にとる場合はそれを使ってメソッドの動作をカスタマイズできる場合が多い
0129デフォルトの名無しさん
2009/12/11(金) 08:58:25button1.clickはデリゲートで作られてるから多少なりともフォーム作ったことがあるなら
間接的に利用はしてるだろうけど。
自分でデリゲートを作らないと根本的に不可能なことなんてない。
今まで多少厄介だったり長かったコードが短くかけるとか安全性の面でよくなるとかそんなもん。
0130デフォルトの名無しさん
2009/12/11(金) 09:09:36usingステートメントで「メインフォームが稼働中の時」のみ
オブジェクトを使用したいのですが、以下の方法で括ると
コンストラクタでしか使えません。
//static class Program
using (Form frmChild = new Form()) // 子フォーム
{
Application.Run(new Form1(frmChild)); // Form1 : メインフォーム
}
Form1内でfrmChildを使用する方法はありますか?
0131デフォルトの名無しさん
2009/12/11(金) 09:12:27int orderByBoolMember( TestClass x, TestClass y){ return x.BoolPropaty.CompareTo(y.BoolPropaty); }
int orderByInt32Member( TestClass x, TestClass y){ return x.Int32Propaty - y.Int32Propaty; }
int orderByStringMember( TestClass x, TestClass y){ return x.StringPropaty.CompareTo(y.StringPropaty); }
TestClass[] array = new TestClass[]{ new /* 省略 */ };
Compersion del;
del = orderByBoolMember;
//del = orderByInt32Member;
//del = orderByStringMember;
Array.Sort(array,del);
>>130
メインフォームのDisposeをオーバーライドして子フォームのClose()書いておけ
0132デフォルトの名無しさん
2009/12/11(金) 09:21:20勿論その方が実装のしかたとして正しい場合も多々あるけど。
継承してオーバーライドするなり、引数にわたすなり。
0133デフォルトの名無しさん
2009/12/11(金) 10:11:30なるほど。継承ですか。
今まで諦めてた部分の破棄処理ができそうです。
ガベージが処理してくれる(?)と思うのですが、
一通りusingは使用した方がいいですよね。
神経質な自分には何となく合わない仕様かな(;
何はともあれ、ありがとうございます。
0134133=130
2009/12/11(金) 10:13:53すみません。
0135デフォルトの名無しさん
2009/12/11(金) 10:19:13Application.RunはForm1が閉じられるまで処理を返さないから
Form1のコンストラクタの外でfrmChildを使っても問題ない。
ただfrmChildはDisposeしてるのにForm1は放置するのは変なのでこうすればいい。
using (Form frmChild = new Form())
using (Form1 form1 = new Form1(frmChild) {
Application.Run(form1);
}
それとForm1の中でfrmChildをDisposeするのはやめたほうがいい。
普通、Disposeするのはそのインスタンスを作った側の責任だ。
0136デフォルトの名無しさん
2009/12/11(金) 10:29:04SendInput で 日本語(漢字、カタカナ、ひらがな)を送りつける方法が今ひとつなんですが教えていただけ無いでしょうか?
0137デフォルトの名無しさん
2009/12/11(金) 10:38:140138デフォルトの名無しさん
2009/12/11(金) 10:42:500139デフォルトの名無しさん
2009/12/11(金) 10:52:340140デフォルトの名無しさん
2009/12/11(金) 10:54:010141133
2009/12/11(金) 10:56:53どうも。要領が悪くてすみません。
普通にForm frmChild = new Form();
でForm1を継承したクラスを作成してもいいという事ですよね。
Application.Run(new Form1(frmChild));
はインスタンスを生成(格納)してないので問題ないと思ったのですが、
放置とはそういうDisposeしていないという意味ですか?
0142デフォルトの名無しさん
2009/12/11(金) 11:04:37かなり今ひとつです,一から教えていただかないといけないほどに。
開発環境はMonoDevelopを使ってます。
鮮度キーでの日本語送信はなぜかできませんでして諦めました。
0143142
2009/12/11(金) 11:07:18OSはubuntuです。
0144133
2009/12/11(金) 11:08:06文法的な問題でしたら申し訳ありません。
感謝します。失礼しました。
0145デフォルトの名無しさん
2009/12/11(金) 11:19:11日本語でおk
で、やりたいことと、やってみた結果は?
「今ひとつ」とか「一から」とかじゃ、「ぐぐってろ」くらいのレスしか入れられないんだが。
01461
2009/12/11(金) 11:20:04一般にはDisposeが必要な型をnewして放置するのはそれ自体よくない。
ちゃんと変数に入れてDisposeするべき。
ただしApplication.Runに限って言えば引数に渡したフォームのDisposeは不要。
フォームが閉じたら勝手にDisposeしてくれるから。
それについては忘れてたので訂正。
つまり>>133で別に問題ないってこと
0147146=135
2009/12/11(金) 11:22:07あとアンカーも訂正 ×133 ○130
01481
2009/12/11(金) 11:29:06えらいでしょ?ねええらいでしょ?
って意味で1ってわざわざ名前欄にいれてるんでしょうか?
ここで1ってわざわざ主張する意味がわかりません。
0149141
2009/12/11(金) 11:29:23どうも。わざわざ手間を(;
すっきりしました。以上です。
0150デフォルトの名無しさん
2009/12/11(金) 11:29:33親フォーム内で子フォームを作成したんでは仕様に合わないの?
0151デフォルトの名無しさん
2009/12/11(金) 11:33:13ShowDialogする場合は別として、
普通にShowする場合はClose==Disposeなので、
FromClosed/Closingで処理をキャンセルしてない限り、
[ X ]ボタンで閉じた状態でDispose済みなんだな。
また、仮に子フォームをShow(Parent)で表示しているなら、
親フォームを閉じれば子フォームも閉じるのでコードでDisposeはいらない。
さらにメインフォームが閉じてApplicationが終わるとき他のフォームも閉じるので
やっぱり後片付けはいらない。
0152デフォルトの名無しさん
2009/12/11(金) 11:35:23どうせ終了時だから大概の場合重かろうがどうでもいいし
0153141
2009/12/11(金) 11:40:210154142
2009/12/11(金) 11:57:18落ち着いてググりました。エラーコードの無いテキストエディタで真剣に考えて編集してみたところ、
漢字の送信ができました。ただ未変換状態で送信されてしまうようで、確定状態の変換に直したいと思っています。
コードは下記です。ただ単純にエンターキーを送信するだけでは上手く確定できません。
関数呼び出し部分
INPUT[] inputs = ToInput((string)iData.GetData(DataFormats.Text));
SendInput(inputs.Length, inputs, Marshal.SizeOf(typeof(INPUT)));
関数部分
private static INPUT[] ToInput(string p)
{
int len = p.Length;
INPUT[] inputs = new INPUT[len * 2];
for (int i = 0; i < len; i++)
{
int j = i * 2;
inputs[j].type = INPUT_KEYBOARD;
inputs[j].ki.wVk = 0;
inputs[j].ki.dwFlags = KEYEVENTF_UNICODE;
inputs[j].ki.dwExtraInfo = 0;
inputs[j].ki.wScan = p[i];
inputs[j].ki.time = 0;
int k = j + 1;
inputs[k] = inputs[j];
inputs[k].ki.dwFlags |= KEYEVENTF_KEYUP;
}
return inputs;
}
0155142
2009/12/11(金) 12:04:09疲れてて日本語が可笑しいですね。簡潔に言えば、SendInputを使って、
漢字変換はできたものの、送信後、候補選択状態になっています。
この候補選択状態(下に点線が付く)で送信されたところを、
確定状態(下に点線が付かない)で送信されたようにしたいと思っております。
単純にENTERキーを送信するとなぜか不都合がおきますので、
それ以外の方法を求めています。よろしくお願いします。
0156デフォルトの名無しさん
2009/12/11(金) 12:05:090157デフォルトの名無しさん
2009/12/11(金) 12:15:01漢字変換? ひらがなの文字列を入れて漢字に変換して送るって事?
ところで、SendKeys.Send() 又は SendKeys.SendWait() がうまく行かなかったから、
SendInput() を使っているって話?
もし、SendKeys.Send() しか試してないなら、まずは SendKeys.SendWait() を試した方がいい。
そしてSendKeys.SendWait() なんかがうまく行かないのは、フォーカス設定が漏れていたりはしない?
0158デフォルトの名無しさん
2009/12/11(金) 12:21:14Mono+ubuntuとかそんな特殊な環境わかるわけない
0159142
2009/12/11(金) 12:22:38ひらがなを漢字に変換するわけではありません。
漢字なら漢字の、平仮名なら平仮名の文字列を送信することはできましたが、
その後の処理の話で相談しています。
漢字を漢字のまま送信することは可能なのですが、
下に点線が付いた状態で漢字が送信されてしまいます。
これを何とかしたいのですが。
0160デフォルトの名無しさん
2009/12/11(金) 12:28:34SendInputだと日本語変換に引っかかるだろうから、必ずしも環境依存と言うわけでもなさそう。
>>159
で、SendKeysクラスは使ったの? 使ってないの?
0162デフォルトの名無しさん
2009/12/11(金) 12:32:41じゃ>>138って事だね
0164デフォルトの名無しさん
2009/12/11(金) 12:37:500165デフォルトの名無しさん
2009/12/11(金) 12:43:380166142
2009/12/11(金) 13:24:30SendInputをSendKeysに変えるのは嫌なので、
自作関数作ったところ問題なく動きました。
0167デフォルトの名無しさん
2009/12/11(金) 13:59:500168デフォルトの名無しさん
2009/12/11(金) 14:20:05・環境、C#バージョン .NETバージョン
・やりたいこと・やってみたソース
くらいまとめて載せろよ^^;
0169デフォルトの名無しさん
2009/12/11(金) 15:20:09バグのないプログラムはないとかそういうツッコミはなしで
めちゃくちゃ汚いソースだけどバグが無いプログラムと
めちゃくちゃキレイで芸術的なソースだけどバグが見つかったプログラム
客が求めるのは前者なんだよな。
皮肉なことに。
0170デフォルトの名無しさん
2009/12/11(金) 15:23:57皮肉でもなんでもない。
コードにいくらgoto文がかいてようがint a,bとか意味のわからない変数名つかってようが
どうでもいい話。
0171デフォルトの名無しさん
2009/12/11(金) 15:50:00客の利益に反するけどな
0172デフォルトの名無しさん
2009/12/11(金) 15:56:38goto使いまくって移植したことありますごめんなさい
何やってるのかさっぱりわからないまま形式的に変換したら動きました
0173デフォルトの名無しさん
2009/12/11(金) 16:00:16バグをなくすためって側面もあるからなあ。
汚ないコードはバグが入りやすい(その時は少なくても>>171な時に入る可能性大)
ってことがあるからなんともいえない。
0174デフォルトの名無しさん
2009/12/11(金) 16:32:58わざわざバグを埋め込んどかないとノルマ達成できないぐらいなんだぜ
0175デフォルトの名無しさん
2009/12/11(金) 16:36:530176デフォルトの名無しさん
2009/12/11(金) 16:47:200177デフォルトの名無しさん
2009/12/11(金) 17:31:180178デフォルトの名無しさん
2009/12/11(金) 18:13:27ソース受け渡し(開発依頼とか下請けとかの時)する相手な場合、恥ずかしいのでちゃんと書くさ
0179デフォルトの名無しさん
2009/12/11(金) 21:37:32語られているのですが、.NET1.xさえインストールされていなければ
問題ないのではないでしょうか?
0180デフォルトの名無しさん
2009/12/11(金) 23:00:29初耳。どこの常識だよ。
0181デフォルトの名無しさん
2009/12/11(金) 23:06:411プロセスにつき読み込めるCLRのバージョンは1つだけなので
例えばCLR1.xを先に読まれてしまうと後続で2.0以降用のアセンブリを読もうとしたとき失敗してしまう
とかなんとかそんな理由
0182デフォルトの名無しさん
2009/12/11(金) 23:09:32その常識は、複数バージョンのCLRを1プロセスに読み込めないという制限に由来する。
CLR 1.0と1.1と2.0それぞれでシェル拡張を作ったら、2つ目以降を読み込むことができない。
だから、シェル拡張ではマネージコードを避けるべきと言われるようになった。
だから、CLR 1.xが廃れてきた今、>>179の言うことは一理ある。
ところが、CLR 2とCLR 4は1プロセス内で共存が可能な上、
近頃のWindowsだとCLR 1.xは非対応になってきているので、
マネージでシェル拡張を作れるようになる時代も近いと思う。
0183デフォルトの名無しさん
2009/12/11(金) 23:09:52TimeSpanに対して除算を施すにはどのような方法をとれば良いのでしょうか?
具体的には3.0で割りたいと思っています。
0184デフォルトの名無しさん
2009/12/11(金) 23:11:31TimeSpanのお好きなプロパティを3.0で割って下さい
0185デフォルトの名無しさん
2009/12/11(金) 23:12:17TimeSpan.FromTicks(timeSpan.Ticks / 3)
0186デフォルトの名無しさん
2009/12/11(金) 23:31:52バージョンが上がるとuser.configに保存している設定が無効になってしまいます。
下記サイトで解決しているのですが、やろうとすると
角かっこ [] 付きインデックスを 'プロジェクト名.フォーム名' 型の式に適用することはできません。
とエラーが出てしまい出来ませんでした。
http://social.msdn.microsoft.com/forums/ja-JP/csharpgeneralja/hread/3b5560a0-0626-4843-bd51-5fbee8eb61db/
このコードをどこに書いたらいいのか分かってないです。
設定ファイルが読み込めてないのに、設定ファイルにアップデートの
情報をそこに保存する意味もわかりません。
アップデートした時だけ以前の設定ファイルを読み込む方法を教えてください。
0187183
2009/12/12(土) 02:44:200188デフォルトの名無しさん
2009/12/12(土) 05:24:40アプリケーションの再起動を行いたいのですが・・・
0189デフォルトの名無しさん
2009/12/12(土) 06:41:250190デフォルトの名無しさん
2009/12/12(土) 09:04:38既に存在していれフォームを起動しない・・・という処理を行っているのですが、
>>189の方法だと、そのMutexにひっかかってしまい起動出来ませんでした。
何か良い方法は無いでしょうか・・・?
0191デフォルトの名無しさん
2009/12/12(土) 09:10:500192デフォルトの名無しさん
2009/12/12(土) 09:43:42Mutex.OpenExisting("mu", System.Security.AccessControl.MutexRights.Delete);
こんなのじゃ駄目なんですかね;
0193デフォルトの名無しさん
2009/12/12(土) 09:50:03MSDNのWaitHandleクラスのになってるせいでイマイチ思い浮かばないかもしれんが
0194デフォルトの名無しさん
2009/12/12(土) 09:54:52フォームのコントロールに書き込みできなくなってしまったのですが
途中経過などを通知するにはどうしたらいいでしょうか?
よろしくお願い致します。
0195デフォルトの名無しさん
2009/12/12(土) 09:57:520196デフォルトの名無しさん
2009/12/12(土) 13:42:480197デフォルトの名無しさん
2009/12/12(土) 14:33:13textBox1.SelectionLength = 0;
0198デフォルトの名無しさん
2009/12/12(土) 14:58:02まあ>>195とかのキーワードで調べたら情報はいっぱいでてくるよ。
それを見ても分からないならマルチスレッドは止めとけ。
0199デフォルトの名無しさん
2009/12/12(土) 15:00:14ただまともにスレッド使うならやっぱりちゃんと理解してからやらんとまずい。
0200デフォルトの名無しさん
2009/12/12(土) 17:21:56で「無効次元指定子です。','または']'を指定して下さい」とエラーが出ます
double[][,] im=new double[4][,];
for (int i=0; i<4; i++) im[i]=new double[5,5];
これを1文でどう書けますか?
0201デフォルトの名無しさん
2009/12/12(土) 17:22:05やればいい
0202デフォルトの名無しさん
2009/12/12(土) 17:47:34書けない
0203デフォルトの名無しさん
2009/12/12(土) 17:56:300204デフォルトの名無しさん
2009/12/12(土) 17:56:50ありえんほどスマートじゃないな。ループ使ったほうがまし。
var im=new double[][,] { new double[5,5], new double[5,5], new double[5,5], new double[5,5] };
var im2=new double[][,] {
new [,] { { 0.0, 1.0, 2.0, 3.0, 4.0 }, { 0.0, 1.0, 2.0, 3.0, 4.0 }, { 0.0, 1.0, 2.0, 3.0, 4.0 },
{ 0.0, 1.0, 2.0, 3.0, 4.0 }, { 0.0, 1.0, 2.0, 3.0, 4.0 } },
途中省略
new [,] { { 0.0, 1.0, 2.0, 3.0, 4.0 }, { 0.0, 1.0, 2.0, 3.0, 4.0 }, { 0.0, 1.0, 2.0, 3.0, 4.0 },
{ 0.0, 1.0, 2.0, 3.0, 4.0 }, { 0.0, 1.0, 2.0, 3.0, 4.0 } }
};
0205デフォルトの名無しさん
2009/12/12(土) 17:59:37var im = Enumerable.Range(0, 4).Select(x => new double[5, 5]).ToArray();
0207デフォルトの名無しさん
2009/12/12(土) 18:48:52スレッドBからスレッドAが持つTextBox等を編集しようとするとエラーをはいてしまうのですがどうしたらいいんでしょうか?
って書いてたらふと思ったんですがもしかして、クラス分けして自分自身渡せばいいんでしょうか?
ちょっと試してきます・・・。
0208デフォルトの名無しさん
2009/12/12(土) 18:53:19なんていうか、フットワークが軽いこと自体はいいことでもあるんだが、
早漏気味に何か試すまえに、もうちょっと落ち着いて本とかMSDNとか読んだ方がいいんじゃないの?
マルチスレッド扱ってる文章でワーカスレッドからUIスレッドのコントロールに
触る方法に触れてないものなんてないと思うんだけど
0209デフォルトの名無しさん
2009/12/12(土) 18:59:15>>195
0210デフォルトの名無しさん
2009/12/12(土) 19:18:38便乗質問だけど、マルチスレッド関係の問題を
体系的に回避する方法をまとめてあるのってない?
Invokeとdelegateで対応するのも
Formクラスがぐちゃぐちゃになって美しくなくなってきた
0211デフォルトの名無しさん
2009/12/12(土) 19:21:01もともとSystem.Windows.Formsはシングルスレッドで作るようにできてるんだ。
マルチスレッド用にはできてないから、自力で何とかするしかない。
0212デフォルトの名無しさん
2009/12/12(土) 19:50:22MVCでぐぐれ
0213デフォルトの名無しさん
2009/12/12(土) 19:54:53Formのコードがグチャグチャになるのは、スレッド使うかとうかではなく
単に設計の問題じゃないの?
「入力」と「表示」以外のコードをFormに書いてるんじゃない?
体系的っていうか、UIを更新する場合、普通はワーカスレッドを内部に持ってる
オブジェクトからのイベント(XXXChangedとかXXXReceivedみたいなの)を受信して
そのタイミングでFormが自分が持ってるコントロールを更新するって考え方になると思うから、
UIスレッドに同期する処理をFormに持たせたくないのなら、オブジェクト自身がISynchronizeInvokeを
フィールドに持って、UIスレッドに同期してXXXChangedとかXXXReceivedみたいなイベントを
発火するようにすればいいと思う。
0214デフォルトの名無しさん
2009/12/12(土) 20:07:54マルチスレッドは最近かじったばっかりだから
他人がどうやってうまく処理を切り分けてるのか
そろそろ体系的に知りたいと思ってたんだが
あんまり一般的な手筋みたいなものがあるわけじゃないのか…
基本的に長い演算でGUIが固まるのがいやなのと、
処理の途中で中断するというのも
タイマーとマルチスレッドでむりやり実装してるけど
無駄が多い気がするし、参考になる本とかあったら読もうかと思ってたんだけど
0215デフォルトの名無しさん
2009/12/12(土) 20:13:180216デフォルトの名無しさん
2009/12/12(土) 20:24:51ここ初心者スレ
0217デフォルトの名無しさん
2009/12/12(土) 20:27:320218デフォルトの名無しさん
2009/12/12(土) 21:24:280219デフォルトの名無しさん
2009/12/12(土) 21:30:190220デフォルトの名無しさん
2009/12/12(土) 21:38:590221デフォルトの名無しさん
2009/12/12(土) 22:24:19>>213で「一般的な手筋」書いてるだろ
0222デフォルトの名無しさん
2009/12/12(土) 22:35:34こんな風に演算子が入ってる文字列を数値に変換するほうほうを教えてくれ。
int.Parseだと無理だった
0223デフォルトの名無しさん
2009/12/12(土) 22:43:390224デフォルトの名無しさん
2009/12/12(土) 23:09:32typeof(任意の型名)ってSystem.Type型なのにちゃんと任意の型が送られるんでしょうか。
任意の型のインスタンスを送るのでは駄目なんですかねやっぱり
0225デフォルトの名無しさん
2009/12/12(土) 23:10:160226デフォルトの名無しさん
2009/12/12(土) 23:11:520227デフォルトの名無しさん
2009/12/12(土) 23:14:20System.Type型だってObject型継承してるんだから何もおかしいことはない。
0228デフォルトの名無しさん
2009/12/12(土) 23:16:25>例が見当たるんですが
それを挙げてください
このスレの人間は貴方が見たというコードの目的とするところなんか知るわけないんだから
0229デフォルトの名無しさん
2009/12/12(土) 23:21:52まずはこれを読め。
http://msdn.microsoft.com/ja-jp/library/58918ffs%28VS.80%29.aspx
XMLSerializerとか、System.Data系とか、処理をするのにそのクラス型自体が必要なライブラリがある。
そういうのはtype演算子を通してクラス型自体を渡すことになる。
ぼやきに対して答えを書けば、必要だからそうなっている、につきる。
0230デフォルトの名無しさん
2009/12/12(土) 23:24:21例えば
ttp://msdn.microsoft.com/ja-jp/library/ms752914.aspx#metadata
の
>new FrameworkPropertyMetadata(typeof(SpinnerControl))
です。FrameworkPropertyMetadataはObject型の引数を一つとるコンストラクタを用意してます。
0231デフォルトの名無しさん
2009/12/12(土) 23:30:07ありがとうございます。
一応読んだのですが、じゃあなんでType型を要求しないんだろうとか
いろいろ疑問がわいてきて混乱していました。
今の僕では完全な理解は難しいようなので、そう割り切ることにします
0232デフォルトの名無しさん
2009/12/12(土) 23:30:58http://msdn.microsoft.com/ja-jp/library/ms557298%28VS.80%29.aspx
defaultValue
依存関係プロパティの既定値。通常、特定の型の値として指定されます。
特定の型の値として指定されます。
特定の型の値として指定されます。
特定の型の値として指定されます。
特定の型の値として指定されます。
特定の型の値として指定されます。
特定の型の値として指定されます。
特定の型の値として指定されます。
特定の型の値として指定されます。
特定の型の値として指定されます。
0233デフォルトの名無しさん
2009/12/12(土) 23:34:31Textの既定値なら空文字列かnullかだろう
DefaultStyleKeyの既定値がType型インスタンスと言うだけのこと
0234デフォルトの名無しさん
2009/12/12(土) 23:43:40WPFではメタプログラミング的なことやろうとしすぎて属性+リフレクションでは追いつかなくなっちゃったから
独自のプロパティシステムを構築してるんだよ
0235デフォルトの名無しさん
2009/12/12(土) 23:46:40繰言クンって馬鹿だな、まで読んだ。
0236デフォルトの名無しさん
2009/12/12(土) 23:47:56納得しました。
MSDNのDefaultStyleKeyの項目まで読んでなかった。反省
0237デフォルトの名無しさん
2009/12/13(日) 00:14:58double d=1.2345678912345;
だとして。最後の12345を捨ててd=1.23456789
みたいにするとか。
0238デフォルトの名無しさん
2009/12/13(日) 00:16:160239デフォルトの名無しさん
2009/12/13(日) 00:16:56それって要するに桁数を決めて文字列出力したいだけだろ?
それならstring.Format()を調べるんだ。
0240デフォルトの名無しさん
2009/12/13(日) 00:19:200241デフォルトの名無しさん
2009/12/13(日) 00:47:380242デフォルトの名無しさん
2009/12/13(日) 00:54:30そして、3.0には無いプロパティBinding.ValidatesOnExceptionsを使ったコードを書いたのですが、何のエラーも無くビルドできてしまいました。
3..0に無いものを使ったらビルド時に検出したいのですが、どうやったらいいのですか?
0243デフォルトの名無しさん
2009/12/13(日) 00:57:11プロジェクトを.NET 3.0向けに設定して、それでビルドが通っているなら、
基本的にはそれで動くということなんだ。基本的には心配する必要はないよ。
0244デフォルトの名無しさん
2009/12/13(日) 01:06:020245デフォルトの名無しさん
2009/12/13(日) 01:07:450246デフォルトの名無しさん
2009/12/13(日) 01:10:300247242
2009/12/13(日) 01:44:22.NET3.0のクラスSystem.Windows.Controls.TextBoxが、.NET3.5でいくつかのプロパティが追加され拡張されたと仮定します。
3.0向けでビルドされたDLLを3.5でビルドされたアプリから参照し、DLL側からTextBoxオブジェクトを取得したとします。
この場合、DLLから取得したのは3.0のTextBoxになってしまうのでしょうか?
0248デフォルトの名無しさん
2009/12/13(日) 01:47:050249デフォルトの名無しさん
2009/12/13(日) 01:48:11SP1があたってないと動かないだろうな。
サービスパックで追加された機能を使っていないか
チェックする方法は俺も知りたい。
0250デフォルトの名無しさん
2009/12/13(日) 01:49:07当然、取得できるのは3.0SP1のテキストボックス。
0251デフォルトの名無しさん
2009/12/13(日) 01:51:130252デフォルトの名無しさん
2009/12/13(日) 01:51:14MS自身がアセンブリのサイドバイサイドはぶっ壊してるよ。
まあ現実バージョン変えるわけにはいかないだろうけどね。
0253デフォルトの名無しさん
2009/12/13(日) 01:52:09派生クラス(のコンストラクタ)だけそのコンストラクタを呼べる
0254デフォルトの名無しさん
2009/12/13(日) 02:26:31継承するメリットがよく分からない・・・
0255デフォルトの名無しさん
2009/12/13(日) 02:28:500256デフォルトの名無しさん
2009/12/13(日) 02:29:240257デフォルトの名無しさん
2009/12/13(日) 03:00:590258デフォルトの名無しさん
2009/12/13(日) 04:18:54今まで、自分でメソッドは作ったことがあり、イメージも分かるのですが、
クラスを自分で作成したことが無いだけに、ちょっと実感が分かなかったりします
0259デフォルトの名無しさん
2009/12/13(日) 04:25:230260デフォルトの名無しさん
2009/12/13(日) 04:28:53解答する気ないなら帰れ
0261デフォルトの名無しさん
2009/12/13(日) 04:32:17新規のクラスを作った段階ですでにMainメソッドはProgramクラスにあるでしょ
だからクラス使わないと1行も処理を実行できないよw
Programクラス以外に自分で作らないと出来ないことがあるかというと特にない
必要がないと思うなら作らないで処理書いてもいいよ
メソッドだって自分で作らなくたって大体の処理出来るんだし
必要性がなければ全部Mainメソッドに書いちゃいなよ
0262デフォルトの名無しさん
2009/12/13(日) 04:34:51正:新規のプロジェクトを作った段階で〜
0263デフォルトの名無しさん
2009/12/13(日) 06:03:06あ、使わないと出来ないような〜って聞いてるのに、
確かにプロジェクトに一つは使われてますね、質問が悪かったです^^;
今まで使ってきた、Application. や、MessageBox.
なども一つのクラスなんですね、それらのクラスを覗いてみて、
ちょっとどんな風なものなのか学んでこようと思います
0264デフォルトの名無しさん
2009/12/13(日) 09:20:03C#だと言語仕様がクラスを要求するので必須だが、
C++で言うならクラスを使わなければ使わないでも大丈夫
0265デフォルトの名無しさん
2009/12/13(日) 09:29:440266デフォルトの名無しさん
2009/12/13(日) 09:38:590267デフォルトの名無しさん
2009/12/13(日) 09:58:18ここで済まさないでググる先生に聞いて真面目に解説してるとこ探した方が
絶対良いと思う。いや真面目な話。
0268デフォルトの名無しさん
2009/12/13(日) 10:36:22でもほぼ確実にフレームワークで用意されてるクラスは利用することになる。
で、そのフレームワークのクラスがクラスじゃなくて全部個別のメソッドやらだったりしたら
プログラムがどんなことになるか考えてみ。
0269デフォルトの名無しさん
2009/12/13(日) 10:37:300270デフォルトの名無しさん
2009/12/13(日) 10:45:270271デフォルトの名無しさん
2009/12/13(日) 10:47:290272デフォルトの名無しさん
2009/12/13(日) 10:48:210273デフォルトの名無しさん
2009/12/13(日) 10:58:25.Skip(offset).Take(length) じゃダメ?
0274デフォルトの名無しさん
2009/12/13(日) 11:17:150275デフォルトの名無しさん
2009/12/13(日) 11:34:03知ってたら便利。そんなものだよ
0276デフォルトの名無しさん
2009/12/13(日) 11:34:520277デフォルトの名無しさん
2009/12/13(日) 11:39:36Web サイトでも見た方が早いよ。
0278デフォルトの名無しさん
2009/12/13(日) 13:07:20xmlなどに保存した設定を保持するのはどうすればいいでしょうか?
普通に変数で読み込み時に持たせるべきですか?
0279デフォルトの名無しさん
2009/12/13(日) 13:12:580280デフォルトの名無しさん
2009/12/13(日) 13:13:19質問っていうのはさあ、自分でいろいろ調べた上で分からない点を人に聞くものなわけで、
何もせずに最初から人に丸投げ質問って人間としてどうなの?
設定の保存について解説してるところなんてweb上にいくらでもあるわけで、
そういうところの一つも読んでから聞いたら?
0281デフォルトの名無しさん
2009/12/13(日) 13:17:15気持ち良いですか?
0282デフォルトの名無しさん
2009/12/13(日) 13:22:110283デフォルトの名無しさん
2009/12/13(日) 13:27:230284デフォルトの名無しさん
2009/12/13(日) 13:34:090285デフォルトの名無しさん
2009/12/13(日) 13:46:260286デフォルトの名無しさん
2009/12/13(日) 13:52:55初心者バーカって悦に入ってるやつら消えろや
0287デフォルトの名無しさん
2009/12/13(日) 13:55:22明らかに学生のノリのKY
スキル無いのが滲み出てるので脱初心者レベルなんだろうなぁ
0288デフォルトの名無しさん
2009/12/13(日) 13:55:40>人間としてどうなの?
お前いつも会社でそんなふうにいじめられてるんだな・・・
くじけるな。頑張れ。いつだって俺はお前の味方だよ。
0289デフォルトの名無しさん
2009/12/13(日) 13:58:23じゃあまずお前がそうしろよ。
自分棚上げかよ本当に馬鹿だな。
初心者の質問スレだからって何でもありな訳がないだろう。
初心者なのは咎めないが、ただの怠惰な奴まで許容できねえよ。
0290デフォルトの名無しさん
2009/12/13(日) 13:59:30>「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
>初心者なのは咎めないが、ただの怠惰な奴まで許容できねえよ。
許容?これ仕事じゃないんだけど。
0291デフォルトの名無しさん
2009/12/13(日) 14:01:26意味不明。
俺が許す許さないの話をしてるのにたいして「仕事じゃないんだけど」ってどいういう意味だよ。
0292デフォルトの名無しさん
2009/12/13(日) 14:02:25って偉そうに人に説教垂れるつもりなら、まず自分がそれを実践してからにしろって。
本当馬鹿だな。
0293278
2009/12/13(日) 14:05:490294デフォルトの名無しさん
2009/12/13(日) 14:06:13そもそも宿題聞いてくるようなアホにレスしてるのはお前みたいな奴だけだ
0295デフォルトの名無しさん
2009/12/13(日) 14:07:19気にいらないなら黙ってろってこと。
このスレの趣旨に反するんだけど?
ここでレスするのはお前の仕事じゃないんだけど?
0296デフォルトの名無しさん
2009/12/13(日) 14:07:28許容できないならこんなスレ見るなよ。
0297デフォルトの名無しさん
2009/12/13(日) 14:08:08俺にそんな義務はありませんw
質問者に回答しないで説教しかしないジジイはさっさと死ねや
0298デフォルトの名無しさん
2009/12/13(日) 14:08:43今日も絶好調っスね!!
0299デフォルトの名無しさん
2009/12/13(日) 14:09:27なんというか、一人っ子的自己中心性というか、アスペルガーな奴だねお前さんは。
俺は俺が言いたい事を言ってるまでで、別にどっかの馬の骨以下の
糞みたいな存在に過ぎないお前さんの必要を満たすためにレスしてるわけじゃない。
0300デフォルトの名無しさん
2009/12/13(日) 14:10:12ウズウズして黙ってられないんだろうなたぶんw
0301デフォルトの名無しさん
2009/12/13(日) 14:10:58>気にいらないなら黙ってろってこと。
また自分を棚上げか。
だから、まず自分が自分のいってることを実践しろよ。
本当に馬鹿だな。
0302デフォルトの名無しさん
2009/12/13(日) 14:11:12なんでもいいけど2ch技術系のスレにはこの手のはかならず居るから
各自適度にスルースキルを身に付けるしかないんだけどね。
0303デフォルトの名無しさん
2009/12/13(日) 14:11:390304デフォルトの名無しさん
2009/12/13(日) 14:11:40>ウズウズして黙ってられないんだろうなたぶんw
お前、自分のこと見えてる?
0305デフォルトの名無しさん
2009/12/13(日) 14:11:55目くじら立てるな新参
0306デフォルトの名無しさん
2009/12/13(日) 14:12:12ニヤニヤがとまらない
0307デフォルトの名無しさん
2009/12/13(日) 14:13:02ああ、こうやって馬鹿を叩くことほどの快感はそうそうないな正直w
0308デフォルトの名無しさん
2009/12/13(日) 14:13:250309デフォルトの名無しさん
2009/12/13(日) 14:15:050310デフォルトの名無しさん
2009/12/13(日) 14:15:160311デフォルトの名無しさん
2009/12/13(日) 14:15:19言っただろ?このスレはこれこと繰り返してpart50まで来たんだと。
何十番煎じ(言っても無駄だし消えても沸いてくる)なんだから指摘厨は黙ってろ。
0312デフォルトの名無しさん
2009/12/13(日) 14:16:24お前みたいなのも含めてな。
何時まで馬鹿を指摘し続けなきゃならないんだ、俺は。
0313デフォルトの名無しさん
2009/12/13(日) 14:17:10お前のキンタマから精液出るまでじゃねーのw
0314デフォルトの名無しさん
2009/12/13(日) 14:17:58順番に処理していくのじゃなんでだめなんですか?
100字ぐらいで説明出来ると助かります。
0315デフォルトの名無しさん
2009/12/13(日) 14:18:47また自分が見えてない棚上げ馬鹿がw
自分だけは神のような特権的立場だとでも思ってるのかこういう奴は。
っていうか、悪いけどお前さんが「質問者に突っ込みたいだけの馬鹿」と、
「クズな質問者を糾してる奴」の区別が付くだけの知性がないだけだから。
0316デフォルトの名無しさん
2009/12/13(日) 14:20:040317278
2009/12/13(日) 14:21:05とりあえず、設定は全て別のクラスを使って読み書きする事で解決しました。
ありがとうございました。
0318デフォルトの名無しさん
2009/12/13(日) 14:22:07もうくんなよ。
0319デフォルトの名無しさん
2009/12/13(日) 14:24:21謝ってるのにどうして水を差すの?馬鹿なの?死ぬの?
0320314
2009/12/13(日) 14:24:23よろしくおねがいします。
0321デフォルトの名無しさん
2009/12/13(日) 14:25:02一人でやってろよ
0322デフォルトの名無しさん
2009/12/13(日) 14:25:03はやく314に答えてやれ
0323デフォルトの名無しさん
2009/12/13(日) 14:25:13本気でそう思うならひっぱんなよボケ
0324デフォルトの名無しさん
2009/12/13(日) 14:26:190325デフォルトの名無しさん
2009/12/13(日) 14:26:57回答できない無能力者なら正直に言ってくれて構わんよ(´・ω・`)
0326デフォルトの名無しさん
2009/12/13(日) 14:29:050327デフォルトの名無しさん
2009/12/13(日) 14:30:591人より2人で仕事した方がいいよね
0328デフォルトの名無しさん
2009/12/13(日) 14:33:200329デフォルトの名無しさん
2009/12/13(日) 14:35:07普通飽きる
0330デフォルトの名無しさん
2009/12/13(日) 14:35:110331デフォルトの名無しさん
2009/12/13(日) 14:35:480332デフォルトの名無しさん
2009/12/13(日) 14:36:31さっさと消えれば?
ここはあなたにとっても有意義な場所じゃないよ^^?
0333デフォルトの名無しさん
2009/12/13(日) 14:37:11死ね
0335デフォルトの名無しさん
2009/12/13(日) 14:38:110336デフォルトの名無しさん
2009/12/13(日) 14:39:25宿題スレ行けゴミ
0337デフォルトの名無しさん
2009/12/13(日) 14:39:45お前ゴミ
0338デフォルトの名無しさん
2009/12/13(日) 14:40:31うぜえ、さっさと消えろ屑
0339デフォルトの名無しさん
2009/12/13(日) 14:41:15ええ?凄く明快だと思うのですが。
0341デフォルトの名無しさん
2009/12/13(日) 14:42:140342デフォルトの名無しさん
2009/12/13(日) 14:42:360344デフォルトの名無しさん
2009/12/13(日) 14:43:020345デフォルトの名無しさん
2009/12/13(日) 14:44:540346デフォルトの名無しさん
2009/12/13(日) 14:45:53いやあ字数を膨らますのはお宅の仕事だと思います
0347デフォルトの名無しさん
2009/12/13(日) 14:46:292人より3人で仕事した方がいいよね
3人より4人で仕事した方がいいよね
4人よりn人で仕事した方がいいよね
0350デフォルトの名無しさん
2009/12/13(日) 14:47:540352デフォルトの名無しさん
2009/12/13(日) 14:48:510354デフォルトの名無しさん
2009/12/13(日) 14:50:240358314 ◆C3mb2PReIs
2009/12/13(日) 14:54:20よろしくおねがいします。
0359デフォルトの名無しさん
2009/12/13(日) 14:55:350360314 ◆C3mb2PReIs
2009/12/13(日) 14:56:050361デフォルトの名無しさん
2009/12/13(日) 14:57:130362314 ◆v8P3n.3jsQ
2009/12/13(日) 14:58:07あと2分以内に30字お願いします。
0363314
2009/12/13(日) 14:58:50結局ググりました。
お前ら使えない。
以上。
0364314
2009/12/13(日) 14:59:41早くしてください!!!
0365314
2009/12/13(日) 15:00:00ありがとうございました。
0366314
2009/12/13(日) 15:00:500367デフォルトの名無しさん
2009/12/13(日) 15:01:00ちょwwお前ww時間wwwwwwwww
0368デフォルトの名無しさん
2009/12/13(日) 15:02:110369デフォルトの名無しさん
2009/12/13(日) 15:04:060370デフォルトの名無しさん
2009/12/13(日) 15:04:23プログラミングの能力は中級クラスでも精神年齢は幼稚園児なんだな
0371デフォルトの名無しさん
2009/12/13(日) 15:05:230372デフォルトの名無しさん
2009/12/13(日) 15:07:380373デフォルトの名無しさん
2009/12/13(日) 15:08:520374デフォルトの名無しさん
2009/12/13(日) 15:09:280375デフォルトの名無しさん
2009/12/13(日) 15:10:360376デフォルトの名無しさん
2009/12/13(日) 15:11:40MSのガイドに書いてあります
0377デフォルトの名無しさん
2009/12/13(日) 15:12:22これからも頼むわ
0378デフォルトの名無しさん
2009/12/13(日) 15:16:49書いてあります
・・・で?
途中で送信しちゃったのか?
0379デフォルトの名無しさん
2009/12/13(日) 15:17:50前も言ったがそんなことは何処にも書いてありません
0380デフォルトの名無しさん
2009/12/13(日) 15:20:250381デフォルトの名無しさん
2009/12/13(日) 15:21:210382デフォルトの名無しさん
2009/12/13(日) 15:26:01プログラマなら
n人よりn+1人で仕事した方がいいよね
ぐらい書かないと・・・
0383デフォルトの名無しさん
2009/12/13(日) 15:29:160384デフォルトの名無しさん
2009/12/13(日) 15:30:260385デフォルトの名無しさん
2009/12/13(日) 15:31:130386デフォルトの名無しさん
2009/12/13(日) 15:35:010387デフォルトの名無しさん
2009/12/13(日) 15:35:320388デフォルトの名無しさん
2009/12/13(日) 15:36:550389デフォルトの名無しさん
2009/12/13(日) 15:37:290390デフォルトの名無しさん
2009/12/13(日) 15:40:580391デフォルトの名無しさん
2009/12/13(日) 15:43:590392デフォルトの名無しさん
2009/12/13(日) 15:52:46おまえは例のブログの奴か?
書いてねぇよボケ
0393デフォルトの名無しさん
2009/12/13(日) 15:58:000394デフォルトの名無しさん
2009/12/13(日) 16:02:180395デフォルトの名無しさん
2009/12/13(日) 16:02:310396デフォルトの名無しさん
2009/12/13(日) 16:07:430397デフォルトの名無しさん
2009/12/13(日) 16:08:480398デフォルトの名無しさん
2009/12/13(日) 16:12:27文句ばっかりいってないで変える努力したら?
人間としてどうなの?
0399デフォルトの名無しさん
2009/12/13(日) 16:16:59List<T>を外部に公開するなとか書いてあるブログ
0400デフォルトの名無しさん
2009/12/13(日) 16:22:27http://csharper.blog57.fc2.com/blog-entry-224.html
これか?
http://www.ailight.jp/blog/kazuk/archive/2009/04/19/27632.aspx
それともこっち?
両記事とも元ネタにしてるのはこれだろうけど
何言ってんのかあいかわらず良くわからん記事だ・・・
http://msdn.microsoft.com/ja-jp/library/ms182142.aspx
0401デフォルトの名無しさん
2009/12/13(日) 16:23:42名前空間に対するドキュメントってどうやって書けば良いのですか。
Javadoc でいうところの package.html みたいなものがあるのでしょうか。
0402デフォルトの名無しさん
2009/12/13(日) 16:24:00public List<Hoge> getResult();
みたいなメソッドは書いて良いの?だめなの?
0403デフォルトの名無しさん
2009/12/13(日) 16:27:02教条主義的な議論はともかく、不特定多数が使うライブラリなら避けた方が賢明なのは
確かだとは思う。
privateやinternalなメソッドなら全然オッケーでしょう。
もちろん間違えて自分の足を撃っちゃう可能性が小さい限りにおいて
0404デフォルトの名無しさん
2009/12/13(日) 16:27:20イケメンの言うことが信じられないならとりあえずこっちを読んでみるといいよ。
FxCop作った側の人のCA1002に対するコメント
http://blogs.msdn.com/fxcop/archive/2006/04/27/585476.aspx
0405デフォルトの名無しさん
2009/12/13(日) 16:31:260406デフォルトの名無しさん
2009/12/13(日) 16:31:31継承するものだけ返値にList<Hoge>を使わないようにするだけ
かりに使ってもエラーが出るから現状大丈夫なら修正しなくても問題はない
それを大げさに意味もわからず誰かがのたまってるだけなのさ
0407デフォルトの名無しさん
2009/12/13(日) 16:32:30The first reason is that List<T> is designed for speed and for use as an internal implementation detail, whereas Collection<T> is designed for extensibility.
The second reason why you shouldn’t expose List<T>, is because it exposes too many members, many of which are not relevant in most situations.
Javaでも ArrayList とか TreeSet とかは外から見える場所で使うな、
List とか Set とかの実装を隠したやつで使えって言われたな。
0408デフォルトの名無しさん
2009/12/13(日) 16:34:25ダメ。
戻り値は IList とか Collection が正解
0409デフォルトの名無しさん
2009/12/13(日) 16:35:20英語だとなんでも正しいって思っちゃう症候群かな?
0410デフォルトの名無しさん
2009/12/13(日) 16:36:53糞遅くてもいいけど継承するよ→Collection<Hoge>
要するにケースバイケースって事
0411デフォルトの名無しさん
2009/12/13(日) 16:38:010412デフォルトの名無しさん
2009/12/13(日) 16:38:26お前どこの誰が書いてるブログかよーく見てから書いた方がいいぞ
0413デフォルトの名無しさん
2009/12/13(日) 16:39:28一括りにするから叩かれるんだよ
0414デフォルトの名無しさん
2009/12/13(日) 16:40:43それが信じられないなら、どこも信じられないんじゃないか
0415デフォルトの名無しさん
2009/12/13(日) 16:41:23継承うんぬんってのは、
List<Hoge> を公開しているクラスの実装が変ったときに
List<Hoge> 以外の実装が使えなくなっちゃう、ってこと?
ところで Collection<Hoge> ってそんなに糞遅いの?
内部ではどうせ List<Hoge> を使って
外部に出すとき new Collection<Hoge>( listHoge ) みたいにラップするだけだと思ってたんだけど。
0416デフォルトの名無しさん
2009/12/13(日) 16:46:47List.ForEachとforeachの計測は@ITもやってたけど結構違ったよな
0417デフォルトの名無しさん
2009/12/13(日) 16:51:48速度が本当に必要になってから天秤にかけりゃいいさ。
0418デフォルトの名無しさん
2009/12/13(日) 16:55:25何を蒸し返してるんだ。
0419デフォルトの名無しさん
2009/12/13(日) 16:56:230420デフォルトの名無しさん
2009/12/13(日) 16:57:49以前とかいわれてもその時見てなかった。
結論どうなったの?
0421デフォルトの名無しさん
2009/12/13(日) 16:58:04>>410
0422デフォルトの名無しさん
2009/12/13(日) 16:59:560423デフォルトの名無しさん
2009/12/13(日) 17:00:210424デフォルトの名無しさん
2009/12/13(日) 17:02:09必要になってからCollectionにするんじゃおそすぎる。
0425デフォルトの名無しさん
2009/12/13(日) 17:04:16必要になればそこも変えればいいだけ
変えわすれてもCA1002が出て教えてくれる
0426デフォルトの名無しさん
2009/12/13(日) 17:06:53全部なおしてまわるのか
設計する段階で全部きまりゃいいけどそんなの綺麗事だから。
0427デフォルトの名無しさん
2009/12/13(日) 17:10:39基本はCollection<>使えなんじゃね?
0428デフォルトの名無しさん
2009/12/13(日) 17:10:59それは引数が変わるのと同じぐらい全体としては大きな事
変更が必要なのは当たり前だろ
何をいってるんだ?
0429デフォルトの名無しさん
2009/12/13(日) 17:14:01ここらへんはまだJavaの方がコンセンサス取れてたな。
0430デフォルトの名無しさん
2009/12/13(日) 17:15:50とかやってるの見ると
何がんばっちゃってるのこの人(プッ
って思えてくる
素人に多いよね
0431デフォルトの名無しさん
2009/12/13(日) 17:19:38そうは思えないけど。
っていうか、>>430みたいな人が自分で撃った銃弾に当たって死ぬタイプだ思う。
「自分に向けて銃を撃つ馬鹿なんていねえよ」とか何とか嘯きながら。
何が問題かわかってねえんじゃないのそもそも。
0432デフォルトの名無しさん
2009/12/13(日) 17:19:46気持ち良いですか?
0433デフォルトの名無しさん
2009/12/13(日) 17:20:430434デフォルトの名無しさん
2009/12/13(日) 17:21:21MyCollection : Collection<Hoge> するけどな。
0435デフォルトの名無しさん
2009/12/13(日) 17:23:11Javaは実質全てのメソッドがvirtualみたいなもんだから
ArrayList をそのまま公開する理由はなかったよ。
0436デフォルトの名無しさん
2009/12/13(日) 17:29:49それ以外はCollection<Hoge>で
まぁBind以外はほとんど回して使うと思うがね
0437デフォルトの名無しさん
2009/12/13(日) 17:39:060438デフォルトの名無しさん
2009/12/13(日) 17:41:10IEnumerable な操作だけしかしない/させないってことを表明してるわけだし。
もちろん出来ることが限定されるから後々困ることもでるだろうし
本当にそれでいいのか考えてからやるべきではある。
0439デフォルトの名無しさん
2009/12/13(日) 18:23:43例示のメソッドの戻り値なら配列でいい
>>437
逐次処理のために、LINQのソースやパイプラインに使う前提で作ることは良くある
0440デフォルトの名無しさん
2009/12/13(日) 18:54:38メソッドの戻り値や引数に使うのはいいけどプロパティの型をIEnumerableにするのはやめるべき
0441デフォルトの名無しさん
2009/12/13(日) 19:00:120442デフォルトの名無しさん
2009/12/13(日) 19:06:46気持ちいいですか?
0443デフォルトの名無しさん
2009/12/13(日) 19:07:01IEnumerator と勘違いしてない?
IEnumerable ならいいと思うんだけど。
0444デフォルトの名無しさん
2009/12/13(日) 19:41:47あるあるw
0445デフォルトの名無しさん
2009/12/13(日) 21:04:30外部でコレクションに何をしてもかまわない、関与しなくてよいと言い切れるならListでもいい。
それだけのことだろ。
Collectionなら継承できるから後で何らかの処理を加えたりすることもできるってだけ。
0446デフォルトの名無しさん
2009/12/13(日) 21:09:29もちろん考え方自体は間違ってないけど,パブリックフィールド禁止というならListも禁止にしないとおかしい
0447デフォルトの名無しさん
2009/12/13(日) 21:10:41ただ、単なるListに比べりゃそれは遅い。
どんなコレクションでも単なる配列に比べりゃそれは遅い。
コレクションへのアクセスに最大限のパフォーマンスが必要なら選択肢は配列しかない。
まあListは配列と比べなきゃ十分速いが。
0448デフォルトの名無しさん
2009/12/13(日) 21:15:150449デフォルトの名無しさん
2009/12/13(日) 21:26:50そもそも外部に公開するインターフェイスならIListにするだろ
0450デフォルトの名無しさん
2009/12/13(日) 22:23:570451デフォルトの名無しさん
2009/12/13(日) 22:27:450452デフォルトの名無しさん
2009/12/13(日) 22:36:360453デフォルトの名無しさん
2009/12/13(日) 22:38:080454デフォルトの名無しさん
2009/12/13(日) 22:42:470455デフォルトの名無しさん
2009/12/13(日) 22:50:49初めて2週間の素人にも分かるよう3行にまとめてくれ。
0456デフォルトの名無しさん
2009/12/13(日) 22:51:55・
・
listBox1.Items.AddRange(s);
上記コードでlistBoxに項目を追加しようとしていますが
最も適しているオーバーロード メソッドには
無効な引数がいくつか含まれています。
とエラーが出てしまいます。
List<string>では追加できないのでしょうか
0457デフォルトの名無しさん
2009/12/13(日) 22:54:16List<string>なんか入るわけない
0458デフォルトの名無しさん
2009/12/13(日) 22:55:460459デフォルトの名無しさん
2009/12/13(日) 22:56:45これってC++だと
MyClass *mc
と同じことか?
0460デフォルトの名無しさん
2009/12/13(日) 22:57:19『初めて2週間の素人』には関係の無い話題なので、
論点が理解出来るまではスルーしていて差し支え無い。
0461デフォルトの名無しさん
2009/12/13(日) 23:00:110462デフォルトの名無しさん
2009/12/13(日) 23:00:22特定の言語(C#)上の概念を、別の言語(C++)の概念で十分な考慮無しに決めつけるのは危険な考え方だ。
まずはC#流の概念を理解してから比較して考えた方がいいよ。
直接的な答えとしては、そうでもあるし、そうでないとも言える。
ちなみにMyClass^ mc が一番近いと言っておこうか。
0463デフォルトの名無しさん
2009/12/13(日) 23:04:470464デフォルトの名無しさん
2009/12/13(日) 23:06:400465デフォルトの名無しさん
2009/12/13(日) 23:09:05ありがとうございます!
0466デフォルトの名無しさん
2009/12/13(日) 23:13:34MyClass^ mc
ってどういう感じなの
コードであったりするけど
調べても^だと検索できないからよくわからん
0467デフォルトの名無しさん
2009/12/13(日) 23:16:400468デフォルトの名無しさん
2009/12/13(日) 23:16:510469デフォルトの名無しさん
2009/12/13(日) 23:18:080470デフォルトの名無しさん
2009/12/13(日) 23:20:14+=と-=だけじゃ無理だよね?
0471デフォルトの名無しさん
2009/12/13(日) 23:22:280472デフォルトの名無しさん
2009/12/13(日) 23:24:59騙されたと思って
public event EventHandler TestEvent = null;
って書いてみ
0473デフォルトの名無しさん
2009/12/13(日) 23:26:260474デフォルトの名無しさん
2009/12/13(日) 23:26:50その接続を本体側から強制的に破棄するようなコードの書き方は正直おすすめしかねるがな。
接続して来た側から自発的に破棄させることが望ましい。
0475デフォルトの名無しさん
2009/12/13(日) 23:26:59外部のクラスや継承クラスからは代入できないだろうが。
バカはレスするな。
0476デフォルトの名無しさん
2009/12/13(日) 23:28:43論外だな。そんな掟破りな使い方をしようとするほうがおかしい。
0477デフォルトの名無しさん
2009/12/13(日) 23:30:27典型的にアンチパターンだな死ねよ
0478デフォルトの名無しさん
2009/12/13(日) 23:31:34>外部のクラスや継承クラスからは代入できない
これの為のeventキーワードだろ。
本末転倒に過ぎる。
0479デフォルトの名無しさん
2009/12/13(日) 23:31:59お前から死なねばならぬようだぜ兄ちゃん。
0480デフォルトの名無しさん
2009/12/13(日) 23:35:150481デフォルトの名無しさん
2009/12/13(日) 23:45:11http://dobon.net/vb/dotnet/graphics/animegif.html
ここを参考にして
gifアニメをフォームアプリで表示しているんですけど
透過の背景が砂嵐のように乱れるんです。
ビルドするたびに砂嵐も変化して、
インストーラでインストールしても
PCごとに表示が乱れたり、乱れなかったりばらばらなんです。
原因知ってる人いませんか?
gifアニメ表示は推奨されていないのでしょうか?
0482デフォルトの名無しさん
2009/12/13(日) 23:45:39その為、ってのはちょっと違う気もするけどね。
イベントはあくまでイベントという概念であってデリゲートとは別物だから。
0483デフォルトの名無しさん
2009/12/13(日) 23:45:42質問の仕方からして悪りぃ。
0484デフォルトの名無しさん
2009/12/13(日) 23:50:00そりゃあ、透過画像で透過部分の背景が定義されてなかったら、
合成結果だって未定義になるだろ?(結果、砂嵐発生)
したがって、画像全体で未定義の部分が残らないようにすればいい。
0485デフォルトの名無しさん
2009/12/13(日) 23:50:59Object型→なんでも入る
ジェネリック→なんでも入る
何がどう違う
0486デフォルトの名無しさん
2009/12/13(日) 23:52:03Object → なんでも入ってOK
ジェネリック → なんでも入ったら困る
0487デフォルトの名無しさん
2009/12/13(日) 23:52:27List<T>使わないでArrayListでプログラム書いてりゃ嫌でも分かるよ
0488デフォルトの名無しさん
2009/12/13(日) 23:56:260489デフォルトの名無しさん
2009/12/13(日) 23:58:10APIでその動作は可能ですか?
0490デフォルトの名無しさん
2009/12/13(日) 23:58:170491デフォルトの名無しさん
2009/12/13(日) 23:59:27FindWindowかEnumWindowsでハンドルとってきてWM_SETTEXTとか使えばOK
0492481
2009/12/14(月) 00:00:20無知ですみません。
透過部分はその親コントロールの描画になるわけではないのでしょうか?
Formの背景を
http://dobon.net/vb/dotnet/graphics/lineargradientbrush.html
を参考にしてグラデさせてます。
pictureboxの背景をtransparentにし、gifを表示しています。
ボタン関係もすべて手作りしていて透過png(静止画)を使ってますが
透過部分は背景のフォームのグラデがしっかり見えて砂嵐は起こりません。
0493デフォルトの名無しさん
2009/12/14(月) 00:03:26並べ替えは可能でしょうか。
設定が増えてきて見辛いので、項目毎にするために並べ替えたいです。
0494デフォルトの名無しさん
2009/12/14(月) 00:06:04コメント欄に適当な数字でも入れてコメントでソートするとか。
しかし、そんなもの並び替えたいと思うかね普通は。
0495デフォルトの名無しさん
2009/12/14(月) 00:11:03コメント欄とはどれのことですか?
名前・型・スコープ・値 しか見当たりません。
>しかし、そんなもの並び替えたいと思うかね普通は。
単純に見辛くないですか?
0496デフォルトの名無しさん
2009/12/14(月) 00:14:28あーごめん、普段settingsなんて使わないから
文字列リソースと頭がゴッチャになってた。
まとめたいのなら、文字通り何かの型にまとめるべきかもね。
0497デフォルトの名無しさん
2009/12/14(月) 00:15:130498デフォルトの名無しさん
2009/12/14(月) 00:17:42インスタンスの値を必要とするならインスタンスメソッド。
そうでないならstaticメソッド。
例外はfactoryメソッドや比較用メソッド、だな。
0499デフォルトの名無しさん
2009/12/14(月) 00:22:49int a,b,c,d;//ほかにもいっぱい変数とかある
void func() //a,b,c,d・・・のどれかを使うならstaticじゃない、使わないならstatic
}
こんなんでいいよ
0500デフォルトの名無しさん
2009/12/14(月) 00:23:48引数だけで解決するならsatic。
だけど、
TestClass test = new TestClass();
test.Method1();
>>497
test.Method2();
TestClass.Method3();
test.Method4();
みたいに使うならわざわざMethod3をstaticにする必要ないと思ってる。
俺の個人的な意見。
適切なサブクラスをnewして返すみたいなCreateメソッドを
ファクトリークラス作らずに基本クラスに実装するならstatic
0501500
2009/12/14(月) 00:24:49まあ気にするな。
0502デフォルトの名無しさん
2009/12/14(月) 00:27:59予約語自体を日本語に書き換える方法ってあるだろうか
「if」を「もし」とか
0503デフォルトの名無しさん
2009/12/14(月) 00:29:49いやー、たのむから識別子は半角英数字でお願いしますお願いしますorz
0504デフォルトの名無しさん
2009/12/14(月) 00:31:19{}
または
{}
こんなソースが書きたいのかお前は。
公開 空虚 実行()
{
戻る;
}
面白そうだな。
0505デフォルトの名無しさん
2009/12/14(月) 00:32:45なでしこ使え
0506デフォルトの名無しさん
2009/12/14(月) 00:33:310507デフォルトの名無しさん
2009/12/14(月) 00:34:11コンパイラの前段階の処理に追加すればできなくはない
0509デフォルトの名無しさん
2009/12/14(月) 00:45:390510デフォルトの名無しさん
2009/12/14(月) 00:59:131・2人が粘着して叩いてるだけだろ。スルーしとけ
0511デフォルトの名無しさん
2009/12/14(月) 01:08:31回答ではなく、単なる思い付きだけど
gifって透過部分にも何らかの色が設定されてるよね?
もし透過部分の色を同じ色に統一してあるのなら、その色をMakeTransparentで指定したら
上手くいったりしないかね。
0512デフォルトの名無しさん
2009/12/14(月) 01:10:31settingsファイルをXMLエディタで開いて直接編集
0513デフォルトの名無しさん
2009/12/14(月) 01:16:340514デフォルトの名無しさん
2009/12/14(月) 01:18:210515デフォルトの名無しさん
2009/12/14(月) 01:27:21便利
0516デフォルトの名無しさん
2009/12/14(月) 01:32:42データ保持用クラスにデータ読み書き用のstaticメソッドまで一式自作してしまった俺が通りますよ。
0517デフォルトの名無しさん
2009/12/14(月) 01:37:02staticで実装するかどうかはともかく(普通は設定値を保持してるクラスのインスタンスメンバとして実装すると思うけど)、
まあそっちが普通だと思うけどね。
settigsはコントロールのプロパティとかちょこっとしたものを保存するにはいいけど、
設定値とかに使おうと思うと結局面倒で柔軟性がない。
0518デフォルトの名無しさん
2009/12/14(月) 02:42:360519デフォルトの名無しさん
2009/12/14(月) 03:58:430520デフォルトの名無しさん
2009/12/14(月) 04:23:37そのデータはどこに格納されてるの?
テキストファイル?
0521デフォルトの名無しさん
2009/12/14(月) 08:48:24特定のアプリの作者にそういうAPIを公開してもらう
それでなきゃマルウェア
0522デフォルトの名無しさん
2009/12/14(月) 08:58:13iniファイルより使いやすいものなんだがな
0523デフォルトの名無しさん
2009/12/14(月) 09:27:10ちゃんとインテリセンスまで効く代替のいいエディタってない?
0524278
2009/12/14(月) 09:29:420525デフォルトの名無しさん
2009/12/14(月) 09:45:39作ってMSにマークされるなりヘッドハントされるなりしてみたら?
0526デフォルトの名無しさん
2009/12/14(月) 09:46:440527デフォルトの名無しさん
2009/12/14(月) 09:48:570528デフォルトの名無しさん
2009/12/14(月) 09:50:10なぜか誰も答えているやつがいないので今頃回答を書いてみるが、
通常はデータを必要とする場所(例えばメインのフォームとか)でインスタンスとして持たせればいい。
オレの場合、オプションダイアログで設定を一括で変更する形式でデフォルトに戻すボタンもあるので
・現在の状態(Current)
・ダイアログでの変更前の状態(Prev)
・アプリケーションのデフォルト(Default)
という形で、それぞれアプリのデータを表すクラスにそれ自身の方でstatic変数として持たせている。
シリアライザ、デシリアイザはXMLSerializerを使って独自に実装している。
app.configを使ってるなら当然その流儀に従うことになるな。
0529デフォルトの名無しさん
2009/12/14(月) 09:51:090530デフォルトの名無しさん
2009/12/14(月) 10:50:170531デフォルトの名無しさん
2009/12/14(月) 11:21:14あのエディタはほんとひどい
0532デフォルトの名無しさん
2009/12/14(月) 11:26:130533デフォルトの名無しさん
2009/12/14(月) 11:43:07じゃあ聞くけど
半角スペース、改行記号、タブを可視化するにはどうするの?
任意の条件(正規表現などにマッチする文字列)で強調表示するにはどうするの?
n×mマスの長方形にコピー&ペーストするにはどうするの?
アウトラインの一覧を表示するにはどうするの?
行番号を任意の形式で表示するにはどうするの?
キーボードショートカットを任意に変更するにはどうするの?
0534デフォルトの名無しさん
2009/12/14(月) 11:50:47ストレス溜め込んで胃潰瘍で死んでろ
0535デフォルトの名無しさん
2009/12/14(月) 11:55:10普通にVisual Studioのスレで聞いてくれ。
蛇足ながら知ってる範囲で答えると、
>n×mマスの長方形にコピー&ペーストするにはどうするの?
Altキーを押しながらマウスでドラッグ
>アウトラインの一覧を表示するにはどうするの?
Ctrl+J、クラスビュー、オブジェクトビューなどを使用する
>キーボードショートカットを任意に変更するにはどうするの?
オプション-環境-キーボード
0536デフォルトの名無しさん
2009/12/14(月) 11:57:02ホントしょうもないな。
検索能力ゼロだな。
死んだ方がいい。
0537デフォルトの名無しさん
2009/12/14(月) 11:59:490538デフォルトの名無しさん
2009/12/14(月) 12:02:09全然(俺流)カスタマイズできないだからさらにイテェ
犬糞かぶれとかマジでこんな感じだよね
職場にもいるけどマジ死んで欲しい
0539デフォルトの名無しさん
2009/12/14(月) 12:02:390540デフォルトの名無しさん
2009/12/14(月) 12:04:420541デフォルトの名無しさん
2009/12/14(月) 12:05:59マゾなの?ドMなの?
0542デフォルトの名無しさん
2009/12/14(月) 12:09:470543デフォルトの名無しさん
2009/12/14(月) 12:09:500544デフォルトの名無しさん
2009/12/14(月) 12:17:520545デフォルトの名無しさん
2009/12/14(月) 17:04:230546デフォルトの名無しさん
2009/12/14(月) 17:16:430547デフォルトの名無しさん
2009/12/14(月) 17:17:00なかなか面白そうだと思うけど自分でどんなクラスを使えれば有効活用できるかわからん
.netフレームワークに入ってるやつらが優秀すぎて自分であれこれクラス作る必要性があまりないから
せっかく覚えた文法知識があまり役に立たないな。
0548デフォルトの名無しさん
2009/12/14(月) 17:19:28そういうのはわからんよね。
0549デフォルトの名無しさん
2009/12/14(月) 17:29:38それなりの規模にならないと真面目にクラス設計する必要ないしな。
業務システム作る、なんてことになると嫌でもそこらへんの必要性痛感すると思うよ。
0550デフォルトの名無しさん
2009/12/14(月) 17:40:11型にはめたり使い回しの効くようなガチガチの設計でないとそこまで真剣には使わないわな…
0551デフォルトの名無しさん
2009/12/14(月) 17:53:11良いと思うよ。
個人でWCFとかWFとか覚えようと思ったらそりゃオーバースペックな設計でもするしかないし。
0552デフォルトの名無しさん
2009/12/14(月) 18:23:49Formアプリで、デザイナにてTextBox1をForm1に貼り付け、
TextBox1の幅をForm1の幅に追従するように、
TextBox1.AnchorをTop,Left,Rightにします。
ビルドするとデザイナがリフレッシュされ再描写されるのですが、
TextBox1の幅がすごく伸びます。何回戻しても伸びます。
ときには幅を元に戻してるときにVSが落ちます。
VSのバグなんでしょうか。
VS2008です。.NET3.5です。
0553545
2009/12/14(月) 18:23:59dataGridView1.Columns[2].Resizable = DataGridViewTriState.False;
一番端のを要素2だとするとこんな感じでOKでした。
どうもありがとうございました。
0554デフォルトの名無しさん
2009/12/14(月) 18:50:17デザイナのことを言っているのかアプリ自体のことを言っているのかが不明。
デザイナ上のプロパティの設定と、イベントハンドラで書いてるユーザー定義のプロパティ変更がバッティングしてるんじゃない?
0555デフォルトの名無しさん
2009/12/14(月) 18:51:33同じことやってみたがおきないぞ
デザイナじでも実行時でも
OSとVS2008のSPと化の情報はどうなんだろ?
俺はVISTA SP1の VS2008SP1だけど
0556デフォルトの名無しさん
2009/12/14(月) 20:06:31ARGB形式をRGB形式に直して、
色を設定したいのですが、
setPixelv関数がRGBのみ対応で困っています。
どのようにすればいいでしょうか?
0557デフォルトの名無しさん
2009/12/14(月) 20:09:030558デフォルトの名無しさん
2009/12/14(月) 20:11:59アルファ値切り捨てるだけ?
0559デフォルトの名無しさん
2009/12/14(月) 20:13:58環境はWindowsXPでVisual studio 2008 Professionalを使っています。
現在、サーバーにあるmysqlのデータベースを読み込む、といったことをしようとしているのですが先に進むことができません。
どこで躓いているかというと、サーバーエクスプローラにて、接続の追加でサーバーとの接続を作ろうとしているのですが
そのデータソースの選択で、[Mysql Database]の項目がでてこず、先に進めません。
(ググってみたところ、Mysql Databaseの項目で接続するようだったので)
以前、Express Edition を使用して、コードにて接続していたときは
特に問題がなかったのでmysql側には問題はないと思われます。
そのままコードで接続すればいいという話なんですが、
今回はサーバーエクスプローラでつなごうと思っています。
非常に幼稚な質問と文章ですが、ご教授願いないでしょうか。
0560デフォルトの名無しさん
2009/12/14(月) 20:15:10そうです。切り捨てるだけなんですが、なんかできないんですよ。
0561デフォルトの名無しさん
2009/12/14(月) 20:17:43どういうコード書いてるのかちょっと貼れよ
0562デフォルトの名無しさん
2009/12/14(月) 20:22:07↓じゃ駄目なのかな
Color c = //省略
(uint)(c.R | c.G<<8 | c.B<<16)
0563デフォルトの名無しさん
2009/12/14(月) 20:23:24GDI+かWPF使えよ
0564560
2009/12/14(月) 20:33:53一応動作検証したら動きました。
もっと賢い方法が無いか確かめてみます。
しかしなんでC#はARGBなんでしょうかね。
0565デフォルトの名無しさん
2009/12/14(月) 20:36:55ARGBだとちょうど32ビットになるので効率がいい
わざわざアルファを削る意味がない
0566デフォルトの名無しさん
2009/12/14(月) 20:43:56そういうものを使わないけどクラスに関係あるもの→staticメソッド
0567560
2009/12/14(月) 20:45:50親切にありがとうございます。
そういう意味ですか。
やりたかった事は、たとえばあるキーを入力すると、
スクリーン領域に一時的に赤四角なりを表示する機能を付けたかったのですが、
デスクトップのデバイスハンドルを取得して、
先ほどのSetPixelVに放り込んでループしてみても、
思うような線や四角形が描けません。
キー入力周辺はグローバルフックを利用して、
他アプリのキー入力の乗っ取りをしているので、
キー入力機能は問題なく実装されているのですが、
その手の画像処理系のところで苦戦しています。
0568デフォルトの名無しさん
2009/12/14(月) 20:47:450569デフォルトの名無しさん
2009/12/14(月) 20:49:35他アプリ書き換えるなんて面倒臭い
0570560
2009/12/14(月) 20:53:19それ賢いですね。思い浮かびませんでした。
つまり何らかのオブジェクトを
ユーザが動かせない固定オブジェクトにして、
デスクトップに指定座標をポイントとして表示してやって、
自分の都合のいいタイミングで消すと・・・。
其の方が圧倒的に早いですね。ありがとうございます。
0571デフォルトの名無しさん
2009/12/14(月) 21:00:30自身の画面に線を引きたいと言っているのかオレにはわからんのだけど、オレが理解出来てないだけ?
0572560
2009/12/14(月) 21:05:42言葉足らずなので追加しますと、
最終目標としてはクライアント領域に線を引くことを、
更に別アプリが閉じたとしても線を引きたいのですが、
現在いきなりそこまで求めていると失敗に終わりそうなので、
単純にスクリーン領域に線を引くことに挑戦しています。
0573デフォルトの名無しさん
2009/12/14(月) 21:14:29このページで、19時以降のみ見せるメニューを追加とかいって
ItemA("項目4", 実行メソッド, () => DateTime.Now.Hour>=19)
とかやってるけど、これってラムダ式使う必要あるの?三つ目のbool型デリゲートでなくただのbool型の変数を引数にすりゃいいだけじゃないの?
なんでラムダ使ってるのかkwsk
0574デフォルトの名無しさん
2009/12/14(月) 21:15:260575560
2009/12/14(月) 21:19:12はい、私の言葉足らずです。
現在、デスクトップ領域に表示してみたところ、皆さんのお陰で美味い具合に行きました。
今度はウィンドウを閉じてもクライアント領域で表示できているようにできないか、
挑戦してみようと思っております。
0576デフォルトの名無しさん
2009/12/14(月) 21:19:41王様が裸で歩いていても裸だと言ってよいのは子供だけと寓話にもあるだろ。
0577デフォルトの名無しさん
2009/12/14(月) 21:20:31匿名メソッドとラムダ式の「例」だからだな。
実際にはこんな所でラムダ式を使う意味なんて皆無だろう
0578デフォルトの名無しさん
2009/12/14(月) 21:26:04そのクライアントって他のアプリのクライアント?
0579デフォルトの名無しさん
2009/12/14(月) 21:27:400580デフォルトの名無しさん
2009/12/14(月) 21:29:340581デフォルトの名無しさん
2009/12/14(月) 21:30:23だから>>571の内容だよ
>>572みたいなとんちんかんな内容じゃイラっと来るだけだろうが
0582560
2009/12/14(月) 21:30:39いや、デスクトップ座標への画像表示はもうできたので、
他アプリのクライアントへの画像表示をする予定です。
これは自分でやってみて無理なら質問します。
説明が遅れてすみませんでした。
0583デフォルトの名無しさん
2009/12/14(月) 21:30:460584デフォルトの名無しさん
2009/12/14(月) 21:31:26理解できないなら黙ってろ。
0585デフォルトの名無しさん
2009/12/14(月) 21:33:17お前のバカさ加減にイラっとくる
0586デフォルトの名無しさん
2009/12/14(月) 21:35:430587デフォルトの名無しさん
2009/12/14(月) 21:36:380588デフォルトの名無しさん
2009/12/14(月) 21:38:52メニューItemsNの構築はプログラム開始時に1回だけなんだから、
bool型の変数にすると、プログラム開始時刻が指定された時間内だったかどうかの判定になる。
そうではなく、メニューItemsNから実際のメニューを構築・表示するコードが別にあって、
メニューを表示するときに時間内かどうかの判定をするために、ラムダ式にしているのだろう。
0589デフォルトの名無しさん
2009/12/14(月) 21:39:35>>今度はウィンドウを閉じてもクライアント領域で表示できているようにできないか、
って何をしようとしているのか説明してくれ。
0590デフォルトの名無しさん
2009/12/14(月) 21:42:250591デフォルトの名無しさん
2009/12/14(月) 21:43:130592デフォルトの名無しさん
2009/12/14(月) 21:44:52再描画のことだろ。
エスパーできないなら黙ってたほうがいい。
0593デフォルトの名無しさん
2009/12/14(月) 21:45:470594デフォルトの名無しさん
2009/12/14(月) 21:50:27どこの田舎もんだよ
0595デフォルトの名無しさん
2009/12/14(月) 21:51:32なにかコンプレックスでもあるのかねw
0596デフォルトの名無しさん
2009/12/14(月) 21:53:280597デフォルトの名無しさん
2009/12/14(月) 21:54:110598デフォルトの名無しさん
2009/12/14(月) 21:57:040599デフォルトの名無しさん
2009/12/14(月) 22:01:280600560
2009/12/14(月) 22:01:32Form2 f2 = new Form2();
f2.FormBorderStyle = FormBorderStyle.None;
f2.SetDesktopBounds(x, y, 1, 1);
f2.BackColor = cr;
f2.Show();
かなりコードを端折りましたが(800ステップぐらいあるので・・・)、
単純にマウスクリックした時にフォームを色を変えて表示させました。
しかし表示されるフォームの高さと幅が1になりませんし、
デスクトップ上で表示される位置も滅茶苦茶。
マウスクリックしたところの座標を取得するために、
別関数でControl.MousePositionを利用し、其の値を保存して、
上記の関数に代入しています。
なぜマウスクリックした位置を基準に表示されないのでしょうか。
0601デフォルトの名無しさん
2009/12/14(月) 22:04:350602デフォルトの名無しさん
2009/12/14(月) 22:09:07マウスのイベントを受け取ったウィンドウを基準に座標は入ってくるから、
デスクトップ座標に変換が必要
0603デフォルトの名無しさん
2009/12/14(月) 22:09:140604デフォルトの名無しさん
2009/12/14(月) 22:10:24何使ってるか知らんが、データプロバイダの追加に失敗してんじゃないの
てか、スレチ
0605デフォルトの名無しさん
2009/12/14(月) 22:17:470606デフォルトの名無しさん
2009/12/14(月) 22:22:440607デフォルトの名無しさん
2009/12/14(月) 22:27:55って何が?
0608デフォルトの名無しさん
2009/12/14(月) 22:34:49System.Windows.Formsのタイマーを利用しt
極力時間を短くして実行させまくればいいの?もっといい方法ある?
0609デフォルトの名無しさん
2009/12/14(月) 22:37:130610デフォルトの名無しさん
2009/12/14(月) 22:37:280611デフォルトの名無しさん
2009/12/14(月) 22:41:01Application.Idleイベント
0612デフォルトの名無しさん
2009/12/14(月) 22:48:32thisが引数なの?
それとも引数はないの?
int型の拡張メソッド作ろうとしたら
10.add(3);
みたいになるけど、これは引数はint型?それとも本当はthis int x,int yってなってるから二つ?
どっち!?
0613デフォルトの名無しさん
2009/12/14(月) 22:52:25単に add(x, y) を x.add(y) と書けるようにするだけの構文糖衣。
両社に区別ない。
てか、そもそも、C++ の this->Method() だって、実体は Method(this) よ。
コンパイル結果的には。
0614560
2009/12/14(月) 22:54:43なかなか一筋縄にはいかないので、
一生懸命原因をいろいろ調べた結果、
任意指定でウィンドウを左隅に初期設定していないと、
そこからマウスクリックした位置との相対座標が狂うというものでした。
サイズに関しては、最大値と最小値を同一に設定すれば、
美味いこといけました。ありがとうございます。
0615デフォルトの名無しさん
2009/12/14(月) 22:55:570616デフォルトの名無しさん
2009/12/14(月) 22:58:20エスパーさんよ!
0617560
2009/12/14(月) 22:59:44最初からクリックした位置がデスクトップ座標になるように組んでいましたので、
其の点は問題ないかと。念のため。
0618デフォルトの名無しさん
2009/12/14(月) 23:17:270619デフォルトの名無しさん
2009/12/14(月) 23:55:26残念。それが一番まずい方法だ。
ウィンドウ制御のタイマーは不確定要素が多く、精度があげられない。
最低限専用のスレッドを用意して、System.Thread/System.Time系で頑張れ。
0620デフォルトの名無しさん
2009/12/15(火) 00:03:15ウィンドウメッセージを監視しつつループをぶん回すってのはよく見る
0621デフォルトの名無しさん
2009/12/15(火) 00:05:21IDEからコントロールとしてフォームに貼り付けると、
勝手にSynchronizingObjectが設定されてしまう。
// timer1
this.timer1.Enabled = true;
this.timer1.SynchronizingObject = this;
0622デフォルトの名無しさん
2009/12/15(火) 00:05:510623デフォルトの名無しさん
2009/12/15(火) 00:06:020624デフォルトの名無しさん
2009/12/15(火) 00:08:04string s="abcdefg";
s[3]='k'; //"abkdefg"
コンパイルできない。読み取りはできる。どうすればいい?
0625デフォルトの名無しさん
2009/12/15(火) 00:09:29それは罠とは思わんなあ。
そういう動作を望まないなら、わざわざデザイナ使わないでしょ。
「UIスレッドと同期してイベント発火しますよ」って明示するため以外に
あんな回りくどいことする理由は何もないんだから。
0626デフォルトの名無しさん
2009/12/15(火) 00:11:33Substring二回をConcatするのが手っ取り早いな
StringBuilder使ってもいいけど
fixedすると書き換えられるがこれって動作保証されてるんかねぇ
0627デフォルトの名無しさん
2009/12/15(火) 00:13:19だめ。
C#にconstポインタがないからいじれるけど、Stringの中身はimmutable
0628デフォルトの名無しさん
2009/12/15(火) 00:13:41こういうクラスって削除されないの?hashtableとかDictionaryに比べて使う価値あるの?
0629デフォルトの名無しさん
2009/12/15(火) 00:15:520630デフォルトの名無しさん
2009/12/15(火) 00:16:18Bitmap.MakeTransparent()って解除する方法ありますか?
0631デフォルトの名無しさん
2009/12/15(火) 00:20:280632デフォルトの名無しさん
2009/12/15(火) 00:20:40クラス消しちゃったら、その辺全部ビルドエラーになるけど?
ソースいちいち全部書き直してテストするのか君は。
0633デフォルトの名無しさん
2009/12/15(火) 00:22:03ありがとうございます
0634デフォルトの名無しさん
2009/12/15(火) 00:25:050635デフォルトの名無しさん
2009/12/15(火) 00:28:06そんな臭いソースのために仕様ずるずる引きずるよりビルドエラーにしちゃったほうがいいね
どうしても臭いソース使いたい人のための救済措置でビルドオプション付けるとかね
Obsoleteとかで中途半端にやるより基本使えませんというスタンスのほうが安全と思う
0636デフォルトの名無しさん
2009/12/15(火) 00:31:27業務だったらそんなこと言ってられんだろ
0637デフォルトの名無しさん
2009/12/15(火) 00:33:59むしろ業務こそそうすべき
0638デフォルトの名無しさん
2009/12/15(火) 00:40:26お前古いCOBOLのシステムとか見たこと無いのか?
どこからも参照されてないはずなのに削除すると
バグる謎のフラグとか、誰も理解できないけどなぜか動いてるコードが腐るほどあるぞ
0639デフォルトの名無しさん
2009/12/15(火) 00:43:57をするんだなと思う。
hoge(); //何故だかわからんが削除すると動かない
0640デフォルトの名無しさん
2009/12/15(火) 00:45:48反論になってないなw
1.1で参照されてないのに削除したらバグるフラグがあったらどうするんだって?
メモリーぶっこわしてるだけだろw
0641デフォルトの名無しさん
2009/12/15(火) 00:46:140642デフォルトの名無しさん
2009/12/15(火) 00:46:18あるあるwww
0643デフォルトの名無しさん
2009/12/15(火) 00:51:540644デフォルトの名無しさん
2009/12/15(火) 00:52:48それ、MSDNのどこに書いてある?
オレもC#で精度のよいSleepはどうするべきか考えているところ。
いい情報があると助かります。
0645デフォルトの名無しさん
2009/12/15(火) 00:53:02このご時世時間なんか満足にとれんことも多いよ
たぶん>>638だってきれいに作り直してテストする時間があればそうしたいにきまっている
つうか、みんなそうだろう・・・・
それを知らないというんであればよっぽど恵まれている環境だろうから 逆にうらやましくはあるけど
0646デフォルトの名無しさん
2009/12/15(火) 00:56:59スレタイも読めないのか?
仕事の愚痴はブログにでも書いとけよ
ガキか
0647デフォルトの名無しさん
2009/12/15(火) 00:57:36そういう臭いコードの保守をすることがあるのは事実として
それが1.1のハッシュテーブルを使用禁止にする問題とどう関係する?
基本的に禁止、ビルドオプションで救済、これunsafeと同じようなものだが問題あるの?
どうせ「おまじない」に頼るなら3.5にした時点でメモリー状況変わっておかしくなるよw
0648デフォルトの名無しさん
2009/12/15(火) 00:59:29とりあえず自分がやってる方法
APIで無理やりタイマの精度をあげる
↓
ストップウォッチで計測開始
WaitOneで止めてみる
計測終了
↓
APIでタイマの精度を元に戻す
今ん所はこれでCPUの使用率上げずにそこそこの精度は出てるかな
もちろんほかのサービスとか全部切った上でだけど
もっと精度必要なら何と言えばいいのかわからんけど、スリープとかなんか使わずに経過時間ごとに処理をして祖霊が今またループさせるとかそんな感じ
どっちかっていうと底辺な感じだからもっとレベル高いのがこのスレには多いと思うからあとはそっちにまかせるw
MSDNつうか、SLEEPのライブラリの説明が指定した時間以上で発生するかんじだったはず
であとはOSの分解能とかに依存するんだったような気がしたけどどこにあったかは忘れた
説明下手糞すぎてすまん
0649デフォルトの名無しさん
2009/12/15(火) 01:01:02ポリモーフィズムみたいなことができるけどこれもポリモーフィズムっていうの?
class A{
public void func(){//バーカと表示}
}
class B{
public void func(){//アーホと表示}
}
dynamic d=new A();
d.func();
d=new B();
d.func();
こんな感じ
0650デフォルトの名無しさん
2009/12/15(火) 01:02:15そういうのはduck typingという。
オブジェクト指向スクリプト言語の世界では語り尽くされている。
0651デフォルトの名無しさん
2009/12/15(火) 01:15:26EntryPointNotFoundという例外で強制終了してしまうのですが、
これを回避するにはどうしたらいいでしょうか?
よろしくお願い致します。
0652デフォルトの名無しさん
2009/12/15(火) 01:26:590653デフォルトの名無しさん
2009/12/15(火) 01:41:220654デフォルトの名無しさん
2009/12/15(火) 01:56:48あり得ないだろそんな判断。
問題があるクラスならObsoleteにするって判断はあり得るけど。
ってか既に正式に存在するクラスを消せとか本気で思ってるわけ?
ちょっと信じられないんだけどな。
あとHashtableはDisctionaryに対する利点あったりするぞ。
それは単一書き込みと複数読み取りがスレッドセーフになってること。
それだけのためにDictionaryの代わりにHashtableを使いたいことがある。
まあ.NET4ではConcurrentなディクショナリがやっと追加されるから、
そうなったら本当に要らなくなるけどな。
でもそれは削除していいってことじゃない。
0655デフォルトの名無しさん
2009/12/15(火) 01:56:590656デフォルトの名無しさん
2009/12/15(火) 01:58:580657デフォルトの名無しさん
2009/12/15(火) 02:01:05この性質はキャッシュ的な機能を実装する際に非常に重要。
もっとも、.NET2.0になってしばらくの間この仕様は怪しくなったりもしたがw
0658デフォルトの名無しさん
2009/12/15(火) 02:05:32オブジェクトを使う側がサブクラスを意識せずに
共通のメソッドを使う場合、FactoryMethodって呼ばれるデザパタを使うのさ。
サブクラスオブジェクトの初期化処理がほとんど同じ場合には
new があちこちに分散しなくて済むっていうすばらしいメリットがある。
Db接続のIDbConnectionとかIDbCommandなんていい例だと思うがね。
MicroSoftが型付DataSetとDataAdapter作ったことで
その変のクラスが勝手にSqlDbConnectionなんかになっちゃって
何やってんだMSって思ったが。
0659デフォルトの名無しさん
2009/12/15(火) 02:06:470660デフォルトの名無しさん
2009/12/15(火) 02:08:200661デフォルトの名無しさん
2009/12/15(火) 02:09:39削除なんてどこにも書いてない
基本的に使用禁止といっている
上位バージョンに移行して、どうしても使いたい人はビルドオプションで使えるようにすれば
0662デフォルトの名無しさん
2009/12/15(火) 02:17:54zipにmscorlibやSystem.Windows.Formsを同封しとけばいい?
0663デフォルトの名無しさん
2009/12/15(火) 02:20:17C#のIDEがVSだけだと思うなよ。
実際に使うと警告出るプロパティとかメソッドあるけどね。
推奨されていませんって。
やるならその程度でいいと思う。
まあ実際コレクション作るときにObjectModel.Collection知らずに
いまだにIEnumerableとIEnumeratorガリガリ実装してる人いるけどね。
0664デフォルトの名無しさん
2009/12/15(火) 02:20:280665デフォルトの名無しさん
2009/12/15(火) 02:22:09>XPやVISTAならどんなWindowsでも動くのか
XPやVISTAって言ってるのに「どんなWindowsでも」ってなんだよw
0666デフォルトの名無しさん
2009/12/15(火) 02:23:53柔軟な思考出来ないなあ
Obsoleteに変わる属性を用意して、それが付与されている場合に
VSがエラー出す振る舞いにすればいいだろ
0667デフォルトの名無しさん
2009/12/15(火) 02:24:26一個でもそういうのあったらもう何もチェックされなくなって意味ないし、
個別にオプションはさすがにやりすぎだと思うし、
せいぜいObsoleteレベルだろう、エラーはやりすぎ。
0668デフォルトの名無しさん
2009/12/15(火) 02:26:52そのたびにいちいちビルドエラーになるのか?
そういうのはコード解析の範疇だろう。
0669デフォルトの名無しさん
2009/12/15(火) 02:28:24でいいんじゃないの?
0670デフォルトの名無しさん
2009/12/15(火) 02:30:54もともと>>628の必要ないクラスは削除しないの?
っていう提起から始まった話題だ。
削除はしないほうがいいって結論で終止符打とうか。
0671デフォルトの名無しさん
2009/12/15(火) 02:31:19class A{
public Action<int> func;
}
A.func= ラムダ式とかAnonyデリゲートとか
A.func();
A.func=違うもの
A.func();
これはすごいな
0672デフォルトの名無しさん
2009/12/15(火) 02:32:38使い道がイマイチ思い付かないんだが・・・・
0673デフォルトの名無しさん
2009/12/15(火) 02:32:450674デフォルトの名無しさん
2009/12/15(火) 02:32:580675デフォルトの名無しさん
2009/12/15(火) 02:33:24まあそういう話になるんだよねw
>>670
誰も削除しろって主張してないし
そもそも論点そこじゃないw
0676デフォルトの名無しさん
2009/12/15(火) 02:49:33Obsoleteの警告を/warnaserrorでエラーにするのはダメか?
0677デフォルトの名無しさん
2009/12/15(火) 02:52:02if文やswitch文を消せる。まぁそれだけならインターフェイスを使ってもできるが
たくさんクラス作らなくてもいい利点とかがある。
0678デフォルトの名無しさん
2009/12/15(火) 02:57:33Form1:Formで
Form1.Loadイベント時になんらかの処理を行いたい場合って
Form1.OnLoadをoverrideするのと
Form1_LoadメソッドをAddHandlerするのって
どっちが推奨されるんだろう。
0679デフォルトの名無しさん
2009/12/15(火) 02:57:47現状そういう対処が現実的だね
0680デフォルトの名無しさん
2009/12/15(火) 03:02:10積極的に使うようなものじゃないと思うけど
mshtmlとかでDOM扱う時に簡素に書けそうね
オレは使わないけど
0681デフォルトの名無しさん
2009/12/15(火) 03:06:04本質的に多態じゃないとできないことってあるの?
0682デフォルトの名無しさん
2009/12/15(火) 03:14:55WriteLineメソッドの引数はObject型だけでいいね!
0683デフォルトの名無しさん
2009/12/15(火) 05:26:22AとB同時押しとかw
0684デフォルトの名無しさん
2009/12/15(火) 05:37:310685デフォルトの名無しさん
2009/12/15(火) 06:45:22ガイドラインに従うなら派生クラスではオーバーライド
まあ、Form1みたいな使い捨てクラスなら好きにすればいいと思うよ
(デザイナ使うとイベントになるし)
>>683
スレ違いw
0686デフォルトの名無しさん
2009/12/15(火) 08:10:40ここでどーよ?どーよ?言ってもかわんないから。
0687デフォルトの名無しさん
2009/12/15(火) 08:36:562+3の+は演算子で
add(2,3)はメソッド
なんか変な書き方をするメソッドが演算子なのか?
0688デフォルトの名無しさん
2009/12/15(火) 08:51:28メソッドはオブジェクトに紐付いてるから
2+3
2.add(3)
がどっちかっていうと等価
0689デフォルトの名無しさん
2009/12/15(火) 10:38:52プログラミング的に見ると、
演算子は組み込み型の場合は関数呼び出しじゃなくて1命令にコンパイルされたりするとか、
+ と * で優先順位がついてたりするとかが差。
非 static で virtual なメソッドはまたちょっと変わってくるけど。
数学的に見るとあんまり差はない。
中置記法してるだけ。
0690デフォルトの名無しさん
2009/12/15(火) 10:45:110691デフォルトの名無しさん
2009/12/15(火) 10:51:57情報工学というのは、すべからく言葉遊びさ。
0692デフォルトの名無しさん
2009/12/15(火) 10:56:370693デフォルトの名無しさん
2009/12/15(火) 11:05:41本来は「must be」だ。
で、691の場合はどちらの意味で当てても意味は通る。
0694デフォルトの名無しさん
2009/12/15(火) 11:06:220695デフォルトの名無しさん
2009/12/15(火) 11:14:420696デフォルトの名無しさん
2009/12/15(火) 14:06:280697デフォルトの名無しさん
2009/12/15(火) 14:09:50文法や書き方、プログラムのしての性質にはある程度共通性があるが、
その他は全く違う。
持っていけるのは自分の頭だけだな。
片方を知っていれば、もう片方は勉強はしやすいと思う。
0698デフォルトの名無しさん
2009/12/15(火) 14:10:24うん
0699デフォルトの名無しさん
2009/12/15(火) 14:11:20C# -> Java は、言語仕様よりアプリケーションフレームワークのコツを学ぶのが大変。
Java -> C# は、フレームワークがやってくれてたところをどうするか考えるのが大変。
0700デフォルトの名無しさん
2009/12/15(火) 14:11:28文法は違和感がないかな
ASP.NETとかはちょっと独特の所あるんで戸惑った
0701デフォルトの名無しさん
2009/12/15(火) 14:12:50どうすんだよ
0702デフォルトの名無しさん
2009/12/15(火) 14:18:23関数ポインタなんてそもそも使わないし、Delegate は使いたければ CGLIB みたいのもあるし。
0703デフォルトの名無しさん
2009/12/15(火) 14:31:060704デフォルトの名無しさん
2009/12/15(火) 14:39:05VB.NETでだいぶプログラムが書けるようになったし移行しようかな
0705デフォルトの名無しさん
2009/12/15(火) 14:49:12使い捨てならどうせ同じような名前になるしな。大文字と小文字変えただけみたいな。
0706デフォルトの名無しさん
2009/12/15(火) 15:01:59たしかに使わないと不可能なことは何もないが
使わなかったら本来20行程度で済むものが40行くらいに膨れ上がったりソースコードぐちゃぐちゃになるだろ・・・
そりゃちっちゃいプログラムなら恩恵少ないだろうが
何千行もあるソ−スコードで関数ポインタを使えば多少見やすくなる場所でもまったく使わないで書くなんてすごすぎる。
goto文があるからifもforもいらないつって全部gotoで書くくらいばかばかしい
0707デフォルトの名無しさん
2009/12/15(火) 15:04:02使い道ってあるの?
0708デフォルトの名無しさん
2009/12/15(火) 15:12:36巨大な仕様書を毎回でっち上げるJava陣営と比べて、
.NET Framework/C#はお互いに必要とするものを必要最小限のコストで追加していってるから
使う側は理解しやすいと言えるんじゃないかと思う。
LINQなんかは最たるものだ。
0709デフォルトの名無しさん
2009/12/15(火) 15:15:55どれも便利
0710デフォルトの名無しさん
2009/12/15(火) 15:23:34つまり、関数ポインタうんぬん言ってる奴は、よくわかってないバカってこと。
0711デフォルトの名無しさん
2009/12/15(火) 15:36:52gcnew MyDelegate(関数ポインタ, this)
でデリゲートの出来上がり。
javaの場合はinterfaceを使ったObserverパターンで対応。
C#では内部クラスが外部クラスのthisを持たないから、
同じことをしようとするとめんどくさくなるな。
0712デフォルトの名無しさん
2009/12/15(火) 15:42:290713デフォルトの名無しさん
2009/12/15(火) 15:43:320714デフォルトの名無しさん
2009/12/15(火) 15:44:30仕様変更に対する姿勢は結構違うよね。JavaとC#は。
それぞれ一長一短だと思ってはいるけど。
細かい文法の違いはあるけど他言語と比べりゃ殆んど一緒だよね。
だから >>699 に一票だな。
0715デフォルトの名無しさん
2009/12/15(火) 15:47:46IWeakEventListener以外の方法ありますか?
0716712
2009/12/15(火) 15:49:46>>714
俺はJAVAしか開発現場でやったことないけど、
JAVAとC#を比較するほうが間違ってると思う。
大本からしてJAVAは環境に依存しないのが売り。
それに対して、C#はマイクロソフト製品しか使えないが、
フレームワークの概念があまり無いが、.NETが優れているため、
開発にかかる時間が大幅に削減されるというメリットが。
そもそもマイクロソフト製品しか使わないくせに、
JAVA言語で組んでくれとかいうやつらもいる。
さらに、なぜかユーザインタフェースはC#で作っているという。
何がしたいのかなぞなんだが、上の方が決めたことなので逆らえない。
結局は上が決めたことが採用されるという悲しい実態。
不毛な論議だと思うが、なんでそんなに真剣なのwwww
0717デフォルトの名無しさん
2009/12/15(火) 15:51:14かわいそうに・・・・
日本語も不自由になっていらっしゃる・・・・
0719デフォルトの名無しさん
2009/12/15(火) 15:54:47まぁそうピリピリすんなよ?
>>382は回答つくといいね
0720デフォルトの名無しさん
2009/12/15(火) 15:54:57言ってる意味がよく分からん
WeakEvent使わないのなら普通にイベントに+=すればいいんじゃね?
0721デフォルトの名無しさん
2009/12/15(火) 15:57:57何を言ってるんだ。
0722712
2009/12/15(火) 15:58:05そのレベルで悩む開発者が、「乗り換え難しいですか?」なんか言わないだろ。
質問がナンセンスだと思う。
質問者の癖に偉そうでなんだが、JAVAと比較されたので単純にむかついた。
0723デフォルトの名無しさん
2009/12/15(火) 16:01:580724デフォルトの名無しさん
2009/12/15(火) 16:01:590725デフォルトの名無しさん
2009/12/15(火) 16:02:57>>712はそんなにJavaが好きなのか。
0726デフォルトの名無しさん
2009/12/15(火) 16:03:06なんでそんなゆがんだ考え方になってるかわかんないけど
ひとそれぞれだ
興味があるだけでもいいじゃないか
いろんな言語でいいPGかける人口が増えてくれれば単純にそれでいいと思う
0727デフォルトの名無しさん
2009/12/15(火) 16:03:440728デフォルトの名無しさん
2009/12/15(火) 16:04:24とか
YYってどうやるんでしたっけ?
ぐらいの雑談でマジギレ出来るのがプログラマ
0729デフォルトの名無しさん
2009/12/15(火) 16:04:55イベント
0730デフォルトの名無しさん
2009/12/15(火) 16:05:06コールバックの実装じゃね?
説明するときはソートの順番変更をよく引き合いにだすよ。
0731デフォルトの名無しさん
2009/12/15(火) 16:05:120732デフォルトの名無しさん
2009/12/15(火) 16:06:400733デフォルトの名無しさん
2009/12/15(火) 16:07:260734デフォルトの名無しさん
2009/12/15(火) 16:08:56たとえば分業の時
自分の担当じゃない部分をデリゲート1文入れておけば
他者がそのデリゲートに自分で書いた関数を突っ込んで使う
自分で使うときも使い回しできそうな部分以外をデリゲートにしておいてテンプレートとして使ったりも出来る
0735712
2009/12/15(火) 16:10:06「基本的に言語はツールなんだから何だってやれよ」っという考え方ですが、
「この言語とこの言語はどちらが扱いやすいですか」的な質問は、
会社でもよくされる言われなれてることなので不愉快なだけ。
0736デフォルトの名無しさん
2009/12/15(火) 16:12:31まあカルシウムとろうね。
0737デフォルトの名無しさん
2009/12/15(火) 16:14:17楽して良い効果上げるのはエンジニアの基本なんだが
0738712
2009/12/15(火) 16:18:24それは単に.NETが優秀なだけであって、
C#という言語が優秀なわけじゃないだろ。
第一、言語に貴賎は無いしな。
C#に関しては開発者が少ないから、仕事が回ってくるだけ。
需給率の問題。現状教育してまでC#で作る必要は無いが、
其の中でもC#を勉強していますって人がいたら、
即効で仕事に使われるのは事実で、
そういう意味で人気があるだけ。
市場を把握しろよ。
0739デフォルトの名無しさん
2009/12/15(火) 16:18:31であるからこそ一般社会でもFAQであり、
このスレでも質問される可能性が高いわけだろ?
まあカリカリすんな。
0740デフォルトの名無しさん
2009/12/15(火) 16:19:10SendInput() の使い方もわかんないやつが、何言ったって説得力皆無。
0741712
2009/12/15(火) 16:20:31そもそも俺が今作ってるもので、
使ってる言語はC#なんだけどね。
そもそもC#でしか作れないものじゃないから、
別に何の言語でもいいんだけど。
ちょっとカリカリしたが、
JAVA言語はしばしば死語として、
.NET系の連中に叩かれることがあるから、
その辺で敏感なのかなぁとか。
0743デフォルトの名無しさん
2009/12/15(火) 16:22:060744デフォルトの名無しさん
2009/12/15(火) 16:22:13>それは単に.NETが優秀なだけであって、
>C#という言語が優秀なわけじゃないだろ。
それでいうとJAVAのフレームワークが優秀なだけでJAVA言語が
というようになるわけだが…
C#の開発者が少ないというのはちょっと・・・・
まぁ思い入れがあるのはいいと思うけど栄養偏るの良くないとおもうよ
0745712
2009/12/15(火) 16:24:25>それでいうとJAVAのフレームワークが優秀なだけでJAVA言語が
というようになるわけだが…
其の通りだと思うよ。
そもそも開発者とか気取ってるけど、
言語とか開発環境とかフレームワークとかいう、
「道具」を使ってるだけだろ。
というか俺は其の程度の仕事しか回されない。
0746デフォルトの名無しさん
2009/12/15(火) 16:24:48この業界で食ってるのならなおさら。
0747デフォルトの名無しさん
2009/12/15(火) 16:26:16うぜえ
0748デフォルトの名無しさん
2009/12/15(火) 16:27:02こういうバカがC#使うから、C#自体がバカにされるんだな。
0749デフォルトの名無しさん
2009/12/15(火) 16:27:05一応はずすが、お前みたいな無能な奴が煽るからだろ。
0750デフォルトの名無しさん
2009/12/15(火) 16:27:06>C#に関しては開発者が少ないから、仕事が回ってくるだけ。
>需給率の問題。現状教育してまでC#で作る必要は無いが、
>其の中でもC#を勉強していますって人がいたら、
>即効で仕事に使われるのは事実で、
>そういう意味で人気があるだけ。
あほか。
言語で仕事が決まるのは一番低層だけだ。
0751デフォルトの名無しさん
2009/12/15(火) 16:27:490752デフォルトの名無しさん
2009/12/15(火) 16:28:08はぁ?
C#自体が馬鹿にされることは無いと思うが。
俺はC#は言語として新しいし注目してる。
馬鹿にされるとしたらそれを使って書いてるお前じゃね?
0753デフォルトの名無しさん
2009/12/15(火) 16:28:330754デフォルトの名無しさん
2009/12/15(火) 16:29:45ここ何スレだっけ?
>>712他所で質問したんならさっさとそっち行けよ
0755デフォルトの名無しさん
2009/12/15(火) 16:30:28何言ってるのこの人。
お前以外の奴らが優秀だからここでレスして質問してるんだよ。
0756デフォルトの名無しさん
2009/12/15(火) 16:30:35と勝手に想像した
0757デフォルトの名無しさん
2009/12/15(火) 16:32:40>>716
0758デフォルトの名無しさん
2009/12/15(火) 16:33:280759712
2009/12/15(火) 16:33:32俺の投稿で不愉快被った連中すまない。
先ほどの件だが、SetKeyboardStateで調べればいいだけらしい。
みんなありがとう。
0760デフォルトの名無しさん
2009/12/15(火) 16:33:580761デフォルトの名無しさん
2009/12/15(火) 16:34:21そうなのか?
0762デフォルトの名無しさん
2009/12/15(火) 16:48:52まあ、とりあえず思ったこと書くと、
名前もまともに書けないものを擁護しているのは滑稽だな>JAVA
0763712
2009/12/15(火) 16:51:16ネットワークケーブルで首括るから許してくれよ。
それじゃーな。アホども。
0764デフォルトの名無しさん
2009/12/15(火) 17:09:29SendInputのかわりにSetKeyboardState?
同じスレッドじゃないと使えないものと、別プロセスで使うのが主なもので代わりになるのか。
まあ同じプロセス内なら何とかなるけど、それじゃそもそもSendInputには至らないしなあ
0765712
2009/12/15(火) 17:16:46ここ全然使えないわ。
もう来ないよ。
0766デフォルトの名無しさん
2009/12/15(火) 17:24:450767712
2009/12/15(火) 17:57:57すみませんが、私は投稿してません。
SendInputに関してですが、フラグとかその辺の入れ方がどうもおかしいみたいでして、
その辺の理解を深めて使用していきたいと思います。
それに入力の個数を入れて、配列を放り込んでやったらいけそうな気もします。
最初に常に入力個数一個しか指定してなかったので駄目駄目だったわけですが。
ありがとうございました。以後このコテははずしますので反応しないようにしてください。
0768デフォルトの名無しさん
2009/12/15(火) 18:07:200769デフォルトの名無しさん
2009/12/15(火) 18:10:180770デフォルトの名無しさん
2009/12/15(火) 18:12:07エラー:オブジェクトインスタンスが…以下略
0771デフォルトの名無しさん
2009/12/15(火) 18:14:08arashi[0]= () => Console.WriteLine("最後にもう一言。ここぜんぜんつかえないわ。もうこないよ");
arashi[0]();
0772デフォルトの名無しさん
2009/12/15(火) 18:19:250773デフォルトの名無しさん
2009/12/15(火) 18:23:03配列やポリモーフィズム使えば理論上はifやswitchをまったく使わなくても複雑な条件分岐をするプログラムが組めるな。
0774デフォルトの名無しさん
2009/12/15(火) 18:27:280775デフォルトの名無しさん
2009/12/15(火) 18:27:55それはすげぇ・・・
0776デフォルトの名無しさん
2009/12/15(火) 18:28:59そういうのをState/Strategyパターンという。
ただし、C#の場合はイベントハンドラを活用して動的に切り替えることで、
Stateパターンで必須となるクラス分けすら必要なくなる。
その分そのクラスがクソ長くなるけどな。
0777デフォルトの名無しさん
2009/12/15(火) 18:38:58なんだ。せっかく大発見したのにすでに研究されつくして名前もついてたのか。残念。
0778デフォルトの名無しさん
2009/12/15(火) 18:40:25逆に考えるんだ
そのパターンに自分で気づいたのはスゲェと
0779デフォルトの名無しさん
2009/12/15(火) 18:50:580780デフォルトの名無しさん
2009/12/15(火) 18:56:58返しのレベルですぐわかる
0781デフォルトの名無しさん
2009/12/15(火) 19:07:17名前を付けて共通言語化したのはよくやったと思うけどねえ。
0782デフォルトの名無しさん
2009/12/15(火) 19:37:47MSとライセンス契約を結んでWPFのコンポーネントを取得するか、
どちらかになるのでしょうか。
0783デフォルトの名無しさん
2009/12/15(火) 19:57:37こんなんでも使えば?
0784782
2009/12/15(火) 19:59:18ありがとう。ライセンスを確認したり、検討してみます。
0785デフォルトの名無しさん
2009/12/15(火) 20:37:580786デフォルトの名無しさん
2009/12/15(火) 21:00:450787デフォルトの名無しさん
2009/12/15(火) 21:28:10無理
C#の言語仕様はGC前提だからGCがないと言語仕様を満たせないのでC#とは呼べない
0788デフォルトの名無しさん
2009/12/15(火) 21:42:37組み込みとかだとそういうのの方がいいような気もするけど
最近はそうでもないんだろか
0789デフォルトの名無しさん
2009/12/15(火) 21:45:180790デフォルトの名無しさん
2009/12/15(火) 22:17:110791デフォルトの名無しさん
2009/12/15(火) 22:19:04へえ
そうなんだ
0792デフォルトの名無しさん
2009/12/15(火) 22:21:27Javaはその逆
0793デフォルトの名無しさん
2009/12/15(火) 22:21:430794デフォルトの名無しさん
2009/12/15(火) 22:22:410795デフォルトの名無しさん
2009/12/15(火) 22:24:530796デフォルトの名無しさん
2009/12/15(火) 22:26:55ソースが汚くなりやすいとか?
0797デフォルトの名無しさん
2009/12/15(火) 22:26:570798デフォルトの名無しさん
2009/12/15(火) 22:32:110799デフォルトの名無しさん
2009/12/15(火) 22:34:070800デフォルトの名無しさん
2009/12/15(火) 22:35:400801デフォルトの名無しさん
2009/12/15(火) 22:36:26実行速度もな
0802デフォルトの名無しさん
2009/12/15(火) 22:41:03C++の補助が充実してるならよろこんでそちらを使いますよ
0803デフォルトの名無しさん
2009/12/15(火) 22:44:150804デフォルトの名無しさん
2009/12/15(火) 23:05:00家族のためにC#でなんとかしようと思う
0805デフォルトの名無しさん
2009/12/15(火) 23:29:55同じ会社が作ってるのに…
とくに整形
0806デフォルトの名無しさん
2009/12/15(火) 23:34:580807デフォルトの名無しさん
2009/12/15(火) 23:41:310808デフォルトの名無しさん
2009/12/15(火) 23:53:31XNAを使えばいいの?
0809デフォルトの名無しさん
2009/12/15(火) 23:56:33それならWPFでいいんじゃね?
0810デフォルトの名無しさん
2009/12/16(水) 00:01:07単にGPU使いたいだけなら>>809
ゲームならXNA貼り付けもあり。
0811デフォルトの名無しさん
2009/12/16(水) 00:09:23WPF調べてみますthx
0812デフォルトの名無しさん
2009/12/16(水) 00:31:39専用のSDKが必要だけど普通はC++用だろうからC#では無理
0813デフォルトの名無しさん
2009/12/16(水) 00:35:56たかだか40kHz-16bit-2chだし、Win95の時代でも普通にソフトシンセが軽く動いてたのを
思うとそうでもない気もするけど。
まあもちろん処理内容次第なんだろうけど・・・
0814デフォルトの名無しさん
2009/12/16(水) 00:46:06とかかくときusing のあとインテリセンスが自動にならないんだけど・・・
Ctrl+K,Lを押さないとダメ。System.とうつと表示されるんだけど自動インテリどうやんの?
0815デフォルトの名無しさん
2009/12/16(水) 00:48:29ネイティブコードで書いてみるべき
0816デフォルトの名無しさん
2009/12/16(水) 00:49:10そもそも using を手で書くことなんてまずないだろ
0817デフォルトの名無しさん
2009/12/16(水) 01:01:42スリープすると、すべてのスレッドがとまって困っています。
0818デフォルトの名無しさん
2009/12/16(水) 01:26:03自動じゃないけど、Ctrl+[Space]じゃダメ?
0819デフォルトの名無しさん
2009/12/16(水) 01:28:21止まらないよ。
デバッガで止めてるだけじゃないのか?
0820デフォルトの名無しさん
2009/12/16(水) 01:47:20ほんまだ。
デバッガでは正常に動くのに普通に起動して使用するとハングる。なぜwww
0821デフォルトの名無しさん
2009/12/16(水) 02:22:14どんなのか見んと何も分からんが。
0822デフォルトの名無しさん
2009/12/16(水) 02:33:30MyArray[] a =new MyArray[100];
for(int i=0;i<100;i++){
a[i]=new MyArray();
}
これをforeachに書き換えるにはどうやる?
foreach(int i in a)
a[i]=new MyArray();
ってやってもうまくいかない
0823デフォルトの名無しさん
2009/12/16(水) 02:49:24foreach(MyArray m in a)
foreachの中ではこれができなくなるよ
a[i]=new MyArray();
0824デフォルトの名無しさん
2009/12/16(水) 02:53:57そうなの?usingされてない名前空間のクラスを使うときどうすんの
0825デフォルトの名無しさん
2009/12/16(水) 04:27:44使いたいクラスを入力してShift+Alt+F10かマウスオーバーで「選択した項目をバインドする」と追加される。
タイプ数的には「us[Space]sy[Ctrl+Space];」の方が少ないし、正確なクラス名覚えて無くても大丈夫だけど
usingのためだけに一々ファイル先頭に行く必要がなく、思考を中断させられない というのは大きい。
0826デフォルトの名無しさん
2009/12/16(水) 04:45:100827デフォルトの名無しさん
2009/12/16(水) 05:07:42あるある。
というか名前空間と同じ文字列がクラス名にも入ってたりすることが往々にしてw
0828デフォルトの名無しさん
2009/12/16(水) 09:13:01クラス名を先に打つ。
その行、エラーになるけど、打ったクラス名の上で Ctrl+ .
もしくは、右クリックして「競合の解決」。
0829デフォルトの名無しさん
2009/12/16(水) 09:14:51ショートカット初めて知ったわ
0830デフォルトの名無しさん
2009/12/16(水) 09:33:540831デフォルトの名無しさん
2009/12/16(水) 10:24:09麻雀用語とかの対応する英語が無い単語の場合、ローマ字で変数名とか要素名書いてたんですが
シンボル名にユニコードが使えるわけだし以下みたいにしたいです。
enum 待ち { 嵌張, 辺張, 両面, ... };
多分非日本語圏の人と共同作業するとかライブラリ化する場合こういうのだと辛そうですが・・・
0832デフォルトの名無しさん
2009/12/16(水) 10:26:25C++みたいに
enum apb{ a, b, c, d};
って宣言して、
array[a]とかできなくて困ってる
0833デフォルトの名無しさん
2009/12/16(水) 10:29:23そーゆー使い方はあんまりしない
専らフラグとか状態変数に使うと思う。
array[a] みたいなのだったら Dictionary 使うか
自前のクラスで indexer 作るか
素直にプロパティにする方がいいんじゃない?
配列の添字で中身を区別するなんてのはちょっとC言語時代に先祖返りしてる気が。
0834デフォルトの名無しさん
2009/12/16(水) 10:30:192バイト文字は使えても使わないのがお約束
コーディング規約は会社にもよるし自分で決めたコーディング規約に従うなら
使っても構わないと思うけどね
0835デフォルトの名無しさん
2009/12/16(水) 10:31:17日本でしか使わないなら日本語使えばいいじゃん。
特に enum 名は日本語によくする。
>>832
なんか enum の使い方として今一だと思うけども・・・
やりたい場合は (int) で整数にキャスト効くからそれでやればいい。
C の fopen(filename, "w"); みたいに、意味不明なフラグ文字列使わなくても、
File.Open(filename, FileMode.Write) みたいに書けるってのがもともとの意義なんだが。
0836デフォルトの名無しさん
2009/12/16(水) 10:32:04>2バイト文字は使えても使わないのがお約束
これなんで?
0837デフォルトの名無しさん
2009/12/16(水) 10:32:20いささか古いお約束だなぁ。
会社で禁止って言われて内なら2バイト文字をためらう理由、いまどきないぞ。
0838デフォルトの名無しさん
2009/12/16(水) 10:34:13C の時代の名残じゃね?
大昔は、SJIS の2バイト目に \ 相当の文字コードが入ってて苦労したし。
近代に入ってからも、C/C++ の場合、あるコンパイラなら Unicode 通るけど、
他の環境に移植するときに泣いたとかよくあったし。
C# でそういう心配要らないから。
0839デフォルトの名無しさん
2009/12/16(水) 10:34:15昔の慣習でなかなかそうもいかないって場合もあるだろね。
あと海外に外注するとかなってくると厳しいだろな。
0840デフォルトの名無しさん
2009/12/16(水) 10:36:26C#「でしか」開発しないならいいけど
他のプログラミング言語だと使えなかったり、コンパイラが対応してなかったり。
>>838が言ってるようなことも起きたりするから
2バイト文字で変数つけちゃう癖がつくと他の言語を扱う時に困る
0841デフォルトの名無しさん
2009/12/16(水) 10:37:09VBとかなら日本語変数使ってるのもあるけど・・・
もう2バイト使わないのに慣れちゃってるから日本語変数が逆に見にくい
0842デフォルトの名無しさん
2009/12/16(水) 10:38:21>>835
C++厨では普通だけどC#ではそーいうもんなのか
配列の代わりにDictionary使って
パフォーマンスが落ちることはない?
挿入も参照もO(1)だからメモリ食うぐらいかな?
0843デフォルトの名無しさん
2009/12/16(水) 10:40:23ゆくゆくは日本語変数は普通、なんて時代もくるかもね。
実際日本語だとおそろしく保守しやすいしな。
チーム辞書のメンテもほぼ不要になるし。
0844デフォルトの名無しさん
2009/12/16(水) 10:41:05古くからの習慣・他言語との兼ね合い・インテリセンスが使いにくくなる
の3つだけかなぁ。
C# だけで見ると使わない理由はない。
>>840
.NET な時点で大丈夫だろ。
他の言語に移るときに苦労するってのは確かにあるんで、強くは言えないけども・・・
>>841
そういう「慣れちゃってるから」って理由なら、
日本語使ってみればすぐ慣れると思うよ。
0845デフォルトの名無しさん
2009/12/16(水) 10:41:07VS2005のプロジェクトでなCだったんだけど日本語変数だけで書かれてて吹いたなぁ
しかも、その日本語のワードが「文字列」なのか「変数」なのか「コメント」なのかがぱっとみでわかりにくいんだよね
色付いてるから見えるのかも知れんがわし色盲なもんで・・・てへ
0846デフォルトの名無しさん
2009/12/16(水) 10:42:20パフォーマンスはあきらかに落るよ。
Dictionaryの場合は一々ハッシュ取るからO(1)でも定数部分で損する。
それが嫌なら普通にプロパティ使う。
array[a], array[b] じゃなくて object.a, object.bにすればいいじゃない。
0847デフォルトの名無しさん
2009/12/16(水) 10:42:29クラスの外側から見える位置ではまず array[enumValue] なんてやらない。
内部では、パフォーマンスのこと考えて普通にやる。
その場合はだから、array[(int)enumValue] でできる。
0848デフォルトの名無しさん
2009/12/16(水) 10:42:46後から英語にしようと思えばリファクタもあるわけだし
0849デフォルトの名無しさん
2009/12/16(水) 10:45:38どうしても「だせぇ・・・」って思ってしまう自分がいる。
あれはなんでなんだろうね・・・
プログラミングを秘儀にしておきたいって感情がちょっとあるからなんだろか。
0850デフォルトの名無しさん
2009/12/16(水) 10:46:37あーなるほど
object.aなら可読性も変わらないですね
>>847
公開しない部分ではキャストしてC++の感覚でやることもあるんですね
0851デフォルトの名無しさん
2009/12/16(水) 10:47:200852デフォルトの名無しさん
2009/12/16(水) 10:49:35英語の仕様書とかしかないもの使う機会が多いから英語の変数名の方が見やすいな
>>849
英語の中に日本語が混じってると違和感がある
言語自体が日本語なら日本語変数でいいんじゃねーか
>>851
全然間をとれてない件
間をとってハングル語を変数名にだろ!
0853デフォルトの名無しさん
2009/12/16(水) 10:51:37自分の体験だと、ユニットテストのテストメソッド名を日本語にすると
すばらしくわかりやすかった。命名に全然悩む必要なかったのもよかった。
0854デフォルトの名無しさん
2009/12/16(水) 10:54:08勝手に名前つけてくれる機能きてくれー
0855デフォルトの名無しさん
2009/12/16(水) 10:55:22英語が苦手っていより、日本の業務システムなんかだと業界用語が多発するじゃない。
そういう対応する英語が無いようなのって
結局「DoujiShiwakeZenjitsuKigenn」「TanitsuShiwakeKigen」みたいに直でローマ字にするか
「DjShiwaPrevLimit」「TanShiwaLimit」とかの中途半端に略したのにするとか
なんかしっくりこない対応しかないよね。
こういうのの場合は日本語で直で書けたら楽だと思う。
0856デフォルトの名無しさん
2009/12/16(水) 10:56:07int型 i1,i2,i3,i4...
int型配列 ia1[],ia2[],ia3[]
って連番にすれば悩まないよ!
0857デフォルトの名無しさん
2009/12/16(水) 10:57:02hoge, hage, huga も忘れないであげてください。
レビュワーにぶんなぐられてもしらないけど!
0858デフォルトの名無しさん
2009/12/16(水) 11:03:180859デフォルトの名無しさん
2009/12/16(水) 11:04:55中身はSwitchでも数値系にキャストして使うんでもどっちでもいい
0860デフォルトの名無しさん
2009/12/16(水) 11:07:59君がエロゲス好きなのはよーく分かった
0861デフォルトの名無しさん
2009/12/16(水) 11:26:30Formのタイマーを使っているのですが、
ウィンドウが途中で固まってボタン押下できなくなったり、
キー入力を受け付けなかったりするのですが、
何か対抗策はあるでしょうか。
スレッドなどは使いたくありません。
0862デフォルトの名無しさん
2009/12/16(水) 11:28:19ソースコードは英語(ベース)、コメントは日本語で書けば視認性もよくなるし。
(海外向けに公開するときはコメント込み英語で書くこともあるが……)
それにenumやメンバ変数に<summary></summary>を付けておけば
マウスでポイントすると意味がわかるので、そっちの方が便利じゃね?
識別子だけ日本語の単語にするより長文を入れられるし。
>>859
そういうのはenumの各値を整数の即値で初期化してしまえばいいじゃん。
ちょっと不恰好だが(int)でキャストして使う。
0863デフォルトの名無しさん
2009/12/16(水) 11:29:45それはタイマーの問題じゃないような気がする。
Application.DoEvents() でなんとかしのぐしかないかな・・・。
0864デフォルトの名無しさん
2009/12/16(水) 11:31:35タイマーのハンドラの中で何をしているのかによる。
時間のかかる処理をしていれば、当然固まる。
0865デフォルトの名無しさん
2009/12/16(水) 11:34:28>それにenumやメンバ変数に<summary></summary>を付けておけば
>マウスでポイントすると意味がわかるので、そっちの方が便利じゃね?
>識別子だけ日本語の単語にするより長文を入れられるし。
変数名が日本語だとポイントするまでもなく意味がわかるってメリットもあるよ。
長文読むまでもなく内容が理解できるかもしれないしね。
結局究極的にはどっちもどっちなんだろうなと。
プロジェクトリーダの趣味にしたがいますよ私は。
0866デフォルトの名無しさん
2009/12/16(水) 11:37:40スレッドを使わずにプログラムを走らせるってどうやってるんだ!
ぜひとも俺に教えてくれ!
0867デフォルトの名無しさん
2009/12/16(水) 11:44:42>変数名が日本語だとポイントするまでもなく意味がわかるってメリットもあるよ。
むしろそれくらいしか利点がないような気が。
VB6やMS Accessでシステムを作ってた時代、識別子を日本語にしてたこともあったけど、
SQLが混じり始めるとてんでダメなったりして逆に不便を感じたので
こういった開発環境でも識別子には半角英数字以外は使わないことにしている。
まあ過去の感傷だと思うやつもいるかもしれないけどな。
0868デフォルトの名無しさん
2009/12/16(水) 11:47:170869デフォルトの名無しさん
2009/12/16(水) 11:47:50あげあしとってやるなよ。
明示的に自分でスレッド作りたくないってことでしょ。
0870デフォルトの名無しさん
2009/12/16(水) 11:48:39それはちょっと本質的な話とは違うんでないかね
0871861
2009/12/16(水) 11:50:00一回押しだということ利かないぐらい内部処理してるので、
長押しするとタイマーが中止する処理を作っておきました。
0872デフォルトの名無しさん
2009/12/16(水) 11:52:19それなんか根本的に問題あるからヤバくないか?
0873デフォルトの名無しさん
2009/12/16(水) 11:54:39>>868
普通はリソース使うから、そもそも日本語が混入したりしない
0874デフォルトの名無しさん
2009/12/16(水) 11:58:57デザイナで「ファイル」ってメニューを追加すると、そのままでは
private: System::Windows::Forms::ToolStripMenuItem^ ファイルToolStripMenuItem;
ってなるんだが。
0875デフォルトの名無しさん
2009/12/16(水) 12:00:230876デフォルトの名無しさん
2009/12/16(水) 12:03:14いちいち英語になおしてるけど、日本語変数名は名前考える時間が短くなっていいなあ、とは思う。
0877デフォルトの名無しさん
2009/12/16(水) 12:03:41MUI なアプリなら、ままある作り方。
0878デフォルトの名無しさん
2009/12/16(水) 12:04:41まあ余計なもん多くて削る作業が多いけどな。
0879デフォルトの名無しさん
2009/12/16(水) 12:10:060880デフォルトの名無しさん
2009/12/16(水) 12:12:26Textは日本語のまま残して(Name)書き換えるんだろ?
0881デフォルトの名無しさん
2009/12/16(水) 12:16:08元の人は、日本語が入ったときに書き換えるか聞いてるんだから。
0882デフォルトの名無しさん
2009/12/16(水) 12:20:13そっちの方がわからねよ。
Textを各国版に書き換えないといけないだろ。
Control名(Name)は当然半角英数字。
ちなみにテキストリソースを多国語化するのはめっちゃ簡単。
この辺はVisual Studio様様だわー。
他の開発環境じゃあなかなかここまではいかん。
0883デフォルトの名無しさん
2009/12/16(水) 12:21:420884デフォルトの名無しさん
2009/12/16(水) 12:25:05何の躊躇もせずに日本語変数使うわ。
国際化は正直やる必要ないときはやらんでいいと思う。
0885868
2009/12/16(水) 12:29:22書き換える人が多いみたいね
「いいや日本語なら日本語で」なんて考えてしまうオレは少数派のようだ
0886デフォルトの名無しさん
2009/12/16(水) 12:30:270887デフォルトの名無しさん
2009/12/16(水) 13:16:43普段から考えておくのもプログラマーの技能の内。そういう訓練はしておいて損はない。
変数名に使えそうな英単語をたくさん知ってるとか、そういう知識も地味に役に立つ。
入力途中でいちいち考えたり悩んだりしてると思考が止まって能率が落ちる。
0888デフォルトの名無しさん
2009/12/16(水) 13:22:490889デフォルトの名無しさん
2009/12/16(水) 13:32:31途中からCD-ROMの辞書になり
今はネットで検索だ
それでも名前考えるのは苦労するな。似た意味で微妙に違う単語が多いしつい同じような変数名になっちゃうし。
0890デフォルトの名無しさん
2009/12/16(水) 13:37:120891デフォルトの名無しさん
2009/12/16(水) 14:28:14普通作るもんだしな。
あと多バイト文字がとおらない環境ってのは今後なくなっていくんじゃないの?
0892デフォルトの名無しさん
2009/12/16(水) 15:48:01英単語は自分で考えるより、まず.NETのソースから引っ張ってくることが多いなぁ
名前のノリも合わせておいた方が第三者が使いやすいだろうという配慮で
0893デフォルトの名無しさん
2009/12/16(水) 15:53:05ウチはどっかにあったマイクロソフトの名前付けとかのガイドラインを参考にしてる
0894デフォルトの名無しさん
2009/12/16(水) 16:49:08TryやIf文を使わずに作ることって可能ですか?
0895デフォルトの名無しさん
2009/12/16(水) 16:50:430896894
2009/12/16(水) 16:53:22今後の参考にします。
0897デフォルトの名無しさん
2009/12/16(水) 16:59:420898デフォルトの名無しさん
2009/12/16(水) 20:31:27名前のネタがつきたときに
アルファベットの後に日本語入れてるのは自分ぐらいですねそうですね
0899デフォルトの名無しさん
2009/12/16(水) 20:42:20二重ループを使っているのですが、
二重ループでは遅いので、
より高速に全パターンをつぶしたいと思っています。
どのような方法がありますか?
0900デフォルトの名無しさん
2009/12/16(水) 20:44:15ループの中でやってる処理を見直したら?
0901デフォルトの名無しさん
2009/12/16(水) 20:46:47for(i=0; i<100; i++)
ってやるのと
for(j=0; j<10; j++)
for(i=0; i<10; i++)
ってやるのと
そんなたいそうな差があるとは思えんがのぅ。
0902デフォルトの名無しさん
2009/12/16(水) 20:49:580903デフォルトの名無しさん
2009/12/16(水) 20:50:51処理の内容によっちゃアルゴリズム見直しでループを途中で脱出したりできるかもしれないけど
どんな処理してるかわからんことにはにんともかんとも。
0904899
2009/12/16(水) 20:50:56無理っぽいんですね。
頑張ってループ内部処理を見直します。
0905デフォルトの名無しさん
2009/12/16(水) 20:51:40for(i=0; i<10; i++)
処理 i, j
と
for(i=0; i<10; i++)
処理 i, 0
:
処理 i, 9
も、大して変わらんだろうし・・・。
0906デフォルトの名無しさん
2009/12/16(水) 20:52:010907デフォルトの名無しさん
2009/12/16(水) 20:52:390908デフォルトの名無しさん
2009/12/16(水) 20:52:54ループの中の処理の方が遥かに桁違いに重い
0909899
2009/12/16(水) 20:53:54ループの処理としては、
GetPixelを使って高さ幅、共に350ピクセルの範囲の色を1ピクセル単位で取得しています。
したがって、350*350の色を取得することになり、非常に時間がかかります。
0910デフォルトの名無しさん
2009/12/16(水) 20:55:16GetPixelとSetPixelは非常に遅いことで有名
LockBitsでポインタ使ってアクセスする
0911デフォルトの名無しさん
2009/12/16(水) 21:05:33黎明期じゃあるまいし
0912デフォルトの名無しさん
2009/12/16(水) 21:07:330913デフォルトの名無しさん
2009/12/16(水) 21:14:55結局のところ、>>910ってことだな。
ループの中の処理が重い。
0914デフォルトの名無しさん
2009/12/16(水) 21:15:110915デフォルトの名無しさん
2009/12/16(水) 21:16:40その文の「したがって」のどこが変なのだ?
したがってが掛かるのは
>350*350の色を取得することになる
であり、(その結果)非常に時間がかかります。
だろ。
なんでもかんでも見下してかかるのは良くないなぁ。
0916デフォルトの名無しさん
2009/12/16(水) 21:26:540917デフォルトの名無しさん
2009/12/16(水) 21:30:48ttp://daisy64.blogspot.com/2009/01/getpixel.html
こんなん見つけたけど、これで解決かな。
0918899
2009/12/16(水) 21:51:41なんなく色を取得することができました。
0919デフォルトの名無しさん
2009/12/16(水) 22:38:08あ、やっぱりunsafeのが速いんだ
0920デフォルトの名無しさん
2009/12/16(水) 22:49:00もういないと思うけど、本質的にO(n^2)かかる問題なら無理
問題によってはO(n logn)にできる場合がある
アルゴリズムの勉強をしろ
0921デフォルトの名無しさん
2009/12/16(水) 22:49:510922デフォルトの名無しさん
2009/12/16(水) 23:16:58ちがうよな。煽りでもなんでもなく。
0923デフォルトの名無しさん
2009/12/16(水) 23:56:51使ってみたかったんだろう。とエスパー。
0924デフォルトの名無しさん
2009/12/17(木) 00:09:44基本的な文法さえわかっていればひとつひとつゆっくりみていけばどんな長いコードも解読可能。
0925デフォルトの名無しさん
2009/12/17(木) 00:10:510926デフォルトの名無しさん
2009/12/17(木) 00:35:21でっていう
0927デフォルトの名無しさん
2009/12/17(木) 00:39:03最近PG覚えたてなんだ・・・知ったかだから許してやってくれ
0928デフォルトの名無しさん
2009/12/17(木) 00:43:240929デフォルトの名無しさん
2009/12/17(木) 01:01:08unsafeの効果は実はほとんどなかったすることもある。
0930デフォルトの名無しさん
2009/12/17(木) 03:43:29クラスには使えないからね。ゴミ。
0931デフォルトの名無しさん
2009/12/17(木) 03:45:350932デフォルトの名無しさん
2009/12/17(木) 03:59:26int num[];
みたいだったのにC#では
int[] num;
になってるんだろうな。Cって名前ついてるわりには全然似てないよね。
まるで海賊版を出して金儲けしてる中国人だ。
0933デフォルトの名無しさん
2009/12/17(木) 04:09:27int型の変数がメモリに並んでるのでは全然違うだろ
同じ記法にされたら紛らわしいわ
0934デフォルトの名無しさん
2009/12/17(木) 04:11:51C#はオブジェクトをメモリじゃない場所に配置でもしてるのか?
0935デフォルトの名無しさん
2009/12/17(木) 04:25:110936デフォルトの名無しさん
2009/12/17(木) 04:54:19それはcharとfloatがどっちもメモリにあるから同じ物、と言ってるようなもんだぞ
中身(使い方)が違うからわざわざ区別してんのに
0937デフォルトの名無しさん
2009/12/17(木) 05:14:08int a[5][3][6];
int** p;
とかやってなんかかなり複雑なポインタ遊びができないなんて。
実用性はともかくパズル的な遊びができて楽しかったのにな。
0938デフォルトの名無しさん
2009/12/17(木) 05:47:56知らないで逆切れとか。
0939デフォルトの名無しさん
2009/12/17(木) 05:59:150940デフォルトの名無しさん
2009/12/17(木) 06:11:04つ 停止性問題
0941デフォルトの名無しさん
2009/12/17(木) 08:49:28「バグのないプログラム」問題ってのもあるよなw
情報工学の勉強しましょうってことですね。
0942デフォルトの名無しさん
2009/12/17(木) 08:58:04mydelegateっていうデリゲート型変数があったとして
mydelegate("あいうえお");
と
mydelegate("あいうえお",13);
は違う動作をする、みたいな
0943デフォルトの名無しさん
2009/12/17(木) 09:03:350944デフォルトの名無しさん
2009/12/17(木) 09:34:370945デフォルトの名無しさん
2009/12/17(木) 10:34:20基本的なものはダウンロード済みです
0946デフォルトの名無しさん
2009/12/17(木) 12:09:240947デフォルトの名無しさん
2009/12/17(木) 18:56:28func(const int x)みたいにconstを書いてたけどC#はconstみたいなのないの?
0948デフォルトの名無しさん
2009/12/17(木) 19:03:190949デフォルトの名無しさん
2009/12/17(木) 20:13:08プログラムは常に時間を監視して
20時になった瞬間音を鳴らす
これってどうやる?
無限ループつくってthread.sleep(1)とかやって
if(DateTime.Hour=!DateTime.Now.Hour)
音を鳴らす();
みたいにやればいいの?
0950デフォルトの名無しさん
2009/12/17(木) 20:17:53言っちゃ悪いけどセンスないな。
目覚ましなんかにmsオーダーの正確さなんか普通不要だから
タイマー使ってポーリングすりゃいいんだよ。
あと、そういうプログラムなら休止状態からでも自動復帰して目覚ましが鳴るように
OSのタスクスケジューラもうまく使ってね。
0951デフォルトの名無しさん
2009/12/17(木) 20:28:260952デフォルトの名無しさん
2009/12/17(木) 20:41:350953デフォルトの名無しさん
2009/12/17(木) 20:51:030954デフォルトの名無しさん
2009/12/17(木) 21:07:04タスクスケジューラは秒単位のスケジューリングは無理。
当たり前じゃん。
だから5分前ぐらいに起動するようにしといて、後は普通にポーリングが基本。
0955デフォルトの名無しさん
2009/12/18(金) 00:49:32同じ方法で計算させたらC#で0.012秒かかったのがC++だと0.003秒だった。
たった0.009秒の違いしかないけどなー。ガベージコレクションが原因か?
0956デフォルトの名無しさん
2009/12/18(金) 00:52:11ものによっちゃC++の9割くらいのスピード余裕で出るんだけどね。
(意外と、数値計算は早い)
class の new がやたらと多いと確かに遅くなる。
0957デフォルトの名無しさん
2009/12/18(金) 01:04:20C#部分が遅くて気になることってあんま無いな。
ゲームとか何か壮大なもの作ってるの?
0958デフォルトの名無しさん
2009/12/18(金) 01:12:52C#のJITコンパイラはどのフォルダにあるの?
0959デフォルトの名無しさん
2009/12/18(金) 02:02:17どんなコードか見ないと何も言えない。
C++とかネイティブなコードと.NETのコードでは、
パフォーマンスの特性がだいぶ違うから。
ネイティブなコードに慣れたやつがC#で書くと
遅い書き方になってることも結構ある。
0960デフォルトの名無しさん
2009/12/18(金) 03:34:31実行時間を計るときに、ロジックの一部だけを測るとほぼCの9割は出るが、
起動から終了までではかると差が大きくなる。
あとメモリを食うせいかフォーム系のアプリで、
新しいフォームや暫く使ってないフォームを開くと、
ページングや再読み込みが発生して体感速度を遅くしている。
0961デフォルトの名無しさん
2009/12/18(金) 03:42:530962デフォルトの名無しさん
2009/12/18(金) 07:18:48listviewのアイテムをクリックしたときにウィンドウににフォーカスが当たらないようにするにはどうすればよいのでしょうか?
0963デフォルトの名無しさん
2009/12/18(金) 08:14:000964デフォルトの名無しさん
2009/12/18(金) 08:16:36継承も何もしていないしAMethodクラスの中にADataがクラス変数としているんだぜ・・・
0965デフォルトの名無しさん
2009/12/18(金) 08:33:14listview easy screen keyborad create
listview item click window forcas no! ?
0966デフォルトの名無しさん
2009/12/18(金) 09:14:49それがどう不思議なのか詳しく
0967デフォルトの名無しさん
2009/12/18(金) 10:04:37相手は16進のデータを送って来るのですが、受信側はString(文字列?)で受け取っています。
受信したStringデータを10進にしてデータを計算を加えテキスト出力したいのですがどうやればいいでしょうか?
以下ソースが現在まで出来ている部分です。出来れば以下ソースをベースに教えて下さい。
/* シリアル通信モジュール */
private void SetRecieveData(string dataString)
{
/* テキスト出力 */
this.textBox2.Text += (dataString + "\n");
}
private delegate void RecieveDataDelegate(string recieveData);
private void serial(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
string recieveData;
RecieveDataDelegate recieve = new RecieveDataDelegate(SetRecieveData);
try
{
recieveData = serialPort1.ReadLine(); /* base */
}
catch (Exception ex)
{
recieveData = ex.Message;
}
Invoke(recieve, recieveData);
}
0968デフォルトの名無しさん
2009/12/18(金) 10:10:21Convert.FromBase64Stringでも使っとけ
0969デフォルトの名無しさん
2009/12/18(金) 10:19:33すみません。
送信側はアスキーコードを使っています。
0970デフォルトの名無しさん
2009/12/18(金) 10:26:400971デフォルトの名無しさん
2009/12/18(金) 10:28:330972デフォルトの名無しさん
2009/12/18(金) 10:37:590974デフォルトの名無しさん
2009/12/18(金) 11:53:080975デフォルトの名無しさん
2009/12/18(金) 13:20:510976デフォルトの名無しさん
2009/12/18(金) 13:35:40ActiveCell.RowSpanやActiveCell.ColumnSpanで結合処理って出来ないんですか?
どちらも並び替えを行わなければきちんと動くのですが
並び替えをした後だと反応ないし、する前だと並び替え時に解除されてしまいます。
0977デフォルトの名無しさん
2009/12/18(金) 13:40:58サポートに電話して聞け
0978デフォルトの名無しさん
2009/12/18(金) 13:58:400979デフォルトの名無しさん
2009/12/18(金) 15:45:04継承させてよぉq( ゚д゚)pブー
0980デフォルトの名無しさん
2009/12/18(金) 15:50:320981デフォルトの名無しさん
2009/12/18(金) 16:26:23それ4.0からじゃないか?
0982デフォルトの名無しさん
2009/12/18(金) 16:26:540983デフォルトの名無しさん
2009/12/18(金) 16:29:210984デフォルトの名無しさん
2009/12/18(金) 17:32:57それ構造体だから
0985デフォルトの名無しさん
2009/12/18(金) 21:09:12レベル的には本格的ではないんですがC/C++を以前すこしかじったことがある程度です(授業で半年間
C/C++のプログラムを習い、課題を提出した程度です)。
0986デフォルトの名無しさん
2009/12/18(金) 21:11:54AMethod.start(AData adata);
とかやらないと使えない
クラス変数にいれるならまだしもいれもしない
>>985
C/C++が使えるならノリでクラスとか調べながらやればできると思うよ
0987デフォルトの名無しさん
2009/12/18(金) 21:13:09C#の絵本レベルじゃね
0988デフォルトの名無しさん
2009/12/18(金) 21:24:27単位欲しい(ソースコピーでもいっか)>>>>プログラム覚える
なんだろうな。
学生のプログラムの授業なんかなんの役にも立たないよな。と経験論。
0989デフォルトの名無しさん
2009/12/18(金) 21:28:53マイコミのVisualC#2005ってやつ
でいくつか動く物作って限界が見えてきたところでオライリー買って
本格的に突っ込んだ勉強始めた
たぶん最初にオライリー読んだら挫折してた
0990985
2009/12/18(金) 21:52:03ご指摘のあったとおり授業で習ったC/C++に関しては
課題用の短いプログラムを書けるようになった程度です。
クラスに関しても基本的なつくりを学んだだけで継承とかに関しては
ほとんど触れていません。
C#のプログラムを勉強するにあたりできればプログラムの流儀や
書き方の癖(いい意味で)を勉強したいと思っています。
そういうポイントやTIPSを学べるC#用の本はありますか?
0991デフォルトの名無しさん
2009/12/18(金) 22:13:04初めての〜とプログラミング〜
0992デフォルトの名無しさん
2009/12/18(金) 22:38:07の解説サイトをめぐるのが好きです
0993デフォルトの名無しさん
2009/12/18(金) 22:43:220994デフォルトの名無しさん
2009/12/19(土) 03:45:170995デフォルトの名無しさん
2009/12/19(土) 07:53:09□□□□□□
□□□□□□
□□□□□□
□□□□□□
□□□□□□
0996デフォルトの名無しさん
2009/12/19(土) 07:59:290997デフォルトの名無しさん
2009/12/19(土) 10:25:57スタックやヒプといった概念が重要だったけど
C#だとガーベジでメモリはプログラマが管理できないしポインタもunsafeじゃないと使えないから
スタックやヒープといった重要じゃないんだろうか。
0998デフォルトの名無しさん
2009/12/19(土) 10:30:00その辺の知識が無いなら常にクラスを使うべき
0999デフォルトの名無しさん
2009/12/19(土) 10:31:191000デフォルトの名無しさん
2009/12/19(土) 10:35:33http://pc12.2ch.net/test/read.cgi/tech/1261186507/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。