ふらっとC♯, C#(初心者用) Part13
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/02/06(火) 20:35:29「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
0002デフォルトの名無しさん
2007/02/06(火) 20:36:29ふらっとC♯, C#(初心者用) Part12
http://pc10.2ch.net/test/read.cgi/tech/1168271508/
関連スレ
C♯, C#相談室 Part37
http://pc10.2ch.net/test/read.cgi/tech/1169110545/
0003デフォルトの名無しさん
2007/02/06(火) 20:37:01http://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
0004デフォルトの名無しさん
2007/02/06(火) 20:37:57http://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をローカルで見れる。
0005デフォルトの名無しさん
2007/02/06(火) 20:41:01質問するときに
〜したいのですが、上手くいきません。
〜したときにエラーが出ます。
という書き方はイクナイ。
何も書いてないのと同じ☆
〜したいのですが、〜で〜が失敗します。
〜したときに〜エラーが出ます。
隠さずくわしくかきましょう
0006デフォルトの名無しさん
2007/02/06(火) 20:42:260007デフォルトの名無しさん
2007/02/06(火) 20:43:590008デフォルトの名無しさん
2007/02/06(火) 20:48:07そんなわけない。
0009デフォルトの名無しさん
2007/02/06(火) 20:52:090010デフォルトの名無しさん
2007/02/06(火) 20:54:110011デフォルトの名無しさん
2007/02/06(火) 21:02:55>982
単なる書き換えわすれだよ。
確かにねたぽいけど、ちゃんと理由があるのであんまりつっつかないでくれ。
>979
えーと、単純なクラスのバインディングなら出来てるっていうのを書き忘れた。
問題は IEnumerable を実装してるクラスの場合で、単純なクラスの場合と同じに
書いてもリストオブジェクト自体のプロパティのバインディングが出来ないです。
0012デフォルトの名無しさん
2007/02/06(火) 21:05:22がちょーんって言ってた人?
001311=前スレ972
2007/02/06(火) 21:06:10えーと質問です。
class hoge {}
class hogelist : List<hoge> {
public String Value { get() { return ""; } }
}
private readonly hogelist hogelist = new hogelist();
public form1(.......) // こんすとらくた
{
InitializeComponent();
textBox1.DataBinding.Add("Text", hogelist, "Value"); // 質問修正
}
というコードを書いて、外部のフォームからこのフォームを表示させようとすると
form1->Show(); // ここで例外。
ArgumentExceptionはハンドルされませんでした。
DataSource のプロパティまたは列Valueにバインドできません。
パラメータ名:dataMember
と言われて、データバインディングに失敗します。
Show() のところから、ステップ実行すると IEnumerable.GetEnumerator() が呼ばれて
いて、これは素直に通過するのだけど通過した後の外部コードの中で例外が発生します。
どうすればデータバインディングできるのでしょうか?
0014デフォルトの名無しさん
2007/02/06(火) 21:08:360015デフォルトの名無しさん
2007/02/06(火) 21:14:53>form1->Show()
ネタですね…
0016デフォルトの名無しさん
2007/02/06(火) 21:17:55>このコレクションは、Binding を作成する前に作成され、その中にオブジェクトが
>格納されていることが必要です。リスト内のオブジェクトの型は、
>すべて同じである必要があります。それ以外の場合は、例外がスローされます。
0017デフォルトの名無しさん
2007/02/06(火) 21:19:10001811=前スレ972
2007/02/06(火) 21:19:16まぁ別フォームのコードは C++/CLI だから、
元のソースそのまんまではあるわけだけど。
よくきがつくなー。
0019デフォルトの名無しさん
2007/02/06(火) 21:30:11get()…
0020デフォルトの名無しさん
2007/02/06(火) 21:34:430021デフォルトの名無しさん
2007/02/06(火) 22:03:37DataBindingsにIEnumerableでないオブジェクトが使えるのがオマケみたいなものだから、
仕様だと思ってあきらめよう。
これだと通る。
class hoge { public String Value { get() { return ""; } }
class hogelist : List<hoge> { }
002211=前スレ972
2007/02/06(火) 22:09:31#くだすれ.NET Frameworkってスレありません?
0023デフォルトの名無しさん
2007/02/06(火) 22:26:32C#覚えればいいのに。C++/CLIが使えるなら簡単でしょ?
転がってる情報はほとんどVB.NETとC#だし
0024デフォルトの名無しさん
2007/02/06(火) 22:30:53何でこれが通るんだろうね?
0025デフォルトの名無しさん
2007/02/06(火) 22:34:12絶対++なら出来るだのなんだの文句ばっかりだろうな・・・
002624
2007/02/06(火) 22:35:59プロパティ名""にすると、ToString()が帰ってくるらしい。
textBox1.DataBindings.Add("Text", hogelist, "");
これで帰ってきたもの見ると、
WindowsApplication1.hoge となっていた。
hogelistはデータセットでhogeが行扱いみたいだな。
0027デフォルトの名無しさん
2007/02/06(火) 22:39:41混じってると、ソース書くときもまじるんだよね。
0028デフォルトの名無しさん
2007/02/06(火) 22:43:23002924
2007/02/06(火) 22:50:16private void button2_Click(object sender, EventArgs e)
{
textBox1.DataBindings["Text"].BindingManagerBase.Position++;
}
public hoge(string st){
innerString=st;
}
0030前スレの973
2007/02/07(水) 01:13:51原因はUnLha32.dllの中でメッセージループをまわるようにしているようです。
スイッチ指定で回さないようにしたら、ちゃんと予定した動作をしました。
ふう〜
0031デフォルトの名無しさん
2007/02/07(水) 03:44:56くだすれ.NET(超初心者向け)
さびれてんな・・・。
0032デフォルトの名無しさん
2007/02/07(水) 06:20:22MessageBox.Showをやるとその後のコードが
実行されないんでしょうか?
0033デフォルトの名無しさん
2007/02/07(水) 07:13:43TIMER.TICK なんて無いと釣られてみる
それはさておき、MessageBox はモーダルウィンドウなので。
嫌なら自分でフォーム書くとか。
0034デフォルトの名無しさん
2007/02/07(水) 08:14:36になります。より精度の高いマルチスレッド タイマが必要な場合は、System.Timers 名前
空間の Timer クラスを使用してください。
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.ja/CPref17/html/T_System_Windows_Forms_Timer.htm
0035デフォルトの名無しさん
2007/02/07(水) 08:49:56なんでモーダルウィンドウだとそうなるんですか?
0036デフォルトの名無しさん
2007/02/07(水) 09:06:590037デフォルトの名無しさん
2007/02/07(水) 09:13:59質問スレで「考えろ」って回答はありえないんですけど
0038デフォルトの名無しさん
2007/02/07(水) 09:20:410039デフォルトの名無しさん
2007/02/07(水) 09:22:58>>34嫁
0040デフォルトの名無しさん
2007/02/07(水) 09:55:45初心者なんだからさ
マルチスレッドとか意味わかんね
ツールボックスにあるTIMERじゃだめなわけ?
0041デフォルトの名無しさん
2007/02/07(水) 10:06:18はい次
0043デフォルトの名無しさん
2007/02/07(水) 10:54:58軽いくて止まらない処理ならタイマー使えば良いし
タイマーの誤差範囲より長い時間で正確な時間取りたいのなら
タイマーの中で更に正確な時間読み出して使えば良い
ただ、良く分からないで初心者がいきなりガンダムを操縦するのは無理だな
0044デフォルトの名無しさん
2007/02/07(水) 11:26:25なんだって?
>>43
そういうことじゃなくて
messageshowやるとその後のコードが実行されないってことを
言ってるわけ
0045デフォルトの名無しさん
2007/02/07(水) 11:30:22OKボタンをクリックすれば続きが実行されるよo(^−^)o
0046デフォルトの名無しさん
2007/02/07(水) 11:36:58>>43
の言ってる事の意味を理解してない・・・・
0047デフォルトの名無しさん
2007/02/07(水) 11:47:56つまり止まるって事は、何らかの関数を呼んだら
あるイベントが発生するまで待ち状態になり、その関数から返って来ない事を指す
そんなもんはタイマーじゃ使っちゃいけないって事
0048デフォルトの名無しさん
2007/02/07(水) 13:22:59一般的にはどのように行うものなのでしょうか?
0049デフォルトの名無しさん
2007/02/07(水) 13:35:30foreach( ListViewItem item in listView1.SelectedItems )
{
...
}
0050デフォルトの名無しさん
2007/02/07(水) 13:37:552 ぬるぽ B
3 ぬるぽ C
こんな感じに並んでいて、2の行がダブルクリックされた際に
「2」でも「ぬるぽ」でも「B」でもいいのでこのクリックされた行に関する情報を得たいです。
0051デフォルトの名無しさん
2007/02/07(水) 13:54:57{
if( this.listView1.SelectedItems.Count > 0 )
{
ListViewItem item = this.listView1.SelectedItems[0];
string str = "";
for( int i = 0; i < item.SubItems.Count; i++ )
{
str += item.SubItems[i].Text + ", ";
}
MessageBox.Show( str );
}
}
0052デフォルトの名無しさん
2007/02/07(水) 13:58:54うまくいきました。
お手数おかけしました。
どうもありがとうございます。
0053デフォルトの名無しさん
2007/02/07(水) 15:55:37標準でReadFloatが入ってないのも不思議だが・・・
0054デフォルトの名無しさん
2007/02/07(水) 16:12:490055デフォルトの名無しさん
2007/02/07(水) 16:20:50�d
それでいけました。
ReadFloatって名前じゃなかったのね。
0056デフォルトの名無しさん
2007/02/07(水) 19:41:47○○行目から読み込む、
又は
○○の文字列の後から読み込むなど。
よろしくお願いします
0057デフォルトの名無しさん
2007/02/07(水) 19:49:59考えれば分かると思うが…
普通に読み込んでいらない行を捨てていくだけ。
0058デフォルトの名無しさん
2007/02/07(水) 20:28:55そんなわけねーだろwカス
>>56
できるよ
0059デフォルトの名無しさん
2007/02/07(水) 20:32:30IndexOfで指定の文字列検索して、そのあとから読む
って出来るかと思ったのですが。。
すみません、超初心者の発想でした
行削除でやってみます。
0060デフォルトの名無しさん
2007/02/07(水) 20:33:54教えてください!
0061デフォルトの名無しさん
2007/02/07(水) 20:35:270062デフォルトの名無しさん
2007/02/07(水) 20:39:30一旦ReadToEndで読み込んで、IndexOfで文字列検索して・・・
の後どうすれば?
0063デフォルトの名無しさん
2007/02/07(水) 20:46:49ReadLineで一行ずつチェックしていったほうがいい気はする
0064デフォルトの名無しさん
2007/02/07(水) 20:59:15テキストファイルの中身は(int,int,string)のデータが
1行につき1つずつ入ってます。
そのテキストファイルを一行ずつ読み込んで、
構造体配列に格納していきたいんですけど、
最初の7行はいらないんです。8行目から処理したいんですが。
0065デフォルトの名無しさん
2007/02/07(水) 21:00:250066デフォルトの名無しさん
2007/02/07(水) 21:26:37ありがとうございます!
0067デフォルトの名無しさん
2007/02/07(水) 21:41:51textreaderも知らないのかよ・・・
読み込むポインタを指定すれば途中から読み込める
0068デフォルトの名無しさん
2007/02/07(水) 21:44:440069デフォルトの名無しさん
2007/02/07(水) 21:47:02TextReaderはそのポインタとやらを進める方法は読み捨てしかないんだが
0070デフォルトの名無しさん
2007/02/07(水) 21:50:09煽ってるやつも初心者だから救いようがない
0071デフォルトの名無しさん
2007/02/07(水) 22:20:360072デフォルトの名無しさん
2007/02/07(水) 23:51:04恥かかないように一生懸命調べなされ
0073デフォルトの名無しさん
2007/02/08(木) 00:27:080074デフォルトの名無しさん
2007/02/08(木) 01:11:47資料がなくて困っています・・・・
winmm.dllを用いたソースを入手したのですが、
如何せん「仕様書」のようなものがないもので・・・・
0075デフォルトの名無しさん
2007/02/08(木) 01:16:46APIの使い方ならMSDNに載ってるけど
http://msdn2.microsoft.com/ja-jp/library/ms712038(en-us).aspx
0076デフォルトの名無しさん
2007/02/08(木) 01:25:05あーあるんですねー
英語だからって敬遠して探してませんでした。
読んでみます。どうもです。
0077デフォルトの名無しさん
2007/02/08(木) 02:05:28ttp://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/packetbell/packetbell-win-0.1/src/Midi.cs
このソースを使う上で役に立つのでしょうか??
0078デフォルトの名無しさん
2007/02/08(木) 02:08:250079デフォルトの名無しさん
2007/02/08(木) 02:13:38ちょっと定義がいい加減だなあ。動くんだろうけど
0080デフォルトの名無しさん
2007/02/08(木) 02:15:32Openしていろんなメソッドに変数渡してみてるんですが・・・・・
0081デフォルトの名無しさん
2007/02/08(木) 02:17:380082デフォルトの名無しさん
2007/02/08(木) 02:17:470083デフォルトの名無しさん
2007/02/08(木) 02:33:19渡した値が悪いのかな??
0084デフォルトの名無しさん
2007/02/08(木) 02:34:180085デフォルトの名無しさん
2007/02/08(木) 02:46:230086デフォルトの名無しさん
2007/02/08(木) 13:04:36RunWorkerCompleted イベントはUIスレッドで実行されるみたいですが、
そっちのUIスレッドで何かのメソッドが実行中の場合ってどうなるんでしょうか。
実行中のメソッドが終了してからRunWorkerCompleted が実行されるんでしょうか。
またRunWorkerCompleted イベントの時点でフォームが閉じていた場合の
常套処理ってありますか?
form.IsHandleCreatedをみるだけでいいんでしょうか。
0087デフォルトの名無しさん
2007/02/08(木) 13:48:54Worker が生きてるときは Closing でキャンセルして、終了待機状態に。
Completed イベントで終了待機中なら閉じると処理してやる。
008886
2007/02/08(木) 14:41:050089デフォルトの名無しさん
2007/02/08(木) 14:48:50(´・ω・`)
>>87
ありがとうございます。
するとRunWorkerCompleted イベント中の処理って
やっぱりUIスレッドがビジーの間は待たされるということですか
メッセージキューみたいなイメージでいいんですかね?
0090デフォルトの名無しさん
2007/02/08(木) 19:10:55最近C#を勉強しだしたんですが、継承もとのオブジェクトが継承先のオブジェクトに代入をなぜ出来る
のかが、わかりません。継承したクラスが継承したクラスの情報を持っているのはわかるんですが
継承されたクラスは継承したクラスの情報は持ってない、というか分からないと思うんですが。
以下のソースはいったい内部でどういう処理がおこなわれているんでしょうか、すいませんが教えてください。
using System;
public class TestClass1
{public virtual void show(){Console.WriteLine("TestClass1");}}
public class TestClass2 : TestClass1
{ public override void show(){Console.WriteLine("TestClass2");}}
class virtualmethodtest
{public static void Main(){
TestClass2 mc2 = new TestClass2();
TestClass1 mc1 = new TestClass1();
TestClass1 mct;
mct = mc1;
mct.show();
mct = mc2;//ここが分からないです。
mct.show();
}}
0091デフォルトの名無しさん
2007/02/08(木) 19:36:33実際はそんなものじゃないのです。
代入してもベースのオブジェクトのメモリに押し込まれるわけでありません。
拡張した部分が削られるわけではないのです。
Cやってたらわかるかも知れないけどmc1とかはポインタみたいなものです。
どこにオブジェクトの本体があるか指しているだけ。
だからサイズは気にする必要なし。
どちらかというと逆の大きいものに小さいもの入れるほうが問題がある。
なぜかというと拡張した部分に該当する箇所が無くデータが不足するものが
出る場合があるからから。
0092デフォルトの名無しさん
2007/02/08(木) 19:40:19「田中さん」を「人間」として扱うのと一緒
0093デフォルトの名無しさん
2007/02/08(木) 19:46:06オブジェクトのサイズから言うとベースのほうが大体小さい。
0094デフォルトの名無しさん
2007/02/08(木) 21:16:490095デフォルトの名無しさん
2007/02/08(木) 21:52:42クロマニヨン人を我々人類の祖先と考えている人が多数おられますが、
そんな人たちは、高校で生物の授業をまともに受けてない人たちだと思います。
クロマニヨン人も北京原人もアウストラロピテクスもホモハビリスも
我々人類と血縁関係は「ありません」。というのが通説です。
生物進化の過程でさまざまな人類のパターンが地上に現れました。
クロマニヨン人と同時代に我々人類の祖先が既に存在していたと思われる
証拠が微々たるものではありますが北から西にかけてヨーロッパの各地で
見つかっております。決してクロマニヨン人から人類の祖先が誕生した
わけではありません。それぞれの時代の代表的な化石人類はすべて、
衰退して別の化石人類にバトンタッチをするわけですが、その時代と時代の境目が
「ミッシングリング」(見つからない世代のつながり)になっており、現在でも
よく分かっておりません。ただいえることは、ある世代にABCと三種の人類の
パターンが誕生して繁栄したのはAであったとすると、次の世代ではDEFの
パターンが現れ、それらはBCの子孫である可能性が高く、Aは子孫を残さなかった。
と考えられており、クロマニヨン人をはじめ著名な化石人類は全て子孫を残さず、
同世代の名も無き種が子孫を残し、それが我々の祖先であると考えられております。
0096デフォルトの名無しさん
2007/02/08(木) 22:24:430097デフォルトの名無しさん
2007/02/08(木) 23:21:410098デフォルトの名無しさん
2007/02/08(木) 23:22:270099デフォルトの名無しさん
2007/02/09(金) 01:07:54それ古い情報だよw
今はDNA解析も済んで、人間のルーツは解明してる
ネアンデルも北京原人も人間の直結の先祖じゃない
ばーか^^
0100デフォルトの名無しさん
2007/02/09(金) 01:50:59生 物 の 時 間 終 了
0101デフォルトの名無しさん
2007/02/09(金) 02:57:51おまえ何歳なんだよ
0102デフォルトの名無しさん
2007/02/09(金) 09:13:19Form1.Designer.csというファイル名で保存
// Form を表示する
public class Form1
{
Form2 form2 = new Form2() ;
form2.Show() ;
}
public class Form2
{
/* Form1 と並行操作できる処理 */
}
しかし2エラー
エラー1名前空間にフィールドやメソッドのようなメンバを直接含めることはできません。C:\Documents and Settings\ta\My Documents\Visual Studio 2005\Projects\Project1\Project1\Form1.Designer.cs31Project1
エラー2クラス、デリゲート、列挙型、インターフェイス または構造体が必要です。C:\Documents and Settings\ta\My Documents\Visual Studio 2005\Projects\Project1\Project1\Form1.Designer.cs315Project1
0103デフォルトの名無しさん
2007/02/09(金) 09:31:06using System.Drawing;
using System.Windows.Forms;
class Program
{
public static void Main()
{
Form f = new Form();
f.Width = 200;
f.Height = 200;
f.Text = "サンプルプログラム";
Application.Run(f);
}
}
調べた、こうやれば表示できるた
上のサイトはいったい何だったんだ
0104デフォルトの名無しさん
2007/02/09(金) 09:45:510105103
2007/02/09(金) 09:47:200106デフォルトの名無しさん
2007/02/09(金) 10:05:03かなり省略して書いてある。
分かる人にはこんなサンプル必要ないし、
分からない人にはこれだけでは分からないからまったく意味のないサンプルコード。
答え:VisualC# ExpressEditionをインストールしろ
0107デフォルトの名無しさん
2007/02/09(金) 10:08:39どうせならこういう名前にすればよかったのにな
なんかかわいいじゃん
0108デフォルトの名無しさん
2007/02/09(金) 10:10:250109デフォルトの名無しさん
2007/02/09(金) 10:11:100110デフォルトの名無しさん
2007/02/09(金) 10:18:54初心者には、そのままコピペが多いし
0111デフォルトの名無しさん
2007/02/09(金) 13:44:52C(#゚Д゚)
⊂ つ
〜 |
し`J
0112デフォルトの名無しさん
2007/02/09(金) 13:46:410113デフォルトの名無しさん
2007/02/09(金) 15:32:33これひどいな
コメントが紛らわしいからこういう構文があるのかと思っちゃう
0114デフォルトの名無しさん
2007/02/09(金) 16:56:400115デフォルトの名無しさん
2007/02/09(金) 17:00:00ICollection.Count
IDictionary.Keys
IList.IsReadOnly
0116デフォルトの名無しさん
2007/02/09(金) 20:53:59tabcontrolのtabpageをアクティブにするのって
Focus()で出来ないんですか?
おしえてくだだい
0117116
2007/02/09(金) 20:55:090118デフォルトの名無しさん
2007/02/09(金) 20:55:40TabControl.SelectedIndex/TabControl.SelectedTabでもつかっとけ
0119デフォルトの名無しさん
2007/02/09(金) 20:56:03偽者乙
0120デフォルトの名無しさん
2007/02/09(金) 20:57:57ありがとうございます。
VSで予測候補だしてくれますよね。
あれって全てでるんですか?(使用可な状態なら)
0121デフォルトの名無しさん
2007/02/09(金) 21:03:01インテリセンスのことか?
普通に使う範囲では全部出ると思うよ。
0122デフォルトの名無しさん
2007/02/09(金) 21:06:32TabControl.SelectedIndex/TabControl.SelectedTab
こんなの無かったとおもうんですけど・・
0123デフォルトの名無しさん
2007/02/09(金) 21:08:02すっ飛んでるアイコンのコードを選ぶんですよね?
0124デフォルトの名無しさん
2007/02/09(金) 21:09:28それはメソッド
>>118はプロパティ
0125デフォルトの名無しさん
2007/02/09(金) 21:12:01ありがとうございます
0126デフォルトの名無しさん
2007/02/09(金) 21:12:400127デフォルトの名無しさん
2007/02/09(金) 21:16:260128デフォルトの名無しさん
2007/02/09(金) 21:23:580129デフォルトの名無しさん
2007/02/09(金) 21:50:360130デフォルトの名無しさん
2007/02/09(金) 21:57:000131デフォルトの名無しさん
2007/02/09(金) 21:57:010132デフォルトの名無しさん
2007/02/09(金) 21:59:30ファイルを一旦byte配列に4kBずつ読んで、
TransformBlock(とTransformFinalBlock)に流し込むやりかたはどう?
0133デフォルトの名無しさん
2007/02/09(金) 22:00:36別のクラスで出来そうなの探してみます
0134デフォルトの名無しさん
2007/02/09(金) 22:04:07その方法を試してみます
連レスすみません
0135デフォルトの名無しさん
2007/02/09(金) 22:05:250136デフォルトの名無しさん
2007/02/10(土) 15:23:400137デフォルトの名無しさん
2007/02/10(土) 18:07:34つけようと思うのですが、Delphi や C++Builder でいう、
TAction のようなクラスはないんでしょうか?
0138デフォルトの名無しさん
2007/02/10(土) 20:33:32たまに放置もあるけど。
0139デフォルトの名無しさん
2007/02/10(土) 21:57:33単にDictionary<ToolStripItem>に入れといてShortcutKeysプロパティをいじるのではダメなの?
0140デフォルトの名無しさん
2007/02/11(日) 13:31:39ここは「C#」のスレそして「くだすれ」では無い
寂しがり屋さんは馴れ合い系に逝って下さい
0141デフォルトの名無しさん
2007/02/11(日) 15:53:290142デフォルトの名無しさん
2007/02/11(日) 16:03:170143デフォルトの名無しさん
2007/02/11(日) 16:18:32C# : C++
ということにしたいらしい
0144デフォルトの名無しさん
2007/02/11(日) 18:05:31public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void 終了menu(object sender, EventArgs e)
{
this.Close();
}
}
終了menuのイベント追加したんだが
コピー、切り取り、貼り付けなどなど、
項目が増えるとソースが見づらくなると思うのだがスッキリする方法はないのだろうか?
0145デフォルトの名無しさん
2007/02/11(日) 18:08:130146デフォルトの名無しさん
2007/02/11(日) 18:11:44VC#ってpartialに対応して無いでしょ?
デザインから飛べなくなるよ?
0147デフォルトの名無しさん
2007/02/11(日) 18:21:50それがさ。ちょっとした裏技があって、csprojを弄って
<Compile Include="Form1.Menu.cs">
<DependentUpon>Form1.cs</DependentUpon>
</Compile>
としておくと、デザイナがちゃんと補足してくれるんだよ
0148デフォルトの名無しさん
2007/02/11(日) 18:23:21うはw知らんかった。
マジでありがとう
0149デフォルトの名無しさん
2007/02/11(日) 18:52:13とかしたとき、aは0で初期化されてたりする?
0150デフォルトの名無しさん
2007/02/11(日) 19:01:330151デフォルトの名無しさん
2007/02/11(日) 19:44:18俺も前それやりたかったけどわからなかった。
いい事聞いた。ありがとう。
0152デフォルトの名無しさん
2007/02/11(日) 19:47:050153デフォルトの名無しさん
2007/02/11(日) 20:01:19それじゃコミット時にチェックするのめんどくさくね?
0154デフォルトの名無しさん
2007/02/11(日) 20:13:50MSクオリティっていうかユーザの意思と関係なく
なんかの拍子に勝手に開いたりするからいまひとつ使いづらいよな。
0155デフォルトの名無しさん
2007/02/11(日) 20:51:310156デフォルトの名無しさん
2007/02/11(日) 20:57:070157デフォルトの名無しさん
2007/02/11(日) 21:00:51それとも、Cとかみたいな感じ?
0158デフォルトの名無しさん
2007/02/11(日) 21:03:09今M$が.NET辞めるって言ったら終わるんじゃね?w
0159デフォルトの名無しさん
2007/02/11(日) 21:03:57MSがやめるって言えば存在価値がなくなるな。
0160デフォルトの名無しさん
2007/02/11(日) 21:10:47Cシャープ→csya-pu
のような感じで。
0161デフォルトの名無しさん
2007/02/11(日) 21:26:43っ KAKASI, ChaSen
0162デフォルトの名無しさん
2007/02/11(日) 21:29:150163デフォルトの名無しさん
2007/02/11(日) 21:33:230164デフォルトの名無しさん
2007/02/11(日) 21:39:43Actionクラスくらい自作しれ
0165デフォルトの名無しさん
2007/02/11(日) 21:41:180166160
2007/02/11(日) 21:44:27BackSpaceとかDeleteとかどうすんだろ
0167デフォルトの名無しさん
2007/02/11(日) 21:46:010168デフォルトの名無しさん
2007/02/11(日) 21:51:19基本はimm32を叩く。
キー入力とるのは、クリップボードや範囲選択DELをうまく扱えないのであまり美味しくない。
0169デフォルトの名無しさん
2007/02/11(日) 21:56:080170デフォルトの名無しさん
2007/02/11(日) 22:05:250172デフォルトの名無しさん
2007/02/11(日) 22:14:250173デフォルトの名無しさん
2007/02/11(日) 22:35:47http://forums.microsoft.com/TechNet-JA/ShowPost.aspx?PostID=766696&SiteID=36
0174デフォルトの名無しさん
2007/02/11(日) 22:48:58ttp://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=456214&SiteID=7
0175デフォルトの名無しさん
2007/02/11(日) 23:32:55サンプル
0176デフォルトの名無しさん
2007/02/12(月) 00:51:44http://www.codeproject.com/
http://www.codeproject.com/csharp/actionlistprovider.asp
http://www.codeproject.com/cs/miscctrl/CradsActions.asp
:
0177デフォルトの名無しさん
2007/02/12(月) 12:56:520178デフォルトの名無しさん
2007/02/12(月) 13:07:07System.Text.Encoding に GetByte とかがあったと思う。
0179デフォルトの名無しさん
2007/02/12(月) 13:15:02Encoding.GetBytes で MemoryStream に書き込むのが基本か
0180デフォルトの名無しさん
2007/02/12(月) 13:17:260181デフォルトの名無しさん
2007/02/12(月) 13:22:040182デフォルトの名無しさん
2007/02/12(月) 13:30:130183デフォルトの名無しさん
2007/02/12(月) 14:33:50それからして分かんないんだけど・・・
分かりやすく解説したドキュメントってある?
0184デフォルトの名無しさん
2007/02/12(月) 14:36:14http://msdn2.microsoft.com/ja-jp/library/s1ax56ch(VS.80).aspx
http://msdn2.microsoft.com/ja-jp/library/ya5y69ds(VS.80).aspx
このあたりか?
0185デフォルトの名無しさん
2007/02/12(月) 14:42:15データアダプタでUpdateメソッドを使用したいのですが、
インサート、アップデート、デリート事に、
データアダプタをインスタンス化しなければいけないのでしょうか?
0186デフォルトの名無しさん
2007/02/12(月) 15:23:470187デフォルトの名無しさん
2007/02/13(火) 10:06:48using System.IO;
using System.CodeDom;
using System.CodeDom.Compiler;
public class test {
static void Main(string[] arg) {
CodeDomProvider cdp = new Microsoft.CSharp.CSharpCodeProvider();
CodeCompileUnit ccu = cdp.Parse(new StringReader(arg[0]));
}
}
これが
ハンドルされていない例外: System.NotImplementedException: CodeDomProvider はこのメソッドをサポートしません。
場所 System.CodeDom.Compiler.CodeDomProvider.CreateParserHelper()
場所 System.CodeDom.Compiler.CodeDomProvider.Parse(TextReader codeStream)
場所 test.Main(String[] arg)
こういうエラーになるんですが、「このメソッド」とは一体なんのことなんでしょうか?
0188デフォルトの名無しさん
2007/02/13(火) 10:41:17static
0189デフォルトの名無しさん
2007/02/13(火) 10:54:31ん、どういう意味ですか?
0190デフォルトの名無しさん
2007/02/13(火) 11:04:54CSharpCodeProvider.Parseは実装されてないよ
0191デフォルトの名無しさん
2007/02/13(火) 11:10:11え、そうなんですか?ドキュメントにはちゃんと
2.0から追加されましたと書いてあるんですが・・・
0192デフォルトの名無しさん
2007/02/13(火) 11:34:21メソッドが追加されただけ。
0193デフォルトの名無しさん
2007/02/13(火) 11:37:59同じUPDATE, INSERT, DELETEを何度も発行するという話なら
privateのインスタンスを最初に1回作ればokです。
そのインスタンスに全ほにゃららCommandプロパティを
設定しておきます。
普通SELECTとUPDATE, INSERT, DELETEは一組だと思うので
その組ごとにデータアダプタを作ります。
0194デフォルトの名無しさん
2007/02/13(火) 14:43:30<Database>
<Table>
<ID>1</ID>
<Week>
<Sunday>false</Sunday>
<Monday>true</Monday>
</Week>
</Table>
</Database>
↑のようなXMLファイルをDataSetのReadXmlで読み込んだ場合、
WeekのSundayのデータを取得するにはどうしたらいいんでしょうか?
0195194
2007/02/13(火) 14:58:490196デフォルトの名無しさん
2007/02/13(火) 21:45:55というプログラムをVS2005で書いているのですが、
いちいちファイルを開いて再生していると時間のロスが心配でメモリに読み込む仕様にしてみました。
Form1_Loadで、用意されたファイルをbyte[] subbufに読み込んで、ファイル数分回しながらbyte[][] bufにぶち込んでみました。
イベントを用いて押されたキーの入力を待ち
入力があった場合byte[][] bufを呼び出したいのですが
どのような設計にすればいいのでしょうか?
0197デフォルトの名無しさん
2007/02/13(火) 21:49:500198デフォルトの名無しさん
2007/02/13(火) 21:53:51byte[] を GCHandleType.Pinned でピン留めしとかんとまずいぞ
0199デフォルトの名無しさん
2007/02/13(火) 22:57:180200デフォルトの名無しさん
2007/02/13(火) 23:30:590201デフォルトの名無しさん
2007/02/13(火) 23:33:300202デフォルトの名無しさん
2007/02/14(水) 04:54:55馬鹿な質問いいですか?
参照設定しているDLLファイルがあるのですが
今はEXEと同じフォルダに置いて実行させています
これをEXEの中に取り込んで単独実行化させることは可能でしょうか?
おねがいします
0203デフォルトの名無しさん
2007/02/14(水) 07:34:100204デフォルトの名無しさん
2007/02/14(水) 10:24:170205デフォルトの名無しさん
2007/02/14(水) 11:32:24FTPサーバーにつなげてテストしてみました。
ログインはできた(USERなどのコマンドは受け付けた)のですが、
ログイン後、"PASV"コマンドを実行したら例外エラーになってしまいます。
どうやらコマンドを受け付けないようです。
FFFTPを使って、そのFTPサーバーは"PASV"を受け付けるかやってみましたが、
何の問題もなく受け付けました。
コード上でも"PASV"をコマンドすれば何の問題もなく"227"のコードが
返ってくると思ったのですが・・・
PASVを受け付けさせるためにはもう一つ何か処理を加えないといけないの
でしょうか?
0206デフォルトの名無しさん
2007/02/14(水) 11:40:530207デフォルトの名無しさん
2007/02/14(水) 11:47:18他に方法いくらでもあるのに・・・
0208205
2007/02/14(水) 11:54:43"PASV"はStreamWriter型のWriteLine()とFlush()を
使ってコマンド実行しようとしています。この方法で
ログインまではできたので、"PASV"も大丈夫だと思ったのですが・・・
実現したいことは2つのFTPサーバーにつなげて、一方に"PASV"、
もう一方に"PORT"でつなげて、PASVからPORTへファイルを転送
したいと思っています。
0209デフォルトの名無しさん
2007/02/14(水) 12:04:21サーバが受け付けてくれないんじゃなくて、プログラムが落ちてるんだと思うけど。
その catch した Exception の中を見れば何が起ってるのかわかるべ。
0210デフォルトの名無しさん
2007/02/14(水) 12:34:03むかし、カップラーメン買ってきてって頼まれて、
カップヌードル買っていったら、これ嫌いなんだよ!と怒られたのを思い出した。
カップラーメンだけじゃわからんっての。
0211205
2007/02/14(水) 13:16:57ありがとうございます。
ログインした後、以下の関数によりPASVモードにしようとしています。
public int Pasv_Ftp(){
protected StreamWriter clientWriter = null;
protected StreamReader clientReader = null;
try{
clientWriter.WriteLine("PASV");
clientWriter.Flush();
string str = clientReader.ReadLine();
if (!str.StartsWith("227")){
return 0;}
return 1;
}
catch (Exception){return 2;}
}
0212デフォルトの名無しさん
2007/02/14(水) 13:22:52だから〜
> catch (Exception){return 2;}
> }
↑ここで catch してる Exception の中身を調べろって言ってんの。
0213205
2007/02/14(水) 13:32:49ありがとうございます。早速調べてみます。
0214デフォルトの名無しさん
2007/02/14(水) 15:03:44そんなんだったら try する意味ないじゃん。
0215デフォルトの名無しさん
2007/02/14(水) 16:24:320216デフォルトの名無しさん
2007/02/14(水) 16:34:290217デフォルトの名無しさん
2007/02/14(水) 16:34:52クンクン匂い嗅ぎたいお
0218デフォルトの名無しさん
2007/02/14(水) 16:35:330219デフォルトの名無しさん
2007/02/14(水) 16:41:120220デフォルトの名無しさん
2007/02/14(水) 16:42:32だ、、だ、ダメかな?
おっぱいモミモミしたいお^^;;;
0221デフォルトの名無しさん
2007/02/14(水) 16:43:420222デフォルトの名無しさん
2007/02/14(水) 16:47:520223デフォルトの名無しさん
2007/02/14(水) 17:28:020224デフォルトの名無しさん
2007/02/14(水) 17:39:230225デフォルトの名無しさん
2007/02/14(水) 18:20:300226デフォルトの名無しさん
2007/02/14(水) 18:26:07StreamWriter,Readerはそんな変なコードで動くの????
StreamWriter使わないからしらないけど、
ログインしたストリームはどうやってもらってるの?
=null なんてやってたらどうやっても動きそうにないが?
0227デフォルトの名無しさん
2007/02/14(水) 18:45:03nullで動くわけ無いだろ
0228デフォルトの名無しさん
2007/02/14(水) 18:52:550229デフォルトの名無しさん
2007/02/14(水) 18:54:160230デフォルトの名無しさん
2007/02/14(水) 18:59:240231デフォルトの名無しさん
2007/02/14(水) 19:04:03Type[] typ = asm.GetTypes();
このコードで独自DLLを参照に加えてるexeを読み込もうとすると、GetTypesの所で
実行側のディレクトリにDLLがねーよバーカって怒られるんですが、読み込み元の
ディレクトリからDLLを読み込むにはどうしたらいいでしょうか?
0232デフォルトの名無しさん
2007/02/14(水) 19:04:480233デフォルトの名無しさん
2007/02/14(水) 19:32:51どうすりゃいいんだよ。
0234デフォルトの名無しさん
2007/02/14(水) 19:38:30ttp://www.atmarkit.co.jp/fdotnet/dotnettips/438winsettings/winsettings.html
0235デフォルトの名無しさん
2007/02/14(水) 19:39:540236デフォルトの名無しさん
2007/02/14(水) 21:02:48それはやってんだけどなあ、バグなのかな。
SP1入れてみようかな。
0237デフォルトの名無しさん
2007/02/14(水) 22:19:31参照してるDLLを先にロードしとけ。
まあ他のことでトラブっても知らんがね。
0238デフォルトの名無しさん
2007/02/15(木) 06:42:23Refresh() 以外にもTimer.Start() や Tickイベントが
起こるたびに再描画されますか?
0239デフォルトの名無しさん
2007/02/15(木) 06:46:460240238
2007/02/15(木) 07:03:10使ってないにも関わらず再描画されてる部分があって、後者の場合は
タイミング的にそこら辺で再描画も同時に行われてるかと思ったんで、、
ちなみに「プログラムを作ろう!パソコン教科書」という本です。
0241デフォルトの名無しさん
2007/02/15(木) 08:21:120242デフォルトの名無しさん
2007/02/15(木) 08:42:400243デフォルトの名無しさん
2007/02/16(金) 01:22:07文字列を挿入するにはどのようにすればいいのでしょうか?
「いったんクリップボードにデータを入れろ」というサイトを見つけてやって
みたのですが、この方法だとドロップした位置ではなく、ドラッグ開始直前の
キャレット位置に文字列が挿入されてしまい訳わかめです(><)
0244デフォルトの名無しさん
2007/02/16(金) 01:22:49他のアプリのウィンドウと重なった後や、リサイズ・最大・最小化等でも起こる。
ようはタイミングなんて気にしたらイカン。
0245デフォルトの名無しさん
2007/02/16(金) 01:43:36DropでGetCharIndexFromPosition とかで場所から文字のインデックスとって
SelectionStart, SelectionLength でカーソル移動してペースト
でいけないかしら?
0246デフォルトの名無しさん
2007/02/16(金) 01:46:42textBox1.AllowDrop = true;
textBox1.DragEnter += delegate(object sender, DragEventArgs e) {
e.Effect = e.Data.GetDataPresent(DataFormats.UnicodeText) ? DragDropEffects.Copy : DragDropEffects.None;
};
textBox1.DragOver += delegate(object sender, DragEventArgs e) {
TextBox textBox = sender as TextBox;
textBox.Select(textBox.GetCharIndexFromPosition(textBox.PointToClient(new Point(e.X, e.Y))), 0);
};
textBox1.DragDrop += delegate(object sender, DragEventArgs e) {
if (e.Data.GetDataPresent(DataFormats.UnicodeText))
(sender as TextBox).SelectedText = (String)e.Data.GetData(DataFormats.UnicodeText);
};
こんなもんか。このままだと最後の文字の後ろにドロップできないが、その辺は適当になんとかしてくれ
0247デフォルトの名無しさん
2007/02/16(金) 01:50:38DragOverしたら選択状態が変わらんか?
0248デフォルトの名無しさん
2007/02/16(金) 01:59:54ご返答ありがとうございます。
書き忘れましたが実は.NET1.1なんです。
上記を試してみたのですが、TextBoxにGetCharIndexFromPositionが無いようです。。。
で、GetCharIndexFromPositionがRichTextBoxにあるようなのでTextBoxから
置き換えて試してみています。
プロパティドラッグ&ドロップらしきものが無いようなので方法を調べてみて
わからなかったら再度お願いします
0249デフォルトの名無しさん
2007/02/16(金) 02:03:17選択解除されるがキャレットを自前描画しなくてよくなる。
0250デフォルトの名無しさん
2007/02/16(金) 02:07:050251デフォルトの名無しさん
2007/02/16(金) 02:13:36RichTextBoxのAllowDropをTrueとしてみましたが、反応ないようです。
0252デフォルトの名無しさん
2007/02/16(金) 02:17:580253デフォルトの名無しさん
2007/02/16(金) 02:32:04イベントハンドラを手動で追加したら動きました。
>>246さんのコードをベースにDrop部分をクリップボード経由にしたところ、
末尾入力も出来るようになりました。
private void richTextBox1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) {
Clipboard.SetDataObject(e.Data.GetData(DataFormats.Text).ToString());
richTextBox1.Paste();
}
皆さん、本当にありがとうございました。
0254デフォルトの名無しさん
2007/02/16(金) 05:46:37これをプログラム本体に埋め込むことは出来ますか?
画像はresxgenで埋め込めたんですが、・・・
0255デフォルトの名無しさん
2007/02/16(金) 07:27:490256デフォルトの名無しさん
2007/02/16(金) 10:38:51ToolStripButtonで、文字を表示しようと思ってるんですが
うまくいかず。
TextImageRelationプロパティをいろいろ変えてみたんですが出ず、
Overlayで重ねたいんですが、Textが現われんです。
なんかコードで操作必要なんでしょうか。
0257デフォルトの名無しさん
2007/02/16(金) 10:58:500258デフォルトの名無しさん
2007/02/16(金) 11:02:30あー、それか、わかりますた。
助かりましたです、ドモ!!
0259デフォルトの名無しさん
2007/02/16(金) 13:25:582005ならプロジェクトのプロパティのリソースのページで追加するだけ
0260デフォルトの名無しさん
2007/02/16(金) 18:27:12ObjectDataSourceを使ってオラクルのデータをGridViewに表示しています。
SelectMethodには、DataTableを返すGetData()を登録しているのですが、
ObjectDataSource.Select()という一回の呼び出しで、なぜかGetData()が2度
実行されてしまいます。
どなたかこの現象についてご教授願えないでしょうか?
0261デフォルトの名無しさん
2007/02/16(金) 22:46:49WEB UI触ったことないが、これかな?
>ObjectDataSource.Select メソッド
>データ バインド コントロール
>ObjectDataSource コントロールが GridView コントロールなどのデータ バインド
>コントロールに関連付けられている場合、ページ コードから Select メソッドを呼び出す
>必要はありません。
>Select メソッドは、データ バインド コントロールによって直接呼び出されます。
0262デフォルトの名無しさん
2007/02/17(土) 01:12:35すいませんIDE使わない方法はありませんか?
0263デフォルトの名無しさん
2007/02/17(土) 01:29:45あるいはResourceWriterつかって自作するか。
0264デフォルトの名無しさん
2007/02/17(土) 07:06:21いろいろ調べてみたのですが、よく分からないので教えてください。
基本的にVS2002やVS2003で開発したものは1.1で動くので、1.0をアンインストール
してもかまわない。VS2005で開発したものは2.0と3.0で動くが、3.0は2.0に機能追加
したもので2.0の機能を使うので、3.0だけを入れられない。
という認識で間違いないでしょうか。無駄なものをHDの肥やしにしたくないので、
私のマシンはXpなんですが、1.1、2.0、3.0だけを入れて、1.0を消そうと思っています。
0265デフォルトの名無しさん
2007/02/17(土) 12:54:140266デフォルトの名無しさん
2007/02/17(土) 13:28:12ファイルの種類のフィルターについてなのですが、
このフィルターのプロパティ項目のストリングを弄るだけで、
原理的に変更がなされるはずですよね。
それとも、他のプロパティに関連してるとかそんな事もあるのでしょうか?
自分の場合はストリングをどんなに弄っても、何も変更がなされないのです。
前使ったときはそんな事は無かったのですが、、、。
つまり、以前はフィルタープロパティは直ぐに変更できました。
それとも、これは、何らかのバグなのでしょうか?
0267デフォルトの名無しさん
2007/02/17(土) 13:29:17こんな感じなのですが、、、。
0268デフォルトの名無しさん
2007/02/17(土) 13:33:580269デフォルトの名無しさん
2007/02/17(土) 13:55:22一応自己解決しました。
本当に初歩的なことで、勘違いしてました。
どうも、済みませんでした。
0270デフォルトの名無しさん
2007/02/17(土) 15:36:10灰色になってしまうのはなんとかなりませんか?
0271デフォルトの名無しさん
2007/02/17(土) 15:41:230272270
2007/02/17(土) 15:48:41すばやいレスthxです。
Textboxの背景色はBackgroundImageで白くできたのです。
表示される文字が灰色なのは気のせいってことですな。
0273デフォルトの名無しさん
2007/02/17(土) 18:18:181.0と1.1を共存させるか、1.0を削除するかは
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7233&forum=7
のjittaさんのコメントを参考に考えてみてはどうでしょう。
それと2.0と3.0については
ttp://www.atmarkit.co.jp/fdotnet/insiderseye/20060705teched06boston/teched06boston_01.html
の記事が参考になるでしょう。
個人的な意見としてOSがxpを使用されているということと、VSがまだ完全に3.0に対応していない
という点から、3.0のインストールは時期早々だと思っています。また1.0の削除は、使用マシンが
仕事でつかうものなら止めたほうがいいかもしれません。
0274デフォルトの名無しさん
2007/02/17(土) 18:26:49○時期尚早(じきしょうそう)
0275デフォルトの名無しさん
2007/02/17(土) 20:12:18○不幸のドンゾコ
0276デフォルトの名無しさん
2007/02/17(土) 20:13:32○ギプス
0277デフォルトの名無しさん
2007/02/17(土) 20:54:27//sle_2:旧番号
long Ai=0
string code,old_id
int i
old_id=trim(sle_1.text)
for i=17 to 1 step -1
Ai=Ai+(long(mid(old_id,i,1)))*(mod(2∧((18)-i),11))
next
choose case mod(Ai,11)
case 0
code='1'
case 1
code='0'
case 2
code='x'
case else
code=string((12)-mod(Ai,11))
end choose
sle_2.text=old_id+code
上記のプログラミングの意味を!!
HELP
0278デフォルトの名無しさん
2007/02/17(土) 20:57:580279デフォルトの名無しさん
2007/02/17(土) 21:28:470280デフォルトの名無しさん
2007/02/17(土) 21:34:560281デフォルトの名無しさん
2007/02/17(土) 21:40:31もとは↑ここのです
0282デフォルトの名無しさん
2007/02/17(土) 21:48:010283デフォルトの名無しさん
2007/02/17(土) 21:49:05演算そのもののは大して言語に依存してるわけでもなさそうだしな
しかしこの VB に宣言部だけ C を取り入れたような文法はキモいな
PowerScript とか言う言語らしいが
0284204
2007/02/17(土) 21:53:23有難うございました!((+_+))
0285デフォルトの名無しさん
2007/02/17(土) 22:03:59中国サイトに誘導するな!
ウィルスが怖いじゃないか!!!
0286デフォルトの名無しさん
2007/02/17(土) 22:04:44へえ。調べてみたけどやっぱりキモイなあ
いつからあるのか知らないけれど、類似する言語は山ほどあるのに独自文法を作っちゃうあたり特に…
0287デフォルトの名無しさん
2007/02/17(土) 23:17:33VB2の頃にはもうあった。
0288デフォルトの名無しさん
2007/02/18(日) 00:36:220289デフォルトの名無しさん
2007/02/18(日) 00:39:310290デフォルトの名無しさん
2007/02/18(日) 01:37:22……で何が?
0291デフォルトの名無しさん
2007/02/18(日) 14:34:41VBみたいに使えるようにIDEが頑張ってるだけで
0292デフォルトの名無しさん
2007/02/18(日) 14:44:580293デフォルトの名無しさん
2007/02/18(日) 14:46:02VB.NETのIDEは頑張りすぎだが…
0294デフォルトの名無しさん
2007/02/18(日) 15:51:40ずっとBCBしか触って無くて
はじめて2005でVC#触った時 あまりの手回しの良さに驚いた
こりゃスゲーとおもってVC++を使ってみると intellisenceのあまりの放置加減に…
BCB以下じゃん Ctrl+j Ctrl+j !
0295デフォルトの名無しさん
2007/02/18(日) 15:56:25これに慣れちゃうと他の言語使えなくなるんだけどね
0296デフォルトの名無しさん
2007/02/18(日) 15:58:25w
0297デフォルトの名無しさん
2007/02/18(日) 16:05:570298デフォルトの名無しさん
2007/02/18(日) 16:11:020299デフォルトの名無しさん
2007/02/18(日) 16:23:07クラスの色が変わってくれなかったり
不便なとこもある。
0300デフォルトの名無しさん
2007/02/18(日) 16:35:15一文字も糞も、ドット(.)打った瞬間に出るだろw
VBだろうがC#だろうが
0301デフォルトの名無しさん
2007/02/18(日) 16:46:45どうしてドットが出てくるのかわからない。
0302デフォルトの名無しさん
2007/02/18(日) 16:47:00C#だと、メソッドの中で一文字目をタイプすると型名の候補が表示される。
VBだとキーワード 「Dim」が必要だから、構造的にこれは無理。なのでこれは仕方ない。
C#書いてて便利だと思うのは new の時の型名候補が的確なことかな。
0303デフォルトの名無しさん
2007/02/18(日) 16:51:51VBでもCtrl+Spaceで候補がでてくるんだぞ
0304デフォルトの名無しさん
2007/02/18(日) 16:58:17コンテクストを全く理解してくれず、メソッドの外なのにクラスのプロパティを候補に出したりしよる。
スニペットもマウス使わないと入力できなくて使い物にならん。
0305デフォルトの名無しさん
2007/02/18(日) 17:01:09出るには出るが、知ってる単語を全部表示してくれるじゃん…
0306デフォルトの名無しさん
2007/02/18(日) 17:09:12それってVBでは"as"って打った後と同じ状態に過ぎないのでは?w
0307デフォルトの名無しさん
2007/02/18(日) 17:32:20Catch ex As Exception
End Try
が挿入されたのは衝撃だった
Exceptionをcatchするのは良くないんじゃなかったっけ?
逆に例外の握りつぶしにつながるような…
0308デフォルトの名無しさん
2007/02/18(日) 17:35:32選択肢を上下に移動できないのかね
ホームポジションのまま動かせるといいんだけど
キーカスタマイズにも項目ないし
矢印キーまでいちいち 手を伸ばすのめんどくさいんだよね
選択確定するまで単語うちこめってか
0309デフォルトの名無しさん
2007/02/18(日) 17:40:05禿同
0310デフォルトの名無しさん
2007/02/18(日) 17:41:52大抵のことはホームポジションで出来る。
intellisenseの候補はC-vとかM-vとかでページ単位にスクロールさせてる。
よそ行ったときイラつくのが難点だが。。。
0311デフォルトの名無しさん
2007/02/18(日) 17:59:10muleかじった程度の俺では そこまで変更できん……
Windows標準のCtrl-c,v,x,zなんかは変えたくないし
0312デフォルトの名無しさん
2007/02/18(日) 18:21:33握りつぶし全般が悪いわけじゃないでしょ。
0313281
2007/02/18(日) 20:37:48ごめんなさい・・・
中国のはウイルス多いんですね。
今後注意します。(o_ _)o))
0314デフォルトの名無しさん
2007/02/20(火) 03:42:500315デフォルトの名無しさん
2007/02/20(火) 17:43:37なにから始めればよいでしょうか?
C言語は、printfしか知りません。
すいません。
0316デフォルトの名無しさん
2007/02/20(火) 17:45:19何か既習言語がないなら適当に入門書でも買ってくるといいよ。
0317デフォルトの名無しさん
2007/02/20(火) 18:11:170318デフォルトの名無しさん
2007/02/20(火) 18:29:150319デフォルトの名無しさん
2007/02/20(火) 18:55:43printf(const char*, ...); //関数宣言
0320デフォルトの名無しさん
2007/02/20(火) 18:58:55Write(string format, params object[] arg); //メソッド宣言
0321デフォルトの名無しさん
2007/02/20(火) 19:02:32普通入門書とか買ったり入門サイト見て、それに従って憶えて
分からない所をこことかで聞くものだ
0322デフォルトの名無しさん
2007/02/20(火) 19:05:01お願いします
0323デフォルトの名無しさん
2007/02/20(火) 19:27:09読み込んだstring型の文字列を1行毎(改行コード毎)に処理(とりあえず別のstringにコピー)したいのですが
どのように処理するのが一般的でしょうか?
0324デフォルトの名無しさん
2007/02/20(火) 19:33:17C#でSplit関数の代わりになるものは?: .NET Tips: C#, VB.NET, Visual Studio
http://dobon.net/vb/dotnet/vb2cs/vbsplit.html
0325デフォルトの名無しさん
2007/02/20(火) 19:37:53StringReaderに突っ込んでReadLine
0326デフォルトの名無しさん
2007/02/20(火) 19:40:38�dクス。
ここの通りに試してみます。
0327デフォルトの名無しさん
2007/02/20(火) 19:42:070329デフォルトの名無しさん
2007/02/20(火) 20:40:260330Start ◆C2QJEAJVdg
2007/02/21(水) 07:19:06仕事上C#をやることになりました。
現在、C#の知識は皆無といっても過言でありません。
なので、4月までには少しでも社員に追いつけるように努力します。
なので。これからこのスレにはお世話になると思いますのでよろしくお願いします。
とりあえず、今理解しているのは意味段落・形式段落・本文で成り立っているって
ことです。そのほかにもMainには一定の形があるというのも理解しております
public static void Main(string[] args)
昨日の今日はじめたので今はこれぐらいですが4月までには色々と出来るように
なりたいと思いますのでC#を勉強中の皆様頑張りましょう。
今、変数に関してちょこっと勉強してみたのですがintは整数を表していますよね?
で、doubleは少数。では、stringとあるんですがこれはいったいどうゆうことでしょう?
整数ではt=3の場合は int t=3 なんですがstringはどういった式ができるんでしょうか?
0331デフォルトの名無しさん
2007/02/21(水) 07:32:19入門書買って一通り勉強してからにしてくれ。
0332デフォルトの名無しさん
2007/02/21(水) 07:33:360333デフォルトの名無しさん
2007/02/21(水) 07:34:080334デフォルトの名無しさん
2007/02/21(水) 07:40:270335デフォルトの名無しさん
2007/02/21(水) 07:44:090336デフォルトの名無しさん
2007/02/21(水) 08:08:44PGで飯食っていくなら、入門書かってある程度独学で理解出来なきゃ
役にたたん
0337Start ◆C2QJEAJVdg
2007/02/21(水) 08:23:54入門書は会社から提供されたものがあるんでそれで頑張ります。
>332
ありがとうございます。
>333
釣りじゃないです。
>334
そうですかOrz しかし、そうならないためにも頑張ります。
>335
プログラミング知識は皆無と伝えてあります初めはトライアル雇用として働きます。
>336
はい。昨日の今日はじめたばかりなのでまだまだ理解するところはたくさんありますので
頑張っていきたいと思います。
0338Start ◆C2QJEAJVdg
2007/02/21(水) 08:27:21ttp://www12.plala.or.jp/dokugaku/main/1/2.html
今は参考書も含め主にこのサイトで色々勉強しております。
本当に無知でプログラミングのプの字もわからない状態です。
0339デフォルトの名無しさん
2007/02/21(水) 08:36:050340Start ◆C2QJEAJVdg
2007/02/21(水) 08:41:59そうですね。ありがとうございます。
後、秋には基本情報処理の試験があるんです。
一応、その時急にゆうと信憑性がないんで今いっときます。
ちなみに基本情報の知識も皆無なので本当にやることが山ほどあります。
0341デフォルトの名無しさん
2007/02/21(水) 08:49:060342デフォルトの名無しさん
2007/02/21(水) 08:51:50Start ◆C2QJEAJVdgあぼーん推奨
**********重要**********
0343Start ◆C2QJEAJVdg
2007/02/21(水) 09:09:02転職ですか。今は内定しやる気があるので転職は考えておりません。
今、自分が出来ることをしそれでも無理だと感じたら別の職種につこうかとは思っております。
とりあえず、先ほどのサイトを全て理解した後、参考書を購入しにいきます。
0344デフォルトの名無しさん
2007/02/21(水) 09:36:06でもここはあなたのBlogじゃないから。
0345Start ◆C2QJEAJVdg
2007/02/21(水) 09:41:11NEETじゃないですよ学業→就職で仕事もやる気満々なんで。
そうですね。何かブログみたいな感じなんでもぐります。
質問があるときはよろしくお願いします。
0346デフォルトの名無しさん
2007/02/21(水) 10:09:38コネ系?
0347Start ◆C2QJEAJVdg
2007/02/21(水) 10:27:08変数基礎は理解しました。
コネ系じゃないですよ。
0348デフォルトの名無しさん
2007/02/21(水) 10:39:200349デフォルトの名無しさん
2007/02/21(水) 11:05:06これからどれだけ伸ばせるかが問題であって。
まあでも、まずはサイトと書籍で勉強だな。
0350デフォルトの名無しさん
2007/02/21(水) 11:13:22意味段落・形式段落・本文って何だよw
0351デフォルトの名無しさん
2007/02/21(水) 11:14:080352Start ◆C2QJEAJVdg
2007/02/21(水) 11:14:40はい。ありがとうございます。
ただいま、boolを理解しつつあります。おもしろいですね。
が
しかし、私の投稿はこの板違いと自負しておりますので私事情の発言は控えさしていただきます。
なので、これからはスレタイにのっとりわからないことを質問さしていただくようにします。
住民の皆様板汚しすいませんでした。
0353デフォルトの名無しさん
2007/02/21(水) 11:30:12まぁ、基本とかどうでもいいよ。
フォームをちょちょっと作って、このボタンを押したら〜とかこのフォームが更新されたら〜とかは
雷マーク押してイベント追加して、処理をかけばいいだけさ。
簡単なもんだよプログラムなんて。
昔はWINMAIN、WINPROCからつくちゃってさ。面倒なことこの上なかった。
0354Start ◆C2QJEAJVdg
2007/02/21(水) 11:39:03助言ありがとうございます。
現在、コンパイルのやり方がいまいちわかっていないために実行することができません。
コンドプロンプトでコンパイルしようとしてるんですができません。
コンパイルに関しては自分で解決しようとしてるんですがお一つ質問があります。
class TRICK
{
Main
{
TRICK is wonderful.
}
}
とありますが【[.]】やタブなどは見易さ重視のタメにあるんでしょうか?
そのほかにも何か意味はあるんでしょうか。
0355デフォルトの名無しさん
2007/02/21(水) 11:51:15帰れ
0356デフォルトの名無しさん
2007/02/21(水) 12:25:540357デフォルトの名無しさん
2007/02/21(水) 12:26:44コンドームプロンプト?
0358デフォルトの名無しさん
2007/02/21(水) 15:27:20入れたらしく説明がいまいちしっくり来ないんですがいかがですか。
どうも説明読むと TreeNode.Name プロパティ と同じらしいんですが
これって混乱の元になるかと。
key と読んだり、名前と読んだり、Nameプロパティと言ったりするのは
やめて、KeyならKeyで統一するべきじゃないでしょうか?それとも
NameプロパティならNameプロパティで統一するべきでhないでしょうか。
どうでしょう?
0359デフォルトの名無しさん
2007/02/21(水) 15:29:46やっぱり検索に時間かかるんでKeyも必要って感じでいれた感じです。
でも用語は混乱を生じないようにした方がいいかと思うんですよね。
0360デフォルトの名無しさん
2007/02/21(水) 15:49:400361デフォルトの名無しさん
2007/02/21(水) 16:04:15それらを適当にRGBに割り当ててカラー画像を作りたいのですが、
そのようなクラスありますか?
0362デフォルトの名無しさん
2007/02/21(水) 16:06:160363デフォルトの名無しさん
2007/02/21(水) 17:12:19StreamReader sr = new StreamReader(networkstream, Encoding.ASCII);
while ((temp = sr.ReadLine()) != null)
{
//コード
}
のようにして1行ずつ読み込もうとしています。
whileの行にブレークポイントを設定してsrの状態を観察しようとすると、
最初に1行読み込むとコードがストップしてしまいます。
エラーも起きずにReturnを処理したかのように終わってしまいます。
networkstreamからReadLineで読み込むのはまずいのでしょうか?
0364デフォルトの名無しさん
2007/02/21(水) 17:20:240365デフォルトの名無しさん
2007/02/21(水) 17:20:380366デフォルトの名無しさん
2007/02/21(水) 17:33:161行分しかデータが届いていなければ、whileの行に戻ってきたときにsr.ReadLine()がnullを返すと思うのですが、
そうはならないのでしょうか?
0367デフォルトの名無しさん
2007/02/21(水) 17:46:270368デフォルトの名無しさん
2007/02/21(水) 18:02:46意味不明なのはわかります。
なんと説明すればいいのかわからないのですが、そのメソッドの処理が終わってしまいます。
//コード
の中でブレークポイントを設定して一度止めます。
そうするとたしかにtempの中に文字列が格納されていますので1行は読み取ってます。
で、srはどうなっているのかとおもってカーソルをあわせると
EndOfStream 前の関数の評価がタイムアウトしたため、関数の評価は無効になりました。続けて実行し、再度関数の評価を有効にしてください。 System.IO.Stream
と表示されます。F11でコードを進めようとするとコンソールが出てきてそこで止まってしまいます。
VisualStudioのほうは(実行中)のままです。
説明があやふやなのですが、
http://pc2.2ch.net/tech/kako/1039/10396/1039646808.html
ここの35と似ているのかもしれませんが、それにレスがついてないのでわかりません。
0369デフォルトの名無しさん
2007/02/21(水) 18:17:50初心者なんですが引数の使い方についてわかりません。
public delegate double f1(double[] f2);
public int keisan(f1 x)
{
}
↑この関数内で引数xを使いたいのですが、認識してくれません。
この使い方は間違っているのでしょうか?
0370デフォルトの名無しさん
2007/02/21(水) 18:20:22自分で意味不明だったら他人に判るわけないだろw
っていうか何が問題なの?
動かないの?
0371デフォルトの名無しさん
2007/02/21(水) 18:22:16認識ってなに?
0372デフォルトの名無しさん
2007/02/21(水) 18:22:52Xを使うには?
0373デフォルトの名無しさん
2007/02/21(水) 18:22:55ブレークポイントの話はいいから、結局なんなんだ?
0375デフォルトの名無しさん
2007/02/21(水) 18:26:260376デフォルトの名無しさん
2007/02/21(水) 18:32:38配列やrefにしたほうが良いのでしょうか?
0377デフォルトの名無しさん
2007/02/21(水) 18:42:00どうでもいいからtry catchで例外のひとつでも表示してみろい。
0378デフォルトの名無しさん
2007/02/21(水) 18:53:15わざわざポインタを使う理由による
0379デフォルトの名無しさん
2007/02/21(水) 18:54:20コードさらしてみ?
0380デフォルトの名無しさん
2007/02/21(水) 19:18:38public int keisan(f1 x) {return (int) x(new double [] {1.1, 2.2});}
0381デフォルトの名無しさん
2007/02/21(水) 19:23:59今掲示板作っているんですが、
どうしても先に進めないのでよかったら教えてください。
グリッドビューのページング機能をtrueにしてたんですが、
データベースに格納や参照するコードを書いたら
ページングが出来なくなってしまったんです。
エラー文は、「GridView 'GridView1' はハンドルされていないイベント
PageIndexChanging を送出しました」です。
どうしたらいいか教えていただけますか?
すいませんが、よろしくお願いします。
0382デフォルトの名無しさん
2007/02/21(水) 19:33:57>データベースに格納や参照するコードを書いたら
>ページングが出来なくなってしまったんです。
使い方が悪いとしか答えようがない。
0383デフォルトの名無しさん
2007/02/21(水) 19:35:310384363
2007/02/21(水) 19:36:49using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.IO;
using System.Threading;
namespace FTPSample{
class Program{
static void Main(string[] args){
TcpClient tcp = new TcpClient("localhost", 21);
NetworkStream ns = tcp.GetStream();
Thread.Sleep(800);//少し待つ
StreamReader sr = new StreamReader(ns, Encoding.ASCII);
string temp = "";
int LastCode = 0;
try{
while ((temp = sr.ReadLine()) != null){
LastCode = int.Parse(temp.Substring(0, 3));//ここにブレークポイントを置いてsrを見ると止まる
if (LastCode != 0)
break;
}}
catch (Exception ex){ Console.WriteLine(ex.ToString());}
Console.WriteLine(LastCode);
Console.Read();
}
}
}
0385デフォルトの名無しさん
2007/02/21(水) 19:37:48ありがとうございました。
0386363
2007/02/21(水) 19:41:26これを実行するとコンソールに220と表示されます。
それでいいのですが、
LastCode = int.Parse(temp.Substring(0, 3));
のところにブレークポイントを置いてsrにマウスカーソルを当ててどうなっているか見ようとすると
コードが止まってしまいます。
「srにマウスカーソルを当てると止まる」というのをどういう風に説明すればいいのかわからずにスレを汚してすいません。
これが「srにマウスカーソルを当てても止まらない」状態にするにはどうすればいいでしょうか?
0387デフォルトの名無しさん
2007/02/21(水) 19:49:060388デフォルトの名無しさん
2007/02/21(水) 19:52:13ヒント:ネットワーク
0389デフォルトの名無しさん
2007/02/21(水) 19:54:53そんなところはどうでもいい
たぶんf1の定義位置がおかしい
0390デフォルトの名無しさん
2007/02/21(水) 19:56:33ちゃんとできるぞ。
public delegate double f1(double[] f2);
public int keisan(f1 x)
{
return (int)x(new double[] {1.1, 2.2} );
}
private double y(double[] param)
{
return param[0] + param[1];
}
private void button1_Click(object sender, EventArgs e)
{
System.Diagnostics.Debug.WriteLine(keisan(y).ToString());
}
0391デフォルトの名無しさん
2007/02/21(水) 19:58:030392デフォルトの名無しさん
2007/02/21(水) 19:59:31ようするにプログラムの動作は問題なくて、デバッガの機能の話しをしてるのか?
0393デフォルトの名無しさん
2007/02/21(水) 20:01:31タイムアウトってわかるかな?
0394363
2007/02/21(水) 20:12:52確かにずっと放置しておけばタイムアウトするのはわかります。
しかし、それならwhileの行にブレークポイントを置いてそこで止まってから少し待って
同じようにsrを見たら切断されていると思います。
1行読み取ったあとすぐに切断されてしまうようなので困ってます。
でも、どうやら私の質問はあまり性質のいいものではなさそうな雰囲気なので
このあたりで撤退いたします。
もう少し現象を絞れたらまた質問させていただきたいと思います。
0395デフォルトの名無しさん
2007/02/21(水) 20:21:10{
double[] psum=new double[10];
p[i][j] = psum[j] = 0.5*(p[i][j]+p[ilo][j]);
y[i] = (x)(psum);
}
かなり中身を省略していますがこのような形です。
このときのxでエラーが出てしまいます。
0396デフォルトの名無しさん
2007/02/21(水) 20:21:15タイムアウト=「ずっと放置」とは限らない。
0397デフォルトの名無しさん
2007/02/21(水) 20:22:33さっきと全然ちがうじゃねーか!
0398デフォルトの名無しさん
2007/02/21(水) 20:23:25で、なんで ref f1 x ってしてるの?
0399デフォルトの名無しさん
2007/02/21(水) 20:24:530400デフォルトの名無しさん
2007/02/21(水) 20:26:540401デフォルトの名無しさん
2007/02/21(水) 20:28:27ftpにどんなコマンド送ってるの?
0402デフォルトの名無しさん
2007/02/21(水) 20:30:16勉強しなおせ。
> ref f1 []x
まずはここからだな。
0403デフォルトの名無しさん
2007/02/21(水) 20:32:05private delegate double f1(ref double[] f);
private int simp(ref double[][] p,ref double[] y, f1 []x)
{
double[] psum=new double[10];
p[i][j] = psum[j] = 0.5*(p[i][j]+p[ilo][j]);
y[i] = (x)(psum);
}
0404363
2007/02/21(水) 20:33:58コマンドを送る以前に接続したときの220を受け取りたいのですが
それの処理中にネットワークが切断されてしまいます。
ストリームから読み取れない状態になります。
>>384のコードを実行するとちゃんと220が帰ってくるのですが、
途中でブレークポイントを置いたり、ほかのコードを間に挟んだりすると
止まってしまいます。
0405デフォルトの名無しさん
2007/02/21(水) 20:34:250406デフォルトの名無しさん
2007/02/21(水) 20:35:43* refって何か分かってんのか
* xの型は何か分かってんのか
* なんで(x)って括弧で括ってんだよ
0407デフォルトの名無しさん
2007/02/21(水) 20:49:35C++で作ったプログラムをC#でやっているんですが、よくわかりません。
0408デフォルトの名無しさん
2007/02/21(水) 20:56:40なんとなくそんな気がしたんだが…
デリゲートは関数ポインタじゃないぞ。
あと次元を考えろよな。
0409デフォルトの名無しさん
2007/02/21(水) 21:11:36C++とC#は全く別言語なんだから一からマニュアル読めよ。
0410デフォルトの名無しさん
2007/02/21(水) 21:42:42・refの意味がない。Array型は参照型
・xはパラメータであって型ではない
・y[i]はdouble, xはf1[]で型が合わない
0411デフォルトの名無しさん
2007/02/21(水) 21:50:21良く言われるがC#はCじゃないどっちかと言うとVBだ
ポインタ使うにもDELL使ってデータ渡すとかその位だな
0412デフォルトの名無しさん
2007/02/21(水) 21:51:44×DELL
○DLL
0413デフォルトの名無しさん
2007/02/21(水) 21:53:03∧∧
ヽ(・ω・)/ ズコー
\(.\ ノ
、ハ,,、  ̄
 ̄
0414デフォルトの名無しさん
2007/02/21(水) 21:59:55Dキーの上がEキー
0415デフォルトの名無しさん
2007/02/21(水) 22:06:22本を5冊買いました。たくさんググりました。
でも分かりません
false=ファルス?フォルス?
int=イント?インテ?
ガベージコレクション?ガーベジコレクション?
教えて下さい、まじめに。
0416デフォルトの名無しさん
2007/02/21(水) 22:07:19すっこんでろ
0417デフォルトの名無しさん
2007/02/21(水) 22:13:30イヤ本気なんですよ。
活字の情報の限界ですよね・・・・
ちょっと人に説明する機会がありまして・・
ちなみに学生時代にプログラム習う年代ではないので
本当に分からないのです
0418デフォルトの名無しさん
2007/02/21(水) 22:14:430419デフォルトの名無しさん
2007/02/21(水) 22:17:40そのURLじゃわからねえ。「フォース」に聞こえる。
0420デフォルトの名無しさん
2007/02/21(水) 22:25:30そこのボイスのトップどうやってはいるの?
0421デフォルトの名無しさん
2007/02/21(水) 22:29:520422デフォルトの名無しさん
2007/02/21(水) 22:33:010423デフォルトの名無しさん
2007/02/21(水) 22:35:12http://dictionary.goo.ne.jp/index.html?kind=ej
0424デフォルトの名無しさん
2007/02/21(水) 22:35:240425デフォルトの名無しさん
2007/02/21(水) 22:37:44すぺっしょーるスァンクス!
0426デフォルトの名無しさん
2007/02/21(水) 22:38:40ちょっ、そこは分かるんだってばw
0427デフォルトの名無しさん
2007/02/21(水) 22:43:210428デフォルトの名無しさん
2007/02/21(水) 22:47:03ビジブル
0429デフォルトの名無しさん
2007/02/21(水) 22:50:170430デフォルトの名無しさん
2007/02/21(水) 23:00:55こっちでやれ
0431デフォルトの名無しさん
2007/02/21(水) 23:04:10ヒントをおくれ
0432デフォルトの名無しさん
2007/02/21(水) 23:35:201. レンダーターゲットを作る
System.Drawing.Graphics.FromImage メソッド
System.Drawing.Bitmap クラス
2. ソースとColorMatrix変えてターゲットに描画
System.Drawing.Graphics.DrawImage メソッド
System.Drawing.Imaging.ColorMatrix クラス
System.Drawing.Imaging.ImageAttributes クラス
たぶんできる
0433デフォルトの名無しさん
2007/02/21(水) 23:38:04thx
ためしてみる
0434デフォルトの名無しさん
2007/02/21(水) 23:39:440435デフォルトの名無しさん
2007/02/22(木) 01:15:54メモリを直接触ったほうが手っ取り早そうな気もする
0436デフォルトの名無しさん
2007/02/22(木) 08:21:35Win32のBitBlt使えば簡単じゃないかと思うんだけど。。
0437デフォルトの名無しさん
2007/02/22(木) 18:48:090438デフォルトの名無しさん
2007/02/23(金) 06:20:36http://msdn2.microsoft.com/en-us/default.aspx
を表示すると、ページの上の方が少し隠れて表示されません、
これをすべて表示できるようにするには何か方法があるでしょうか。
0439デフォルトの名無しさん
2007/02/23(金) 11:23:300440デフォルトの名無しさん
2007/02/23(金) 13:30:31Append()は戻り値がvoidなので新たにオブジェクトを作らない。
よーく考えろ。
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\| ̄ ̄ ̄ ̄ ̄ ̄
_,,t-‐‐-、,-‐‐-、
三'::::::............... .....::::::`y,.
ナ::::::::::::::::::::::::::::::::: :::::::::::::ヾ
| ̄| V::::::::::::::::_{{ ({∫∬ノノjヾ:::::{
| ̄| | ̄| ナ::::::::::::::i`__,,,,,,,ァ_ _,,,,,_ t;;:ヌ
| | | | イヘ::::::(ヾ~!,ャt、 !'''i ィtン )=f }f
| | | | i {t)テ" ヘ' '___,イ ヽ_/ 介'
| | | | _,rヘ_,j|!' /ー--''! |'
|,.ィ―'''' ̄ /| | /二ク !
/;;:::'';;::''::;;:/ { ! 、 ヾニン ノ\
/'''::::;r|''':::;;;| | ! \ _,,./|::;;'''\
/:;;/ |;;;''::;;| 丶\ `__>-ー´ !;;;:'''::iヽ、
i/ |'::;;;;''| 三 ―''" !''::;;;;| /ヽ
/⌒ヽ |;;''':::;| \ !;;::''|/ i
/ \{'';;;::''}  ̄二ニ= !::;;| |
/ヘ |;;:::::;{ ‐- !/ |
/ i |:::;;;''! ー ! / |
/ l |;;'';イ } {、
〉、 ∧テ{ ヽ _ _,,,,;;;;;:::-==ニ;;;_ ノ __,イ´
/ \_ //レ!  ̄  ̄ { ̄ |
0441デフォルトの名無しさん
2007/02/23(金) 13:46:57てことはそちらでは問題ないですか、とすればこっちだけの問題でしたか・・・。
う〜ん
0442デフォルトの名無しさん
2007/02/23(金) 14:03:26使ってるフォントとか、ユーザースタイルシートとか、
IEのバージョン依存だったりするんじゃないかな
0443デフォルトの名無しさん
2007/02/23(金) 14:23:51どうもありがとう、なるほど。
するとWebBrowserで表示するときに場合によってはその辺の
世話が必要になるかもしれんてことですか。結構大変そうかなぁ・・・。
0444デフォルトの名無しさん
2007/02/23(金) 22:04:12{
return a + b;
}
↑をコンパイルすると、演算子'+'は型'T'に適用でできないと
怒られます。T は byte,short,int,long のいずれかなんですけど、
型制約では、int などの指定は出来ないようです。
型別にメソッド書くしかないのでしょうか?
0445デフォルトの名無しさん
2007/02/23(金) 22:07:31かなり面倒で怪しい方法。
ふつうは別々に書く
0446デフォルトの名無しさん
2007/02/23(金) 22:08:08CLRのジェネリクスは演算子オーバーロードと相性が悪いから、どうしようもない。
リフレクション使えば何とかなることはなるが、コンパイラのチェックが入らないから美しくないしね
0447デフォルトの名無しさん
2007/02/23(金) 22:16:580448デフォルトの名無しさん
2007/02/23(金) 22:17:080449デフォルトの名無しさん
2007/02/23(金) 22:18:27ducktypingができると期待してしまうのさ・・・
0450デフォルトの名無しさん
2007/02/23(金) 22:23:420451デフォルトの名無しさん
2007/02/23(金) 22:26:10C#のconstは定数を宣言するときにしか使わないだよ。
0452デフォルトの名無しさん
2007/02/23(金) 22:27:04どこかいいサイトご存じないでしょうか?
0453デフォルトの名無しさん
2007/02/23(金) 22:29:43でもモジュールはダメかも
0454デフォルトの名無しさん
2007/02/23(金) 22:31:29C#のconstは数学定数とか絶対に変わらない定数にしか使わないだよ
0455444
2007/02/23(金) 22:33:31型別に書くのいやだなぁ〜。
その部分だけ、C++/CLI の DLL に出来ないか
見当してます。
0456デフォルトの名無しさん
2007/02/23(金) 22:33:330457デフォルトの名無しさん
2007/02/23(金) 22:39:080458デフォルトの名無しさん
2007/02/23(金) 22:51:58{
interface INumeric<T>
: IEquatable<T>, IComparable<T>, IConvertible<T>
{
T Add(T val);
T Subtract(T val);
T Multiply(T val);
T Divide(T val);
T Modulo(T val);
}
struct Int32: INumeric<Int32> { }
}
0459デフォルトの名無しさん
2007/02/23(金) 23:03:37immutableに使わないと
0460デフォルトの名無しさん
2007/02/23(金) 23:04:34Tがそれらのメソッドを持たない肩であると(ry
0461デフォルトの名無しさん
2007/02/23(金) 23:10:50: IEquatable<T>, IComparable<T>, IConvertible
where T: INumeric<T> { }
こうですか><
0462デフォルトの名無しさん
2007/02/23(金) 23:10:54Average(delegate(float a1, float a2) { return a1 + a2; },
delegate(float a1, float a2) { return a1 / a2; },
2f, 6f, 2f, 3f));
}
delegate T TwoParameters<T>(T a1, T a2);
static T Average<T>(TwoParameters<T> add, TwoParameters<T> div, T count, params T[] args)
where T:new(){
T s = default(T);
for (int i = 0; i < args.Length; i++)
s = add(s, args[i]);
return div(s, count);
}
こういうのはどうだ
T countが気持ち悪いけど
0463デフォルトの名無しさん
2007/02/23(金) 23:15:190464デフォルトの名無しさん
2007/02/23(金) 23:17:520465デフォルトの名無しさん
2007/02/23(金) 23:38:19正しいエンコードを判定するのが先じゃね?
0466デフォルトの名無しさん
2007/02/23(金) 23:45:00void Keisan(){Average(OperatorsF.Instance, 3f, 6f, 2f, 4f);}
static T Average<T>(IOperators<T> operators, T count, params T[] args) where T:new(){
T s = default(T);
for (int i = 0; i < args.Length; i++)
s = operators.Add(s, args[i]);
return operators.Divide(s, count);
}
interface IOperators<T>{
T Add(T a1, T a2);T Subtract(T a1, T a2);
T Multiply(T a1, T a2);T Divide(T a1, T a2);
}
class OperatorsF : IOperators<float>{
public static readonly IOperators<float> Instance = new OperatorsF();
public float Add(float a1, float a2) { return a1 + a2; }
public float Subtract(float a1, float a2) { return a1 - a2; }
public float Multiply(float a1, float a2) { return a1 * a2; }
public float Divide(float a1, float a2) { return a1 / a2; }
}
0467デフォルトの名無しさん
2007/02/23(金) 23:53:19文字コードはShift-JISということはわかっています。
現物はこれです↓
http://yp.ladio.livedoor.jp/stats/list.xml
これをStreamで取り出した物なんですが…
なんか流れ断ち切ってるみたいですいません orz
0468デフォルトの名無しさん
2007/02/24(土) 00:08:410469デフォルトの名無しさん
2007/02/24(土) 00:12:31一部抜粋
<source>
<url>http://203.131.199.131:8080/roki</url>
<gnl>Vが主</gnl>
<nam>£яoκ・ラRadioψCafe£</nam>
<tit />
<mnt>/roki</mnt>
<tim>1172243353</tim>
<tims>07/02/23 21:07:39</tims>
<cln>4</cln>
<clns>7</clns>
<srv>203.131.199.131</srv>
<prt>8080</prt>
<typ>icecast2.2</typ>
<bit>128</bit>
</source>
秀丸では警告出ませんが£яoκの部分で化けてます
0470デフォルトの名無しさん
2007/02/24(土) 00:13:31そこの部分のバイナリは0x13でした
0471デフォルトの名無しさん
2007/02/24(土) 00:20:39化けていると言っても、何をして化けていると判断するのかは微妙なことが多い。
不正なバイトシーケンスなら DecoderFallback とか使えば何とかなるだろうけど……。
0472デフォルトの名無しさん
2007/02/24(土) 00:24:130473デフォルトの名無しさん
2007/02/24(土) 00:26:01正しく表示したい訳じゃないのか?
0474デフォルトの名無しさん
2007/02/24(土) 00:26:41XmlSerializerで逆シリアライズするときに0x13が無効な文字だと出てくるので化けてると
思ったのですが、Shift-JISのコード内ですか…
通りでDecoderFallbackに引っかからないわけだ orz
0475デフォルトの名無しさん
2007/02/24(土) 00:53:35そりゃもう 0x09/0x0A/0x0D 以外の 0x20 未満を適当に置き換えるとかそんな地道な手段しかないような気がする。
.NET の XML 関連は非整形式に優しくない。
0476デフォルトの名無しさん
2007/02/24(土) 01:20:03この方法でうまくいきました。ありがとうございました。
0477デフォルトの名無しさん
2007/02/24(土) 02:56:33Scan0を使って直接メモりに入れる方法でやっつけた
Strideがやっかいだね
0478デフォルトの名無しさん
2007/02/24(土) 17:15:56axVcc5Ctrl1というVB6/VC用OCX(コントロール)をForm1に配置,使用しています.
ここでaxVcc5Ctrl1のメソッドは問題なく使用できているのですが,
イベントのパラメータが取得できません.
例えばint型の2つのパラメータを持つイベントAckRxEventは,サンプルであるVB6からは
------
Private Sub Vcc5Ctrl1_AckRxEvent(ByVal wParam As Long, ByVal lBytes As Long)
〜
End Sub
-----
のように使用されています.
一方,VSで生成されたC#のソースでは
------
Private void axVcc5Ctrl1_AckRxEvent(object sender, AxVcc5AXCtrlJ.__Vcc5Ctrl_AckRxEventEvent e){ }
------
となっており,senderとArgcしか渡されていません.
どのようにすればパラメータ(wParamやlBytes)を受け取ることが出来るでしょうか?
0479デフォルトの名無しさん
2007/02/24(土) 17:31:000480478
2007/02/24(土) 18:04:55ぉぉぉぉ・・・ e.lBytes, e.wParam でokでした!
全然気がつきませんでした・・・(Form1.Designer.cs の方とか見たりぐぐったりしてた)
ありがとうございました.
0481デフォルトの名無しさん
2007/02/24(土) 18:47:29axVcc5Ctrl1
なんか嫌な名前だな
0482デフォルトの名無しさん
2007/02/24(土) 18:57:51RichTextBox を配置して、Dock=Fill にすると、
StatusStrip を無視して Fill しちゃうんですけど、
そういうものなんでしょうか?
まず、パネルを配置してから、その中に
RichTextBox を置くしかないのでしょうか。
0483デフォルトの名無しさん
2007/02/24(土) 19:02:280484デフォルトの名無しさん
2007/02/24(土) 19:02:47ドキュメントアウトラインでD&Dして順位を変えればいい。
0485デフォルトの名無しさん
2007/02/24(土) 19:28:58ワードパッドで文字をダブルクリックしたときに、
選択されるくらいの精度で良いので、何か文章を単語に
分割するAPIはないでしょうか。
chasenなどの外部ソフトをインストールしなければ
ならないもの以外で探しています。
0486デフォルトの名無しさん
2007/02/24(土) 20:40:50Regex.Matches(textBox1.Text, "([あ-ん]+)|([^あ-ん]+)")
0487デフォルトの名無しさん
2007/02/25(日) 01:08:32最前面に移動
0488デフォルトの名無しさん
2007/02/25(日) 11:29:43精度気にしないのであれば、単純にスペース・カンマ・文字種の境目etcで
ぶったぎる処理を自分で書いたらいいんじゃと思うんだが。
0489デフォルトの名無しさん
2007/02/25(日) 21:52:22Mouseのポイントだけで可能にしてあるか、それともクリックで初めて
選択となるか、の設定を知る方法はあるでしょうか?
自分のアプリもそれに合わせるにはどうすればいいでしょう?
0490デフォルトの名無しさん
2007/02/25(日) 22:00:12レジストリの差分とるソフトで確認してみればいいんじゃない?
0491デフォルトの名無しさん
2007/02/25(日) 22:01:53>レジストリの差分とるソフトで確認して
なるほど
どうもでした!
0492デフォルトの名無しさん
2007/02/25(日) 22:46:09C#の開発環境は無料で手に入るのはなんで?
0493デフォルトの名無しさん
2007/02/25(日) 22:50:41MFC やら ATL やらはその限りじゃないけど
0494デフォルトの名無しさん
2007/02/25(日) 22:51:140495デフォルトの名無しさん
2007/02/25(日) 22:59:17VC++は、使いたければどうぞ。的な雰囲気があるような気がする。
0496デフォルトの名無しさん
2007/02/25(日) 23:01:04今やこんな立派な開発環境が無料で手に入る時代なんだなぁ
0497482
2007/02/25(日) 23:43:130498デフォルトの名無しさん
2007/02/26(月) 00:19:08これを、C/S型にしてクライアントを複数同時起動できるように
したいです。
どこか参考になるサイトがあったら教えてください。
0499485
2007/02/26(月) 00:40:16どうもありがとうございました。
0500デフォルトの名無しさん
2007/02/26(月) 00:40:220501デフォルトの名無しさん
2007/02/26(月) 01:29:44時代の煽りだと思う。
0502デフォルトの名無しさん
2007/02/26(月) 01:37:03public TEnum SomeMethod<TEnum>(TEnum param1) where TEnum : System.Enum
のようなメソッドを作ると、「制約は特殊クラス 'System.Enum' にはなれません。」とのエラーになってしまいます。
0503デフォルトの名無しさん
2007/02/26(月) 01:44:29delegate の制約したいんだけどなぁ
0504502
2007/02/26(月) 01:50:55やはり無理ですか。とりあえず、必要な列挙体の分だけオーバーロードすることにします。
0505デフォルトの名無しさん
2007/02/26(月) 21:35:16とてもうれしいです
0506デフォルトの名無しさん
2007/02/26(月) 22:00:150507デフォルトの名無しさん
2007/02/26(月) 22:09:14ようなことはプログラムからできるでしょうか。プロパティ見るとどうもなさそう
ではありましたが・・・
0508デフォルトの名無しさん
2007/02/26(月) 22:29:56あとはまあ GetCharIndexFromPosition とか GetLineFromCharIndex とか
0509デフォルトの名無しさん
2007/02/26(月) 22:31:33まあ、あんまりエレガンドじゃないか
0510デフォルトの名無しさん
2007/02/26(月) 22:41:56EM_SCROLL,EM_LINESCROLL,GetCharIndexFromPosition,GetLineFromCharIndex
ScrollToCaret,など情報どうもです、さっそく調べてみます、助かりました。
ところで、これらのコントロールにはキーを送りつけるようなことは可能でしょうか、
やってみたいことは、デュアルで並べたものに片方のキーイベントをもう片方にも
同時に送るといった感じのことです。
0511デフォルトの名無しさん
2007/02/26(月) 22:49:020512デフォルトの名無しさん
2007/02/26(月) 22:50:22とか考えると同期ってのはなかなか大変だぜ
0513デフォルトの名無しさん
2007/02/26(月) 22:56:20どうもです、助かります、やっぱり方法はあるのですね、
WM_KEYDOWN/WM_KEYUPなどで調べてやってみますです。
そうですね、同期させるとなると難しいかもしれないですか、
片方は隠れてるのに片方はあわられてるとかになる可能性は
ありますか・・・。またちょっとがんばってみますです。
ありがとうございました!!
0514デフォルトの名無しさん
2007/02/27(火) 11:32:45すみません、基本的なところでわかってませんでした(><。。
WM_KEYDOWNなどこれとかはもしかするとMFCなどアンマネージドドコード
での利用になるでしょうか。できればマネージドコードのみで処理できれば
と思いますが、マネージコードでコントロールの外部からそのコントロールに
対してKeyEventを発生させるということは可能でしょうか?
よろしくお願いします。
0515デフォルトの名無しさん
2007/02/27(火) 11:55:09マネージコードで処理できる
通常コントロールのWndProcメソッドをoverrideして使う
サンプルは、『WndProc C#』でぐぐればいくつか出てくる
>マネージコードでコントロールの外部からそのコントロールに
>対してKeyEventを発生させるということは可能でしょうか?
試したこと無いけど、MSDNかどっかに、イベントの発生は
イベントを生成したクラスからのみって記述があったような希ガス
ただし、デリゲートを介せば出来るように思うが…
0516デフォルトの名無しさん
2007/02/27(火) 12:26:02コントロールを継承してOnKeyXXXを間接的に呼び出すメソッドを追加するだけ。
でも、フツーにコード書いてればそんなことがしたいと普通は思わないと思う。
逆に言えば、そんなことがしたいと思うのはどっか設計的にマズいコードの可能性が高いと思う。
0517デフォルトの名無しさん
2007/02/27(火) 12:26:12さっそくどうもです、助かります。
WndProc C# で調べてみました。
>デリゲートを介せば出来るように思う
これは、一旦コントロールを基本クラスから継承して
新たに作成して、そこに WndProc() をオーバーライドした
Publicメソッドを用意しておいて、そこに WM_KEYDOWN
などのメッセージを外部から投げ込んでやるといった
感じでしょうか?いろいろお聞きしてすみません。
0518デフォルトの名無しさん
2007/02/27(火) 12:29:28かぶりました、すみませんです。
>コントロールを継承してOnKeyXXXを間接的に呼び出すメソッドを追加するだけ
なるほど!!そうやるんですか、わかりました!!どうもです!
目的は>>510のようなことなのですが、やったことないことなので
方法がわかりませんでした(><。
0519デフォルトの名無しさん
2007/02/27(火) 13:41:34>これは、一旦コントロールを基本クラスから継承して…
違う
デリゲートを調べて貰えれば分かると思う。
516で出来るんならそれでいいとは思うが、
出来なければ516で作った関数をデリゲートを介するようにすればいい。
まあ、いろいろ試してみてください。
>メッセージを外部から投げ込んでやるといった…
Win32APIのPostMessageを使うのも一つの手
マネージドコードという要求から外れると思うが
あまりこだわらずに、Win32API使えばいいんじゃないって気もするけど
まあそれよりも、過去レス見ると個々のイベントでやりとりするのは>>512さんの指摘通り
大変とおもうけど(アプリの詳細がわかんないからなんともいえないけど…)
0520デフォルトの名無しさん
2007/02/27(火) 14:09:44あとポインタはないのですか
だとすると、C/C++と違い、Cを名乗れるような言語じゃありませんね
ほとんどJavaじゃん
0521デフォルトの名無しさん
2007/02/27(火) 15:07:36とりあえず、ここの機能一覧を一通り読んでみたほうがいいよ。
http://msdn2.microsoft.com/ja-jp/library/yyaad03b(VS.80).aspx
0522デフォルトの名無しさん
2007/02/27(火) 15:15:27いや俺も美しくないとは思うよ…
0523デフォルトの名無しさん
2007/02/27(火) 15:18:01ポインタはあるけど。
BASICもCを名乗ってることになるなぁ。
0525デフォルトの名無しさん
2007/02/27(火) 15:35:34お〜サンクス、参考にしてみます。
unsafeでポインタ使えるのか。ま、でも、使う機会はめっきり減りそうだな
0526デフォルトの名無しさん
2007/02/27(火) 15:39:06それは論理的におかしいでしょ
C言語
C++
C#
COBOL
Cの後ろにあるトークンを見れば、明らかに種別が違うでしょ
よってパターン的に、C言語を継承したものだと認識される
BASICなんて全くもって論外では
>Cの後ろにあるトークンを見れば、明らかに種別が違うでしょ
それはお前の脳内基準だな。
>よってパターン的に、C言語を継承したものだと認識される
名前の付け方にそんなルールもパターンも無い。
0528デフォルトの名無しさん
2007/02/27(火) 16:15:49だったらC使ってたらいいんじゃないの?
CやC++と同じなら誰もC#なんて使わないよ…
0529デフォルトの名無しさん
2007/02/27(火) 16:16:10アホですか?
C#のCがC言語に由来するのは明らかだろうに。
まあC++のリプレースメントって意味でC#という名称にしたのであって
互換性がないのが問題とは別におもわんがね
0530デフォルトの名無しさん
2007/02/27(火) 16:21:40って教わった
0531デフォルトの名無しさん
2007/02/27(火) 16:32:520532デフォルトの名無しさん
2007/02/27(火) 16:42:58非互換性云々の問題以前に、C/C++とは守備範囲が全然違うから、
C/C++のリプレースメントになどなりようもないのに。
むしろMSがマーケティングのために敢えて誤解を招きやすいネーミングにして
C/C++層を誘い込もうとした、そのためだけにつけられた名前と言うべきだろう。
0533デフォルトの名無しさん
2007/02/27(火) 16:44:160534デフォルトの名無しさん
2007/02/27(火) 16:45:300535デフォルトの名無しさん
2007/02/27(火) 16:46:19リプレースにはならんだろ。
それに、「C#のCがC言語に由来している」のと「C#がCを名乗っている」のは全く
違う話なんだが。
0537デフォルトの名無しさん
2007/02/27(火) 17:29:15それだけならJavaだってPerlだってPythonだって
Cほにゃららとつけてもいいことになるな。
>>534
実際その通りだろ
0538デフォルトの名無しさん
2007/02/27(火) 17:33:340539デフォルトの名無しさん
2007/02/27(火) 17:39:24>それだけならJavaだってPerlだってPythonだって
>Cほにゃららとつけてもいいことになるな。
いいんじゃねえの別に。
言語の命名規則なんて存在しないんだから。
命名者のセンスの赴くままで。
0541デフォルトの名無しさん
2007/02/27(火) 17:44:15この世にCのオブジェクトコードとリンクすら出来ないCほにゃららを
出すのがMSだけで良かったな。
そんなのが大量に出回っていたら世も末だ。情報にアクセスしにくくなるし
初心者にはわけわかめだろう。
それにしても、とっくにインターネット時代になっていたというのに、こんな
検索しにくいキーワード(.NETだのC#だの)を打ち出してくるMSは
池沼としか言いようが無いな。
0542デフォルトの名無しさん
2007/02/27(火) 17:44:210543デフォルトの名無しさん
2007/02/27(火) 17:45:390544デフォルトの名無しさん
2007/02/27(火) 17:51:24法的にはいいんだろうな。
「ニッキーマウス」みたいな、ブランドパクリ安物みたいな
ネーミングだから嘲笑われるだけで。
0545デフォルトの名無しさん
2007/02/27(火) 17:53:34「C#」って普通にgoogleで検索できるっしょ
0546デフォルトの名無しさん
2007/02/27(火) 17:54:120547デフォルトの名無しさん
2007/02/27(火) 17:54:240548デフォルトの名無しさん
2007/02/27(火) 17:54:560549デフォルトの名無しさん
2007/02/27(火) 17:56:480550デフォルトの名無しさん
2007/02/27(火) 17:59:250551デフォルトの名無しさん
2007/02/27(火) 18:39:020552デフォルトの名無しさん
2007/02/27(火) 18:58:320553デフォルトの名無しさん
2007/02/27(火) 19:01:490554デフォルトの名無しさん
2007/02/27(火) 19:11:06春休みっていつ終わるんだ?
0555デフォルトの名無しさん
2007/02/27(火) 19:36:390557505
2007/02/27(火) 20:09:24とてもうれしいです
0558デフォルトの名無しさん
2007/02/27(火) 20:12:40(おかしなおじさん達は気にせずに)がんばってね。
0559デフォルトの名無しさん
2007/02/27(火) 20:15:51ありがとうございます!!
プログラムって面白いですね
レベルの低い話をしてすみませんでした
0560デフォルトの名無しさん
2007/02/27(火) 20:17:360561デフォルトの名無しさん
2007/02/27(火) 20:25:520562559
2007/02/27(火) 20:36:52VBのDLLにセル番号とStringをセットにして一度に渡したいんです
(DLLはExcelに書き込むクラスです)
んで2次元配列にしてStringとセル番号を1セットにして数セット処理したいんです
なんかもっといい方法ありましたかね・・・
でもいい練習になりました
0563デフォルトの名無しさん
2007/02/27(火) 20:37:330564デフォルトの名無しさん
2007/02/27(火) 20:42:28なんか意外でした。
まだまだ先は長いなぁ・・・
0565デフォルトの名無しさん
2007/02/27(火) 20:45:12List<>やDictionary<>みたいなものはむしろ初心者が扱いやすいよ
0566デフォルトの名無しさん
2007/02/27(火) 20:46:51行列とかならズバリ多次元配列かもしれないけど。
0567デフォルトの名無しさん
2007/02/27(火) 20:47:350568デフォルトの名無しさん
2007/02/27(火) 21:00:37今は本を見ながらコツコツやってるんですが、何分歩みが遅いので
まずは配列とか基本をしっかりやろうと思います。
んで出来上がったら教えてもらったList<>やDictionary<>とかで
洗練させていきたいと思います。
ありがとうございます
ちなみに2005EEです(C#、VB共に)
0569デフォルトの名無しさん
2007/02/27(火) 21:05:26CとDの間、Cじゃない
0570デフォルトの名無しさん
2007/02/27(火) 21:06:01配列のように扱えるし
0571568
2007/02/27(火) 21:07:380572デフォルトの名無しさん
2007/02/27(火) 21:08:37要素数が先にわかるなら配列のほうがいいよ
単純ゆえに高速だから。
0573デフォルトの名無しさん
2007/02/27(火) 21:11:45そうですか!実は今動的配列?にしてるんですが
素人目にもなんかムダっぽいなぁ・・と感じてました。
(中身を新しい配列に入れなおすんですよね?)
>要素数が先にわかるなら配列のほうがいい
貴重な情報ありがとうございます。初心者本にはこういうの載ってないんですよね
0574デフォルトの名無しさん
2007/02/27(火) 22:12:23またどうもです。
>516で出来るんならそれでいいとは思うが、
>出来なければ516で作った関数をデリゲートを介するようにすればいい。
>まあ、いろいろ試してみてください
片側のキー入力があったほうのコントロールから、Focusのないほうの
public な間接メソッド(=そこで OnKeyDown メソッドを呼び出すもの)
をコールして、そこに KeyEventArgs を投げてやってみたのですが、
OnKeyDown メソッド中で base.OnKeyDown() していてそこを通っている
にも関わらず、結果として Focusのない方のコントロールにはKey入力が
入っていっていないようでした。
原因が何なのかわかりませんが、これはやはりおっしゃっているように
deligate を使う必要がありそうでしょうか、それとも、外部からのKeyValue
の投げ込みはよりも、WindowMessageの送り込みでやるべきだということ
なのでしょうか。いろいろお聞きしてすみませんです。
0575デフォルトの名無しさん
2007/02/27(火) 22:13:56実際にキーが押されたことにはなるわけないじゃん
0576デフォルトの名無しさん
2007/02/27(火) 22:34:12なるほど、やっぱり無理だったでしょうか。
実現したい機能は>>510のようなことですが、
たとえばVS2005のコードエディタなどにありました、あのように
一つのテキストファイルをマルチ画面で表示できてさらに
片方の入力結果もう片側にもちゃんと反映しているようなもの
というのは、実際にはどうやって作られているのかわかりませんでした。
あれができているということは、なんらかの形で実現できるものと
思っていましたが、その場合はKeyイベントではなくてやはり
WindowMessageの送信が必要ということでしょうか?
0577デフォルトの名無しさん
2007/02/27(火) 22:37:560578デフォルトの名無しさん
2007/02/27(火) 22:38:14いや、必要なのはこつこつ基礎から学ぶ態度。
実現したい仕様を漏れなくかつ簡潔に人に伝えようとする努力。
0579デフォルトの名無しさん
2007/02/27(火) 22:51:310580デフォルトの名無しさん
2007/02/27(火) 23:01:24あ、なるほど漢字変換も対応が必要でした・・・やっぱり難しいかなぁ。
キーいちいち送っても変換までDualではやってくれないですかね。
>>578
目指すところは、結局VS2005で採用されているようなエディタにように
片方での入力を完全にもう一方にも反映させる機能でした。
>>579
確かにそれもありました、そのときに表示画面が元の位置まで
スクロールされて戻らなければならない点があり、その結果、>>507
のように対応しなければならないかもとも思ったのですが、、
もしキー入力がそのままもう一方にも届けばそうしなくても済むため、
その方法を知りたかったのでした。
0581デフォルトの名無しさん
2007/02/28(水) 00:16:11どうすればできますか?
0582デフォルトの名無しさん
2007/02/28(水) 00:21:360583581
2007/02/28(水) 00:30:06ListViewのViewをLargeIconとかDatailsとかにすると大きいアイコンや詳細表示になりますよね?
縮小表示も標準装備されてたらいいのですが、出来ますか?
出来なかったらどのように実装するか全然分からないので、考え方?を教えて欲しいです。
0584デフォルトの名無しさん
2007/02/28(水) 00:34:350585デフォルトの名無しさん
2007/02/28(水) 00:38:10http://www.atmarkit.co.jp/fdotnet/dotnettips/336listviewimage/listviewimage.html
0586デフォルトの名無しさん
2007/02/28(水) 00:42:15575の指摘は、OnkeyDownをラップしているpublicな間接メソッドの
引数がおかしいのでは?っていう意味。
デリゲートは気にしなくていい
OnKeyDownの引数のKeyEventArgsはきちんと渡しているの?
(ここに、どのキーが押下されたかの情報が入ってる)
>>583
縮小画像というのは、Jpeg等の通常の画像?
それをどこに表示したいの?
とか、もうちょっと詳細な情報があった方が…
0588デフォルトの名無しさん
2007/02/28(水) 00:52:26ASP.NET1.1/VS2003でWebアプリケーションを作成しています。
コードビハインドのPage Loadで、テキストボックスに属性を追加する
静的メソッドを持った以下の共通クラスを作ってみました。
--
using Sytem; using Sytem.Web.UI; using Sytem.Web.UI.WebControls;
namespace hoge{
public class WebControlUtil{
public WebControlUtil {}
public static void AddAttribute(TextBox tb , Page pg){
tb.Attributes.add("bluer","JavaScriptの関数(" + pg.FindControl(tb.ID).ClientID) + ");"); ※
}
}
}
--
上記のメソッドをコードビハインドのPage Loadで呼び出して、
WebControlUtil.AddAttribute(textbox, Page);
のように呼び出したのですが、※のラインで
「オブジェクト参照がインスタンスに設定されていません」というエラーが
出てしまいます。
私としてはtextboxとPageはインスタンスになっているのでエラーが出る原因が
分かりません。なぜえらーになってしまうのでしょうか?
よろしくおねがいします。
0589デフォルトの名無しさん
2007/02/28(水) 00:58:110590デフォルトの名無しさん
2007/02/28(水) 01:06:22一応KeyEventArgsもシグネチャ通り渡したのですが、入力されて
行かなかったのでした。とりあえず、完全に同じようにはなりませんが
Textを丸ごとコピーする方法で今回はよしとし、またいつかトライして
みたいと思います。
皆様大変どうもありがとうございました。
0591デフォルトの名無しさん
2007/02/28(水) 07:17:11よくわからなければ保存してリアルタイムでエンコードかけようかと思ってるんですが、
C#でやるのはどのような手順を踏めばいいでしょうか?
0592デフォルトの名無しさん
2007/02/28(水) 07:30:500593デフォルトの名無しさん
2007/02/28(水) 12:54:05http://www.atmarkit.co.jp/fdotnet/dotnettips/280getappicon/getappicon.html
この方法でもアイコンが取得できない場合があり、そのときに
一般的なアイコンを仮に使うようにしたいと思いました。
拡張子ごとのアイコンが取得できないかと思っているのですが、
たとえば url.dll にあるアイコンとかを.NETのクラスで個別に取得する
ことなどは可能でしょうか。
0594デフォルトの名無しさん
2007/02/28(水) 13:49:36一般的なアイコンが取得できるのなら、>>593の方法でも取得できるんじゃないの?
>この方法でもアイコンが取得できない場合があり
もともと、アイコンが設定されてないものから取得は出来ないと思うんだけど
一応Iconクラスで2.0以降からアイコンの取得は出来るようになってるけど、
結果は多分>>593と同じだと思う
0595デフォルトの名無しさん
2007/02/28(水) 13:49:52フォームの大きさを変えたとき、それに合わせて自動的にListViewの大きさを変えるには
どうしたいいですか?
もしかすると、イベントハンドラに、自分で書かなければなりませんか?
0596デフォルトの名無しさん
2007/02/28(水) 13:50:39Anchorプロパティ or Dockプロパティ
0597デフォルトの名無しさん
2007/02/28(水) 13:56:46色の表現が変わってしまう
(Iconクラスのコンストラクタで取得したときと、保存したアイコンを表示した時の比較)
どんなかんじかというと、3万色から256色に減色されたような感じで
これって仕様?
0598デフォルトの名無しさん
2007/02/28(水) 14:01:42>一般的なアイコンが取得できるのなら、>>593の方法でも取得できるんじゃないの?
そうかもしれないのですが、ところが例えば
http://www.microsoft.com/downloads/details.aspx?familyid=0baf2b35-c656-4969-ace8-e4c0c0716adb&displaylang=en
のようなところのURLリンクファイルの場合、特別にアイコンが設定されているようで
あの方法で取得するとNullになってしまったのでした。
そこでその場合は urlリンクファイルに共通のアイコンを取得するべきなのか
とも思ったのでした。
0599デフォルトの名無しさん
2007/02/28(水) 14:16:47仕様です
0600デフォルトの名無しさん
2007/02/28(水) 14:22:28リンク先は関係無いよね。一応見てみたけど。
>そこでその場合は urlリンクファイルに共通のアイコンを取得するべきなのか
多分、拡張子がlnkのファイルを指していると思うんだけど
そうだとすると、そこにはリソース(ここでいうところのアイコンの画像)は埋め込まれていない。
エディタで見てみると分かる。
そのかわりに、IconFileと書かれているところに画像があるから、そこから取得していくようになってるぽい。
つまり、exe形式のように実体がアイコンとして埋め込まれているのではなく、
lnkファイルにアイコンリソースの埋め込み先のURLが書かれている。
アプリでアイコンファイルがあるURLの先まで追っていけば、もしかしたら(いや多分)
>>593でも取得できるかもしれない
少なくとも、画像としての取得は可能だからアイコンに変換することは出来る
0601デフォルトの名無しさん
2007/02/28(水) 14:23:26サンクス
そうなのか
まあ、自分用のアプリで見た目以外になんも困ってないからいいけど
0602600
2007/02/28(水) 14:26:18日本語が分かりづらいのでちょい補足
『lnk形式でアイコンを表示しているアプリは』を前に補ってください
0603デフォルトの名無しさん
2007/02/28(水) 14:36:37例えばGoogleのは
http://www.google.co.jp/favicon.ico
0604デフォルトの名無しさん
2007/02/28(水) 14:55:19システムにキャッシュが残ってればFaviconが返ってくるよ。
そうでないときは.urlファイルのデフォルトアイコン。
0605デフォルトの名無しさん
2007/02/28(水) 14:55:56教えて戴き感謝です、どうも現象がこのアドレスのショートカットの場合だけ
起こるので不思議に思ってましたが、そういう場合にも対応可能にしないとと思ったのでした。
Lnkファイルの場合は内部構造が難しくてわたしにはわかりそうもありませんので
またググってみます。
IEなどからのD&Dで作成したURLリンクファイルの場合は、拡張子がurlでしたが、
通常は一般的なURLリンクファイル用のアイコンが取得できていますので、
>>593の方法で普通は取れるのだと思います。
ただ何かの場合に取れないケースがあるので、その場合の応急対策をと考えました。
この場合だけに起こる理由もまた考えてみます。
0606デフォルトの名無しさん
2007/02/28(水) 14:57:42簡単にできる(イメージの取得は確認済み。アイコンはやったことがない)
XmlUrlResolver resolver = new XmlUrlResolver();
Uri fulluri = new Uri(href);
System.IO.Stream stm = (System.IO.Stream)resolver.GetEntity(fulluri, null, typeof(System.IO.Stream));
image = Image.FromStream(stm);
hrefはstring型でURLを指定。Image.FromStreamをIconクラスのコンストラクタで置き換えれば
多分いける
0607デフォルトの名無しさん
2007/02/28(水) 14:59:43のコードって、アイコンハンドル解放してなくね?
Cloneしたほうを使ってhIConはDestroyIconすべきじゃないか
0608デフォルトの名無しさん
2007/02/28(水) 15:00:48やっぱり普通は返ってくるんですよね、どうしてだろ・・・・
ここのアドレスだけだめなので、またなんとかがんばってみます。。。。
>>606
ソースまでありがとうございます。またがんばってみます。
0609デフォルトの名無しさん
2007/02/28(水) 20:40:01http://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
0610デフォルトの名無しさん
2007/02/28(水) 20:43:13新スレ立てちゃった・・・・・・
0611デフォルトの名無しさん
2007/02/28(水) 20:58:410612デフォルトの名無しさん
2007/02/28(水) 21:20:23FOXが悪いんだよ気にするな。
0613デフォルトの名無しさん
2007/02/28(水) 21:23:17ありがとう。そしてごめんね
0614デフォルトの名無しさん
2007/02/28(水) 22:26:38http://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をローカルで見れる。
0615デフォルトの名無しさん
2007/03/01(木) 00:20:11ジェネリックだの、デリゲートだの、インデクサだの・・・
全部覚えてられん
Cは単純だったのになぁ
0616デフォルトの名無しさん
2007/03/01(木) 00:38:41ならCでいいじゃん。
0617デフォルトの名無しさん
2007/03/01(木) 00:41:400618デフォルトの名無しさん
2007/03/01(木) 01:23:37子フォームをいくつかShowして
その子フォームの順番を知りたいのですがどうしたら良いのでしょうか?
AForm
BForm
CForm
というのがAFormが一番上、
BFormが真ん中、
CFormが一番下で重なっているようなイメジージです。
0619デフォルトの名無しさん
2007/03/01(木) 19:27:280620デフォルトの名無しさん
2007/03/01(木) 19:34:15WinFormsなら親フォームのプロパティを変更するだけ
0621デフォルトの名無しさん
2007/03/01(木) 19:47:140622デフォルトの名無しさん
2007/03/01(木) 20:10:49だいたい分かるじゃん。
それがRADってもんの利点の一つなんでは?
0623デフォルトの名無しさん
2007/03/01(木) 20:12:38すいません、出直してきますorz
0624デフォルトの名無しさん
2007/03/01(木) 20:38:03これって.NETのバグですかね?
ttp://search.yahoo.co.jp/search?p=test&ei=UTF-8&n=100
0625573
2007/03/01(木) 20:52:57VBのredimと勘違いしてました
そうそう!List<>出来ましたよ!!
ググって初めて分かったんですが、コレがジェネリックってやつなんですね!!
Stringbuilderとの組み合わせでかなり早くなりました。
ありがとうございました
0626デフォルトの名無しさん
2007/03/01(木) 21:14:12C#によるプログラミング Microsoft Windows(上)(下)
これがおすすめ。
0627デフォルトの名無しさん
2007/03/01(木) 21:25:19すぐバグバグ言うやつの脳味噌がバグってるというのが定説
0628デフォルトの名無しさん
2007/03/01(木) 21:35:13やりたいことは、一般的に印刷可能な形式のファイル、
ワード、エクセル、パワーポイント、一太郎、画像、テキスト、HTML等を
PDFに変換することです。
Acrobatが入っている前提なので、プリンタとしてAcrobat PDFが入っており、
手動でそれを指定して印刷してやると、PDFとして吐き出してくれます。
聞きたいことは、C#+.NETで上記のようなファイルを印刷する(Acrobat PDFに渡してやる)方法です。
ネットで調べたところ、文字列と画像はSystem.Drawing.Printing.PrintDocument でprintで
印刷できることが分かりました。
しかし、いくら調べてもそれ以外のドキュメントを印刷する方法が分かりませんでした。
それさえわかれば、PrinterSettings.PrinterNameでAcrobat PDFを設定してやり、
印刷してやればPDFを作ってくれると思うのですが…。
よろしくお願いいたします。
画像の印刷のサンプルコードはここで確認しました。
ttp://dobon.net/vb/dotnet/graphics/printdocument.html
0629デフォルトの名無しさん
2007/03/01(木) 21:53:250630デフォルトの名無しさん
2007/03/01(木) 22:12:15これは、勝手にRCWを解放しようとしてるために起こっているようなのですが、勝手にRCWを解放するのを
抑制するにはどうしたらいいですか?
0631デフォルトの名無しさん
2007/03/01(木) 22:22:49プリンタを列挙してもAcrobatPDFとやらは出てこないの?
foreach (string name in System.Drawing.Printing.PrinterSettings.InstalledPrinters){
Console.WriteLine(name);
}
0632デフォルトの名無しさん
2007/03/01(木) 22:27:31プリンタはどうにかするみたいだけど、
一太郎のオブジェクトが作れないと言ってるんじゃないの?
0633デフォルトの名無しさん
2007/03/01(木) 22:31:02> >>628
> プリンタを列挙してもAcrobatPDFとやらは出てこないの?
> foreach (string name in System.Drawing.Printing.PrinterSettings.InstalledPrinters){
> Console.WriteLine(name);
> }
いや、でてきますし指定もできますが…。
画像ファイル以外の印刷可能なファイルを、PrintDocumentのオブジェクトに渡す方法がわからないのですが…。
画像ファイルなら
//画像を読み込む
Image img = Image.FromFile("test.bmp");
//画像を描画する
( System.Drawing.Printing.PrintPageEventArgs ) e.Graphics.DrawImage(img, e.MarginBounds);
という処理をPrintPageEventHandlerに関連づけられたメソッドの中でやれば印刷できますよね。
実際これでPDF化できましたし…。
わからないのは、画像以外のファイルを印刷する方法です。
画像じゃないのでDrawImageは使えないし、かといってDrawFileとかDrawStreamとかいうメソッドもないですし…。
0634デフォルトの名無しさん
2007/03/01(木) 22:31:52だから君には無理だと言ってるだろ?
0635618
2007/03/01(木) 22:33:100636デフォルトの名無しさん
2007/03/01(木) 22:34:23俺にはお前が何を言ってるか分からん。
0637デフォルトの名無しさん
2007/03/01(木) 22:37:18COMでも叩いとけ
0638デフォルトの名無しさん
2007/03/01(木) 22:38:45一太郎のCOMの使い方知ってるのか?
0639デフォルトの名無しさん
2007/03/01(木) 22:40:09GDI上にレンダリングすればいいんじゃね
0640デフォルトの名無しさん
2007/03/01(木) 22:41:060641624
2007/03/01(木) 22:43:04再現パターン晒しておきます
WebBrowserコントロールに以下の内容のファイルをDrop
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<a href="http://wrs.search.yahoo.co.jp/S=2114736020/K=test/v=2/SID=w/l=DNWBB/;_ylt=A8vY4SGv0eZFNhQAfsmUTwx./SIG=12ae79n8l/EXP=1172841263/*-http%3A//search.yahoo.co.jp/search?p=test">ウェブ</a>
<br>
<a href="http://wrs.search.yahoo.co.jp/S=2114736020/K=test/v=2/SID=w/l=DNWBB/;_ylt=A8vY4SGv0eZFNhQAfsmUTwx./SIG=12ae79n8l/EXP=1172841263/*-http%3A//search.yahoo.co.jp/">ウェブ</a>
</body>
</html>
StatusText上は取得不可、下は可能です
0642デフォルトの名無しさん
2007/03/01(木) 22:43:30kwsk
0643デフォルトの名無しさん
2007/03/01(木) 22:53:15クラスBに参照渡しで渡したとします
そしてクラスBの中でそのフレームインスタンスに対して
コントロール(メニュー含む)追加や削除など
色々と操作することはオブジェクト指向的に違反ですか?
0644デフォルトの名無しさん
2007/03/01(木) 22:56:020645デフォルトの名無しさん
2007/03/01(木) 22:56:470646デフォルトの名無しさん
2007/03/01(木) 22:59:21参照渡しにする意味がわからんが、問題ないだろ
0647624
2007/03/01(木) 23:05:27単にURLが長すぎてステータスバーに入り切らなかっただけっぽい。
0648デフォルトの名無しさん
2007/03/01(木) 23:10:450649デフォルトの名無しさん
2007/03/01(木) 23:10:560650643
2007/03/01(木) 23:12:12フレーム → フォーム です
動的にコントロールを追加/削除するのもアリですか?
0651デフォルトの名無しさん
2007/03/01(木) 23:12:360652デフォルトの名無しさん
2007/03/01(木) 23:14:240653デフォルトの名無しさん
2007/03/01(木) 23:24:13についてるヘルプは、Visual C++に比べて分かりにくいし、クラスが全て載ってるわけじゃないし
ゼロから勉強する人は本買う必要あるかも
0654デフォルトの名無しさん
2007/03/01(木) 23:40:52いわゆるZオーダーって奴のことだよね。
たぶん組み込みの機能としては用意されてないと思うけど、比較的簡単に実装できないか?
例えばこんな感じ。
1) 各子フォームにZOrderというプロパティを実装する
2) 自分がActiveになったとき、ZOrder = 0
3) 自分よりZOrderが小さい(小さかった)他のフォームがActiveになったとき、--ZOrder
0655デフォルトの名無しさん
2007/03/01(木) 23:58:16計算結果を小数点第1位で四捨五入したいのですが、うまくいきません。
ソースは
static void Main()
{
double Height,Weight,bmi;
string Figure="不明";
System.Console.WriteLine("身長を入力してください 単位(m)");
Height=Double.Parse(Console.ReadLine());
System.Console.WriteLine("体重を入力してください 単位(kg)");
Weight=Double.Parse(Console.ReadLine());
bmi=Weight/(Height*Height);
if(bmi>=25)
{
Figure="肥満";
}
else if(bmi>=18.5)
{
Figure="標準";
}
else if(bmi>=0)
{
Figure="やせ";
}
System.Console.Write("あなたのBMIは[");
Console.Write("{0,f1}]で",bmi);
Console.WriteLine("[{0,0}型]です",Figure);
}
このようになっています。
どうすれば四捨五入してくれるのでしょうか。
0656デフォルトの名無しさん
2007/03/02(金) 00:10:04検索を便利に使おうね。
0657デフォルトの名無しさん
2007/03/02(金) 00:16:29{0:0}
0658デフォルトの名無しさん
2007/03/02(金) 09:20:03テキストボックス入力時に、「xxxxxxxxx」と打ったら
自動的に「xxx.xxx.xxx」となるようにしたいのですが
どうしたらいいかまったく思い浮かびません。
検索ヒントだけでもご助言頂けると助かります。宜しくお願いしますー
0659デフォルトの名無しさん
2007/03/02(金) 09:29:050660デフォルトの名無しさん
2007/03/02(金) 09:30:03いいのではなかろうか。
0661デフォルトの名無しさん
2007/03/02(金) 09:34:10表示したいと思っています。
私の言葉が足りなくて申し訳ないです。
>660
一度やってみますね。助言ありがとうございました!
0662デフォルトの名無しさん
2007/03/02(金) 09:36:32とはちがうの?
0663デフォルトの名無しさん
2007/03/02(金) 09:40:19自動的に「123.456.789」または「123/456/789」というように、
3桁ごとに区切りを入れたいのですー
表現が悪くて誤解を招いてしまい、申し訳ないです。
ありがとうございますー
0664デフォルトの名無しさん
2007/03/02(金) 09:59:360665デフォルトの名無しさん
2007/03/02(金) 10:14:41>>635
Win32のGetNextWindowを呼ぶとZオーダー順にウィンドウハンドルを返してくるので
順番に付き合わせればわかると思います。使い方は面倒くさいから調べて。
Control.FromHandleとかいうのも便利かもしれません。
0666デフォルトの名無しさん
2007/03/02(金) 11:02:16GetNextWindowはヘルプには出てくるけどuser32.dllにないようだ。
そういえばEnumChildWindowsというのも思い出しました。
0667デフォルトの名無しさん
2007/03/02(金) 11:09:090668デフォルトの名無しさん
2007/03/02(金) 11:18:36WinFormsで分からないことがあったらとりあえず、MSDNの.NET Framework クラス ライブラリで
対象のクラスのパブリックプロパティ・パブリックメソッドの説明を読み、それで実装できなければ
Win32APIの処理で実装できるか探す。
それでも分らないときに聞いた方がいいと思うよ。他人からレスがくるまで開発が遅れるのは無駄
だから。
0669デフォルトの名無しさん
2007/03/02(金) 15:02:01private void listBox1_DrawItem(object sender, DrawItemEventArgs e){
e.Graphics.FillRectangle(Brushes.Black, e.Bounds);
if(e.State == DrawItemState.Selected)
e.Graphics.FillRectangle(Brushes.Blue, e.Bounds);
Brush myBrush = Brushes.White;
Font myfont = new Font("FixedSys", 10);
e.Graphics.DrawString("あほ"
, myfont,Brushes.White,e.Bounds.X,e.Bounds.Y,StringFormat.GenericDefault);
e.DrawFocusRectangle();
}
こんな感じでやると、選択時背景色の青の表示が上手くいかないんですが……。
スクロールさせている間は選択アイテムの背景は青になるんですけど、通常状態では黒のまま。どういう方法が良いのでしょうか?
0670デフォルトの名無しさん
2007/03/02(金) 15:35:12と、コンパイル時に警告が出たんですが、代わりに何を使えば良いんでしょうか?
0671デフォルトの名無しさん
2007/03/02(金) 15:37:03TextBoxで処理をしようかと思い、作業をしていました。
TextBoxが200個を超えた頃からTextBoxの名前を変更するのにも遅くなってしまいました。
ひょっとしてTextBoxを多数並べるよりもいい方法があるのでしょうか?
Labelも考えたのですが、Borderの部分が固定できずに挫折しました orz
0672デフォルトの名無しさん
2007/03/02(金) 15:37:59GetHostEntry()かなあ?
0673デフォルトの名無しさん
2007/03/02(金) 16:21:31http://msdn2.microsoft.com/ja-jp/library/system.net.dns.resolve(VS.80).aspx
なんのためにMSDNがあると思っているんだ
0674デフォルトの名無しさん
2007/03/02(金) 16:36:220675デフォルトの名無しさん
2007/03/02(金) 17:09:12リストボックスは使わないの?
0676デフォルトの名無しさん
2007/03/02(金) 17:47:24Formsは描画にCPUリソース大量に消費するからコントロールを多数配置するのは厳禁だよ。
Excelみたいなスプレットシートを実装したいのかな?
0677671
2007/03/02(金) 18:06:20リストボックスは使ってないです。
使った方がスマートなんですか?
>>676
Excelみたいなものが実装できるのが一番の理想です。
ある行の背景に色をつけたりとかできるならなんですけど…。
現在はTextBoxを使っていてデータを表示する際にはループで計算したものを
貼り付けさせてます
0678デフォルトの名無しさん
2007/03/02(金) 18:08:400679デフォルトの名無しさん
2007/03/02(金) 18:09:31DataGrid?
0680671
2007/03/02(金) 18:15:09リストビューとDataGridどちらかでやるのが一番のような気がしてきました。
(完全に頭の中から抜け落ちてました)
DataGridで頑張ってみようかと思います。
(特定の行に色のつけ方で詰まりそうな予感が…orz)
お答えいただいた方々、ありがとうございました。
0681デフォルトの名無しさん
2007/03/02(金) 18:23:01既存ライブラリならこれで
.NET Framework 2.0のWindowsフォーム新機能(前編)
http://www.atmarkit.co.jp/fdotnet/special/win20review01/win20review01_01.html
商用ライブラリならこれで
SPREAD for .NET Windows Forms Edition
http://www.ipublisher.jp/netmag/se200501-01.xml
0682デフォルトの名無しさん
2007/03/02(金) 20:17:350683デフォルトの名無しさん
2007/03/02(金) 22:35:41別のところでは動かせない状態でした。どっちもToolStripPanelには置いてあるのですが、
両者のプロパティの差は無いように見えます。何かを操作してどこであっても動かせる
ようにすることはできるでしょうか、
またToolStripPanel以外のPanelなどに置いた場合にも動かせない状態になっていましたが、
ToolStripは必ずToolStripPanelやToolStripContainerにおくべきでしょうか。よろしくお願いします。
0684デフォルトの名無しさん
2007/03/02(金) 22:43:360685683
2007/03/02(金) 22:59:32別のところとは別のフォーム(正確には別のユーザーコントロール)の中という意味でした。
最初に使ったところでは初めから動かせていたので動くのが普通なのだと思ったのですが、
あるとき別のユーザーコントロールを作っておいてみると、そこでは動かせなくなっていました。
ToolStripというのは、動かせるのがデフォではないのかと初めて気が付きました。
0686デフォルトの名無しさん
2007/03/02(金) 23:33:45http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=23085&forum=7
ここにあるのと同じことをしようとしたのですが、ここだとハンドルの取得方法が
FindWindowで取得するようになっています。しかし、ウインドウタイトルがしょっちゅう
変わるのでFindWindowが使えません。
このような場合、ウインドウのハンドルはどのように取得すればいいでしょうか?
また、Messageを取得できたとしても、
>st = (COPYDATASTRUCT)m.GetLParam(typeof(COPYDATASTRUCT));
の所でSEHExceptionを吐いて止まってしまいます。これは何が原因なのでしょうか?
0687デフォルトの名無しさん
2007/03/02(金) 23:49:12EnumWindows とかの Win32API を使うとかもある
SendMessage でブロードキャストして応答を待つとか言う手もある
後者はなんか変なコトしてるんだろ
0688デフォルトの名無しさん
2007/03/03(土) 00:01:56ありがとうございます。
GetProcessByNameを試したのですが、ここに投げたMessageは
どこに行くのでしょうか?メインウインドウや他のウインドウには
届いてないみたいですが…
後者は、日本語が原因っぽいです。
0689デフォルトの名無しさん
2007/03/03(土) 00:14:31あとエラーはちゃんと調べろ。SEHException なら ErrorCode 出るだろ。
0690デフォルトの名無しさん
2007/03/03(土) 00:37:46OnPaintメソッドを呼びたいのですが、引数のPaintEventArgsとかは何を
渡せばいいんでしょうか。それともこの描画方法は間違ってますか
0691デフォルトの名無しさん
2007/03/03(土) 00:43:32OnPaintの中に書いた内容を実行したいって話なら、その中身を
まるまる一つの別メソッドにして、OnPaintとそのボタン両方から
呼び出すようにしたら?
0692デフォルトの名無しさん
2007/03/03(土) 00:48:04そもそもOnPaint等のOn〜メソッドは、プログラマが自分で呼ぶものではなく、システムによって呼ばれるのを待つもの。
描画をおこなうべきタイミングでOnPaintが呼ばれるので、その中にプログラマがやりたい描画処理を記述しておく。
0693デフォルトの名無しさん
2007/03/03(土) 00:49:15OnHogehoge は呼ぶもんじゃなくて呼ばれるもの。
再描画して欲しいなら Invalidate を呼べばシステムが OnPaint を呼び出してくれる。
0694693
2007/03/03(土) 00:50:560695デフォルトの名無しさん
2007/03/03(土) 00:52:27ボタンのイベントハンドラがInvalidate()を呼び出してOnPaint()を実行する。
MSが推奨するイベントドリブンでいいと思うけど
0696695
2007/03/03(土) 00:54:090697デフォルトの名無しさん
2007/03/03(土) 00:56:520698デフォルトの名無しさん
2007/03/03(土) 00:58:170699デフォルトの名無しさん
2007/03/03(土) 01:00:12実際には、PaintEventArgsクラスをnewして自分で作る。
newするには、コンストラクタに描画対象の、Graphicsと描画領域の指定をすることになる。
OnPaintという関数にこだわらなければ、
そこのサンプル見れば、PaintEventArgsを貴方が作らなくていい例がある
(pictureBox1.Paintのあたりを見て)
0701デフォルトの名無しさん
2007/03/03(土) 01:03:36OnPaintはイベントハンドラだからをコードでよぶべきでないと。
0702デフォルトの名無しさん
2007/03/03(土) 01:04:59俺ならいくら初心者用スレっていってもこんな低レベルなこと知らない奴は、
それは知らないんじゃなくて単に知る気がない奴だと判断して放置するが。
こんなのネット上にだって解説してるところは複数個所あるだろ
0703デフォルトの名無しさん
2007/03/03(土) 01:06:020704デフォルトの名無しさん
2007/03/03(土) 01:08:390705デフォルトの名無しさん
2007/03/03(土) 01:09:47教えることにより、自分の知識の整理ができるから教えている。
教えたがらないプログラマーが多いことがむしろ残念なことだ。
0706デフォルトの名無しさん
2007/03/03(土) 01:11:17○教えることができないプログラマーが多い
0707デフォルトの名無しさん
2007/03/03(土) 01:13:39お前さん、くだらない揚げ足取りをする口はあっても
回答くれた人間に礼をいう口は持ってないんだな
0708デフォルトの名無しさん
2007/03/03(土) 01:14:340709デフォルトの名無しさん
2007/03/03(土) 01:16:45ああ、ごめん
>>690さんには不適だね。
上の指摘は理解してるつもりだけど、
アプリ上からイベント発生させたい場合とか、
On〜をよぶ必要がある場合もあるんじゃないかと思ってたんだけど。
例えば、イベントPaintに+=で複数のメソッドを登録した場合とか
0711デフォルトの名無しさん
2007/03/03(土) 01:35:47なんでもいいが、教える側が下手にでることはないと思うが。
0712デフォルトの名無しさん
2007/03/03(土) 01:36:34YOU TO LeeEEEEEEEEEEEEEEE
0713デフォルトの名無しさん
2007/03/03(土) 01:41:270714618
2007/03/03(土) 01:52:03その手の内容は心の中で思うもので
決して書き込んで人様に見せるものではないよね。
解説してみて得意げになりましたって自虐的にアピールしてこっちが恥ずかしくなる。
0715デフォルトの名無しさん
2007/03/03(土) 01:53:11イベントへのハンドラ登録は、本来
「ハンドラをイベントを持つコンポーネント・コントロールに永続化する事」
別の使い方をするのは一人で開発するなら問題ないけど、大規模になると
混乱のもとだよ。
0716690
2007/03/03(土) 02:11:24OnPaintメソッドについて調べてみても、オーバーロードのことばかりで
呼ぶ記述がなかったので悩んでたのですが、やはり直接呼ぶのは
ダメなんですね。
ちょっと考えたら、Paintイベントに登録するハンドラと、ボタンハンドラで
同じメソッドを呼べば簡単に実現しますね
あとInvalidate()についても調べてみます。どうもでした
0717デフォルトの名無しさん
2007/03/03(土) 02:13:440718690
2007/03/03(土) 02:30:46ハンドラから同じ関数を呼ぶってことです
でもやはりInvalidate()メソッド使ったほうがよさそうです
0719デフォルトの名無しさん
2007/03/03(土) 09:02:48もう大体理解できたかもしれないけど、.NET のコントロールというのは、自分自身を
描画する責任は負っているけど、いつでも好き勝手に描画をしていいわけじゃないのね。
.NET Framework が、必要に応じて、「お前の再描画が必要になったので描画しる」と
命令するわけ。
OnPaint() メソッドというのは、その命令を受ける窓口として存在するものなので、
そこに自分で命令をするのはお門違いということ。
で、Invalidate() メソッドというのは、.NET Framework に対して、「再描画命令を
下してください」とお願いするためのものと思っておけばおk。
0721686
2007/03/03(土) 10:34:09>>689
エラーコードは-2147467259でしたが、文字列に日本語が含まれてると
発生するようです。
0722デフォルトの名無しさん
2007/03/03(土) 12:01:50以下について質問です。
�@サブアイテムのみを選択する方法ってありますか?
�A�@の状態で、サブアイテムのラベルを編集する方法はあるでしょうか?
どういうことをやりたいのかというと、
使い方的にはDataGridみたいな感じなのですが、
DataGridだと変に機能が手厚かったり、微妙に操作しにくいので、
リストビューをセルのように扱うことはできないかなと思いまして
質問させていただきました。
0723デフォルトの名無しさん
2007/03/03(土) 12:07:36codeproject とか漁ればその辺の拡張したコントロールが見つかりそうな気もするが。
0724デフォルトの名無しさん
2007/03/03(土) 12:09:20ありがとうございます。やっぱないですか・・・。
codeprojectをちょっと調べてみます。
なかったら自分で作ってみます・・・。
0725デフォルトの名無しさん
2007/03/03(土) 12:34:25あまり深入りしないほうが賢明だと思うよ。
ASP2.0はそれほど大きな変更はしばらくないから使っていてもいいけど。
WindowsアプリはMFC・WTL/ATL・FormsはWPFへ、WebアプリはASP2.0を使用
これが世の中の流れになる。
*注 WebアプリはJAVA+Ajax・JAVA+FlexなどMS以外の選択肢が多数あるけど
0726デフォルトの名無しさん
2007/03/03(土) 12:45:58っていうか、その発想って精神病んでる奴の発想だぜw
どうせ死ぬんだから刹那的に生きようっていう例の奴だな
0727デフォルトの名無しさん
2007/03/03(土) 12:55:09それがスイッチのように切り替わるのがWindowsOSなんだけど。
MSはすでに98まで切り捨ててるし、MSがOS上でサポートしなくなったら
移行しなければサポート切れのOS上でアプリ動かすことになるよ。
0728デフォルトの名無しさん
2007/03/03(土) 13:05:320729デフォルトの名無しさん
2007/03/03(土) 14:12:30http://www.codeproject.com/cs/miscctrl/EXListView.asp
0730デフォルトの名無しさん
2007/03/03(土) 14:42:490731デフォルトの名無しさん
2007/03/03(土) 14:45:30XPも期限延びなかったか?
0732デフォルトの名無しさん
2007/03/03(土) 14:47:030733デフォルトの名無しさん
2007/03/03(土) 14:55:10xamlも面白いけどそれだけって感じ。
英文読んでるけど関係代名詞や接続死のおかげで意味が分かり辛いorz
0734デフォルトの名無しさん
2007/03/03(土) 15:11:16XPとVistaがメインの環境になったら開発生産性や開発者とデザイナーの分業を推進するために
Windowsアプリのリプレースでは一番の候補にあがることは確実ではあると思う。
ただ、3Dグラフィック処理については軽量化とプログラミングが容易にならないと普及しない。
0735デフォルトの名無しさん
2007/03/03(土) 15:30:43既存のXPのマシンってあんまりビデオカードの性能いいの載ってないし。
0736デフォルトの名無しさん
2007/03/03(土) 21:36:30ビデオカードの性能高いのはいらないよ。
業務アプリなら3Dいらないから。
0737デフォルトの名無しさん
2007/03/03(土) 21:59:10いまだにMFC使ってるところとかあるし
スイッチ切り替えられちゃってんのお前なんじゃね?
0738デフォルトの名無しさん
2007/03/03(土) 22:17:20>FormsはOrcas(.NETFramework3.5)でWPFに移行
って何の話かわからないわたし。
0739デフォルトの名無しさん
2007/03/03(土) 23:14:16WPFの出始めは、糞UIのソフトがごろごろでてくるんだろうなあ。
0740デフォルトの名無しさん
2007/03/03(土) 23:34:01FormsとWPFはMVCモデルでいうところのViewだから競合しているんだよ。
現在、WPFは3Dは重いしバグも多いのは事実だけどOrcasではバグはつぶれてるだろうし。
Formsの問題点はGPUパイプラインをサポートしてないことと余計な描画処理が多すぎるからWPF後は衰退するだけだと思う。
MFCからリプレースというのは、C++ネイティブはDLLヘルやサンドボックスなどのセキュリティ対策がないのも
問題だし、クライアントアプリを配布するのにCDなどに焼いて渡すのも運用管理でも問題がある。
.NETFrameworkでIISサーバからクライアントアプリをClickOnceで配布すればバージョン管理もできるし、
ランタイムの更新もほぼ、自動で行える。
プログラムの容易性だけでなくてTCOを考えるとクライアントがWindowsXP以降限定なら
WPFでClickOnceが一番TCOが低く抑えられるってことが考えられるわけ。
0741デフォルトの名無しさん
2007/03/03(土) 23:36:020742デフォルトの名無しさん
2007/03/03(土) 23:46:34もはや MS はホビーユーザ近辺には関心がないんじゃないかと思わざるを得ない
0743デフォルトの名無しさん
2007/03/03(土) 23:59:37すみませんでした。
巣に帰ります。
0744デフォルトの名無しさん
2007/03/03(土) 23:59:440745デフォルトの名無しさん
2007/03/04(日) 00:16:07グラフィックアダプターのドライバ依存のためかマウスの
位置がかぶると描画が消える部分ができてしまうのですが、
Labelなどでも実現できますでしょうか。
0746デフォルトの名無しさん
2007/03/04(日) 00:21:570747デフォルトの名無しさん
2007/03/04(日) 00:32:05そんな文章書くと日本語でオッケって書かれるよw
0748デフォルトの名無しさん
2007/03/04(日) 01:15:27>グラフィックアダプターのドライバ依存
では全然なくて単にPaintイベントで描画してないってオチでしょ?
横書きして同様になったとしてもやっぱりグラフィックアダプターのドライバ依存ですか?
0749デフォルトの名無しさん
2007/03/04(日) 01:44:532つモニターがあって、、片方のモニターではそういう現象が起こらず、
もう片方では、同じ部分の描画文字なのに、マウスで一瞬の間部分的に
消されていました。それで、またもう一方のモニターの中に戻すとそういうことは
やはり起こらないのでした。それでどうもグラフィックボードの出力ポート
依存性があるかと思われ、そのように推測したのでした。
それと、やはり縦書きラベルとかはないものでしょうか?
0750デフォルトの名無しさん
2007/03/04(日) 01:46:40あ、それから確かにPaintイベントの中で描いているのですが、
そうなってしまうのでした。そういうことは普通はやはり起こらないですか?
0751デフォルトの名無しさん
2007/03/04(日) 01:58:16十分検証した上で言ってるのそれ?
現象が再現できる簡単なコードさらしてみたら?
ダメな奴ほどバグバグ言いたがる法則だと思うよ正直
0752デフォルトの名無しさん
2007/03/04(日) 02:13:45使いにくいんだよう。
0753デフォルトの名無しさん
2007/03/04(日) 02:30:01こんな感じなのですが、どうでしょうか。一応動作自体にはNGはないようです。
やはりアダプタが古いせいではないかと思うのですが・・・。片方のモニターでは
問題がないのです。
Private Panel1_Paint(Object sender, System.Windows.Forms.PaintEventArgs e)
{
Display(drawString);
}
Private Display(String drawString)
{
Graphics g = pnlNowTask.CreateGraphics();
Font fnt = new Font("@MS ゴシック", 9, FontStyle.Regular);
String Format = new StringFormat();
sf.FormatFlags = StringFormatFlags.DirectionVertical;
sf.Alignment = StringAlignment.Near;
sf.LineAlignment = StringAlignment.Near;
g.Clear(Color.FromKnownColor(KnownColor.Control));
g.DrawString(drawString, fnt, Brushes.DodgerBlue, 1.0F, 20.0F, sf);
fnt.Dispose();
g.Dispose();
}
0754デフォルトの名無しさん
2007/03/04(日) 02:31:36ちなみにそれって、CodeAccessSecurityの関係でですか?
できればもう少し詳しく。
0755デフォルトの名無しさん
2007/03/04(日) 02:33:500756デフォルトの名無しさん
2007/03/04(日) 02:34:340757デフォルトの名無しさん
2007/03/04(日) 02:38:470758デフォルトの名無しさん
2007/03/04(日) 02:39:230759デフォルトの名無しさん
2007/03/04(日) 02:48:51ちげーよ
0760デフォルトの名無しさん
2007/03/04(日) 02:50:45そうですね。もう寝ますね、、それで寝る前にもう一つ質問書かせてください。
.NETではDataGridViewをデータベースとは無関係にただの表形式表示として
使っても別に構わないでしょうか。まだあまり調べてないままなのですが、
単純に以前のMSFlexGridの代用みたいに使えるものでしょうか。
それではまた明日お願いします。
0761デフォルトの名無しさん
2007/03/04(日) 02:51:45そちらもまた明日教えてください、ではまた。
0762デフォルトの名無しさん
2007/03/04(日) 10:14:25質問する前にMSDNライブラリ読め、な。
ttp://msdn2.microsoft.com/ja-jp/library/system.windows.forms.datagridview.datasource(VS.80).aspx
> DataGridView クラスは、標準の Windows フォーム データ バインディング モデルをサポートします。
> つまり、データ ソースには、次のいずれかのインターフェイスを実装する任意の型を使用できます。
> * IList インターフェイス。1 次元配列を含みます。
> * IListSource インターフェイス。DataTable クラス、DataSet クラスなどがあります。
> * IBindingList インターフェイス。BindingList クラスなどがあります。
> * IBindingListView インターフェイス。BindingSource クラスなどがあります。
0763デフォルトの名無しさん
2007/03/04(日) 12:12:14それ本当に実行して確認したコード?
実行時に例外でると思うけどなあ。。
とりあえずPaintイベントでもらったGraphicsをDisposeしちゃダメだろうw
0764デフォルトの名無しさん
2007/03/04(日) 12:15:140765デフォルトの名無しさん
2007/03/04(日) 12:28:06プロパティの値に応じてちゃんとダブルバッファリングされるように、e.Graphics使ったほうがいいよ。
0766デフォルトの名無しさん
2007/03/04(日) 12:28:11Graphicsを引数でもらってるんじゃなくて、
PaintイベントだろうがなんだろうがCreateGraphicsしてるのか。
よけい酷いじゃんw
0767デフォルトの名無しさん
2007/03/04(日) 12:38:12tcpから接続元のIPを調べる方法を教えてください
0768デフォルトの名無しさん
2007/03/04(日) 12:46:14((IPEndpoint)tcp.Client.RemoteEndpoint).Address
0769デフォルトの名無しさん
2007/03/04(日) 13:15:48いや、実行時エラー以前にコンパイル通らないと思うよw
0770デフォルトの名無しさん
2007/03/04(日) 13:16:17同じパソコンでクライアントとサーバーを試しているせいか127.0.0.1が返って来ましたorz。
ありがとうございます。
0771デフォルトの名無しさん
2007/03/04(日) 13:31:05どうもありがとうございます。
そこで e.Graphics を使ってもやってみましたが、
ただどうも結果は同じようなのです。
もともとOKのモニターでは問題なくできますが、問題だった方の
モニターではやはり描画した直後のマウスカーソルのかぶった
ところだけ消えてました。
やはりこのボードがずいぶん古いのかなと思います。
この問題の方のモニターでは、テキストボックスやコンボボックスの
テキスト表示部でも、その枠線の一部分がマウスで消えてしまう現象が出てました。
やはり.NETのクラスで使っているグラフィックスの機能がそのポートを
制御しているドライバーのマウスカーソル制御と干渉するのではないかと。。
これら以外の表示では今のところは大丈夫ですが・・・
0772デフォルトの名無しさん
2007/03/04(日) 13:32:50ビルドは問題なくできてました。
e.Graphics使う方でも、引数で渡してやりましたがビルドできていました。
0773デフォルトの名無しさん
2007/03/04(日) 13:37:56こちらもありがとうございました。
教えて頂いたMSDNを含め調べてみます。
この感じですと、CSVファイルとかにも直接対応して読み込めるようなので
使えそうですね。
0774デフォルトの名無しさん
2007/03/04(日) 13:58:24漏れがエスパーするに、君はいきなりDragDropイベントをキャッチしようとしているんだろう。
DragDropイベントを発生させるには、DragEnterイベントでドロップを許可しないとダメ。
ここのサンプルコードでも見とくんだな。
http://support.microsoft.com/kb/307966/ja
0775デフォルトの名無しさん
2007/03/04(日) 15:35:42DragEnterイベントに処理は書いているんですけどね・・・。
AllowDropプロパティをtrueにしてもDragEnterイベントがこないのです(´・ω・`)
書き忘れてましたが私の環境は
Windows XP Pro + VS2005SE
です。
0776デフォルトの名無しさん
2007/03/04(日) 15:42:170777デフォルトの名無しさん
2007/03/04(日) 15:52:05イベントハンドラをどこぞからコピペしてこなかったか?
フォームのプロパティからDragEnterイベントハンドラを生成してみてはどうかな。
0778デフォルトの名無しさん
2007/03/04(日) 15:53:50シャープだったんだ
0779デフォルトの名無しさん
2007/03/04(日) 15:57:02なんつって
0780775
2007/03/04(日) 15:58:49簡単にサンプル作ったのだけどやっぱりイベントが来ない・・・。
何か勘違いしてるんでしょうか?
class TestForm : Form
{
public TestForm()
{
this.DragEnter += new DragEventHandler(FormTest_DragEnter);
this.DragDrop += new DragEventHandler(FormTest_DragDrop);
this.AllowDrop = true;
}
void FormTest_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop) == true &&e.Data.GetDataPresent(DataFormats.Text) == true ) {
e.Effect = DragDropEffects.All;
} else {
e.Effect = DragDropEffects.None;
}
}
void FormTest_DragDrop(object sender, DragEventArgs e)
{
string[] fileNameList = (string[])e.Data.GetData(DataFormats.FileDrop, false);
if (0 < fileNameList.Length) {
MessageBox.Show(this, fileNameList[0]);
}
}
}
0781775
2007/03/04(日) 16:01:16class TestForm : Form
{
public TestForm()
{
this.DragEnter += new DragEventHandler(FormTest_DragEnter);
this.DragDrop += new DragEventHandler(FormTest_DragDrop);
this.AllowDrop = true;
}
void FormTest_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop) == true && e.Data.GetDataPresent(DataFormats.Text) == true ) {
e.Effect = DragDropEffects.All;
} else {
e.Effect = DragDropEffects.None;
}
}
void FormTest_DragDrop(object sender, DragEventArgs e)
{
string[] fileNameList = (string[])e.Data.GetData(DataFormats.FileDrop, false);
if (0 < fileNameList.Length) {
MessageBox.Show(this, fileNameList[0]);
}
}
}
0782デフォルトの名無しさん
2007/03/04(日) 16:04:320783デフォルトの名無しさん
2007/03/04(日) 16:05:04if (e.Data.GetDataPresent(DataFormats.FileDrop) == true && e.Data.GetDataPresent(DataFormats.Text) == true )
↓
if( e.Data.GetDataPresent( DataFormats.FileDrop ) || e.Data.GetDataPresent( DataFormats.Text ) )
にしてみそ
0784デフォルトの名無しさん
2007/03/04(日) 16:06:32実際そういうことでしょ?
0785デフォルトの名無しさん
2007/03/04(日) 16:07:16ひょっとすると、イベントはちゃんと起きてるけど、if 文の条件式が絶対に成り立たないから、
イベントが発生してないと勘違いしちゃってるんじゃないのかな。
e.Data.GetDataPresent(DataFormats.FileDrop) == true だけで試してみ。
0787デフォルトの名無しさん
2007/03/04(日) 16:11:090788デフォルトの名無しさん
2007/03/04(日) 16:12:190789775
2007/03/04(日) 16:12:53DragEnterイベントのif文にブレイクポイントを設定してデバッグで実行しています。
Loadイベントではブレイクポイントで止まるのでDragEnterイベントは発生してないとしか・・・。
0791デフォルトの名無しさん
2007/03/04(日) 16:15:29base.OnDragEnter(drgevent); // <- ここでブレークしたらどうなるよ?
}
0793デフォルトの名無しさん
2007/03/04(日) 16:17:37TestForm じゃなくて Form を Application.Run していた
0794デフォルトの名無しさん
2007/03/04(日) 16:18:33そっちを継承しちゃってるとか。
0795デフォルトの名無しさん
2007/03/04(日) 16:22:270796775
2007/03/04(日) 16:22:42フォームの呼び出しもApplication.Run(new TestForm());としてるよ。
どうしてだろ・・・(´・ω・`)
0797デフォルトの名無しさん
2007/03/04(日) 16:23:160798775
2007/03/04(日) 16:26:22クラスの定義を
class TestForm : Form
から
class TestForm : System.Windows.Forms.Form
に変更してみた。
やっぱりダメです・・・。
0799デフォルトの名無しさん
2007/03/04(日) 16:27:480800デフォルトの名無しさん
2007/03/04(日) 16:28:020802デフォルトの名無しさん
2007/03/04(日) 16:29:000803デフォルトの名無しさん
2007/03/04(日) 16:29:41using System;
using System.Windows.Forms;
public class Program {
[STAThread] public static void Main() {
Form f = new Form();
f.AllowDrop = true;
f.DragEnter += new DragEventHandler(Enter);
Application.Run(f);
}
private static void Enter(object sender, DragEventArgs e) {
MessageBox.Show(e.Data.GetDataPresent(DataFormats.FileDrop).ToString());
}
}
取りあえずこの辺から行ってみようか。
0805デフォルトの名無しさん
2007/03/04(日) 16:29:510807775
2007/03/04(日) 16:33:090808デフォルトの名無しさん
2007/03/04(日) 16:34:110809デフォルトの名無しさん
2007/03/04(日) 16:35:40+ typeof(global::System.Windows.Forms.Form).AssemblyQualifiedName);
はどうなってる?
0810デフォルトの名無しさん
2007/03/04(日) 16:37:09普通なら同じ文字列が2行出るはずやね。
0811775
2007/03/04(日) 16:39:15再起動してみます。
>> 809
以下のように・・・。
---------------------------
---------------------------
System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
---------------------------
OK
---------------------------
今、重要なことに気付いたのですが。
このPCには.NET Framework 3.0のランタイムもインストールされています。
これって関係大有りでしょうか・・・?
0812デフォルトの名無しさん
2007/03/04(日) 16:39:320813デフォルトの名無しさん
2007/03/04(日) 16:39:330814デフォルトの名無しさん
2007/03/04(日) 16:42:03> これって関係大有りでしょうか・・・?
.NET3.0でも、System.Windows.Forms.dllは.NET 2.0のものをそのまま参照しているから関係ないはず。
0815デフォルトの名無しさん
2007/03/04(日) 16:44:39アセンブリも間違ってないのかー謎だなあ
0816775
2007/03/04(日) 16:46:09しかし状況変わらずです・・・。
>>812
以下のようになっていました。
C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll
>> 813
それで困っているのです・・・。
>>814
そうですか・・・。
0817デフォルトの名無しさん
2007/03/04(日) 16:52:46あるいは、ExpressEditionを入れてそっちで試してみるとか。
0818デフォルトの名無しさん
2007/03/04(日) 16:56:21if( e.Data.GetDataPresent( DataFormats.FileDrop ) == true && e.Data.GetDataPresent( DataFormats.Text ) == true )
じゃファイルドロップのときtrueにならないぞ
0819775
2007/03/04(日) 16:56:400820デフォルトの名無しさん
2007/03/04(日) 16:57:10それはもうとっくに外出だって
0821デフォルトの名無しさん
2007/03/04(日) 16:58:230822デフォルトの名無しさん
2007/03/04(日) 16:59:240823775
2007/03/04(日) 17:05:230824デフォルトの名無しさん
2007/03/04(日) 17:06:270825デフォルトの名無しさん
2007/03/04(日) 18:30:51ドロップしようとしてないよね?
そうじゃないならダメ元でFormのデザイナのプロパティの方に
イベント追加してみ?
0826デフォルトの名無しさん
2007/03/04(日) 18:31:38コントロール→Formに設置したコントロール
0827デフォルトの名無しさん
2007/03/04(日) 18:39:390828デフォルトの名無しさん
2007/03/04(日) 18:51:59マジか…
俺の環境も壊れているようです orz
0829デフォルトの名無しさん
2007/03/04(日) 20:08:39DataGridView.DataSouce = DataSet.Tables[0];
としてデータ表示をしています
DataGridViewをソートさせDataGridViewをクリックした時に
クリックした場所のDataSetのRowIndexを取りたいのですが
どうすればいいですか?
普通にDataGridViewのRowIndexなら取れるのですが・・・
0830デフォルトの名無しさん
2007/03/04(日) 20:50:20そいつの Row を DataTable.Rows の IndexOf に掛けるとか。
BindingSource 使えばもうちょっとスマートな書き方ができたような気がするが思いだせん。
0831デフォルトの名無しさん
2007/03/04(日) 22:30:40よろしければ、「ClickOnceは業務アプリではなかなか使いにくい」 のか
教えてください。
ただ実は当方 ClickOnce の意味がいまいちまだ理解できてないわけでしたが
0832デフォルトの名無しさん
2007/03/04(日) 22:32:58ついての単刀直入な説明がなかなか探せないのです。
0833デフォルトの名無しさん
2007/03/04(日) 22:34:560834デフォルトの名無しさん
2007/03/04(日) 22:45:38Rowのヘッダーにテキストを設定することは可能なのでしょうか?
もし可能ならば方法を教えてください。お願いします。
0835デフォルトの名無しさん
2007/03/04(日) 22:46:45簡単に説明するとこんな感じ。
0836834
2007/03/04(日) 23:15:230837デフォルトの名無しさん
2007/03/05(月) 00:48:56C++じゃなくてC++++が由来だとか。
0838デフォルトの名無しさん
2007/03/05(月) 01:03:21正解
0839デフォルトの名無しさん
2007/03/05(月) 01:13:14XNAなんて"Xna is Not Acronym"だぜ?
0840デフォルトの名無しさん
2007/03/05(月) 01:14:520841デフォルトの名無しさん
2007/03/05(月) 01:40:00そういうことだったのですか、、
ありがとうございます、おかげでやっとわかりました。。。
.NETアプリケーションはZipにしておいて勝手にダウンロードさせて
自分のLocalのすきなところに展開してExeファイルをアイコンにして
もらえばそれでいい、ぐらいにしか考えてなかったので、
何をクリックするのかまったくわからないでいました><。。。
0842デフォルトの名無しさん
2007/03/05(月) 01:43:10という意味がますますわかりませんが、何か問題があるのでしょうか?
今後のことを考えるとちょっと気になるのですが。
0843デフォルトの名無しさん
2007/03/05(月) 02:08:27Webサーバで認証されたユーザだけダウンロードすれば、業務アプリで使うのに問題ないはずだけど、
使えない理由が俺にもわからない。
0844デフォルトの名無しさん
2007/03/05(月) 08:23:33使えないとか言い張る人間はどこにでもいるものだ。
大方普通のインストーラを作りたかったのにそういうものではなかったということかな。
0845デフォルトの名無しさん
2007/03/05(月) 11:22:55int i = 3000;
↑を 3,000 の様に桁区切りで表示する際には
i.ToString("###,###");
と文字列にする以外方法はありますでしょうか?
(理想としてはintのままにしておければ計算する際にわざわざまたintにする必要がないなと思いまして)
0846デフォルトの名無しさん
2007/03/05(月) 11:31:050847デフォルトの名無しさん
2007/03/05(月) 11:47:200848デフォルトの名無しさん
2007/03/05(月) 11:59:220849845
2007/03/05(月) 12:03:27なんか混乱してて…。確かにiは変わりませんよね><;
質問の仕方を間違っているのですが、上手く説明できません。
整理して出直します。お手数をお掛けしました
0850デフォルトの名無しさん
2007/03/05(月) 12:11:27あえて聞こう、なんで?
0851デフォルトの名無しさん
2007/03/05(月) 19:49:04private int[] smp;
public SmpClass(int size)
{
smp = new int[size];
}
}
↑
このように、コンストラクタなどで動的に配列の生成を行いたいんですが、
配列はオブジェクトとして生成するから、ヒープ領域に置かれるんでしたよね
で、その領域はSmpClassオブジェクトが存在する間に勝手に開放されることは
ないですよね
0852デフォルトの名無しさん
2007/03/05(月) 19:51:590853デフォルトの名無しさん
2007/03/05(月) 19:56:34安心しますた
ありがとうございました
0854デフォルトの名無しさん
2007/03/05(月) 20:54:50それで何をしたいかというと、WINAMPやネスケの設定画面のように、複数ページをTreeViewで切り替えるようなものを作りたいのです。
0855デフォルトの名無しさん
2007/03/05(月) 20:59:330856デフォルトの名無しさん
2007/03/05(月) 21:16:56854の質問の意図は俺は理解できるよ。
残念ながらエレガントに実現する方法は少なくともVSでは用意されてないと思うけど。
エレガントでなくても、とりあえずデザイナ使ってサクッとデザインできればいいなら
パネルの中にTabControlぶち込めば出来そうだけど
0857デフォルトの名無しさん
2007/03/05(月) 21:22:410858デフォルトの名無しさん
2007/03/05(月) 21:27:13これやるよ。長いから2レスに分けるぞ。
public class TablessTabControl : System.Windows.Forms.TabControl
{
[Browsable(false)]
[EditorBrowsable(EditorBrowsableState.Never)]
[ReadOnly(true)]
public new TabAppearance Appearance
{
get { return base.Appearance; }
}
[Browsable(false)]
[EditorBrowsable(EditorBrowsableState.Never)]
[ReadOnly(true)]
public new Size ItemSize
{
get { return base.ItemSize; }
}
[Browsable(false)]
[EditorBrowsable(EditorBrowsableState.Never)]
[ReadOnly(true)]
public new TabSizeMode SizeMode
{
get { return base.SizeMode; }
}
0859デフォルトの名無しさん
2007/03/05(月) 21:28:00[Category("Appearance")]
public new TabPage SelectedTab
{
get { return base.SelectedTab; }
set { base.SelectedTab = value; }
}
public TablessTabControl() : base()
{
SuspendLayout();
base.Appearance = TabAppearance.Buttons;
base.ItemSize = new Size(0, 1);
base.SizeMode = TabSizeMode.Fixed;
ResumeLayout();
}
}
0860デフォルトの名無しさん
2007/03/05(月) 21:35:48「タブを消す」という意味においては、こっちのほうが確実だとは思うけどね。
public class TablessTabControl : System.Windows.Forms.TabControl
{
[Browsable(true)]
[Category("Appearance")]
public new TabPage SelectedTab
{
get { return base.SelectedTab; }
set { base.SelectedTab = value; }
}
private void SetDisplayRegion()
{
Region = new Region(DisplayRectangle);
}
public TablessTabControl() : base()
{
SuspendLayout();
SetDisplayRegion();
ResumeLayout();
}
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
SetDisplayRegion();
}
}
0861デフォルトの名無しさん
2007/03/05(月) 21:40:34そんくらいが面倒なら何やるのも面倒だと思うけどね。
0862デフォルトの名無しさん
2007/03/05(月) 21:42:24普通にパネル置いて、表示したいユーザーコントロールを置き換える処理を
行った方がスマートで描画処理も早いような気がする。
0863デフォルトの名無しさん
2007/03/05(月) 21:55:28それをポンポン置き換えるってのは確かによさそうだな。
いいアイデア聞いたよ。
0864デフォルトの名無しさん
2007/03/05(月) 21:58:11だから何?
0865デフォルトの名無しさん
2007/03/05(月) 21:58:45TreeViewの選択イベントでBringToFrontすればいいじゃん
それをManageするクラス作っときゃ
0866デフォルトの名無しさん
2007/03/05(月) 21:59:280867デフォルトの名無しさん
2007/03/05(月) 22:00:21おまえが消えろ
0868デフォルトの名無しさん
2007/03/05(月) 22:00:42・重くなる
・デザイン時デザインしにくい
0869デフォルトの名無しさん
2007/03/05(月) 22:03:12UserControl に配置したコントロールのアクセス修飾子を internal にでもしておけばいいか。
でもやっぱり、デザイン時の手軽さでは TabControl にかなわないな。
0870デフォルトの名無しさん
2007/03/05(月) 22:03:380871デフォルトの名無しさん
2007/03/05(月) 22:05:120872デフォルトの名無しさん
2007/03/05(月) 22:06:400873デフォルトの名無しさん
2007/03/05(月) 22:10:310874デフォルトの名無しさん
2007/03/05(月) 22:12:13なるほどー!
0875デフォルトの名無しさん
2007/03/05(月) 22:13:500876デフォルトの名無しさん
2007/03/05(月) 22:19:25こいういう馬鹿は相手すれば調子になって居つし、無視すれば無視したで
地縛霊みたいに居つくし、手の打ちようがないな。本当鬱陶しいわ
0877デフォルトの名無しさん
2007/03/05(月) 22:21:16いやなことがあったんだね。
でもここで発散すんな。
0878デフォルトの名無しさん
2007/03/05(月) 22:23:410879デフォルトの名無しさん
2007/03/05(月) 22:29:490880デフォルトの名無しさん
2007/03/05(月) 23:16:34サーバー側のAcceptTcpClientに関する質問です。クライアントからの前のソケットが残った
状態で更にクライアントが新規にソケットを作成しようとするとサーバー側がハングアップの
ようになってしまうのですが回避する方法はありませんでしょうか?。
0881デフォルトの名無しさん
2007/03/05(月) 23:27:390882デフォルトの名無しさん
2007/03/05(月) 23:35:41それがスレッドを立てても、BeginAcceptTcpClientかAcceptTcpClientの所で
止まってしまうようなのです。スレッドの立て方が悪いのでしょうか?。
TcpListener listener;
private void Form1_Load(object sender, EventArgs e)
{
listener = new TcpListener(IPAddress.Any, 8080);
listener.Start();
new Thread(newfun).Start();
}
private void newfun()
{
this.listener.AcceptTcpClient(); ← ここで割り込まれてハングアップのようになる
}
0883デフォルトの名無しさん
2007/03/05(月) 23:38:310884デフォルトの名無しさん
2007/03/05(月) 23:48:41それだとスレッド一個しかできんじゃん
0885デフォルトの名無しさん
2007/03/06(火) 00:07:26BeginAcceptTcpClientを使ってみたり色々と試していたので上記のは手書きしたの
で間違えました。AcceptTcpClient()から返ってきたTcpClientで書き直したのを
キッカケにして色々と書き直してみたらループに嵌っていたのがわかりました。
お騒がせしました。
0886デフォルトの名無しさん
2007/03/06(火) 00:42:360887デフォルトの名無しさん
2007/03/06(火) 02:37:45private void StartListening()
{
TcpListener listener = new TcpListener(IPAddress.Any, 8080);
listener.Start();
listener.BeginAcceptTcpClient(new AsyncCallback(AcceptTcpClientCallBack), listener);
}
private void AcceptTcpClientCallBack(IAsyncResult ar)
{
TcpListener listener = ar.AsyncState as TcpListener;
TcpClient client = listener.EndAcceptTcpClient(ar);
NetworkStream stream = client.GetStream();
byte[] buf = new byte[ 65536 ];
stream.BeginRead(buf, 0, buf.Length, new AsyncCallback(ReadCallBack), new object[] { stream, buf });
listener.BeginAcceptTcpClient(new AsyncCallback(AcceptTcpClientCallBack), listener);
}
private void ReadCallBack(IAsyncResult ar)
{
NetworkStream stream = ((object[])ar.AsyncState)[ 0 ] as NetworkStream;
Byte[] buf = ((object[])ar.AsyncState)[ 1 ] as byte[];
int len = stream.EndRead(ar);
if (len > 0) { /* 受信したデータで何かする */ }
stream.BeginRead(buf, 0, buf.Length, new AsyncCallback(ReadCallBack), new object[] { stream, buf });
}
0888デフォルトの名無しさん
2007/03/06(火) 02:48:590889デフォルトの名無しさん
2007/03/06(火) 03:30:30ビットビットってよんでたよ。。。。。。。。orz
0890デフォルトの名無しさん
2007/03/06(火) 03:33:350891デフォルトの名無しさん
2007/03/06(火) 08:58:430892885
2007/03/06(火) 09:01:08*イメージとしてはこんな感じにしたいです
key string = array(string,NetworkStream)
key string[0] = string
key string[1] = NetworkStream
上記のようなディレクトリを使いたいと思い、
private Dictionary<string, Dictionary<string, NetworkStream>> users = new Dictionary<string, Dictionary<string, NetworkStream>>();
としてusers.add(key, ??? );と書こうとしているのですが???の部分の書き方がわからないのです。
どのように書いたら良いのでしょうか?。
>>886-887
887は別人です!笑。が参考にさせて頂きました。
ありがとうございます。
0893デフォルトの名無しさん
2007/03/06(火) 11:22:59Alt+PrintScreenを送ってクリップボードから取得する以外に
いい方法はありませんか?
Vistaでのウィンドウ一覧の3D表示をXPでも
できるようにするソフトを作りたいのですが。
0894デフォルトの名無しさん
2007/03/06(火) 11:38:00PrintWindow API使えばある程度できるよ。
ttp://www.microsoft.com/japan/msdn/windows/windowsxp/xpvisualstyles.aspx
でもVistaみたいに最小化しているウィンドウについては無理。
あとリアルタイムアニメーションも多分きつい。
Vistaはわざわざライブサムネイルのためにウィンドウマネージャ書き換えてAPIまで追加したわけで、
それが何の苦労もなくXPで実現できるならXPでいいじゃんということになる。
0895894
2007/03/06(火) 11:48:47追記だけど、XPをVista風にするよりVistaで新しいUI考える方がおもしろいんじゃないかね?
Flip 3Dってパクるほどの価値もないと思うんだが……
例えばこれはVistaの新API使って作ったExposeもどき。Macのあれね。
ttp://blogs.labo-dotnet.com/simon/archive/2006/11/08/11485.aspx
C++/CLIとWPFで書かれてる。ソースコード付き。
こういうの作った方が楽しいし勉強にもなっていいんじゃない?
0896デフォルトの名無しさん
2007/03/06(火) 11:48:53StreamWriter sw = new StreamWriter(Path.GetFullPath("write.txt"));
String buf;
while( (buf=sr.ReadLine()) != null) sw.WriteLine(buf);
↑
こうやってファイルの内容をswに書き込みたいのですが、うまく書き込めません
ファイルは両方ともちゃんと開いてるし、srからはちゃんと文字列を読み取っています。
なぜか書き込みだけができません。(途中まで書き込むこともあるw)
しかし
using(sw)
{
while( (buf=sr.ReadLine()) != null) sw.WriteLine(buf);
}
とやると、うまく書き込めます。
書き込み用ファイルストリームはこうしないと、書き込み途中で破棄されたりするのでしょうか
0897デフォルトの名無しさん
2007/03/06(火) 12:19:12それだと、外側のDictionary<,>のアイテム数だけ内側のDictionary<,>のインスタンスをつくらにゃならん。
String, String, NetworkStream を持つクラスを作って、そのList<>でも作っとけ。
0898デフォルトの名無しさん
2007/03/06(火) 13:03:32俺は>>893じゃないが、ありがとう
TaskSwitcherどうやって作ってるか気になってたんだ
0899デフォルトの名無しさん
2007/03/06(火) 13:11:06StreamWriter がバッファ付き出力で、
WriteLine が呼ばれた時点ではメモリ上にデータをためてある状態で
ファイルには反映されない。
StreamWriter の Dispose なり Close なりが呼ばれた時点で
初めてバッファの中身がファイルに出力される。
ファイルみたいな、.NET Framework の管理対象外を操作する場合、
using パターンが必須。
0900デフォルトの名無しさん
2007/03/06(火) 13:22:36トンクス!
0901デフォルトの名無しさん
2007/03/06(火) 14:47:36private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{ }
だけではだめなのでしょうか
なぜか呼ばれません
0902デフォルトの名無しさん
2007/03/06(火) 15:20:49this.textBox1.KeyDown += new System.Windows.Forms.KeyEventHandler( this.textBox1_KeyDown );
0903デフォルトの名無しさん
2007/03/06(火) 15:35:480904デフォルトの名無しさん
2007/03/06(火) 16:19:58そうなんですか。分かりました。サンクス!
0905デフォルトの名無しさん
2007/03/06(火) 17:55:55項目の保存/復元は出来たのですが、
チェック状態の保存/復元の方法が分かりません。
どうしたら良いのでしょうか。
0906デフォルトの名無しさん
2007/03/07(水) 19:01:45どういう風にやればいいのかわかりません。
どなたかご指導いただけないでしょうか?
0907デフォルトの名無しさん
2007/03/07(水) 19:06:530908デフォルトの名無しさん
2007/03/07(水) 19:20:05いみがわからない
0909デフォルトの名無しさん
2007/03/07(水) 19:22:09CheckedIndicesも覚えとけば?
0910デフォルトの名無しさん
2007/03/07(水) 20:21:47newって「メモリを動的に確保するぜ」って意味の名残?ですよね
ふとstringがnewしないのはなんでかなぁーとか思ったもので
0911デフォルトの名無しさん
2007/03/07(水) 20:29:510912デフォルトの名無しさん
2007/03/07(水) 20:30:060913デフォルトの名無しさん
2007/03/07(水) 20:31:51newはクラスをインスタンス化する指令だ。メモリ云々とは関係ない
0914デフォルトの名無しさん
2007/03/07(水) 20:40:38は、一般のクラスと同じ形式で書けば
string a = new string( "あwせdrftgyふじこ" );
であると心の中では思っているがどうか?
実際にはこんなコンストラクタ冗長なだけだから無いんだけど。
0915デフォルトの名無しさん
2007/03/07(水) 20:47:59利便性のために簡素化してある。ilレベルで専用命令があるもよう。
string str = "abcdef";
System.Console.WriteLine(str);
IL_0001: ldstr "abcdef"
IL_0006: stloc.0
IL_0007: ldloc.0
IL_0008: call void [mscorlib]System.Console::WriteLine(string)
0916デフォルトの名無しさん
2007/03/07(水) 20:50:120917デフォルトの名無しさん
2007/03/07(水) 20:53:11System.String str = new System.String(new char [] {'a', 'b', 'c'});
0918デフォルトの名無しさん
2007/03/07(水) 20:56:29実際にはnewしてるんだけど、記述の簡素化のために省略した書き方が許されている。
数値型やStringの配列で、new int[] とか書いても書かなくてもいいのもそう。
0919910
2007/03/07(水) 21:39:51省略されてただけでしたか。ん、疑問解決。
っというか初めてILの存在を知った。.NETってすげー
0920デフォルトの名無しさん
2007/03/07(水) 21:58:50と言う考えの方がいいんじゃないかな。
Console.WriteLine(Object.ReferenceEquals("a", "a"));
Console.WriteLine(Object.ReferenceEquals("a", new String('a', 1)));
Console.WriteLine(Object.ReferenceEquals(new String('a', 1), new String('a', 1)));
0921デフォルトの名無しさん
2007/03/07(水) 22:11:16しかしあまり深入りし過ぎると混乱しそうだ
0922デフォルトの名無しさん
2007/03/07(水) 22:18:11文字列リテラルは「newされていない」ことになるが
0923デフォルトの名無しさん
2007/03/07(水) 22:34:48string[0],[1],[2]とある場合に0だけを検索対象にする事はできるのでしょうか?
0924デフォルトの名無しさん
2007/03/07(水) 22:37:06そもそも ContainsValue(string[]) だろ。
0925デフォルトの名無しさん
2007/03/07(水) 22:37:16string[] の代わりに IEquatable 実装させたクラス使うとかすればできるけど
0926923
2007/03/07(水) 22:37:21bool ContainsValue()のようですがkey を返す事はできないでしょうか?
0927デフォルトの名無しさん
2007/03/07(水) 22:39:10これなら配列要素も使いたい放題だ。
0928デフォルトの名無しさん
2007/03/07(水) 22:41:080930デフォルトの名無しさん
2007/03/07(水) 22:55:34お前さんがほしいのはこういうものか?
static void Main(string[] args)
{
Dictionary<string, string[]> dic = new Dictionary<string, string[]>();
dic.Add("ABC", new string[] { "A", "B", "C" });
dic.Add("DEF", new string[] { "D", "E", "F" });
dic.Add("GHI", new string[] { "G", "H", "I" });
dic.Add("JKL", new string[] { "J", "K", "L" });
string key = SearchDictionary(dic, "G");
}
private static string SearchDictionary(Dictionary<string, string[]> dictionary, string firstValue)
{
List<KeyValuePair<string, string[]>> tmp = new List<KeyValuePair<string, string[]>>(dictionary);
KeyValuePair<string, string[]> find
= tmp.Find(delegate(KeyValuePair<string, string[]> x) {
return (x.Value != null && x.Value.Length > 0 && x.Value[ 0 ] == firstValue);
});
return find.Key;
}
0931デフォルトの名無しさん
2007/03/07(水) 23:04:540932930
2007/03/07(水) 23:08:470933デフォルトの名無しさん
2007/03/07(水) 23:12:050934デフォルトの名無しさん
2007/03/07(水) 23:16:27private static string SearchDictionary(Dictionary<string, string[]> dictionary, string firstValue)
{
foreach (KeyValuePair<string, string[]> item in dictionary)
{
if (item.Value != null && item.Value.Length > 0 && item.Value[ 0 ] == firstValue)
{
return item.Key;
}
}
return null;
}
0935デフォルトの名無しさん
2007/03/07(水) 23:20:33public static T SearchDictionary<T, K>(IDictionary<T, K> dictionary, Predicate<K> match) {
foreach (KeyValuePair<T, K> pair in dictionary)
if (match(pair.Value)) return pair.Value;
return default(T);
}
0936デフォルトの名無しさん
2007/03/07(水) 23:21:260937デフォルトの名無しさん
2007/03/07(水) 23:24:43return pair.Key じゃね?
ていうか、俺ら質問者を置き去りにしすぎじゃね?w
0938デフォルトの名無しさん
2007/03/07(水) 23:25:280939デフォルトの名無しさん
2007/03/07(水) 23:26:06呼ぶのが面倒だYO!
0940デフォルトの名無しさん
2007/03/07(水) 23:26:23どう見ても後追い
0941923
2007/03/07(水) 23:31:07foreach (string ns in users.Keys)
{
if (users[ns][0] == "val")
{
return ns;
}
}
return false;
0942デフォルトの名無しさん
2007/03/07(水) 23:32:48うん、それが一番まっとうだと思うw
0943デフォルトの名無しさん
2007/03/07(水) 23:33:350944デフォルトの名無しさん
2007/03/07(水) 23:34:400945デフォルトの名無しさん
2007/03/07(水) 23:38:24Int32.TryParse の形だ
0946923
2007/03/08(木) 00:13:19確かにおかしいですねorz
return -1で!
0947923
2007/03/08(木) 00:16:360948デフォルトの名無しさん
2007/03/08(木) 00:17:290949デフォルトの名無しさん
2007/03/08(木) 00:21:56公開されていないでしょうか。
情報求む。
0950デフォルトの名無しさん
2007/03/08(木) 01:04:58俺はこれしか知らんな。
0951デフォルトの名無しさん
2007/03/08(木) 21:15:30int array[10] = { 0 } ;
とすれば個々の要素を全て0で初期化出来たと思いますが、C#で同様の実装はどのように行うのでしょうか?
int[] array = new int[10] { 0 } ;
ではエラーになるようです・・・
0952デフォルトの名無しさん
2007/03/08(木) 21:35:100954デフォルトの名無しさん
2007/03/08(木) 22:23:090955デフォルトの名無しさん
2007/03/08(木) 22:25:510956デフォルトの名無しさん
2007/03/08(木) 22:34:205.2 Default values
The following categories of variables are automatically initialized to their default values:
* Static variables.
* Instance variables of class instances.
* Array elements.
0957951
2007/03/08(木) 22:35:38でも,例えばdouble型は0じゃ初期化されませんよね?
そういう意味で、明示した方がすっきりするような気がするんですけど。
>>955
そうかなぁ・・・{0}はオールゼロ的な感じで。一応明示してるし
0958デフォルトの名無しさん
2007/03/08(木) 22:38:41> でも,例えばdouble型は0じゃ初期化されませんよね?
されるよ。値は全て 0/false/null になる。
> そうかなぁ・・・{0}はオールゼロ的な感じで。一応明示してるし
ひょっとして
int array[10] = {1};
がどうなるか理解していない?
0959デフォルトの名無しさん
2007/03/08(木) 22:38:58default(double) == 0D
これも仕様で決まってる。
0960デフォルトの名無しさん
2007/03/08(木) 22:44:48> int array[10] = {1};
やったことないですね。
>>959
仕様で決まってるのは分かりますけど、
明示した方が分かりやすいのではないか?という話です
0961デフォルトの名無しさん
2007/03/08(木) 22:47:34それならなんで、
int array[10] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; と書かないの?
矛盾してるじゃん。
0962デフォルトの名無しさん
2007/03/08(木) 22:50:06> でも,例えばdouble型は0じゃ初期化されませんよね?
のどこが
> 仕様で決まってるのは分かりますけど、
> 明示した方が分かりやすいのではないか?という話
なんだ?
0963デフォルトの名無しさん
2007/03/08(木) 22:54:140に初期化されることになってるんだから、
下手に初期化子書くよりずっと分かりやすいだろ。
0964デフォルトの名無しさん
2007/03/08(木) 22:54:55int array[10] = {1};
↓
int array[10] = {1, 0, 0, 0, 0, 0, 0, 0, 0, 0};
096513
2007/03/08(木) 23:12:14それと一緒で、冗長でも明示した方が分かりやすい気がするんですけど、そういう訳でもないのでしょうか?
>>964
ぁー・・・それダメですね・・・
全部1で初期化されるのかと思ってました。
0966デフォルトの名無しさん
2007/03/08(木) 23:15:41>>961
0967デフォルトの名無しさん
2007/03/08(木) 23:17:15俺はアクセス修飾子も省略できるところは省略する主義なんだけど
0968デフォルトの名無しさん
2007/03/08(木) 23:17:360969デフォルトの名無しさん
2007/03/08(木) 23:25:080970デフォルトの名無しさん
2007/03/08(木) 23:27:590971デフォルトの名無しさん
2007/03/08(木) 23:31:04言語仕様で初期化を強制されるが。
0972デフォルトの名無しさん
2007/03/08(木) 23:31:250973デフォルトの名無しさん
2007/03/09(金) 00:33:09初期化忘れでどれほどのプログラマが苦しんだんだろう…
0974デフォルトの名無しさん
2007/03/09(金) 00:42:49自動で初期化されても同じバグを出しやつはいるだろ
0975デフォルトの名無しさん
2007/03/09(金) 00:45:290976デフォルトの名無しさん
2007/03/09(金) 00:47:05だいたい実数や整数の初期値が0であることを前提にするコードなんて
そうそうあるもんじゃないし。
0977デフォルトの名無しさん
2007/03/09(金) 00:48:27すれ違い棚。
0978デフォルトの名無しさん
2007/03/09(金) 00:54:04実数は知らないけど Countが0で初期化されてないのは…
0979デフォルトの名無しさん
2007/03/09(金) 01:02:350980デフォルトの名無しさん
2007/03/09(金) 01:15:51最強!!!
0981デフォルトの名無しさん
2007/03/09(金) 04:08:39俺もそうなんでなんとなくわかる。
ただ、クラス変数の初期化なんかは、仕様のデフォルトじゃない初期値を入れる以外では、
コンストラクタ等で代入される前に参照される可能性がある変数に限りますけどね。
仕様のデフォルト値に期待しないという点では同じかな。
0982デフォルトの名無しさん
2007/03/09(金) 09:16:56全部同じ書式で初期化しないとわけわかんなくなるw
0983デフォルトの名無しさん
2007/03/09(金) 10:17:000984デフォルトの名無しさん
2007/03/09(金) 10:34:200985デフォルトの名無しさん
2007/03/09(金) 11:51:05業務で書くコードは、言語に不慣れな人が読むことも考慮せにゃならんし。
0986デフォルトの名無しさん
2007/03/09(金) 12:31:11そもそも初期化忘れごときで躓く奴はPGに最初から向いてないんだよ、
煽りでもなんでもなく。
だって変数が自分の期待する初期値になっていると、自分で初期化するコードを
書いてもいないのに期待するって端的に頭おかしいだろw
初心者スレでエスパー召還しないと誰にも理解できない質問する馬鹿に通じるものがある、
ある種の頭の悪さだよねこれ。
0987デフォルトの名無しさん
2007/03/09(金) 13:16:110988デフォルトの名無しさん
2007/03/09(金) 13:40:24> そんな習慣叩き込まれないだろw
かわいそうに。
ろくに教育もしてくれないようなところにお勤めなんですね。
そりゃ2chで暴れたくもなりますよね。
0989デフォルトの名無しさん
2007/03/09(金) 13:53:07ゼロ初期化はそれほど突飛ではないと思うが。
まあ初期化をしない慣習はC系PGの悪癖かもしれんけど。
0990デフォルトの名無しさん
2007/03/09(金) 14:04:100991デフォルトの名無しさん
2007/03/09(金) 14:36:340992デフォルトの名無しさん
2007/03/09(金) 16:38:49とか作って満足しとけ
0993デフォルトの名無しさん
2007/03/09(金) 17:07:07普通の人ってどういう基準で普通なんだ
0994デフォルトの名無しさん
2007/03/09(金) 17:10:23自分の探し方が悪いだけかもしれないけど仕方なくDictionary<T, object>でValueをnullにしてたりするんですが
0995デフォルトの名無しさん
2007/03/09(金) 17:17:46自分で作っちゃいなよ。
0996デフォルトの名無しさん
2007/03/09(金) 17:19:340997デフォルトの名無しさん
2007/03/09(金) 18:38:40話が噛合ってないようだが、俺の意図は
そもそもそんな低レベルかつ当然のことをいちいち叩き込まれないと実行できない奴は
最初からPGの適性がないということだ。
お前さんが初期化忘れで躓いたことがあるとしたら、
所詮その程度の男(まあ女かもしれんいけど)だということ。
所詮三流PGの俺ですら、初期化忘れなんかで泣いたことは
初めてプログラム書いた厨房の頃から一度もないよ。
だって>>986にも書いたとおり、初期化忘れなんて普通の思考能力があったら
むしろありえないだろ。
0998デフォルトの名無しさん
2007/03/09(金) 18:43:04運悪く上司になっちゃったりしたら、くだらん教育をせんとならん。
察してやってください
0999デフォルトの名無しさん
2007/03/09(金) 18:43:351000デフォルトの名無しさん
2007/03/09(金) 18:44:1010011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。