ふらっとC#, C♯, C#(初心者用) Part15
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/04/12(木) 23:14:25「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
前スレ: ふらっとC♯, C#(初心者用) Part14
http://pc11.2ch.net/test/read.cgi/tech/1172662746/
0002デフォルトの名無しさん
2007/04/12(木) 23:15:31http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/
.NET Framework SDK (2.0)
http://msdn2.microsoft.com/ja-jp/library/ms310244.aspx
MSDN Visual C# Express Edition フォーラム
http://forums.microsoft.com/msdn-ja/ShowForum.aspx?ForumID=187&SiteID=7
Visual Studio ユーザーグループ
http://vsug.jp/
@IT Insider.NET
http://www.atmarkit.co.jp/fdotnet/index.html
Insider.NET 会議室 ディレクトリ
http://www.atmarkit.co.jp/fdotnet/index/bbs/index.html
宇宙仮面の C# プログラミング / C# Programming
http://ukamen.hp.infoseek.co.jp/
WisdomSoft C#入門
http://wisdom.sakura.ne.jp/programming/cs/index.html
WisdomSoft Microsoft .NET入門
http://black.sakura.ne.jp/~third/system/msnet/msnet.html
どっとねっとふぁん
http://dotnetfan.org/
緑のバイク 初めてのC# 〜 覚え書き 〜
http://homepage3.nifty.com/midori_no_bike/CS/
どぼん!の .NET Tips
http://dobon.net/vb/dotnet/
.NET のつぼ
http://park16.wakwak.com/~mimi/dotnet/top.html
0003デフォルトの名無しさん
2007/04/12(木) 23:16:10http://www.borland.com/jp/products/csharpbuilder/index.html
Turbo C#
http://www.turboexplorer.com/csharp
.NET Framework 1.1 製品ドキュメント
http://www.microsoft.com/japan/msdn/library/ja/netstart/html/sdkstart.asp
---
MSDNライブラリ 2006年6月版
http://www.microsoft.com/downloads/details.aspx?FamilyID=373930cb-a3d7-4ea5-b421-dd6818dc7c41&DisplayLang=ja
MSDNをローカルで見れる。
0004デフォルトの名無しさん
2007/04/13(金) 03:14:270005デフォルトの名無しさん
2007/04/13(金) 03:17:20第1回 初めてのVisual Studio 2005
↑
ハローワールドなボクですがこれくらいはできました。
0006デフォルトの名無しさん
2007/04/13(金) 17:37:16よくあるタブブラウザです。
タブを選択したとき、WebBrowserがマウスウィールで動くようにしたいん
ですが、どうしたらいいでしょうか?
SelectedイベントでWebBrowserにFocus()してもうまくいきません。
お願いします。
0007デフォルトの名無しさん
2007/04/13(金) 23:07:21MFCのCListCtrl::SetItemCountのように、リストにあらかじめ
アイテム数を設定しておくようなメソッドは無いのですか?
0008デフォルトの名無しさん
2007/04/14(土) 02:45:53それでどうなるのか知らんが、空文字列の ListViewItem でも突っ込んどけばいいんじゃね
0009デフォルトの名無しさん
2007/04/14(土) 11:19:51本格的にやるなら仮想リストを使うべきだが
そうしなくても
大量にアイテムを挿入するときに速くなる。
0010デフォルトの名無しさん
2007/04/14(土) 11:48:32普通に考えて早くなる理由がないと思うんだが。。
SetItemCountでググってみてもそのように書いてあるところが見つかるし。
0011デフォルトの名無しさん
2007/04/14(土) 17:56:180012デフォルトの名無しさん
2007/04/14(土) 19:34:001000件まとめて設定するのは速いんだよ
いやまじで
0013デフォルトの名無しさん
2007/04/14(土) 21:20:13中断中のスレッドを終了させる場合、どんな手段が適切でしょうか
0014デフォルトの名無しさん
2007/04/14(土) 21:23:210015デフォルトの名無しさん
2007/04/14(土) 21:25:02ただまあ、場合によっては強制終了させざるをえないこともあるので、
そういう場合は仕方なくAbort。
それ以外のサスペンドとか、そんなものはそもそも使わない。
0016デフォルトの名無しさん
2007/04/14(土) 21:25:340017デフォルトの名無しさん
2007/04/14(土) 22:03:17{
this._CntA++;
this.textBox1.AppendText(this._CntA + "回目のThreadA" + "の出力です。\n");
Thread.Sleep(600);
}
こんな感じのメソッドを回していました
あと、トグルスイッチ風ボタンでスレッドを止めたり動かしたりしたかったのでサスペンドを使いました
0018デフォルトの名無しさん
2007/04/14(土) 22:11:540019デフォルトの名無しさん
2007/04/14(土) 22:21:48メインスレッド(フォーム?)からスレッドAとスレッドBを起動したとして、
スレッドA,Bが動作中にユーザがフォームを閉じたとしても、
Closingイベントにスレッド終了コードのようなものは書かなくてもいいのかな?
0020デフォルトの名無しさん
2007/04/14(土) 22:24:56っていうか、そんなことも知らずにスレッド使ってるのか。
キチガイに刃(
0021デフォルトの名無しさん
2007/04/14(土) 22:34:20そもそも閉じたら動いちゃいけない処理とかもあるでしょ、大抵は。
※そりゃほんとに大丈夫ってこともないこたないが、普通は適切な条件で終了するようにする。
ていうかよ>>17なんて突っ込んだらいいのか…
0022デフォルトの名無しさん
2007/04/14(土) 22:36:47同期用「オブジェクトなどを使って自立的に行うべき。
どうしようもない場合は仕方ないが。
0023デフォルトの名無しさん
2007/04/14(土) 22:37:00日本語書けよ
00246
2007/04/15(日) 02:33:52どなたかお願いします。
いまだにできません。
0025デフォルトの名無しさん
2007/04/15(日) 11:58:15プロジェクトUP
0026デフォルトの名無しさん
2007/04/15(日) 13:15:26なんかできる時とできない時あるな…
ちなみに Selected イベントじゃなく SelectIndexChanged な。
0027デフォルトの名無しさん
2007/04/15(日) 13:54:49マウスウィールは良いとしても、「WebBrowserが〜動く」っていうのは
どういう状態のことを差してるんだよw
基本的に、人語すら正確に操れない奴が融通利かねえマシン相手の言語を
使えるわけがないと思う。
0028デフォルトの名無しさん
2007/04/15(日) 13:58:310029デフォルトの名無しさん
2007/04/15(日) 16:48:42関数の配列宣言って具体的にどうやるんでしょうか?教えてください。
0030デフォルトの名無しさん
2007/04/15(日) 16:51:47Func[] func;
003129
2007/04/15(日) 16:55:260032速報+
2007/04/15(日) 17:23:59ニュース速報+ 板
http://news22.2ch.net/newsplus/
芸能音楽スポーツ速報+ 板
http://news21.2ch.net/mnewsplus/
東アジアニュース速報+ 板
http://news21.2ch.net/news4plus/
ビジネスニュース+ 板
http://news21.2ch.net/bizplus/
科学ニュース+ 板
http://news21.2ch.net/scienceplus/
0033デフォルトの名無しさん
2007/04/15(日) 18:51:00ググッたけど見つからなかったもので
0034デフォルトの名無しさん
2007/04/15(日) 18:57:09俺がググったらすぐ見つかった。ググり直せ。
0035デフォルトの名無しさん
2007/04/15(日) 19:10:44「C# 壁紙の変更」でググッたら見つかるが?
0036デフォルトの名無しさん
2007/04/15(日) 19:18:24>>35
ググったけどよくわからん
C++のSystemParametersInfo(SPI_SETDESKWALLPAPERのC#版教えて
0037デフォルトの名無しさん
2007/04/15(日) 19:18:320038デフォルトの名無しさん
2007/04/15(日) 21:18:06ググれとしか…
0039デフォルトの名無しさん
2007/04/16(月) 01:53:37DataGridViewの全セルのサイズ(縦、横)を揃えたいのですが、
コード上でどのように設定すればよいのでしょうか?
碁盤目状のものを作りたいのですが、ご存知の方がおりましたら
よろしくお願いします。
0040デフォルトの名無しさん
2007/04/16(月) 12:34:52メニューの項目を日本語で設定すると、関連するイベントハンドラの
名前などもコード上に日本語で生成されますね。
英語圏なら問題ないでしょうが、これはある意味バグですね。
しかし、メンバ名が日本語でもコンパイルできるんですね。驚いた
0041デフォルトの名無しさん
2007/04/16(月) 12:41:580042デフォルトの名無しさん
2007/04/16(月) 13:16:43模索しております。色々なサイトを検索してGot Focusイベント
にてSelectAllを使用すれば実現出来る事は確認しました。
しかし、Got Focusイベントは低水準イベントで使用することを
推奨できない かつ FormがActiveになるとGot Focusイベント
が発生する。この2つの理由でお手上げ状態です。
コントロールをMaskedTextBox -> TextBoxに変更して正規
表現で入力チェックを行えば済ことなのですが…
MaskedTextBoxで全選択状態(反転表示)の実現方法は
あるのでしょうか?
0043デフォルトの名無しさん
2007/04/16(月) 13:47:48MaskedTextBoxだろうがTextBoxだろうがSelectAll()同じように効くはずだけど?
もしかしてボタンクリックでSelectAllしてない?
SelectAll() の前に Focus()すれば済む話しだったりして?
0044デフォルトの名無しさん
2007/04/16(月) 14:03:10Tabでフォーカスを移動したときです。
0045デフォルトの名無しさん
2007/04/16(月) 14:27:13MaskedTextBoxとTextBoxとでSelectAllの挙動に違いは見られない。
>FormがActiveになるとGot Focusイベント
ってのは単にMaskedTextBoxがActiveControlなだけのはなしでしょ。
それがいやなら適切なタイミングで
Form.ActiveControlを他のコントロールに設定すればいい。
private void maskedTextBox1_Enter( object sender, EventArgs e )
{
this.maskedTextBox1.Focus();
this.maskedTextBox1.SelectAll();
}
ってすればいいだけじゃね
EnterじゃなくてGotFocusでもいい
0046デフォルトの名無しさん
2007/04/16(月) 14:49:200047デフォルトの名無しさん
2007/04/16(月) 20:12:58ProcessStartInfo startInfo = new ProcessStartInfo(IEXPLORE.exe);
startInfo.Arguments = "http://localhost/WebApplication1/version.html";
Process.Start(startInfo);
と言うように、Processを使ってIEを起動した場合、targetは指定できないのでしょうか?
何度も新規ウィンドウを表示したくないのですが・・・
0048デフォルトの名無しさん
2007/04/16(月) 20:19:06C#のコードで、現在開いている特定のブラウザ(IE)を閉じる事はできますか?
連続質問で申し訳ありません・・・
0049デフォルトの名無しさん
2007/04/16(月) 20:20:010050デフォルトの名無しさん
2007/04/16(月) 20:27:58出来ない
>>48
FindWindow で IE 捕まえて WM_CLOSE 投げる
0052デフォルトの名無しさん
2007/04/16(月) 20:49:200053デフォルトの名無しさん
2007/04/16(月) 20:51:42005447
2007/04/16(月) 20:56:14targetは>>53 のことです。
>>50
申し訳ありません。
FindWindow や WM_CLOSE はC#で使用できるものでしょうか?
0055デフォルトの名無しさん
2007/04/16(月) 20:59:29できる
0056デフォルトの名無しさん
2007/04/16(月) 21:01:20DDE使えばいいんじゃね?
なんかものすごい旧時代を感じさせられる名前だがw
0057デフォルトの名無しさん
2007/04/16(月) 21:05:02すいませんありがとうございます
0058デフォルトの名無しさん
2007/04/16(月) 21:37:16byte[] data; //元のデータ
sbyte[] sdata = new sbyte[data.Length]; //変換後のデータ
for (int i = 0; i < data.Length; i++)
{
sdata[i] = (sbyte)data[i];
}
といったように素直にキャストしていくのと、
[StructLayout(LayoutKind.Explicit)]
public struct ChangeArray
{
[FieldOffset(0)]
public byte[] Data;
[FieldOffset(0)]
public sbyte[] SData;
}
…
byte[] data; //元のデータ
sbyte[] sdata = new sbyte[data.Length]; //変換後のデータ
ChangeArray ca = new ChangeArray();
ca.Data = data;
sdata = ca.SData;
という風に変換するのとでは、どちらが速いでしょうか?
0059デフォルトの名無しさん
2007/04/16(月) 21:41:51後者は動作が保証されない。
Buffer.BlockCopy しとけ。
0060デフォルトの名無しさん
2007/04/16(月) 21:42:270061デフォルトの名無しさん
2007/04/16(月) 21:53:29>後者は動作が保証されない。
そうなんですか…
Buffer.BlockCopyっていうものの存在を知らなかったので
どうしようかずっと悩んでました。
ありがとうございました。
>>60
今コンパイラがないもので、試そうにも試せません(インスコしようにも制限がかかってる) orz
0062デフォルトの名無しさん
2007/04/16(月) 22:19:43プログラム板って他の板に比べて格段に優しい人が多いね。
正直ちょっと感動した。
0063デフォルトの名無しさん
2007/04/16(月) 22:30:000064デフォルトの名無しさん
2007/04/16(月) 22:45:54>後者は動作が保証されない。
これって本当か?
この.NETの構造体を共用体的に使うテクニックって
割と一般的に用いられていると思うんだけど。
まあでも>>58の意図が不明なんでなんともいえないが、変換(?)後のデータを
破壊的に使っても変換前のデータまで壊れないようにしたいのなら
unsafe使ってコピーとか、そういう方法の方が良いのは確かだけど。
0065デフォルトの名無しさん
2007/04/16(月) 22:55:16よく見れ。
値型を重ねるなら意味分かるが、>>58で重ねているのは値型の配列だ。
0066デフォルトの名無しさん
2007/04/16(月) 22:57:58しかしドキュメントにはろくすっぽ記述がないんだよな。
『Unions のサンプル』に「参照型の場合には明示的なレイアウトが許されないからです。」と書かれてるくらい。
0067デフォルトの名無しさん
2007/04/16(月) 23:03:240068デフォルトの名無しさん
2007/04/16(月) 23:16:37いや「コピーしない」と言う選択肢もある
0069デフォルトの名無しさん
2007/04/16(月) 23:16:56サンプルコードが載っていますが、最初にイベントハンドラを解除して、
最後に再設定しなおしている理由が分かりません。何故でしょうか?
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=10370&forum=7
0070デフォルトの名無しさん
2007/04/16(月) 23:19:37unsafe
fixed
最強
0071デフォルトの名無しさん
2007/04/16(月) 23:24:59TextChangedイベントハンドラ内でTextを変更しているから。
そうしなければその時点でTextChangedイベントが発生して無限ループ。
だがいいコードではないと思う
0072デフォルトの名無しさん
2007/04/16(月) 23:27:39TextChanged イベントハンドラの中で Text プロパティの値を変更すると、そこでさらに
TextChanged イベントが発生してしまう。
さらにそのイベントハンドラのの中で Text プロパティの値を変更……と、延々とTextChanged イベントが
発生し続け、しまいにはStackOverflowExceptionでアプリケーションが落ちる。
試しに適当なフォームにTextBoxを配置して、TextChanged イベントハンドラの中で
textBox1.Text += "A";
とでもやってみ。
0073デフォルトの名無しさん
2007/04/16(月) 23:30:16ああなるほど。
ではMarshalAs属性でUnmanagedType.ByValArrayを指定すればCと同じように
構造体の中に参照ではなく配列そのものが確保されるようになるのかな。
それともこの属性の意味は、あくまでアンマネージコードを呼び出す前後の
変換方法を指示しているだけになるのか?
0074デフォルトの名無しさん
2007/04/16(月) 23:32:00尤も固定長に限られるけど。
0075デフォルトの名無しさん
2007/04/16(月) 23:38:20>>72
ありがとうございます。理解できました。
日本語とアルファベットを交互に入力して
文字数制限するいい方法が他に思いつきませんが、
このサイトの方法でとりあえず使ってみます。
0076デフォルトの名無しさん
2007/04/16(月) 23:39:08マーシャリングにのみ関わってくる属性のような気がする。
0077デフォルトの名無しさん
2007/04/16(月) 23:49:47>それともこの属性の意味は、あくまでアンマネージコードを呼び出す前後の
>変換方法を指示しているだけになるのか?
正解。
CLR管理下で特殊なメモリイメージを作りたいというのなら、
アンセーフだが一応こういう方法はある。あと固定長専用。
[StructLayout(LayoutKind.Explicit)]
public unsafe struct ChangeArray
{
[FieldOffset(0)]
public fixed byte Data[128];
[FieldOffset(0)]
public fixed sbyte SData[128];
}
ttp://msdn2.microsoft.com/ja-jp/library/zycewsya(VS.80).aspx
0079デフォルトの名無しさん
2007/04/17(火) 00:07:400080デフォルトの名無しさん
2007/04/17(火) 00:08:57008139
2007/04/17(火) 00:26:24C♯, C#相談室 で聞くべき?
0082デフォルトの名無しさん
2007/04/17(火) 00:31:29プロパティのMaxWidthを変更
0083デフォルトの名無しさん
2007/04/17(火) 01:56:48候補はC#・VB・JAVAです。
ゆくゆくはC言語とC++も学びたいと考えています。
ということはやっぱりC#から始めるのがいいのかなと思って、こちらに投稿してみました。
だけど本屋にはC#の本は少ないですね。
JAVAとVBは多いです。
だからC#がよさそうだとは感じながらも、ちょっと心配もしているのです。
0084デフォルトの名無しさん
2007/04/17(火) 02:02:24VisualC# Express EditionはMSから無料で落とせます。
C#を一通りやったら、ポインタの概念を勉強するためC++ or Cをかじりましょう。
書籍は、Amazonで探せば結構あります。
0085デフォルトの名無しさん
2007/04/17(火) 02:09:23VBはMSも無理やり繋げてる状態
java・C#は似てるからどっちか覚えれば違和感無く書ける
つかrubyも選択肢に入れてあげて
0086デフォルトの名無しさん
2007/04/17(火) 07:32:250087デフォルトの名無しさん
2007/04/17(火) 14:51:24地味に便利そうなんだけど,
ついつい存在を忘れて a != null ? a : "nullですよ";ってやっちゃう
0088デフォルトの名無しさん
2007/04/17(火) 15:22:20むしろ君が普通ではないと思う 俺は異端児?
0089デフォルトの名無しさん
2007/04/17(火) 16:15:43そんなの
a = a + 1;
a += 1;
a++;
程度の問題だべ。それよりちょっと聞いてくれよ。
俺は何かと何かが混ざったようなC#なんて特に触りたくもないんだが、
言語仕様を見たらtrueとfalseが演算子だって?
こんな構文になるのか?フーン
public class Hoge {
public static bool operator true(Hoge t){
}
,..(もちろんfalseも定義)
};
Hoge hoge = new Hoge();
...
if(true hoge) {
...
}
0090デフォルトの名無しさん
2007/04/17(火) 16:26:480091デフォルトの名無しさん
2007/04/17(火) 16:43:25試してみても,動作は同じに見えるんだけど
0092デフォルトの名無しさん
2007/04/17(火) 16:50:21trueかつfalseってのは意味的に使い道がなさそうだが、
trueでなくfalseでもない値を導入すればtriboolのようなものになる。
0093デフォルトの名無しさん
2007/04/17(火) 17:38:51済まないが、ちょっと分からない。
bool型への暗黙的型変換?
暗黙的型変換の例としては
double d = 10.5;
int i;
i = d;
(iは10になる)
明示的なら
a = (bool)false;
だが、これは禁止されている。
仕様書には
A unary true or false operator must take a single parameter of type T and must return type bool.
だから、クラスHogeに演算するときは
true Hoge 又は false Hoge
となって、戻り値はbool型になる(後置演算かもしれないが分からない)。これではちょっと混乱してしまう。
例示してほしいのだが、いかがか?
0094デフォルトの名無しさん
2007/04/17(火) 17:43:30○ bool b = (bool)i;
0095デフォルトの名無しさん
2007/04/17(火) 18:10:21true/false演算子が使えるのは条件が必要な場所、つまり、if(), do-while(), while(), for(;ここ;) や ?:演算子の第一オペランド。
operator trueが呼び出されて、bool型に暗黙的に変換されたかのように振舞う。
たとえば、型Tにtrue/false演算子が定義されていれば、
| T t;
| if(t) { }
| int a = t ? 0 : 1;
のようなことが出来るようになる。
尤もC#ではop_Falseを使えないから、これだけでtribool的なものは作れないんだけどね。
0097デフォルトの名無しさん
2007/04/17(火) 18:30:370098デフォルトの名無しさん
2007/04/17(火) 18:40:40一見便利に見えて、実はタイピング量を減らすという僅かなメリットと引き換えに
混乱をもたらすだけの機能に思えるけどなあ。
VB6の「デフォルトのプロパティ」と同列の堕落じゃん。
0099デフォルトの名無しさん
2007/04/17(火) 18:41:18いや、STLにのInputFileStreamクラス(だったかな?)があって、
InputFileStream ifs(...
...
if(!ifs) { // ←ファイルがオープンされてるかどうか
// エラー処理
}
というのは半ば常識なんで、STLerで知らない人はあまり居ないと思う。
確かに初心者には変な構文なので、独学だと混乱するかもね。
0100デフォルトの名無しさん
2007/04/17(火) 18:50:00boolにように働く型を作るための機能だから問題ないと思うが。
というか、そもそもこれはCLIの機能であってC#は申し訳程度にサポートしてるだけのような気がする。
0101デフォルトの名無しさん
2007/04/17(火) 19:11:45ほんまかよっ
0102デフォルトの名無しさん
2007/04/17(火) 20:53:37かきくけこ[EOF]
上記の文字列をバイナリファイルとして出力して、再度読み込み、
バイナリをテキストに置換して各行を配列に保持したいのですが、
どのようにすればよいでしょうか?
具体的なソースを教えてくださると嬉しいです。
0103デフォルトの名無しさん
2007/04/17(火) 21:17:21>バイナリファイルとして出力して
どういうフォーマットのバイナリファイルなのか明確にしてくだされ。
というか、テキストファイルもバイナリファイルの一種ですぜ。
0104デフォルトの名無しさん
2007/04/17(火) 21:21:17>かきくけこ[EOF]
>
>上記の文字列をバイナリファイルとして出力して、
この発想はなかったぜ…
0105102
2007/04/17(火) 21:34:33BinaryWriterクラスを使って文字列をファイルに書き出して、
そのファイルをそのまま読み込みます。
文字列の内容は日本語(2バイト)と英語(1バイト)が含まれており、
間に改行も含みます。
>>104
絶句させるような事を書いてしまいましたか…?
0106デフォルトの名無しさん
2007/04/17(火) 21:39:330107デフォルトの名無しさん
2007/04/17(火) 21:48:46普通はStreamReaderでReadLineするんじゃね
0108102
2007/04/17(火) 22:05:02これ以上どう言っていいか分かりません。
>>107
下記のような感じで読み込むのでしょうか?
using namespace System.IO;
void readBinaryFile(string filename)
{
FileStream reader = new FileStream(filename, FileMode.Open, FileAccess.Read) ;
string tmp;
while(ストリームの終わりまで){
tmp = reader.ReadLine();
tmpを文字列に変換;
配列に格納;
}
reader.Close() ;
}
0109デフォルトの名無しさん
2007/04/17(火) 22:28:08File.ReadAllLines()
でいいよ。
0110デフォルトの名無しさん
2007/04/17(火) 22:32:45この理由が分からん
0111デフォルトの名無しさん
2007/04/17(火) 22:33:58全体に0.5pixelズレたよに表示されてしまう、なんでなんだろ?
e.Graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
e.Graphics.DrawImage(bitmap,new Rectangle(0,0,128,128),
new Rectangle(0,0,64,64),System.Drawing.GraphicsUnit.Pixel);
0112デフォルトの名無しさん
2007/04/17(火) 22:36:01確かにこれは3値論理型を作るためだけの機能ですね。
false演算子のオーバーロードは今のC#からは使用されてないと思う。
C#3.0でunlessが追加になるらしいのでこれで使うことになるのだろうか。
他にVBのDo Untilで使ってそうな気がするが今度試してみる。
0113デフォルトの名無しさん
2007/04/17(火) 22:37:33最近傍補間がそういう補間アルゴリズムだから。
まあ、双一次補間でも双三次補間でも同じようになるんだが。
0114デフォルトの名無しさん
2007/04/17(火) 23:14:02さんくす、補間アルゴリズムが原因だったんですか。
他の補間モードを使ってもずれるし、
自前で拡大したビットマップを作って描画するとかしかないのかなぁ
0115デフォルトの名無しさん
2007/04/17(火) 23:51:41全ての文字列を読み込む関数があったんですね。
ありがとうございます。
>>110
理由は宿題で決まっていたからとしか…。
0116デフォルトの名無しさん
2007/04/18(水) 02:33:18補間がどうこうもあるけどたぶん大元の理由は、ラスタイメージが基本的に
1pixelの離散座標系なので、実数座標系ではその幅の半値分ずれること。
実数だと(0,0)は大きさを持たない点であるのに対しラスタは幅1の四角
だからね。1pxの線を描こうとか言うときによく問題になるんだけども。
細かく追っていくとサンプリングの座標とかターゲットの座標を追わないと
いけないんでやらんけど、たぶんその辺が原因じゃねーかな。
修正したいなら文字通りどこか0.5ずらしてやればいいだけだとオモ。
感覚的には…うーん、ターゲット座標?
0117デフォルトの名無しさん
2007/04/18(水) 09:48:37FormのBoundsプロパティで大きさを変更しようとしたんですが
幅が125ピクセルより小さく設定できないようです。
これより小さくするにはどうすればいいんでしょうか?
0118デフォルトの名無しさん
2007/04/18(水) 10:05:36FormBorderStyleをSizable以外にする
0120デフォルトの名無しさん
2007/04/18(水) 10:58:42FixedToolWindowかSizableToolWindowじゃないと
SystemInformation.MinimumWindowSizeより小さくできないらしい。
0121117
2007/04/18(水) 11:28:13あら、そうなんですか。
ツールチップ的な小さいウインドウをつくろうとしたんですが
無理ってことですか・・・
どうもありがとうございました。
0122デフォルトの名無しさん
2007/04/18(水) 12:37:13Dropした先のコントロールなり外部アプリケーションから
ソース側にDropしたことを知らせるために
QueryContinueDrag イベント
が発生して、引数 QueryContinueDragEventArgs に対して
Action プロパティ
に Drop が帰ってくるのですが、このときに、
アイテムの 「移動」 をした場合はこれを知ってソース側でそのアイテムを
削除(Remove)できると Help に書かれていました。
-------
● DragAction の値が Drop の場合、ドロップ効果の値がソースに返されます。
ソース アプリケーションでは、ソース データに対して適切な操作を実行できます。
たとえば、移動操作だった場合は、データの切り取りなどを実行できます。
-------
これを実装したのですが、その際、この QueryContinueDrag イベント
のハンドラー内で、「移動」 だったのか 「コピー」 だったのかを知るには
どうすればいいでしょう?このイベントでは、DragDropEffects 列挙体型の
値を受け取れるでしょうか?よろしくお願いします。
0123デフォルトの名無しさん
2007/04/18(水) 12:38:41(失礼しました)
0124デフォルトの名無しさん
2007/04/18(水) 12:56:30SetWindowPosでやればいくらでも
0126デフォルトの名無しさん
2007/04/18(水) 13:48:51デバッグしてる時に全然例外をスローしないで、そのまま動いてるんだよ。
しかも、メソッド内の処理はその間違った処理のところで終了し、メソッドを出てしまう。
まぁ例外処理だから、処理を中断し、そこから出てしまうんだろうね。そこは分かる。
でもtry{}catch{}はどこにも書いてないのに、なんでそのまま正常に動いてるんだろう。。。
おかげでバグを発見するのに時間がかかった。。
0127デフォルトの名無しさん
2007/04/18(水) 14:13:320128デフォルトの名無しさん
2007/04/18(水) 14:15:50classA instance;
instance = null;
instance.method;
こんな感じなの?
0129デフォルトの名無しさん
2007/04/18(水) 14:38:55this.smpObj = new SmpObject(20, 550) ;
else{
this.price = 20 ; //�@
this.quantity = 550 ;
}
こんな感じですね。つまりif条件文の「==」とすべきところを「!=」と間違えていたわけですが。
�@を実行後、メソッドから突然抜けてしまったので、例外がスローされたんだと思いますが、
キャッチしてないはずなのに、デバッグはそのまま動き続けてました。
0130129
2007/04/18(水) 14:40:35this.smpObj = new SmpObject(20, 550) ;
else{
this.smpObj.price = 20 ; //�@
this.smpObj.quantity = 550 ;
}
間違えました。こうです
0131デフォルトの名無しさん
2007/04/18(水) 14:47:27しばらく待ってたら止まったかも
0132デフォルトの名無しさん
2007/04/18(水) 15:08:441.GraphicsインスタンスをuseingやClose()で手動で破棄している
サンプルコードが多いのですが、ガベージコレクションに任せないのは
なぜでしょうか?
2.Graphics以外にも手動でインスタンスの破棄を行ったほうが良いクラ
スはあるのでしょうか?
以上です。よろしくお願いします。
0133デフォルトの名無しさん
2007/04/18(水) 15:15:580134デフォルトの名無しさん
2007/04/18(水) 15:19:11Dispose(と同等のClose)やusingで破棄するのはインスタンスではなく
インスタンスが保持しているアンマネージリソース。
インスタンス自体の破棄はGC任せ。
基本的にDisposeが実装されているオブジェクトは不要になったらDisposeした方がいい。
0135デフォルトの名無しさん
2007/04/18(水) 15:20:140136デフォルトの名無しさん
2007/04/18(水) 17:17:51次のケースでfalse演算子が使われるのを確認。
& 2項演算子 + true演算子 + false演算子を定義すると && 演算子が使用できるようになる。
式 A1 && B1 で
最初にA1がfalse演算子で検査されfalseであればB1は評価されない。
なおVBのDo Untilもtrue演算子を使っていました。
0137デフォルトの名無しさん
2007/04/18(水) 19:26:04それが、そのまま他の処理を続けてたんですよね、ずっと。
0138デフォルトの名無しさん
2007/04/18(水) 20:40:40とか出来ないんでしょうか? 色んなプロジェクトから 初期化共通項目として
1つのファイルから読み出したいんですが struct とか const なんかを
0139デフォルトの名無しさん
2007/04/18(水) 20:45:22共通の要素をアセンブリにまとめて、各プロジェクトで参照しる。
0140デフォルトの名無しさん
2007/04/18(水) 21:04:58ありがとうございます
クラスライブラリーでdll作って、参照の追加すればいいんですね
0141デフォルトの名無しさん
2007/04/18(水) 22:10:02dllの記述がない。うち2冊は糞本であることが
購入2日くらいでわかった。もう少し落ち着いて
買うことにする。
0142デフォルトの名無しさん
2007/04/18(水) 22:46:01メソッドをその場で抜けてるって言ってんのにそのまま処理を続けてるって…
「どこから」処理を続けてるんだよ
そのプログラムは、どこに書いてる?
ASP.NET?Windowsアプリ?
その中のどういうところに書いてるコード?
ちなみにメニューのデバッグの例外でスローされるとき中断にしとけば、
スロー時に即デバッガで停止されるのでまず確認できると思うぞ。
0143デフォルトの名無しさん
2007/04/19(木) 00:19:41その用途でconstを使うのはダメだろ
static readonly stringか読み取り専用プロパティにしとけ
0144デフォルトの名無しさん
2007/04/19(木) 14:15:21OpenFileDialogを使い、ファイルを選択させているのですが、ドライブのアイコン(マイコンピュータの中のアイコン)が表示されずに困っています。
どうやったら表示できるのでしょうか?
0145デフォルトの名無しさん
2007/04/19(木) 21:09:21別スレッドだと表示されません
0146デフォルトの名無しさん
2007/04/19(木) 21:23:06インデックス番号を指定してある項目を選択するなんてことできるんでしょうか?
0147デフォルトの名無しさん
2007/04/19(木) 21:28:070148デフォルトの名無しさん
2007/04/19(木) 21:29:150149デフォルトの名無しさん
2007/04/19(木) 21:29:580150デフォルトの名無しさん
2007/04/19(木) 21:30:07ねえなんでMSDNライブラリ読まないの?
読んでわからないならPGなんかやらない方がいいと思うよ。
>>147
おいおいアホだろw
0151デフォルトの名無しさん
2007/04/19(木) 21:33:260152デフォルトの名無しさん
2007/04/19(木) 21:43:28public SelectedIndexCollection SelectedIndices { get; }
0153デフォルトの名無しさん
2007/04/19(木) 21:46:53まさか、お前、本気でSelectedIndicesの使い方しらんのか?
MSDN読んどけよ。
0154デフォルトの名無しさん
2007/04/19(木) 21:47:41色々勘違いしているようだ
つか ListView.SelectedIndices ってスナップショットじゃないのな
ちょっと驚き
0155デフォルトの名無しさん
2007/04/19(木) 22:02:43listView1.Focus();
listView1.Items[n].Selected = true;
で,出ますね
items[]なんてあるとわからないで items.で捜してしまって初心者にはわからないのですよ
ヒントもらえるとホント助かります
0156デフォルトの名無しさん
2007/04/19(木) 22:03:420157デフォルトの名無しさん
2007/04/19(木) 22:19:08心配なんですが、そこらへんの情報ありませんか?
0158デフォルトの名無しさん
2007/04/19(木) 23:22:240159デフォルトの名無しさん
2007/04/19(木) 23:30:42VS2005からコンパイルするとRelaseモードでも/debug:pdb-onlyになってるから
*.pdbファイルへのフルパスが埋め込まれている。
そのパスにユーザー名が入ってたらそれはわかる。
0160デフォルトの名無しさん
2007/04/19(木) 23:35:020161デフォルトの名無しさん
2007/04/19(木) 23:37:250162デフォルトの名無しさん
2007/04/19(木) 23:38:520163デフォルトの名無しさん
2007/04/20(金) 00:12:16よる単語選択ができません。
トリプルクリックによる行選択は出来るのですが、ダブルクリックでは1文字だけが
選択されてしまいます。
また、ドラッグによるテキスト選択を行おうとすると、カーソルの彼方の方まで選択
してしまったりと、謎の挙動で困っております。
このような挙動を、一般的なアプリ風にするには、どのようにしたらいいのでしょうか?
0164デフォルトの名無しさん
2007/04/20(金) 00:29:46ダブルクリックで単語選択できるし。
新しいフォームに RichTextBox 貼り付けただけのプロジェクトで試してみた?
0165デフォルトの名無しさん
2007/04/20(金) 01:03:56新規プロジェクトを作ってRichTextBoxを1つだけ貼り付けて、何も設定していない状態で
試してみましたが、英語とひらがな・カタカナは正常に選択されますが、漢字がダメです。
「これは機能テストです。」という文字列を入力して試してみたのですが、
「これは」「テスト」「です」は正常、「機能」の部分だけ選択されないという状況でした。
通常、ダブルクリックで選択するような場合は、漢字の変換ミスの時が多いと思うので、
なんとかしたいのですが、解決方法がまったく思いつきません。。。
もしかしたら、.NET2.0では直っているのでしょうか。。。
0166デフォルトの名無しさん
2007/04/20(金) 01:08:51ワードパットで試してみ。
自分でクリック位置の前後の単語区切りを探して選択するようなコードを書けばいい。
0167デフォルトの名無しさん
2007/04/20(金) 01:14:26あーそりゃ RichEdit の仕様だ。ワードパッドでもそうなる。
漢字は一文字で 1 ワード。ひらがなやカタカナは同じ文字種の範囲で 1 ワード。
どうにかするには……思いつかんな。
一般的なエディタは RichEdit なぞ使わんからなぁ。
0168デフォルトの名無しさん
2007/04/20(金) 01:25:37あぁ、確認しました。。。
> 自分でクリック位置の前後の単語区切りを探して選択するようなコードを書けばいい。
(´A`)
0169デフォルトの名無しさん
2007/04/20(金) 07:42:07http://pc11.2ch.net/test/read.cgi/tech/1173763436/592
592 名前:デフォルトの名無しさん[] 投稿日:2007/04/18(水) 01:31:56
.NET1.1とC#で勉強を兼ねてワードパットのようなモノを作っているのですが、
RichTextBoxで一般的なWindowsアプリにあるようなダブルクリックによる
単語選択ができません。
トリプルクリックによる行選択は出来るのですが、ダブルクリックでは1文字だけが
選択されてしまいます。
また、ドラッグによるテキスト選択を行おうとすると、カーソルの彼方の方まで選択
してしまったりと、謎の挙動で困っております。
このような場合は、どのようにしたらいいのでしょうか?
0170デフォルトの名無しさん
2007/04/20(金) 08:19:00タイピングする前に当たり前の確認作業をしようと思わないのかね。
少なくとも俺には精神分析の対象程度には人格が壊れてるとしか思えない。
0171デフォルトの名無しさん
2007/04/20(金) 08:38:45精神分析厨
0172デフォルトの名無しさん
2007/04/20(金) 12:24:45Resources1.designer.csが作られて
Resource1.imgHogeとプロパティでアクセスできるんですが、
この場合返ってきたBitmapオブジェクトは、使い終わったら
Disposeするべきなんですか?
Disposeした場合、
もう一度Resource1.imgHogeってアクセスしても普通に使えるんですが
これは安全ですか?
ResourceManager.GetObjectをMSDNで読むと
「……複数回呼び出した場合、戻り値が同じオブジェクトの参照になるとは限りません。……」
とあるので、同じ参照になる場合もあるってことですかね?
0173デフォルトの名無しさん
2007/04/20(金) 16:30:090174デフォルトの名無しさん
2007/04/20(金) 19:52:45Paintイベントで使ってて >>172 のような疑問を持ったらオレは夜も眠れない
っていうかもう眠れないじゃねーか!w
0175デフォルトの名無しさん
2007/04/20(金) 21:02:19PaintEventArgs.GraphicsはDisposeしてはならん。
0176165
2007/04/20(金) 21:43:15public class RichTextBoxCustom : System.Windows.Forms.RichTextBox {
protected override void OnDoubleClick(EventArgs e) {
MessageBox.Show("test");
}
}
という風にしたものをフォームに貼り付けてダブルクリックしてみたのですが、反応がありません。
で、VisualStudioでブレイクポイントを設定してみたのですが、入ってきている形跡がないようなのですが、
なんででしょうか?
0177デフォルトの名無しさん
2007/04/20(金) 23:00:18{
MessageBox.Show( "test" );
base.OnMouseDoubleClick( e );
}
だけどテキストが選択されてからMessageBoxがでるようだから
もっとメッセージ的に前のイベントをとるか
WndProcでマウスメッセージ捕まえるかしたほうがいい。
まずはReflectorでRichTextBoxの挙動を調べろ
話はそれからだ
0178デフォルトの名無しさん
2007/04/21(土) 00:34:08>話はそれからだ
北方謙三にでもなったつもりかねw
頭オカシイんじゃねえの
0179デフォルトの名無しさん
2007/04/21(土) 00:49:33Reflector使うのがかっこいい年頃なんだろw
0180デフォルトの名無しさん
2007/04/21(土) 01:29:160181デフォルトの名無しさん
2007/04/21(土) 02:35:450182デフォルトの名無しさん
2007/04/21(土) 04:14:38おっさん年いくつだよ
0183北方謙三
2007/04/21(土) 07:37:110184デフォルトの名無しさん
2007/04/21(土) 08:05:510185デフォルトの名無しさん
2007/04/21(土) 10:54:21いいねぇ趣味でやってる学生プログラムマーは。コストなんて無関係でw
0186デフォルトの名無しさん
2007/04/21(土) 10:56:20手っ取り早く挙動を確認するのに、早い場合「も」あるわな。
0187デフォルトの名無しさん
2007/04/21(土) 11:08:230188デフォルトの名無しさん
2007/04/21(土) 12:01:350189デフォルトの名無しさん
2007/04/21(土) 13:52:220190デフォルトの名無しさん
2007/04/21(土) 14:10:420191デフォルトの名無しさん
2007/04/21(土) 14:11:50ほんとう
ttp://www.atmarkit.co.jp/fdotnet/insiderseye/20060215cscommunity/cscommunity_01.html
0192デフォルトの名無しさん
2007/04/21(土) 14:41:03一応コードポイント 81F8 ということになってはいる。
0193デフォルトの名無しさん
2007/04/21(土) 14:47:09JIS X 0213 には入ってるし、だから当然 Unicode にも入ってるし、メイリオ や Tahoma にはグリフもあるんだけど、
Windows の持ってるコード変換テーブルにはなぜか含まれない。
0194デフォルトの名無しさん
2007/04/21(土) 17:58:23アクティブウインドウのX・Y座標とWidthとHeightを知りたいのですが、
WIN32APIのGetActiveWindow使いますか?
0195デフォルトの名無しさん
2007/04/21(土) 18:38:46System.Windows.Forms.Form.ActiveForm()
0196デフォルトの名無しさん
2007/04/21(土) 18:41:47取得するフォームが自分のアプリケーションだけならば >>195 を
そうで無いならば GetActiveWindow を
0197デフォルトの名無しさん
2007/04/21(土) 22:30:55とりあえず色々コントロールを使ってみようと思ってフォームにステータスバーを置いたら
見た目が普通のものと違う、、、
コレって普通の見た目のステータスバーにはできないでしょうか?
0198デフォルトの名無しさん
2007/04/21(土) 22:40:220199デフォルトの名無しさん
2007/04/21(土) 22:55:410200デフォルトの名無しさん
2007/04/21(土) 23:24:220201デフォルトの名無しさん
2007/04/22(日) 00:07:23先が思いやられるな
0202デフォルトの名無しさん
2007/04/22(日) 00:21:350203デフォルトの名無しさん
2007/04/22(日) 01:33:520204202
2007/04/22(日) 01:36:470205デフォルトの名無しさん
2007/04/22(日) 01:45:36Main()の最初にこの一行追加して実行したまへ
ToolStripManager.VisualStylesEnabled = false;
0206デフォルトの名無しさん
2007/04/22(日) 10:54:110207デフォルトの名無しさん
2007/04/22(日) 11:00:470208デフォルトの名無しさん
2007/04/22(日) 11:08:31思って、メッセージのキューの方法で実現できる方法を探していました。
でも今挫折してデリゲートを関数ポインタとして使って親に通知しようとしてます。。。
だめ?
0209デフォルトの名無しさん
2007/04/22(日) 11:22:050210デフォルトの名無しさん
2007/04/22(日) 12:12:42メッセージキューの方法って? ポストするってこと?
関数ポインタで親に通知って?
よのなか謎でいっぱい
0211デフォルトの名無しさん
2007/04/22(日) 12:45:110212デフォルトの名無しさん
2007/04/22(日) 12:46:150213デフォルトの名無しさん
2007/04/22(日) 14:02:000214デフォルトの名無しさん
2007/04/22(日) 14:07:11ttp://www.atmarkit.co.jp/fdotnet/easyvs2nd/easyvs2nd01/easyvs2nd01_04.html
にあるように[新規プロジェクト]→[Windowsアプリケーション]で生成されたプログラムを、
素の状態でビルドして実行してもフォームが表示されません。ビルドされたファイルを直接開いても同様です。
見たところタスクマネージャーにも変化が見られないんですが、これって何かの設定ミスとかなのでしょうか?
環境はWin XP SP2、VC#2005 Express Editionです
0215デフォルトの名無しさん
2007/04/22(日) 14:44:060216デフォルトの名無しさん
2007/04/22(日) 15:00:450217214
2007/04/22(日) 15:39:57・VC#で[F5]または[Ctrl+F5]で実行
・ビルドしたファイルはデフォルトの設定のままで設定してるので
「マイドキュメント」→[Visual Studio 2005]→[Projects]→[Windows Aplication1]→[bin]→[Release]
にあった実行ファイルを直接開く
の2種類をトライしました。
他作業をしているときに気付いたのですが、どうやら一応実行だけはされているようです。
ただし開いた瞬間にアプリケーションが終了しているようでした。
ウィンドウサイズやタイトルのパラメータを弄ってビルドすると反映されることから、
一応ビルドはうまくいっているようです
0218デフォルトの名無しさん
2007/04/22(日) 16:33:370219デフォルトの名無しさん
2007/04/22(日) 16:43:36Eclipseにあるようなtry〜catch()で囲むの機能
(選択範囲のスローされる例外のcatchを自動で生成してくれる)機能ってないでしょうか?
0220デフォルトの名無しさん
2007/04/22(日) 16:49:42C#にはJavaのthrowsに相当するものがないから
0221デフォルトの名無しさん
2007/04/22(日) 16:49:570222デフォルトの名無しさん
2007/04/22(日) 17:03:26空のcatchブロックが意味内のはわかりますが
catchする気がなくてもどんな例外が出るか一気に調べられて便利だと思うんですが
0223デフォルトの名無しさん
2007/04/22(日) 17:07:35MSDNのいい加減さをみりゃわかるだろうが、
発生する可能性のある例外を調べる方法はない。
0224デフォルトの名無しさん
2007/04/22(日) 17:15:52ありがとうございます。
0225デフォルトの名無しさん
2007/04/22(日) 19:59:45203さんの言うとおりStatusStripとStatusBarで見た目が違うので戸惑いました。
205さん解答ありがとうございました。これからちょっと試してみます。
0226デフォルトの名無しさん
2007/04/22(日) 20:08:01General.walker[0].printtest();
public class StartWalker
{
public void printtest()
{
General.PRTMSG_LIST += "----------------------------------------\r\n";
}
}
public struct General
{
public static List<StartWalker> walker = new List<StartWalker>();
}
こんばんは、上記のような使い方をしたいのですが設定の方法がわかりません
おしえていただけないでしょうか?
0227デフォルトの名無しさん
2007/04/22(日) 20:16:560228デフォルトの名無しさん
2007/04/22(日) 20:51:30GeneralにPRTMSG_LISTなどというメンバはないようだが
0229デフォルトの名無しさん
2007/04/22(日) 21:20:140230デフォルトの名無しさん
2007/04/22(日) 21:22:470231デフォルトの名無しさん
2007/04/22(日) 21:23:450232デフォルトの名無しさん
2007/04/22(日) 21:24:480233デフォルトの名無しさん
2007/04/22(日) 21:29:270234デフォルトの名無しさん
2007/04/22(日) 21:30:41Positionはいろいろある。
何のPositionか書け。
0235デフォルトの名無しさん
2007/04/22(日) 21:32:09DataSet.Datatable.Position
0236デフォルトの名無しさん
2007/04/22(日) 21:42:30General.walker[0].printtest();
General.walker.Add(null);
General.walker[1].printtest();
int c = General.walker[1].intB();
General.walker[1].intB() = 5;
public class StartWalker
{
string a = "";
string msgstack = "";
int b =0;
public void printtest()
{
//メインになる動作を入れます
msgstack += "test you"+"\r\n";
}
public int intB {
get { return b;}
set { b = value}
}
}
public struct General
{
public static List<StartWalker> walker = new List<StartWalker>();
}
説明不足で申し訳ありません
マルチスレッドでStartWalkerの部分をGeneral.walker.Add(null);で任意の数ついかしたいのですが
うまく説明できません・・・
0237デフォルトの名無しさん
2007/04/22(日) 21:45:310238デフォルトの名無しさん
2007/04/22(日) 21:46:360239デフォルトの名無しさん
2007/04/22(日) 21:47:080240デフォルトの名無しさん
2007/04/22(日) 21:49:08helpトピック25件も出るぞ。
0241デフォルトの名無しさん
2007/04/22(日) 21:49:590242デフォルトの名無しさん
2007/04/22(日) 21:50:07かまねんねやけどな。
なんでnullをAddするんかいな。
おっちゃんそこんとこわからへんねん。
うごかへんのとちゃうんかいな。
0243デフォルトの名無しさん
2007/04/22(日) 21:54:17ボタンを押す
設定した数のサブプログラムスレッドを起動
ボタン2を押す
n番目のスレッドの変数cを参照して表示する
//サブプログラム
乱数ベースでさまざまな演算を行い変数を格納
int a =1;
int b =2;
int c =3;
上記のようなプログラムが組みたいのですが
0244デフォルトの名無しさん
2007/04/22(日) 21:56:54いままでなんでそれを書かなかったの?
ゆとり世代?
0245デフォルトの名無しさん
2007/04/22(日) 21:57:28組めば?
0246デフォルトの名無しさん
2007/04/22(日) 21:57:42何をAddすれば動くのかわからなくって
とりあえずnull入れちゃってます・・・
0247デフォルトの名無しさん
2007/04/22(日) 21:59:16全くかすってない。
センスないよ。
いきなりスレッドなんかやらずに基礎から地道にやれよ。
0248デフォルトの名無しさん
2007/04/22(日) 22:00:38>>236を見る限りだと勉強不足が否めないな
スレッドなんか触るべきじゃない
0249デフォルトの名無しさん
2007/04/22(日) 22:24:11このあたりも全くスレッドを理解してない証拠。
0250デフォルトの名無しさん
2007/04/22(日) 22:55:37int view = a[threadnumber];
int view2 = a2[threadnumber];
のような参照の仕方だったのですが。
int view = Thread[0].getint();
int view2 = Thread[1].getint2();
クラスを作成してそれをマルチスレッドで動かし
後にそれぞれのクラスから計算結果を取り出そうと思ったのですが
public static List<StartWalker> walker = new List<StartWalker>();
でクラスのもとを作成して
walker.Add();
で要素(class)の数を追加
ThreadPool.QueueUserWorkItem(new WaitCallback(walker[0].main), 0);
でスレッドを起動みたいなイメージでした。
独学なのでいまいちわからなくてこまっています。。
0251デフォルトの名無しさん
2007/04/22(日) 23:01:07『独学でそこまでやったことは素直に評価できると思う。セオリーとは乖離しているが』
walker に追加する理由は何だい?
後で参照するん?
0252デフォルトの名無しさん
2007/04/22(日) 23:02:26初心者とか関係なくこの言葉は常に頭に入れておいたほうがいいよ
Keep it Simple, Stupid.
0253デフォルトの名無しさん
2007/04/23(月) 00:33:33プロジェクト作る時にシフトJISにする方法ないですか?
0254デフォルトの名無しさん
2007/04/23(月) 00:42:410255デフォルトの名無しさん
2007/04/23(月) 00:47:30ありがとうございました
0256デフォルトの名無しさん
2007/04/23(月) 00:54:58特に指定しない限りSJISで保存されるのがデフォと思うけど。。
0257デフォルトの名無しさん
2007/04/23(月) 00:56:390258デフォルトの名無しさん
2007/04/23(月) 00:56:56int view = Thread[0].getint();
int view2 = Thread[1].getint2();
public static List<StartWalker> Thread = new List<StartWalker>();
Thread.Add();
ThreadPool.QueueUserWorkItem(new WaitCallback(Thread[0].main), 0);
でした。
後で、または実行中に参照しようと思ってました
今回C#初挑戦で作ってる最中にいろいろ思いついてしまって。。
今回は
nt view = a[threadnumber];
int view2 = a2[threadnumber];
のまま使ってまた巧くなったら挑戦してみたいと思います。
ありがとうございました
>>252
スレッドは必須だったので。。
0259デフォルトの名無しさん
2007/04/23(月) 01:05:41売ってるやつはUNICODEで保存されるみたいでつ
0260デフォルトの名無しさん
2007/04/23(月) 01:21:53BOMつきUTF8だよ
0261デフォルトの名無しさん
2007/04/23(月) 01:27:14そうだったか?
何を見てSJISと言ってるのか気になるところだな
0262デフォルトの名無しさん
2007/04/23(月) 01:42:19今まで何か勘違いしてたよ。。
おかしいな、確か2003までは日本語入っててもデフォでSJISで保存だったような
気がするんだけど。
だから(c)とか(R)みたいなSJISにない文字が入ってると保存時に警告された記憶がある。
0263デフォルトの名無しさん
2007/04/23(月) 03:56:560264デフォルトの名無しさん
2007/04/23(月) 06:24:12違うエディターでソースを開いてたからわかった
0265デフォルトの名無しさん
2007/04/23(月) 06:43:40製品版VS2005で新規作成すると UTF-8 になるけれども
もともと Shift_JIS のファイルを開いて保存しても Shift_JIS のままだった。
なので Shift_JIS から UTF-8 に全部変換したことがある。
0266デフォルトの名無しさん
2007/04/23(月) 11:31:33UTF-8のファイルだけどいいの?って聞いてきますよ。
0267デフォルトの名無しさん
2007/04/23(月) 11:35:186系はUTFに対応していないからなぁ・・・
2005と同時期に出たVSS7だとちゃんとUTF-8のソースを管理できる
0268デフォルトの名無しさん
2007/04/23(月) 22:43:120269デフォルトの名無しさん
2007/04/23(月) 23:04:24そして、末尾日本語の改行コードがVSS6.0に壊される・・・
(かといってバイナリー指定にすると、diffがとれない)
>>268
今期の設備投資で注文してたのに・・まだ、うちの部署に届かない・・・
調達・・なにやってるんだよ〜
0270デフォルトの名無しさん
2007/04/24(火) 15:56:50クラス1
属性:A,B,C
操作:D
クラス2
属性:A,C
操作:D
クラス3
属性:A,B
操作:D
クラス1がデータを取得するとき、属性:Bの有無で
クラス2 or クラス3を用いる方式を考えています。
こういう場合、属性Aと操作Dを抽象クラスにしたほうが
よいのでしょうか?
0271デフォルトの名無しさん
2007/04/24(火) 15:59:410272デフォルトの名無しさん
2007/04/24(火) 17:37:40抽象クラス {属性:A, 操作:D}
インターフェイスB {属性:B}
インターフェイスC {属性:C}
クラス1 : 抽象クラス, インターフェイスB, インターフェイスC
クラス2 : 抽象クラス, インターフェイスC
クラス3 : 抽象クラス, インターフェイスB
0273デフォルトの名無しさん
2007/04/24(火) 20:02:220274デフォルトの名無しさん
2007/04/24(火) 20:05:330275デフォルトの名無しさん
2007/04/24(火) 20:25:54アホだからわからん。
0276デフォルトの名無しさん
2007/04/24(火) 20:29:490277デフォルトの名無しさん
2007/04/24(火) 20:33:19つまりプロパティ
0278デフォルトの名無しさん
2007/04/24(火) 21:42:000279デフォルトの名無しさん
2007/04/24(火) 21:45:480280デフォルトの名無しさん
2007/04/24(火) 22:09:24>>270がJava使いだとは思えないが
0281デフォルトの名無しさん
2007/04/24(火) 22:59:39IReadOnlySessionState
思い切りマーキングインターフェイス使ってるやん。
しかもこれのせいでハンドラがすごいうぜー構造になって実害でてるやん。
0282デフォルトの名無しさん
2007/04/24(火) 23:02:31自らの失敗から駄目だって言ってるんじゃね?w
0283デフォルトの名無しさん
2007/04/24(火) 23:05:530284デフォルトの名無しさん
2007/04/25(水) 11:46:070285デフォルトの名無しさん
2007/04/25(水) 13:42:090286デフォルトの名無しさん
2007/04/25(水) 14:15:33マイクの音量を調整するプログラムを作ろうと思ったのですが、
どのクラスを使えばいいのでしょうか?
MSDNのクラスライブラリでそれっぽいところは見てみたのですが、
音量調整できそうな物はなかったのですが…
0287デフォルトの名無しさん
2007/04/25(水) 17:33:56ttp://www11.ocn.ne.jp/~ikalu/csharp/0005.html
こんなん出てきた
0288デフォルトの名無しさん
2007/04/25(水) 23:02:39listboxの表示と実際の値を変えることが出来るみたいな記事を
どこかで読んだんですが、見つけられません・・・・・orz
やりたい事はlistboxにファイルをドロップした時
値=フルパス
表示=ファイル名のみ
ってやりたいんですけど・・
お願いします
0289デフォルトの名無しさん
2007/04/25(水) 23:04:500290デフォルトの名無しさん
2007/04/25(水) 23:07:14string 二つ持たせたクラス作って ToString() をオーバーライド
さてどっちが楽かね。
0291デフォルトの名無しさん
2007/04/25(水) 23:11:41>>290
うっ・・・ん〜ん。初心者なのでピンときません・・・
キーワードありがとうございました!!
がんばってみますね!!!
0292デフォルトの名無しさん
2007/04/25(水) 23:14:35if(e.ListItem is string) e.Value = System.IO.Path.GetFileName(e.ListItem as string);
}
0293デフォルトの名無しさん
2007/04/25(水) 23:18:38うをぅ!!
ありがとうございます!
delegateって使った事がないので見ただけではなんとなくしか分かりませんが
凄く勉強になりそうな感じですね(笑)
本当に感謝します!
0294デフォルトの名無しさん
2007/04/26(木) 00:46:47なにこれ2.0からコントロールにもこんなの追加されたの?
他にも今までの苦労全てプギャーってなりそうな予感…
今度の休みは一日中クラスライブラリのヘルプ眺めてみるか。
0295デフォルトの名無しさん
2007/04/26(木) 00:47:45これどうしても便利だと俺は思えないんだけど。
いや、(コードを書くときには)便利ではあるかもしれないが、
後でコードを読むときのことを考えると有用性が甚だ疑問なんだよな。
0296デフォルトの名無しさん
2007/04/26(木) 01:00:09プロパティ設定するための Invoke とか、ちょっとした MatchEvaluator 使う Match とかお薦め。
0297294
2007/04/26(木) 01:27:17いや >>292 は匿名メソッドがどうのとかじゃなくて
Formatイベントというものが追加されてるのに感動したと…
もちろんイベントにメソッドを割り当てるのは可能だけど、
>>292のように匿名メソッドでサラっと書けるのって利点だとおもわないか?
0298デフォルトの名無しさん
2007/04/26(木) 01:39:29のオブジェクトを取得したいのですがどうすればよいですか?
0299デフォルトの名無しさん
2007/04/26(木) 01:43:580300デフォルトの名無しさん
2007/04/26(木) 01:49:08ToolStripContainer.LeftToolStripPanel.Controls
ToolStripContainer.RightToolStripPanel.Controls
以下同文
0301298
2007/04/26(木) 02:01:19top, left 〜 4回繰り返さないとだめなんですね。
そこで、もうひとつ質問なんですが
foreach (Object obj in toolStripContainer1.TopToolStripPanel.Controls)
こんな感じでforeachでまわして、
TopToolStripPanelに属するツールバーorメニューバーのGripStyleを一括して設定したいのですが、
どうすれば良いでしょう?menuStripとToolStripがTopToolStripPanelに混在している時点で
一括して処理するのは不可能なんでしょうか?
(menuStrip、ToolStripがクラスではない、というのもよくわかってないのですが、、)
0302デフォルトの名無しさん
2007/04/26(木) 02:27:25??
どちらもControlですよ。
MenuStrip もStatusStrip もToolStripを継承してるから
foreach( ToolStrip ts in toolStripContainer1.TopToolStripPanel.Controls )
{
ToolStripGripStyle tsgs = ts.GripStyle;
.....
}
でおk
0303デフォルトの名無しさん
2007/04/26(木) 07:53:33(ブレークポイントとかで止めたい)んですが、可能ですか?
0304デフォルトの名無しさん
2007/04/26(木) 10:36:020305デフォルトの名無しさん
2007/04/26(木) 20:17:380306デフォルトの名無しさん
2007/04/26(木) 21:08:57selecteditemでもforcuseditemでもキャストなしではダメですよね?
誰か教えてー
0307デフォルトの名無しさん
2007/04/26(木) 21:12:090308デフォルトの名無しさん
2007/04/26(木) 21:16:090309デフォルトの名無しさん
2007/04/26(木) 21:18:47ListViewItem:{hoge}
みたいな
0310デフォルトの名無しさん
2007/04/26(木) 21:21:56匿名メソッドだとクロージャのせいで
メソッドを割り当てるのに比べてパフォーマンスが低下したりしないですか?
0311デフォルトの名無しさん
2007/04/26(木) 21:30:350312デフォルトの名無しさん
2007/04/26(木) 21:31:14一体何がわからんのかわからん
0313デフォルトの名無しさん
2007/04/26(木) 21:39:36あーすみません。
あるディレクトリ内のファイルをloadイベントでlistviewにリストアップします
んでlistviewで複数選択してボタンを押したときに他のあるディレクトリに
選択されたファイルをコピーしたいのです
んでfilecopyをforeachでやりたいんですけどパスがstring型で取れないんですよ・・
0314デフォルトの名無しさん
2007/04/26(木) 21:42:590315デフォルトの名無しさん
2007/04/26(木) 21:46:19foreach(string hoge in ListView.forcuseditem.text)
なんて出来ます?
今家なんでVSないんですよ・・
0316デフォルトの名無しさん
2007/04/26(木) 21:46:500317デフォルトの名無しさん
2007/04/26(木) 21:47:450318デフォルトの名無しさん
2007/04/26(木) 21:50:44ははは・・・・
0319デフォルトの名無しさん
2007/04/26(木) 22:11:020320デフォルトの名無しさん
2007/04/26(木) 22:47:03現在の位置している行数を取得したいのですが、
1行が1024文字を超えた位置にカーソルが位置していると、
下記のrowの値が1だけ繰り上がってしまいます。
どうやら1024区切り(1024,2048,3072,…)で1ずつ繰り上がるようです。
TEXT->WordWrap = false;
int row = GetLineFromCharIndex(TEXT->SelectionStart);
TEXT->WordWrap = true;
これを回避して、1024文字を超えても正しい行数を返すように
修正できないでしょうか?
0321デフォルトの名無しさん
2007/04/26(木) 23:09:01すれ違いですよ。
0322デフォルトの名無しさん
2007/04/26(木) 23:12:57学習用ソフトをperlから移植しているのですが
上記のような場合どのようにDllの記述をすればよろしいのでしょうか?
0323デフォルトの名無しさん
2007/04/26(木) 23:17:32もしそれが出来たとしても
foreach (ListViewItem item in ListView.ForcusedItem)
{
string hoge = item.Text;
}
と何が違うのかわからん。
0324320
2007/04/26(木) 23:23:33該当スレに誘導して頂けますか?
0325デフォルトの名無しさん
2007/04/26(木) 23:23:37SelectedItemsな。
itemsになってるだろ?
複数のものを返してくるときはたいていsがついてる。
複数形だな。
まずmsdnみろ。
>ListView.SelectedItems プロパティ
>コントロール内の選択された項目を取得します。
>構文
>C#
>public SelectedListViewItemCollection SelectedItems { get; }
プロパティはSelectedListViewItemCollectionを返すことになってる。
〜Collectionは複数のものを返すように大体なってる。
これを使って foreachしてListViewItemを1個ずつ取り出す。
そしてTextを…
0326デフォルトの名無しさん
2007/04/26(木) 23:25:45たぶんここ
くだすれVisual C++(超初心者用)その4
http://pc11.2ch.net/test/read.cgi/tech/1164787254/
0327デフォルトの名無しさん
2007/04/26(木) 23:28:07ありがとうございます。そちらで質問してみます。
0328デフォルトの名無しさん
2007/04/26(木) 23:35:32そのperlのようなお手軽記述法はC#にはない。
勉強して dllimportで自分で書くか、
http://www.pinvoke.net/
から引っ張ってくるしかない
0329デフォルトの名無しさん
2007/04/27(金) 11:30:41馬鹿な俺に誰かわかりやすく教えてくれないか?
0330デフォルトの名無しさん
2007/04/27(金) 12:22:260331デフォルトの名無しさん
2007/04/27(金) 12:42:38じゃあ小さなメソッドの名前はみんな"A0001"とかでいいよねw
>>329
なんか構造化の思想に反する、という欠点しか思い浮かばないよね。
0332デフォルトの名無しさん
2007/04/27(金) 12:56:01なんか自演にしか見えんぞ。
ヒント:スコープ
0333デフォルトの名無しさん
2007/04/27(金) 13:07:020334デフォルトの名無しさん
2007/04/27(金) 13:24:060336デフォルトの名無しさん
2007/04/27(金) 14:09:59↓"delegate (" でぐぐってみた。
ttp://www.google.com/codesearch?hl=ja&lr=&q=lang%3Ac%23+delegate%5C+%5C%28&btnG=Google+%E6%A4%9C%E7%B4%A2
0337336
2007/04/27(金) 14:13:36"delegate {"
ttp://www.google.com/codesearch?as_q=delegate+%5C%7B&btnG=%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%A4%9C%E7%B4%A2&hl=ja&as_lang=c%23&as_license_restrict=i&as_license=&as_package=&as_filename=&as_case=y
0338デフォルトの名無しさん
2007/04/27(金) 14:33:18どうせなら引数ありのもつくっといてほしかった
objectでいいからさ
0339デフォルトの名無しさん
2007/04/27(金) 14:47:151引数ならAction<T>でどう?
0340デフォルトの名無しさん
2007/04/27(金) 15:50:01Clone()で該当変数のポインタしか帰ってこない参照型の変数をどうにかして完全コピー
したいのですが、どのようにしたらできますか?
0341デフォルトの名無しさん
2007/04/27(金) 17:54:420342デフォルトの名無しさん
2007/04/27(金) 18:06:060343デフォルトの名無しさん
2007/04/27(金) 18:11:14クロージャでぐぐれ。
0344デフォルトの名無しさん
2007/04/27(金) 18:12:060346デフォルトの名無しさん
2007/04/27(金) 21:31:080348デフォルトの名無しさん
2007/04/27(金) 22:03:45Type type = src.GetType();
FieldInfo[] fields = type.GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
foreach (FieldInfo field in fields){field.SetValue(dst, field.GetValue(src));}
}
あくまでネタとしてw
0349デフォルトの名無しさん
2007/04/27(金) 22:06:51は
Type type = typeof(T);
にしないとsrcがdstの子孫じゃなかったときに死んじゃう。
0350デフォルトの名無しさん
2007/04/27(金) 22:24:30もっと深く!
やらんで良い
0351デフォルトの名無しさん
2007/04/27(金) 22:26:33シリアライズ可能な奴は一旦デシリアライズしてシリアライズしてコピーという手がよく使われる。
しかし一般の参照型について汎用に使える方法は無い。そういうの作ろうとしているなら諦めれ。
リフレクションで公開フィールドのみコピーするとかプロパティのみコピーするとかそういうコードなら作れるが。
相手が決まっているならそのクラス専用のコードでもいいんじゃね?
0352デフォルトの名無しさん
2007/04/27(金) 22:54:540353デフォルトの名無しさん
2007/04/27(金) 22:59:340354デフォルトの名無しさん
2007/04/27(金) 23:36:55参照構造にループがあるときに下手に再帰すると無限ループになるんで注意ね。
0355340
2007/04/28(土) 08:36:15>>348
なんかいけそうですが、1段階のみですね…
>>351
最初はそうしようと思ったんですが、Controlを継承しているためか、
シリアライズできないんです…
あきらめるか orz
0356デフォルトの名無しさん
2007/04/28(土) 10:43:010357デフォルトの名無しさん
2007/04/28(土) 11:35:32が仮に可能として、意味ないだろう、って話でしょう。
例えばウィンドウハンドルとかコピーしてなんか意味あるのかよってさ。
0358デフォルトの名無しさん
2007/04/28(土) 19:51:53恐れ素すぎですが、ありがとうございました!
0359775
2007/04/28(土) 21:47:050360デフォルトの名無しさん
2007/04/28(土) 22:06:130361デフォルトの名無しさん
2007/04/28(土) 23:22:05C#は3ヶ月で習得できますか?
0362デフォルトの名無しさん
2007/04/28(土) 23:26:140363デフォルトの名無しさん
2007/04/28(土) 23:27:420364デフォルトの名無しさん
2007/04/28(土) 23:55:26しかしながら、プログラミングに不可欠な.NET Framworkの習得は3か月じゃ厳しいだろう。
0365デフォルトの名無しさん
2007/04/29(日) 00:00:340366デフォルトの名無しさん
2007/04/29(日) 00:16:000367デフォルトの名無しさん
2007/04/29(日) 00:25:51あsdf++;
こんなん通った。ちょっと驚き。
2バイトコードの変数なんて必要だろうか。。。
0368デフォルトの名無しさん
2007/04/29(日) 00:26:120369デフォルトの名無しさん
2007/04/29(日) 00:26:520370デフォルトの名無しさん
2007/04/29(日) 00:27:29UTF-8やってたからな。
すまんこな。
0371デフォルトの名無しさん
2007/04/29(日) 00:28:42しかし所謂 ASCII 文字だって2バイトコードだぜ、.NET では
0372デフォルトの名無しさん
2007/04/29(日) 01:34:29>>368 の性格が悪いだけだからきにするな。
0373デフォルトの名無しさん
2007/04/29(日) 02:13:27その話は長くなるんだよ。
俺は使う→使うやつはウンコ→自分基準で批判するやつはウンコ
→オマエモナー→ぬるぽ→ガッ→俺は使わない→俺の仕事では
使わないとやってられない→ソース晒せ→できない→ウンコ→2番目に戻る
みたいな流れで。
やるなら別スレでおながいします。
0374デフォルトの名無しさん
2007/04/29(日) 02:21:56エクスプローラとかは、英語版のPropertyを翻訳するのをあきらめて
「プロパティ」にしてるもんな。
0375デフォルトの名無しさん
2007/04/29(日) 08:50:37実行時型情報で 変数名を使って何かするとき便利だろ
0376デフォルトの名無しさん
2007/04/29(日) 09:02:540377デフォルトの名無しさん
2007/04/29(日) 09:12:580378デフォルトの名無しさん
2007/04/29(日) 12:44:38でも古株が嫌がるの必須だな。(なんとなくだけど)
パラダイムシフトを起こした新人と上司の対決が出てくるだろうね。
問題は多言語に対応した事による、国境を越えたソースの共有化かな。
サンスクリット語で書かれた変数なんて、日本人には理解しづらい事この上無いと思う。
そういう意味では愚策としか思えんな。
と。
既出であろう事を堂々と書いてみる。
0379デフォルトの名無しさん
2007/04/29(日) 12:53:46日本語使うか英語使うかより。
英語でセンスある命名ができない奴は、たぶん日本語つかっても同じことだと思う。
つまり可読性はあまり向上しない可能性が高いんじゃないかな
0380デフォルトの名無しさん
2007/04/29(日) 12:58:240381デフォルトの名無しさん
2007/04/29(日) 13:00:220382デフォルトの名無しさん
2007/04/29(日) 13:02:30みたいに書く決まりにすればいいんじゃね
0383デフォルトの名無しさん
2007/04/29(日) 13:33:060384デフォルトの名無しさん
2007/04/29(日) 13:35:580385デフォルトの名無しさん
2007/04/29(日) 13:37:460386デフォルトの名無しさん
2007/04/29(日) 13:39:44↑
これだと半角の「wii」や「Wii」にはマッチするんですが、
これを全角の「wii」や「Wii」にもマッチさせるにはどうしたらいいんでしょうか?
0387デフォルトの名無しさん
2007/04/29(日) 13:43:532) 互換正規化する
0388デフォルトの名無しさん
2007/04/29(日) 13:44:41あとはVBライブラリのStrConv…とかいうとVB厨扱いされるかな
0389デフォルトの名無しさん
2007/04/29(日) 13:50:11実際には@"wii"の部分が変数になりますので1の方法は無理なんですが
2の方法はどういったものなんですか?
0390デフォルトの名無しさん
2007/04/29(日) 13:52:390391デフォルトの名無しさん
2007/04/29(日) 13:58:11勉強になった
0392デフォルトの名無しさん
2007/04/29(日) 13:59:45その方法を利用してみます。
どうもありがとうございました。
0393デフォルトの名無しさん
2007/04/29(日) 14:29:590394デフォルトの名無しさん
2007/04/29(日) 15:03:05普通に、form.ShowDialog()で表示すると、びろ〜んと一個一個のコントロールが
スローモーションで表示されていきます。
これ、一気にパッと表示できないんですか? これでは恥ずかしくて納品できません。
一応、SuspendLayout, ResumeLayout, PerformLayout辺りを弄っているんですが、
改善しません。よろしく。
0395デフォルトの名無しさん
2007/04/29(日) 15:05:540396デフォルトの名無しさん
2007/04/29(日) 15:12:12どもです。コントロールが多いフォームでも、コントロールは10個ないです。
あとスローモーションといっても、表示完了まで0.05〜0.1秒くらいなんですが、すごく気になります。
どうしても、『びろ〜ん』はいやなんです。このままだとMFC/C++に逆戻りです(;_;)
0397デフォルトの名無しさん
2007/04/29(日) 15:14:270398デフォルトの名無しさん
2007/04/29(日) 15:17:43そんな〜。
0399デフォルトの名無しさん
2007/04/29(日) 15:36:10LockWindowUpdateを使ってみたらどうだ?
[DllImport("user32.dll")]
static internal extern int LockWindowUpdate(IntPtr hWnd);
Cursor preCursor = Cursor.Current;
Cursor.Current = Cursors.WaitCursor;
LockWindowUpdate(Handle);
try
{
//フォームを表示
}
finally
{
LockWindowUpdate(IntPtr.Zero);
Cursor.Current = preCursor;
}
0400デフォルトの名無しさん
2007/04/29(日) 15:42:080401デフォルトの名無しさん
2007/04/29(日) 15:59:030402デフォルトの名無しさん
2007/04/29(日) 16:24:070403デフォルトの名無しさん
2007/04/29(日) 16:28:120404デフォルトの名無しさん
2007/04/29(日) 16:30:360405デフォルトの名無しさん
2007/04/29(日) 16:44:26ども。試してみます。
0406デフォルトの名無しさん
2007/04/29(日) 17:14:14コントロール10個もないフォームで0.05〜0.1秒の間に
「一つずつ」びろーんと表示されるのか?
ありえないし、びろーんと感じるわけもない。
Form_Loadとかに重い処理はいってないの?
0407デフォルトの名無しさん
2007/04/29(日) 17:25:08エキサイトで英語にしてみた
Because it is, it is of.
0408デフォルトの名無しさん
2007/04/29(日) 18:21:56メモリが足りてないとフォームの表示や再表示でそんな感じなることはあるね。
表示自体が遅いというより表示の裏でページングやコードのロードが平行して起きてるからそうなる。
最初はJITのせいかと思ったがページングの影響の方が大きかった。
0409デフォルトの名無しさん
2007/04/29(日) 18:27:330410デフォルトの名無しさん
2007/04/29(日) 18:45:360411デフォルトの名無しさん
2007/04/29(日) 19:33:330412デフォルトの名無しさん
2007/04/29(日) 20:12:150413デフォルトの名無しさん
2007/04/29(日) 20:18:08・環境を書く
・可能な限りソースを晒す
の二つをやってくれれば、
こっちとしてももうちょっとアドバイスしようがあるんだけどな
0414デフォルトの名無しさん
2007/04/29(日) 20:33:350.05秒はトータルの時間でだろ。
なんていうか、そのレベルでピッチリした動きを求めるなら
WPFいくか.NETあきらめるかどっちかだな。
0415デフォルトの名無しさん
2007/04/29(日) 20:36:480416デフォルトの名無しさん
2007/04/29(日) 20:38:12DllImport
C++/CLI
好きなの使え
0417デフォルトの名無しさん
2007/04/29(日) 20:40:230418デフォルトの名無しさん
2007/04/29(日) 20:41:38Vistaでメモリが潤沢というのはものすっごい環境ではあるのだが(笑
0419デフォルトの名無しさん
2007/04/29(日) 20:42:36>>418 の環境では速い(爆
0420デフォルトの名無しさん
2007/04/29(日) 20:44:21ハードウェアアクセラレーションの恩恵を受けられる場合は速くなる可能性がある
0421デフォルトの名無しさん
2007/04/29(日) 20:44:430422デフォルトの名無しさん
2007/04/29(日) 21:02:35そもそも仕組み、構造が違う。
だから、ここで出てるような問題は起こりにくいの、仕組み上ね。
0423デフォルトの名無しさん
2007/04/29(日) 21:07:120424デフォルトの名無しさん
2007/04/29(日) 21:09:08記述を局所化出来ること。
ローカル変数を取り込めること。
0425デフォルトの名無しさん
2007/04/29(日) 21:30:310426デフォルトの名無しさん
2007/04/29(日) 22:55:120427デフォルトの名無しさん
2007/04/30(月) 11:34:49C#から標準webブラウザを開きたいのですが、
Process.Start以外に方法はあるでしょうか?
0428デフォルトの名無しさん
2007/04/30(月) 11:37:020429デフォルトの名無しさん
2007/04/30(月) 11:42:20<a target="hogehoge" ←
Process.Startだと指定できないので・・
0430デフォルトの名無しさん
2007/04/30(月) 11:51:13開いているブラウザならともかく
0431デフォルトの名無しさん
2007/04/30(月) 11:54:23取りあえず Shell32.dll を参照して Shell オブジェクトの Windows プロパティで
IE と Explorer を列挙することはできる
0432デフォルトの名無しさん
2007/04/30(月) 12:01:240433432
2007/04/30(月) 12:02:130434デフォルトの名無しさん
2007/04/30(月) 12:08:030435デフォルトの名無しさん
2007/04/30(月) 12:31:15まあ俺もなんだけどさ。
「標準ブラウザで開きたい」って言ってるじゃん。
標準ブラウザって言葉の意味がわからないのかな?
0436デフォルトの名無しさん
2007/04/30(月) 12:39:18英語で言うとスタンダード
IE,Firefox,Operaあたりだったらいいんじゃないか?
0437デフォルトの名無しさん
2007/04/30(月) 12:41:04standard じゃなくてdefaultの方の意味合いだね。
0438427
2007/04/30(月) 12:42:18もしかして>>431の方法ではネスケとかが無理ですか?
>>432の方法もやっぱり新規windowが開いちゃいますね・・・
さてどうしよう
0439デフォルトの名無しさん
2007/04/30(月) 12:44:00同じウィンドウに表示したいならDDEでも使え。
0440デフォルトの名無しさん
2007/04/30(月) 12:51:06標準webブラウザといっても、全てのブラウザ対応でなく
当面はIE6〜とネスケ7.1〜に対応できればいいのですが・・・
あとできればDDEとは何か、何の略かだけでも教えてくだされば幸いです
0441デフォルトの名無しさん
2007/04/30(月) 13:00:39D まともなレスを
E 期待するな
0442デフォルトの名無しさん
2007/04/30(月) 13:01:41>>441
藁にも縋りたいほどなのれす。でなきゃ連休中にこんな事orz
0443427
2007/04/30(月) 13:30:420444デフォルトの名無しさん
2007/04/30(月) 13:50:210445デフォルトの名無しさん
2007/04/30(月) 14:08:25P/Invokeならできるというのをサポートしているというならしてる。
0446デフォルトの名無しさん
2007/04/30(月) 15:32:16デフォルトを標準と呼ぶのか?
「既定の〜」とか
「よく使う〜」とかならんか?
「標準」は「スタンダード」だろう。
0447デフォルトの名無しさん
2007/04/30(月) 15:34:480448デフォルトの名無しさん
2007/04/30(月) 15:37:34俺今、お前が同じプロジェクトチームの奴じゃないことを祈ってる。
0449デフォルトの名無しさん
2007/04/30(月) 15:42:360450デフォルトの名無しさん
2007/04/30(月) 15:42:38標準だろうが既定だろうが字面以上の意味を読み取らねばならん。
0451デフォルトの名無しさん
2007/04/30(月) 16:01:35勝手に解釈して間違ってたらどうするってんだ
0453デフォルトの名無しさん
2007/04/30(月) 18:34:320454デフォルトの名無しさん
2007/04/30(月) 18:36:220455デフォルトの名無しさん
2007/04/30(月) 18:53:54将来的にはC♯も学びたいと思っています。
そこで最初からC♯を勉強したほうがよいのでしょうか?
それとも参考書などが充実していて理解しやすいらしいCから
入ったほうがいいのでしょうか?
CとC♯の互換性も気になります。
0456デフォルトの名無しさん
2007/04/30(月) 18:59:550457デフォルトの名無しさん
2007/04/30(月) 19:05:34今なら、JavaかC#でいいんじゃない?
業務で必要になってからCやっても遅くないし
0458デフォルトの名無しさん
2007/04/30(月) 19:06:350459デフォルトの名無しさん
2007/04/30(月) 19:24:05ではC♯からはじめようと思うんですが
C♯は参考書が図書館で借りれないんですよね・・・・
実費か・・・
できればメジャーで、今でも普通に使われている言語があれば
教えていただきたいです。
0460デフォルトの名無しさん
2007/04/30(月) 19:27:57本も図書館にあるはず
JavaやったあとでC#へ移行するのも楽勝
0461デフォルトの名無しさん
2007/04/30(月) 19:33:57ありがとうございます。
やさしいjavaが図書館にあるようなので、借りてきて勉強してみます。
0462デフォルトの名無しさん
2007/04/30(月) 20:03:23図書館は明日行くとして、まずぐぐるという習慣が大事かなと思うんだがどうか?
あと、C#スレでもJavaスレでもテンプレにあるリンクは一通り行ってみること。
0463デフォルトの名無しさん
2007/04/30(月) 21:17:52いろいろ参考になるサイトが出てきたので本と合わせて
勉強したいと思います。
0464デフォルトの名無しさん
2007/05/01(火) 03:26:48プロトタイプ宣言のようなもの(クラスの宣言含む)はC#には存在するんでしょうか。くだらない質問ですみません。
0465デフォルトの名無しさん
2007/05/01(火) 07:20:27というか出来たとしてお前はなにがしたいんだ?
前方参照という概念自体C#には存在せんぞ?
プロトタイプ宣言のようなもの(形式だけ定義)は必要な
領域ではある。P/InvokeとかCOM Interopとか。
厳密に言えば関数も存在しないし。
0466デフォルトの名無しさん
2007/05/01(火) 08:09:42StreamWriter等を使えば”書き加える”ことができるようなのですが、”書き換える”にはどうしたらよいのでしょうか
たとえばファイルの中身をHello worldからHell worldにしたいということです。
独学なので何か変なことを言っていたらすいません
0467デフォルトの名無しさん
2007/05/01(火) 08:14:180468デフォルトの名無しさん
2007/05/01(火) 08:16:36新しくファイルを作って、
それに成功したら名前を変更して、
それに成功したら前のファイルを削除、
という手順にするのが最良。
デカいファイルだと無理な事もあるけど。
0469デフォルトの名無しさん
2007/05/01(火) 12:36:10あまり詳しくないんで真に受けないで欲しいんだけど、
「プロトタイプ宣言のようなもの」っていうのは.NETではおそらくアセンブリ自身
っていうことになるんじゃないのかな。
たぶん「リフレクション」ってキーワードでいろいろ調べるといいと思うんだけど、
つまり.NETのアセンブリはバイナリの中に自分自身の情報(どんなプロパティがあるかとか、
どんなメソッドを持っているかとか)を自己記述的に持っているというわけだ。
0470デフォルトの名無しさん
2007/05/01(火) 12:39:11おいおい…
0471デフォルトの名無しさん
2007/05/01(火) 12:44:36絶対来ると思ったけど、「プロトタイプ宣言のようなもの」の部分は
当然「意訳」して解釈してるよ。
0472デフォルトの名無しさん
2007/05/01(火) 13:01:320473デフォルトの名無しさん
2007/05/01(火) 13:14:10リフレクションが可能になってるってことが言いたいんだろ
0474デフォルトの名無しさん
2007/05/01(火) 13:38:320475デフォルトの名無しさん
2007/05/01(火) 14:17:24ソースに宣言が必要か不必要かで考えるだけだろ。
ここでリフレクションなんて言葉は混乱の元。
0476デフォルトの名無しさん
2007/05/01(火) 14:34:10C#で差分ダウンロードを実装しようと考えています。
初心者なりに次のプロセスを考えました
既得ファイルの容量(か更新日付)把握
↓
サーバにファイルの容量(か更新日付)問い合わせ
↓
更新を確認できた
↓
既得ファイルの容量から、
サーバのファイル容量−既得ファイルの容量
分のリクエストをする
プロセス4の方法がわかりません。
知っているかた、もしくは差分はこういう手順だというものがあればご教授ください
0477デフォルトの名無しさん
2007/05/01(火) 14:37:32バイナリ自体にメタデータとして必要十分な情報が入ってるから
直接バイナリを参照すればすむわけだ。
0478デフォルトの名無しさん
2007/05/01(火) 14:56:22使うプロトコルは?
0479デフォルトの名無しさん
2007/05/01(火) 15:26:37ごめんなさい、自己解決しそうです。
HttpWebRequestクラスのAddRange
というのがあるんですね、今実装できる環境じゃないのですがやってみようと思います
0480>>394
2007/05/01(火) 16:32:53Suspend/ResumeLayoutもコメントアウトしてみたり、フラグを変えたりして
試してみたんですが、全く効果がありませんでした。効果がないということは、
逆にSuspend/ResumeLayoutがまともに機能していないってことかもしれません。
いくら.NETとはいえ、たかがコントロールを数個描くのに1/30秒くらいかか
るってあり得ないと思うんですが。
ちなみにテストマシンはC2D E6600 + 3GBDDR2 + GeForce7600GT です。
0481デフォルトの名無しさん
2007/05/01(火) 16:34:080482デフォルトの名無しさん
2007/05/01(火) 16:49:38体感の部分は伝わりにくいから、
アップローダにプロジェクトごとアップしてみたら?
0483デフォルトの名無しさん
2007/05/01(火) 16:59:08赤ちゃんポスト完成、熊本の病院で来週にも運用開始
C#
0484デフォルトの名無しさん
2007/05/01(火) 17:00:23俺もコード見てみたい
0485>>394
2007/05/01(火) 17:01:22それはできないです。
しかし、よーくみたらなんかおかしいんです。どうもコントロールのプロパティの値が、ShowDialog()
がコールされた後に変更されているように見えます。これが「びろーん」となる原因のようです。
InitializeComponent() でコントロールをインスタンス化してプロパティ等を書き換えても、
この段階ではフォームは表示されていないはずなんですが、表示されてしまっているんですかね?
MyFormClass myForm = new MyFormClass(); ←この段階でコンストラクタからInitializeCompornent()が呼ばれているはず。
myForm.ShowDialog(); ←ここでは、InitializeCompornent()内で設定されたプロパティ値でコントロールを表示するはず。
まるで非同期でInitializeComportnent()が呼ばれているような感じです。
0486>>394
2007/05/01(火) 17:02:34てか、ふつーにフォームデザイナで適当にコントロール配置して、
コンパイル&実行すれば、びろーんを再現できますよ。
0487デフォルトの名無しさん
2007/05/01(火) 17:07:26よく分からんがその「適当」が誤解の元だったりしても知らんぞ
0488デフォルトの名無しさん
2007/05/01(火) 17:07:52それじゃ、それをアップしてみてよ。
0489デフォルトの名無しさん
2007/05/01(火) 17:08:34お前頭悪いとかよく言われない?
0490>>394
2007/05/01(火) 17:13:05コントロールの文字列部分だけが一瞬抜けて(クリップアウト)フォーム全体が
表示されて、約0.05秒後に抜けた部分が描画されているようです。
また明日にします。ではお疲れ様。
0491デフォルトの名無しさん
2007/05/01(火) 17:14:58明日もまた来いよ
0492>>394
2007/05/01(火) 17:27:44なくなるんですが、今のところ、リストボックスコントロールのBGパートだけ
先に描画されるという間抜けな現象が起きてます。これ絶対、.NETのパフォーマンスの問題じゃないと思う。
これ、おれが原因でなかったら、.NETの担当プログラマぬっころす。
こんなの放置しておくなんてありえないし。
0493デフォルトの名無しさん
2007/05/01(火) 17:28:440494>>394
2007/05/01(火) 17:41:02Double Bufferedにすると、少なくとも、フォームのボーダーも先に描かれます。
Double Buffered フラグを無視して、フロントバッファに直接描くやつと、ちゃんとフラグをみて
バックバッファに描くやつがいるってことかなぁ。だとしたらかなりお粗末だぞ。
0495デフォルトの名無しさん
2007/05/01(火) 17:43:360496デフォルトの名無しさん
2007/05/01(火) 17:43:56もはやここでやる話ではないと思うんだが。
0497デフォルトの名無しさん
2007/05/01(火) 17:47:54>>494
リストボックスは「コントロール」ってなってるけど実際には子ウィンドウだよ。
Double Bufferをオンにしたからって子ウィンドウの内容が親ウィンドウに取り込まれるわけじゃない。
原則子ウィンドウのクライアント領域は子ウィンドウのハンドラで行われる。
フロントバッファとか、ゲーム系の変な知識で色々勘違いしてないかね?
0498>>394
2007/05/01(火) 17:48:58>>496
うーん、もしこれが俺の初心者並の間抜けなミスあれば、ここでやる話だろうし、
MSの.NETチームの間抜けなバグであれば、ここじゃないっすね。
ということで、おつかれ。解決したら解決法を書き込みます。
0499デフォルトの名無しさん
2007/05/01(火) 17:50:270500デフォルトの名無しさん
2007/05/01(火) 17:53:23JITコンパイルで時間がかかってるとか?
ngenで事前コンパイルしてみるとか。
0501デフォルトの名無しさん
2007/05/01(火) 17:53:42デザイナで適当にコントロール貼っただけのフォームでもなるんじゃなかったのか?
0502デフォルトの名無しさん
2007/05/01(火) 17:58:42のような人間を部下に持つ奴はかわいそうだな
0503デフォルトの名無しさん
2007/05/01(火) 18:00:51のような人間と同じ掲示板にいる俺可哀想
0504デフォルトの名無しさん
2007/05/01(火) 18:01:51Double Bufferをオンにしたら、ゲームみたいにウィンドウと同じサイズのバッファができて、
リストボックスやボタンもそこに描画されるものと思ってない?
だとしたらそこからして違うよ。
トップレベルウィンドウの単位でバッファを持ちたければ、
レイヤードウィンドウを使うのがお手軽。Windows 2000以降限定になるけど。
とりあえずOpacityを99%にして改善するかどうか見てみたら?
0505デフォルトの名無しさん
2007/05/01(火) 18:02:170506デフォルトの名無しさん
2007/05/01(火) 18:07:43状況を再現できる最低限のコードも書けないのか?
0507>>394
2007/05/01(火) 18:10:03なるほど。リストボックスはそれで仮に納得したとして、
でも当該フォームのボーダーも先に描かれちゃう件は?
>>497
>>504
Double Bufferedというからには、Front/Back Buffer構成だと思ったけど違うんだ。
普通だったら、子フォームや子コントロールなどの子objectは親が取得したDCを
何らかの方法で参照しそうなものですよね。
そうすれば、子オブジェクトは描画先がバックだろうがフロントだろうが
テクスチャーメモリーだろうが知る必要がないし。と思うんですが。
ま、.NETのやり方は違うということで、その辺もうちょと勉強してみますわ。
どもでした。
0508デフォルトの名無しさん
2007/05/01(火) 18:10:260509デフォルトの名無しさん
2007/05/01(火) 18:14:01>Double Bufferedというからには、Front/Back Buffer構成だと思ったけど違うんだ。
.NET WinFormsのコントロールははMFCと同じでコモンコントロールの薄いラッパだよ。
WM_PAINTの中で得られるDCに対して描画しているだけなのはどっちも同じ。
というか>>397で「MFC/C++に逆戻りです」とか言っておきながら本当にMFC使ってたの?
0510デフォルトの名無しさん
2007/05/01(火) 18:15:01なんというか・・・某有名掲示板(ここではない)に来てる連中のようだな
アホス
0511デフォルトの名無しさん
2007/05/01(火) 18:28:360512デフォルトの名無しさん
2007/05/01(火) 18:30:49リアルで相手されないと掲示板にやってくる。それも初心者用のとこ。
0513509
2007/05/01(火) 18:31:02ついでに追記。
>当該フォームのボーダーも先に描かれちゃう件は
それを見るためにも再現コードのうpを待ってるんだけどな
というかボーダーって何のこと言ってる?
ウィンドウマネージャが描く枠線のこと?
とにかく>>394が「Double Buffered」に変な期待をしすぎているというのは確定ぽいね。
WinFormsのダブルバッファってのは、
自分のクライアント領域をメモリビットマップにキャッシュしておくというものであって、
子ウィンドウの中身までキャッシュするような代物ではない。
あほらしい動作に見えても、それがレガシーという奴だ。
コントロールの中身をビットマップに取り込みたければ、
自分でControl.DrawToBitmapメソッドを呼ぶ必要がある。
0514デフォルトの名無しさん
2007/05/01(火) 19:28:290515デフォルトの名無しさん
2007/05/01(火) 21:40:28で、他の誰も同意してないんだから>>394だけの問題じゃねーの?
たとえば、配置してるコントロールは標準のものじゃなくてサードパーティー製とか
アセンブリキャッシュ関係をイジってるとか。
そもそもデバッグ環境じゃなくて、リリースビルドしたもので試してるんだよな?
0516デフォルトの名無しさん
2007/05/01(火) 21:42:42ま、恐らくこれ以上お互い得るものはないね
0517デフォルトの名無しさん
2007/05/01(火) 21:43:27そんなところに違いが出るような貧弱な環境ありえねえよ
0518デフォルトの名無しさん
2007/05/01(火) 23:20:450519デフォルトの名無しさん
2007/05/01(火) 23:58:15VS2005のsp1でWindowsフォームアプリケーションを作成しようとして、
とりあえずメニューをフォームデザイナで作ったのですが、色が青色になっています。
なんか気持ち悪いのでVS2005のメニューのような色に変更したいのですが
変更方法が分かりませんでした。どなたかご存知でしたら教えて頂けないでしょうか
0520デフォルトの名無しさん
2007/05/02(水) 00:36:48RenderMode を System にする
0521デフォルトの名無しさん
2007/05/02(水) 01:15:560522デフォルトの名無しさん
2007/05/02(水) 01:33:24残念ながらRenderModeでは希望のメニューを作成することはできませんでした。
ツールボックスにMainMenuというのが無かったので調べてやってみたのですが
MainMenuを使った場合も同様でした。
VS2005のメニューそのままを作りたいのですが、無理なのでしょうか。
MainMenuを試したソース
static void Main()
{
Form form1 = new Form();
MainMenu mm = new MainMenu();
MenuItem mi = mm.MenuItems.Add("ファイル(&F)");
mi.MenuItems.Add(new MenuItem("開く(&O)..."));
form1.Menu = mm;
Application.EnableVisualStyles();
Application.Run(form1);
}
0523デフォルトの名無しさん
2007/05/02(水) 01:44:270524デフォルトの名無しさん
2007/05/02(水) 01:44:52このスレの >>205 をミロ
0525デフォルトの名無しさん
2007/05/02(水) 01:57:43できました。ありがとうございます。これで気持ちよく先に進めます
0526デフォルトの名無しさん
2007/05/04(金) 23:30:31visual stadio.NETを使ってC#のプログラムを作成するのは難しいですか?
また習得するのにどれくらいの期間がかるものなのでしょうか。
0527デフォルトの名無しさん
2007/05/04(金) 23:34:460528デフォルトの名無しさん
2007/05/04(金) 23:43:540529デフォルトの名無しさん
2007/05/05(土) 01:57:250530デフォルトの名無しさん
2007/05/05(土) 02:02:10行列と、多少の微分不定式程度じゃないかと…
0531デフォルトの名無しさん
2007/05/05(土) 02:11:33以前は、非常に難しかったことが
初心者あるいは中級者でもそれなりに出来てしまうのがC#
ただ、プログラミングは奥が深いので10年やっても、
勉強すべきことはいくらでもある
どんなことがしたいかを書いてみたら?
0532デフォルトの名無しさん
2007/05/05(土) 02:15:53ってか、ゲーム以外で数学なんて使う分野あるか?
0533デフォルトの名無しさん
2007/05/05(土) 02:19:300534デフォルトの名無しさん
2007/05/05(土) 02:22:08パターン認識
機械学習
制御
画像処理
etc
いっくらでもあるんじゃなかろか
最近では現代数学が必要になってきてるかと
0535デフォルトの名無しさん
2007/05/05(土) 02:25:49good! once more
ぷっしぃ
once more
ぷ・っ・し・ぃ
GOOOOD!
0536デフォルトの名無しさん
2007/05/05(土) 05:30:010537デフォルトの名無しさん
2007/05/05(土) 06:26:01この時点で算数はないですよ
0538デフォルトの名無しさん
2007/05/05(土) 07:13:29なにをどうしたいかということが明確に表現できることが重要
0539デフォルトの名無しさん
2007/05/05(土) 08:27:20言いたい事は分かるが、明確に表現出来ても実装出来なきゃ意味が無い。
机上の空論
絵に描いた餅
0540デフォルトの名無しさん
2007/05/05(土) 08:50:03「なにをどうしたいかということが明確に表現でき」ていれば
それをそのまま、書けばいい
というか、ソレが高級言語だろう。
0541デフォルトの名無しさん
2007/05/05(土) 09:02:320542デフォルトの名無しさん
2007/05/05(土) 09:03:28>526
ぶっちゃけ、プログラムを作るのに数学は必要ではない。大概は算数レベルで事足りる。
上で微分不等式なんて書いてる奴は多分自分で知ってる言葉を並べただけなので安心しろ。
「C# 初心者」でぐぐって、適当なサイトを選んでサンプルとして書かれているプログラムを動かしているうちに
なんとかなるもんだ。
アルゴリズムとかデータ構造とかオブジェクト指向とかいう言葉は、慣れてから気にしていい。
ただ、本格的に作り始めるとなるとゲームでもなんでも数学とか他の知識が必要になる。
物理シミュレーションでは当然に、ほとんど数学に縁の無いRPGでもダメージ計算式の設計など確率が絡んでくる。
(確率を考えなくても作れるけど、ゲームバランスは試行錯誤になる)
0543デフォルトの名無しさん
2007/05/05(土) 11:17:29(以下、Form1はMDI子フォームです)
子フォーム側のイベントハンドラで以下のように設定すれば最大化したときに消えますが、
private void Form1_SizeChanged(object sender, EventArgs e)
{
this.MaximizeBox = !(this.WindowState == FormWindowState.Maximized);
this.MinimizeBox = !(this.WindowState == FormWindowState.Maximized);
this.ControlBox = !(this.WindowState == FormWindowState.Maximized);
}
あらかじめ最大化させた状態だと表示されてしまいます。
private void Form1_Load(object sender, EventArgs e)
{
// 最大化された状態で表示させる
this.WindowState = FormWindowState.Maximized;
}
デザイン時やForm1_LoadでControlBoxをfalseにしても表示されてしまいます。
タイミング間違ってるんでしょうか?
WindowsXPsp2、VC#2005expressつかってます。
0544デフォルトの名無しさん
2007/05/05(土) 13:15:09金融のプログラムでニュートン法使ったなぁ。
電気科卒業してきた新人に式を微分させてみたら微分を理解してなかったよorz
0545デフォルトの名無しさん
2007/05/05(土) 13:30:250546デフォルトの名無しさん
2007/05/05(土) 13:38:30試してみたけど、Form1のプロパティのWindowStateが初めからMaximizedになってるんじゃない?
ただ、SizeChangedに置くべきなのかどうか???
StyleChangedに置くと異常動作するしなぁ・・・無限ループをイベント中フラグで弾いても。
0547543
2007/05/05(土) 15:23:04むむむ・・・
どのイベントハンドラで処理するのが適切なんでしょうね。
WindowStateChangedがあるかと期待したのにorz
ちなみに Form1_SizeChanged の中をコメントアウトしたら、子フォーム追加時に最大化させておいてもアイコン等表示されませんでした。
(MDI親ウィンドウ側で)
Form f = new Form1();
f.WindowState = FormWindowState.Maximized;
f.ControlBox = false;
f.MinimizeBox = false;
f.MaximizeBox = false;
f.Text = @"";
f.MdiParent = this;
f.Show(); // MDI子ウィンドウを最初から最大化させてもアイコンや最小化ボタンは表示されない(・∀・)
0548543
2007/05/05(土) 15:33:56ヤメヤメ
0549デフォルトの名無しさん
2007/05/05(土) 15:34:39ひょっとしてやりたいこと勘違いしてるかも知れないけど、こうやったら出来たよ。
理由はよくわからない。
protected override void OnHandleCreated(EventArgs e)
{
base.OnHandleCreated(e);
this.MinimizeBox = false;
this.ControlBox = false;
}
protected override void OnLoad(EventArgs e)
{
Form pf = this.MdiParent;
pf.ClientSize = pf.ClientSize;
}
0550デフォルトの名無しさん
2007/05/05(土) 16:30:13???
0551デフォルトの名無しさん
2007/05/05(土) 16:32:28メタファ処理だよ。Cやってる人なら知ってるだろう。
0552デフォルトの名無しさん
2007/05/05(土) 16:56:220553デフォルトの名無しさん
2007/05/05(土) 17:09:20無意味な代入するやつのことか?
0554デフォルトの名無しさん
2007/05/05(土) 17:18:54"メタファー処理" の検索結果 5 件中 日本語 のページ 1 - 5 件目
0555デフォルトの名無しさん
2007/05/05(土) 18:08:520556デフォルトの名無しさん
2007/05/05(土) 18:44:04フォームの表示が完了するまでのWindowStateの値が変だ。
なぜかイベントの中ではNormalを返してる。とりあえずフラグで制御してみた。
bool shown_ = false;
public formMdiC1() {
InitializeComponent();
this.WindowState = FormWindowState.Maximized;
this.MaximizeBox = this.MinimizeBox = this.ControlBox = false;
}
private void formMdiC1_SizeChanged(object sender, EventArgs e) {
if (shown_)
this.MaximizeBox = this.MinimizeBox = this.ControlBox
= !(this.WindowState == FormWindowState.Maximized);
}
private void formMdiC1_Shown(object sender, EventArgs e) {
shown_ = true;
}
0557デフォルトの名無しさん
2007/05/05(土) 20:04:27詳しく解説頼む
Google先生教えてくれなかった
0558デフォルトの名無しさん
2007/05/05(土) 20:58:320559デフォルトの名無しさん
2007/05/06(日) 21:38:14メタファ処理については知らないけど、なんで
pf.ClientSize = pf.ClientSize;
こんな無駄なことをしてるかはコメントアウトして同じコードを実行してみればみればわかるよ。
0560デフォルトの名無しさん
2007/05/06(日) 23:37:330561デフォルトの名無しさん
2007/05/07(月) 02:49:140562デフォルトの名無しさん
2007/05/07(月) 08:14:47頭悪いでしょ君
0563デフォルトの名無しさん
2007/05/07(月) 15:51:130564デフォルトの名無しさん
2007/05/07(月) 18:28:020565デフォルトの名無しさん
2007/05/07(月) 18:50:53「〜わかるよな?」「〜わかるよ」
説明できない人はよくこれを使う
0566デフォルトの名無しさん
2007/05/07(月) 18:54:10どんな意味があるのか教えてください
0567デフォルトの名無しさん
2007/05/07(月) 19:23:16まあひょっとするとそういう傾向はあるのかもしれんが、
しかしもし>>559について言っているのなら、
それは単に君の「幸せ回路」が発動してるだけだと思うよ。
0568デフォルトの名無しさん
2007/05/07(月) 19:23:450569デフォルトの名無しさん
2007/05/07(月) 22:54:190570デフォルトの名無しさん
2007/05/07(月) 23:01:55ClientSizeはほとんど意味無さそうに見えるが
0571デフォルトの名無しさん
2007/05/07(月) 23:04:430572デフォルトの名無しさん
2007/05/07(月) 23:12:37Test2クラスではプロパティを使ってますが、Test1クラスでも同じ結果が得られますが、
この場合にTest2クラスを使うメリットがよく分かりません。
private void button1_Click() {
Test1 c = new Test1();
c.a = 4;
c.b = 3;
this.textBox1.Text = c.Sum().ToString();
}
private void button2_Click() {
Test2 c = new Test2();
c.A = 4;
c.B = 3;
this.textBox2.Text = c.Sum.ToString();
}
class Test1 {
public int a;
public int b;
public int Sum() { return (a + b); }
}
class Test2 {
private int a;
private int b;
public int A { set { this.a = value; } get { return this.a; } }
public int B { set { this.b = value; } get { return this.b; } }
public int Sum { get { return (a + b); } }
}
0573デフォルトの名無しさん
2007/05/07(月) 23:16:56private int sum;
private int b;
public int A { set { sum = b + value; } get { return sum - b; } }
public int B { set { b = value; } get { return b; } }
public int Sum { get { return sum; } }
}
例えばこんなふうにTest2の実装を変更しても呼び出し側のコードに影響が及ばない。
0575デフォルトの名無しさん
2007/05/07(月) 23:28:320576デフォルトの名無しさん
2007/05/07(月) 23:42:26プロパティなんてイラネ、と思っていてそれを誰かに追認して欲しいのか。
それとも、フィールドをpublicで公開した場合と等価の動作でいい場合も
あえてプロパティを使う必要があるのかどうか聞きたいのか。
あるいは、プロパティの有難みが感じられるようなケースを挙げてくれというのか。
0577デフォルトの名無しさん
2007/05/08(火) 00:40:44そのCUIプログラムでは処理を中断させたいときはEscを押すのですが、
GUIラッパーからはWin32APIも使ってこのようなコードで行うことができました。
SetForegroundWindow(process.MainWindowHandle);
SendKeys.Send("{Esc}");
でも標準入出力はリダイレクトしていて何も表示されないウィンドウがあると邪魔なので
CUIプログラムのプロセスを起動する前にこう↓してウィンドウを作らないようにしたいのですが
process.StartInfo.CreateNoWindow = true;
当然これだとMainWindowHandleが取得できなくなって先の方法が使えません。
何か別のいい方法はありませんか?
0578デフォルトの名無しさん
2007/05/08(火) 01:11:310579デフォルトの名無しさん
2007/05/08(火) 01:38:43で、どんな意味あるの?
0580デフォルトの名無しさん
2007/05/08(火) 01:39:15学校に行けって意味
0581デフォルトの名無しさん
2007/05/08(火) 07:19:250582デフォルトの名無しさん
2007/05/08(火) 08:15:060583デフォルトの名無しさん
2007/05/08(火) 08:19:320584デフォルトの名無しさん
2007/05/08(火) 09:15:12Microsoftで再配布されてるc++のsp1ランタイムをインストールしようと思ったのですが、
コマンドの文法選択が間違ってる的なerrorが表示されます。
これを看破するにはどうしたらいいんでしょうかorz
スレ違いでしたらほんとすいません
0585デフォルトの名無しさん
2007/05/08(火) 09:24:420586デフォルトの名無しさん
2007/05/08(火) 09:42:41了解しやした申し訳ないっす!
0587577
2007/05/08(火) 10:08:44ShowWindow(process.MainWindowHandle, SW_HIDE);
CUIプログラムの起動直後には一瞬表示されますけど。
0588デフォルトの名無しさん
2007/05/08(火) 10:19:370589デフォルトの名無しさん
2007/05/08(火) 10:53:140590デフォルトの名無しさん
2007/05/08(火) 17:05:03書かれてるサイズと合わないんだけど良いの?
0591デフォルトの名無しさん
2007/05/08(火) 18:17:45で、どんな意味あるの?
0592デフォルトの名無しさん
2007/05/08(火) 20:09:52レイアウトが実行されるみたいですね。
それだったらPerformLayoutしろって話ですが
0593デフォルトの名無しさん
2007/05/08(火) 20:18:140594デフォルトの名無しさん
2007/05/08(火) 20:51:56試してないので知らんがESC(U+001Bだっけ?)を標準入力に流せば
ええんでないの?
0596577
2007/05/08(火) 21:06:17>SendKeys.Send("{Esc}");
ちなみに↑の部分は↓でも動作しました。
SendMessage(process.MainWindowHandle, WM_CHAR, VK_ESCAPE, 0);
0597デフォルトの名無しさん
2007/05/08(火) 21:13:25ならもうCtrl+Cで強制終(ry
0598577
2007/05/08(火) 21:18:33後でさらにコマンドを入力して処理を再開させたり別の処理をさせたりします。
0599デフォルトの名無しさん
2007/05/08(火) 21:46:25FOX★公認!!!
俺たちのクリックで日本を一位にしようぜ!!
“30年は日本に手は出せないな”という勝ち方をしたい
http://wwwww.2ch.net/test/read.cgi/news4vip/1178602852/
1. ポーランド 139,797,680
2. チリ 137,040,439
3. ★日本 86,475,213★
4. イスラエル 80,930,530
5. スロベニア 57,137,042
6. フィンランド 40,857,499
石を投げる戦争から人は進化・進歩を遂げ、剣や槍などの武器をもって戦うようになった
人間はさらに発展し兵器を使う戦争を始めた
そして今、指先一つを武器とした電脳戦争が勃発したのであった・・・
皇国を勝利へと導くには貴様らの参戦が不可欠である
・戦場
http://www.clickclickclick.com/default.asp
・まとめサイト
http://www33.atwiki.jp/clickvip/
0600デフォルトの名無しさん
2007/05/08(火) 21:51:190601デフォルトの名無しさん
2007/05/08(火) 22:26:02WebBrowserコントロールでこのページを開くとこのflashが
正しく動いてくれないみたい(2回目のクリックができなくなる)
なんですが、なぜでしょうか?
http://dictionary.goo.ne.jp/search.php?MT=sharp&kind=ej&mode=0&base=1&row=0
お願いします。
0602デフォルトの名無しさん
2007/05/09(水) 06:37:03すげー良いんだけと、ちょっとかゆい所に手が届かないっていうか
C++とC#の中間でネイティブな実行ファイルもはき出せる言語が欲しい
0603デフォルトの名無しさん
2007/05/09(水) 07:27:440604デフォルトの名無しさん
2007/05/09(水) 07:32:250605デフォルトの名無しさん
2007/05/09(水) 10:40:010606デフォルトの名無しさん
2007/05/09(水) 15:57:22いままでまったくプログラム経験が無い人向けで
3千円以内くらいのヤツで
初心者はとりあえず手元に置いておけみたいな感じのん頼む
0607デフォルトの名無しさん
2007/05/09(水) 16:01:04他に出来そうなことでもやっとけ
0608デフォルトの名無しさん
2007/05/09(水) 16:06:47C++とC#の中間は難しいが CとC#の中間ならDelphiなんてどうだ?
0609デフォルトの名無しさん
2007/05/09(水) 16:16:35もう既に最新版1.014は1.0と互換性ないけどなw
0610デフォルトの名無しさん
2007/05/09(水) 16:21:18趣味で行うなら問題ないけどね。
0611デフォルトの名無しさん
2007/05/09(水) 16:25:28mjd?
メジャーバージョンアプでもナイのに互換性なさすぎワロタ
0612デフォルトの名無しさん
2007/05/09(水) 16:27:23業務にどうとか言ってると自分が道具として使い捨てられるだけ。
作ってなんぼ
0613デフォルトの名無しさん
2007/05/09(水) 17:41:13将来の可能性とか語る話題は玄人スレでやればいいじゃん
おいだされたの?
0614デフォルトの名無しさん
2007/05/09(水) 17:58:430615デフォルトの名無しさん
2007/05/09(水) 19:50:47Windowsアプリケーションはどうやって作ればいいのか分かりません
どこか解説サイトなどないでしょうか?
0616デフォルトの名無しさん
2007/05/09(水) 19:52:070617デフォルトの名無しさん
2007/05/09(水) 19:54:56何かお勧めの本があったら教えて頂けませんか?
0618デフォルトの名無しさん
2007/05/09(水) 20:17:44俺的には
Wroxシリーズがいいかな?
外国の書籍の翻訳なんだけど基礎からシッカリ書かれてるから
殆どが腐った内容の国内本とはわけが違う
ただそのぶん高いんだけどな・・・・
0619デフォルトの名無しさん
2007/05/09(水) 20:40:10VC#EE落としてデザイナで遊んでれば分かるようにならないか?
0620デフォルトの名無しさん
2007/05/09(水) 20:44:46てかC#はGUIから始めたから後でCUIプログラム作るために独習C#買ったくらいだ
0621デフォルトの名無しさん
2007/05/09(水) 22:02:52カラムの幅をマウスで動かすと、ウィンドウ全体を描写しているみたいで、
ちらちらします。
例えば、エクスプローラの表示形式を詳細にして、
同じようにカラム幅を変えても、そんなにちらちらとしないんですけど、
どこか設定やプログラムをしないといけないのでしょうか?
0622デフォルトの名無しさん
2007/05/09(水) 22:13:220624デフォルトの名無しさん
2007/05/09(水) 23:32:10オススメの書籍を教えてください。
0625デフォルトの名無しさん
2007/05/09(水) 23:34:160626デフォルトの名無しさん
2007/05/09(水) 23:43:570627デフォルトの名無しさん
2007/05/09(水) 23:47:290628デフォルトの名無しさん
2007/05/09(水) 23:51:00インテリセンス
ツールチップ
デザイナ
0629デフォルトの名無しさん
2007/05/09(水) 23:51:23WEBを中心にやってたから関連するHTML,JavaScriptも人並み以上はいける
C,PHP,Perl,VB6は少しやっただけ。機会があまりなかった。
しかし勉強してすぐに身につける自信はある
0630デフォルトの名無しさん
2007/05/09(水) 23:52:330631デフォルトの名無しさん
2007/05/09(水) 23:58:21どれがいいとかすぐ分かるんじゃないの?
0632デフォルトの名無しさん
2007/05/10(木) 00:10:16ネットで入門サイト見たりソースコード拾ってきたりしてさ。
クラスライブラリの把握は時間がかかるだろうけど、基礎の習得には1週間もかからないと思うよ。
自分はC#からJavaに進んだけど、違いがあんまり無いから一方ができれば本は買わなくてもいいと思ってる。
0633デフォルトの名無しさん
2007/05/10(木) 01:11:05インターフェースって何のためにあるのでしょうか?
メソッドの宣言をするだけなのでしょうか?
いろんなフォームに同じような機能を持たせたいときに、
インターフェースに宣言しておいて、各フォーム毎にそれを実現するための
似たようなコードを書かなくてはならないのでしょうか?
いろんな機能をまとめたフォームをいくつか作ってそれを継承させようと思ったのですが、
いろいろ調べても多重継承を避けるためにインターフェースを使えと書いてあります。
しかしながらいま一つ宣言だけをするクラスを作る利点がピンときません。
どなたか「こういうふうに便利だよ」って説明してください。
よろしくお願いします。
0634デフォルトの名無しさん
2007/05/10(木) 01:17:59string s = "ABCDE";
s.Replace("CDE","345");
textBox1.Text = s;
int i = s2.IndexOf("CDE");
MessageBox.Show(i.ToString());
これを実行すると本当は"AB345"と表示して欲しいのに"ABCDE"と置換されないまま表示されてしまいます
メッセージボックスには"2"と表示されます
なぜなんでしょうか?
0635デフォルトの名無しさん
2007/05/10(木) 01:20:180636デフォルトの名無しさん
2007/05/10(木) 01:22:270637デフォルトの名無しさん
2007/05/10(木) 01:32:44うがぁぁぁあ
うまくいきました
>>636さん
ネット上のurlファイル?を読み込んで、改行コードを変換することろで悩んでたんです
文字コードは変換できてたんですが、改行がぐちゃぐちゃになってたので。
解決できました。ありがとうございましたm(_ _)mフカブカ
0638デフォルトの名無しさん
2007/05/10(木) 01:38:08例えば、何らかの文字列を扱う処理が必要になったとする。
そこで必要になるのは、簡単のため、先頭から順に 1 バイトずつ取得していく処理のみとする。
その文字列は、普通の string の場合もあれば、ファイルだったり、Web 上のファイルだったりするとする。
そういう場合、文字列がどこからどういう風に来るかは一旦考えず、
public interface IStream { public char getc(); } というインタフェースを作っておいて、
この IStream を使って目的の動作を記述しておく。
例えば、送られてくる文字をそのまま出力する処理を書いたとする。
void display(IStream stream) {
char ch;
while((ch = getc()) != 0) {
Console.Write(ch);
}
}
すると、あとは IStream を実装したクラス StringStream, FileStream, HTTPStream などを作って、
それぞれで文字列、ファイル、Web から 1 バイトずつ取得するような getc を実装してやれば、
文字列がどこから来るかに関わらず、文字列を表示する処理 display を利用する事ができる。
display(new StringStream("hoge"));
display(new FileStream("test.txt"));
display(new HTTPStream("http://www.google.com/"));
IStream を通して処理を書けば、文字列のやってくる場所ごとに文字列を表示する処理を書く必要がなくなり、
汎用的に処理を記述する事が出来る。
多重継承を避けるために、クラスにしたいけどやむなくインタフェースを使うって事はあるけど、
それは仕方なしに使ってる部分が大きい。
0639デフォルトの名無しさん
2007/05/10(木) 01:39:480640デフォルトの名無しさん
2007/05/10(木) 01:49:41基本的には、継承の置き換えだから
利点もほぼ同じと思っていいんじゃない?
・ポリモーフィズムとしての役割があり、その利点も同様
・インスタンスではなく、インターフェースの授受により、余分なものを見えなくすることが出来る
(カプセル化)
・インターフェースで実装される内容が美味く統一されていれば、読み手は一律
同様な機能として理解が早い(可読性)
0641デフォルトの名無しさん
2007/05/10(木) 02:04:11参考になるようなプログラムありませんか?
0642デフォルトの名無しさん
2007/05/10(木) 02:09:100643デフォルトの名無しさん
2007/05/10(木) 02:09:56さっそくありがとうございます。私がものすごくたくさん勘違いをしているようで整理がつかないのですが・・・
インターフェースには処理はかけないと理解しているのですが、
>例えば、送られてくる文字をそのまま出力する処理を書いたとする。
この文章以下のコードはインターフェースの中に書くのでしょうか?
そしてそれをクラス StringStream, FileStream, HTTPStreamで呼び出せるということでしょうか?
それぞれのクラスがdisplay()というメソッドを持つというのは理解できるのですが、
やはりその処理はそれぞれのクラスに記述しているのでしょうか?
> 汎用的に処理を記述する事が出来る。
とはインターフェースの中にも処理が記述できてそれを引き継いだクラスには
書かなくてもよいということなのでしょうか?
>>639
そもそも用途が間違ってるのでしょうか・・・
>>640
継承は基底クラスのメソッドをサブクラスに記述しなくても呼び出すことができ、
さらにサブクラス独自のメソッドを追加できることだとおもっちます。
よく使う処理を基底クラスにまとめておいて、特別なメソッドだけをサブクラスに書けばよいのかと・・・
> ポリモーフィズム
638さんの説明されていることと同じでしょうか?
>みえなくすることができる
そもそもインターフェースとは宣言だけでなにもないものだと理解しています。
何をみえなくすることができるのでしょうか?
>可読性
同じインターフェースを持つクラスはかならず同じメソッドをもっているということですね?
これは理解できます・・・ありがとうございます。
0644641
2007/05/10(木) 02:20:20MDXを使用するつもりです。
0645デフォルトの名無しさん
2007/05/10(木) 02:24:29IStream に処理は書いてないでしょ。
>public interface IStream { public char getc(); }
ほら。
getc は StringStream, FileStream, HTTPStream の方で実装する。
>それぞれのクラスがdisplay()というメソッドを持つというのは理解できるのですが、
いや、display というメソッドは持たない。
display というメソッドは全く別のクラスが持つことになる。
0646デフォルトの名無しさん
2007/05/10(木) 02:41:16おお!私が何を勘違いしているのかがわかってきました。
StringStreamクラスはStringStream専用のgetcのコードが書いてあるのですね?
さらに質問で申し訳ないのですが、この例で
void display(IStream stream) {
char ch;
while((ch = getc()) != 0) {
Console.Write(ch);
}
}
は
void display(IStream stream) {
char ch;
while((ch = stream.getc()) != 0) {
^^^^^^
Console.Write(ch);
}
}
ということでしょうか?streamには StringStream, FileStream, HTTPStreamの
どれでも指定できるということですね?
重ね重ね申し訳ないですが、よろしくお願いします。
0647デフォルトの名無しさん
2007/05/10(木) 02:44:14まあ、最初から全て理解は不可能ですので、頭の片隅にでもおいておくのがいいかも
今後、いろいろなサンプルを見ていれば自然と分かることだと思います。
>638さんの説明されていることと同じでしょうか?
一部同じといった方がいいかも
自分もどこまでポリモーフィズムについて理解してるのか自信ないので、
『ポリモーフィズム 利点』とかでぐぐって見てください。
結構奥が深い物です 多分 ^^;)
>何をみえなくすることができるのでしょうか?
派生クラスは基底クラスにキャスト出来るのは知ってますよね
基底クラスで受け取った場合は派生クラスの全てが見える訳ではなく基底クラスの部分のみが見える。
同様にインターフェースで受け取ることも出来(例えばメソッドの引数)、その場合インターフェースで
定義された物以外は使えなくなる。
>可読性
638さんの書かれている内容もそうなんだけど。
違う物(異なるクラス)を同じような扱い(機能)が可能となる(つまりポリモーフィズム)
違う例でいえば、図形で□とか○とかあって、そのクラスは個々違うんだけど
拡大とか縮小とかいうインターフェースを使った場合。
インターフェースを見れば、違うクラスでも同じような役割を果たしているはずだから
中身を知らなくても大枠その役割は理解出来ますよねー
名前から分かるといわれるとそれまでですが…
まあ、インターフェースの場合メソッド群ですので、その部分をちょっと強調してみたと理解してもらえば
0648デフォルトの名無しさん
2007/05/10(木) 03:19:10ごめん一部答えてなかった。
>継承は基底クラスのメソッドをサブクラスに記述しなくても呼び出すことができ…
うん、これは継承の重要な役割だけど、その一部です。
たぶんだけど、デザインパターンの本で継承とかの具体的サンプルに当たって見るのがいいかもね
既にオブジェクト指向の本を読んでいるのであればだけど
人によってデザパタは役に立たないという人もいるけど、
自分的にはオブジェクト指向を理解する早道だと思うし、役に立つと思う
0649デフォルトの名無しさん
2007/05/10(木) 04:49:54おお、そうそう。ミスってた。スマン。
0650646
2007/05/10(木) 06:40:48細かなご説明ありがとうございます。
そこらの本よりも詳しくわかりやすく教えていただいて感謝です。
継承=コードの省略というように短絡的に考えず、
もっといろいろ調べてみます。
>>649
済まないどころか、わかりやすいサンプルで説明してもらった上に、
よい問題にもなりました!
まだまだ私は勉強が足りないようですが、
皆様を目標として頑張りたいです。
ありがとうございました。
0651デフォルトの名無しさん
2007/05/10(木) 10:46:45上に書かれてることに含まれるちゃあ含まれるんだけど
粗結合や部品化の観点も強調した方がいいかな
まあ、使い方によって様々な利点があるってことね
粗結合:インターフェースの実装側のソースが変わっても、利用側は変える必要がない
ソースがぐちゃぐちゃにならないのでわかりやすくなる
変更に強くなる
部品化:内部の詳細(インターフェースの実装)に立ち入らなくてもいいため
わかりやすく、使いやすい。
ただ、こういった利点を享受しようとするには、インターフェースの切り方が非常に重要
0652デフォルトの名無しさん
2007/05/10(木) 11:50:08結構悩む時がある俺
0653デフォルトの名無しさん
2007/05/10(木) 12:35:43インターフェイスのコンセプトは一言で言えば契約じゃないの?
これのおかげで、ライブラリを作った時点では存在してもいないクラスを
操作するライブラリが作れるわけだ。
っていうか、インターフェイスについて最初に質問した人に言いたいけど、
机上でゴチャゴチャ考えるよりライブラリのインターフェイスを実際に使ってみて
その有難みを体感するのが一番てっとり早いと思うよ。
0654デフォルトの名無しさん
2007/05/10(木) 12:39:510655デフォルトの名無しさん
2007/05/10(木) 12:51:18なんかもなwww
0656601
2007/05/10(木) 13:28:45私の質問お願いします。
0657デフォルトの名無しさん
2007/05/10(木) 13:46:450658デフォルトの名無しさん
2007/05/10(木) 14:36:34貴方様にはかないませんのでさっさと出て行ってください
こぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉぉんのカスがぁ!!!!!!!!!!!!!!!
0659デフォルトの名無しさん
2007/05/10(木) 15:33:38なにを勘違いしたか知らんがXNAはマウスもキーボードも普通に使えるぞ
試してみてXNAが動くならXNAにしとけ
0660659
2007/05/10(木) 15:38:1397 名前:名前は開発中のものです。[sage] 投稿日:2007/05/10(木) 14:08:03 ID:8Ube6/hf
XNAはマウス入力を受け付けないという記述を見つけたんですけど本当ですか?
100 名前:名前は開発中のものです。[sage] 投稿日:2007/05/10(木) 14:13:05 ID:CC1a0ZQh
>>97
Xbox360 では使えない。 Windows だったら Microsoft.Xna.Framework.Input.Mouse.GetState() でステートを取得可能。
これを勘違いしたのか
0661デフォルトの名無しさん
2007/05/10(木) 20:48:20いないだろうけど、その内容だとほとんど利点はない。
大事なのはプロパティにアクセスしたときの処理が書けることだ。
人には勧めないけどプロパティ内でデータ接続のチェックをして未接続なら接続してから
データの更新といった処理もかける。
俺はc#がjavaより優れていると実感しているのはこの点。
アレ?もう導入されたんだっけ?
0662デフォルトの名無しさん
2007/05/11(金) 04:21:32しかしその殆どはプログラミングテクニックより、自分のゲームのアイディアに才能ない事に気づく
枯れた業種だから所詮、プロ集団のアイディアには敵わない
大風呂敷広げるより、まず初めはちょこっとした便利なもの作ればいいのに・・・
0663デフォルトの名無しさん
2007/05/11(金) 04:47:46作りたいもの作った方がいいと思うぜ。
0664デフォルトの名無しさん
2007/05/11(金) 09:39:47実際できもしないのに。
0665デフォルトの名無しさん
2007/05/11(金) 09:52:47テーブルゲームみたいなのでもいいし、アクションゲームでも。
革新的な奴は商業プログラマがやっとけばいい。
0666デフォルトの名無しさん
2007/05/11(金) 10:35:07現実世界のグラフでは基点が左下なんだが、
C#だと基点が左上からなんで、難しいんですが
ポイント算出を楽にする何か方法ありませんか?
0667デフォルトの名無しさん
2007/05/11(金) 10:45:50何を悩んでるのか解らん。
グラフ描画モジュールを作ろうなんて奴が、単に座標の変換が難しいなんて言うわきゃないしな。
0668デフォルトの名無しさん
2007/05/11(金) 10:54:12逆転させる関数一個作ればよくないか?
0669デフォルトの名無しさん
2007/05/11(金) 11:30:340670デフォルトの名無しさん
2007/05/11(金) 11:32:24N88-BASICから出直して来い
0671デフォルトの名無しさん
2007/05/11(金) 11:36:42キミニハムリダ
0672デフォルトの名無しさん
2007/05/11(金) 11:38:150673デフォルトの名無しさん
2007/05/11(金) 17:35:51座標変換クラスでも作って間に挟んだ方がいいと思う
0674デフォルトの名無しさん
2007/05/11(金) 18:50:43なんで?
0675デフォルトの名無しさん
2007/05/11(金) 18:57:370676デフォルトの名無しさん
2007/05/11(金) 20:16:17藻前は数学でなく、算数をやり直してこい
0677デフォルトの名無しさん
2007/05/11(金) 20:18:510678デフォルトの名無しさん
2007/05/11(金) 20:23:56好きに変換できるだろ・・・つうか釣りじゃねーの?
0679デフォルトの名無しさん
2007/05/11(金) 20:25:33何でだと思う?
0680デフォルトの名無しさん
2007/05/11(金) 20:29:55673じゃないけど、組み込みの座標変換使うと変換前の座標系も
強制的にfloatの精度になるのが気になるね。
実用には耐えないと思った方がいいな。
10000.000と10000.001が同じ位置にプロットされることを回避できないわけだ。
0681デフォルトの名無しさん
2007/05/11(金) 20:31:08戻すメソッドを定義すればいいだろう。
何を難しく考えている?
0682デフォルトの名無しさん
2007/05/11(金) 20:32:080683デフォルトの名無しさん
2007/05/11(金) 21:29:20素人考えだと画面の解像度考えると十分なような気がするんだけど
もっと精度が必要な場面てどんなとき?
0684デフォルトの名無しさん
2007/05/11(金) 21:31:260685デフォルトの名無しさん
2007/05/11(金) 21:31:370686デフォルトの名無しさん
2007/05/11(金) 21:36:18グラフの原点は必ずしも画面中にあるとは限らない。
例えばx軸の左隅が10,000で右隅が10,000.01のようば場合を想定したら
起こりうる問題を想定しやすいんじゃないかな。
0687デフォルトの名無しさん
2007/05/11(金) 22:02:510688デフォルトの名無しさん
2007/05/11(金) 23:41:53チョソ語かと思った。
0689デフォルトの名無しさん
2007/05/12(土) 00:33:31'System.UnauthorizedAccessException' の初回例外が mscorlib.dll で発生しました。
のエラーをcatchしてしまうんですが、アクセス不可のフォルダとかスルーできないんでしょうか??
string[] subFolders2;
Try
{
subFolders2 = System.IO.Directory.GetDirectories("C:\WINDOWS", "*", System.IO.SearchOption.TopDirectoryOnly);
}
0690デフォルトの名無しさん
2007/05/12(土) 00:41:190691デフォルトの名無しさん
2007/05/12(土) 00:41:510692デフォルトの名無しさん
2007/05/12(土) 01:08:43第一引数のディレクトリにアクセスできる権限さえあればその直下のディレクトリ名の取得は問題ないはず。
AllDirectories は諦めて自前で再帰するしかないだろうけど。
0693デフォルトの名無しさん
2007/05/12(土) 02:06:30string[] b={3,4,5}
string[] c
でcの中を{0,1,2,3,4,5}と複数の配列を結合させた配列にするにはどうしたらいいの?
一つ一つループで回して代入するしか無い?
配列の配列数を取得するにはどうやるの?
a.lengthでは取得出来ない
0694デフォルトの名無しさん
2007/05/12(土) 02:12:05a.CopyTo(c, 0);
b.CopyTo(c, a.Length);
ちょっとはMSDN嫁
0695デフォルトの名無しさん
2007/05/12(土) 02:45:37javascript程度のレベルの俺にお勧めの解説書ってどんなのがありますか?
http://www.amazon.co.jp/dp/4891005009/
が安いしランキングも高いしで買おうかなと思ってるんですが、これはやめとけ とかありますか?
0696デフォルトの名無しさん
2007/05/12(土) 02:49:290697デフォルトの名無しさん
2007/05/12(土) 02:53:12それはやめとけ。
0698デフォルトの名無しさん
2007/05/12(土) 03:07:22javascriptで出来ないことがあるだろが
0699デフォルトの名無しさん
2007/05/12(土) 08:41:59こいつは単なる馬鹿
言語以前グラフの目的を分かってない
0700デフォルトの名無しさん
2007/05/12(土) 08:46:39以下のようなコードを書いたのですが、
//test.exeが実行中で、それが終了したらファイルを消す
Process[] p = Process.GetProcessesByName("test");
if (p.Length > 0)
{
for (int i = 0; i < p.Length; i++)
{
if (p[i].StartInfo.FileName.Equals(Application.StartupPath + "\\test.exe"))
{
p[i].WaitForExit();
break;
}
}
}
File.Delete(Application.StartupPath + "\\test.exe");
このように終了するまで待ってからファイルを消しても数秒後にtest.exeが復活してしまいます。
これを回避するにはどうしたらいいでしょうか?
0701デフォルトの名無しさん
2007/05/12(土) 10:05:520702デフォルトの名無しさん
2007/05/12(土) 10:21:440703デフォルトの名無しさん
2007/05/12(土) 10:34:31ともかく、exeを操作(コンパイル・消去・内容変更)するのは怖いからヤメレ
ド素人が罠プログラム作ろうとしているようにしか見えん・・・
0704デフォルトの名無しさん
2007/05/12(土) 12:27:23詳しく。
まあ無理だと思うけどw
0705デフォルトの名無しさん
2007/05/12(土) 12:44:570706デフォルトの名無しさん
2007/05/12(土) 12:51:140707デフォルトの名無しさん
2007/05/12(土) 12:55:140708デフォルトの名無しさん
2007/05/12(土) 12:55:400709705
2007/05/12(土) 12:57:400710デフォルトの名無しさん
2007/05/12(土) 13:06:08グラフはあくまで人が見て分かりやすくするツールじゃないの?
実用もなにも、それ以前にそんな精度でプロットできる機器なんかあるの?
0711デフォルトの名無しさん
2007/05/12(土) 13:44:50だから、例えばx軸の原点が必ずしもグラフの左隅にあるとは限らないといってるでしょ。
グラフがわかりにくいなら地図で考えたら?
Google Earthを考えてみ?
ズームインしていったら実際には1Km離れている二つの建物が同じ位置に
プロットされていたらおかしいと思うでしょ普通。
floatの精度ではそういうことが起こりうるわけ。
0712700
2007/05/12(土) 13:59:35システムファイルではなく、ソフトのファイルアップデート用exeなのですが、
DOSにkillコマンドがないため、exeを生成して、それを使用するようにしています。
そしてこのexeを使用後に消そうと思って>>700のコードを書いたのですが…
ということなので、悪戯ソフトでもないです。
0713デフォルトの名無しさん
2007/05/12(土) 13:59:47プロット用に座標変換したデータを再利用するなよw
GoogleEarthみたいに簡略化や抽象化するときは特に困るだろ?
元となるマスタデータは常に保持しとけw
0715デフォルトの名無しさん
2007/05/12(土) 14:04:53藻前は老人の様な頭だな・・・
1つしか考えられないのか
0716デフォルトの名無しさん
2007/05/12(土) 14:07:53元のデータの精度がちゃんとしてれば
変換がfloatでも大丈夫だろ・・・・
0717デフォルトの名無しさん
2007/05/12(土) 14:16:07俺は711じゃないけど
graphicsの機能の座標変換だけじゃ誰かか書いたとおりで、
>実用には耐えないと思った方がいいな。
>10000.000と10000.001が同じ位置にプロットされることを回避できないわけだ。
たとえば10000.000から10000.010までがx軸いっぱいに拡大して表示されると困ったことになるよ。
0718デフォルトの名無しさん
2007/05/12(土) 14:24:27藻前の言ってる事は思いつきだろ
地図なんて個人ではどうにもできんから地図ソフトのSDKを買ってきて組み込む事になる
座標入れればちゃんと出てくる、それより2点以上の地点のアイコンを張った場合詳細図はOKだが
広域表示に場合アイコンが重なってしまうので、それを見やすい様に離す座標変換が問題になってくる
0719デフォルトの名無しさん
2007/05/12(土) 14:24:52だから、それは座標変換後の再利用じゃん
元データから、10000.000から10000.010までがx軸で表示される表示座標系に一発変換しろよ。
元データから、計算誤差、桁落ちする座標系に一度変換する理由はなに?
0720デフォルトの名無しさん
2007/05/12(土) 14:31:25全然話が読めてないね。
>>717が書いてくれてるけど、元々の話はグラフをプロットする際の
座標変換にGraphics.Transformを使った場合に起こりうる問題について、なんだよ。
その辺理解してるのかな?
0721デフォルトの名無しさん
2007/05/12(土) 14:31:59丸め誤差、桁落ちは最大限抑えるべき。
基本情報技術者で勉強しただろう?
0722デフォルトの名無しさん
2007/05/12(土) 14:32:25しかし頭悪いな本当w
0723717
2007/05/12(土) 14:37:53少数民族同士仲良くしようぜw
語尾にじゃんってつける奴って間違ってること多いな。
同一人物か?
0724デフォルトの名無しさん
2007/05/12(土) 14:44:44同一人物だよ。
元データから、計算誤差、桁落ちする座標系に一度変換する理由はなに?
教えて。
0725デフォルトの名無しさん
2007/05/12(土) 14:46:150726デフォルトの名無しさん
2007/05/12(土) 14:47:47そう、桁落ちする座標に一度変換するなんてばかげてるでしょ?
だからGraphicsに組み込まれた座標変換機能は使えない、ってことよ。
君は噛み付く相手を間違えてないか?
0727デフォルトの名無しさん
2007/05/12(土) 14:49:32問題になるのは広域表示時の誤差、逆なんだよ実際にプログラム組む時に分かるよ
まぁこの話はここでする事自体間違ってる気がするが
0728デフォルトの名無しさん
2007/05/12(土) 14:51:04ごめん。誰が誰だか分かんない。
元データから、10000.000から10000.010までがx軸で表示される表示座標系に一発変換するときに、
Graphicsに組み込まれた座標変換機能を使ったら何も問題ないよ。
というか、そのためのものでしょ。
0729デフォルトの名無しさん
2007/05/12(土) 14:54:37問題あるよ。
0730デフォルトの名無しさん
2007/05/12(土) 14:56:15問題あるってw
10000.000から10000.010の間に仮に1000pixelあるとして、
floatの精度で10000.000 + (0.01 / 1000)の値を表現できるかい?
0731デフォルトの名無しさん
2007/05/12(土) 14:57:31最初の人へヒント
ttp://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1293764&SiteID=7
0732デフォルトの名無しさん
2007/05/12(土) 14:57:40融通がきかんぞ
0733デフォルトの名無しさん
2007/05/12(土) 15:00:50プロット位置のデータを使って云々なんて誰も言ってない。
そのプロット位置のほうが問題になっているんだよ
0734デフォルトの名無しさん
2007/05/12(土) 15:05:000735デフォルトの名無しさん
2007/05/12(土) 15:08:52なら全然問題ないだろ、何を問題にしてるのか全然はわからん
座標変換前に拡大縮小計算して、プロット用座標変換すりゃ良い話だろ
0736デフォルトの名無しさん
2007/05/12(土) 15:09:07>元データから、計算誤差、桁落ちする座標系に一度変換する理由はなに?
この理由としての回答なら分かった。
そういう理由で2度座標変換する場合、きちんと見積もって、データ要件、システム要件を厳しくしないと、
たとえ、精度をdoubleにしたって、いつかは破綻するよ。なのでそのへんはトレードオフで。
なので、精度がいる場合は、多少複雑でも元データからの一発変換しかない。
0737デフォルトの名無しさん
2007/05/12(土) 15:10:58だから最初から読めよ・・・
0738デフォルトの名無しさん
2007/05/12(土) 15:15:06なに問題にしてるか全然わからない、元データ倍精度で持って、変換前倍精度で計算すりゃいいだろ
0739デフォルトの名無しさん
2007/05/12(土) 15:16:49多分みんな分かってるんだろうけど日本語が下手なだけだと思うよ。
0740デフォルトの名無しさん
2007/05/12(土) 15:17:04日本語力なさ杉だろ。
Graphics.Transformがfloatの精度でしか計算しないから、
Graphics.Transformをつかうと桁落ちする場合がある、という話をしているんだ。
0741デフォルトの名無しさん
2007/05/12(土) 15:20:350742デフォルトの名無しさん
2007/05/12(土) 15:23:560743デフォルトの名無しさん
2007/05/12(土) 15:25:08Graphics.Transformが使えないとわめいていただけ。
スキルのある人にはそれが理解できなかったのさ。
0744デフォルトの名無しさん
2007/05/12(土) 15:28:230745デフォルトの名無しさん
2007/05/12(土) 15:28:54デザイナが生成する変数
0746デフォルトの名無しさん
2007/05/12(土) 15:29:570747デフォルトの名無しさん
2007/05/12(土) 15:30:21必要があれば、それだけの事するんだから自分で座標変換作るだろ
はいはい、この話題はおしまい
0748デフォルトの名無しさん
2007/05/12(土) 15:31:290749デフォルトの名無しさん
2007/05/12(土) 15:35:25正直言うと元座標もプロットも初めintでやってた。
当然回転とかさせると図形がどんどん壊れていった。
0750デフォルトの名無しさん
2007/05/12(土) 15:39:520751デフォルトの名無しさん
2007/05/12(土) 15:42:51正直言うと元座標もプロットも初めAレジスタでやってた。
当然サインコサインはおろか乗算命令すらないので、回転すらできなかった。
自分が壊れていった。
0752デフォルトの名無しさん
2007/05/12(土) 15:44:18・マイナス値のオフセット計算
・位置変換
・画面サイズに合わせる比率計算
だけだろ、そんなもん算数レベル自分で計算汁
0753デフォルトの名無しさん
2007/05/12(土) 15:46:550754デフォルトの名無しさん
2007/05/12(土) 15:47:570755デフォルトの名無しさん
2007/05/12(土) 15:48:18分数できないと比率計算できんな・・・
0756デフォルトの名無しさん
2007/05/12(土) 15:56:13去年ソフトウェア開発者の試験会場の大学行ったら、
壁にテストの模範解答が貼ってあった。
そのテスト内容は初歩の分数の問題だった。
間違いが多いところにコメントが書いてあったが、約分や割り算ができてないみたいだった。
ちなみに経済学部…
大丈夫か日本?
0757デフォルトの名無しさん
2007/05/12(土) 15:58:500758デフォルトの名無しさん
2007/05/12(土) 15:59:230759デフォルトの名無しさん
2007/05/12(土) 16:01:590760デフォルトの名無しさん
2007/05/12(土) 20:46:16突っ込みどころが最初からずれとるわ。
変換する機能がfloatしか受け付けないのが問題なわけ
float以上の制度のデータを「渡せない」の
だから渡す情報がfloat以上の精度が必要な場合は使えないわけ
変換を自分でやるなら問題ないの。
だから変換機能をそのまま利用したくても、
場合によってはそれだけではできないっていってんでしょ。
だれだ、自分でやったらいいだろとかいってるやつは。
自分でやらざるをえないって話をしてるのに。
ってなんで通じないんだよ。
一回冷静に頭リセットしてみろよ。
0761デフォルトの名無しさん
2007/05/12(土) 20:48:59↓
これこれこういうときにはAは使えない。
↓
使えるだろ何言ってんだ(勘違い、ほんとは使えない)。
↓
いやだから使えないって(以下ループ)
Aを使えばいいじゃん。
↓
これこれこういうときにはAは使えない。
↓
自分でやったら問題ないのにA使おうとするのが馬鹿だろw
↓
…
0762デフォルトの名無しさん
2007/05/12(土) 21:11:02ということは、自分で起動したプロセスなのかな?
File.Copy("Test6.exe", "Test6Sub.exe");
Process proc = Process.Start("Test6Sub.exe");
proc.WaitForExit();
File.Delete("Test6Sub.exe");
じゃダメなのか?
0763デフォルトの名無しさん
2007/05/12(土) 21:18:380764デフォルトの名無しさん
2007/05/12(土) 21:21:010765デフォルトの名無しさん
2007/05/12(土) 21:34:06頭の悪いのはおまえ。
第一Graphicsクラスのメソッドで、なんでdoubleの精度が必要なんだ?
仮にdoubleにしたところで、何度も座標変換や拡大縮小したら、簡単に破綻するじゃねーか。
というか、そんな実装したのみたことねーよ。
今まで書いたコードの100倍コード書けば自分の間違いが分かるよ。
自分でastronomyクラスでも書いて使え。
0766デフォルトの名無しさん
2007/05/12(土) 21:36:44悔し紛れとかでネタでいってるのかとも思ったが、
どうやら>>765みたいなのって本気で問題が理解できないのな。
0767デフォルトの名無しさん
2007/05/12(土) 21:40:050768デフォルトの名無しさん
2007/05/12(土) 21:45:570769デフォルトの名無しさん
2007/05/12(土) 21:51:320770デフォルトの名無しさん
2007/05/12(土) 21:52:18なに言ってんだこいつは…
わざとか?それとも本物か?
0771デフォルトの名無しさん
2007/05/12(土) 21:59:48だから最初からAPIだけじゃだめって話だろうに。
だれもそれ自体否定してないだろうに。
流れ読めよ。
0772デフォルトの名無しさん
2007/05/12(土) 22:02:190773デフォルトの名無しさん
2007/05/12(土) 22:02:340774デフォルトの名無しさん
2007/05/12(土) 22:03:210775デフォルトの名無しさん
2007/05/12(土) 22:07:200776デフォルトの名無しさん
2007/05/12(土) 22:14:130777デフォルトの名無しさん
2007/05/12(土) 22:18:04まあ一部本当に分かってないやつもいるようだが。
0778デフォルトの名無しさん
2007/05/12(土) 22:19:02殆どの香具師はdouble精度なんか求めないから標準なんてfloatで十分過ぎる
逆にdouble精度を求める大規模プログラムを書く香具師は高速化、誤差が重畳しないように
自分で座標変換を自分で作る、もめても意味ないんだよ
0779デフォルトの名無しさん
2007/05/12(土) 22:19:26ここ初心者用スレだよ。
0780デフォルトの名無しさん
2007/05/12(土) 22:20:59そんなことで揉めてるわけじゃないんだけどな
0781デフォルトの名無しさん
2007/05/12(土) 22:21:42お前ホントに分かってないの?
0782デフォルトの名無しさん
2007/05/12(土) 22:23:360783デフォルトの名無しさん
2007/05/12(土) 22:24:26どれとどれが同一人物の書き込みでしょう?
ヒント)このスレには二人しか書き込みしてません。
0784デフォルトの名無しさん
2007/05/12(土) 22:26:180785デフォルトの名無しさん
2007/05/12(土) 22:27:210786デフォルトの名無しさん
2007/05/12(土) 22:27:240787デフォルトの名無しさん
2007/05/12(土) 22:28:27つうか何もめてるんだか意味わからない
初心者がdouble精度の座標変換が必要なプログラム組むか?
0788デフォルトの名無しさん
2007/05/12(土) 22:28:43振込よろしく
0789デフォルトの名無しさん
2007/05/12(土) 22:29:14円周率が3なのにw
0790デフォルトの名無しさん
2007/05/12(土) 22:30:39わからんのはお前が日本語力不足なだけだろ。
double精度が必要だなんていう話はしてない。
0791デフォルトの名無しさん
2007/05/12(土) 22:31:15不動小数点でなく別にintのピクセル値での変換で十分な気がする
0792デフォルトの名無しさん
2007/05/12(土) 22:31:45じゃなにを問題にしてる?
0793デフォルトの名無しさん
2007/05/12(土) 22:31:51初心者は計算に使うデータと表示するデータは同じだと思ってるもんだ。
>680
コンピュータに留まらず、計算精度と表示精度は違う。
計算に使うデータは例えば多倍長整数とか使ってでも必要な桁数を確保しているものだ。
それを、表示する時には、表示して意味のある精度(この場合はGraphicsだからfloat)に「丸めて」使う。
どうしても違いを表示させたい場合は縮尺と原点を調節して表示しなければならない。
>10000.000と10000.001が同じ位置にプロットされることを回避できないわけだ。
この場合、その差を表したかったら、例えば縮尺1000倍で原点を10000に取って表示させる。
GoogleEarthとかでズームインしていくように。
この辺を分かっている人間が「座標変換でいいんじゃね?」と言っているグループ。
0794デフォルトの名無しさん
2007/05/12(土) 22:32:26初心者に難しいこと言っても無駄。
ここはひとつ、ぎゃーてーぎゃーてーはーらーぎゃーてーと唱えよう。
0795デフォルトの名無しさん
2007/05/12(土) 22:34:41プログラムなんて初心者はつくらん
0796デフォルトの名無しさん
2007/05/12(土) 22:35:38座標変換自体でもめてんのは、一人本当に分かってないやつがいただけだよ。
0797デフォルトの名無しさん
2007/05/12(土) 22:35:53このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
0798デフォルトの名無しさん
2007/05/12(土) 22:35:580799デフォルトの名無しさん
2007/05/12(土) 22:37:05今は、>>787のように何度でも論点のずれた話題を持ち出してくるやつがいることを問題にしてる。
0800デフォルトの名無しさん
2007/05/12(土) 22:37:39や・さ・し・く!
0801デフォルトの名無しさん
2007/05/12(土) 22:37:520802デフォルトの名無しさん
2007/05/12(土) 22:40:290803デフォルトの名無しさん
2007/05/12(土) 22:41:49おいおいまだわからないのか痛い奴だなあ。。
だからGraphicsの座標変換機能じゃそんなことは原理的にできない、
といっているのに。。。
0804デフォルトの名無しさん
2007/05/12(土) 22:43:230805デフォルトの名無しさん
2007/05/12(土) 22:50:130806デフォルトの名無しさん
2007/05/12(土) 22:53:39Graphicsのそのメソッドは元データの計算精度を表示精度に変換するメソッドだよ〜。
大学出てる〜? 原理的ってなんの原理〜? 学術用語で説明してよ〜。
学術用語で説明してくれたら論理ミスすぐわかるから〜。
0807デフォルトの名無しさん
2007/05/12(土) 22:58:40馬鹿なくせに学術用語とか言わない方がいいよ。背伸びでもね。
>>760が必要十分な説明をしてくれてる。
これ読んでわからないならもう何もいうことはないよ。
最初から理解するだけの頭がないのだ。それなら。
0808デフォルトの名無しさん
2007/05/12(土) 23:00:28↓中卒一人目。
0809デフォルトの名無しさん
2007/05/12(土) 23:01:000810デフォルトの名無しさん
2007/05/12(土) 23:13:060811デフォルトの名無しさん
2007/05/12(土) 23:26:39統計終了しました。
結果
中卒 2人
修士or博士 残りの人
0812デフォルトの名無しさん
2007/05/12(土) 23:28:180813デフォルトの名無しさん
2007/05/12(土) 23:38:070814デフォルトの名無しさん
2007/05/12(土) 23:46:310815700
2007/05/12(土) 23:49:36>>762
>ということは、自分で起動したプロセスなのかな?
そうなのですが、先程>>762のコードのようなことをするのではなく、
リソースからexeをコピー
↓
実行
↓
起動元をリソースからのexeがkill
↓
ファイルのアップデート
↓
元を起動
↓
リソースコピーexeが終了するまで待つ
↓
リソースコピーexeを消す
と言う流れなのですが、一番下で躓いています。
0816デフォルトの名無しさん
2007/05/12(土) 23:54:30というかこの流れにはうんざりしてるからむしろ歓迎
0817デフォルトの名無しさん
2007/05/13(日) 00:01:44日本語で主語が省略できるときは、前の文脈と主語が同じとき。
主語が代わっているのに省略するから、わかりにくい。
でも、見る限り問題なさそうだけど。releaseのexeでもやってみた?
0818デフォルトの名無しさん
2007/05/13(日) 00:06:17関係ないが、文字列の比較は==でいいだろ。Javaじゃないんだ。
0819デフォルトの名無しさん
2007/05/13(日) 00:17:03プロットされるのはピクセル単位だからint型で十分だが、
その前の演算処理では、演算途中で計算誤差(丸め誤差や桁落ち等)
が起ると演算結果が大幅に変わる場合がありうるから
できるだけ計算誤差が発生しない計算順序や型が要求される。
0820デフォルトの名無しさん
2007/05/13(日) 00:20:110821デフォルトの名無しさん
2007/05/13(日) 00:20:350822デフォルトの名無しさん
2007/05/13(日) 00:22:58Formイベントにはそれらしいのが見当たりません
どうすればいいのでしょうか?
また、参考になりそうなサンプルとかのあるサイトを知ってる方がいたら教えてもらえるとありがたいです
よろしくお願いします
0823デフォルトの名無しさん
2007/05/13(日) 00:33:29http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=28250&forum=7
0824700
2007/05/13(日) 00:52:42exeファイルはreleaseでビルドしたものです。
>>818
java上がりではないのですが、手持ちのC#のコーディング規則の本にはEquals使えと
書いてあったのでそれに従ってみたのですが、やっぱり見づらいですかね?
0825デフォルトの名無しさん
2007/05/13(日) 01:11:32そのコーディング規則に従わなきゃらなんのなら仕方ないが、
C#ではStringの等価性比較には==を使うのが一般的だと思う。
今回は問題ないが、Equals使うならnullかどうかの確認が必要だし、
Object.Equals(Object) のオーバーロードが存在するから、
コンパイラの型チェックの恩恵を受けることができない。
このあたり読んでおくといいかもね:
文字列の使用 (C# プログラミング ガイド)
http://msdn2.microsoft.com/ja-jp/library/ms228362.aspx
Equals() と演算子 == のオーバーロードに関するガイドライン (C# プログラミング ガイド)
http://msdn2.microsoft.com/ja-jp/library/ms173147.aspx
0826デフォルトの名無しさん
2007/05/13(日) 01:11:320827デフォルトの名無しさん
2007/05/13(日) 01:12:53むしろ==の方が…
0828デフォルトの名無しさん
2007/05/13(日) 01:16:450829デフォルトの名無しさん
2007/05/13(日) 01:36:17あなた単体テストしてませんよね。
p[i].StartInfo.FileNameに値入ってないですよ。。
デバッガ使って、自分で単体テストぐらいしてくださいね。
p[i].MainModule.FileName
0830ホイールマウス
2007/05/13(日) 01:38:55ありがとうございます
早速ちょこっとやってみました
動きませんでした orz
this.MouseWheel ってイベントは見つけたけど Form1 のイベントに MouseWheel が無いのが原因なんでしょうかねぇ・・
単純に
public partial class Form1 : Form{}の中に↓を貼り付けてみたんですがピクリともしませんでした
private void Form1_MouseWheel(object sender, MouseEventArgs e)
{
MessageBox.Show("マウスホイール");
}
private void Form1_MouseEnter(object sender, EventArgs e) { this.Focus(); }
ヘルプを調べても
AxHost.MouseWheel イベント
このイベントは、.NET Framework インフラストラクチャをサポートします。・・・(略
MouseWheel イベントは、AxHost クラスではサポートされません。
public event MouseEventHandler MouseWheel
この程度のことしか載っておらず自分でも色々調べてやってますが、どこが悪いのか理解不能です
出来れば助けてください。
0831デフォルトの名無しさん
2007/05/13(日) 01:40:16WndProcをオーバーライドするんだよ。書いてあるだろ。
0832デフォルトの名無しさん
2007/05/13(日) 01:47:59Form1()コンストラクタの中に追加しろ。
this.MouseWheel += new MouseEventHandler(this.Form1_MouseWheel);
0833デフォルトの名無しさん
2007/05/13(日) 01:55:30Form継承してるんだから。
protected override void OnMouseWheel(MouseEventArgs e)
{
base.OnMouseWheel(e);
if (e.Delta < 0)
{
Console.WriteLine("Wheel roll down");
}
else
{
Console.WriteLine("Wheel roll up");
}
}
0834ホイールマウス
2007/05/13(日) 01:56:56入れて試してみましたがダメでした
>>831様
簡単にサクッといかないかと思ってまだ試してません
明日あたり調べてやってみようかと思います
0835デフォルトの名無しさん
2007/05/13(日) 01:58:260836デフォルトの名無しさん
2007/05/13(日) 01:58:47なんかおれの知らないことがいっぱいあるみたいだな。
0837ホイールマウス
2007/05/13(日) 02:03:53もしかして、そゆことですか・・・・・
氷解した気がします
あと>>833も今のところ動きませんでした
教えてくださった方々ありがとうございます。
また明日がんばってみます
0838デフォルトの名無しさん
2007/05/13(日) 02:10:17動かないって?
ひょっとしてフォームがインアクティブの時にもホイールの動きを
検出したい、ということかな。
それなら確かにFormの、というか.NETネイティブの機能では不可能かも。
0839デフォルトの名無しさん
2007/05/13(日) 02:13:220840デフォルトの名無しさん
2007/05/13(日) 02:28:170841デフォルトの名無しさん
2007/05/13(日) 06:27:51初心者用スレだし、ここはひとつ、自分のほうがスキルが高いと思う側が折れてくれないか。
0842デフォルトの名無しさん
2007/05/13(日) 06:47:400843デフォルトの名無しさん
2007/05/13(日) 06:56:54おまえはスキル低いほうだなw
0844デフォルトの名無しさん
2007/05/13(日) 07:22:05>>833 の
>ていうか、baseのイベントに登録して受信する必要はないでしょ。
>Form継承してるんだから。
これの意味がよく分からないんですが。
普通は OnMouseWheel を ovrerideして実装するものなのでしょうか?
0845デフォルトの名無しさん
2007/05/13(日) 09:54:10普通はどっちなんだろうね。
俺はイベントハンドラのoverrideは滅多に使わないけど・・・。
オーバーライドすると元のメソッドが呼ばれなくなるから、
元のメソッドが必要ならオーバーライドしたメソッド内でbase.OnMouseWheel()を呼ぶ必要がある。
0846デフォルトの名無しさん
2007/05/13(日) 11:47:42関係ないけどコード書いて実験したぞ。
よくある x 0.0〜1.0 y 0.0〜1.0の直線のグラフだけど。
結論から言うとこれだけでも全画面表示だと、 trans〜は問題ある。
さらに拡大率が1000くらい越えると別の問題がでてくる。
0847デフォルトの名無しさん
2007/05/13(日) 12:08:540848デフォルトの名無しさん
2007/05/13(日) 12:18:30せいぜいできることは、きっとコイツ寂しい奴何だろうなと思って哀れむことぐらいだ。
まあしかし、敢えて書かなかったけど、確かにGraphics.Transformを使うと別の問題もある。
例えばペンやブラシが扁平することだね。
もっとも、あんまり詳しく調べたわけじゃないのでひょっとするとこれには解決法があるのかもしれないが。
いずれにしろかなり面倒なことになるのは確かだろう。
楽をするためにGraphics.Transformを使おうと思ったはずなのに。
0849デフォルトの名無しさん
2007/05/13(日) 12:33:33Graphics.Transformつかうと逆にめんどいことになるな。
0850デフォルトの名無しさん
2007/05/13(日) 12:51:030851デフォルトの名無しさん
2007/05/13(日) 12:55:470852デフォルトの名無しさん
2007/05/13(日) 12:59:21>>841
0853ホイールマウス
2007/05/13(日) 13:03:26this.MouseWheel +=
まで入力すると「挿入するにはTABキーを押してください」って出て、
TABを2回押したら += の後に
new MouseEventHandler(Form1_MouseWheel);
に続いて
void Form1_MouseWheel(object sender, MouseEventArgs e){}
が自動的に作成されるんですね。
これでうまく行きました
自分でvoid Form1_MouseWheelを貼り付けたらダメみたいです
ホイールマウスで悩んでる初心者が自分以外にもいるかも知れないので、次のレスで今回の手順をもう一度まとめます
0854ホイールマウス
2007/05/13(日) 13:05:30�@Form1コントロールにlabel1コントロールを配置
�AForm1()コンストラクタにマウスホイールイベントハンドル追加
※this.MouseWheel += まで入力後TABを2回押すことで、Form1_MouseWheelイベントが自動的にコードに追加される
�Bthrow new Exception("The method or operation is not implemented.");←をコメントアウト
�C以下のコードをForm1_MouseWheel内に追加
if (e.Delta < 0){ label1.Text = "ホイール下";}
else{ label1.Text = "ホイール上";}
�D実行
public partial class Form1 : Form{}内のコード全文です↓
public Form1()
{
InitializeComponent();
this.MouseWheel += new MouseEventHandler(Form1_MouseWheel);
}
void Form1_MouseWheel(object sender, MouseEventArgs e)
{
//throw new Exception("The method or operation is not implemented.");
if (e.Delta < 0)
{
label1.Text = "ホイール下";
}
else
{
label1.Text = "ホイール上";
}
}
教えてくださった方々有難うございました。
0855デフォルトの名無しさん
2007/05/13(日) 13:05:47おまえはスルーって事が出来ないのか?
代理でスレ立ててやろうか?
0856デフォルトの名無しさん
2007/05/13(日) 13:13:48VS2005ですか?それともVS2003?
0857ホイールマウス
2007/05/13(日) 13:14:490858デフォルトの名無しさん
2007/05/13(日) 13:18:54ありがとう。私はVS2005でコピペでいけたので、どっかでイージーミスがあったのかもしれませんね。
0859デフォルトの名無しさん
2007/05/13(日) 13:36:250860デフォルトの名無しさん
2007/05/13(日) 13:48:230861デフォルトの名無しさん
2007/05/13(日) 14:08:310862デフォルトの名無しさん
2007/05/13(日) 14:18:510863デフォルトの名無しさん
2007/05/13(日) 15:27:09>829 の言うとおりStartInfo.FileNameは「既定値は空の文字列 ("") です。」だね。試してみたら確かに空だ。
起動中チェックはMutexで実施するのがいいと思うよ。定番だし多重起動の防止にもなるし。
0864デフォルトの名無しさん
2007/05/13(日) 16:00:030865デフォルトの名無しさん
2007/05/13(日) 17:35:19SHDocVw.InternetExplorerを使っていて行き詰まりました。
axWebBrowserだと上手く動くのですが、
SHDocVw.InternetExplorerだと下記のソースでLoginForm.itemがNULLだと言われどうにも困っています。
SHDocVw.InternetExplorer ie = new SHDocVw.InternetExplorer();
ie.Navigate(URL);
//axWebBrowser1.Navigate(URL);←これだと成功する
///
一部省略
///
//IHTMLDocument2 doc2 = (IHTMLDocument2)axWebBrowser1.Document;←これだと成功する
IHTMLDocument2 doc2 = (IHTMLDocument2)ie.Document;
Login_Monex(doc2);
private void Login_Monex(IHTMLDocument2 doc)
{
IHTMLFormElement LoginForm = (IHTMLFormElement)doc.forms.item("F1", 0);
((IHTMLElement)LoginForm.item("loginid", 0)).setAttribute("value", userID, 0);←ここで怒られる。
((IHTMLElement)LoginForm.item("passwd", 0)).setAttribute("value", userPass, 0);
((IHTMLElement)LoginForm.item("menuMode", 0)).setAttribute("value", "1", 0);
LoginForm.submit();
}
0866デフォルトの名無しさん
2007/05/13(日) 17:51:19orz 理由が分からん。
0867デフォルトの名無しさん
2007/05/13(日) 17:56:420868デフォルトの名無しさん
2007/05/13(日) 18:00:20「コントロールにフォーカスがあるときにマウスホイールが動くと発生します」
PictureBoxのMouseEnterにでも
pictureBox1.Focus();って書けばおk
あれだったらその前にformのActiveControlを覚えといて
MouseLeaveでそいつにフォーカス戻すとか
0869デフォルトの名無しさん
2007/05/13(日) 18:08:08やっと意味がわかりました。そういう理由だったんですね。
ありがとうございます。
0870デフォルトの名無しさん
2007/05/13(日) 18:11:42できました。ありがとうございます。
0871デフォルトの名無しさん
2007/05/13(日) 20:17:42文字列の先頭にドライブレター("C:\"等)があるか判別するために以下のように記述したのですが、
実行すると「パターンの末尾に無効な \ があります。」というエラーが出てしまいます。
原因は何でしょうか。コンパイルはcsc.exeで行ったものです。
因にVB2005EEで同じ事を試したら正常に動きました。
string test = "aaa.txt";
if (System.Text.RegularExpressions.Regex.IsMatch(test.Substring(0, 3), "[a-zA-Z]:\\") == false)
{
MessageBox.Show("フルパスを指定して下さい。");
}
0872デフォルトの名無しさん
2007/05/13(日) 20:31:060873デフォルトの名無しさん
2007/05/13(日) 20:35:570874デフォルトの名無しさん
2007/05/13(日) 20:48:46"[a-zA-z]:\\\\"だったのですね。ありがとうございます。
C#の場合、例えばEnvionment.GetCommandLineArgs()等で得たファイルパスを正規表現にかける場合はReplace()等で"\"を"\\"に置換しないと駄目だという事も解りました。
本当にありがとうございました。
0875デフォルトの名無しさん
2007/05/13(日) 20:48:59test が 2 文字以下だったら例外だぜw
0876デフォルトの名無しさん
2007/05/13(日) 20:51:34っ Regex.Escape
0877874
2007/05/13(日) 21:25:15C#には逐語的リテラル文字列と言う概念があったのですね…精進します。
>>876
こんなメソッドがあったとは…ありがとうございます。
C#に挑戦→挫折→(数年経過)→VB2005EEで漸く.NETプログラミングを理解する→C#に再挑戦と来たため、文法がVB.NETと混同していました。
何とか頭の中を整理しつつ焦らず勉強していきます。
本当にありがとうございました。
0878デフォルトの名無しさん
2007/05/13(日) 21:46:39以下の文字列を宣言した場合、「@」にはどんな意味があるのでしょうか?
String str = @"text";
0879デフォルトの名無しさん
2007/05/13(日) 21:48:520880デフォルトの名無しさん
2007/05/13(日) 21:51:470881デフォルトの名無しさん
2007/05/13(日) 21:57:53'' や "" の前に @ (アットマーク)を付けると \ とそれに続く文字が
エスケープシーケンスとはみなされずに、普通に \ 記号として解釈される
ということですね?
@"C:\program files\Windows Media Player\wmplayer.exe"
としても、コンパイルにエラーにならないということですよね。
ありがとうございます。
0882デフォルトの名無しさん
2007/05/13(日) 22:00:13いやいや、
@"[a-zA-Z]:\\"
だけじゃわかんないっしょ。
0884デフォルトの名無しさん
2007/05/13(日) 22:09:56だれか俺にArray.GetLowerBound()の存在意義を教えてください。
0885デフォルトの名無しさん
2007/05/13(日) 22:22:26逐語的リテラル文字列って
0886デフォルトの名無しさん
2007/05/13(日) 22:35:23C# では意味はないが、配列の下限を設定できる言語もあるのさ。
Array.CreateInstance で作成もできるぜ。使えないけど。
>>882
ドキュメントエクスプローラのキーワードで @ だけでもかなり絞れる。
今回はもっとはっきり出てるけど。
0887デフォルトの名無しさん
2007/05/13(日) 22:51:20"^[a-zA-Z]:\\\\.*"
とか。
0888デフォルトの名無しさん
2007/05/14(月) 00:08:12【自動】株式トレーディングシステム Part4【売買】
http://pc11.2ch.net/test/read.cgi/tech/1110223706/
0889デフォルトの名無しさん
2007/05/14(月) 00:11:08正規表現にこだわらずにSystem.IO.Path.GetPathRootを使うとか。
0890666
2007/05/14(月) 00:49:52結局のところ、Transformは使用せず自分でPointをflot型で返す関数を作れっていいのかな?
0891デフォルトの名無しさん
2007/05/14(月) 01:33:52根がPascal なんだよw
0892デフォルトの名無しさん
2007/05/14(月) 01:38:40>すみません何か私のネタで議論白熱させちゃったみたいで・・><
そう思うなら何故蒸し返そうとする?
0893デフォルトの名無しさん
2007/05/14(月) 07:38:00BindingSourceのfilterを使いたいのだが
BindingSource.Filterに条件を入れてもFilterされないし、
SupportsFilteringはfalseになっている様子。
filterを使う方法知らないですか
0894デフォルトの名無しさん
2007/05/14(月) 09:07:14もっとはやくでてこい
0895デフォルトの名無しさん
2007/05/14(月) 17:46:21VWDExpress+C#ですが、
no = (int)Session[keyname];
no = Convert.ToInt32(Session[keyname]);
no = Int32.Parse(Session[keyname]);
どう違うのでしょうか?
google様にお伺いを立てても「違う」「違う結果が出る可能性がある」とは出ているのですが、どんな場合にどんな違いが出るのかがさっぱりわかりません…
0896デフォルトの名無しさん
2007/05/14(月) 17:57:530897デフォルトの名無しさん
2007/05/14(月) 17:58:420898デフォルトの名無しさん
2007/05/14(月) 18:09:15CheckBoxやButtonやTexteditorを配置して
XMLからは読み込めるようには出来たんですが
それぞれのcellのCheckBoxやButtonの状態・・・
簡単に言えばButtonを押してColorDialogを出したいのですが
その方法がわかりません。どなたか教えていただけないでしょうか。
0899デフォルトの名無しさん
2007/05/14(月) 18:16:06TryParseでした
ごめんなさい
0900デフォルトの名無しさん
2007/05/14(月) 18:42:33どこからがわからないの?
そのそれぞれのcellのコントロールの取得の仕方がわからないの?
それとも,コントロールは取得できてもそれにButtonを押してColorDialogを出す操作を
割り当てる方法がわからないの?
0901デフォルトの名無しさん
2007/05/14(月) 18:57:35イベントの説明みてみ?
セルのボタンを押すとかダイレクトな名前じゃないけどそれっぽいイベントがあるから
0902デフォルトの名無しさん
2007/05/14(月) 18:58:24つーかSession[keyname]の型はなに?
0903デフォルトの名無しさん
2007/05/14(月) 19:06:07だから3つ目はたぶん間違い
0904デフォルトの名無しさん
2007/05/14(月) 20:01:57ってかその前にコンパイル…
0905デフォルトの名無しさん
2007/05/14(月) 20:54:310906デフォルトの名無しさん
2007/05/14(月) 20:55:070907デフォルトの名無しさん
2007/05/14(月) 20:55:200908デフォルトの名無しさん
2007/05/14(月) 20:55:380909デフォルトの名無しさん
2007/05/14(月) 21:52:360910デフォルトの名無しさん
2007/05/14(月) 22:06:000911デフォルトの名無しさん
2007/05/14(月) 22:06:210912デフォルトの名無しさん
2007/05/14(月) 22:16:55多分ダウンロードしてるものがちがう
web用のほうダウンロードしたんだろ?
0913デフォルトの名無しさん
2007/05/14(月) 22:32:270914898
2007/05/14(月) 23:44:23確かに(たぶん?)それっぽいイベントがありました。
で今自分がしたいことは、カラーダイアログを出してそのカラーダイアログを出した
ボタンの表面色をカラーダイアログから選んだ色で着色することです。
で、下のようにやってみたらまったく別なことをやってしまったようです。
どのようにすればよいかご教示願いたく存じます。
void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (colorDialog1.ShowDialog() == DialogResult.OK)
{
DataGridViewCell Dg = ((DataGridView)sender).CurrentCell;
dataGridView1.CurrentCell = Dg;
dataGridView1.CurrentCell.DataGridView.BackgroundColor = colorDialog1.Color;
}
}
0915デフォルトの名無しさん
2007/05/14(月) 23:50:170916デフォルトの名無しさん
2007/05/14(月) 23:53:45なかなか突っ込み所が多いコードだな。
> DataGridViewCell Dg = ((DataGridView)sender).CurrentCell;
e のプロパティから取った方が自然かも。
> dataGridView1.CurrentCell = Dg;
いや今 CurrentCell とったばっかじゃん。取ったのを何故そのまま代入?
> dataGridView1.CurrentCell.DataGridView.BackgroundColor = colorDialog1.Color;
DataGridView の BackgroundColor(存在しないプロパティだけど)を変えるの?
変えたいのはボタンのじゃ?
// DataGridViewCell.Style でボタンだけは変えられたっけ?
0917898
2007/05/15(火) 01:00:13かなり無駄なことをしていたようで
Dg.Style.BackColor = colorDialog1.Color;でいけました
失礼しました。
0918デフォルトの名無しさん
2007/05/15(火) 01:01:52Class1 -> method1() -> method2()みたいにメンバ関数を連続して呼び出す構文を,
C#で
Class1.method1().method2()
って書けるんでしょうか?
0919デフォルトの名無しさん
2007/05/15(火) 01:03:050920デフォルトの名無しさん
2007/05/15(火) 01:03:450921デフォルトの名無しさん
2007/05/15(火) 01:04:26とすら書ける
0922デフォルトの名無しさん
2007/05/15(火) 01:05:250923デフォルトの名無しさん
2007/05/15(火) 01:37:08それって本当に分かりやすいか?
単なる下らん自己満足だろ。オナニーだよ。
大昔のベーシックのマルチステートメント以上の悪習にしか思えんが。
0924デフォルトの名無しさん
2007/05/15(火) 01:40:270925デフォルトの名無しさん
2007/05/15(火) 02:38:56そういうのが高度だと思ってる勘違い野郎がいるからな。
なにかとすぐリフレクションって言葉だしたり。
0926デフォルトの名無しさん
2007/05/15(火) 02:41:15保守性とかどうでもいいときは、タイプ数へって楽だしょ
0927デフォルトの名無しさん
2007/05/15(火) 10:02:210928デフォルトの名無しさん
2007/05/15(火) 10:25:55C#には、c++のcallocに相当する、動的に配列のメモリを確保して0を入れるという関数は存在しないのでしょうか?
0929デフォルトの名無しさん
2007/05/15(火) 10:27:58じゃだめなん?
0930デフォルトの名無しさん
2007/05/15(火) 10:32:19mallocはなくてcallocのみという感じ。
0931デフォルトの名無しさん
2007/05/15(火) 10:49:49C#の配列宣言はc++のcallocみたいなもんだと思っていいということでしょうか?
0932デフォルトの名無しさん
2007/05/15(火) 11:08:400933895
2007/05/15(火) 11:58:23わかんない。
テキストボックスに入る文字列なんだけど、その割には文字列として扱うにもConvert.ToString()しなきゃダメ…
>>904
この例は年齢を(テキストボックスに)入れさせている部分なんでintとして扱いたいんです。
今まで何でもかんでもConvert.To()使ってた。
でも「キャストすればいい」とか、他の本ではInt32.Parse使ってたり…で、どれ使ったらいいのか調べたら余計わからなくなって。
正直、Perlからの移行組(会社でPerl禁止令が出た)で、私的には敷居が高くて。
0934デフォルトの名無しさん
2007/05/15(火) 12:40:56type safeを超越した先進的設計だね
0935デフォルトの名無しさん
2007/05/15(火) 12:54:130936デフォルトの名無しさん
2007/05/15(火) 13:02:06そんなあなたには
VB.NETでOption Strict Off
0937デフォルトの名無しさん
2007/05/15(火) 13:15:39型があることの恩恵を喜べるように勉強したほうがいいと思うぞ
0938デフォルトの名無しさん
2007/05/15(火) 13:34:12リフレクションを使わないと実装できないような言語機能は絶対付けないの?
0939デフォルトの名無しさん
2007/05/15(火) 13:41:010940895
2007/05/15(火) 17:50:59や、型は(ほんの少しだけど)わかるんよ。
だけど最初の
no = (int)Session[keyname];
no = Convert.ToInt32(Session[keyname]);
no = Int32.Parse(Session[keyname]);
結果が同じなら(私が好きという理由で)Convert.To()を使えばいい話なんだけど、「結果が違う」とか言われると…しかもどんな場合に結果が違うのかがわからん…
0941デフォルトの名無しさん
2007/05/15(火) 17:59:25Sessionの宣言はどうなってんの?
0942935
2007/05/15(火) 18:24:170943デフォルトの名無しさん
2007/05/15(火) 18:37:44BindingNavigater.BindingSource.AddNew();
0944デフォルトの名無しさん
2007/05/15(火) 18:49:180945デフォルトの名無しさん
2007/05/15(火) 18:54:45HttpSessionState.item[string] : object
であってるの?
0946デフォルトの名無しさん
2007/05/15(火) 18:57:280947デフォルトの名無しさん
2007/05/15(火) 19:00:35こんなん出てきた
0948デフォルトの名無しさん
2007/05/15(火) 21:40:30あなたの前にあるhelpを見ましょう。
0949デフォルトの名無しさん
2007/05/15(火) 21:52:09この本読んどけっていう、お勧め本はありますか?
0950デフォルトの名無しさん
2007/05/15(火) 21:55:01その辺り使えるなら MS のドキュメントだけで十分な気が。
0951デフォルトの名無しさん
2007/05/15(火) 21:55:49MSDNのプログラミングガイド読んどけばいいと思うよ。
0952デフォルトの名無しさん
2007/05/15(火) 22:02:370953デフォルトの名無しさん
2007/05/15(火) 22:20:590954デフォルトの名無しさん
2007/05/15(火) 22:25:55MSって他の環境からの移行者のためのドキュメント好きだな
0955949
2007/05/15(火) 22:27:22今の仕事、組込みC言語(Linuxでクロス開発)なんで会社で見るのは無理臭いです
インターネットへの接続も厳しく制限されてるし
印刷されたもので、C言語で言うとK&Rみたいなのがあればなと思ってます
日経BP本ですか、そっち方面でちょと調べてみます
0956デフォルトの名無しさん
2007/05/15(火) 22:28:55そりゃ取り込みに必死だもん
0957デフォルトの名無しさん
2007/05/15(火) 22:29:14Session[keyname]の中身の型が重要。
Session[keyname]はobject型で何でも突っ込むことが出来る。
その反面コンパイラなどで型が決定で問題が出ることがある。(大抵出ない)
no = (int)Session[keyname];
no = Convert.ToInt32(Session[keyname]);
no = Int32.Parse(Session[keyname]);
上記の記述法だといずれもSession[keyname]の型が判りづらい。
1番目は(int)でキャストできるだろう何かとしかわからない。
2番目はConvert.ToInt32のオーバーロードがいくつもあるので問題がありそうだ。
3番目はParseの中身はstringだから強制的にToString()されるので問題ない
(Parseできるかどうかは別問題)
もし内容がテキストなら(string)でキャストするか、ToString()を使ってstringと判るようにしたほうがいい。
ここで問題が出なくてもキャストで型を明示する癖をつけたほうがいいと個人的は思う。
0958デフォルトの名無しさん
2007/05/15(火) 22:57:380959デフォルトの名無しさん
2007/05/15(火) 23:23:11わろた。
int以外の何をキャストするんだよ。
0960デフォルトの名無しさん
2007/05/15(火) 23:24:230961デフォルトの名無しさん
2007/05/15(火) 23:26:270962デフォルトの名無しさん
2007/05/15(火) 23:31:440963デフォルトの名無しさん
2007/05/15(火) 23:33:23>longとかfloatとか。
やってみろw
0964デフォルトの名無しさん
2007/05/16(水) 00:15:06>テキストボックスに入る文字列なんだけど、
>その割には文字列として扱うにもConvert.ToString()しなきゃダメ…
型が objectのままだから。
(string)Session[keyname]
Session[keyname].ToString( )
0965デフォルトの名無しさん
2007/05/16(水) 00:47:58あるボタンを押すとそのボタンテキストがaaaに変わるようにするにはどのように書けば良いのでしょうか?
例えば、VB2005の場合だと
sender.Text = "aaa"
と書くところをC#の場合はどうすれば良いのでしょうか?
0966デフォルトの名無しさん
2007/05/16(水) 00:49:050967デフォルトの名無しさん
2007/05/16(水) 00:49:260968デフォルトの名無しさん
2007/05/16(水) 00:50:24キャストよりドット演算子のほうが優先順位高かった
0969デフォルトの名無しさん
2007/05/16(水) 00:58:37>>964
0970デフォルトの名無しさん
2007/05/16(水) 01:11:39///////////
Button btn = sender as Button;
if( btn != null )
btn.Text = "aaa";
//////////
if( sender is Control )
((Control)sender).Text = "aaa";
0971965
2007/05/16(水) 01:12:04(Button)sender.Text = "aaa";
(button1)sender.Text = "aaa"; // button1はボタンの名前
(string)sender.Text = "aaa";
Convert.ToString(sender.Text) = "aaa";
上から2つ目以外は、それぞれ
'object' に 'Text' の定義がありません。
というエラーでした。
2つ目のエラーは
'Test.Form1.button1' は 'フィールド' ですが、'型' のように使用されています。
でした。
たぶん、私のやり方が間違っていると思うのですがどうすればよいでしょうか?
0972デフォルトの名無しさん
2007/05/16(水) 01:13:010973デフォルトの名無しさん
2007/05/16(水) 01:13:45無事解決しました。
皆さん、ありがとうございました。
0974デフォルトの名無しさん
2007/05/16(水) 01:14:44何かあったらまたおいで。
がんばれ。
0975デフォルトの名無しさん
2007/05/16(水) 01:18:060976デフォルトの名無しさん
2007/05/16(水) 01:29:00わからないので、そういう風にやるものだとだけ今は覚えておきます。
0977デフォルトの名無しさん
2007/05/16(水) 11:17:140978デフォルトの名無しさん
2007/05/16(水) 14:13:41重いです。
Labelコントロールの量を減らせ!!などの方法以外で
改善策などはあるのでしょうか?
宜しくお願いします。
0979デフォルトの名無しさん
2007/05/16(水) 14:15:54this.SuspendLayout();
:
:
this.ResumeLayout(false);
0980デフォルトの名無しさん
2007/05/16(水) 14:32:14フォームのOpacityを99%にしたり(ただしこれだと若干半透明になる)
P/Invokeでレイヤードウィンドウにして再描画の回数を減らす。
0981デフォルトの名無しさん
2007/05/16(水) 16:54:29今まで趣味のプログラムはVisualStudio&C++でやってきましたが、勉強の意味も含めて新しい環境でやってみたくなりました。
言語はC#で決定なのですが、他の開発環境をどうするかについて、未知の領域への不安を感じています。
似たような道を通った先輩方、「それは止めた方が良い」とか「こっちの方が良くないか?」とかのアドバイスを頂けないでしょうか?
現在の方針は下記の通りです。
・MONOを使いたい。
(マルチプラットフォームに憧れているから)
・ECLIPSEを使いたい。
(フリーで全ての機能を使えるところに憧れているから。)
・ECLIPSEの次点として、SharpDevelopを使いたい。
(Eclipseの方が活発に見えるし、他言語への応用が広そう。でも、SharpDevelopはVSソックリというのが魅力的。)
・EclipseではCVSの方が使いやすそうに見えるが、SubVersionを使ってみたい。
(SubVersionが後発だから。CVSの経験が無いから。)
0982デフォルトの名無しさん
2007/05/16(水) 17:06:300983デフォルトの名無しさん
2007/05/16(水) 17:07:530984981
2007/05/16(水) 17:10:39私は適当だからです。
>>983
WindowsXP HOME のPCを開発マシンにしています。
XP Proのマシンもたまに開発に使います。
Vistaは当分買わないと思います。
0985デフォルトの名無しさん
2007/05/16(水) 17:15:320986デフォルトの名無しさん
2007/05/16(水) 17:18:57それからMONOやSharpDevelopを使うと完成度の低さに愕然とすることになるが。
Eclipseは使ったことないから白根。
0987デフォルトの名無しさん
2007/05/16(水) 17:19:200988デフォルトの名無しさん
2007/05/16(水) 17:23:40#Dは機能面で本家に勝てる日は来ないだろうな。軽いのはいいんだが
0989デフォルトの名無しさん
2007/05/16(水) 17:24:130990デフォルトの名無しさん
2007/05/16(水) 17:24:44まだ実用的に使うには不安が残るレベルだと感じてる
0991デフォルトの名無しさん
2007/05/16(水) 17:26:53C#のIDEはVSで十分間に合う。
あまり、IDEを複数使うより、ひとつのIDEを使いこなせるように努力したほうが
結果的に品質が良いものができるよ。
0992981
2007/05/16(水) 17:31:46質問を2点追加です。
VSExpressだと機能が足りなくて、結局後でProを買うハメになるのではと思っているのです。
実際に使ってみてどんな感じでしょうか?
異なるIDE間でワークスペースの移行が簡単に出来るのならば、
VSでもEclipseでもSharpでも良いと思っているのですが、IDEの移行は簡単でしょうか?
0993デフォルトの名無しさん
2007/05/16(水) 17:39:00> 実際に使ってみてどんな感じでしょうか?
機能一覧で必要な機能があるなら上位バージョンを使えばよい。
>
> 異なるIDE間でワークスペースの移行が簡単に出来るのならば、
> VSでもEclipseでもSharpでも良いと思っているのですが、IDEの移行は簡単でしょうか?
人に聞く前に調べるべき。
http://www.microsoft.com/japan/msdn/vstudio/default.aspx
0994デフォルトの名無しさん
2007/05/16(水) 17:41:11君がいずれ何をしたくなるかはわからんが、
少なくともC#の勉強にはExpressでも十分すぎる程ある。
0995デフォルトの名無しさん
2007/05/16(水) 17:43:210996981
2007/05/16(水) 17:49:08VS2003です。
他のIDEはC#での完成度が芳しくなさそうなので、VSExpressでいこうと思います。
皆様、ありがとうございました。
0997デフォルトの名無しさん
2007/05/16(水) 17:53:02まぁそれだったらExpressダウンロードしてもいいね。
0998デフォルトの名無しさん
2007/05/16(水) 17:53:42VB以下
0999デフォルトの名無しさん
2007/05/16(水) 17:54:221000デフォルトの名無しさん
2007/05/16(水) 17:54:5210011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。