ふらっとC#,C♯,C#(初心者用) Part28at TECH
ふらっとC#,C♯,C#(初心者用) Part28 - 暇つぶし2ch2:デフォルトの名無しさん
08/05/25 13:05:41
C#, C♯, C#相談室 Part46
スレリンク(tech板)

WPF(XAML,XBAP,.NET3.5)GUIプログラミング
スレリンク(tech板)

Live2
スレリンク(tech板)

初心者のためのプログラミング言語ガイド Part9
スレリンク(tech板)

3:デフォルトの名無しさん
08/05/25 13:07:18
参考サイト。まずはここで検索してから。
URLリンク(google.com)
URLリンク(homepage3.nifty.com)
URLリンク(www.atmarkit.co.jp)
URLリンク(dobon.net)
URLリンク(jeanne.wankuma.com)
URLリンク(www.labasp.net)

4:デフォルトの名無しさん
08/05/25 13:10:56
>>1

乙 スレたて感謝します

初心者一同

5:デフォルトの名無しさん
08/05/25 13:22:09
Consol.Out.Write(">>1 乙");

6:デフォルトの名無しさん
08/05/25 16:39:08
勉強で、あるフォルダ配下の.txtファイルを一覧するアプリを作成しています。
DataGridViewにDataSet1をバインドして、
そのDataSet1はファイルリストのxmlを読み込むという風にしたいのですが、
private void Form1_Load(object sender, EventArgs e) {
this.dataSet1.ReadXml(@"C:¥test.xml");
}
としてもDataGridViewには何も反映されません。
DataGridView.DataBind()のようなメソッドもないようですが、
どのようにバインドすればよいでしょうか。
ちなみにxmlの形式は以下のようなものです。
<?xml version="1.0" ?>
- <ContentsInfomation xmlns:xsi="URLリンク(www.w3.org)" xmlns:xsd="URLリンク(www.w3.org)">
<path>C:¥Documents and Settings¥Administrator¥My Documents</path>
<fileName>test.txt</fileName>
</ContentsInfomation>

7:6
08/05/25 17:36:07
自己解決(?)しました。
ツールボックスからフォームにD&Dしたdataset1ではなくて、
コード中でDataSetをnewしてバインドしたら表示されました。
何かのプロパティが作用してたのかな…。

8:デフォルトの名無しさん
08/05/26 09:38:38
多分DataGridViewのDataMember
つまりどのテーブル表示すればいいのか分からんと

9:デフォルトの名無しさん
08/05/26 12:57:54
textBoxにサウンドの再生位置を表示するため、
Timer_Tickで再生位置取得、textBoxに表示としているんですが、
こういう一定時間ごとに処理ってTimerでやっていいもんなのでしょうか。
他にこういった処理をするためのものってありますか。

10:デフォルトの名無しさん
08/05/26 12:59:25
Timerがまさにその用途だろ

11:デフォルトの名無しさん
08/05/26 14:14:40
再生位置表示みたいな割にいい加減な用途なら問題なし。
厳密な一定間隔ごとにサウンドを再生するといった用途で使うなら音がずれまくるだろうな。

12:デフォルトの名無しさん
08/05/26 14:19:24
そのような場合はどうするのですか?

13:デフォルトの名無しさん
08/05/26 14:58:41
もっと高精度なタイマーを使う

14:デフォルトの名無しさん
08/05/26 15:01:16
>>10-11
ありがとうございます。
こういった場合Timer使わずにこうしたほうがいいとか、
あるのかなと思って聞いてみました。
問題ないようでよかったです。

15:デフォルトの名無しさん
08/05/26 16:31:08
タイマの精度ってVistaなりEFI搭載PCで改善されたってことはないのかね。
最新環境でもいまだに55msなの?

16:デフォルトの名無しさん
08/05/26 16:37:28
System.Windows.Timers.Timer使わなきゃいいだけだし…

17:デフォルトの名無しさん
08/05/26 21:15:33
すみません、お聞きしたいのですが

C#でLANの他端末の電源ONは出来たのですが
遠隔でログオンって出来るんでしょうか?

自分なりにググってみたのですが判りません・・・

お願いします

18:17
08/05/26 21:16:48
すみません
VS2005EE&Win2000です

19:デフォルトの名無しさん
08/05/27 11:25:30
private AxWMPLib.AxWindowsMediaPlayer mediaPlayer = new AxWMPLib.AxWindowsMediaPlayer();
private void Form1_Load(object sender, EventArgs e)
{
mediaPlayer.settings.autoStart = true;
mediaPlayer.URL = "C:\\love.mp3";
}

20:デフォルトの名無しさん
08/05/27 11:26:27
すいません。>>19は書き込みミスです。
VC#2005EE XP

WMP使って音楽を再生したいのですが、
ActiveX コントロールのインスタンスが作成されないようで、
autoStartのところで
「InvalidActiveXStateException はハンドルされませんでした」
とエラーが出てしまいます。
何が問題なのでしょうか。

private AxWMPLib.AxWindowsMediaPlayer mediaPlayer = new AxWMPLib.AxWindowsMediaPlayer();
private void Form1_Load(object sender, EventArgs e)
{
mediaPlayer.settings.autoStart = true;
mediaPlayer.URL = "C:\\love.mp3";
}

21:デフォルトの名無しさん
08/05/27 12:01:07
ControlsにAddしてる?

22:デフォルトの名無しさん
08/05/27 12:29:08
>>21
FormのDesigner.csってのに書いて処理できました。
ありがとうございました。

23:デフォルトの名無しさん
08/05/27 19:48:31
>>22
*.Designer.csを自分でいじらない。
ツールボックスにWindowsMediaPlayerを追加しておいて、普通のコントロールと同様にフォームに追加し、
コードの生成はVC#にお任せにするのが無難だよ。
(ツールボックスのコンテキストメニューでアイテムの選択→COMコンポーネント)

24:デフォルトの名無しさん
08/05/27 20:36:21
コードで書くにしてもコンストラクタとかに書けばいいんでね?
てかツールボックスから書かずにAxWMPLibのアセンブリは追加したんだろうか。

25:デフォルトの名無しさん
08/05/27 21:54:32
スクリーンセーバを作っています。
Bitmapオブジェクトを作り、そこに色々と描画し、Paintイベントが来たら(Refreshをしたら)をそれをフォームに描画、という手順を踏んでいるのですが、
どうも遅いようです。これは改善できないのでしょうか。

LockBitsを使っているので、Bitmapオブジェクトの代わりに何か使う、ということは出来ないみたいなのですが、、、

26:デフォルトの名無しさん
08/05/27 21:58:44
GDIで描画


27:デフォルトの名無しさん
08/05/27 23:06:23
Form上でcalc.exeを起動させたいんですけど
どうすればいいんでしょうか
再度ググって来ますダイブ!!

28:デフォルトの名無しさん
08/05/27 23:34:05
>>20

usingは WMPLib; ?
C#2008で柱名い


29:デフォルトの名無しさん
08/05/28 02:09:47
いやアセンブリ参照したあとならusingはクリックでVSが補完してくれる。

30:デフォルトの名無しさん
08/05/28 05:54:33
URLリンク(www.atmarkit.co.jp)
VC#2008EEを使ってます。このサイトを見ながらgetlinks.csを書いてみたのですが
”windows”は名前空間”System”に存在しません、
WebBrowser・webBrowserDocumentCompletedEventArgs
が見つかりませんでした。usingディレクティブまたはアセンブリ参照が不足してます。
と出てコンパイルがうまくいきません。
何かほかに必要なものがあるのでしょうか?



31:デフォルトの名無しさん
08/05/28 06:25:28
>>30
>”windows”は名前空間”System”に存在しません、
windowsの先頭は大文字


32:デフォルトの名無しさん
08/05/28 06:58:11
フォームデザイナでフォーム上に追加したコントロールのDisposeメソッドは、
どのような仕組みで呼ばれるのでしょうか。
***.Designer.csを見ても、コントロールのDisposeメソッドを呼び出している部分は見つかりません。
何らかのタイミングで自動的に呼ばれるのであれば、自作のカスタムコントロール上に配置した
子コントロールのDisposeメソッドも、実は明示的に呼ばなくても大丈夫?

33:デフォルトの名無しさん
08/05/28 07:01:05
親がDisposeされるときについでにDisposeされる

34:デフォルトの名無しさん
08/05/28 07:06:46
>>31
ありがとうございます。
書き込みはちょっと間違いがあるかもしれません
サイトののコードをコピペしても駄目でした

35:デフォルトの名無しさん
08/05/28 07:55:51
System.Windows.Forms.dllとか参照に追加

36:デフォルトの名無しさん
08/05/28 08:12:07
>>35
System.Windows.Formsを追加したらちゃんとコンパイルできました!ありがとうございます。
本当にくだらない質問してすみませんでした。

37:デフォルトの名無しさん
08/05/28 08:20:34
>>27
Processってコンポーネント貼り付けて
Process.Start(”calc.exe”);でスタートだってよ

38:デフォルトの名無しさん
08/05/28 18:07:45
C#で配列は
Data[4,4]
Data[4][4]
2通り使えますよね

int[][] Data = new int[4][4];
この宣言方法ではエラーになります
Javaのように1発で宣言する方法ないですか?

39:デフォルトの名無しさん
08/05/28 18:11:12
追加
Data[4][4]
こちらの方式を使う場合の話です

40:デフォルトの名無しさん
08/05/28 18:15:20
ありません

41:デフォルトの名無しさん
08/05/28 18:16:11
そうなんですか 残念!

42:デフォルトの名無しさん
08/05/28 18:18:15
せっかくだからラムダ式を使って

Array.New(4,4, () => new Foo())

こんな感じのを作ればいいんだろうけどintだと初期値いらんな

43:デフォルトの名無しさん
08/05/28 18:39:10
>>38
それなら[,]でいいと思うが一応。
int[][] Data = new int[4][] {
new int[4],
new int[4],
new int[4],
new int[4],
}};
もしジャグ配列とただの多次元配列の区別が付いていないなら、勉強し直すこと。

44:デフォルトの名無しさん
08/05/28 18:47:38
>>43
わかりました
やはり通常 ジャグ配列より多次元配列の方が効率よくて推奨なんですかね

45:デフォルトの名無しさん
08/05/28 18:52:46
いいや全然
明らかにジャグ推奨

46:デフォルトの名無しさん
08/05/28 18:53:40
>>44
おおざっぱに言ってしまえば、多次元配列の中身は1次元配列といっしょだから。
添え字の書き方が特殊なだけで。

47:デフォルトの名無しさん
08/05/28 19:00:02
>>45-46
そうですか ジャグでもいいんですか
Javaに流用しやすいのがいいですね

48:デフォルトの名無しさん
08/05/28 21:45:34
ジャグより多次元の方が早いだろ

49:デフォルトの名無しさん
08/05/28 21:50:49
一番下の添え字だけ変えていくならジャグの方が速いよ
バラバラなら多次元の方が速いこともある

50:デフォルトの名無しさん
08/05/28 22:52:51
>>37
「=」押した瞬間 Pgで事前に指定(フォーカスのある)したテキストボックスに
ポピー&ペーストできる方法ありませんかね・・・

ググッっはいるんですけど ^^;

51:デフォルトの名無しさん
08/05/28 22:57:09
>>50
電卓にCtrl+cで値をコピーできるから
クリップボード参照してテキストボックスに入力してみては?

52:デフォルトの名無しさん
08/05/28 23:28:09
>>51
確かにそれはいえてるんだけど
かっこよさの観点から「=」入れると
かっこいいいいいいいい!

俺もてもての展開を気体

53:デフォルトの名無しさん
08/05/28 23:30:23
くーるまーにーポッピー


54:デフォルトの名無しさん
08/05/28 23:50:03
>>51
確かにそれはいえてるんだけど
かっこよさの観点から「=」を叩いた瞬間テキストボックス
入るとかっこいいいいいいいい!
ジョジョふうにゆうと

CooooooooooooooooL

>>53
コピーな

55:デフォルトの名無しさん
08/05/28 23:51:21
>>52
出来るかどうか分からんけど
電卓の上に透明なウィンドウ重ねて
マウスやキボドの入力をそのまま電卓に送って
=押されたときだけクリックのあとにCtrl+cを送って、貼り付けるとか

56:デフォルトの名無しさん
08/05/29 10:33:43
クリップボード壊しちゃ駄目かな?
WM_COPY使えたりしないか

57:デフォルトの名無しさん
08/05/29 11:12:39
ファイルで1バイト(8 bit)の読み込みは
ReadByte()
で出来ますが
1ワード(16 bit)の読み込みはどうすればいいですか?
ReadShort()
というのはなさそうですが

58:デフォルトの名無しさん
08/05/29 11:13:42
Read()

59:デフォルトの名無しさん
08/05/29 11:15:52
ReadByte() + 256 * ReadByte()

60:デフォルトの名無しさん
08/05/29 11:19:11
ありがとうございます
やってみます

61:デフォルトの名無しさん
08/05/29 12:15:19
BinaryReaderを使え

62:デフォルトの名無しさん
08/05/29 12:22:47
BinaryReader微妙に使いにくいんだよね
とりあえずエンディアン指定ぐらいしたいなぁ

63:デフォルトの名無しさん
08/05/29 12:35:28
>>62
あとReadStruct()とかあるといいよな。

64:デフォルトの名無しさん
08/05/29 16:53:11
2つのバイト列が一致しているか比較したい場合にはどうしたら良いのでしょうか?
byte[] b1とb2の中身が同じかどうか調べたいのです。

==やEqualsだと判別できないようです。

一回、Base64で文字列にして比較するか、
foreachでぐるぐる回しながら1バイトづつ比較するのでしょうか?

65:64
08/05/29 17:02:18
てへっ、いいサイトを見つけて納得しました。
URLリンク(blog.livedoor.jp)

66:デフォルトの名無しさん
08/05/29 17:16:47
Enumerable.SequenceEqualだな3.5的に

67:デフォルトの名無しさん
08/05/29 17:25:15
>>66
まじっすか、3.5はいろいろありますねぇ。
3.5が標準で搭載されるように早くならないかなぁ。


68:デフォルトの名無しさん
08/05/29 17:32:52
オレなんか、C#3.0からもう戻れない状態だw

69:デフォルトの名無しさん
08/05/29 17:38:20
LINQだけ抜き出して.NET 2.0にくっつければいいんだろ
誰かLINQと互換性のあるライブラリとか作ってないの

70:デフォルトの名無しさん
08/05/29 17:45:13
拡張メソッドが記述できない時点でほとんど意味は無いと思うが…

71:デフォルトの名無しさん
08/05/29 17:55:27
.NET 2.0が対象でもC#3.0は使えるだろ
LINQがないだけで

72:デフォルトの名無しさん
08/05/29 17:59:47
拡張メソッドは無理になくてもいいかな、匿名クラスとラムダ式ができないと発狂するかも

73:デフォルトの名無しさん
08/05/29 21:37:56
>>69
MONOのSystem.Core.dll

74:デフォルトの名無しさん
08/05/30 00:30:07
>>70
自前でExtensionAttribute宣言すればいいじゃない。

[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class | AttributeTargets.Assembly)]
class ExtensionAttribute : Attribute { }

75:デフォルトの名無しさん
08/05/30 10:01:13
VS2008で.NET Compact Framework 2.0、ターゲットをCEで
エミュレータ環境にてC#でのプログラミングをしています。

System.Windows.Forms.ControlクラスのFontプロパティに
Arai と Tahoma 以外のフォントを指定する方法を御存知の方は
いらっしゃいませんか?

Form や Label、TextBox に MS明朝やゴシックなどを指定
したいのですが、フォント選択のダイアログには Arai と Tahoma
しか表示されず、またコンストラクタ内(InitializeComponentメソッド
内、または同メソッド実行後に)に下記のような指定をしても、
デフォルト(Arai, 10pt)のままです。

this.Font = new System.Drawing.Font("MS ゴシック", 9F, System.Drawing.FontStyle.Regular);

プログラム自体が原因ではなく、他に原因(プロジェクトの設定等)
があるのかも分からない状態です。

よろしくお願いいたします。


76:デフォルトの名無しさん
08/05/30 10:06:37
とりあえずInstalledFontCollectionでフォントファミリを列挙してみたらどうだろう

77:75
08/05/30 12:11:42
即レス、ありがとうございます。

InstalledFontCollection でフォントファミリを列挙してみたところ、
"Courier New,MS UI Gothic,Tahoma,MS ゴシック,MS Pゴシック"の
フォントを確認できました。

しかし、フォントダイアログに表示されていた"Arai"が一覧にありません。
デバッグで確認した結果、"Arai" を指定(というか、フォントファミリの
一覧にないフォントを指定)すると、"MS Pゴシック"が使用される事が
分かりました。

しかし、これ以上は分かりません。今はエミュレータですが、このプロ
グラムを動作させるCEには "MS 明朝" がサポートされているしで、
何が何だか分からなくなってしまいました(´-`;)



78:デフォルトの名無しさん
08/05/30 12:21:43
Arialじゃないのか?

79:デフォルトの名無しさん
08/05/30 12:47:03
>75が新井さんで自作フォントなんじゃね?とか言ってみる

80:75
08/05/30 13:25:45
おっと!>78 の指摘通り、Arialですw

昔、PGについて右も左も判らない頃に先輩から「このフォントは
ヘルメットのAraiが作ったんだよ」と言われ、ヘルメットのロゴと字体が
にていたので、綴りを確認しないまま、そのままAraiに脳内変換。
その後、後輩に指摘されるまで、あらゆるところでずっと使っていました。

 参考:アライヘルメット(左上のロゴを参照)
 URLリンク(www.arai.co.jp)

…未だトラウマな件はさておき、本題について誰か御存知ないですか?


81:75
08/05/30 15:58:09
自己レスです。

フォント選択のダイアログには Arial と Tahoma しか表示
されなかった件について、ダイアログに「すべてのフォント
を表示」のチェックボックスにチェックを入れたら表示され
たので指定する事ができました。

ただし、MS明朝を指定してもエミュレータ上ではゴシック
に置き換えられて表示されるので、CEエミュレータの問題
と思われますので、質問をWindowsCEプログラミングスレ
に移動して続けたいと思います。

レス頂いた方々、ありがとうございました。(´-`)ノシ


82:デフォルトの名無しさん
08/05/30 16:01:35
.Net FrameworkにSTLでいうdequeってないよね
どっかにdequeのいい実装はない?

83:デフォルトの名無しさん
08/05/30 16:29:25
VS2008でテストを書いているんですがメッセージボックスのテストとかってどう書けばいいんでしょうか


84:デフォルトの名無しさん
08/05/30 17:24:09
日本語でおk

85:デフォルトの名無しさん
08/05/30 17:31:45
>>82
それこそSTL見ればいいんじゃね? あとJavaとか

86:デフォルトの名無しさん
08/05/30 17:35:54
自分で書くのがめんどくさいんだよ
いいよもう自分で書くよ

87:デフォルトの名無しさん
08/05/30 17:36:05
ボタンを押したらメッセージボックスが出てきてOKを押したときのテストとか?を書きたい

何も考えずButton_Clickをテストから呼んだら普通にメッセージボックスが表示されたorz
OKとかCancelでテストを書きたいんだけどテストコード上どう書けばいいのやら・・・


88:デフォルトの名無しさん
08/05/30 17:45:50
>>87
だから日本語でおk。
エスパーするに、メッセージボックスで押されたボタンを判定したいということか?

89:デフォルトの名無しさん
08/05/30 17:57:01
俺的にエスパーするとフォーム上にボタンを配置して
そのボタンを押せばメッセージボックスを出したいと言うことかな?

90:デフォルトの名無しさん
08/05/30 18:19:24
>>82
Wintellect's Power Collections
プログラミングMicrosoft .NET Framework 2版で紹介されている。

91:デフォルトの名無しさん
08/05/30 18:32:57
>>90
Thanks!!

92:デフォルトの名無しさん
08/05/30 19:11:01
メッセージボックスで選んだボタンによる分岐などのテストだろ…
メッセージ送ったら何とかならんかったっけかな?


93:デフォルトの名無しさん
08/05/30 19:46:11
メッセージボックスで押されたボタンを判定したいなら、MessageBox.Show()の戻り値を見ればいい。

DialogResult result = MessageBox.Show(); // メッセージボックスが閉じると、resultにOKとかCancelが入る
if (result == DialogResult.OK)
{
...
}
else if (result == DialogResult.Cancel)
{
...
}

94:デフォルトの名無しさん
08/05/30 19:51:21
いやそういうことじゃないと思うんだよね…

95:デフォルトの名無しさん
08/05/30 20:06:26
アセンブリが厳密署名をされているかどうか、確認する方法って、
バイナリエディタで書き換えてみる以外にあるでしょうか?

署名無し、
遅延署名の公開鍵のみで署名
秘密鍵で完全署名

これらの状態を出来るだけ簡単に判別したいのです。
真ん中のは起動できないので、まぁ、分かるような気もしますが、
厳密署名有と無しを簡単に見分ける方法はあるでしょうか?


96:デフォルトの名無しさん
08/05/30 20:50:30
リフレクター
ILDASM
VSで参照

確かに不便だと思う

97:デフォルトの名無しさん
08/05/30 20:58:26
そういうユーティリティ作ればいいんじゃね?
指定ファイルをLoadFromしてGetName()表示するようなの

98:95
08/05/30 21:15:37
皆さんどうも有り難うございます。
確かに、ディスアセンブラみたいので見れば、PublicKeyTokenの値が見えますね。
難読化ばかりに興味がいっていて、気づきませんでした。

どうも有り難うございました。


99:デフォルトの名無しさん
08/05/30 21:26:15
C#で指定した時間だけ処理を停止させるのってなんでしたっけ?
調べてもでてこないのでおしえてください

100:デフォルトの名無しさん
08/05/30 21:31:57
Thread.Sleep

101:デフォルトの名無しさん
08/05/30 22:16:45
>>99
「c# 停止」で出てきたが、電話帳でも調べたのか?

102:デフォルトの名無しさん
08/05/30 23:49:33
「C# 指定した時間だけ処理を停止させる」で検索してたんだろ

103:デフォルトの名無しさん
08/05/31 00:03:03
>88,89,92
メッセージボックスの「ボタンクリック」をテストコードに書きたいとです

ボタンクリック処理の中でメッセージボックスが出るんだけどそのたびにテストが止まるから
まぁメッセージボックスが出るたびに手動でクリックしていけばいいんだろうけど・・・


104:デフォルトの名無しさん
08/05/31 00:57:43
>>103
Button.PerformClick呼ぶ。

105:デフォルトの名無しさん
08/05/31 01:29:59
むちゃゆうなw


106:デフォルトの名無しさん
08/05/31 03:38:25
プログラミングって論理的思考も必要だけど、
理路整然と説明できる力も必要だよね。
色んな解釈が出来ないように正確にコードを書いていくんだ。

107:デフォルトの名無しさん
08/05/31 04:04:36
フォームデザイナで作られるリソースと、
リソースデザイナで追加したリソースとの共存って出来なかったのかなあ。
もしくは、フォームデザイナで追加出来る、
バイナリデーターの単純なコンテナがあればいいのに。

108:デフォルトの名無しさん
08/05/31 11:38:54
共存したところで別に意味ないんでないか?
別々に呼び出して一緒に使えばいいだけで

109:デフォルトの名無しさん
08/05/31 13:17:57
カスタムコントロール作った時に、
コントロールのresxに、固有のビットマップなんかを含めたくなるな。
Resources.resxに入れてるけど、ちとプログラムのモジュール性が下がる。

110:デフォルトの名無しさん
08/05/31 17:10:11
なるほどね

111:デフォルトの名無しさん
08/05/31 23:02:26
参照型のフィールドを明示的に初期化しなかった場合、初期値がnullになってたんですが
これは言語規格で決められてるのですか?

112:デフォルトの名無しさん
08/05/31 23:05:06
はい。

113:デフォルトの名無しさん
08/05/31 23:06:27
変数は0、参照はnull、stringもnull、配列もnull

114:デフォルトの名無しさん
08/05/31 23:11:50
すいません!どなたかご教授願います

C♯から、VBAで記述されたプログラムを呼び出したいのですが
どうすればよいのでしょうか?

よろしくおねがいします

115:111
08/05/31 23:13:21
>>112-113
thx

116:デフォルトの名無しさん
08/05/31 23:17:05
>>114
そのVBAはExcelやWordのもの?
環境によっていろいろ違うから、
VBSやVB6のプログラムなどとの勘違いの可能性も含めてもう少し具体的に。

117:114
08/05/31 23:23:05
>>116
ありがとうございます!
VBAはAccess上で記述されたものです。

118:デフォルトの名無しさん
08/05/31 23:50:36
>>117
MS-Accessをオートメーション経由で動かしてVBAのマクロをつかう必要がある。
ExcelやWorをC#からオートメーションで操作するサンプルは割と多いのだが、
mdbだけを使いたいならADO.NET経由で十分だからかAccessはいいサイトが見つからない。

少しずれるがDoCmdを使っているあたりでおおよそどういったものかは見当は付くと思う。
URLリンク(www.microsoft.com)

119:デフォルトの名無しさん
08/06/01 00:06:21
C/C++のsize_tに相当する型は、C#では何ですか?

120:デフォルトの名無しさん
08/06/01 00:06:49
uint

121:デフォルトの名無しさん
08/06/01 00:07:44
こいつはどうだい
URLリンク(support.microsoft.com)

122:デフォルトの名無しさん
08/06/01 00:07:58
UIntPtrだな

123:114
08/06/01 00:09:48
>>118
>>121

ありがとうございます!
ご紹介いただいたサイトを参考に一度組んでみます!

124:デフォルトの名無しさん
08/06/01 01:22:00
初歩的な質問ですみません
C#にポインタはないんですか?

125:デフォルトの名無しさん
08/06/01 01:27:48
あるよ


126:デフォルトの名無しさん
08/06/01 01:46:30
unsafe{

//ここでポインタをご自由に

}

127:デフォルトの名無しさん
08/06/01 02:07:22
オプションでunsafeを許可するのも忘れずに

128:デフォルトの名無しさん
08/06/01 02:16:32
>>125-127
あるんですか。サンクス。
勉強します。

129:デフォルトの名無しさん
08/06/01 03:45:45
>>124
ふうん。すごいね(棒)。ネット知識(笑)?

130:デフォルトの名無しさん
08/06/01 11:02:34
確かunsafeの実装は必須じゃないんだっけ

131:デフォルトの名無しさん
08/06/01 11:20:33
このあたりを読めばいいんだと思いますが

URLリンク(msdn.microsoft.com)

でもポインタを使うのは標準のコーディングじゃないとしたら
ポインタを使わずに構造体をチェーンでつなぐようなことって
どうやるんですか?

構造体の配列を使ってますか?
教えてください。

132:デフォルトの名無しさん
08/06/01 11:22:11
クラスにすればいい。
.NETの構造体はプリミティブな内容を表す以外には使わないことになってる。

133:デフォルトの名無しさん
08/06/01 12:03:26
C#にクラスってあるんですか?
クラスはポインタを使わないんですか?

134:デフォルトの名無しさん
08/06/01 12:05:56
クラスはデフォルトで参照型
常にポインタをやりとりしてる

135:デフォルトの名無しさん
08/06/01 12:15:48
ポインタじゃなくて参照だっぜ
ポインタごときただのアドレス値などと一緒にしてもらっては困る

136:デフォルトの名無しさん
08/06/01 12:19:01
どっちかというとポインタ
正しくはハンドル

137:デフォルトの名無しさん
08/06/01 13:07:54
>133
>C#にクラスってあるんですか?
>クラスはポインタを使わないんですか?

どっちもないよ。自分で調べようともしない奴にはね。


138:デフォルトの名無しさん
08/06/01 13:27:29
へーC#ってクラスないんですかー
勉強になりました。
明日先生に言ってみます。

139:デフォルトの名無しさん
08/06/01 13:46:34
>>138
C#のクラスの先生に言うの?

140:デフォルトの名無しさん
08/06/01 13:51:41
教えてください。

今、C#で簡単なデータベースを作っています。
同じフォルダにおいたmdfファイルに接続してあれこれ出入力するアプリです。
困っているのは、F5でデバックして起動している間はデータを保持するのですが、
一旦終了すると、テーブルのデータがすべて消えてしまうのです。
データを削除するようなコードは書いていません。明らかにデバッグ中は何をしても
テーブルのデータは維持されています。
また、デバッグをしていない状態で、サーパーエクスプローラでテープルを選択し、
[テーブルデータの表示]状態で手入力をしたデータは、デバッグを経てもずっと
テーブルに保持されます。 なぜなんでしょう?
フォーム上でテーブルの入力規則に違反したりということはありません。
デバッグ中は集計他あらゆる操作に対応しますので、テーブルにデータは入っているのに。

原因として何がありえますでしょうか?

141:デフォルトの名無しさん
08/06/01 13:55:39
COMMITしてないんじゃないの?

142:140
08/06/01 14:06:13
>>141
COMMITなるものの意味がよくわかりませんが、
確かに、mdfファイルとの関係が刹那的というか、
互いに唯一の存在として婚姻を確認しあった記憶がありません。
接続の設定をさらっとしただけです。
どこでそのCOMMITなるものをすればいいのでしょうか?
申し訳ありませんが、もう一言だけでもお願いします。



143:デフォルトの名無しさん
08/06/01 14:13:41
婚姻?

144:デフォルトの名無しさん
08/06/01 14:16:25
秘密を作らずずっと一緒にいることの設定 >婚姻

知らないうちにデータが消えるとか、他からの操作を受けたりしないでほしいのです。

145:デフォルトの名無しさん
08/06/01 14:16:37
ObjectContainer client

client.Commit ();

これ

146:デフォルトの名無しさん
08/06/01 14:21:01
繰り返しテストが出来るようにオリジナルのDBファイルから
デバッグ実行のたびにコピーしてるはず。設定で変えられたと思う。

147:デフォルトの名無しさん
08/06/01 14:21:20
なんか自動翻訳機にかけられた文章のままで質問している人がいるな。

148:140
08/06/01 14:22:14
>>145
ありがとうございました。
どこかのプロパティフォームで設定するわけではなさそうですね。
これから調べて適切なところに記入してみます。
ありがとうございました。

149:デフォルトの名無しさん
08/06/01 14:22:42
普通に言葉を綴ってるつもりでもそれが詩になってしまうんだろう

150:133
08/06/01 15:14:22
>>134-136
この参照型というのがポインタだと思えばいいんですかね。
違いはあるにしても役割的には同じみたいなんで。
もう少し調べてみます。
ありがとうございました。

151:デフォルトの名無しさん
08/06/01 15:17:15
>>140

>>146 が言ってるのって、これだと思う。
URLリンク(www.ailight.jp)

152:デフォルトの名無しさん
08/06/01 15:41:18
>>150
加算減算ができるのがポインタで、できないのが参照、
くらいに思っとけば当面困らないと思う。

153:133
08/06/01 21:42:46
なんとかできるようになりました。
ありがとうございました。
VC#の本とVC++の本を買ってきたのですが
VC#の本にはクラス定義のことが書いてなかったので
最初クラス定義ができないと思っていました。
チェーンの最初と最後を指すポインタ変数(参照型)も
クラスのメンバー変数にしないとエラーになったので
ダミーのクラスを定義しました。これが正しい方法か
どうかわかりませんが、とりあえず動いています。

154:デフォルトの名無しさん
08/06/02 00:22:08
クラス定義をしなければあらゆるC#プログラムは動かないよ


155:デフォルトの名無しさん
08/06/02 01:19:19
そう言えばC#ってクラスのメソッドの定義と宣言って分けれるの?

156:デフォルトの名無しさん
08/06/02 01:27:42
>>155
メタ情報はアセンブリ自身が持っているから定義と実装を分ける必要はなく出来ない。
あえて分けたいならインターフェイスとその実装クラスになるだろう。
あとC#3.0からPartial Methodという似たものは追加になっているが、
宣言と実装を分けるためのものではない。

157:デフォルトの名無しさん
08/06/02 01:30:34
そもそも分ける必要性って無いよね。
C/C++だとヘッダをインクルードしたりするけど、
C#なら直接アセンブリを参照設定して使うものだし。

158:デフォルトの名無しさん
08/06/02 01:32:36
いや、普段C++やってて最近ちょっとC#を弄り始めたから
ちょっとだけ気になったんだ、ありがとう
ヘッダファイルないのが何か気持ち悪いと言うか、まだ慣れない

159:デフォルトの名無しさん
08/06/02 01:41:44
C++/CLIを使い出すとわけわかんなくなるぞよよ

160:デフォルトの名無しさん
08/06/02 10:08:12
逆にC#のクラスの書き方に慣れるとC++のヘッダファイルがめんどくさくなるよ。
あれこそVSが自動で挿入してくれればいいのに。

161:デフォルトの名無しさん
08/06/02 17:03:21
ListViewで行間を広くするにはどうしたらいいのでしょうか?

162:デフォルトの名無しさん
08/06/02 20:56:48
谷尻 かおり の技術評論社
C#いつ出るんだよ・・・
さっさとだしてくれよ
Accessなんかもういいからさ!
もおおおおおおおおおおおおおお!!

163:デフォルトの名無しさん
08/06/02 21:25:11
>>162
もう出てない?

164:デフォルトの名無しさん
08/06/02 21:28:06
谷尻ってデーターベース関連の本出してる人?
2008対応の本なら見てみたいな

165:デフォルトの名無しさん
08/06/02 21:43:40
Visual C# 2005 [実践]プログラミングテクニック 応用できる基本の書き方

166:デフォルトの名無しさん
08/06/02 22:21:39
だれか>>161のやり方おしえてください

167:デフォルトの名無しさん
08/06/02 22:47:54
当然VC#2008だよ
そろそろ出してもいいだろ
2005買ったとたんに2008でたら
痛すぎて注文できない
そもそも高い
監修は旦那か?
お願いだから監修外して値段下げてーーーーー

168:デフォルトの名無しさん
08/06/02 22:54:19
谷尻の本はイラネだろ。DGVひとつまともに解説できなかった人に
LINQとか増えてる2008のちゃんとした本が出せるとは思えない。



169:デフォルトの名無しさん
08/06/02 23:04:55
「DGV」て、なあにググッたらワンちゃんのふん取り袋って出てきたが・・・

170:デフォルトの名無しさん
08/06/02 23:09:34
DataGridViewか

171:デフォルトの名無しさん
08/06/03 03:10:32
>>158
俺、最近仕事でC++に戻ったけど、あのヘッダを自分で書くスタイルはやっぱ最悪。
めんどくさいのはもちろんのこと、
private メンバ追加しただけでそのクラスを参照するありとあらゆるソースの再コンパイルが必要だし、
ヘッダ読み込みのせいでコンパイル速度も低下してるし。

メソッド追加するのがしんどくなって、長ったらしい関数が増える。

172:デフォルトの名無しさん
08/06/03 11:32:28
byte[] buf = new byte[100];
みたいに配列を確保した時、各要素が0になるのは規格で決まってるんだっけ?

173:デフォルトの名無しさん
08/06/03 11:41:26
うん

174:デフォルトの名無しさん
08/06/04 02:17:21
コレクションフレームワークDictionaryとその反復処理(foreach+KeyValuePair) 
CSVファイルの読み取り方法
SQLServer ExpressEditionのデータベースへの接続のためのConnectionStringの書き方
(”...Data Source = .\\SQLEXPRESS”)

以上の機能の説明が全部網羅された本があったら教えてください。
(特に3番目を書いてるのは見たことがないです)
C#は言語自体はいいと思うけど、多くの市販の解説書はひどいものじゃないでしょうか?
私(Java,C経験者)に言わせれば上みたいな機能がFormの色づけよりずっと基本なんですが。



175:デフォルトの名無しさん
08/06/04 02:21:56
そうですか

176:デフォルトの名無しさん
08/06/04 07:38:01
>>174
まあまあ、ここでもブックマークに入れとけ。
URLリンク(www.connectionstrings.com)

177:デフォルトの名無しさん
08/06/04 09:40:50
>174
っ「SqlConnectionStringBuilder」

178:デフォルトの名無しさん
08/06/04 09:52:19
あなたに言われてもね

179:デフォルトの名無しさん
08/06/04 10:40:57
ListView の ColumnHeader の TextAlign について

0番目のHeader は TextAlignの 設定ができません(Leftのみ)。
・ColumnHeaderコレクションエディタで設定しようとすると
コンボボックスで選択したのに、Leftに戻ってしまいます。
・コードにて記述しても同じく、0番目はLeftのまま表示されます。

1番目以降は 任意の設定を認識してくれます。

原因等 ご存知の方、いらっしゃいましたらお教えください。

180:デフォルトの名無しさん
08/06/04 10:57:08
あなたに~

181:デフォルトの名無しさん
08/06/04 11:18:47
>>179
仕様。

182:デフォルトの名無しさん
08/06/04 11:46:03
>>181

即レス、ありがとうございました。
質問後、ググってたらまっ先にMSDNに記述ありました…


183:デフォルトの名無しさん
08/06/04 14:54:34
DataSetで自動生成されたFindBy何がしかを使用して、
DS.SomeRow row = dataset.Some.FindByFooBar(foo, bar);
ってなことをやった時に、rowに値が入ったのか入らなかったのかを
判別する方法はないでしょうか?

fooとbarは主キーです。そのためにFindByが自動生成されている訳ですが。

やりたいことは、キー重複を防ぐために、挿入前に、事前に確認したいだけなので、
上の方法で取得できたか出来ないかを調べるのが、もっとも簡単かと思ったのですが。




184:183
08/06/04 15:13:06
どうやら、主キーが複数ある場合はContainsでも駄目なようなので、
地道にFind(foo = f and bar = b)と書いて、返ってくるRowsのLenghtで
判断することにしました。

185:デフォルトの名無しさん
08/06/04 15:30:32
ん?rowがnullかどうかじゃだめなのけ?

186:デフォルトの名無しさん
08/06/04 15:33:57
VS2005でプロジェクトデザイナからアプリケーション設定を追加しようとすると、
「app.configファイルに値を保存しているときにエラーが発生しました~」と怒られて
値が保存されません。
VS2005より後にTurboDelphi(.NET1.1)をインストールしたのが原因かと思い、
VS2005(.NET2.0)を再インストールしたのですが、改善されません。
対策が分かりましたら、どうかご教示をお願いいたします。

187:デフォルトの名無しさん
08/06/04 16:06:42
>>185
それは試したんですけれど、rowがnullにはならなかったんですけれど‥‥。
そういうものかと思って納得したんですが、後でもう一度確かめてみます。

188:デフォルトの名無しさん
08/06/04 16:09:56
>>186
app.configのXMLが壊れちゃっているのでは?
app.configだけ削除して、作りなおしてみるとか。

app.configなんて只のXMLですし、プロジェクトデザイナじゃなくて手書きでも問題無いですよ。
実際、VS2003の時は手書きだったし。
新しくapp.configを作って、なんとなく項目をマージすれば大丈夫。

189:デフォルトの名無しさん
08/06/04 16:57:49
>>185
だーー。nullじゃないかどうかだけでいけますた。
なんでさっきは駄目だったんだろ。
どうも有り難うございました。


190:デフォルトの名無しさん
08/06/04 17:30:53
オブジェクト思考難しー(右手で左の乳首をつまみながら

191:186
08/06/04 17:33:37
>>188
即レスありがとうございます。
app.configの削除はやってみたのですが、ダメでした。
となると、手書きですか・・・

192:デフォルトの名無しさん
08/06/04 18:15:03
System.Windows.FormsにSeparatorコントロールみたいなやつってある?

193:デフォルトの名無しさん
08/06/04 18:17:56
WPFのSeparatorみたいなやつ?
コントロールとしては無いでしょ
WPFみたいに統一されてないからそれぞれの実装次第

194:デフォルトの名無しさん
08/06/04 18:23:08
C#のソースに
[hoge(page)]
bool hage = true;

[hoge]
void panaya(object sender, EventArgs args)

のようにカギ括弧を使った書き方があるのですが、これは
・何という名前で?
・どのようにすれば作れるのですか?
 F1キーのヘルプだと、括弧内のクラスについての説明から始まっていてどう要領を得ません。
名前を教えて貰えれば、ヘルプや入門ページで探せる気もするんでお願いします。

195:デフォルトの名無しさん
08/06/04 18:24:25
hage = true; これわざと!?

196:デフォルトの名無しさん
08/06/04 18:25:52
>>194
属性
Attributeを継承したクラスを作ると出来る

197:デフォルトの名無しさん
08/06/04 18:37:14
>195 狙ってない。狙ってない。落ち着いて。

>196
 ありがとうございます。
なんだか凄く一般的な名前で、上手くを検索できなかったようです。
「属性の適用」ってヘルプ記事を見つける事ができたのでこれから読んでみます。

198:192
08/06/04 19:31:21
>>193
thanks

Control間の区切りで、水平セパレータ一本引きたいんだけど、
なさそうだね。

199:デフォルトの名無しさん
08/06/04 19:48:05
>>198
昔ここで教えてもらったのでは、

Label separator = new Label{ BorderStyle = BorderStyle.Fixed3D, Size = new Size(100, 2) }

こんな感じでそれっぽくなった。

200:192
08/06/04 20:34:18
>>199
おぉっ、まさしくこれです。

very thanks !

201:デフォルトの名無しさん
08/06/04 21:41:36
>>199

へぇ~ みんな そうやってんの?
オレ、いつもGroupBox を縮めて使ってたよ。

202:デフォルトの名無しさん
08/06/05 10:47:38
Windows.Formで、SplitContainerを使用したとき、Panel1と2の間の
境界線の幅を太くして、つまりSplitterWidthを大きくして、
その境界線の上にコントロールを配置することは可能なんでしょうか?



203:デフォルトの名無しさん
08/06/05 14:27:05
やってみろよって思うんだけど
出来なかったんだけどどうすればいいですかなら分かるけど

204:202
08/06/05 16:00:18
>>203
質問の仕方が悪かったですね。
もちろん、試してみて出来なかったので質問しました。
両パネルにコントロールを配置することは可能ですが、
パネル部分以外のSplitContainerにコントロールを配置することは不可能なようです。
まぁ、コンテナっていうぐらいですから、当然ですか?

ということで、境界上に置くつもりだったコントロールは、片方のパネルの上に寄せました。
Shurikenのアドレス帳とかだと、境界上にコントロール置いてあるんですが、
あれは激しく自作っぽいですな。

205:デフォルトの名無しさん
08/06/05 17:04:57
>>204
そのコントロールのParentがSplitContainerではなければ
コード上でそのコントロールのLocationを適切な値に変更すれば
境界上に配置可能。

206:デフォルトの名無しさん
08/06/05 17:06:15
203の厭味ったらしい性格が治る見込みはありますか?

207:デフォルトの名無しさん
08/06/05 17:11:13
ありません

208:デフォルトの名無しさん
08/06/05 17:53:58
>>205
う~ん、なるほど、動的に境界上のコントロールの座標を算出するってことですか。
確かに、SplitBarの移動のイベントは取れるようですので、可能かも。

私のやりたかったことって、単純にSplitContainerでは実現できなくて、
縦3分割の3つのパネルを作り、真ん中のパネルが固定幅というのと同義だ
ということに気付きました。

でも>>205がおっしゃるように、SplitContainerを使って、動的に計算した方が、
真ん中ペインをドラッグしたときのマウスイベントの処理が楽ですよねぇ。



209:デフォルトの名無しさん
08/06/05 20:09:22
スレリンク(tech板:531-532番)
から誘導されました。

 前もって作った配列の要素とクラスとの"紐付け"をしたいのですが、
良い手はありますか?

ちょっと条件があります。
・DirectXで配列を引数にとる関数を使いたい。
・配列は構造体もクラスも使えるけど、構造体配列が好ましいらしい。
・頻繁に更新するので、List<T>.toArray()は勿体ないっぽい。

 だいたいこんな事を考えてます。
sruct instanceData {
 int hage
}
class GameCharactor // 構造体の配列と同数作られるクラス
{
  private int hoge;
  static instanceData[] idarray; //構造体配列
  GameCharactor(int i){hoge = i} //コンストラクタ
  public int hage{ get{return idarray[hoge]hage;} set{idarray[hoge].hage = value;} }//プロパティ
 public int class_only_member;
}
GameCharactor::idarray = new instanceData[numBoxes]; //構造体配列初期化
<略>
 List<GameCharactor> CharaList = new List<GameCharactor>(numBoxes); //最大がnumBoxes

 現状非常に見栄えが悪いかも知れません。
先入観的に、構造体配列に拘っていたりします。
おおまかにこれっぽく動いてC#で好ましい手とはどんなのがありますか?

210:デフォルトの名無しさん
08/06/05 20:47:08
>>209
言いたい事は分からんでもないが。Listは、それ専用に書くかな。
何をやりたくて、どんな構造にしたいかで変わってくる部分も有るから。
聞きたい内容には、それでもいいんじゃない? でつよ。
2.どちらでもいい。配置指定の構造体のほうが楽かもね。
3.専用を作る
クラスの中にDX用の構造体を持ってもいい。

211:デフォルトの名無しさん
08/06/05 21:36:33
初めまして。質問です。
string文字列に格納されている16進数を数値に変えるにはどうするのがスマートでしょうか?
例:
"1A"→26 に変換したい

212:209
08/06/05 21:44:38
>210
変なの読んで貰って、ありがとうございます。
これで終わらせて、次の工程に進めます。

 頭の中に、ポインタとキャストがあるので、不安に
陥って書いてしまいました。 C++ではあり得ないなとか。
あんまり酷く言われなくて助かりました。

213:デフォルトの名無しさん
08/06/05 21:45:01
int num16 = Convert.ToInt32("FFFF", 16);

214:213
08/06/05 21:47:29
>>211
URLリンク(dobon.net)
ここに乗ってた全角はどうだろ・・・

215:デフォルトの名無しさん
08/06/05 22:19:30
>>212
DXを駆使したいなら、あまりOOP的な関数は使わないほうが言いと思われ。
NEW繰り返すような事は控えたほうがいいかな。例えば、オブジェクトのデータは
最初にガバーーと取ってその中でやりくりとかね。リストも、専用に着けたり離したり
高速でできるように、もちろん時間内に処理できるできないで流動的なリストになる。
高速なオブジェクト管理も作るしね。 まあ、やりたい事によって色々ですよ。

216:211
08/06/05 22:29:12
>>213-214
ありがとうございます!!!(>_<)
まさにそれです!!!お早い返事、ものすごく助かりました!!!

217:デフォルトの名無しさん
08/06/05 23:53:14
c#使いの人たちは 打ち出しはクリスタルレポート使ってるの?

218:デフォルトの名無しさん
08/06/06 16:33:18
シングルトンってガベージコレクションの対象になります?

219:デフォルトの名無しさん
08/06/06 17:13:46
なりません

220:デフォルトの名無しさん
08/06/06 17:23:08
>>219
ありがとうございます。
ちなみにならない理由て簡単に教えてもらえないでしょうか。

221:デフォルトの名無しさん
08/06/06 17:28:00
staticな変数に入ってるオブジェクトはガベージコレクションの対象にならないから

アクセス可能な変数に代入されているオブジェクトはGCに回収されない
つまりstatic or 使用中のメソッドのローカル変数に代入されているオブジェクトは回収されない
そうじゃないものは回収される

222:デフォルトの名無しさん
08/06/06 17:49:23
>>221
めっちゃ助かりました!
ありがとうございます

223:デフォルトの名無しさん
08/06/06 18:15:37
Mutex m = ~;
   :
// GC.KeepAlive(m);

てのがあったと思うけど、KeepAlive入れないとmがスコープ内にも関わらず回収されちゃうのは
コンパイラの最適化でもう使われないmにnullを入れるとかしてるの?
それともガベージコレクタが動的にコード見て判断してるの?

224:デフォルトの名無しさん
08/06/06 22:33:50
JITコンパイラがnullにするコードを追加してる、多分。
まあMutexなんてusingしときゃすむ話だ。
ってかましろほっぽっとかずにusingなりちゃんとしとけよって話。


225:デフォルトの名無しさん
08/06/07 02:32:02
配列やコレクションを引数にとるメソッドで、コレクション自体がnullの時はArgumentNullExceptionを
投げるんでしょうが、コレクションの要素の中にnullのものがあったときもArgumentNullExceptionを
投げていいんでしょうか。

226:デフォルトの名無しさん
08/06/07 02:43:18
いや、よくない。
ArgumentExceptionなり、それの派生クラスを適当に定義して投げれ

227:デフォルトの名無しさん
08/06/07 02:45:04
MSDNくらい見ようぜ

> メソッド呼び出し時に渡される引数が null 参照 (Visual Basic では Nothing) で
> あってはならないにもかかわらず、渡された引数のうち少なくとも 1 つが null 参照
> (Visual Basic では Nothing) のときに、ArgumentNullException がスローされます。


228:デフォルトの名無しさん
08/06/07 09:15:31
よく読め

229:デフォルトの名無しさん
08/06/07 13:46:25
visualC#2008でプログレスバーって言うのがありますよね?
アレを敵の体力バーにしたいのですが、どうすればプログレスバーの
値を増減させられますか?おしえてください。yahooで調べてもでませんでした。

230:デフォルトの名無しさん
08/06/07 13:50:09
ネットで調べる前にまずヘルプみれっつうの

231:デフォルトの名無しさん
08/06/07 13:55:56
体カバーにみえた

232:デフォルトの名無しさん
08/06/07 14:03:09
ヘルプみて
頭がいたくなって
熱がでました。
ありがとうございました。

233:デフォルトの名無しさん
08/06/07 17:55:42
MSDNはわかりにくい場合が多々あるのはわかるんだが
こういう質問を見ると、本当に調べたのか?と疑問に思う
はっきりいえば嘘だと思う

234:デフォルトの名無しさん
08/06/07 21:03:17
>>233
もうちょっとオブラートに包んで!

235:デフォルトの名無しさん
08/06/07 21:23:04
ググレカス

236:デフォルトの名無しさん
08/06/07 22:08:45
初心者スレなんだからいいじゃん
初心者じゃないくせにうろうろすんなhage

237:デフォルトの名無しさん
08/06/07 23:24:19
しかし、その程度のtipsも探し当てられない能力の低さには脱帽

238:デフォルトの名無しさん
08/06/07 23:41:24
てかここで聞くよりググった方が早いだろ

239:デフォルトの名無しさん
08/06/08 01:02:00
>217
クリレポはPro版から手軽に使えるから使うけど、.netのクリレポって最初の
起動が死ぬほど遅いんだよな。下手すれば10秒超える。

まぁ、どっちかといえばActiveReportの方が多いんじゃないかな?


240:デフォルトの名無しさん
08/06/08 01:07:52
クリレポは確かに手軽に使えるけど、for VS2008にはマージモジュールが用意されてないんだよな
msiならあるんだが

241:デフォルトの名無しさん
08/06/08 21:40:29
クリレポは機動が遅いから評判いまひとつなのか めもめも
葡萄屋のActiveReportかあ
買う金ないお
貧乏会社だし

242:デフォルトの名無しさん
08/06/08 21:43:24
ジャイブレポートなんてどうかな?
VBでブイブイ言わせてるみたいだけど(うちの会社でわ)

243:デフォルトの名無しさん
08/06/08 21:46:47
アクテブレポート12万だとー
ウインビスタのほうが安いじゃないか
MSを見習え

244:デフォルトの名無しさん
08/06/08 23:23:14
Excelじゃダメな理由を教えろ

245:デフォルトの名無しさん
08/06/08 23:27:14
Excelにはいて印刷?
聞いた事有るけど
C#のアプリでボタン押してExcel立ち上げて
Excelのプレビュー見て 印刷ボタン押して
めんどくさー

246:デフォルトの名無しさん
08/06/09 00:31:17
OLEオートメーションでいいだろ

247:デフォルトの名無しさん
08/06/09 00:43:30
自動印刷のあたりで、エクセルマクロを規制しようとするセキュリティソフトが騒ぎ出す
ユーザーから見て「エクセルが起動したこともわかんない」という状態は不可能

248:デフォルトの名無しさん
08/06/09 00:47:11
OWCでいいだろ

249:デフォルトの名無しさん
08/06/09 01:18:38
OWCって何でんの?

Oっきい方のトイレ?
うんこしながら考えろってこと?

250:デフォルトの名無しさん
08/06/09 01:27:21
そのとおり!

251:デフォルトの名無しさん
08/06/09 10:09:25
スレリンク(tech板)

252:デフォルトの名無しさん
08/06/09 10:27:25
みんな仕事でC#使ってるだけなのかぁなんかガッカリだな

253:デフォルトの名無しさん
08/06/09 10:58:17
俺は仕事じゃなくて自分用のツールとか作ってる
でも配るんなら.NETがネックになるから避ける人が多いかもね

254:デフォルトの名無しさん
08/06/09 11:05:54
なんでSP3に入れてくれなかったんだろうね

255:デフォルトの名無しさん
08/06/09 11:09:20
ドトネト弱者は放置でOK


256:デフォルトの名無しさん
08/06/09 11:39:24
ドットネックw

257:デフォルトの名無しさん
08/06/09 15:51:59
Process.Startで呼び出したEXEの戻り値ってどうやって取得すれば良いんでしょうか


258:デフォルトの名無しさん
08/06/09 15:56:01
プロパティにあるだろ

259:デフォルトの名無しさん
08/06/09 16:10:56
横入りで申し訳ないけど、>>248さんの言ってるOWCって何ですか?

260:デフォルトの名無しさん
08/06/09 16:11:18
oh、ExitCodeか・・・見落としてた

261:デフォルトの名無しさん
08/06/09 16:25:29
office web component かな?


262:デフォルトの名無しさん
08/06/09 17:08:56
タイトルバーの右クリックにメニューを表示したいんです。
どなたかヒント下さい。

263:デフォルトの名無しさん
08/06/09 17:24:00
ヒント:質問の仕方を考え直しましょう。

264:デフォルトの名無しさん
08/06/09 17:31:50
やり方は知らないし関係ないけど、
タスクバーからのメニューの一番下が「閉じる」じゃないアプリには、たまにぶち切れそうになるな

265:デフォルトの名無しさん
08/06/09 17:35:54
cmd.exeのことですね、分かります

266:デフォルトの名無しさん
08/06/09 17:43:01
エスパーするとGetSystemMenu

267:デフォルトの名無しさん
08/06/09 17:49:40
>>266
出来ました、ありがとうございます。
システムメニューって言うんですね、知りませんでした。

268:デフォルトの名無しさん
08/06/09 21:56:50
>>264
なるw
右クリック→即左クリックで閉じようとしてヘルプとか開いたらもう・・・

269:デフォルトの名無しさん
08/06/09 21:58:58
なんのためのAlt+F4

270:デフォルトの名無しさん
08/06/09 22:32:46
タスクバーのアイコンダブルクリックでも閉じれるよ

271:デフォルトの名無しさん
08/06/09 22:48:49
↑うそ付くなw

272:デフォルトの名無しさん
08/06/09 22:54:55
あータイトルバーだった

273:デフォルトの名無しさん
08/06/09 23:24:21
>>269
手が常にキーボードの上にあるとは限らない

マウスだけで操作してるときとか、タスクバー使うことがある
ただ、俺は>>268と違って右クリックx2派だが

274:デフォルトの名無しさん
08/06/10 01:26:31
無限ループに入ってるっぽいアプリってAlt+F4効いたっけ?

275:デフォルトの名無しさん
08/06/10 05:46:19
ウィンドウとは別のスレッドが無限ループしているとか
無限ループの中で(VBでいうDoEventsのように)
メッセージループへの応答をしていれば、効く。

そもそもそんな状態だったら、やたらとCPU食う以外
無限ループくささをあまり感じないと思うけど。

276:デフォルトの名無しさん
08/06/10 11:49:48
システムメニューの閉じるつぶしてたら、上記の方法は全滅だけどな。

277:デフォルトの名無しさん
08/06/10 19:50:49
>>275
sleep入れてりゃ単純な処理なら無限ループでも全くCPU食わないよ。
むしろ正常なプログラム。
ゲーム作るとメインループをぐるぐる回し続けるのが普通だからね。

278:デフォルトの名無しさん
08/06/10 20:28:40
ゲームは普通のプログラムと違うだろ
ここでいう普通とは以下省略

279:デフォルトの名無しさん
08/06/10 20:38:24
ASP.NetをC#やっててメッセージボックス?を出そうと思って
MessageBox.Show("表示したい内容");
と打ち込んでるんだが「現在のコンテキスト内に存在しません」とかなんとかエラーがでて実行できないんだけどどうしたらうまくいく?

280:デフォルトの名無しさん
08/06/10 21:47:50
ASP.NETではWindows.Formは使えないぞ

281:デフォルトの名無しさん
08/06/10 22:10:28
ぬ、そうなのか
どっかに教科書とかないもんかorz

ちなみにWebフォーム(?)でメッセージボックスだすにはどうすればいい?

282:デフォルトの名無しさん
08/06/10 22:43:18
window.alert

283:デフォルトの名無しさん
08/06/10 22:45:57
ありがとう、明日会社でやってみるよー

284:デフォルトの名無しさん
08/06/10 22:47:43
それくらいぐぐれよ・・・

ここはふらっとだった

285:デフォルトの名無しさん
08/06/10 22:53:58
ぐぐる前にここで聞け

286:デフォルトの名無しさん
08/06/10 22:55:13
マルチディスプレーでデスクトップの全体の横幅を取得する方法教えてください。

287:デフォルトの名無しさん
08/06/11 00:36:14
質問です。

LINQ to SQLのDataContextについてなんですが、
データをSQL Serverからではなく、XMLから読み込み、保存出来ないでしょうか?

288:デフォルトの名無しさん
08/06/11 00:53:00
>>286
System.Windows.Forms.Screen.AllScreensで列挙して計算。

289:デフォルトの名無しさん
08/06/11 00:56:20
>>288
レスありがとうございます。
どのように並んでるかは、どう判別するのですか?
全て横一列とは限りませんよね?

290:デフォルトの名無しさん
08/06/11 00:58:46
>>289
文字列の配列で返してくれるよ(多分

291:デフォルトの名無しさん
08/06/11 01:07:15
>>287
LINQ for xml というのが別にある

292:デフォルトの名無しさん
08/06/11 01:10:15
>>290
Screenクラスの配列で帰ってくるので、各々の横幅は分かるのですが、どう並んでいるかの取得方法がわからなくてつまづいてしまいました。
文字列の配列とはどういうことでしょうか?

293:デフォルトの名無しさん
08/06/11 01:13:37
LINQ to XMLとLINQ to Objectの違いがわからない

294:デフォルトの名無しさん
08/06/11 01:14:06
>>290
あ。
.ToStringで相対位置がわかるのですね!すばらしい・・気付かなかった。
ありがとうございました。

295:デフォルトの名無しさん
08/06/11 01:14:17
座標から計算すればいいんじゃないの?

296:デフォルトの名無しさん
08/06/11 01:17:13
あーマルチウィンドウかマルチディ(

297:デフォルトの名無しさん
08/06/11 01:20:08
>>295
あ。.Bounds.Xでわかるんですね。
さっき実験したときは全部0だった気がしてたので、どうやら勘違いしてたようでした。
解決しそうです。ありがとうございました。

298:デフォルトの名無しさん
08/06/11 08:24:06
>>293
極端な話、IEnumerableに対するLINQがLINQ to Objectで
XElementに対するLINQがLINQ to XML。

299:デフォルトの名無しさん
08/06/11 10:35:12
根本的な質問なんですが
C#でプログラムを書いて配布するときに.netも同じCD内にやいて配布することはできるのですか?

300:デフォルトの名無しさん
08/06/11 11:11:08
>>299
URLリンク(msdn.microsoft.com)(VS.80).aspx

ググればすぐHitするだろ低脳

301:デフォルトの名無しさん
08/06/11 11:12:04
ここはふらっとだった…

302:デフォルトの名無しさん
08/06/11 12:29:44
Form1のキャプション変更を教えてください
Form1.Caption=
ではできませんでした

303:デフォルトの名無しさん
08/06/11 12:36:45
Captionってどっから出てきたの?
Text だろ。
でもForm1はインスタンスなの?
そうだとしてもウィンドウ実体ができてからでないとかわらんけどな。

304:デフォルトの名無しさん
08/06/11 12:41:56
タスクバーの文字を変えるやつです
VBでは Form1.Caption= でよかったんですが
Form1.Text= というのもありませんでした

インスタンスというか最初に立ち上がる単体です

305:デフォルトの名無しさん
08/06/11 12:48:12
まずは@ITのC#入門でも読んで基礎を身に付ければいいよ

306:デフォルトの名無しさん
08/06/11 15:45:03
>>304
Me.Textは?

307:デフォルトの名無しさん
08/06/11 15:46:16
しまったここはふらっとだった。
this.Textな

308:デフォルトの名無しさん
08/06/11 16:52:26
>>307
おお、できました
サンクスです

309:デフォルトの名無しさん
08/06/11 20:02:37
ぐぐる前にここで聞け

310:デフォルトの名無しさん
08/06/11 21:54:40
StreamWriterでテキストファイルに書き込んでるんだけども
2バイト文字(だと思う)が文字化けしちゃうんだけどこれはなんで?

311:デフォルトの名無しさん
08/06/11 21:55:50
Encoding

312:デフォルトの名無しさん
08/06/11 22:14:36
>>310
あーそれ俺も蹴躓いた一番最後が改行コード1つで終わってると文字化けするっぽかった気が
てかコレ
StreamReader sr = new StreamReader(fs, Encoding.GetEncoding("shift-jis"));

313:デフォルトの名無しさん
08/06/11 22:19:20
Shift_JISでおk

314:デフォルトの名無しさん
08/06/11 22:22:10
日本語版以外を作るつもりはないけどEncoding.Default使っている。

315:デフォルトの名無しさん
08/06/11 22:38:22
しまったここはふらっとだった。

316:デフォルトの名無しさん
08/06/11 23:32:31
大文字小文字ね

317:デフォルトの名無しさん
08/06/12 00:39:53
>>314
無指定時の標準がutf-8でEncoding.Defaultが別にある不思議。

318:デフォルトの名無しさん
08/06/12 01:38:26
Encoding.DefaultはANSIのデフォルトコードページだろ。
なにが不思議なんだ。

319:デフォルトの名無しさん
08/06/12 03:00:18
まぎらわしいのは確かだわな。Encoding.Ansiとかにしといてくれればいいものを。

320:デフォルトの名無しさん
08/06/12 14:44:04
List<T>からAsReadOnly()でReadOnlyCollection<T>を得た後
ReadOnlyCollection<T>への参照のみ保持しておく
ってのはやっても大丈夫?

321:デフォルトの名無しさん
08/06/12 15:01:10
>>320
だめ。ReadOnlyCollection<T> を新たに new すれば大丈夫だけど。

322:デフォルトの名無しさん
08/06/12 15:03:29
.NETはじめたばかりなんだが
Formの描画可能エリアサイズ(フレームを除く幅・高さ)を取得する方法を教授して欲しい ^p^
まったくもって初心な質問だが、おおおお願いいたしまする

323:デフォルトの名無しさん
08/06/12 15:06:07
WidthとHeightプロパティ

324:デフォルトの名無しさん
08/06/12 15:06:40
>>322
ClientRectangle とか ClientSize

325:デフォルトの名無しさん
08/06/12 15:07:49
>>321
えーと、何が駄目なんだ?

326:デフォルトの名無しさん
08/06/12 15:09:07
ありがとう >>324 アイシテル

327:デフォルトの名無しさん
08/06/12 21:08:43
>>320
全く無問題

328:デフォルトの名無しさん
08/06/12 21:11:26
>>327>>320w
>>325に答えて欲しくて反対の意見を書いてみましたってか?

329:デフォルトの名無しさん
08/06/12 21:12:10
日本語で頼む

330:デフォルトの名無しさん
08/06/12 21:12:24
>>328
お前病気だろ

331:デフォルトの名無しさん
08/06/12 21:16:29
AsReadOnlyってreturn new ReadOnlyCollection<T>(this);だけだぞ
そのあとはReadOnlyCollectionが参照を保持してるから元のリストはGCされない

332:デフォルトの名無しさん
08/06/12 21:43:36
>>328
「問題無い」ことに反論あるならちゃんと理由を書きましょうね

333:デフォルトの名無しさん
08/06/12 21:54:55
HashTableをforeachで取り出したときと逆順に取り出したいんだけどどうしたらいいか教えてください。

334:デフォルトの名無しさん
08/06/12 21:55:28
無理です

335:デフォルトの名無しさん
08/06/12 22:02:50
hashtable.OfType<DictionaryEntry>().Reverse()

336:デフォルトの名無しさん
08/06/12 22:24:24
キャストに失敗することはありえないので、Cast<T>() の方が

337:デフォルトの名無しさん
08/06/12 22:28:22
>>335
ありがとうございます。
OfTypeとかC#3.0ですか?
C#3入れてみます。。

338:デフォルトの名無しさん
08/06/12 22:31:02
Select 繋げて匿名型の型付き Key, Value にもしたいななんとなく

… Hashtable 使うやつが 3.0 使えるのかってのは俺もスルーするー

339:デフォルトの名無しさん
08/06/12 23:13:56
KeyValuePairの方がベター

340:デフォルトの名無しさん
08/06/12 23:31:39
ぐぐる前にここで聞け

341:デフォルトの名無しさん
08/06/12 23:45:15
しまった。ここはふらっとだった。

342:デフォルトの名無しさん
08/06/13 08:05:32
メッセージボックスは
MessageBox.Show("メッセージ", "") ;
ですが
これでメッセージがでてOKを押すまで次の処理に移らないようにするにはどうすればいいですか?

343:デフォルトの名無しさん
08/06/13 08:08:15
普通はメッセージボックスが閉じるまでブロックされてるはずだけど

344:デフォルトの名無しさん
08/06/13 08:12:47
ループの中で使ってるんですが
連続で大量に出てしまいます
あ、タイマー割り込み先になってました
こちらを抑止しないとダメですね

345:デフォルトの名無しさん
08/06/13 18:45:34
マルチスレッドのアプリケーションを作っているのですが、スレッドでTextBoxに書き込もうとするとエラーになります。
バックグラウンドでもスレッドを使っても同じエラーになるのですが、どうしたらいいでしょうか?

346:デフォルトの名無しさん
08/06/13 18:47:00
Invoke

347:デフォルトの名無しさん
08/06/13 18:48:20
これかな
URLリンク(codezine.jp)

348:デフォルトの名無しさん
08/06/13 18:48:20
URLリンク(www.atmarkit.co.jp)

349:デフォルトの名無しさん
08/06/13 18:53:21
345です。

早い回答ありがとうございます。Invokeを使って一度動かしてみます。

350:デフォルトの名無しさん
08/06/14 02:13:35
DictionaryとSortedDictionaryの使い分け方を教えてくれー
要素数が多いとSortedDictionaryの方が有利なのかと思ったら
全然関係なかったし。


351:デフォルトの名無しさん
08/06/14 03:44:19
>>350
foreachなどで順番に読み出したときにキー順に読み出せるかどうかの違い。
むしろSortedDictionaryとSortedListの使い分けの方が悩む。

352:デフォルトの名無しさん
08/06/14 03:51:44
じゃあ順序はどーでもいいときはDictionaryでいいのかぁ?

353:345
08/06/14 03:55:53
345です。

Invokeを使ってTextBoxに書き込みはできるようになったのですが、関数を
while(Roop){
スレッド内容
}
として、ボタンを押したときにRoopをfaultにした場合にしているのですが、終了しないのですがどうしたらいいのでしょうか?
一応、thred.Isbackgroundはtureにしています。



354:デフォルトの名無しさん
08/06/14 04:13:47
ステップ実行してみたら?

355:デフォルトの名無しさん
08/06/14 05:19:20
「スレッド内容」の中に時間のかかるループがあるとか。
あと落ち着け。

356:デフォルトの名無しさん
08/06/14 09:24:45
いくつか質問があるのでお願いします。
1.ListにListをいれて2次元配列みたいにしようと
  List<List> list = new List<List>();
  したらエラー'System.Collections.Generic.List<T>' の使用には、'1' 型の引数が必要ですというように怒られた。
  理由がわからないのと、代用法を教えてください。

2. 配列を受け取って不要な要素の削除挿入がしたいので配列からListへの変換がしたいと思うのですができません。逆はあるのですが。
  新たにListを作って挿入していくしかないのでしょうか。

3. 通常DataSetはselectして抜き出して表示、加工してUpdateという使い方をしますが、CSVからDataSetを作るという記事を
  見て自前で作ったDatsetをデーターベースに突っ込めるか気になったので教えてください。




357:デフォルトの名無しさん
08/06/14 09:30:09
中のListも型を指定しないといけない。
List<List<int>> list = new List<List<int>>();

2つ目はList<>のコンストラクタでいける。
int[] a;
List<int> l = new List<int>(a);
2次元配列とかからList<List<>>なら、こうも単純にはいかないだろうけど。

358:デフォルトの名無しさん
08/06/14 09:44:19
>>350
Dictionary はハッシュ辞書、
SortedDictionary は赤黒木。

ハッシュは、所望の要素数に対して、
最低でも倍くらいのメモリ確保しとかないと実行速度落ちる。
(デフォルトコンストラクタで結構大きめにメモリ確保してたはず)

でも、キー順で要素取り出せる必要のないときは普通に Dictionary でいいと思う。

359:デフォルトの名無しさん
08/06/14 10:57:25
教えていただけませんでしょうか。

GetPrivateProfileStringでINIファイルの中に定義したファイル名(フルパス)
を取得していますが、取得できたファイル名がトレースで見てみると
c:\\tmp\\test.txt
のように\が二つ並んでいます。このファイル名をつかってFTPアプリ用
のパラーメータ文字列を作ろうとしているのですが
String.Format(" -p -b {0} {1} {2} {3} {4}",
IP,//IP
FtpUser,//ユーザー
FtpPass,//パスワード
ArcFile,//転送対象ファイル名(問題の文字列)
FtpPath);//転送先パス
とやると、Arcファイル名の文字列にc:\\tmp\\test.txtのように
\が2個入っているため、正常にファイル名と認識できないようです。
そのため、FTPコマンド(独自作成)が異常終了している状況です。
どのようにすれば\\を1文字にして正常な形式のファイル名でコマンド
文字列を作成できるのでしょうか。

お手数ですが、どちら様かご教示のほど、お願いしますm(__)m。


360:デフォルトの名無しさん
08/06/14 12:32:17
359です。
すいません。ほかに原因があったようです。
お騒がせしましたm(__)m。

361:デフォルトの名無しさん
08/06/14 15:23:10
>>358
デフォルトってたしか3か5か7だったかせいぜいそのくらい。
3だった気がする。
どうせあっという間に拡張されるしどうでもいい話だが。


362:デフォルトの名無しさん
08/06/14 17:37:30
システムがムシキングっぽいゲーム作ってるのですが、
画像の表示の仕方がわかりません。おしてください。
ちなみにマイクロソフトvisualC#2008をつかっています。

363:デフォルトの名無しさん
08/06/14 17:41:09
基本的にここのレスって、言語を一から勉強すれば全て解決できるはずの問題ばっかりだね。


364:デフォルトの名無しさん
08/06/14 17:43:52
一から勉強してるときにつまずいたやつが来てるんじゃないの?

365:デフォルトの名無しさん
08/06/14 17:45:46
でも流石に>>362のような消防(ry

366:デフォルトの名無しさん
08/06/14 17:59:54
てかググり方を教えるスレだから

367:デフォルトの名無しさん
08/06/14 18:05:01
>>362
ゲ製作技術
URLリンク(pc11.2ch.net)

368:362
08/06/14 18:42:44
言い方がわるかったみたいなのでしつもんを変えます。
visualC#でpictureboxってありますよね?それを使ってボタンを押すと
画像が変わるプログラムをつかうりたいのですが、どうすれば画像をかえられますか?
一応 pictureBox1.image = ファイルの場所 とやってみたのですができませんでした。
おしえてください

369:デフォルトの名無しさん
08/06/14 18:48:03
>>368
picturebox1,2,3と作ってvisibleで切り替えろ

370:デフォルトの名無しさん
08/06/14 20:09:44
XMLを出力するとき、
XmlTextWriter と XmlWriter のどっちでも
できるっぽいんだけど、どういう使い分けをすれば
いいんでしょう?

371:デフォルトの名無しさん
08/06/14 22:14:03
ドキュメント読め

> public abstract class XmlWriter : IDisposable

> public class XmlTextWriter : XmlWriter

この2つを見つけることができれば、あとは自明

372:デフォルトの名無しさん
08/06/15 00:16:08
XmlTextWriterは推奨されてないよね?

>Microsoft .NET Framework には、
>XmlWriter クラスの実装である
>XmlTextWriter クラスが含まれていますが、
>2.0 リリースでは、Create メソッドを使用して
>XmlWriter インスタンスを
>作成する方法を推奨しています

373:デフォルトの名無しさん
08/06/15 01:34:18
XmlTextWriterのインスタンスを直接生成することが推奨されていないのであって、
XmlTextWriterを使用することが推奨されていないのではない。

XmlWriterインスタンスと言っても、実際には具象クラスのインスタンスなわけだ。
どの具象クラスのインスタンスを返すかはXmlWriterの判断に委ねろ、ということだ。

374:デフォルトの名無しさん
08/06/15 03:11:03
>373
直接生成しないでXmlTextWriterのインスタンス
どうやって作るの?

375:デフォルトの名無しさん
08/06/15 03:12:16
XmlWriter.Create

376:デフォルトの名無しさん
08/06/15 03:23:17
返り、XmlWriterだけど・・

377:デフォルトの名無しさん
08/06/15 03:25:30
>>373
え?w

378:デフォルトの名無しさん
08/06/15 03:27:13
>>376
ポリモルフィズムでぐぐっとけ

379:デフォルトの名無しさん
08/06/15 03:59:26
子を作って親に入れるんじゃなくて、
親しか作れないのに?

380:デフォルトの名無しさん
08/06/15 04:00:17
親の名義だけど実際に帰ってくるのは子だよ。

381:デフォルトの名無しさん
08/06/15 04:25:00
XmlTextWriter.Create(@"hoge.xml")
で帰ってくるのXmlWriterだよ。

382:デフォルトの名無しさん
08/06/15 04:28:02
なぜ>>372を否定したがるのかわからん

383:デフォルトの名無しさん
08/06/15 04:33:33
>>381
抽象クラスのインスタンス帰ってくるわけないだろうが…

384:デフォルトの名無しさん
08/06/15 04:47:20
あ、違った。
でも、XmlTextWriterは帰ってこないね。

385:デフォルトの名無しさん
08/06/15 04:54:54
なるほど。
createの意味は分かった。
じゃあ、ソース上はXmlWriterでよくて、
XmlTextWriter使う必要ないんじゃないか。

386:デフォルトの名無しさん
08/06/15 04:58:36
だからそう言っているじゃないか

387:デフォルトの名無しさん
08/06/15 05:10:14
ぐぐる前にここで聞け

388:デフォルトの名無しさん
08/06/15 05:44:26
どちらかというと.NETスレ向けかもしれませんが…
コントロールのイベントについてなのですが、SplitContainerを2段重ねたものにPanel、Label
をおいたものを作り、LabelにDoubleClick、MouseDown、MouseMove、MouseUpイベントを
追加して使用しているのですが、このコントロールを動的に作成し、同じコントロールをPanelの
中に入れ子になるように追加して使用するようになっています。
このとき、1段目のコントロールのLabel.DoubleClickはちゃんと発生するのですが、2段目以降の
コントロールのLabel.DoubleClickが発生せず困っています。Mouse~イベントはちゃんと
発生するのですが…

コントロールを入れ子にしすぎると発生しなくなるイベントとかあるのでしょうか?

389:デフォルトの名無しさん
08/06/15 11:31:09
>>381
変数の型とインスタンスの型を区別して考えるようにしろ。

390:デフォルトの名無しさん
08/06/15 13:28:31
C#でGUIアプリケーションを作りたいんですが、
参考になりそうな本、もしくはサイトを教えてください。
自分のスキルは「JAVA・C」をポインタくらいまで学習した。Python・Perlの基本部分がわかる程度、です。
目標としては「live2ch」みたいなインターフェースのtxtログ検索プログラムを作ろうと思ってます。

391:デフォルトの名無しさん
08/06/15 23:02:46
public class Number
{
public string[] Num;
}

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

private void Form1_Load(object sender, EventArgs e)
{
Number Date = new Number();
Date.Num[0] = "01aaaa";          // ここでエラーが出る
}
}

オブジェクト参照がオブジェクト インスタンスに設定されていません。
というエラーが出るのですがどうしたらいいのうでしょうか

392:デフォルトの名無しさん
08/06/15 23:09:44
>>391
3行目
public string[] Num = new string[10]; // 配列の大きさは適当 


393:デフォルトの名無しさん
08/06/15 23:15:26
List<T>使ってAddした方が動的さが直感的で使いやすく
コードが分かりやすくて良いいんじゃないかと。

394:デフォルトの名無しさん
08/06/15 23:17:14
ArrayListがいいよ

395:391
08/06/15 23:21:36
AllDate date = new AllDate();

StreamReader sr = new StreamReader("data.dat", Encoding.GetEncoding(932));

while (sr.Peek() != -1)
{
buf = sr.ReadLine().Split('/');
for (int cnt = 0; cnt < 4; cnt++)
{
if (buf[cnt] == textBoxSearch.Text)
{
listBoxResult.Items.Add(buf[2]);
date.No[cnt] = buf[0];                   // ここでエラー
}
}
label5.Text = listBoxResult.Items.Count + "件の検索結果が出ました";
}
sr.Close();


このようなプログラムで、検索でヒットしたbuf[0]だけど他のClassに保存してプログラム内で使いまわしたいのですが、
>>392さんが教えてくれたやり方だと、宣言した大きさを超えるとやっぱり

オブジェクト参照がオブジェクト インスタンスに設定されていません。

というエラーがでてしまいます。どうしたらいいんでしょう・・・

396:391
08/06/15 23:22:56
>>395
bufは
string[] buf;
で宣言してあります

397:391
08/06/15 23:26:53
>>393,>>394
まじでありがとうございます

398:デフォルトの名無しさん
08/06/15 23:30:40
>>397
お礼を言う時にまじではないだろw

399:391
08/06/15 23:31:47
本当にありがとうございます
やばいです

400:デフォルトの名無しさん
08/06/15 23:35:37
>>396
forで何回ループするかわかってるなら
その前で
date.No = new String[max];
とすればいいんじゃね

401:デフォルトの名無しさん
08/06/16 05:28:57
>>398
そういう注意はいいねw言うべきだ

402:デフォルトの名無しさん
08/06/16 10:43:44
C#2008EEをXPで使用して勉強しています。
親クラスから複数の子クラスが派生しており、シーンによって子クラスの
メソッドを呼びわけるようにしたいと思っていますが、
うまく呼びわけることができません。

class Parent
{
}

class Child1 : Parent
{
void Method(){}
}

class Child2 : Parent
{
void Method(){}
}

例えば上記のようになっていた場合、ユーザから入力された値によって
Child1のMethodとChild2のMethodを呼び分けたいのですが、
どのように記載すべきでしょうか。

こういうシーンが1箇所ならswitchで呼び分ければいいのかなと思ったのですが、
上記のように処理を分岐させたいシーンが複数あり、
その度にswitchを記述するのがよくないと思っています。
初歩的ですがアドバイスをお願いします。

403:デフォルトの名無しさん
08/06/16 10:51:19
>>402
ベースクラスで virtual or abstract
派生先で override
…なんでもいいから、C# 入門みたいなテキストをまずはやってみな
基礎の基礎は掲示板だと限界がある。ピンポイントなもの向け>掲示板

404:デフォルトの名無しさん
08/06/16 11:31:20
XPなら何も考えないでswitchで書けよ、と思ってしまふ

405:デフォルトの名無しさん
08/06/16 11:50:28
XP違いw

406:デフォルトの名無しさん
08/06/16 11:53:56
基本intでしか使わない変数を ごくたまーにdoubleで使うことが分かっている場合、
intで書いてそこだけdoubleにキャストすべきか、最初からdoubleで書くべきか、
そんなどうでもいいこと勝手にしろ、か・・・・ご意見拝聴致したく候。

407:デフォルトの名無しさん
08/06/16 11:55:22
doubleをintにしたら?

408:デフォルトの名無しさん
08/06/16 12:16:39
演算する時は常にdoubleで使うとかいうんじゃなければ、
intでいいんじゃまいか。

409:デフォルトの名無しさん
08/06/16 12:21:11
そういうときは、なるべく余計な記述をしなくてすむようにしたいな。はじめからdoubleに一票。

410:デフォルトの名無しさん
08/06/16 12:24:09
基本intでしか使わないって言ってるんだから、言葉通りに取ると、
それだとintで余計な記述をするようになるんじゃないの?

411:デフォルトの名無しさん
08/06/16 12:25:09
doubuleにintいれても意味無いだろ

412:デフォルトの名無しさん
08/06/16 12:27:24
>>403
今日ほど参考書を買おうと思った日はありません。
帰りに買って帰ろうと思います。
ありがとうございました。

413:デフォルトの名無しさん
08/06/16 14:01:45
C#で小物ツールを作るときに、たとえば
mytool.css
をダブルクリックすると裏で自動的にコンパイルして
あたかもスクリプトのように実行してくれる仕組みとそれに対応した拡張子ってないですか?
それくらいは自分で作ればいいんでしょうけど。もしあれば教えてください。

414:デフォルトの名無しさん
08/06/16 14:07:05
エディタの外部ツール登録とかじゃ駄目なのか?

415:デフォルトの名無しさん
08/06/16 14:16:29
貴重な御意見しかと頂戴いたし申した。

416:デフォルトの名無しさん
08/06/16 14:28:22
申すは可笑しいだろうjk

417:デフォルトの名無しさん
08/06/16 14:29:45
申し訳ない

418:デフォルトの名無しさん
08/06/16 20:04:19
ASP.NETをC#でやってるんだけどもそれもここで質問していいのかな?

テキストボックスに値を入力して、入力された値に含まれる半角・全角のスペースを消したいんだけど
("aa aa"と入力されたら"aaaa"とか)
今はTextChangedイベント使ってAutoPostBackプロパティをTrueに設定して動かしているんだけど、
ポストバック時の再表示がちらちらして鬱陶しいんだ

何か他に方法はないかな?

419:デフォルトの名無しさん
08/06/16 20:41:45
>>418
javascriptを使ってクライアントサイドだけでチェックと変更をする。
具体的にどうするかはスレが違ってくるな。

420:デフォルトの名無しさん
08/06/16 21:01:15
割り込みすみません。

今oracleのテーブルにアクセスしてクエリ抽出し、それをcsvに書き出す
というのを作っているのですがデータアダプタとかデータセットとか良くわかりません。。。
(oracleアクセスとクエリビルダで抽出までは出来たのですが)

参考になるサイトとかどなたかご存知でしょうか?
お願いします

421:デフォルトの名無しさん
08/06/16 21:16:37
VS2008にしたんだけどビルドしてもDEBUGフォルダだけでReleaseフォルダが
出来ないんですけど何故?

422:デフォルトの名無しさん
08/06/16 21:20:13
ちゃんと設定した?

423:デフォルトの名無しさん
08/06/16 21:20:26
>>419
よかったらJavaScriptの方へ処理を飛ばすというかJavaScriptを動かす方法とタイミングを教えてくれないだろうか

424:デフォルトの名無しさん
08/06/16 21:30:06
>>422
VS2005EEでは設定した覚えがないんですけど。。。

今はvs2008PEです

425:デフォルトの名無しさん
08/06/16 21:31:53
Release ビルドしても出来ないの?

426:デフォルトの名無しさん
08/06/16 21:33:14
>>425
2005のときはビルドとかリビルドとかのメニューありますよね?
アレのビルドってやると普通に出来たんですが・・・

427:デフォルトの名無しさん
08/06/16 21:40:52
俺は使ってないからわからない

Visual Studio 2008 Part 10
スレリンク(tech板)

428:デフォルトの名無しさん
08/06/16 21:43:52
>>427
ありがとう。行ってきます

429:デフォルトの名無しさん
08/06/16 21:56:56
配列やリストの中の最大値、最小値を求めるメソッドって無いの?

430:デフォルトの名無しさん
08/06/16 22:06:42
Max, Min
なんでそのままの名前なのに見つけられないの?

431:デフォルトの名無しさん
08/06/16 22:08:13
ない。ソートして最大/最小のインデックスでええやん

432:デフォルトの名無しさん
08/06/16 22:29:32
Min/MaxはIEnumerable<T>の拡張メソッドなので.NET3.5から、
くらいの言及はしてやっても良いと思うが

433:デフォルトの名無しさん
08/06/16 22:30:12
質問者の側で指定がなければ最新版を対象に話するよ。

434:デフォルトの名無しさん
08/06/16 23:13:42
>>427
けっこうそっちで苛められましたw

435:デフォルトの名無しさん
08/06/17 00:10:24
>>420
URLリンク(www.atmarkit.co.jp)

436:デフォルトの名無しさん
08/06/17 00:16:43
PostBackが鬱陶しいならajax

437:デフォルトの名無しさん
08/06/17 00:18:26
>>435
ひでえw

438:デフォルトの名無しさん
08/06/17 00:25:58
>>437
でも実はこれが一番の近道じゃないか?w

439:デフォルトの名無しさん
08/06/17 01:09:51
>>434
酷いな。何故か勝手に割れだと決め付けられてるし。
緑の▲ボタンの右側にデバッグ/リリース変えるコンボボックスあるっしょ。

440:デフォルトの名無しさん
08/06/17 01:37:50
>>423
<script type="text/javascript"><!--
function blankcheck(id){
  var txt = document.getElementById(id);
  txt.value = txt.value.replace(/\s/g, "");
}
//--></script>
<input type="text" id="TextBox1" onchange="blankcheck('TextBox1')" />
これでいけるのだが、よく考えるとasp:TextBoxタグにこれを追加するのが面倒だ。

無理やりねじ込む方法もあるが、AutoPostBackをはじめASP.NETがonchangeを使う可能性が
あるから危険かも。
window.onload = function() {
 document.getElementById('TextBox1').onchange = function(){blankcheck('TextBox1');}
}
asp:TextBoxタグなどを拡張するのがマナーなんだろうけどややこしそうだ。

441:デフォルトの名無しさん
08/06/18 14:59:26
毎秒100個くらい構造体(40byte)をバイナリファイルに出力したいのですが

1:構造体をバイナリファイルに出力する方法
2:可能な限り速やかにファイルに実際に書き込みをするようにしたい

どうすればいいでしょう?おしえてください
よろしくおねがいします

442:デフォルトの名無しさん
08/06/18 15:04:26
>>441
考え直してはくれないか・・・
public static void SaveToBinaryFile(object obj, string path) {
using (FileStream fs = new FileStream(path, FileMode.Create, FileAccess.Write)) {
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, obj);
}
}

443:デフォルトの名無しさん
08/06/18 16:13:40
>>442
ありです
やってみます

444:デフォルトの名無しさん
08/06/18 19:16:08
>>442
なんだか変数の名前も記録されてしまいますね
ファイルがバカでかくなりそうなのでやめます

他に何かいい方法はないでしょうか?
まだまだ募集中~

445:デフォルトの名無しさん
08/06/18 19:21:55
募集中…

446:デフォルトの名無しさん
08/06/18 21:06:57
募集中噴いたwwww

BinaryFormatterで最初の要求仕様は満たされているが、
余分な物を出力したくないと言うならBinaryWriterを使えば良い。

Marshalとか使った方法もあるけど、自分で調べれないような人は使ってはいけない。
・StructLayout&Marshal.SizeOf→Marshal.AllocHGlobal→<Marshal.StructureToPtr→Marshal.Copy→[FileWrite]>→Marshal.FreeHGlobal

447:デフォルトの名無しさん
08/06/18 21:12:02
そもそも毎秒100個もファイル書き出すなよ・・・

448:デフォルトの名無しさん
08/06/18 21:18:17
用途を聞かないと判らないが、そんな勢いでファイル出力しなきゃならない設計自体が間違っている予感。

449:デフォルトの名無しさん
08/06/18 21:27:14
一つのファイルに対して 40byte*100個/秒 書き出すって意味じゃないのか。
いくらなんでも秒間100もファイル作るわけが・・ないよね?

しっかし、用途がさっぱり分からないなぁ

450:デフォルトの名無しさん
08/06/18 21:28:49
そもそも秒間100もファイル作れるのか?

451:デフォルトの名無しさん
08/06/18 21:38:05
用途がわかれば色々アドバイスもできるんだがな。
DB使えとか。リモーティングがいいとか。

452:デフォルトの名無しさん
08/06/18 22:25:58
セクター直書きなら余裕。

453:デフォルトの名無しさん
08/06/18 23:23:49
普通に考えて設計が間違ってるわな。
昔、CSVファイルを1秒毎にFTPで送るって仕様があってだな、そのファイルってのがリアルタイムで製作していくらしいんだ。
ファイル数は10~20個で、1ファイルあたり100列くらい。
そのシステムが全国にあって、名古屋のFTP鯖に向けて送りたいらしい。
さらに失敗時に再送処理もいれてくれとか細かい設定まであった。

何を言っているのかわからなかったよ。

454:デフォルトの名無しさん
08/06/18 23:29:04
RC版は正式版に自動アップデートするの?

455:デフォルトの名無しさん
08/06/18 23:47:22
>>453
何がしたくてどう考えたらそんなこと思いつくんだろう・・・

456:デフォルトの名無しさん
08/06/18 23:48:23
ただのアホ

457:デフォルトの名無しさん
08/06/18 23:51:28
>毎秒100個くらい構造体(40byte)をバイナリファイルに出力したいのですが
一個のファイルだろさすがに書き方から見ても。
まあBinaryWriterでちまちま書いとけ。



458:デフォルトの名無しさん
08/06/19 00:00:55
適切な大きさのバッファを割り当てればストリームで十分スピードは出る。
ちまちまランダムアクセスするよりずっと早い。

459:デフォルトの名無しさん
08/06/19 00:05:50
??


460:デフォルトの名無しさん
08/06/19 00:09:54
流れを読めない人なんだろうからほっとけよ

461:デフォルトの名無しさん
08/06/19 01:23:38
ボットシステム作る板かとオモタww

462:デフォルトの名無しさん
08/06/19 13:45:31
今、C#.NET FrameworkでWindowsアプリを作成する練習をしているのだが
メインのFormプロパティ FormBorerStyleに、Noneを指定した場合
フォームデフォルト(キャプションウィンドウ, タスクウィンドウ上)のコンテキストメニューは、どうやって呼出せばいいのでしょうか

(´・ω・`) 教えてエロい人

463:デフォルトの名無しさん
08/06/19 13:56:40
CreataParamsオーバーライドしてStyleにWS_SYSMENU追加

464:デフォルトの名無しさん
08/06/19 14:12:58
>>463 ありがとう!正常に表示されますた。
WindowStyleの追加削除は、そこで直接行えばいいのね(・ω・)




465:デフォルトの名無しさん
08/06/19 16:34:15
C#2008を使用していますが、Typeの情報からインスタンスを生成する方法ってあるんでしょうか?

動かないけどこんな感じで
Type test = typeof(string);
Object obj = new Object (test); //stringのインスタンス生成したい




466:デフォルトの名無しさん
08/06/19 16:41:30
>>465
アセンブリの遅延ロードなどで使う
Assembly asm1 = Assembly.LoadFrom("sclass.dll");
Type sclass1 = asm1.GetType("Sclass");
ISclass s1 = (ISclass) Activator.CreateInstance(sclass1);


467:デフォルトの名無しさん
08/06/19 16:43:35
ActivatorとかType.GetContructorからとか
どうでもいいがStringは引数なしコンストラクタを持たないぞっと

468:デフォルトの名無しさん
08/06/19 16:47:21
>>462
せっかくForm使ってるんだから、MenuStrip使えよ。

469:デフォルトの名無しさん
08/06/19 17:04:23
>>466 >>467
ありがとう。
そのへん調べてみたら簡単には出来なさそうなので
もうちょっと勉強してから実装してみます。

470:デフォルトの名無しさん
08/06/19 18:49:39
LoadFromを広めるな。

471:デフォルトの名無しさん
08/06/19 19:46:55
>>470
どのへんがダメなの?

472:デフォルトの名無しさん
08/06/19 20:22:12
アセンブリをハイジャックされる可能性がある。

473:デフォルトの名無しさん
08/06/19 20:27:48
それはLoadFormと関係ない問題


474:デフォルトの名無しさん
08/06/19 20:35:16
ASP.NETでTextFieldParserを使いCSV読み込ませる処理をやっているがWEBアプリなのでどんなデーターをねじ込まれるか分からないので
最低限バイナリファイルを弾きたいのだがtry chatchしてもexeファイルは弾くが画像データとかは例外を出さずにそのまま素通りしてしまう。
どうすればいい?TextFieldParserはストリームで読み込む。

475:362
08/06/19 20:38:36
画像をpictureboxに挿入したいのですが、下のようにしてもできません、
ちゃんとusing System.Drawing;も打ち込んであります。ファイルの場所もただしいです。
なのに名前 'image1' は現在のコンテキスト内に存在しません。とでます。
解決策をおしえてください。
private void Button1_Click(System.Object sender, System.EventArgs e)
{
image1 = new Bitmap(C:\Users\pc\Documents\C#\Visual Studio 2008\Projects\" +
@"WFA1\WFA1\nomal.bmp", true);
PictureBox1.Image = image1;
}

476:デフォルトの名無しさん
08/06/19 20:45:46
これは?
Bitmap image1;
それかこうするか
Bitmap image1 = new Bitmap(C:\Users~
てか直接とか
PictureBox1.Image = Bitmap(C:\Users~

477:デフォルトの名無しさん
08/06/19 22:38:56
>>446

貴重な情報ありがとうございます
やってみました
いまのところ動いてるっぽいです
(intって8byteでしたっけ?boolとbyteが4byteでセーブされるw ま、いいけど)
今日のところはデータは1秒あたり平均20弱くらい来てたようです
ファイルに保存できました(たぶん)

どーもみなさんありがとうございました


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch