5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:2007/02/06(火) 20:35:29
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

2 :デフォルトの名無しさん: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/

3 :デフォルトの名無しさん:2007/02/06(火) 20:37:01
Visual C# Express Edition (無料)ダウンロード
http://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

4 :デフォルトの名無しさん:2007/02/06(火) 20:37:57
Borland C#Builder2006
http://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をローカルで見れる。

5 :デフォルトの名無しさん:2007/02/06(火) 20:41:01
11 名前:デフォルトの名無しさん[sage] 投稿日:2007/01/18(木) 19:19:37
質問するときに
〜したいのですが、上手くいきません。
〜したときにエラーが出ます。

という書き方はイクナイ。
何も書いてないのと同じ☆

〜したいのですが、〜で〜が失敗します。
〜したときに〜エラーが出ます。

隠さずくわしくかきましょう

6 :デフォルトの名無しさん:2007/02/06(火) 20:42:26
>>1

7 :デフォルトの名無しさん:2007/02/06(火) 20:43:59
>>1-4

8 :デフォルトの名無しさん:2007/02/06(火) 20:48:07
取り合えず前スレの問題は全て解決したのか?
そんなわけない。

9 :デフォルトの名無しさん:2007/02/06(火) 20:52:09
900以降みてみたが、一応どれも終わってるみたいだ

10 :デフォルトの名無しさん:2007/02/06(火) 20:54:11
終わってない人は再掲したほうがいいかも

11 :デフォルトの名無しさん:2007/02/06(火) 21:02:55
おわってねぇーw

>982
単なる書き換えわすれだよ。
確かにねたぽいけど、ちゃんと理由があるのであんまりつっつかないでくれ。

>979
えーと、単純なクラスのバインディングなら出来てるっていうのを書き忘れた。

問題は IEnumerable を実装してるクラスの場合で、単純なクラスの場合と同じに
書いてもリストオブジェクト自体のプロパティのバインディングが出来ないです。


12 :デフォルトの名無しさん:2007/02/06(火) 21:05:22
再掲?
がちょーんって言ってた人?

13 :11=前スレ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() が呼ばれて
いて、これは素直に通過するのだけど通過した後の外部コードの中で例外が発生します。

どうすればデータバインディングできるのでしょうか?

14 :デフォルトの名無しさん:2007/02/06(火) 21:08:36
アロー演算子

15 :デフォルトの名無しさん:2007/02/06(火) 21:14:53
974 名前:デフォルトの名無しさん[sage] 投稿日:2007/02/06(火) 19:38:03
>form1->Show()
ネタですね…

16 :デフォルトの名無しさん:2007/02/06(火) 21:17:55
>IList を実装し、オブジェクトのインデックス付きコレクションを作成する任意のクラス。
>このコレクションは、Binding を作成する前に作成され、その中にオブジェクトが
>格納されていることが必要です。リスト内のオブジェクトの型は、
>すべて同じである必要があります。それ以外の場合は、例外がスローされます。

17 :デフォルトの名無しさん:2007/02/06(火) 21:19:10
tigaudro

18 :11=前スレ972:2007/02/06(火) 21:19:16
おぉ。form1.Show() に読み替えてください。

まぁ別フォームのコードは C++/CLI だから、
元のソースそのまんまではあるわけだけど。

よくきがつくなー。

19 :デフォルトの名無しさん:2007/02/06(火) 21:30:11
まだおかしい
get()…

20 :デフォルトの名無しさん:2007/02/06(火) 21:34:43
DataBinding

21 :デフォルトの名無しさん:2007/02/06(火) 22:03:37
>>13
DataBindingsにIEnumerableでないオブジェクトが使えるのがオマケみたいなものだから、
仕様だと思ってあきらめよう。

これだと通る。
class hoge { public String Value { get() { return ""; } } 
class hogelist : List<hoge> { } 


22 :11=前スレ972:2007/02/06(火) 22:09:31
了解。ありがとう。


#くだすれ.NET Frameworkってスレありません?


23 :デフォルトの名無しさん:2007/02/06(火) 22:26:32
本来は.NET Framework関係の話題はVB.NETやC#もなく統合スレでやるべきなんだろうけどな
C#覚えればいいのに。C++/CLIが使えるなら簡単でしょ?
転がってる情報はほとんどVB.NETとC#だし

24 :デフォルトの名無しさん:2007/02/06(火) 22:30:53
>>21
何でこれが通るんだろうね?

25 :デフォルトの名無しさん:2007/02/06(火) 22:34:12
++厨もこっちくんのか・・・
絶対++なら出来るだのなんだの文句ばっかりだろうな・・・

26 :24:2007/02/06(火) 22:35:59
理解した。
プロパティ名""にすると、ToString()が帰ってくるらしい。
textBox1.DataBindings.Add("Text", hogelist, "");
これで帰ってきたもの見ると、
WindowsApplication1.hoge となっていた。
hogelistはデータセットでhogeが行扱いみたいだな。


27 :デフォルトの名無しさん:2007/02/06(火) 22:39:41
両方出来るけど、一つのソリューションの中にC++/CLIとC#のプロジェクトが
混じってると、ソース書くときもまじるんだよね。

28 :デフォルトの名無しさん:2007/02/06(火) 22:43:23
.NETスレあったろ

29 :24:2007/02/06(火) 22:50:16
こういうの作って楽しんだ…
private void button2_Click(object sender, EventArgs e)
{
textBox1.DataBindings["Text"].BindingManagerBase.Position++;
}

public hoge(string st){
innerString=st;
}

30 :前スレの973:2007/02/07(水) 01:13:51
シングルスレッドでも、多重で関数が起動される件

原因はUnLha32.dllの中でメッセージループをまわるようにしているようです。
スイッチ指定で回さないようにしたら、ちゃんと予定した動作をしました。

ふう〜

31 :デフォルトの名無しさん:2007/02/07(水) 03:44:56
http://pc10.2ch.net/test/read.cgi/tech/1160209713/
くだすれ.NET(超初心者向け)

さびれてんな・・・。

32 :デフォルトの名無しさん:2007/02/07(水) 06:20:22
なんでTIMER.TICKイベントのなかで
MessageBox.Showをやるとその後のコードが
実行されないんでしょうか?

33 :デフォルトの名無しさん:2007/02/07(水) 07:13:43
>>32
TIMER.TICK なんて無いと釣られてみる

それはさておき、MessageBox はモーダルウィンドウなので。
嫌なら自分でフォーム書くとか。

34 :デフォルトの名無しさん:2007/02/07(水) 08:14:36
Windows フォームのタイマ コンポーネントはシングルスレッドで、精度の上限は 55 ミリ秒
になります。より精度の高いマルチスレッド タイマが必要な場合は、System.Timers 名前
空間の Timer クラスを使用してください。

ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.ja/CPref17/html/T_System_Windows_Forms_Timer.htm

35 :デフォルトの名無しさん:2007/02/07(水) 08:49:56
>>33
なんでモーダルウィンドウだとそうなるんですか?

36 :デフォルトの名無しさん:2007/02/07(水) 09:06:59
なんでって用途を考えろよ


37 :デフォルトの名無しさん:2007/02/07(水) 09:13:59
わかんねーから聞いてるんですけど
質問スレで「考えろ」って回答はありえないんですけど

38 :デフォルトの名無しさん:2007/02/07(水) 09:20:41
典型的なゆとりだな。

39 :デフォルトの名無しさん:2007/02/07(水) 09:22:58
>>37
>>34

40 :デフォルトの名無しさん:2007/02/07(水) 09:55:45
わかり易く説明してくれよ
初心者なんだからさ
マルチスレッドとか意味わかんね

ツールボックスにあるTIMERじゃだめなわけ?

41 :デフォルトの名無しさん:2007/02/07(水) 10:06:18
>>37
はい次

42 :ぴゅあ:2007/02/07(水) 10:07:46
>>40
JNI使わないと無理ですよ

43 :デフォルトの名無しさん:2007/02/07(水) 10:54:58
スレッドと使うかタイマを使うかは用途によるな
軽いくて止まらない処理ならタイマー使えば良いし
タイマーの誤差範囲より長い時間で正確な時間取りたいのなら
タイマーの中で更に正確な時間読み出して使えば良い

ただ、良く分からないで初心者がいきなりガンダムを操縦するのは無理だな

44 :デフォルトの名無しさん:2007/02/07(水) 11:26:25
>>42
なんだって?

>>43
そういうことじゃなくて
messageshowやるとその後のコードが実行されないってことを
言ってるわけ

45 :デフォルトの名無しさん:2007/02/07(水) 11:30:22
>>44
OKボタンをクリックすれば続きが実行されるよo(^−^)o

46 :デフォルトの名無しさん:2007/02/07(水) 11:36:58
>>44

>>43
の言ってる事の意味を理解してない・・・・

47 :デフォルトの名無しさん:2007/02/07(水) 11:47:56
>軽いくて”止まらない”

つまり止まるって事は、何らかの関数を呼んだら
あるイベントが発生するまで待ち状態になり、その関数から返って来ない事を指す
そんなもんはタイマーじゃ使っちゃいけないって事


48 :デフォルトの名無しさん:2007/02/07(水) 13:22:59
Listview(Detail表示)で選択された行の情報を何らかの形で取得したいのですが、
一般的にはどのように行うものなのでしょうか?

49 :デフォルトの名無しさん:2007/02/07(水) 13:35:30
何を求めているのかよくわかんない。

foreach( ListViewItem item in listView1.SelectedItems )
{
 ...
}

50 :デフォルトの名無しさん:2007/02/07(水) 13:37:55
1 ぬるぽ A
2 ぬるぽ B
3 ぬるぽ C

こんな感じに並んでいて、2の行がダブルクリックされた際に
「2」でも「ぬるぽ」でも「B」でもいいのでこのクリックされた行に関する情報を得たいです。

51 :デフォルトの名無しさん:2007/02/07(水) 13:54:57
private void listView1_ItemActivate( object sender, EventArgs e )
{
    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 );
    }
}


52 :デフォルトの名無しさん:2007/02/07(水) 13:58:54
>>51
うまくいきました。
お手数おかけしました。
どうもありがとうございます。

53 :デフォルトの名無しさん:2007/02/07(水) 15:55:37
BinaryReaderでfloat値をバイナリファイルから取り出す場合、どうすればいいの?
標準でReadFloatが入ってないのも不思議だが・・・

54 :デフォルトの名無しさん:2007/02/07(水) 16:12:49
ReadSingleてないの?

55 :デフォルトの名無しさん:2007/02/07(水) 16:20:50
>>54
d
それでいけました。
ReadFloatって名前じゃなかったのね。

56 :デフォルトの名無しさん:2007/02/07(水) 19:41:47
テキストファイルを途中から読み込む方法教えてください。
○○行目から読み込む、
又は
○○の文字列の後から読み込むなど。
よろしくお願いします

57 :デフォルトの名無しさん:2007/02/07(水) 19:49:59
ない。
考えれば分かると思うが…
普通に読み込んでいらない行を捨てていくだけ。

58 :デフォルトの名無しさん:2007/02/07(水) 20:28:55
>>57
そんなわけねーだろwカス

>>56
できるよ

59 :デフォルトの名無しさん:2007/02/07(水) 20:32:30
ないんですか・・・
IndexOfで指定の文字列検索して、そのあとから読む
って出来るかと思ったのですが。。
すみません、超初心者の発想でした

行削除でやってみます。

60 :デフォルトの名無しさん:2007/02/07(水) 20:33:54
>>59
教えてください!

61 :デフォルトの名無しさん:2007/02/07(水) 20:35:27
検索するにしても一旦読みこんどかないといけないわけで

62 :デフォルトの名無しさん:2007/02/07(水) 20:39:30
>>61
一旦ReadToEndで読み込んで、IndexOfで文字列検索して・・・

の後どうすれば?

63 :デフォルトの名無しさん:2007/02/07(水) 20:46:49
その後何がしたいかによる
ReadLineで一行ずつチェックしていったほうがいい気はする

64 :デフォルトの名無しさん:2007/02/07(水) 20:59:15
>>63
テキストファイルの中身は(int,int,string)のデータが
1行につき1つずつ入ってます。

そのテキストファイルを一行ずつ読み込んで、
構造体配列に格納していきたいんですけど、
最初の7行はいらないんです。8行目から処理したいんですが。

65 :デフォルトの名無しさん:2007/02/07(水) 21:00:25
ReadLine で読み捨てが一番楽だろ

66 :デフォルトの名無しさん:2007/02/07(水) 21:26:37
>>65
ありがとうございます!

67 :デフォルトの名無しさん:2007/02/07(水) 21:41:51
ここって答えてる奴も初心者なんだな
textreaderも知らないのかよ・・・
読み込むポインタを指定すれば途中から読み込める

68 :デフォルトの名無しさん:2007/02/07(水) 21:44:44
で、そのポインタをどうやって見つけるんだい

69 :デフォルトの名無しさん:2007/02/07(水) 21:47:02
>>67
TextReaderはそのポインタとやらを進める方法は読み捨てしかないんだが

70 :デフォルトの名無しさん:2007/02/07(水) 21:50:09
>>67
煽ってるやつも初心者だから救いようがない

71 :デフォルトの名無しさん:2007/02/07(水) 22:20:36
逃げちゃった?

72 :デフォルトの名無しさん:2007/02/07(水) 23:51:04
まぁ恥をかくのも勉強
恥かかないように一生懸命調べなされ

73 :デフォルトの名無しさん:2007/02/08(木) 00:27:08
どれに言ってるのやら

74 :デフォルトの名無しさん:2007/02/08(木) 01:11:47
midi音源を用いてキーで入力された音を出したいのですが・・・・
資料がなくて困っています・・・・
winmm.dllを用いたソースを入手したのですが、
如何せん「仕様書」のようなものがないもので・・・・

75 :デフォルトの名無しさん:2007/02/08(木) 01:16:46
「仕様書」ってどういう意味?

APIの使い方ならMSDNに載ってるけど
http://msdn2.microsoft.com/ja-jp/library/ms712038(en-us).aspx

76 :デフォルトの名無しさん:2007/02/08(木) 01:25:05
>>75
あーあるんですねー
英語だからって敬遠して探してませんでした。
読んでみます。どうもです。

77 :デフォルトの名無しさん:2007/02/08(木) 02:05:28
>>75読んでみたのですが、
ttp://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/packetbell/packetbell-win-0.1/src/Midi.cs
このソースを使う上で役に立つのでしょうか??

78 :デフォルトの名無しさん:2007/02/08(木) 02:08:25
まんまじゃん

79 :デフォルトの名無しさん:2007/02/08(木) 02:13:38
>>77
ちょっと定義がいい加減だなあ。動くんだろうけど

80 :デフォルトの名無しさん:2007/02/08(木) 02:15:32
>>77のソースだけで音出るんでしょうか?
Openしていろんなメソッドに変数渡してみてるんですが・・・・・

81 :デフォルトの名無しさん:2007/02/08(木) 02:17:38
要はキー入力で指定されたものに対応するドラムの音だけ出したいんですが

82 :デフォルトの名無しさん:2007/02/08(木) 02:17:47
見た感じだと音でると思うんだが、試してないの?

83 :デフォルトの名無しさん:2007/02/08(木) 02:33:19
Formロード時にClose、offがつくもの以外のもの呼んでみてもならないみたいでした
渡した値が悪いのかな??

84 :デフォルトの名無しさん:2007/02/08(木) 02:34:18
もしかして馬鹿?

85 :デフォルトの名無しさん:2007/02/08(木) 02:46:23
戻り値見ればどこでどんなエラーがでてるか分かるんじゃない?

86 :デフォルトの名無しさん:2007/02/08(木) 13:04:36
BackgroundWorkerについての質問です。

RunWorkerCompleted イベントはUIスレッドで実行されるみたいですが、
そっちのUIスレッドで何かのメソッドが実行中の場合ってどうなるんでしょうか。
実行中のメソッドが終了してからRunWorkerCompleted が実行されるんでしょうか。

またRunWorkerCompleted イベントの時点でフォームが閉じていた場合の
常套処理ってありますか?
form.IsHandleCreatedをみるだけでいいんでしょうか。


87 :デフォルトの名無しさん:2007/02/08(木) 13:48:54
ひとつのスレッドが同時にできる処理の数はどうがんばってもひとつだけです。

Worker が生きてるときは Closing でキャンセルして、終了待機状態に。
Completed イベントで終了待機中なら閉じると処理してやる。

88 :86:2007/02/08(木) 14:41:05
自己解決しますた。

89 :デフォルトの名無しさん:2007/02/08(木) 14:48:50
>>88
(´・ω・`)

>>87
ありがとうございます。
するとRunWorkerCompleted イベント中の処理って
やっぱりUIスレッドがビジーの間は待たされるということですか
メッセージキューみたいなイメージでいいんですかね?

90 :デフォルトの名無しさん :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();
}}

91 :デフォルトの名無しさん:2007/02/08(木) 19:36:33
小さいもの?に大きいものが入ってるイメージがあるかもしれないが
実際はそんなものじゃないのです。
代入してもベースのオブジェクトのメモリに押し込まれるわけでありません。
拡張した部分が削られるわけではないのです。

Cやってたらわかるかも知れないけどmc1とかはポインタみたいなものです。
どこにオブジェクトの本体があるか指しているだけ。
だからサイズは気にする必要なし。

どちらかというと逆の大きいものに小さいもの入れるほうが問題がある。
なぜかというと拡張した部分に該当する箇所が無くデータが不足するものが
出る場合があるからから。

92 :デフォルトの名無しさん:2007/02/08(木) 19:40:19
概念的にはベースクラスのほうが「大きい入れ物」だよ
「田中さん」を「人間」として扱うのと一緒

93 :デフォルトの名無しさん:2007/02/08(木) 19:46:06
概念上はその通りかもしれないが。
オブジェクトのサイズから言うとベースのほうが大体小さい。

94 :デフォルトの名無しさん:2007/02/08(木) 21:16:49
クロマニヨン人は我々現代人よりチンコがでかいってことだな

95 :デフォルトの名無しさん:2007/02/08(木) 21:52:42
ここで生物学の時間です。

クロマニヨン人を我々人類の祖先と考えている人が多数おられますが、
そんな人たちは、高校で生物の授業をまともに受けてない人たちだと思います。

クロマニヨン人も北京原人もアウストラロピテクスもホモハビリスも
我々人類と血縁関係は「ありません」。というのが通説です。

生物進化の過程でさまざまな人類のパターンが地上に現れました。
クロマニヨン人と同時代に我々人類の祖先が既に存在していたと思われる
証拠が微々たるものではありますが北から西にかけてヨーロッパの各地で
見つかっております。決してクロマニヨン人から人類の祖先が誕生した
わけではありません。それぞれの時代の代表的な化石人類はすべて、
衰退して別の化石人類にバトンタッチをするわけですが、その時代と時代の境目が
「ミッシングリング」(見つからない世代のつながり)になっており、現在でも
よく分かっておりません。ただいえることは、ある世代にABCと三種の人類の
パターンが誕生して繁栄したのはAであったとすると、次の世代ではDEFの
パターンが現れ、それらはBCの子孫である可能性が高く、Aは子孫を残さなかった。
と考えられており、クロマニヨン人をはじめ著名な化石人類は全て子孫を残さず、
同世代の名も無き種が子孫を残し、それが我々の祖先であると考えられております。

96 :デフォルトの名無しさん:2007/02/08(木) 22:24:43
通説ではアトランティス人が猿から人類を作り出したわけだが。

97 :デフォルトの名無しさん:2007/02/08(木) 23:21:41
いやだから概念上はってわざわざいったんだろ。


98 :デフォルトの名無しさん:2007/02/08(木) 23:22:27
高校じゃ物理と化学しかとってなかったんで

99 :デフォルトの名無しさん:2007/02/09(金) 01:07:54
>>95
それ古い情報だよw

今はDNA解析も済んで、人間のルーツは解明してる
ネアンデルも北京原人も人間の直結の先祖じゃない

ばーか^^

100 :デフォルトの名無しさん:2007/02/09(金) 01:50:59
人間の直結の先祖は俺

  生 物 の 時 間 終 了

101 :デフォルトの名無しさん :2007/02/09(金) 02:57:51
>>100
おまえ何歳なんだよ

102 :デフォルトの名無しさん:2007/02/09(金) 09:13:19
http://homepage3.nifty.com/midori_no_bike/CS/form.html#022

Form1.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


103 :デフォルトの名無しさん:2007/02/09(金) 09:31:06
using System;
using 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);
}
}



調べた、こうやれば表示できるた
上のサイトはいったい何だったんだ

104 :デフォルトの名無しさん:2007/02/09(金) 09:45:51
ヒント:略記

105 :103:2007/02/09(金) 09:47:20
ヒントじゃなくて答え教えろカス

106 :デフォルトの名無しさん:2007/02/09(金) 10:05:03
>>102は既存のフォームから別フォームを開くコードを
かなり省略して書いてある。
分かる人にはこんなサンプル必要ないし、
分からない人にはこれだけでは分からないからまったく意味のないサンプルコード。

答え:VisualC# ExpressEditionをインストールしろ



107 :デフォルトの名無しさん:2007/02/09(金) 10:08:39
C♪

どうせならこういう名前にすればよかったのにな
なんかかわいいじゃん

108 :デフォルトの名無しさん:2007/02/09(金) 10:10:25
C(#^ω^)

109 :デフォルトの名無しさん:2007/02/09(金) 10:11:10
C(#^_^#)b

110 :デフォルトの名無しさん:2007/02/09(金) 10:18:54
初心者とか書いてあるHPは、省略はするべきじゃないな。
初心者には、そのままコピペが多いし

111 :デフォルトの名無しさん:2007/02/09(金) 13:44:52
  ∧∧
C(#゚Д゚)
  ⊂  つ
  〜  |
   し`J

112 :デフォルトの名無しさん:2007/02/09(金) 13:46:41
C(# ゚д゚)

113 :デフォルトの名無しさん:2007/02/09(金) 15:32:33
>>102
これひどいな
コメントが紛らわしいからこういう構文があるのかと思っちゃう

114 :デフォルトの名無しさん:2007/02/09(金) 16:56:40
インターフェースでプロパティが定義されてるのってあまり見ないけどなんで?

115 :デフォルトの名無しさん:2007/02/09(金) 17:00:00
馬鹿おっしゃい

ICollection.Count
IDictionary.Keys
IList.IsReadOnly

116 :デフォルトの名無しさん:2007/02/09(金) 20:53:59
すんません
tabcontrolのtabpageをアクティブにするのって
Focus()で出来ないんですか?
おしえてくだだい

117 :116:2007/02/09(金) 20:55:09
すみません。自己解決しますた。

118 :デフォルトの名無しさん:2007/02/09(金) 20:55:40
試してみてできなかったんならできないんだろう。

TabControl.SelectedIndex/TabControl.SelectedTabでもつかっとけ

119 :デフォルトの名無しさん:2007/02/09(金) 20:56:03
>>117
偽者乙

120 :デフォルトの名無しさん:2007/02/09(金) 20:57:57
>>118
ありがとうございます。
VSで予測候補だしてくれますよね。
あれって全てでるんですか?(使用可な状態なら)

121 :デフォルトの名無しさん:2007/02/09(金) 21:03:01
>>120
インテリセンスのことか?
普通に使う範囲では全部出ると思うよ。

122 :デフォルトの名無しさん:2007/02/09(金) 21:06:32
>>121
TabControl.SelectedIndex/TabControl.SelectedTab
こんなの無かったとおもうんですけど・・

123 :デフォルトの名無しさん:2007/02/09(金) 21:08:02
なにか動作させたいときってあのピンクの消しゴムみたいなのが
すっ飛んでるアイコンのコードを選ぶんですよね?

124 :デフォルトの名無しさん:2007/02/09(金) 21:09:28
>>123
それはメソッド
>>118はプロパティ

125 :デフォルトの名無しさん:2007/02/09(金) 21:12:01
>>124
ありがとうございます


126 :デフォルトの名無しさん:2007/02/09(金) 21:12:40
このスレって優しい人が多いですね

127 :デフォルトの名無しさん:2007/02/09(金) 21:16:26
まぁなw

128 :デフォルトの名無しさん:2007/02/09(金) 21:23:58
Ctrl+スペースな?

129 :デフォルトの名無しさん:2007/02/09(金) 21:50:36
MD5CryptoServiceProviderクラスのComputHashメソッドでFileStreamのハッシュ値を計算中に進行状況を取得する方法を教えてください

130 :デフォルトの名無しさん:2007/02/09(金) 21:57:00
普通に考えたらなさそうだけど…

131 :デフォルトの名無しさん:2007/02/09(金) 21:57:01
無理。

132 :デフォルトの名無しさん:2007/02/09(金) 21:59:30
>>129
ファイルを一旦byte配列に4kBずつ読んで、
TransformBlock(とTransformFinalBlock)に流し込むやりかたはどう?

133 :デフォルトの名無しさん:2007/02/09(金) 22:00:36
そうですか…

別のクラスで出来そうなの探してみます

134 :デフォルトの名無しさん:2007/02/09(金) 22:04:07
>>132
その方法を試してみます
連レスすみません

135 :デフォルトの名無しさん:2007/02/09(金) 22:05:25
なんか本末転倒な予感

136 :デフォルトの名無しさん:2007/02/10(土) 15:23:40
.NETのつぼ閉鎖したの?

137 :デフォルトの名無しさん:2007/02/10(土) 18:07:34
ユーザーがメニューやキーボード操作をカスタマイズできる機能を
つけようと思うのですが、Delphi や C++Builder でいう、
TAction のようなクラスはないんでしょうか?

138 :デフォルトの名無しさん:2007/02/10(土) 20:33:32
FORTRANのくだすれって親切だよな。
たまに放置もあるけど。

139 :デフォルトの名無しさん:2007/02/10(土) 21:57:33
>>137
単にDictionary<ToolStripItem>に入れといてShortcutKeysプロパティをいじるのではダメなの?

140 :デフォルトの名無しさん:2007/02/11(日) 13:31:39
>>138
ここは「C#」のスレそして「くだすれ」では無い
寂しがり屋さんは馴れ合い系に逝って下さい

141 :デフォルトの名無しさん:2007/02/11(日) 15:53:29
C#とC++の違いを述べよ

142 :デフォルトの名無しさん:2007/02/11(日) 16:03:17
まったくの別物

143 :デフォルトの名無しさん:2007/02/11(日) 16:18:32
MS的には一応
C# : C++
ということにしたいらしい

144 :デフォルトの名無しさん:2007/02/11(日) 18:05:31

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
  }

private void 終了menu(object sender, EventArgs e)
{
this.Close();
}
}


終了menuのイベント追加したんだが
コピー、切り取り、貼り付けなどなど、
項目が増えるとソースが見づらくなると思うのだがスッキリする方法はないのだろうか?


145 :デフォルトの名無しさん:2007/02/11(日) 18:08:13
Form1.Menu.csとかに分割していくのは?

146 :デフォルトの名無しさん:2007/02/11(日) 18:11:44
>>145
VC#ってpartialに対応して無いでしょ?
デザインから飛べなくなるよ?

147 :デフォルトの名無しさん:2007/02/11(日) 18:21:50
>>146
それがさ。ちょっとした裏技があって、csprojを弄って

<Compile Include="Form1.Menu.cs">
 <DependentUpon>Form1.cs</DependentUpon>
</Compile>

としておくと、デザイナがちゃんと補足してくれるんだよ

148 :デフォルトの名無しさん:2007/02/11(日) 18:23:21
>>147
うはw知らんかった。
マジでありがとう

149 :デフォルトの名無しさん:2007/02/11(日) 18:52:13
byte[] a = new byte[100];
とかしたとき、aは0で初期化されてたりする?


150 :デフォルトの名無しさん:2007/02/11(日) 19:01:33
default(byte) 即ち 0 で初期化される。

151 :デフォルトの名無しさん:2007/02/11(日) 19:44:18
>>147
俺も前それやりたかったけどわからなかった。
いい事聞いた。ありがとう。

152 :デフォルトの名無しさん:2007/02/11(日) 19:47:05
ぶっちゃけ #region でいいとおもうんだけど

153 :デフォルトの名無しさん:2007/02/11(日) 20:01:19
>>152
それじゃコミット時にチェックするのめんどくさくね?

154 :デフォルトの名無しさん:2007/02/11(日) 20:13:50
>>152
MSクオリティっていうかユーザの意思と関係なく
なんかの拍子に勝手に開いたりするからいまひとつ使いづらいよな。

155 :デフォルトの名無しさん:2007/02/11(日) 20:51:31
C#のインタプリタってある?

156 :デフォルトの名無しさん:2007/02/11(日) 20:57:07
イミディエイトウィンドウでいいんじゃね

157 :デフォルトの名無しさん:2007/02/11(日) 21:00:51
MSが辞めるって言ったら終わる言語?
それとも、Cとかみたいな感じ?

158 :デフォルトの名無しさん:2007/02/11(日) 21:03:09
>>157
今M$が.NET辞めるって言ったら終わるんじゃね?w

159 :デフォルトの名無しさん:2007/02/11(日) 21:03:57
一応は標準化されてるし、互換処理系も存在するが、
MSがやめるって言えば存在価値がなくなるな。

160 :デフォルトの名無しさん:2007/02/11(日) 21:10:47
テキストフォームに漢字やひらがなを入力したとき、自動的にそのローマ字読みが別のフォームに格納されるようなあれ、どうやんのかな。

Cシャープ→csya-pu
のような感じで。

161 :デフォルトの名無しさん:2007/02/11(日) 21:26:43
っ ImmGetConversionList
っ KAKASI, ChaSen

162 :デフォルトの名無しさん:2007/02/11(日) 21:29:15
しゃ は sha なのか sya なのか

163 :デフォルトの名無しさん:2007/02/11(日) 21:33:23
KeyUpを捕まえとくとか?

164 :デフォルトの名無しさん:2007/02/11(日) 21:39:43
>>137>>144
Actionクラスくらい自作しれ

165 :デフォルトの名無しさん:2007/02/11(日) 21:41:18
親指シフト使いの俺も忘れないでください

166 :160:2007/02/11(日) 21:44:27
うーむ・・基本的には正しい変換とか気にせずに拾ってほしいからやっぱKeyUpなのかねぇ・・
BackSpaceとかDeleteとかどうすんだろ

167 :デフォルトの名無しさん:2007/02/11(日) 21:46:01
車売るならKeyUp…

168 :デフォルトの名無しさん:2007/02/11(日) 21:51:19
>>160
基本はimm32を叩く。
キー入力とるのは、クリップボードや範囲選択DELをうまく扱えないのであまり美味しくない。

169 :デフォルトの名無しさん:2007/02/11(日) 21:56:08
かな使いの俺も忘れないでください

170 :デフォルトの名無しさん:2007/02/11(日) 22:05:25
VistaならTSFを使うことになるんだろうな

171 :160:2007/02/11(日) 22:08:04
>>168
やっぱそうかね。
キー入力も妖しいな。

172 :デフォルトの名無しさん:2007/02/11(日) 22:14:25
妖しい

173 :デフォルトの名無しさん:2007/02/11(日) 22:35:47
vistaでの互換性が妖しい

http://forums.microsoft.com/TechNet-JA/ShowPost.aspx?PostID=766696&SiteID=36

174 :デフォルトの名無しさん:2007/02/11(日) 22:48:58
ついでに見つけた使えるのか?

ttp://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=456214&SiteID=7

175 :デフォルトの名無しさん:2007/02/11(日) 23:32:55
>>164
サンプル

176 :デフォルトの名無しさん:2007/02/12(月) 00:51:44
自分で探して
http://www.codeproject.com/

http://www.codeproject.com/csharp/actionlistprovider.asp
http://www.codeproject.com/cs/miscctrl/CradsActions.asp
 :

177 :デフォルトの名無しさん:2007/02/12(月) 12:56:52
stringからStreamを作成する方法を教えてください

178 :デフォルトの名無しさん:2007/02/12(月) 13:07:07
string のバイナリ化ってこと?
System.Text.Encoding に GetByte とかがあったと思う。

179 :デフォルトの名無しさん:2007/02/12(月) 13:15:02
StringStream なんてのは無いな
Encoding.GetBytes で MemoryStream に書き込むのが基本か

180 :デフォルトの名無しさん:2007/02/12(月) 13:17:26
StringBuilder とか StringReader / StringWriter とかで代用できる用途かも知れない

181 :デフォルトの名無しさん:2007/02/12(月) 13:22:04
Stringとstringの違いを述べよ

182 :デフォルトの名無しさん:2007/02/12(月) 13:30:13
ツマンネ

183 :デフォルトの名無しさん:2007/02/12(月) 14:33:50
>>181
それからして分かんないんだけど・・・
分かりやすく解説したドキュメントってある?

184 :デフォルトの名無しさん:2007/02/12(月) 14:36:14
>>183
http://msdn2.microsoft.com/ja-jp/library/s1ax56ch(VS.80).aspx
http://msdn2.microsoft.com/ja-jp/library/ya5y69ds(VS.80).aspx

このあたりか?

185 :デフォルトの名無しさん:2007/02/12(月) 14:42:15
#質問

データアダプタでUpdateメソッドを使用したいのですが、
インサート、アップデート、デリート事に、
データアダプタをインスタンス化しなければいけないのでしょうか?

186 :デフォルトの名無しさん:2007/02/12(月) 15:23:47
??

187 :デフォルトの名無しさん:2007/02/13(火) 10:06:48
using System;
using 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)

こういうエラーになるんですが、「このメソッド」とは一体なんのことなんでしょうか?

188 :デフォルトの名無しさん:2007/02/13(火) 10:41:17
>>187
static

189 :デフォルトの名無しさん:2007/02/13(火) 10:54:31
>>188
ん、どういう意味ですか?

190 :デフォルトの名無しさん:2007/02/13(火) 11:04:54
>>187
CSharpCodeProvider.Parseは実装されてないよ

191 :デフォルトの名無しさん:2007/02/13(火) 11:10:11
>>190
え、そうなんですか?ドキュメントにはちゃんと
2.0から追加されましたと書いてあるんですが・・・

192 :デフォルトの名無しさん:2007/02/13(火) 11:34:21
>>191
メソッドが追加されただけ。

193 :デフォルトの名無しさん:2007/02/13(火) 11:37:59
>>185
同じUPDATE, INSERT, DELETEを何度も発行するという話なら
privateのインスタンスを最初に1回作ればokです。
そのインスタンスに全ほにゃららCommandプロパティを
設定しておきます。

普通SELECTとUPDATE, INSERT, DELETEは一組だと思うので
その組ごとにデータアダプタを作ります。


194 :デフォルトの名無しさん:2007/02/13(火) 14:43:30
<?xml version="1.0"?>
<Database>
  <Table>
    <ID>1</ID>
    <Week>
      <Sunday>false</Sunday>
      <Monday>true</Monday>
    </Week>
  </Table>
</Database>

↑のようなXMLファイルをDataSetのReadXmlで読み込んだ場合、
WeekのSundayのデータを取得するにはどうしたらいいんでしょうか?

195 :194:2007/02/13(火) 14:58:49
自己解決。GetChildRowsで取得できました。

196 :デフォルトの名無しさん:2007/02/13(火) 21:45:55
キーが押されたらwinmm.dllを用いて対応するwaveを再生する

というプログラムをVS2005で書いているのですが、
いちいちファイルを開いて再生していると時間のロスが心配でメモリに読み込む仕様にしてみました。
Form1_Loadで、用意されたファイルをbyte[] subbufに読み込んで、ファイル数分回しながらbyte[][] bufにぶち込んでみました。

イベントを用いて押されたキーの入力を待ち
入力があった場合byte[][] bufを呼び出したいのですが
どのような設計にすればいいのでしょうか?


197 :デフォルトの名無しさん:2007/02/13(火) 21:49:50
適当にフォームのインスタンスメンバにでもしとけばいいんでねえの?

198 :デフォルトの名無しさん:2007/02/13(火) 21:53:51
どうでもいいがメソッド内で完結しないような API 呼び出しする時は
byte[] を GCHandleType.Pinned でピン留めしとかんとまずいぞ

199 :デフォルトの名無しさん:2007/02/13(火) 22:57:18
なんでもいいから教えろ

200 :デフォルトの名無しさん:2007/02/13(火) 23:30:59
何が知りたいのかわかんね

201 :デフォルトの名無しさん:2007/02/13(火) 23:33:30
というかなんでSoundPlayer使わないんだろ…1.1?

202 :デフォルトの名無しさん:2007/02/14(水) 04:54:55
おはようございます
馬鹿な質問いいですか?

参照設定しているDLLファイルがあるのですが
今はEXEと同じフォルダに置いて実行させています
これをEXEの中に取り込んで単独実行化させることは可能でしょうか?

おねがいします


203 :デフォルトの名無しさん:2007/02/14(水) 07:34:10
ilmerge

204 :デフォルトの名無しさん:2007/02/14(水) 10:24:17
usingとか正直飽きた

205 :デフォルトの名無しさん:2007/02/14(水) 11:32:24
PassiveモードにできるFTPツールを作成し、
FTPサーバーにつなげてテストしてみました。

ログインはできた(USERなどのコマンドは受け付けた)のですが、
ログイン後、"PASV"コマンドを実行したら例外エラーになってしまいます。
どうやらコマンドを受け付けないようです。
FFFTPを使って、そのFTPサーバーは"PASV"を受け付けるかやってみましたが、
何の問題もなく受け付けました。

コード上でも"PASV"をコマンドすれば何の問題もなく"227"のコードが
返ってくると思ったのですが・・・
PASVを受け付けさせるためにはもう一つ何か処理を加えないといけないの
でしょうか?

206 :デフォルトの名無しさん:2007/02/14(水) 11:40:53
例外エラーってなに

207 :デフォルトの名無しさん:2007/02/14(水) 11:47:18
初心者ってなんで難しい事したがるんだろう
他に方法いくらでもあるのに・・・

208 :205:2007/02/14(水) 11:54:43
"PASV"はTry-CatchでCatch(Exception)に引っかかってしまいます。
"PASV"はStreamWriter型のWriteLine()とFlush()を
使ってコマンド実行しようとしています。この方法で
ログインまではできたので、"PASV"も大丈夫だと思ったのですが・・・


実現したいことは2つのFTPサーバーにつなげて、一方に"PASV"、
もう一方に"PORT"でつなげて、PASVからPORTへファイルを転送
したいと思っています。

209 :デフォルトの名無しさん:2007/02/14(水) 12:04:21
>>208
サーバが受け付けてくれないんじゃなくて、プログラムが落ちてるんだと思うけど。
その catch した Exception の中を見れば何が起ってるのかわかるべ。

210 :デフォルトの名無しさん:2007/02/14(水) 12:34:03
>208
むかし、カップラーメン買ってきてって頼まれて、
カップヌードル買っていったら、これ嫌いなんだよ!と怒られたのを思い出した。

カップラーメンだけじゃわからんっての。

211 :205:2007/02/14(水) 13:16:57
209,210さん
ありがとうございます。
ログインした後、以下の関数により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;}
}


212 :デフォルトの名無しさん:2007/02/14(水) 13:22:52
>>211
だから〜

> catch (Exception){return 2;}
> }

↑ここで catch してる Exception の中身を調べろって言ってんの。

213 :205:2007/02/14(水) 13:32:49
212さん
ありがとうございます。早速調べてみます。

214 :デフォルトの名無しさん:2007/02/14(水) 15:03:44
なんで try してんのに catch の中で何もしないの?
そんなんだったら try する意味ないじゃん。

215 :デフォルトの名無しさん:2007/02/14(水) 16:24:32
家庭教師の

216 :デフォルトの名無しさん:2007/02/14(水) 16:34:29
try {

217 :デフォルトの名無しさん:2007/02/14(水) 16:34:52
おぱんちゅ見たいお^^;;;
クンクン匂い嗅ぎたいお

218 :デフォルトの名無しさん:2007/02/14(水) 16:35:33


219 :デフォルトの名無しさん:2007/02/14(水) 16:41:12
catch(Exception ex){

220 :デフォルトの名無しさん:2007/02/14(水) 16:42:32
お・・お・・おっぱいならいい?
だ、、だ、ダメかな?
おっぱいモミモミしたいお^^;;;

221 :デフォルトの名無しさん:2007/02/14(水) 16:43:42
GOTO *216

222 :デフォルトの名無しさん:2007/02/14(水) 16:47:52
つまんねえよオッサン

223 :デフォルトの名無しさん:2007/02/14(水) 17:28:02
} finally {

224 :デフォルトの名無しさん:2007/02/14(水) 17:39:23
throw new Exception(); }

225 :デフォルトの名無しさん:2007/02/14(水) 18:20:30
System.Environment.Exit();

226 :デフォルトの名無しさん:2007/02/14(水) 18:26:07
>>211
StreamWriter,Readerはそんな変なコードで動くの????

StreamWriter使わないからしらないけど、
ログインしたストリームはどうやってもらってるの?

=null なんてやってたらどうやっても動きそうにないが?



227 :デフォルトの名無しさん:2007/02/14(水) 18:45:03
>>226
nullで動くわけ無いだろ

228 :デフォルトの名無しさん:2007/02/14(水) 18:52:55
これぞまさしくぬるぽ

229 :デフォルトの名無しさん:2007/02/14(水) 18:54:16
たぶんあのコードは、広告とかに付いてる「写真はイメージです」と同じ。

230 :デフォルトの名無しさん:2007/02/14(水) 18:59:24
文字コードはユニコードでいいんか?

231 :デフォルトの名無しさん:2007/02/14(水) 19:04:03
Assembly asm = Assembly.LoadFile("twst.exe");
Type[] typ = asm.GetTypes();

このコードで独自DLLを参照に加えてるexeを読み込もうとすると、GetTypesの所で
実行側のディレクトリにDLLがねーよバーカって怒られるんですが、読み込み元の
ディレクトリからDLLを読み込むにはどうしたらいいでしょうか?

232 :デフォルトの名無しさん:2007/02/14(水) 19:04:48
初心者だから分からないだけだとおもうよ。

233 :デフォルトの名無しさん:2007/02/14(水) 19:32:51
PropertyBindingを何度設定してもデバッグのたびに無効になるよ。
どうすりゃいいんだよ。

234 :デフォルトの名無しさん:2007/02/14(水) 19:38:30
C#の場合には明示的な保存処理が必要
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/438winsettings/winsettings.html

235 :デフォルトの名無しさん:2007/02/14(水) 19:39:54
ググったら大体答えが出てくるな。

236 :デフォルトの名無しさん:2007/02/14(水) 21:02:48
>>234
それはやってんだけどなあ、バグなのかな。
SP1入れてみようかな。

237 :デフォルトの名無しさん:2007/02/14(水) 22:19:31
>>231
参照してるDLLを先にロードしとけ。
まあ他のことでトラブっても知らんがね。

238 :デフォルトの名無しさん:2007/02/15(木) 06:42:23
Formの再描画のタイミングがよく分からないんですが、
Refresh() 以外にもTimer.Start() や Tickイベントが
起こるたびに再描画されますか?

239 :デフォルトの名無しさん:2007/02/15(木) 06:46:46
なんでやねん

240 :238:2007/02/15(木) 07:03:10
入門書を勉強してるんですが、Refresh() を使って再描画してる部分と
使ってないにも関わらず再描画されてる部分があって、後者の場合は
タイミング的にそこら辺で再描画も同時に行われてるかと思ったんで、、

ちなみに「プログラムを作ろう!パソコン教科書」という本です。

241 :デフォルトの名無しさん:2007/02/15(木) 08:21:12
そういうときはタイマーを止めてみればそれが原因かどうかわかるだろう

242 :デフォルトの名無しさん:2007/02/15(木) 08:42:40
Invalidate

243 :デフォルトの名無しさん:2007/02/16(金) 01:22:07
テキストボックスへのドロップ時に、ドロップした位置(カーソル位置)に
文字列を挿入するにはどのようにすればいいのでしょうか?

「いったんクリップボードにデータを入れろ」というサイトを見つけてやって
みたのですが、この方法だとドロップした位置ではなく、ドラッグ開始直前の
キャレット位置に文字列が挿入されてしまい訳わかめです(><)

244 :デフォルトの名無しさん:2007/02/16(金) 01:22:49
>>238
他のアプリのウィンドウと重なった後や、リサイズ・最大・最小化等でも起こる。
ようはタイミングなんて気にしたらイカン。

245 :デフォルトの名無しさん:2007/02/16(金) 01:43:36
>>243
DropでGetCharIndexFromPosition とかで場所から文字のインデックスとって
SelectionStart, SelectionLength でカーソル移動してペースト

でいけないかしら?

246 :デフォルトの名無しさん:2007/02/16(金) 01:46:42
>>243
textBox1.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);
};

こんなもんか。このままだと最後の文字の後ろにドロップできないが、その辺は適当になんとかしてくれ

247 :デフォルトの名無しさん:2007/02/16(金) 01:50:38
>>246
DragOverしたら選択状態が変わらんか?


248 :デフォルトの名無しさん:2007/02/16(金) 01:59:54
>>245>>246
ご返答ありがとうございます。
書き忘れましたが実は.NET1.1なんです。
上記を試してみたのですが、TextBoxにGetCharIndexFromPositionが無いようです。。。

で、GetCharIndexFromPositionがRichTextBoxにあるようなのでTextBoxから
置き換えて試してみています。
プロパティドラッグ&ドロップらしきものが無いようなので方法を調べてみて
わからなかったら再度お願いします

249 :デフォルトの名無しさん:2007/02/16(金) 02:03:17
>>247
選択解除されるがキャレットを自前描画しなくてよくなる。

250 :デフォルトの名無しさん:2007/02/16(金) 02:07:05
RichTextBoxなら自分で処理書かなくても大丈夫だろう

251 :デフォルトの名無しさん:2007/02/16(金) 02:13:36
>>250
RichTextBoxのAllowDropをTrueとしてみましたが、反応ないようです。

252 :デフォルトの名無しさん:2007/02/16(金) 02:17:58
ああ、1.1か。残念だったな。

253 :デフォルトの名無しさん:2007/02/16(金) 02:32:04
なぜか、VS2003でDrag&Drop関連のメニューが出てこないだけで、
イベントハンドラを手動で追加したら動きました。

>>246さんのコードをベースにDrop部分をクリップボード経由にしたところ、
末尾入力も出来るようになりました。

private void richTextBox1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) {
Clipboard.SetDataObject(e.Data.GetData(DataFormats.Text).ToString());
richTextBox1.Paste();
}

皆さん、本当にありがとうございました。


254 :デフォルトの名無しさん:2007/02/16(金) 05:46:37
すいません。SoundPlayerで普通のwavの再生は出来たんですが、
これをプログラム本体に埋め込むことは出来ますか?
画像はresxgenで埋め込めたんですが、・・・

255 :デフォルトの名無しさん:2007/02/16(金) 07:27:49
普通にプロジェクトに追加すればいいだろ

256 :デフォルトの名無しさん:2007/02/16(金) 10:38:51
ちょっと聞いてもいいですか、お願いします。
ToolStripButtonで、文字を表示しようと思ってるんですが
うまくいかず。

TextImageRelationプロパティをいろいろ変えてみたんですが出ず、
Overlayで重ねたいんですが、Textが現われんです。
なんかコードで操作必要なんでしょうか。

257 :デフォルトの名無しさん:2007/02/16(金) 10:58:50
DisplayStyle?

258 :デフォルトの名無しさん:2007/02/16(金) 11:02:30
>>257
あー、それか、わかりますた。
助かりましたです、ドモ!!

259 :デフォルトの名無しさん:2007/02/16(金) 13:25:58
>>254
2005ならプロジェクトのプロパティのリソースのページで追加するだけ

260 :デフォルトの名無しさん:2007/02/16(金) 18:27:12
C#でASPのWebを開発中です。

ObjectDataSourceを使ってオラクルのデータをGridViewに表示しています。
SelectMethodには、DataTableを返すGetData()を登録しているのですが、
ObjectDataSource.Select()という一回の呼び出しで、なぜかGetData()が2度
実行されてしまいます。
どなたかこの現象についてご教授願えないでしょうか?


261 :デフォルトの名無しさん:2007/02/16(金) 22:46:49
セキュリティホールのIISをインストールする気にならないので
WEB UI触ったことないが、これかな?


>ObjectDataSource.Select メソッド

>データ バインド コントロール
>ObjectDataSource コントロールが GridView コントロールなどのデータ バインド
>コントロールに関連付けられている場合、ページ コードから Select メソッドを呼び出す
>必要はありません。
>Select メソッドは、データ バインド コントロールによって直接呼び出されます。



262 :デフォルトの名無しさん:2007/02/17(土) 01:12:35
>>255>>259
すいませんIDE使わない方法はありませんか?

263 :デフォルトの名無しさん:2007/02/17(土) 01:29:45
resx書いてresgenで変換すりゃいいじゃない。

あるいはResourceWriterつかって自作するか。

264 :デフォルトの名無しさん:2007/02/17(土) 07:06:21
.NetFrameWorkのバージョンは現在1.0、1.1、2.0、3.0があります。
いろいろ調べてみたのですが、よく分からないので教えてください。

基本的に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を消そうと思っています。


265 :デフォルトの名無しさん:2007/02/17(土) 12:54:14
なんでこんなとこでウダウダ言ってる間にMSの説明を読まないんだ?

266 :デフォルトの名無しさん:2007/02/17(土) 13:28:12
オープンファイルダイアログについて質問があります。
ファイルの種類のフィルターについてなのですが、
このフィルターのプロパティ項目のストリングを弄るだけで、
原理的に変更がなされるはずですよね。
それとも、他のプロパティに関連してるとかそんな事もあるのでしょうか?

自分の場合はストリングをどんなに弄っても、何も変更がなされないのです。
前使ったときはそんな事は無かったのですが、、、。
つまり、以前はフィルタープロパティは直ぐに変更できました。

それとも、これは、何らかのバグなのでしょうか?


267 :デフォルトの名無しさん:2007/02/17(土) 13:29:17
"ビットマップ画像|*.bmp|全てのファイル|*.*"
こんな感じなのですが、、、。

268 :デフォルトの名無しさん:2007/02/17(土) 13:33:58
コードは?

269 :デフォルトの名無しさん:2007/02/17(土) 13:55:22
すいませんでした。
一応自己解決しました。

本当に初歩的なことで、勘違いしてました。
どうも、済みませんでした。

270 :デフォルトの名無しさん:2007/02/17(土) 15:36:10
TextboxのReadOnryをTrueにすると中の文字が
灰色になってしまうのはなんとかなりませんか?

271 :デフォルトの名無しさん:2007/02/17(土) 15:41:23
背景は灰色かもしれないけど文字は黒いぜ

272 :270:2007/02/17(土) 15:48:41
>>271
すばやいレスthxです。

Textboxの背景色はBackgroundImageで白くできたのです。
表示される文字が灰色なのは気のせいってことですな。

273 :デフォルトの名無しさん:2007/02/17(土) 18:18:18
>>264
1.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の削除は、使用マシンが
仕事でつかうものなら止めたほうがいいかもしれません。


274 :デフォルトの名無しさん:2007/02/17(土) 18:26:49
×時期早々(じきそうそう)
○時期尚早(じきしょうそう)

275 :デフォルトの名無しさん:2007/02/17(土) 20:12:18
×不幸のズンドコ
○不幸のドンゾコ


276 :デフォルトの名無しさん:2007/02/17(土) 20:13:32
×ギブス
○ギプス

277 :デフォルトの名無しさん:2007/02/17(土) 20:54:27
//sle_1:旧番号
//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


278 :デフォルトの名無しさん:2007/02/17(土) 20:57:58
C# じゃないのでスレ違いだな

279 :デフォルトの名無しさん:2007/02/17(土) 21:28:47
そのキモイ言語なに?

280 :デフォルトの名無しさん:2007/02/17(土) 21:34:56
どこに行ったら教えてもらえるのでしょうか・・・・

281 :デフォルトの名無しさん:2007/02/17(土) 21:40:31
ttp://www.qianfang.com/bbs/showthread.php?t=166

もとは↑ここのです

282 :デフォルトの名無しさん:2007/02/17(土) 21:48:01
PowerBuilderじゃねえの?

283 :デフォルトの名無しさん:2007/02/17(土) 21:49:05
スレ立てるまでもないとかそんな感じのスレで聞いてみ
演算そのもののは大して言語に依存してるわけでもなさそうだしな

しかしこの VB に宣言部だけ C を取り入れたような文法はキモいな
PowerScript とか言う言語らしいが

284 :204:2007/02/17(土) 21:53:23
>>283
有難うございました!((+_+))

285 :デフォルトの名無しさん:2007/02/17(土) 22:03:59
>>281
中国サイトに誘導するな!

ウィルスが怖いじゃないか!!!

286 :デフォルトの名無しさん:2007/02/17(土) 22:04:44
>>282
へえ。調べてみたけどやっぱりキモイなあ
いつからあるのか知らないけれど、類似する言語は山ほどあるのに独自文法を作っちゃうあたり特に…

287 :デフォルトの名無しさん:2007/02/17(土) 23:17:33
PowerBuilderって結構古いよ。
VB2の頃にはもうあった。

288 :デフォルトの名無しさん:2007/02/18(日) 00:36:22
C#はCと思っちゃいかん、どちらかと言うとVBだ

289 :デフォルトの名無しさん:2007/02/18(日) 00:39:31
なにを今更そんな当たり前のことを

290 :デフォルトの名無しさん:2007/02/18(日) 01:37:22
いやそもそも Delphi だ

……で何が?

291 :デフォルトの名無しさん:2007/02/18(日) 14:34:41
言語自体はVB(非.NET)とはかけ離れてるだろ
VBみたいに使えるようにIDEが頑張ってるだけで

292 :デフォルトの名無しさん:2007/02/18(日) 14:44:58
VBもIDEが頑張ってるだけだから

293 :デフォルトの名無しさん:2007/02/18(日) 14:46:02
VBのIDEは頑張ってるな
VB.NETのIDEは頑張りすぎだが…

294 :デフォルトの名無しさん:2007/02/18(日) 15:51:40
VBさわってないけどintellisenceは C#以上なのか
ずっとBCBしか触って無くて
はじめて2005でVC#触った時 あまりの手回しの良さに驚いた

こりゃスゲーとおもってVC++を使ってみると intellisenceのあまりの放置加減に…
BCB以下じゃん Ctrl+j Ctrl+j !

295 :デフォルトの名無しさん:2007/02/18(日) 15:56:25
インテリセンスはVB.NETとC#ならC#の方が賢いと思うよ。

これに慣れちゃうと他の言語使えなくなるんだけどね

296 :デフォルトの名無しさん:2007/02/18(日) 15:58:25
>>295
w

297 :デフォルトの名無しさん:2007/02/18(日) 16:05:57
あんまかわらんだろう。VB.netとC#ならば。

298 :デフォルトの名無しさん:2007/02/18(日) 16:11:02
C#は一文字目から補完候補でるようになったのに、VBはまだなんだよなあ。

299 :デフォルトの名無しさん:2007/02/18(日) 16:23:07
VBは名前空間表示してくれなかったり、
クラスの色が変わってくれなかったり
不便なとこもある。


300 :デフォルトの名無しさん:2007/02/18(日) 16:35:15
>>298
一文字も糞も、ドット(.)打った瞬間に出るだろw
VBだろうがC#だろうが

301 :デフォルトの名無しさん:2007/02/18(日) 16:46:45
C#はCと打てばConsoleあたりの補完候補が出るが、VBはでない。
どうしてドットが出てくるのかわからない。

302 :デフォルトの名無しさん:2007/02/18(日) 16:47:00
>>300
C#だと、メソッドの中で一文字目をタイプすると型名の候補が表示される。
VBだとキーワード 「Dim」が必要だから、構造的にこれは無理。なのでこれは仕方ない。

C#書いてて便利だと思うのは new の時の型名候補が的確なことかな。

303 :デフォルトの名無しさん:2007/02/18(日) 16:51:51
お前ら知らないのか
VBでもCtrl+Spaceで候補がでてくるんだぞ

304 :デフォルトの名無しさん:2007/02/18(日) 16:58:17
使ってみたけど、VBはintellisence弱いでしょ。
コンテクストを全く理解してくれず、メソッドの外なのにクラスのプロパティを候補に出したりしよる。

スニペットもマウス使わないと入力できなくて使い物にならん。

305 :デフォルトの名無しさん:2007/02/18(日) 17:01:09
>>303
出るには出るが、知ってる単語を全部表示してくれるじゃん…

306 :デフォルトの名無しさん:2007/02/18(日) 17:09:12
>>302
それってVBでは"as"って打った後と同じ状態に過ぎないのでは?w

307 :デフォルトの名無しさん:2007/02/18(日) 17:32:20
tryと打ってエンター押したら
Catch ex As Exception
End Try
が挿入されたのは衝撃だった
Exceptionをcatchするのは良くないんじゃなかったっけ?
逆に例外の握りつぶしにつながるような…

308 :デフォルトの名無しさん:2007/02/18(日) 17:35:32
そういえばintellisenceで候補が出た時に矢印キーとマウス以外で
選択肢を上下に移動できないのかね
ホームポジションのまま動かせるといいんだけど
キーカスタマイズにも項目ないし
矢印キーまでいちいち 手を伸ばすのめんどくさいんだよね

選択確定するまで単語うちこめってか

309 :デフォルトの名無しさん:2007/02/18(日) 17:40:05
>>308
禿同

310 :デフォルトの名無しさん:2007/02/18(日) 17:41:52
漏れは窓使いの憂鬱でなにもかもEmacs風にしてあるから、
大抵のことはホームポジションで出来る。
intellisenseの候補はC-vとかM-vとかでページ単位にスクロールさせてる。

よそ行ったときイラつくのが難点だが。。。

311 :デフォルトの名無しさん:2007/02/18(日) 17:59:10
>>310
muleかじった程度の俺では そこまで変更できん……
Windows標準のCtrl-c,v,x,zなんかは変えたくないし

312 :デフォルトの名無しさん:2007/02/18(日) 18:21:33
>>307
握りつぶし全般が悪いわけじゃないでしょ。

313 :281:2007/02/18(日) 20:37:48
>>285

ごめんなさい・・・
中国のはウイルス多いんですね。
今後注意します。(o_ _)o))

314 :デフォルトの名無しさん:2007/02/20(火) 03:42:50
レスがないw

315 :デフォルトの名無しさん:2007/02/20(火) 17:43:37
すいません、C#知識0なんですが、
なにから始めればよいでしょうか?
C言語は、printfしか知りません。
すいません。


316 :デフォルトの名無しさん:2007/02/20(火) 17:45:19
C#とCは全く別言語だから気にすることではないが、
何か既習言語がないなら適当に入門書でも買ってくるといいよ。

317 :デフォルトの名無しさん:2007/02/20(火) 18:11:17
なにをそんなに謝ってるの?

318 :デフォルトの名無しさん:2007/02/20(火) 18:29:15
お前みたいに何でもイチャモンつけるやつがいるから

319 :デフォルトの名無しさん:2007/02/20(火) 18:55:43
printf()が分かれば可変長引数がわかるさ

printf(const char*, ...);  //関数宣言

320 :デフォルトの名無しさん:2007/02/20(火) 18:58:55
Write()が分かれば可変長引数がわかるさ

Write(string format, params object[] arg);  //メソッド宣言

321 :デフォルトの名無しさん:2007/02/20(火) 19:02:32
初心者です、まったく分かりませんと言うのは釣りだろうな
普通入門書とか買ったり入門サイト見て、それに従って憶えて
分からない所をこことかで聞くものだ

322 :デフォルトの名無しさん:2007/02/20(火) 19:05:01
初心者なのでわからないので教えてほしい
お願いします

323 :デフォルトの名無しさん:2007/02/20(火) 19:27:09
質問です。
読み込んだstring型の文字列を1行毎(改行コード毎)に処理(とりあえず別のstringにコピー)したいのですが
どのように処理するのが一般的でしょうか?

324 :デフォルトの名無しさん:2007/02/20(火) 19:33:17
>>323
C#でSplit関数の代わりになるものは?: .NET Tips: C#, VB.NET, Visual Studio
http://dobon.net/vb/dotnet/vb2cs/vbsplit.html


325 :デフォルトの名無しさん:2007/02/20(火) 19:37:53
>>323
StringReaderに突っ込んでReadLine

326 :デフォルトの名無しさん:2007/02/20(火) 19:40:38
>>324
dクス。
ここの通りに試してみます。

327 :デフォルトの名無しさん:2007/02/20(火) 19:42:07
Vb互換ライブラリ使うのは汚い感じがするな

328 :323:2007/02/20(火) 19:44:27
>>325
こんな関数があったとは…
どうもです。

>>324さん、>>325さん、ありがとうございました。

329 :デフォルトの名無しさん:2007/02/20(火) 20:40:26
っていうか、2.0以降なら普通にStringのSplitでいけるんだけどね

330 :Start ◆C2QJEAJVdg :2007/02/21(水) 07:19:06
4月からPGになるStartと申します。
仕事上C#をやることになりました。
現在、C#の知識は皆無といっても過言でありません。
なので、4月までには少しでも社員に追いつけるように努力します。
なので。これからこのスレにはお世話になると思いますのでよろしくお願いします。
とりあえず、今理解しているのは意味段落・形式段落・本文で成り立っているって
ことです。そのほかにもMainには一定の形があるというのも理解しております
public static void Main(string[] args)
昨日の今日はじめたので今はこれぐらいですが4月までには色々と出来るように
なりたいと思いますのでC#を勉強中の皆様頑張りましょう。

今、変数に関してちょこっと勉強してみたのですがintは整数を表していますよね?
で、doubleは少数。では、stringとあるんですがこれはいったいどうゆうことでしょう?
整数ではt=3の場合は int t=3 なんですがstringはどういった式ができるんでしょうか?

331 :デフォルトの名無しさん:2007/02/21(水) 07:32:19
そんな事疑問に思うってことはプログラミング自体の知識が皆無なんだろ?
入門書買って一通り勉強してからにしてくれ。

332 :デフォルトの名無しさん:2007/02/21(水) 07:33:36
string str = "文字列" ;

333 :デフォルトの名無しさん:2007/02/21(水) 07:34:08
釣りだろ

334 :デフォルトの名無しさん:2007/02/21(水) 07:40:27
こんなんの上司になってしまったら自殺したくなるな。

335 :デフォルトの名無しさん:2007/02/21(水) 07:44:09
いまどき能力も確かめずに採る会社ないだろ…

336 :デフォルトの名無しさん:2007/02/21(水) 08:08:44
釣りだろ
PGで飯食っていくなら、入門書かってある程度独学で理解出来なきゃ
役にたたん

337 :Start ◆C2QJEAJVdg :2007/02/21(水) 08:23:54
>331
入門書は会社から提供されたものがあるんでそれで頑張ります。

>332
ありがとうございます。

>333
釣りじゃないです。

>334
そうですかOrz しかし、そうならないためにも頑張ります。

>335
プログラミング知識は皆無と伝えてあります初めはトライアル雇用として働きます。

>336
はい。昨日の今日はじめたばかりなのでまだまだ理解するところはたくさんありますので
頑張っていきたいと思います。

338 :Start ◆C2QJEAJVdg :2007/02/21(水) 08:27:21
とりあえず、今はプログラムとはどういった構造で出来てるかを勉強しています。

ttp://www12.plala.or.jp/dokugaku/main/1/2.html

今は参考書も含め主にこのサイトで色々勉強しております。
本当に無知でプログラミングのプの字もわからない状態です。


339 :デフォルトの名無しさん:2007/02/21(水) 08:36:05
こんな所に書き込みしてるなら、まず本屋回れ

340 :Start ◆C2QJEAJVdg :2007/02/21(水) 08:41:59
>339
そうですね。ありがとうございます。

後、秋には基本情報処理の試験があるんです。
一応、その時急にゆうと信憑性がないんで今いっときます。
ちなみに基本情報の知識も皆無なので本当にやることが山ほどあります。

341 :デフォルトの名無しさん:2007/02/21(水) 08:49:06
転職したほうがいいよ

342 :デフォルトの名無しさん:2007/02/21(水) 08:51:50
**********重要**********

    Start ◆C2QJEAJVdgあぼーん推奨

**********重要**********

343 :Start ◆C2QJEAJVdg :2007/02/21(水) 09:09:02
>341
転職ですか。今は内定しやる気があるので転職は考えておりません。
今、自分が出来ることをしそれでも無理だと感じたら別の職種につこうかとは思っております。

とりあえず、先ほどのサイトを全て理解した後、参考書を購入しにいきます。

344 :デフォルトの名無しさん:2007/02/21(水) 09:36:06
NEET脱出おめでとう。
でもここはあなたのBlogじゃないから。

345 :Start ◆C2QJEAJVdg :2007/02/21(水) 09:41:11
>344
NEETじゃないですよ学業→就職で仕事もやる気満々なんで。
そうですね。何かブログみたいな感じなんでもぐります。
質問があるときはよろしくお願いします。

346 :デフォルトの名無しさん:2007/02/21(水) 10:09:38
変数の基礎知識もないような人間をプログラマとして雇用するのも豪気だなw
コネ系?

347 :Start ◆C2QJEAJVdg :2007/02/21(水) 10:27:08
>346
変数基礎は理解しました。
コネ系じゃないですよ。

348 :デフォルトの名無しさん:2007/02/21(水) 10:39:20
相 手 に す ん な

349 :デフォルトの名無しさん:2007/02/21(水) 11:05:06
ていうか、別に普通にあるでしょ、素人を採用って。
これからどれだけ伸ばせるかが問題であって。

まあでも、まずはサイトと書籍で勉強だな。


350 :デフォルトの名無しさん:2007/02/21(水) 11:13:22
どうでもいいが>>338で勉強するのはやめといた方がいいと思うけどな
意味段落・形式段落・本文って何だよw

351 :デフォルトの名無しさん:2007/02/21(水) 11:14:08
雇う側はそれでいいが、教える側はつらい

352 :Start ◆C2QJEAJVdg :2007/02/21(水) 11:14:40
>349
はい。ありがとうございます。
ただいま、boolを理解しつつあります。おもしろいですね。

しかし、私の投稿はこの板違いと自負しておりますので私事情の発言は控えさしていただきます。
なので、これからはスレタイにのっとりわからないことを質問さしていただくようにします。
住民の皆様板汚しすいませんでした。

353 :デフォルトの名無しさん:2007/02/21(水) 11:30:12
>>Startさん
まぁ、基本とかどうでもいいよ。
フォームをちょちょっと作って、このボタンを押したら〜とかこのフォームが更新されたら〜とかは
雷マーク押してイベント追加して、処理をかけばいいだけさ。
簡単なもんだよプログラムなんて。
昔はWINMAIN、WINPROCからつくちゃってさ。面倒なことこの上なかった。


354 :Start ◆C2QJEAJVdg :2007/02/21(水) 11:39:03
>353
助言ありがとうございます。
現在、コンパイルのやり方がいまいちわかっていないために実行することができません。
コンドプロンプトでコンパイルしようとしてるんですができません。
コンパイルに関しては自分で解決しようとしてるんですがお一つ質問があります。
class TRICK
{
Main
{
TRICK is wonderful.
}
}
とありますが【[.]】やタブなどは見易さ重視のタメにあるんでしょうか?
そのほかにも何か意味はあるんでしょうか。

355 :デフォルトの名無しさん:2007/02/21(水) 11:51:15
質問をするレベルにも達していない
帰れ

356 :デフォルトの名無しさん:2007/02/21(水) 12:25:54
おまえらはおれがプログラムしてやったんだぞ

357 :デフォルトの名無しさん:2007/02/21(水) 12:26:44
コンドプロンプト?
コンドームプロンプト?

358 :デフォルトの名無しさん:2007/02/21(水) 15:27:20
TreeNode に Keyって概念があるんですが、どうもあわてて 2.0から
入れたらしく説明がいまいちしっくり来ないんですがいかがですか。

どうも説明読むと TreeNode.Name プロパティ と同じらしいんですが
これって混乱の元になるかと。

key と読んだり、名前と読んだり、Nameプロパティと言ったりするのは
やめて、KeyならKeyで統一するべきじゃないでしょうか?それとも
NameプロパティならNameプロパティで統一するべきでhないでしょうか。

どうでしょう?


359 :デフォルトの名無しさん:2007/02/21(水) 15:29:46
もっともKeyは従来の TreeView や Delphi のそれにはあったかと思うんですが
やっぱり検索に時間かかるんでKeyも必要って感じでいれた感じです。

でも用語は混乱を生じないようにした方がいいかと思うんですよね。

360 :デフォルトの名無しさん:2007/02/21(水) 15:49:40
あほ

361 :デフォルトの名無しさん:2007/02/21(水) 16:04:15
グレースケールのBitmap画像データが3つあって、
それらを適当にRGBに割り当ててカラー画像を作りたいのですが、
そのようなクラスありますか?

362 :デフォルトの名無しさん:2007/02/21(水) 16:06:16
色変えて重ねて描画すれば

363 :デフォルトの名無しさん:2007/02/21(水) 17:12:19
FTPでnetworkstreamからデータを読み込もうとしています。

StreamReader sr = new StreamReader(networkstream, Encoding.ASCII);

while ((temp = sr.ReadLine()) != null)
{
  //コード
}

のようにして1行ずつ読み込もうとしています。
whileの行にブレークポイントを設定してsrの状態を観察しようとすると、
最初に1行読み込むとコードがストップしてしまいます。
エラーも起きずにReturnを処理したかのように終わってしまいます。
networkstreamからReadLineで読み込むのはまずいのでしょうか?

364 :デフォルトの名無しさん:2007/02/21(水) 17:20:24
一行分しかデータ届いてないんじゃないの?

365 :デフォルトの名無しさん:2007/02/21(水) 17:20:38
改行が来るまでブロックされて当然じゃん

366 :デフォルトの名無しさん:2007/02/21(水) 17:33:16
>>364
1行分しかデータが届いていなければ、whileの行に戻ってきたときにsr.ReadLine()がnullを返すと思うのですが、
そうはならないのでしょうか?


367 :デフォルトの名無しさん:2007/02/21(水) 17:46:27
「コードがストップ」をくわしく

368 :デフォルトの名無しさん:2007/02/21(水) 18:02:46
>>367
意味不明なのはわかります。
なんと説明すればいいのかわからないのですが、そのメソッドの処理が終わってしまいます。

//コード

の中でブレークポイントを設定して一度止めます。
そうするとたしかにtempの中に文字列が格納されていますので1行は読み取ってます。
で、srはどうなっているのかとおもってカーソルをあわせると

EndOfStream 前の関数の評価がタイムアウトしたため、関数の評価は無効になりました。続けて実行し、再度関数の評価を有効にしてください。 System.IO.Stream

と表示されます。F11でコードを進めようとするとコンソールが出てきてそこで止まってしまいます。
VisualStudioのほうは(実行中)のままです。

説明があやふやなのですが、
http://pc2.2ch.net/tech/kako/1039/10396/1039646808.html
ここの35と似ているのかもしれませんが、それにレスがついてないのでわかりません。

369 :デフォルトの名無しさん:2007/02/21(水) 18:17:50
すみません。質問したいのですがよろしいでしょうか。
初心者なんですが引数の使い方についてわかりません。

public delegate double f1(double[] f2);

public int keisan(f1 x)
{

}
↑この関数内で引数xを使いたいのですが、認識してくれません。
この使い方は間違っているのでしょうか?


370 :デフォルトの名無しさん:2007/02/21(水) 18:20:22
>>368
自分で意味不明だったら他人に判るわけないだろw

っていうか何が問題なの?
動かないの?

371 :デフォルトの名無しさん:2007/02/21(水) 18:22:16
>>369
認識ってなに?

372 :デフォルトの名無しさん:2007/02/21(水) 18:22:52
型、名前空間名にXが見つかりませんでしたとなってしまいます。
Xを使うには?

373 :デフォルトの名無しさん:2007/02/21(水) 18:22:55
>>368
ブレークポイントの話はいいから、結局なんなんだ?

374 :371:2007/02/21(水) 18:25:41
>>372
xが大文字になってるけどまさかそれじゃないだろうなw

375 :デフォルトの名無しさん:2007/02/21(水) 18:26:26
それはないです。

376 :デフォルトの名無しさん:2007/02/21(水) 18:32:38
ポインタを使いたいときunsafeで使うのは良くないんですか?
配列やrefにしたほうが良いのでしょうか?

377 :デフォルトの名無しさん:2007/02/21(水) 18:42:00
>>368
どうでもいいからtry catchで例外のひとつでも表示してみろい。

378 :デフォルトの名無しさん:2007/02/21(水) 18:53:15
>>376
わざわざポインタを使う理由による

379 :デフォルトの名無しさん:2007/02/21(水) 18:54:20
>>375
コードさらしてみ?

380 :デフォルトの名無しさん:2007/02/21(水) 19:18:38
>>369
public int keisan(f1 x) {return (int) x(new double [] {1.1, 2.2});}


381 :デフォルトの名無しさん:2007/02/21(水) 19:23:59
はじめましてです。
今掲示板作っているんですが、
どうしても先に進めないのでよかったら教えてください。

グリッドビューのページング機能をtrueにしてたんですが、
データベースに格納や参照するコードを書いたら
ページングが出来なくなってしまったんです。
エラー文は、「GridView 'GridView1' はハンドルされていないイベント
PageIndexChanging を送出しました」です。
どうしたらいいか教えていただけますか?
すいませんが、よろしくお願いします。



382 :デフォルトの名無しさん:2007/02/21(水) 19:33:57
>>381
>データベースに格納や参照するコードを書いたら 
>ページングが出来なくなってしまったんです。 

使い方が悪いとしか答えようがない。

383 :デフォルトの名無しさん:2007/02/21(水) 19:35:31
Gridイベントの設定が出来てないのでは?

384 :363:2007/02/21(水) 19:36:49
using System;
using 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();
    }
  }
}


385 :デフォルトの名無しさん:2007/02/21(水) 19:37:48
Gridイベントの設定・・・もう一度見てみます。
ありがとうございました。

386 :363:2007/02/21(水) 19:41:26
ローカルマシンでFTPサーバーが動いています。
これを実行するとコンソールに220と表示されます。
それでいいのですが、
LastCode = int.Parse(temp.Substring(0, 3));
のところにブレークポイントを置いてsrにマウスカーソルを当ててどうなっているか見ようとすると
コードが止まってしまいます。

「srにマウスカーソルを当てると止まる」というのをどういう風に説明すればいいのかわからずにスレを汚してすいません。
これが「srにマウスカーソルを当てても止まらない」状態にするにはどうすればいいでしょうか?

387 :デフォルトの名無しさん:2007/02/21(水) 19:49:06
何で今日はこんなに客が多いの?

388 :デフォルトの名無しさん:2007/02/21(水) 19:52:13
>>386
ヒント:ネットワーク

389 :デフォルトの名無しさん:2007/02/21(水) 19:54:53
>>380
そんなところはどうでもいい
たぶんf1の定義位置がおかしい

390 :デフォルトの名無しさん:2007/02/21(水) 19:56:33
>>369
ちゃんとできるぞ。

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());
}


391 :デフォルトの名無しさん:2007/02/21(水) 19:58:03
定義の位置が悪いんだろ?


392 :デフォルトの名無しさん:2007/02/21(水) 19:59:31
>>386
ようするにプログラムの動作は問題なくて、デバッガの機能の話しをしてるのか?

393 :デフォルトの名無しさん:2007/02/21(水) 20:01:31
>>386
タイムアウトってわかるかな?

394 :363:2007/02/21(水) 20:12:52
>>388 >>393
確かにずっと放置しておけばタイムアウトするのはわかります。
しかし、それならwhileの行にブレークポイントを置いてそこで止まってから少し待って
同じようにsrを見たら切断されていると思います。
1行読み取ったあとすぐに切断されてしまうようなので困ってます。

でも、どうやら私の質問はあまり性質のいいものではなさそうな雰囲気なので
このあたりで撤退いたします。
もう少し現象を絞れたらまた質問させていただきたいと思います。

395 :デフォルトの名無しさん:2007/02/21(水) 20:21:10
private int simp(ref double[][] p,ref double[] y, ref f1 []x)
{
double[] psum=new double[10];
p[i][j] = psum[j] = 0.5*(p[i][j]+p[ilo][j]);
y[i] = (x)(psum);
}
かなり中身を省略していますがこのような形です。
このときのxでエラーが出てしまいます。


396 :デフォルトの名無しさん:2007/02/21(水) 20:21:15
>>394
タイムアウト=「ずっと放置」とは限らない。

397 :デフォルトの名無しさん:2007/02/21(水) 20:22:33
>>395
さっきと全然ちがうじゃねーか!

398 :デフォルトの名無しさん:2007/02/21(水) 20:23:25
>>395
で、なんで ref f1 x ってしてるの?

399 :デフォルトの名無しさん:2007/02/21(水) 20:24:53
(x)????

400 :デフォルトの名無しさん:2007/02/21(水) 20:26:54
なんだ釣りかよ…orz

401 :デフォルトの名無しさん:2007/02/21(水) 20:28:27
>>394
ftpにどんなコマンド送ってるの?

402 :デフォルトの名無しさん:2007/02/21(水) 20:30:16
>>395
勉強しなおせ。

> ref f1 []x
まずはここからだな。


403 :デフォルトの名無しさん:2007/02/21(水) 20:32:05
すいません。こんな感じです。
private 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);
}


404 :363:2007/02/21(水) 20:33:58
>>401
コマンドを送る以前に接続したときの220を受け取りたいのですが
それの処理中にネットワークが切断されてしまいます。
ストリームから読み取れない状態になります。

>>384のコードを実行するとちゃんと220が帰ってくるのですが、
途中でブレークポイントを置いたり、ほかのコードを間に挟んだりすると
止まってしまいます。

405 :デフォルトの名無しさん:2007/02/21(水) 20:34:25
ブレークしてる間にタイムアウトしてるんだろうが

406 :デフォルトの名無しさん:2007/02/21(水) 20:35:43
>>403
* refって何か分かってんのか
* xの型は何か分かってんのか
* なんで(x)って括弧で括ってんだよ

407 :デフォルトの名無しさん:2007/02/21(水) 20:49:35
(x)はおかしいのですか?
C++で作ったプログラムをC#でやっているんですが、よくわかりません。

408 :デフォルトの名無しさん:2007/02/21(水) 20:56:40
やっぱりC++厨だったか。
なんとなくそんな気がしたんだが…
デリゲートは関数ポインタじゃないぞ。

あと次元を考えろよな。

409 :デフォルトの名無しさん:2007/02/21(水) 21:11:36
>>407
C++とC#は全く別言語なんだから一からマニュアル読めよ。

410 :デフォルトの名無しさん:2007/02/21(水) 21:42:42
>>403
・refの意味がない。Array型は参照型
・xはパラメータであって型ではない
・y[i]はdouble, xはf1[]で型が合わない

411 :デフォルトの名無しさん:2007/02/21(水) 21:50:21
C#でポインタ使いたいんならC++にしろよ
良く言われるがC#はCじゃないどっちかと言うとVBだ
ポインタ使うにもDELL使ってデータ渡すとかその位だな

412 :デフォルトの名無しさん:2007/02/21(水) 21:51:44
>>411
×DELL

○DLL

413 :デフォルトの名無しさん:2007/02/21(水) 21:53:03
(´・∀・`)ヘーDELLってなんだろう知らないと馬鹿にされるそうだぐぐってみよう……




        ∧∧
       ヽ(・ω・)/   ズコー
      \(.\ ノ
    、ハ,,、  ̄
     ̄



414 :デフォルトの名無しさん:2007/02/21(水) 21:59:55
勢い余ってミスタッチしただけだ
Dキーの上がEキー

415 :デフォルトの名無しさん:2007/02/21(水) 22:06:22
初心者です。
本を5冊買いました。たくさんググりました。
でも分かりません

false=ファルス?フォルス?
int=イント?インテ?

ガベージコレクション?ガーベジコレクション?

教えて下さい、まじめに。

416 :デフォルトの名無しさん:2007/02/21(水) 22:07:19
>>415
すっこんでろ

417 :デフォルトの名無しさん:2007/02/21(水) 22:13:30
>>416
イヤ本気なんですよ。
活字の情報の限界ですよね・・・・

ちょっと人に説明する機会がありまして・・
ちなみに学生時代にプログラム習う年代ではないので
本当に分からないのです

418 :デフォルトの名無しさん:2007/02/21(水) 22:14:43
http://dictionary.goo.ne.jp/voice/f/00030585.wav

419 :デフォルトの名無しさん:2007/02/21(水) 22:17:40
>>418
そのURLじゃわからねえ。「フォース」に聞こえる。

420 :デフォルトの名無しさん:2007/02/21(水) 22:25:30
>>418
そこのボイスのトップどうやってはいるの?

421 :デフォルトの名無しさん:2007/02/21(水) 22:29:52
フォゥルス

422 :デフォルトの名無しさん:2007/02/21(水) 22:33:01
インテと読むならインテジャーと読もうよ。

423 :デフォルトの名無しさん:2007/02/21(水) 22:35:12
>>420
http://dictionary.goo.ne.jp/index.html?kind=ej

424 :デフォルトの名無しさん:2007/02/21(水) 22:35:24
インテジャーだから迷うんじゃね?

425 :デフォルトの名無しさん:2007/02/21(水) 22:37:44
>>423
すぺっしょーるスァンクス!

426 :デフォルトの名無しさん:2007/02/21(水) 22:38:40
>>423
ちょっ、そこは分かるんだってばw

427 :デフォルトの名無しさん:2007/02/21(水) 22:43:21
インテは聞いたことはないな。

428 :デフォルトの名無しさん:2007/02/21(水) 22:47:03
えなーぶれど
ビジブル

429 :デフォルトの名無しさん:2007/02/21(水) 22:50:17
フォゥルスw

430 :デフォルトの名無しさん:2007/02/21(水) 23:00:55
http://jibun.atmarkit.co.jp/scenter/bbs/viewtopic.php?topic=5005&forum=23

こっちでやれ

431 :デフォルトの名無しさん:2007/02/21(水) 23:04:10
>>362
ヒントをおくれ

432 :デフォルトの名無しさん:2007/02/21(水) 23:35:20
>>431
1. レンダーターゲットを作る
System.Drawing.Graphics.FromImage メソッド
System.Drawing.Bitmap クラス

2. ソースとColorMatrix変えてターゲットに描画
System.Drawing.Graphics.DrawImage メソッド
System.Drawing.Imaging.ColorMatrix クラス
System.Drawing.Imaging.ImageAttributes クラス

たぶんできる

433 :デフォルトの名無しさん:2007/02/21(水) 23:38:04
>>432
thx
ためしてみる

434 :デフォルトの名無しさん:2007/02/21(水) 23:39:44
いい加減にスレ無駄に消費して遊ぶのやめろ

435 :デフォルトの名無しさん:2007/02/22(木) 01:15:54
>>433
メモリを直接触ったほうが手っ取り早そうな気もする

436 :デフォルトの名無しさん:2007/02/22(木) 08:21:35
>>432-433
Win32のBitBlt使えば簡単じゃないかと思うんだけど。。

437 :デフォルトの名無しさん:2007/02/22(木) 18:48:09
いちおうC#のスレだから、まずは.NETのクラス使っとけば良いんじゃない?

438 :デフォルトの名無しさん:2007/02/23(金) 06:20:36
WebBrowserなんですが、たとえばこんなアドレス
http://msdn2.microsoft.com/en-us/default.aspx
を表示すると、ページの上の方が少し隠れて表示されません、
これをすべて表示できるようにするには何か方法があるでしょうか。

439 :デフォルトの名無しさん:2007/02/23(金) 11:23:30
スタイルシートがくさってるんじゃね?

440 :デフォルトの名無しさん:2007/02/23(金) 13:30:31
はっきり言って俺はC#は詳しいよ。
Append()は戻り値がvoidなので新たにオブジェクトを作らない。
よーく考えろ。

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\| ̄ ̄ ̄ ̄ ̄ ̄
                        _,,t-‐‐-、,-‐‐-、
                     三'::::::............... .....::::::`y,.
                     ナ::::::::::::::::::::::::::::::::: :::::::::::::ヾ
              | ̄|   V::::::::::::::::_{{ ({∫∬ノノjヾ:::::{
           | ̄| | ̄|   ナ::::::::::::::i`__,,,,,,,ァ_  _,,,,,_ t;;:ヌ
           |  | |  |  イヘ::::::(ヾ~!,ャt、 !'''i ィtン )=f }f
           |  | |  |  i {t)テ" ヘ' '___,イ ヽ_/ 介'
           |  | |  | _,rヘ_,j|!'     /ー--''!     |'
           |,.ィ―'''' ̄ /| |       /二ク     !
           /;;:::'';;::''::;;:/ { ! 、     ヾニン   ノ\
            /'''::::;r|''':::;;;|  | ! \       _,,./|::;;'''\
        /:;;/ |;;;''::;;|   丶\  `__>-ー´   !;;;:'''::iヽ、
          i/   |'::;;;;''|      三 ―''"       !''::;;;;| /ヽ
        /⌒ヽ  |;;''':::;|       \            !;;::''|/  i
         /     \{'';;;::''}          ̄二ニ=    !::;;|   |
        /ヘ     |;;:::::;{            ‐-      !/   |
        /  i     |:::;;;''!             ー       !  / |
     /   l     |;;'';イ                   }   {、
     〉、      ∧テ{ ヽ  _   _,,,,;;;;;:::-==ニ;;;_   ノ __,イ´
      / \_    //レ!      ̄           ̄ { ̄  |





441 :デフォルトの名無しさん:2007/02/23(金) 13:46:57
>>439
てことはそちらでは問題ないですか、とすればこっちだけの問題でしたか・・・。
う〜ん

442 :デフォルトの名無しさん:2007/02/23(金) 14:03:26
>>441
使ってるフォントとか、ユーザースタイルシートとか、
IEのバージョン依存だったりするんじゃないかな

443 :デフォルトの名無しさん:2007/02/23(金) 14:23:51
>>442
どうもありがとう、なるほど。
するとWebBrowserで表示するときに場合によってはその辺の
世話が必要になるかもしれんてことですか。結構大変そうかなぁ・・・。

444 :デフォルトの名無しさん:2007/02/23(金) 22:04:12
T add<T>(T a, T b)
{
 return a + b;
}
↑をコンパイルすると、演算子'+'は型'T'に適用でできないと
怒られます。T は byte,short,int,long のいずれかなんですけど、
型制約では、int などの指定は出来ないようです。

型別にメソッド書くしかないのでしょうか?

445 :デフォルトの名無しさん:2007/02/23(金) 22:07:31
DynamicMethodとかILGeneratorとか使って無理やり実現できないこともないけど
かなり面倒で怪しい方法。
ふつうは別々に書く

446 :デフォルトの名無しさん:2007/02/23(金) 22:08:08
はい。

CLRのジェネリクスは演算子オーバーロードと相性が悪いから、どうしようもない。
リフレクション使えば何とかなることはなるが、コンパイラのチェックが入らないから美しくないしね

447 :デフォルトの名無しさん:2007/02/23(金) 22:16:58
バイト配列からstringを取り出すとき、文字化けした文字を取り除くにはどうしたらいいでしょうか?

448 :デフォルトの名無しさん:2007/02/23(金) 22:17:08
演算子のオーバーロードが暗黙的なインターフェイスの実装として実装されてれば面白かったのにな。

449 :デフォルトの名無しさん:2007/02/23(金) 22:18:27
C++上がりの人間としては
ducktypingができると期待してしまうのさ・・・

450 :デフォルトの名無しさん:2007/02/23(金) 22:23:42
C#のconstはC++のconstとは違うだよね


451 :デフォルトの名無しさん:2007/02/23(金) 22:26:10
違うだよ。
C#のconstは定数を宣言するときにしか使わないだよ。

452 :デフォルトの名無しさん:2007/02/23(金) 22:27:04
VB.NETのDLL使いたいんですが、よく分かりません。
どこかいいサイトご存じないでしょうか?

453 :デフォルトの名無しさん:2007/02/23(金) 22:29:43
普通に参照設定するだけで使えるはず
でもモジュールはダメかも

454 :デフォルトの名無しさん:2007/02/23(金) 22:31:29
>>450
C#のconstは数学定数とか絶対に変わらない定数にしか使わないだよ

455 :444:2007/02/23(金) 22:33:31
みなさん、レスありがとうございました。

型別に書くのいやだなぁ〜。
その部分だけ、C++/CLI の DLL に出来ないか
見当してます。

456 :デフォルトの名無しさん:2007/02/23(金) 22:33:33
具体的に言うと組み込み型の変数宣言に対してしか使えないだよ

457 :デフォルトの名無しさん:2007/02/23(金) 22:39:08
プリミティブな数値型にINumericとかつけといてくれればよかったのになあ。

458 :デフォルトの名無しさん:2007/02/23(金) 22:51:58
namespace 妄想
{
  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> { }
}

459 :デフォルトの名無しさん:2007/02/23(金) 23:03:37
>>451
immutableに使わないと

460 :デフォルトの名無しさん:2007/02/23(金) 23:04:34
>>458
Tがそれらのメソッドを持たない肩であると(ry

461 :デフォルトの名無しさん:2007/02/23(金) 23:10:50
interface INumeric<T>
  : IEquatable<T>, IComparable<T>, IConvertible
  where T: INumeric<T> { }

こうですか><

462 :デフォルトの名無しさん:2007/02/23(金) 23:10:54
static void Keisan(){
Average(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が気持ち悪いけど

463 :デフォルトの名無しさん:2007/02/23(金) 23:15:19
間違えた3f, 6f, 2f, 4fだった

464 :デフォルトの名無しさん:2007/02/23(金) 23:17:52
TwoParametersをコレクションにしたくなる

465 :デフォルトの名無しさん:2007/02/23(金) 23:38:19
>>447
正しいエンコードを判定するのが先じゃね?

466 :デフォルトの名無しさん:2007/02/23(金) 23:45:00
>>464 こうですか?
void 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; }
}

467 :デフォルトの名無しさん:2007/02/23(金) 23:53:19
>>465
文字コードはShift-JISということはわかっています。
現物はこれです↓
http://yp.ladio.livedoor.jp/stats/list.xml
これをStreamで取り出した物なんですが…


なんか流れ断ち切ってるみたいですいません orz

468 :デフォルトの名無しさん:2007/02/24(土) 00:08:41
秀丸で開いても文字化け警告でなかったぞ

469 :デフォルトの名無しさん:2007/02/24(土) 00:12:31
>>468
一部抜粋
    <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κの部分で化けてます

470 :デフォルトの名無しさん:2007/02/24(土) 00:13:31
ありゃ、・が消えてるorz
そこの部分のバイナリは0x13でした

471 :デフォルトの名無しさん:2007/02/24(土) 00:20:39
0x13 じゃあ Shift_JIS のコード内だから不正ではないな。
化けていると言っても、何をして化けていると判断するのかは微妙なことが多い。

不正なバイトシーケンスなら DecoderFallback とか使えば何とかなるだろうけど……。

472 :デフォルトの名無しさん:2007/02/24(土) 00:24:13
つか何で作ったらあぁなるん?

473 :デフォルトの名無しさん:2007/02/24(土) 00:26:01
いったい何がしたいんだ?
正しく表示したい訳じゃないのか?

474 :デフォルトの名無しさん:2007/02/24(土) 00:26:41
>>471
XmlSerializerで逆シリアライズするときに0x13が無効な文字だと出てくるので化けてると
思ったのですが、Shift-JISのコード内ですか…

通りでDecoderFallbackに引っかからないわけだ orz

475 :デフォルトの名無しさん:2007/02/24(土) 00:53:35
非整形式か。
そりゃもう 0x09/0x0A/0x0D 以外の 0x20 未満を適当に置き換えるとかそんな地道な手段しかないような気がする。
.NET の XML 関連は非整形式に優しくない。

476 :デフォルトの名無しさん:2007/02/24(土) 01:20:03
>>475
この方法でうまくいきました。ありがとうございました。

477 :デフォルトの名無しさん:2007/02/24(土) 02:56:33
>>435
Scan0を使って直接メモりに入れる方法でやっつけた
Strideがやっかいだね

478 :デフォルトの名無しさん:2007/02/24(土) 17:15:56
ttp://dotnetfan.org/forums/thread/625.aspx を参考にし,
axVcc5Ctrl1という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)を受け取ることが出来るでしょうか?

479 :デフォルトの名無しさん:2007/02/24(土) 17:31:00
eのプロパティは?

480 :478:2007/02/24(土) 18:04:55
>>479
ぉぉぉぉ・・・ e.lBytes, e.wParam でokでした!
全然気がつきませんでした・・・(Form1.Designer.cs の方とか見たりぐぐったりしてた)

ありがとうございました.

481 :デフォルトの名無しさん:2007/02/24(土) 18:47:29
>>478
axVcc5Ctrl1

なんか嫌な名前だな

482 :デフォルトの名無しさん:2007/02/24(土) 18:57:51
StatusStrip を配置してあるフォームに、
RichTextBox を配置して、Dock=Fill にすると、
StatusStrip を無視して Fill しちゃうんですけど、
そういうものなんでしょうか?

まず、パネルを配置してから、その中に
RichTextBox を置くしかないのでしょうか。


483 :デフォルトの名無しさん:2007/02/24(土) 19:02:28
ToolStripContainerは?

484 :デフォルトの名無しさん:2007/02/24(土) 19:02:47
背面にあるコントロールから優先的に配置されるから、
ドキュメントアウトラインでD&Dして順位を変えればいい。

485 :デフォルトの名無しさん:2007/02/24(土) 19:28:58
文章を単語に分割したいのですが、
ワードパッドで文字をダブルクリックしたときに、
選択されるくらいの精度で良いので、何か文章を単語に
分割するAPIはないでしょうか。
chasenなどの外部ソフトをインストールしなければ
ならないもの以外で探しています。

486 :デフォルトの名無しさん:2007/02/24(土) 20:40:50
てきとー

Regex.Matches(textBox1.Text, "([あ-ん]+)|([^あ-ん]+)")

487 :デフォルトの名無しさん:2007/02/25(日) 01:08:32
>>482
最前面に移動

488 :デフォルトの名無しさん:2007/02/25(日) 11:29:43
>>485
精度気にしないのであれば、単純にスペース・カンマ・文字種の境目etcで
ぶったぎる処理を自分で書いたらいいんじゃと思うんだが。

489 :デフォルトの名無しさん:2007/02/25(日) 21:52:22
Windowsで、Explorerでファイルなどの選択の方式を
Mouseのポイントだけで可能にしてあるか、それともクリックで初めて
選択となるか、の設定を知る方法はあるでしょうか?
自分のアプリもそれに合わせるにはどうすればいいでしょう?

490 :デフォルトの名無しさん:2007/02/25(日) 22:00:12
レジストリのどこかに記録されてるでしょ。

レジストリの差分とるソフトで確認してみればいいんじゃない?

491 :デフォルトの名無しさん:2007/02/25(日) 22:01:53
>>490
>レジストリの差分とるソフトで確認して

なるほど
どうもでした!

492 :デフォルトの名無しさん:2007/02/25(日) 22:46:09
どうしてVisual C++の開発環境とかは高いお金を払って買ったのに、
C#の開発環境は無料で手に入るのはなんで?

493 :デフォルトの名無しさん:2007/02/25(日) 22:50:41
今では VC++ も無料ですよ
MFC やら ATL やらはその限りじゃないけど

494 :デフォルトの名無しさん:2007/02/25(日) 22:51:14
.NETを広めたいからじゃない?

495 :デフォルトの名無しさん:2007/02/25(日) 22:59:17
あとは、C#布教用か。VBも、それなりの待遇はしている様子だが、
VC++は、使いたければどうぞ。的な雰囲気があるような気がする。

496 :デフォルトの名無しさん:2007/02/25(日) 23:01:04
VC++も無料なんだ
今やこんな立派な開発環境が無料で手に入る時代なんだなぁ


497 :482:2007/02/25(日) 23:43:13
勉強になりました♥


498 :デフォルトの名無しさん:2007/02/26(月) 00:19:08
C# & SQL Server 2005 でスタンドアロンなDBアプリを作りました。
これを、C/S型にしてクライアントを複数同時起動できるように
したいです。
どこか参考になるサイトがあったら教えてください。


499 :485:2007/02/26(月) 00:40:16
それっぽいものができました。
どうもありがとうございました。

500 :デフォルトの名無しさん:2007/02/26(月) 00:40:22
MSDN

501 :デフォルトの名無しさん:2007/02/26(月) 01:29:44
>>492-494
時代の煽りだと思う。

502 :デフォルトの名無しさん:2007/02/26(月) 01:37:03
C#のジェネリックで、列挙体を引数や戻り値に取るメソッドを作る方法はないのでしょうか?

public TEnum SomeMethod<TEnum>(TEnum param1) where TEnum : System.Enum

のようなメソッドを作ると、「制約は特殊クラス 'System.Enum' にはなれません。」とのエラーになってしまいます。

503 :デフォルトの名無しさん:2007/02/26(月) 01:44:29
無理だね
delegate の制約したいんだけどなぁ

504 :502:2007/02/26(月) 01:50:55
回答ありがとうございます。

やはり無理ですか。とりあえず、必要な列挙体の分だけオーバーロードすることにします。

505 :デフォルトの名無しさん:2007/02/26(月) 21:35:16
VBの自作クラスをC#で初めて使う事ができました
とてもうれしいです

506 :デフォルトの名無しさん:2007/02/26(月) 22:00:15
どういたしまして

507 :デフォルトの名無しさん:2007/02/26(月) 22:09:14
TextBoxやRichTextBoxで、トップラインの行番号を指定してページをめくる
ようなことはプログラムからできるでしょうか。プロパティ見るとどうもなさそう
ではありましたが・・・

508 :デフォルトの名無しさん:2007/02/26(月) 22:29:56
EM_SCROLL とか EM_LINESCROLL とか使えばなんとかなりそうだな
あとはまあ GetCharIndexFromPosition とか GetLineFromCharIndex とか

509 :デフォルトの名無しさん:2007/02/26(月) 22:31:33
行選択しといてScrollToCaretでもできた気がしたけど。
まあ、あんまりエレガンドじゃないか

510 :デフォルトの名無しさん:2007/02/26(月) 22:41:56
>>508さん、>>509さん、ありがとうございます
EM_SCROLL,EM_LINESCROLL,GetCharIndexFromPosition,GetLineFromCharIndex
ScrollToCaret,など情報どうもです、さっそく調べてみます、助かりました。

ところで、これらのコントロールにはキーを送りつけるようなことは可能でしょうか、
やってみたいことは、デュアルで並べたものに片方のキーイベントをもう片方にも
同時に送るといった感じのことです。

511 :デフォルトの名無しさん:2007/02/26(月) 22:49:02
受け取ったのと同じWM_KEYDOWN/WM_KEYUPを投げればいいんじゃないの。

512 :デフォルトの名無しさん:2007/02/26(月) 22:50:22
例えばマウスでドラッグされたらどうする?
とか考えると同期ってのはなかなか大変だぜ

513 :デフォルトの名無しさん:2007/02/26(月) 22:56:20
>>511-512
どうもです、助かります、やっぱり方法はあるのですね、
WM_KEYDOWN/WM_KEYUPなどで調べてやってみますです。

そうですね、同期させるとなると難しいかもしれないですか、
片方は隠れてるのに片方はあわられてるとかになる可能性は
ありますか・・・。またちょっとがんばってみますです。

ありがとうございました!!


514 :デフォルトの名無しさん:2007/02/27(火) 11:32:45
>>511
すみません、基本的なところでわかってませんでした(><。。

WM_KEYDOWNなどこれとかはもしかするとMFCなどアンマネージドドコード
での利用になるでしょうか。できればマネージドコードのみで処理できれば
と思いますが、マネージコードでコントロールの外部からそのコントロールに
対してKeyEventを発生させるということは可能でしょうか?

よろしくお願いします。

515 :デフォルトの名無しさん:2007/02/27(火) 11:55:09
>>514
マネージコードで処理できる
通常コントロールのWndProcメソッドをoverrideして使う
サンプルは、『WndProc C#』でぐぐればいくつか出てくる

>マネージコードでコントロールの外部からそのコントロールに
>対してKeyEventを発生させるということは可能でしょうか?
試したこと無いけど、MSDNかどっかに、イベントの発生は
イベントを生成したクラスからのみって記述があったような希ガス
ただし、デリゲートを介せば出来るように思うが…

516 :デフォルトの名無しさん:2007/02/27(火) 12:26:02
>KeyEventを発生させるということは可能でしょうか?
コントロールを継承してOnKeyXXXを間接的に呼び出すメソッドを追加するだけ。
でも、フツーにコード書いてればそんなことがしたいと普通は思わないと思う。

逆に言えば、そんなことがしたいと思うのはどっか設計的にマズいコードの可能性が高いと思う。

517 :デフォルトの名無しさん:2007/02/27(火) 12:26:12
>>515
さっそくどうもです、助かります。
WndProc C# で調べてみました。

>デリゲートを介せば出来るように思う

これは、一旦コントロールを基本クラスから継承して
新たに作成して、そこに WndProc() をオーバーライドした
Publicメソッドを用意しておいて、そこに WM_KEYDOWN
などのメッセージを外部から投げ込んでやるといった
感じでしょうか?いろいろお聞きしてすみません。




518 :デフォルトの名無しさん:2007/02/27(火) 12:29:28
>>516
かぶりました、すみませんです。

>コントロールを継承してOnKeyXXXを間接的に呼び出すメソッドを追加するだけ

なるほど!!そうやるんですか、わかりました!!どうもです!

目的は>>510のようなことなのですが、やったことないことなので
方法がわかりませんでした(><。

519 :デフォルトの名無しさん:2007/02/27(火) 13:41:34
>>517
>これは、一旦コントロールを基本クラスから継承して…
違う
デリゲートを調べて貰えれば分かると思う。
516で出来るんならそれでいいとは思うが、
出来なければ516で作った関数をデリゲートを介するようにすればいい。
まあ、いろいろ試してみてください。

>メッセージを外部から投げ込んでやるといった…
Win32APIのPostMessageを使うのも一つの手
マネージドコードという要求から外れると思うが
あまりこだわらずに、Win32API使えばいいんじゃないって気もするけど

まあそれよりも、過去レス見ると個々のイベントでやりとりするのは>>512さんの指摘通り
大変とおもうけど(アプリの詳細がわかんないからなんともいえないけど…)

520 :デフォルトの名無しさん:2007/02/27(火) 14:09:44
C#って、今までCで使ってきたstrtokなどの標準関数は使えないのですか
あとポインタはないのですか

だとすると、C/C++と違い、Cを名乗れるような言語じゃありませんね
ほとんどJavaじゃん

521 :デフォルトの名無しさん:2007/02/27(火) 15:07:36
>>520
とりあえず、ここの機能一覧を一通り読んでみたほうがいいよ。
http://msdn2.microsoft.com/ja-jp/library/yyaad03b(VS.80).aspx


522 :デフォルトの名無しさん:2007/02/27(火) 15:15:27
静的コンストラクタで列挙以外を弾け。
いや俺も美しくないとは思うよ…


523 :デフォルトの名無しさん:2007/02/27(火) 15:18:01
Cじゃないもん。
ポインタはあるけど。

524 :デフォルトの名無しさん:2007/02/27(火) 15:35:23 ?2BP(222)
名前の一部にCが入ってるだけで「Cを名乗っている」ことになるなら、COBOLも
BASICもCを名乗ってることになるなぁ。

525 :デフォルトの名無しさん:2007/02/27(火) 15:35:34
>>521
お〜サンクス、参考にしてみます。
unsafeでポインタ使えるのか。ま、でも、使う機会はめっきり減りそうだな

526 :デフォルトの名無しさん:2007/02/27(火) 15:39:06
>>524
それは論理的におかしいでしょ
C言語
C++
C#
COBOL

Cの後ろにあるトークンを見れば、明らかに種別が違うでしょ
よってパターン的に、C言語を継承したものだと認識される
BASICなんて全くもって論外では

527 :デフォルトの名無しさん:2007/02/27(火) 16:02:45 ?2BP(222)
>>526
>Cの後ろにあるトークンを見れば、明らかに種別が違うでしょ

それはお前の脳内基準だな。

>よってパターン的に、C言語を継承したものだと認識される

名前の付け方にそんなルールもパターンも無い。

528 :デフォルトの名無しさん:2007/02/27(火) 16:15:49
>>520
だったらC使ってたらいいんじゃないの?
CやC++と同じなら誰もC#なんて使わないよ…

529 :デフォルトの名無しさん:2007/02/27(火) 16:16:10
>>527
アホですか?
C#のCがC言語に由来するのは明らかだろうに。

まあC++のリプレースメントって意味でC#という名称にしたのであって
互換性がないのが問題とは別におもわんがね


530 :デフォルトの名無しさん:2007/02/27(火) 16:21:40
C≠≠
って教わった

531 :デフォルトの名無しさん:2007/02/27(火) 16:32:52
スーパーファミコンでファミコンのゲームが動かないのと同じだよ

532 :デフォルトの名無しさん:2007/02/27(火) 16:42:58
ネーミングが悪いとしかいいようが無いな。
非互換性云々の問題以前に、C/C++とは守備範囲が全然違うから、
C/C++のリプレースメントになどなりようもないのに。

むしろMSがマーケティングのために敢えて誤解を招きやすいネーミングにして
C/C++層を誘い込もうとした、そのためだけにつけられた名前と言うべきだろう。

533 :デフォルトの名無しさん:2007/02/27(火) 16:44:16
Cの文法を継承してるってだけでしょ

534 :デフォルトの名無しさん:2007/02/27(火) 16:45:30
C++/CLIもISOで「C++ではない」って言われてたけどなw

535 :デフォルトの名無しさん:2007/02/27(火) 16:46:19
ここまで酷いイチャモンは初めてだ

536 :デフォルトの名無しさん:2007/02/27(火) 16:47:17 ?2BP(222)
>>529
リプレースにはならんだろ。
それに、「C#のCがC言語に由来している」のと「C#がCを名乗っている」のは全く
違う話なんだが。

537 :デフォルトの名無しさん:2007/02/27(火) 17:29:15
>>533
それだけならJavaだってPerlだってPythonだって
Cほにゃららとつけてもいいことになるな。

>>534
実際その通りだろ

538 :デフォルトの名無しさん:2007/02/27(火) 17:33:34
俺はJavaやPerlやPythonがCなんとかでも別に構わんと思うが…

539 :デフォルトの名無しさん:2007/02/27(火) 17:39:24
C#が全然違う名前だったら今より流行ってないのは間違いない

540 :デフォルトの名無しさん:2007/02/27(火) 17:39:45 ?2BP(222)
>>537
>それだけならJavaだってPerlだってPythonだって
>Cほにゃららとつけてもいいことになるな。

いいんじゃねえの別に。
言語の命名規則なんて存在しないんだから。
命名者のセンスの赴くままで。

541 :デフォルトの名無しさん:2007/02/27(火) 17:44:15
>>588
この世にCのオブジェクトコードとリンクすら出来ないCほにゃららを
出すのがMSだけで良かったな。
そんなのが大量に出回っていたら世も末だ。情報にアクセスしにくくなるし
初心者にはわけわかめだろう。

それにしても、とっくにインターネット時代になっていたというのに、こんな
検索しにくいキーワード(.NETだのC#だの)を打ち出してくるMSは
池沼としか言いようが無いな。

542 :デフォルトの名無しさん:2007/02/27(火) 17:44:21
商標侵害その他で訴えられない限りは何でもいいだろ普通

543 :デフォルトの名無しさん:2007/02/27(火) 17:45:39
検索しにくいのは同意。

544 :デフォルトの名無しさん:2007/02/27(火) 17:51:24
>>542
法的にはいいんだろうな。
「ニッキーマウス」みたいな、ブランドパクリ安物みたいな
ネーミングだから嘲笑われるだけで。

545 :デフォルトの名無しさん:2007/02/27(火) 17:53:34
検索しにくいか?
「C#」って普通にgoogleで検索できるっしょ

546 :デフォルトの名無しさん:2007/02/27(火) 17:54:12
でも J++ よりは多少マシかな・・・

547 :デフォルトの名無しさん:2007/02/27(火) 17:54:24
C#はまだマシとして.NETをなんとかしてくれ

548 :デフォルトの名無しさん:2007/02/27(火) 17:54:56
デゼニランド思い出したw

549 :デフォルトの名無しさん:2007/02/27(火) 17:56:48
三月磨臼

550 :デフォルトの名無しさん:2007/02/27(火) 17:59:25
POLISHは結構すぐに閃いたが、ATTACHは一週間くらい悩んだな

551 :デフォルトの名無しさん:2007/02/27(火) 18:39:02
春だねぇ

552 :デフォルトの名無しさん:2007/02/27(火) 18:58:32
突然あったかくなったからね……

553 :デフォルトの名無しさん:2007/02/27(火) 19:01:49
>520以降おかしくなったのか

554 :デフォルトの名無しさん:2007/02/27(火) 19:11:06
>520
春休みっていつ終わるんだ?

555 :デフォルトの名無しさん:2007/02/27(火) 19:36:39
>520-555まで全部アホだと思うのだが

556 :554:2007/02/27(火) 19:58:15
>>555
>>554は本物だよ。正真正銘のバカ

557 :505:2007/02/27(火) 20:09:24
昨日作ったDLLに2次元配列を渡せるように出来ました!
とてもうれしいです

558 :デフォルトの名無しさん:2007/02/27(火) 20:12:40
あ、ああ。
(おかしなおじさん達は気にせずに)がんばってね。

559 :デフォルトの名無しさん:2007/02/27(火) 20:15:51
>>558
ありがとうございます!!
プログラムって面白いですね
レベルの低い話をしてすみませんでした

560 :デフォルトの名無しさん:2007/02/27(火) 20:17:36
>>559を見てうらやましさすら感じる

561 :デフォルトの名無しさん:2007/02/27(火) 20:25:52
そういえば多次元配列ってあんまり使う機会ないな

562 :559:2007/02/27(火) 20:36:52
あ、やりたい事はテキストファイルから必要な文字だけ取り出して
VBのDLLにセル番号とStringをセットにして一度に渡したいんです
(DLLはExcelに書き込むクラスです)

んで2次元配列にしてStringとセル番号を1セットにして数セット処理したいんです
なんかもっといい方法ありましたかね・・・
でもいい練習になりました

563 :デフォルトの名無しさん:2007/02/27(火) 20:37:33
List<>なんかで済むならそもそも配列自体あまり

564 :デフォルトの名無しさん:2007/02/27(火) 20:42:28
上級者になると配列は使わなくなるんですね
なんか意外でした。
まだまだ先は長いなぁ・・・

565 :デフォルトの名無しさん:2007/02/27(火) 20:45:12
使えるのは2005からだけど
List<>やDictionary<>みたいなものはむしろ初心者が扱いやすいよ

566 :デフォルトの名無しさん:2007/02/27(火) 20:46:51
配列みたいな生データぽいのより、もっと抽象的な構造を使うようになるんじゃないかなあ。
行列とかならズバリ多次元配列かもしれないけど。

567 :デフォルトの名無しさん:2007/02/27(火) 20:47:35
ジェネリックリストができてから一次元配列を使う理由はなくなったな

568 :デフォルトの名無しさん:2007/02/27(火) 21:00:37
なるほど・・
今は本を見ながらコツコツやってるんですが、何分歩みが遅いので
まずは配列とか基本をしっかりやろうと思います。
んで出来上がったら教えてもらったList<>やDictionary<>とかで
洗練させていきたいと思います。
ありがとうございます

ちなみに2005EEです(C#、VB共に)

569 :デフォルトの名無しさん:2007/02/27(火) 21:05:26
C#なんだから半音上がってるんだよ
CとDの間、Cじゃない

570 :デフォルトの名無しさん:2007/02/27(火) 21:06:01
List<>便利だよね
配列のように扱えるし

571 :568:2007/02/27(火) 21:07:38
このスレは優しい人が多いから好きです

572 :デフォルトの名無しさん:2007/02/27(火) 21:08:37
>>568
要素数が先にわかるなら配列のほうがいいよ
単純ゆえに高速だから。


573 :デフォルトの名無しさん:2007/02/27(火) 21:11:45
>>572
そうですか!実は今動的配列?にしてるんですが
素人目にもなんかムダっぽいなぁ・・と感じてました。
(中身を新しい配列に入れなおすんですよね?)
>要素数が先にわかるなら配列のほうがいい
貴重な情報ありがとうございます。初心者本にはこういうの載ってないんですよね

574 :デフォルトの名無しさん:2007/02/27(火) 22:12:23
>>519
またどうもです。

>516で出来るんならそれでいいとは思うが、
>出来なければ516で作った関数をデリゲートを介するようにすればいい。
>まあ、いろいろ試してみてください

片側のキー入力があったほうのコントロールから、Focusのないほうの
public な間接メソッド(=そこで OnKeyDown メソッドを呼び出すもの)
をコールして、そこに KeyEventArgs を投げてやってみたのですが、
OnKeyDown メソッド中で base.OnKeyDown() していてそこを通っている
にも関わらず、結果として Focusのない方のコントロールにはKey入力が
入っていっていないようでした。

原因が何なのかわかりませんが、これはやはりおっしゃっているように
deligate を使う必要がありそうでしょうか、それとも、外部からのKeyValue
の投げ込みはよりも、WindowMessageの送り込みでやるべきだということ
なのでしょうか。いろいろお聞きしてすみませんです。

575 :デフォルトの名無しさん:2007/02/27(火) 22:13:56
OnKeyDown呼んだらKeyDownは起こるけど、
実際にキーが押されたことにはなるわけないじゃん

576 :デフォルトの名無しさん:2007/02/27(火) 22:34:12
>>575
なるほど、やっぱり無理だったでしょうか。

実現したい機能は>>510のようなことですが、
たとえばVS2005のコードエディタなどにありました、あのように
一つのテキストファイルをマルチ画面で表示できてさらに
片方の入力結果もう片側にもちゃんと反映しているようなもの
というのは、実際にはどうやって作られているのかわかりませんでした。

あれができているということは、なんらかの形で実現できるものと
思っていましたが、その場合はKeyイベントではなくてやはり
WindowMessageの送信が必要ということでしょうか?

577 :デフォルトの名無しさん:2007/02/27(火) 22:37:56
漢字変換はどうするつもりなんだ

578 :デフォルトの名無しさん:2007/02/27(火) 22:38:14
>>576
いや、必要なのはこつこつ基礎から学ぶ態度。
実現したい仕様を漏れなくかつ簡潔に人に伝えようとする努力。

579 :デフォルトの名無しさん:2007/02/27(火) 22:51:31
TextChanged でもう片方にそのままコピーとかな

580 :デフォルトの名無しさん:2007/02/27(火) 23:01:24
>>577
あ、なるほど漢字変換も対応が必要でした・・・やっぱり難しいかなぁ。
キーいちいち送っても変換までDualではやってくれないですかね。

>>578
目指すところは、結局VS2005で採用されているようなエディタにように
片方での入力を完全にもう一方にも反映させる機能でした。

>>579
確かにそれもありました、そのときに表示画面が元の位置まで
スクロールされて戻らなければならない点があり、その結果、>>507
のように対応しなければならないかもとも思ったのですが、、
もしキー入力がそのままもう一方にも届けばそうしなくても済むため、
その方法を知りたかったのでした。


581 :デフォルトの名無しさん:2007/02/28(水) 00:16:11
エクスプローラの画像の縮小表示みたいなのを実装したいのですが
どうすればできますか?

582 :デフォルトの名無しさん:2007/02/28(水) 00:21:36
どこまでできてて何が分からないんだ?

583 :581:2007/02/28(水) 00:30:06
え・・どこまでって、何も出来てません。
ListViewのViewをLargeIconとかDatailsとかにすると大きいアイコンや詳細表示になりますよね?
縮小表示も標準装備されてたらいいのですが、出来ますか?
出来なかったらどのように実装するか全然分からないので、考え方?を教えて欲しいです。


584 :デフォルトの名無しさん:2007/02/28(水) 00:34:35
漏れはFlowLayoutPanelにButtonをずらずら流し込んでそんな感じのを作ったことがある。

585 :デフォルトの名無しさん:2007/02/28(水) 00:38:10
>>583
http://www.atmarkit.co.jp/fdotnet/dotnettips/336listviewimage/listviewimage.html

586 :デフォルトの名無しさん:2007/02/28(水) 00:42:15
>>580
575の指摘は、OnkeyDownをラップしているpublicな間接メソッドの
引数がおかしいのでは?っていう意味。
デリゲートは気にしなくていい
OnKeyDownの引数のKeyEventArgsはきちんと渡しているの?
(ここに、どのキーが押下されたかの情報が入ってる)

>>583
縮小画像というのは、Jpeg等の通常の画像?
それをどこに表示したいの?
とか、もうちょっと詳細な情報があった方が…

587 :581:2007/02/28(水) 00:51:43
>>585
どんぴしゃです!ありがとう!

>>584>>586
ありがとう


588 :デフォルトの名無しさん:2007/02/28(水) 00:52:26
こんばんは。
ASP.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はインスタンスになっているのでエラーが出る原因が
分かりません。なぜえらーになってしまうのでしょうか?
よろしくおねがいします。

589 :デフォルトの名無しさん:2007/02/28(水) 00:58:11
そのコードの断片だけから考えるに、FindControlがnullを返したんだろう

590 :デフォルトの名無しさん:2007/02/28(水) 01:06:22
>>586
一応KeyEventArgsもシグネチャ通り渡したのですが、入力されて
行かなかったのでした。とりあえず、完全に同じようにはなりませんが
Textを丸ごとコピーする方法で今回はよしとし、またいつかトライして
みたいと思います。
皆様大変どうもありがとうございました。

591 :デフォルトの名無しさん:2007/02/28(水) 07:17:11
ストリーミング(ネットラジオ)を録音・保存してリアルタイムでエンコードかけたいのですが・・・

よくわからなければ保存してリアルタイムでエンコードかけようかと思ってるんですが、
C#でやるのはどのような手順を踏めばいいでしょうか?

592 :デフォルトの名無しさん:2007/02/28(水) 07:30:50
DirectShow

593 :デフォルトの名無しさん:2007/02/28(水) 12:54:05
アイコンの取得をしているのですが、
http://www.atmarkit.co.jp/fdotnet/dotnettips/280getappicon/getappicon.html
この方法でもアイコンが取得できない場合があり、そのときに
一般的なアイコンを仮に使うようにしたいと思いました。

拡張子ごとのアイコンが取得できないかと思っているのですが、
たとえば url.dll にあるアイコンとかを.NETのクラスで個別に取得する
ことなどは可能でしょうか。

594 :デフォルトの名無しさん:2007/02/28(水) 13:49:36
>一般的なアイコンを仮に使うようにしたいと思いました。
一般的なアイコンが取得できるのなら、>>593の方法でも取得できるんじゃないの?

>この方法でもアイコンが取得できない場合があり
もともと、アイコンが設定されてないものから取得は出来ないと思うんだけど

一応Iconクラスで2.0以降からアイコンの取得は出来るようになってるけど、
結果は多分>>593と同じだと思う

595 :デフォルトの名無しさん:2007/02/28(水) 13:49:52
ListViewを貼り付けているフォームがあります。
フォームの大きさを変えたとき、それに合わせて自動的にListViewの大きさを変えるには
どうしたいいですか?
もしかすると、イベントハンドラに、自分で書かなければなりませんか?

596 :デフォルトの名無しさん:2007/02/28(水) 13:50:39
>>595
Anchorプロパティ or Dockプロパティ


597 :デフォルトの名無しさん:2007/02/28(水) 13:56:46
IconクラスのSaveメソッドで、アイコンの保存したのだけど、
色の表現が変わってしまう
(Iconクラスのコンストラクタで取得したときと、保存したアイコンを表示した時の比較)
どんなかんじかというと、3万色から256色に減色されたような感じで

これって仕様?

598 :デフォルトの名無しさん:2007/02/28(水) 14:01:42
>>594
>一般的なアイコンが取得できるのなら、>>593の方法でも取得できるんじゃないの?

そうかもしれないのですが、ところが例えば
http://www.microsoft.com/downloads/details.aspx?familyid=0baf2b35-c656-4969-ace8-e4c0c0716adb&displaylang=en
のようなところのURLリンクファイルの場合、特別にアイコンが設定されているようで
あの方法で取得するとNullになってしまったのでした。

そこでその場合は urlリンクファイルに共通のアイコンを取得するべきなのか
とも思ったのでした。

599 :デフォルトの名無しさん:2007/02/28(水) 14:16:47
>>597
仕様です

600 :デフォルトの名無しさん:2007/02/28(水) 14:22:28
>>598
リンク先は関係無いよね。一応見てみたけど。

>そこでその場合は urlリンクファイルに共通のアイコンを取得するべきなのか
多分、拡張子がlnkのファイルを指していると思うんだけど

そうだとすると、そこにはリソース(ここでいうところのアイコンの画像)は埋め込まれていない。
エディタで見てみると分かる。
そのかわりに、IconFileと書かれているところに画像があるから、そこから取得していくようになってるぽい。
つまり、exe形式のように実体がアイコンとして埋め込まれているのではなく、
lnkファイルにアイコンリソースの埋め込み先のURLが書かれている。
アプリでアイコンファイルがあるURLの先まで追っていけば、もしかしたら(いや多分)
>>593でも取得できるかもしれない

少なくとも、画像としての取得は可能だからアイコンに変換することは出来る

601 :デフォルトの名無しさん:2007/02/28(水) 14:23:26
>>599
サンクス

そうなのか
まあ、自分用のアプリで見た目以外になんも困ってないからいいけど

602 :600:2007/02/28(水) 14:26:18
>そのかわりに、IconFileと書かれているところに画像があるから、そこから取得していくようになってるぽい。
日本語が分かりづらいのでちょい補足

『lnk形式でアイコンを表示しているアプリは』を前に補ってください

603 :デフォルトの名無しさん:2007/02/28(水) 14:36:37
favicon.icoのことね。単純な仕掛けだけでホームページにfavicon.icoの名前で保存されている。
例えばGoogleのは
http://www.google.co.jp/favicon.ico

604 :デフォルトの名無しさん:2007/02/28(水) 14:55:19
つーか.urlファイルのアイコン取りにいくと、
システムにキャッシュが残ってればFaviconが返ってくるよ。
そうでないときは.urlファイルのデフォルトアイコン。

605 :デフォルトの名無しさん:2007/02/28(水) 14:55:56
>>600>>602
教えて戴き感謝です、どうも現象がこのアドレスのショートカットの場合だけ
起こるので不思議に思ってましたが、そういう場合にも対応可能にしないとと思ったのでした。
Lnkファイルの場合は内部構造が難しくてわたしにはわかりそうもありませんので
またググってみます。

IEなどからのD&Dで作成したURLリンクファイルの場合は、拡張子がurlでしたが、
通常は一般的なURLリンクファイル用のアイコンが取得できていますので、
>>593の方法で普通は取れるのだと思います。

ただ何かの場合に取れないケースがあるので、その場合の応急対策をと考えました。
この場合だけに起こる理由もまた考えてみます。




606 :デフォルトの名無しさん:2007/02/28(水) 14:57:42
もうちょいサービスすると、URLからの画像の取得はこんな感じ
簡単にできる(イメージの取得は確認済み。アイコンはやったことがない)

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クラスのコンストラクタで置き換えれば
多分いける

607 :デフォルトの名無しさん:2007/02/28(水) 14:59:43
>>593
のコードって、アイコンハンドル解放してなくね?
Cloneしたほうを使ってhIConはDestroyIconすべきじゃないか


608 :デフォルトの名無しさん:2007/02/28(水) 15:00:48
>>603>>604
やっぱり普通は返ってくるんですよね、どうしてだろ・・・・
ここのアドレスだけだめなので、またなんとかがんばってみます。。。。

>>606
ソースまでありがとうございます。またがんばってみます。

141 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)