トップページ⇒tech
1001コメント341KB

くだすれC#(Part3)

レス数が1000を超えています。これ以上書き込みはできません。
0001毛の生えたブリーフNGNG
このスレッドは

「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。

ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。

少しずつC#プログラマを名乗るものが現れました。みなさん一緒に勉強しましょう。

前スレッドはこちら
http://pc2.2ch.net/test/read.cgi/tech/1035895873/l50(Part2)
http://pc2.2ch.net/test/read.cgi/tech/1023766485/l50
0002デフォルトの名無しさんNGNG
削除依頼お願いします。
0003フサフサなブリーフNGNG
関連スレ

C♯相談室 Part9
http://pc2.2ch.net/test/read.cgi/tech/1039646808/l50
【老若】VB.net質問スレ【男女】 (Part2)
http://pc2.2ch.net/test/read.cgi/tech/1043629429/l50


外部サイト

宇宙仮面の C# プログラミング / C# Programming
http://ukamen.hp.infoseek.co.jp/
C#入門
http://black.sakura.ne.jp/~third/cs.html
0004デフォルトの名無しさんNGNG
質問があるのですが
IBMのノートパソコンでX22という型なんですが
画面が小さくなって中心に現れるようになって
まわりが真っ黒になってしまいました。
壊れてしまったのでしょうか?
弁償しなければならないのでしょうか?
ごめんなさい。。。
0005デフォルトの名無しさんNGNG
質問があるのですが
IBMのノートパソコンでX22という型なんですが
画面が小さくなって中心に現れるようになって
まわりが真っ黒になってしまいました。
壊れてしまったのでしょうか?
弁償しなければならないのでしょうか?
ごめんなさい。。。質問があるのですが
IBMのノートパソコンでX22という型なんですが
画面が小さくなって中心に現れるようになって
まわりが真っ黒になってしまいました。
壊れてしまったのでしょうか?
弁償しなければならないのでしょうか?
ごめんなさい。。。質問があるのですが
IBMのノートパソコンでX22という型なんですが
画面が小さくなって中心に現れるようになって
まわりが真っ黒になってしまいました。
壊れてしまったのでしょうか?
弁償しなければならないのでしょうか?
ごめんなさい。。。質問があるのですが
IBMのノートパソコンでX22という型なんですが
画面が小さくなって中心に現れるようになって
まわりが真っ黒になってしまいました。
壊れてしまったのでしょうか?
弁償しなければならないのでしょうか?
ごめんなさい。。。
0006デフォルトの名無しさんNGNG
やれやれ。
0007デフォルトの名無しさんNGNG
すべてがパーに
0008デフォルトの名無しさんNGNG
ここは
 く だ ら な い 奴 が し つ も ん す る ス レ ッ ド
になりました
0009デフォルトの名無しさんNGNG
>>4
こういうネタもあるのか。勉強になるなぁ(w
0010デフォルトの名無しさんNGNG
プログラムにも女にも興味がある厨房ですが
なんと昨日パチンコで8万円勝ってしまいました
VS.NETとソープランドどっちがお勧めでしょうか?
0011デフォルトの名無しさんNGNG
>>10
取りあえず銭湯行ってから散髪屋。最後にユニクロと靴のヒラキ。
0012デフォルトの名無しさんNGNG
>>10
借金を返済しろ
0013デフォルトの名無しさんNGNG
VSだな
0014デフォルトの名無しさんNGNG
>>10
SOAP/WSDL/UDDIランド
0015デフォルトの名無しさんNGNG
以下のスレへ移動してください
内容が重複しています
http://pc2.2ch.net/test/read.cgi/tech/1047322829/
0016デフォルトの名無しさんNGNG
>>15
2点
0017デフォルトの名無しさんNGNG
>>15
ウォウォッ?
0018デフォルトの名無しさんNGNG
くだすれを糞スレと一緒にすんなボケ!>>4-17
あげ
0019デフォルトの名無しさんNGNG
>>1-18 見たけど、一緒じゃねーか。
0020デフォルトの名無しさんNGNG
Excel.Application xlsObj = new Excel.Application();
で生成したexcelオブジェクトを、そのままResponseに出力して
クライアントのIEブラウザで読む方法ありませんか。
いったんxls.SaveAsしてResponse.WriteFileしてからファイルを消せばできるんですが、
ファイルの同期とかの問題もあるのでそのまま出力したい。
0021デフォルトの名無しさんNGNG
>>20
こっちにいけ
C♯相談室 Part9
http://pc2.2ch.net/test/read.cgi/tech/1039646808/l50
002220NGNG
>>21
そっちにいきますよ。
0023デフォルトの名無しさんNGNG

  ∧_∧
 ( ´∀`)< ぬるぽ
0024デフォルトの名無しさんNGNG
    ∧ ∧       | |  | |
    (,,゚Д゚)       .| |  | |
    /==づつ======| |  | |=
  〜( ノ         .| |  | | グチャ
   ζ           | |_..| |§,
          ., ,・�刀慾δ;,,.': ;
        ,: 。'∽(__f_)(__f_) β 。,.・;>>23
0025会社のPCにエロゲーの壁紙NGNG
やめてくれ
0026デフォルトの名無しさんNGNG
AGE
0027デフォルトの名無しさんNGNG
ねえ、Graphics.DrawImageって
「ざけんなごるぁ!」ってくらい低速で正常なの?
32*32のタイルを64枚ほど並べた時点で処理に一秒くらいかかるんだけど・・・

もしかして、unsafeで直にがりがり書き込んだりするのが普通なんですか?
何のためのC#なんだか・・・
0028デフォルトの名無しさんNGNG
>>27
愚痴りに来ただけか。。
0029デフォルトの名無しさんNGNG
>>28
まあ>>27の気持ちは分かるけどね
俺も描画はPInvokeでやることにしてるし。
003027NGNG
もういい!
Direct Drawつかうもん!
0031デフォルトの名無しさんNGNG
今後DirectXになるんだし。
0032デフォルトの名無しさんNGNG
>>27
DirectX9入れればC#から使えるよん
003327NGNG
>>32
やってみました。
パフォーマンスを測定したところ恐ろしい結果が出ました。

32*32のタイルを640*480の大きさのフォームに埋め尽くす作業にかかった時間
GDI+ 3.2秒
Direct Draw 0.003秒

アフォですか?
0034デフォルトの名無しさんNGNG
スピードが必須ならDirectX使え、ってことでいいんじゃない?
0035デフォルトの名無しさんNGNG
>>33
差が出なかったらDirectXの意味無いやん。
0036デフォルトの名無しさんNGNG
>>33
GDI+の方、もちろん裏画面使ったんよね?
0037デフォルトの名無しさんNGNG
>>33
+は遅いので有名です
0038デフォルトの名無しさんNGNG
厨房な質問ですいません。

class の宣言の前にアクセス修飾子が何も付いてない場合って
private でしたっけ。protected でしたっけ。
よろしくお願いします。
0039デフォルトの名無しさんNGNG
>>38
private
004038NGNG
>>39
神!!
本当にありがとうございました!!
0041デフォルトの名無しさんNGNG
>>38
一番外側のクラスの場合は、internal扱い。
インナークラスの場合は、private扱い。
004241NGNG
>>40
おいおい。
「アクセシビリティ レベル」で確認しろよー。

|ほかの型の中の入れ子になっていないトップ レベルの型だけが、
|internal または public のアクセシビリティを持つことができます。
|このような型の既定のアクセシビリティは internal です。

|ほかの型のメンバである入れ子になった型は、次の表に示すように、
|宣言済みアクセシビリティを持つことができます。

|メンバとして属する型 | 既定のメンバ アクセシビリティ | メンバの許可される宣言済みアクセシビリティ|
(略)
|class         | private           | (略)
004338NGNG
>>41
どうもありがとうございました!!
この文はコメントとして保存させていただきました!!
004440=38NGNG
>>42
「アクセシビリティレベル」で検索すれば良かったんですか・・
「C# 修飾子 無い クラス」とかで検索かけたのですが
どうも自分の検索技術が厨房だったようです。申し訳ありませんでした。
004541NGNG
>>43
保存せんでも、ヘルプに載ってる。ちょっとわかりにくいが。
アクセス修飾子の種類と意味を知っていればちょっとした実験プログラムで
動作確認もできるだろー。

ヘルプも嘘まじり、バグまじりだから、動作確認とって整合性
が取れているか確かめる癖を付けた方がいいぞ。

ちなみに41、42の発言は未確認だ。C#使いじゃないので。
004643=40=38NGNG
>>45
アクセス修飾子の使い分けは本当に難しいです。
こんな夜中にもかかわらず
本当に的確なレスを返していただいてありがとうございました!
これからもっと勉強します!
0047デフォルトの名無しさんNGNG
>C#入門
>http://black.sakura.ne.jp/~third/cs.html
リンク切れてる

http://black.sakura.ne.jp/~third/programming/cs/cs.html
と思われ
0048デフォルトの名無しさんNGNG
http://black.sakura.ne.jp/~third/programming/cs/cs2.html
のホワイトスペースの項で基本的に要素のインラインにコードを記述する時
はタブを挿入するとありますが、皆さんもそのように記述されてますか?自
分ならスペース2個入れるのですが。
0049デフォルトの名無しさんNGNG
>>48
タブを入れると開発環境でスペースに展開されるんじゃないかな。
漏れはSDK派なので自作のTabExpanderで展開してるよ。
Linuxのexpandコマンドの代わりだな。

・・・そういえばcygwin入れてたからexpandコマンドあったよ(自爆)
0050デフォルトの名無しさんNGNG
Webアプリケーションで、クライアント二人のオセロみたいなものは作れますか?
0051デフォルトの名無しさんNGNG
>>50
できないことはないが、即時性で問題ありだろう。

0052デフォルトの名無しさんNGNG
今ファイル操作をテストしてるのですが、
StreamWriter で float値をstring型で書き込んだファイルを、
StreamReader で読み込んだstringを、floatに変換したいのですが、
C言語で言う strtod(文字列をdouble型に変換) みたいな事を
C#で出来ないのでしょうか?

また、数値、文字列を含むファイルの読み書きで
もっとイイ方法とかありますでしょうか?
005352NGNG
自己即レスですが解決しますた、スマソ
0054デフォルトの名無しさんNGNG
>>52
解決したんなら解決した方法ぐらい示せよ。
Single.Parseで読み込んだのか?
0055デフォルトの名無しさんNGNG
キャストじゃ無理だっけ?
0056デフォルトの名無しさんNGNG
8ビットづつシフトしながらマッチングして加算しる。
0057デフォルトの名無しさんNGNG
CreateObjectはどうやったらできるの?
005857NGNG
上記質問を補足します。

VisualBasicで参照設定なしで

  Dim enrl as Object
  enrl = CreateObject("CEnroll.CEnroll.1")

のようにするとコントロールを名前で指定して実行時バインディングできますが、

同様なことをC#でやるにはどうしたらいいですか。
0059デフォルトの名無しさんNGNG
実行時に任意の文字列を名前のもつインスタンスを生成する方法はあるのでしょうか?
Javaだと以下のようになると思うのですが、同じことをしたいのです。

「classname という名称のMyClass型オブジェクトのインスタンスを生成する」

Class cls = Class.forName(classname);
obj = (MyClass)cls.newInstance();
0060デフォルトの名無しさんNGNG
>>57
なんで4時間半もあるのに何もしない?自分は一切動かないつもりか?
System.Reflection
0061デフォルトの名無しさんNGNG
てかsealedクラスってなんだよ!
いや意味はわかったけど、Stringクラスsealedだから継承できねぇよ。
文字列操作機能追加したいのに・・・
0062デフォルトの名無しさんNGNG
>>61
文字列は不変なオブジェクトであるという大前提を利用して、
CLRは文字列を特別扱いして効率を上げている。
もしStringを継承できると、この「不変」の大前提が崩れてしまうため、
継承不可にしているらしいよ。

「プログラミングMicrosoft .NET Framework」著:Jeffrey Richter
のP256に書いてある。

>>文字列操作機能追加したいのに・・・

文字列を引数に取るstaticメソッドでいかが?
0063デフォルトの名無しさんNGNG
Javaも一緒<String
006461NGNG
なるほど。要するに中身はまっとうなクラスじゃないってことね。
ま、自分の場合、数100KB以上の文字列、というかテキストバッファに
対して検索とかかましたいんだけど。
やっぱchar配列の参照を独自のテキストバッファ検索クラスの
コンストラクタに渡すような形にするかな。
それが一番速そうだし。
0065デフォルトの名無しさんNGNG
>>64
IndexOfメソッドじゃあかんの?
006664NGNG
>>65
検索だけならそれでもいいんだけどねぇ。
内容を変更するときが遅そう。
不変型だから新しくStringインスタンスを生成するとか書いてあるし。
StringBuilderにはIndexOfがないし。
結局、自分が望む物は自作でしか得られない気がしてます。
0067デフォルトの名無しさんNGNG
>>66
似非クラスなら、インスタンス生成も速いんでないの?
継承不可の縛りかけるくらいだから、パフォーマンスあがってないと意味ないし。
一回やってみればいいじゃん。
006866NGNG
うぃ。とりあえずはStringとStringBuilderをうまく使い分けていこうかと。
今までMFCで作ってきたプログラムを移植してるんだけど
テキストバッファ操作関連の処理が極端に遅くならないようなら
OKってことでやってみます。
0069デフォルトの名無しさんNGNG
よくゲームとかで フォームの右上のXボタンを押すと
「終了しますか?はい/いいえ」とか出て、「いいえ」にすると
フォームが閉じなかったりしますが、閉じなくするのは
どうしたらイイんでしょう。
0070デフォルトの名無しさんNGNG
>>69
Form.Closingイベント参照。
それっぽいイベントを片っ端から見ていくくらいのことはしたまへ。
0071デフォルトの名無しさんNGNG
>>70
ありがとうざいます!
片っ端から診るとき、関係ありそうなモノは解説まで詳しく読むように気をつけます。
0072デフォルトの名無しさんNGNG
>>59
「アセンブリ」をキーワードにして検索してみなされ。
0073デフォルトの名無しさんNGNG
Javaには知的エージェントや知能プログラミングに関連する書籍があり、
AIへの応用が出来そうだという感触を持っていますが、C#はどうなのでしょう?
0074デフォルトの名無しさんNGNG
>>73
AIへの応用って。。。
技術的な層が違うからJavaをAIに応用っていうことからなんかおかしい。

JavaもC#も同じパラダイムの言語なので、AIのアルゴリズムを書くための言語としては大差ない。
0075デフォルトの名無しさんNGNG
>>74
Javaによる知的エージェント入門
http://www.amazon.co.jp/exec/obidos/ASIN/4797318147/
Javaによる知能プログラミング入門
http://www.amazon.co.jp/exec/obidos/ASIN/4339023876/

JavaのAI関連での書籍はこんな感じです。
0076デフォルトの名無しさんNGNG
>>75
あなたは、他の書き込みを読み込まずに記述するタイプの人口無能でつか?
0077デフォルトの名無しさんNGNG
デリゲートなんだけど・・・
型宣言と実装定義(?)の名前の付け方にいつも迷います。

[型宣言]
delegate void MyDelegate(void);

[実装定義]
void MyCallback(void)
{
// うんたらかんたら
}

うーん・・・
007859NGNG
>>72
ヒントありがとうございます。

インスタンスの名前で区別するのではなく、それらをHashtablで
管理するクラスを作ることで、目的は果せるような気がしてきました。

しかし、インスタンスに名前をつける方法も理解するよう努めます。
0079デフォルトの名無しさんNGNG
>>78
>>60は?
0080デフォルトの名無しさんNGNG
文字を含んだ画像から文字の部分だけを取り出して、string型で保存するにはどうしたらいいですか?
0081デフォルトの名無しさんNGNG
ネタにしても酷過ぎる
0082デフォルトの名無しさんNGNG
>>80
ここで売ってるSDKを買って、組み込め。それしかない。
http://ai2you.com/ocr/sdk/sdk2.asp
0083デフォルトの名無しさんNGNG
>>80
2階微分してエッジ抽出したのち文字パターンと照合
0084デフォルトの名無しさんNGNG
>>80
はい、どうぞ
ttp://ulsyor1.cs.shinshu-u.ac.jp/study.html
0085デフォルトの名無しさんNGNG
ボタンとかキー操作によってテキストの表示内容が
頻繁に変更されるようなウィンドウって
MFCだとOnPaint()に直接描画処理を書かず
入力があったときは仮想ウィンドウのDCに書いて
OnPaint()では仮想ウィンドウから実際のウィンドウへ
単純にコピーするだけっていう手法と取るじゃないですか。
C#の場合は仮想ウィンドウとかどうやって作るんですか?
というかもっと別のやり方がある?
0086デフォルトの名無しさんNGNG
>>85
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
  Image image = new Bitmap(100, 100);

  Graphics g = Graphics.FromImage(image);
  g.DrawString("text", this.Font, Brushes.Black, 0, 0);
  g.Dispose();

  e.Graphics.DrawImage(image, 0, 0, image.Width, image.Height);
}

こんな感じかな?
もっといい方法あるかは知らない…
0087デフォルトの名無しさんNGNG
>>73
C#がJava以上に学術研究で認知されればいいけど・・・・
0088デフォルトの名無しさんNGNG
メンバ変数を50くらいに増やしたら
突然、インテリセンスが利かなくなったんだけど
つらいなぁ。入力中もキーワードが青じゃなくなってるし...。

0089デフォルトの名無しさんNGNG
>>88
そのクラスはコンパイル通るかい?
0090デフォルトの名無しさんNGNG
>>88
それうちの環境で良くある
VSを起動し直せばいい
009185NGNG
>>86
おお、サンクス!
Bitmap側じゃなくGraphics側にメソッドがあったのか。
ControlクラスにCreateGraphics()ってのあって
これ使えばOnPaint()以外でも描けるみたい。
こっちも試してみます。

>>88
そもそもメンバ変数50個はクラスの設計的に問題ありかも。
ちなみに自分もそこまで増やしたこと無いけど
インテリきかなくなるときちょくちょくあります。
迷わず再起動。
0092デフォルトの名無しさんNGNG
>>88
俺も、もっともメンバ変数の数とは無関係のような気がしないでも無い。

>>91
フォームクラスじゃ100は当たり前じゃないか?
0093デフォルトの名無しさんNGNG
KeyDown で Enter キーの場合、次のコントロールへ移動するように
したいのですが、次のコントロールへの移動は ctl.Focus() でできますが、
その時に Beep 音がなってしまいます。

これを消す方法がみつかりません。御存知の方、教えてください。

009485NGNG
>>92
自分はわりとまめにクラスにまとめちゃうのでそこまではいかないかな。
intやstringみたいなプリミティブな型のメンバ変数が50もあったら
自分の頭じゃ管理しきれなくて、もうだめぽです。
・・・ってOOPスレ逝ってきます。
0095デフォルトの名無しさんNGNG
TextBox クラスのインスタンスに RichTextBox クラスの Redo メソッドを実装するには
どのようにコーディングすれば良いのでしょうか。

System.Windows.Forms.TextBox TB = new System.Windows.Forms.TextBox();
System.Windows.Forms.RichTextBox RTB = new System.Windows.Forms.RichTextBox();

private void MIRedo_Click(object sender, System.EventArgs e)
{
  if(TB.CanRedo == true)
  {
    TB.Redo();
  }
}

TextBox クラスには Redo メソッドや CanRedo プロパティが無いためにコンパイルが通りません。
TextBoxBase クラスにはこれらのメンバがありませんでした。 RichTextBox クラス固有のもののようです。
よろしくお願いします。
0096デフォルトの名無しさんNGNG
>>95
TextBoxはUndoしかないよ。
実装するんなら、自前でやるしかないと思う。
009796NGNG
ん?レス書いて思ったけど、
読み返してみたら意味がよくわからん。

>>TextBox クラスのインスタンスに RichTextBox クラスの Redo メソッドを実装するには
RichTextBox使えばいんじゃない?
009895 ◆QcH5H4PYz. NGNG
>>96-97
VC#を買ったのですが個人的に使い辛く、独自のエディタを作ろうと思いました。
参考書にワープロソフトはプログラミングに適さないと書いてあったので
RTF をサポートしてある RichTextBox よりも TextBox の方が良いと判断し、質問させていただきました。

やはり自前で作るしかないですか……海外にサンプルが無いか調べてみます。
どうも有り難うございました。
0099デフォルトの名無しさんNGNG
>>98
チョト大きいけど、SharpDevelopっていう
オープンソースなC#開発環境がある

それが参考になっていいかも…?
0100デフォルトの名無しさんNGNG
>>95
そもそも、いままでどんなエディタ使ってきたの?
0101デフォルトの名無しさんNGNG
本当にしょぼい質問ですが・・・
インデックスカラーの画像ファイルをGraphics.FromImageで
Graphicsオブジェクトに代入することはできないのですか?
0102デフォルトの名無しさんNGNG
string url ="test";
string sR = "^t([^t]+)t$";
Regex r = new Regex(sR,RegexOptions.Compiled);
Match mat = r.Match(url);
MessageBox.Show(mat.Result("$0"));
esと表示されると思ったのですが、
testと表示されます。
何がいけないのでしょうか?
0103102NGNG
$0 -> $1
でOKでした。
前方参照構成体が全体にもある罠でした。
0104デフォルトの名無しさんNGNG
http://www2.leverage.jp/start/
0105デフォルトの名無しさんNGNG
>>98
RichTextBox自体はワープロ風アプリ専用というわけでもないよ。
0106デフォルトの名無しさんNGNG
C#からOCXって使えますか
0107デフォルトの名無しさんNGNG
>>106
使える。
VS.NETなら、ツールボックスで右クリックして「ツールボックスのカスタマイズ」
0108デフォルトの名無しさんNGNG
間違えてくだすれC#part1のほうに投稿してしまいました
改めて質問させてください

richTextBox1.LoadFile(openFileDialog1.FileName);
としてみたのですが
>'System.ArgumentException' のハンドルされていない例外が system.windows.forms.dll で発生しました。
>追加情報 : ファイル形式が無効です。
とエラーがでてテキストファイルが読み込めません
リッチテキストファイルは読み込めます

どうすればrichTextBoxでテキストファイルを読み込めますか?
0109デフォルトの名無しさんNGNG
>>108
// Load the contents of the file into the RichTextBox.
richTextBox1.LoadFile(openFile1.FileName, RichTextBoxStreamType.PlainText);

ヘルプに載ってる。
これでどうでしょか
0110デフォルトの名無しさんNGNG
>>109
うまくいきました

ヘルプを見落とすなんてお恥ずかしい限りです
ありがとうございました
0111デフォルトの名無しさんNGNG
GraphicsにROP演算が見あたらないのですが・・・
ウィンドウに描画済みのテキストに対して
矩形で反転描画かましたいのですが、やり方がわかりません・・・
0112デフォルトの名無しさんNGNG
>>111
ControlPaintクラスのDrawReversibleFrameメソッドあたりとか。
あるいはAPIのSetROP2あたりで。
0113デフォルトの名無しさんNGNG
C#でIBM MQSeriesって使えますか
.NetVisualC++じゃないと無理?
0114113NGNG
MessageQueueというクラスもあるけど、
あれはMSMQでしか使えないのかな?さっぱりわからん
まわりもわからない人ばかり
0115デフォルトの名無しさんNGNG
>>112
そんなクラスがあったのか・・・いろいろおもろいメンバ発見。
こちらの使用用途としてはFillReverseRectangle()となりそうです。
ありがとうございました。
0116山崎渉NGNG
(^^)
0117デフォルトの名無しさんNGNG
昨日、C#買ったんですけど、ポスター貼らないとダメですか?
0118デフォルトの名無しさんNGNG
つまんね。
0119山崎渉NGNG
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
0120デフォルトの名無しさんNGNG
VBからC#に移行したのですが
ファイルリストボックスとかイメージボックスがないんですが・・・
あと、死滅するってどういうこと?
せっかく買ってきたのに・・・・
0121デフォルトの名無しさんNGNG
>>120
>>せっかく買ってきたのに・・・・
あのスレは気にすること無いと思う。

>>ファイルリストボックスとかイメージボックス
VB知らないんで調べてみたが、それ系はないみたい。
ms-help://MS.VSCC/MS.MSDNVS.1041/vbcon/html/vxconChangesToFileListBoxControlInVisualBasicNET.htm
どうしても欲しければ、自作するかコンポーネント探すか。
0122120NGNG
>>121
励まし&わざわざ調べて頂いてありがとうございます
いろんな要素が混ざってるのがC#だと思うのでこれでやってみようと思います

とりあえず、勉強がてらVBで作っていた画像ビューアーをC#用で作ってみようと思い
フォルダを指定しないとだめなのでファイルリストボックスがいるんですが
変わりにFolderNameEditorなるものがあるようなのでこれ使ってみます(さっぱり意味わからんけど)

0123デフォルトの名無しさんNGNG
>>122
一応参考サイト
http://ukamen.hp.infoseek.co.jp/Programming1/index.htm
http://ukamen.hp.infoseek.co.jp/Programming1/DirPicker/index.htm
http://ukamen.hp.infoseek.co.jp/Programming1/DirListBox/index.htm
0124120NGNG
>>123
ここわかりやすいですね!
お気に入りにいれちゃいました!情報thx!
0125120NGNG
C#なかなかいいっすねー
こんな機能があったらなあって思っていたのが追加されてたりして
開発環境がかなり便利になってる。
C#かっくいい!!
0126デフォルトの名無しさんNGNG
カラアゲ
0127デフォルトの名無しさんNGNG
>>125
>こんな機能があったらなあって思っていたのが
例えばどんな機能?
0128デフォルトの名無しさんNGNG
以前、MSのC#のコーディングルール(命名規則)のページを見た記憶があって、
今探しているのですが、なかなか見つかりません。
ご存知の方いますか?
0129デフォルトの名無しさんNGNG
>>128
これ?
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconnamingguidelines.asp
ms-help://MS.VSCC/MS.MSDNVS.1041/cpgenref/html/cpconnamingguidelines.htm
0130デフォルトの名無しさんNGNG
>>129
それです。
どもサンキューです。
0131120NGNG
>>127
ソースをマウスホイールでスクロールできるようになった
フォームリサイズできないように設定できるようになった
ヘルプが見易い(プロパティ一覧など)
}付けると自動で整列してくれる
関数が使いやすい
オブジェクト指向かっくいい
0132デフォルトの名無しさんNGNG
>>131
それほとんどIDEの話じゃないか。
C#の追加された機能を答えないと。
>C#なかなかいいっすねー
>こんな機能があったらなあって思っていたのが追加されてたりして
0133デフォルトの名無しさんNGNG
プロパティとインデクサが俺は好き。
0134デフォルトの名無しさんNGNG
#当の本人ではないが。
>>132
>開発環境がかなり便利になってる。
と書いてあるじゃん。
ま、C#そのものと切り分けられていないが、旧VB使いの場合、
開発環境と言語を切り離せないからそういう思考なんでしょ。
0135デフォルトの名無しさんNGNG
> ソースをマウスホイールでスクロールできるようになった
IntelliPointくらい入れろって……
OS標準にすべき機能をわざと別にして付加価値付けてるだけなんだから
0136デフォルトの名無しさんNGNG
>>134
>>開発環境がかなり便利になってる。
>と書いてあるじゃん。
分かってるって。

「開発環境がかなり便利になってる」⇒「C#なかなかいいっすねー」
なのか?だったら「COBOLなかなかいいっすねー」とか「C++なかなかいいっすねー」
ってのも成り立つぞ。
0137デフォルトの名無しさんNGNG
>>136

134
>旧VB使いの場合、
>開発環境と言語を切り離せないからそういう思考なんでしょ。

ってな話の上では、

136
>だったら「COBOLなかなかいいっすねー」とか「C++なかなかいいっすねー」
>ってのも成り立つぞ。

そういうことでしょう。
「C#なかなかいいっすねー」は要は「VC#なかなかいいっすねー」の意味で
言っているだろうって話。(VS.NET上でC#かもしれんが、この場合でも同じこと)

漏れはテキストエディタ+コンパイラでやっている身だが、
120の視野にはこういう方法でもC#で開発できるっていうのは含まれてないと思う。
よって、開発環境もその上で使用する言語もいっしょくたと。


0138デフォルトの名無しさんNGNG
>>137
なるほど。「得意な言語はJavaとVC++です」みたいなもんか。
ちゃんと「VC#いいっすねー」って言ってくれないと分からんよ。
ちなみに漏れもテキストエディタ+コンパイラ+automake,autoconf
VC#使うとWindowsOnlyになってしまうしな。

それはともかく、C#はプロパティとデリゲートがなかなかいいっすねー。
でも.NETはSystemWindows.Formsのクラス設計に時々凹みません?
0139デフォルトの名無しさんNGNG
当方VC#.stdなんだが
dllって作れるの?

やり方載ってるサイト紹介してください
0140デフォルトの名無しさんNGNG
>>139
以前C#関係のスレでハッケソしたのをコピペ

> ■ Visual C#.NET Standard で DLLをビルドする方法。
>
> (1)普通にプロジェクトを作る
> (2)プロジェクトを保存したフォルダの「プロジェクト名.csproj」をテキストエディタで開く
> (3)Settings要素の OutputType属性を "Library"に書き換える
>
> これでビルドするときに Main()がなくても怒られない。
0141デフォルトの名無しさんNGNG
>>140
アリガ�d
0142デフォルトの名無しさんNGNG
COMというのをツールボックスのカスタマイズで追加することができたんですが、
これをフォームに追加しようとすると、
「入力文字の形式が正しくありません」のエラーがでて貼り付けできません。
もの自体の中身はさっぱりわからないのですが、
これは提供元に作り直してもらうしかないのでしょうか?
0143デフォルトの名無しさんNGNG
>>COMというのを
それはCOMと言わない。それをCOMだと誰に習ったんだ?
0144デフォルトの名無しさんNGNG
DataGrid上で文字列データを入力するとき、テンキーの+-キーを押すと
フォーカスがセルから外れてしまいます。
普通に"1+1"というような文字列をセルに入力したいので、
フォーカスは変わらないで欲しいのですが…。
ちなみにフルキー側の+-キーだと大丈夫です。
0145(´・ω・`)NGNG
HTMLの構文強調の出来るエディタを制作しようと次のようなコードを書きました。
しかし、テキストの選択と色の変更の処理に激しく時間を取られる上に
表示がテキストの選択を繰り返して見栄えが悪すぎます。
問題箇所の高速化もしくは選択表示の回避方法はありますか?

public static void ChangeTextColor(RichTextBox argText) {
Regex r = new Regex(@"<[^<>]+>", RegexOptions.IgnoreCase | RegexOptions.Compiled);
String text = argText.Text;
for (Match m = r.Match(text); m.Success; m = m.NextMatch()){
argText.Select(m.Index, m.Length);
argText.SelectionColor = System.Drawing.Color.Blue;
}
}
0146デフォルトの名無しさんNGNG
ヒント4行目
0147デフォルトの名無しさんNGNG
>>145
選択非表示は、MFCの場合はHideSelectionという関数があったんだが。。
もしするなら、直接RTFで書いた方が速い気がする。
RTFフォーマットのことは知らないが…

そのコードだとどうやっても早くならないと思う。
自分も同じ事をやろうとしたけど、結局自作した。(;´д⊂
0148(´・ω・`)NGNG
>>146
推測なんですけどプロパティへのアクセスは遅いから、Stringに深くコピーしろってコトかな?

>>147
C#のHideSelectionはプロパティ、しかもコントロールがフォーカスを失ったときに
強調表示をそのままにしておくもの…ということでダメっぽいです。。
選択→色変更の繰り返しからRFTフォーマットのデータ作成→描画の検討をしてみます。

二人とも、随分参考になりました。ありがと。
0149デフォルトの名無しさんNGNG
俗に言う、コンポの拡張限界ってやつですな。
0150デフォルトの名無しさんNGNG
自アプリケーション以外の実行ファイルや
フォルダなどのアイコンを取得するには
どうすればいいですか?
0151150NGNG
OpenFileDialogでファイルのパスを取得するところまではできました。
そのあとどうすればいいかが分かりません。誰か助けてください
0152デフォルトの名無しさんNGNG
>>150
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=36&fi=no
0153150NGNG
>>152
ありがとうございます。今から解析します(;^-^)
それにしてもここでコードを提供してる人はすごいですね…
0154デフォルトの名無しさんNGNG
HttpContext.itemsに引き継ぎたいデータの参照を格納して、
Server.Transferで遷移してデータの引継ぎを行ってるんですが
今の画面と同じ画面に遷移すると、消えてnullになってしまいます。回避できませんか?
ViewStateが影響してるような気もしますが。。。
0155150NGNG
>>152
ありがとうございます
0156デフォルトの名無しさんNGNG
DataSetをForm1に貼り付けてDataGridで編集しております。
Form1.dataSet1に新しいテーブルを追加して、それをForm2.dataGird1で編集しようと
考えたのですが、IDE上ではForm2からForm1.dataSet1を参照できないようです。
(パブリックにしてもダメでした)
Form2.dataGird1.DataSet = Form1.dataSet1;とかコーディングすれば
いいのでしょうけれど、IDE上でうまくやる方法というか、
本来ならどうやるのがスマートなんでしょうか?
0157156NGNG
プロジェクトに「新しい項目の追加」でデータセットを追加してみました。
elementsというのをdataSetにドラッグ&ドロップしてみると、
テーブルのリレーションが作れるんですね。
最初からこれを使えばよかった…。

しかしここで作られたデータセットは単なるスキーマでしかないようなので
どこかでインスタンス化しないといけないのかな。
Form1とForm2から参照したいから、グローバルのどこかにおかないといけないけど、
そうするとたぶんコレクションエディタが使えないんですよね…。
どうやったらForm1.dataGrid.dataSource = new Dataset1;を
IDEに自動出力させて、コレクションエディタと連携できるようになるのでしょうか?
0158デフォルトの名無しさんNGNG
初心者的な質問で申し訳ありませんが。
データベースにPostgreSQLを使用してOleDb接続でアクセスすることは可能なので
しょうか?
C#でのPostgreSQLへの接続方法を探してみましたが、見つかりませんでした。
データベースは既にできております。
宜しくお願い致します。

OS Windows2000
システムpostgres7.3
ホストbsd
テーブル名 f10
0159デフォルトの名無しさんNGNG
ファイラーを作ってみようかと思ってます。

コンボボックスにpathを入力してリストビューにファイル一覧をだしたいのですが
pathを入力しリターンを押してもイベントを起こすことができなくて困っています。

comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)を使って
コンボボックスのリスト内に登録してあるpathをクリックする場合は正常動作しました。

pathを入力してリターンキーでイベントを起こすにはどのようにすれば良いでしょうか。
0160デフォルトの名無しさんNGNG
KeyDownイベントでできるでしょ。

private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
 if ( e.KeyCode == Keys.Enter )
 {
  処理
 }
}
0161デフォルトの名無しさんNGNG
早速やってみます。ありがとうございました。
0162デフォルトの名無しさんNGNG
25歳。
去年まで金無し君だったけど、オンラインカジノとパチンコで
二年で350万貯めた。一度やってみなよ。
初回のみだけど、1ドル以上のチップを買えば30ドル(4000円くらい)貰える。
もらうだけもらってプレイせずに換金することもできるし、ルーレットで赤か黒に
思い切って賭けてしまえば50パーセントで二倍になる。
金なきゃオフラインでゲームすればいいだけ。暇つぶしになる。
ビデオポーカーとかスロとか色々あるのでマジでお勧め。
http://www.imperialcasino.com/~1kl5/japanese/
0163デフォルトの名無しさんNGNG
できませんでした、とほほ。こんな風にやってみたです。
private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
textBox1.Text = comboBox1.SelectedItem.ToString();
}
private void comboBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if ( e.KeyCode == Keys.Enter ) {
textBox1.Text = "enter";
} else {
textBox1.Text = "etc";
}
}

結果はかわらず、マウスでコンボボックスのリストから選択するとokで
コンボボックスに文字列を入力してリターン(エンター)ではtextBoxの内容は変わりません。
comboBox1_KeyDown を Form1 や textBox1 で試してみましたが同じでした。
0164デフォルトの名無しさんNGNG
>>163
試してみましたができましたよ。
0165デフォルトの名無しさんNGNG
Visual C#の質問なんですが、Standardエディションでも商用配布可能なんでしょうか?
確か昔は「アカデミックでは商用配布不可」という制限があったような気がするんですが、最近の事情がわからんです。
C# Standartdエディションのパッケージ裏面を見ると「商用アプリの開発にはVisual Studio プロ以上を推奨」
みたいな事が書いてあったんですけど…
0166デフォルトの名無しさんNGNG
>>163さん
あわわ、なぜか出来ません ; ;
私だけ見たいですね。。。

ソースを削除していなければ頂けないでしょうか。
照らし合わせて原因を探したいです。
0167デフォルトの名無しさんNGNG
>>165
Standardとアカデミックは別もんだからね。
0168デフォルトの名無しさんNGNG
>167
んでは、今でも”アカデミックでなければ”商用配布可能、という事ですか?
0169デフォルトの名無しさんNGNG
>>166
164ではないが、サンプル

using System;
using System.Windows.Forms;
using System.Drawing;

class Form1 : Form
{
    static void Main()
    {
        Application.Run(new Form1());
    }
    
    public Form1()
    {
        ComboBox cb = new ComboBox();
        cb.KeyDown += new KeyEventHandler(ComboBox_KeyDown);
        cb.Location = new Point(0, 0);
        cb.Width = 250;
        Controls.Add(cb);
    }
0170デフォルトの名無しさんNGNG

    
    private void ComboBox_KeyDown(object sender, KeyEventArgs e)
    {
        ComboBox cb = (ComboBox)sender;
        
        if (e.KeyCode == Keys.Enter)
        {
            MessageBox.Show(cb.Text);
        }
    }
}
0171デフォルトの名無しさんNGNG
>>166
comboBox1.KeyDown += new KeyEventHandler(comboBox1_KeyDown);
って記述はしているのかな?
していない気がするんだけどな。
僕は164じゃないけど。
イベントハンドラに登録しないとそのイベントは実行されないよ。
0172デフォルトの名無しさんNGNG
わぁできました〜。ありがとうございますっ。
cb.KeyDown += new KeyEventHandler(ComboBox_KeyDown);
これを書いてなかったので無反応だったです。

いままではデザイン上のコントロールをダブルクリックして
自動でコードに追加される物しか使っていなかったので気がつきませんでした。

教えてくださった方々に感謝です。
0173デフォルトの名無しさんNGNG
>>172
それも手書き?
プロパティのところの雷マーク押して
KeyDownイベントのところをダブルクリックすると
>>163 のうち、書くのはif文だけで済む。
知ってたらスマソ
0174デフォルトの名無しさんNGNG
>>173さん
ぶっ。手書きでした。。
いやーっVisualStudioも言語も初めてなものでっははは。・・・ぐす。
雷やってみした。便利ですね〜。便利すぎて覚えるの大変です〜。
コンボボックスの件も無事解決したのでいまはリストビューにどうやったら高速に
ファイル一覧を表示させることができるか調べてます。
8000ファイルくらいあるディレクトリをリストビューに入れるのに
ファイラーによって1分くらい掛かったり、2秒で開けたりしますね。
ちょっと面白くなってきました^^
0175デフォルトの名無しさんNGNG
protected void FileDel()
{
    FileInfo fi=new FileInfo(c:\\test.jpg")
    Debug.Writeline(fi.Attributes); //Archiveになってます
    fi.Delete();
}
てな感じでファイル削除したのですが、
他のプロセスでアクセスできませんとでます。
FileStreamとか使ってるわけでもないし
ファイル一覧をListBoxに表示して、その画像を
見ながらDELキーで削除したいんですが。
どうすればいいでしょうか?

0176デフォルトの名無しさんNGNG
×てな感じでファイル削除したのですが、
○てな感じでファイル削除したいのですが、

削除の仕方がわかりません
0177デフォルトの名無しさんNGNG
>>175
勝手な予想だけど、ピクチャーボックス使用しているとして、
pictureBox.Image = new Bitmap("c:\test.jpg");
とかしていると、Imageのハンドルが開いたままだから削除できない。

0178デフォルトの名無しさんNGNG
>>177
そうです、ピクチャーボックスを使用していて
画像みながら削除したいのです。

>Imageのハンドルが開いたままだから削除できない。

ハンドルを閉じる方法ってあるのでしょうか?
もしくはソフト終了後でないと削除できないのでしょうか?
0179デフォルトの名無しさんNGNG
>>178
Image image = new Bitmap("c:\test.jpg");
Image clone = (Image)image.Clone();
image.Dispose();

pictureBox.Image = clone;

で平気と思う。
0180デフォルトの名無しさんNGNG
protected void PicView()
{
Image image = new Bitmap(fileListBox.SelectedItem.ToString());
Image clone = (Image)image.Clone();
image.Dispose();
pictureBox1.Image=clone;
this.SetClientSizeCore(this.pictureBox1.Width, this.pictureBox1.Height);
}

protected void DelFile()
{
FileInfo fi=new FileInfo(fileListBox.SelectedItem.ToString());
fileListBox.Items.RemoveAt(fileListBox.SelectedIndex);
pictureBox1.Image.Dispose();
fi.Delete();
}

Image image = new Bitmap("c:\test.jpg");
Image clone = (Image)image.Clone();
image.Dispose();

pictureBox.Image = clone;
これだけだとだめでDelFile()メソッドでpictureBox1.Image.Dispose();もやってやっと削除できました。
しかし、一番先頭のファイルを削除する場合やはり「他のプロセスで使用中」とでます。

すんなり行かないものっすねー。VBだと簡単だったのに
0181デフォルトの名無しさんNGNG
>>180
ゴメンImage.Cloneじゃ駄目みたいね

Image image = new Bitmap("C:\test.jpg");
Image clone = new Bitmap(image, new Size(100, 100));
image.Dispose();

こうして作成し直すと大丈夫。
0182デフォルトの名無しさんNGNG
WebRequestで質問です。
ヘッダを上手く設定出来ませぬ

System.Net.WebRequest Req = System.Net.WebRequest.Create(URL);
Req.Headers.Set("UserAgent","testes");

↑じゃダメなのでしょうか
0183デフォルトの名無しさんNGNG
>>182
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(URL);
req.UserAgent = "aaa";
0184182NGNG
>>183
上手く逝けました
ありがとうございました。
0185デフォルトの名無しさんNGNG
>>181
それでもだめでした・・・
一回だけ表示したものなら削除できるのですが
何度か表示した画像を削除するとプロセス使用中になります
ん〜むずかしー
もうちょっと調べて見ます
いろいろありがとうございました
0186デフォルトの名無しさんNGNG
>>185
public Bitmap(Stream);
でいけるだろ。Streamは使い終わったら閉じろよ。
0187デフォルトの名無しさんNGNG
くだらないC#のスレッドってここですか?
0188デフォルトの名無しさんNGNG
いえいえ消化不良でくだしてしまったC#のスッドレでございます
0189デフォルトの名無しさんNGNG
どんなに礼儀正しいC#プログラミングに関する質問でもくだらないレスしかしてはいけないスレッド
0190デフォルトの名無しさんNGNG
数値123456789を文字列123,456,789としたいのですが
ToStoringで"###,###,##"とやると数値0のとき表示されなかったり
"n"とすると123,456,789.00と小数点が付いたりしてしまいます。
"c"にすると\123,456,789に・・・。

ToStoring("?")には何を入れればよいのでしょうか
0191デフォルトの名無しさんNGNG
>190
###,###,#0
は?
0192デフォルトの名無しさんNGNG
>>191
できました。

でも"###,"を桁数分かいておかないと 123123,123,123 みたく
途中から","が付かなくなってしまいますね。

ちょっとスッキリしないですが仕方ないのかな。

ありがとうございました。
0193デフォルトの名無しさんNGNG
スッキリしたいなら自分で変換させればいいと思うよ
0194デフォルトの名無しさんNGNG
ToString("N0")
ならスッキリ
0195デフォルトの名無しさんNGNG
>>194
これはいいですね〜最高です^^
0196デフォルトの名無しさんNGNG
DataGrid+DataSetを使ったスタンドアロンアプリ(非DB接続)を作っていますが、
DBに対する基礎知識が無くてうまく作れません。
テーブルが1つだけのときはなんとかうまくいくのですが
テーブルが複数になるとさっぱりわかりません。
リレーションを繋いだときとか、DataGridが期待通りの動きをしてくれなくて…。
なんかツリービューみたいなのが出るし。
いいサンプルとか、解説してあるサイト、書籍などがありましたら教えてください。
0197デフォルトの名無しさんNGNG
本に書かれているのを参考にしているのですが、どうもうまくいかないので質問させてください。

絵を.resourcesファイルから読み込みたいのですが、
private void Form1_Load(object sender, System.EventArgs e)
{
ResourceManager rm = new ResourceManager("test",Assembly.GetExecutingAssembly());
Bitmap b = (Bitmap)rm.GetObject("testbitmap");
this.pictureBox1.Image = (Image)b;
}
のようにすると「指定されたカルチャ(またはニュートラルカルチャ)に必要なリソースがアセンブリに
見つかりません」とか言われて読み込めません。
コマンドラインで/res:を使ってやるときちんと絵が表示されることは確認できました。
test.resourcesはForm1.csと同じところに置いてあります。
ビルドアクションも「埋め込まれたリソース」になっているのに・・・
何がおかしいのでしょうか?
0198デフォルトの名無しさんNGNG
>197
試してみたけど、よくわからん。
System.Resources.MissingManifestResourceException発生時のダイアログに
locationInfo: <null>
とあるのがポイントっぽいが…

とりあえず、public ResourceManager(Type);を試してみてはいかがかと。
0199デフォルトの名無しさんNGNG
C#でoo4oでOracleに繋ごうと思ったのですが、
C#自体さっぱりわからないのでまったく進みませんでした。
検索しても、どうもC#関連のサイトが少ないみたいで
探せませんでした。
VC6とVB6ならわかるので
C#での接続方法だけでもわかれば
そこからなんとなくいけるかもしれないと思っています。
C#でのoo4oを用いたOracleへの接続方法解説している
サイトとかあったら教えてもらえないでしょうか?
勘でC#いじくりたおしたのですがさっぱりわかりませんでした。
よろしくお願いします。
0200デフォルトの名無しさんNGNG
>>199
C#の文法を知りたいのか、
ライブラリ関係を知りたいのか、
ソースが欲しいのか。
0201199NGNG
>200
説明不足すみません。
文法はそのうちわかると思いますので結構です。
必要なライブラリ関係の簡単な解説、
またそれを使っているコードなどがあればベストと思っています。
0202デフォルトの名無しさん NGNG
タブブラウザを作っています。
タブの追加や削除を頻繁に繰り返すと閉じるボタンを押しても何も反応しなくなります。
その際、閉じるボタン以外は問題なく動作するのですが
閉じるボタンが利かなくなるタイミングが決まってなく例外も返しません。
対処方法をご存知の方がいましたらよろしくお願いします。

private void menuItem55_Click(object sender, System.EventArgs e) // タブを閉じる
{
      int i = tabControl1.SelectedIndex;

      // public System.Collections.ArrayList tabPageList = new System.Collections.ArrayList();
      tabPageList.RemoveAt(i);

      tabControl1.TabPages.RemoveAt(i);
}

このページを見てタブページを削除する前にタブページのフォーカスを移動させてみましたが効果がありませんでした。
http://www.users.gr.jp/ml/archive/cs/1543.asp
0203デフォルトの名無しさんNGNG
>>202
http://pc2.2ch.net/test/read.cgi/tech/1039646808/439-444
0204デフォルトの名無しさんNGNG
>>202
あ、あくまでも一時的な回避方だから。
.NET Framework 1.1で、直ってるらしいような書き込みは見たけど。
0205デフォルトの名無しさんNGNG
C# で HTML を表示するにはどれを使えばよいのでしょうか。
MSHTML を COM で取り込んで。ってのは分かるんですが、.NET Framwork の部品
として用意されていないのでしょうか。
なんか、ものすごく簡単なことを見落としているようなので。

参考になる URL でもかまいません。
0206デフォルトの名無しさんNGNG
リストビュー内のアイテムインデックス1と2をコードで選択状態にするには
どないすれば良いんだべ?
0207デフォルトの名無しさんNGNG
あげてもた。すみましぇん。
0208デフォルトの名無しさんNGNG
>>206
ListViewItem item1 = listView.Items[1];
ListViewItem item2 = listView.Items[2];

item1.Selected = true;
item2.Selected = true;
0209デフォルトの名無しさんNGNG
ありがとう。やってみま〜す!
0210デフォルトの名無しさんNGNG
これからC#を勉強したいのですが、みなさんはどこで知識をつけたのですか?
今の仕事も辞めるつもりでいます。
1ヶ月でも1年でも確実にマスターしたいのですが、いい方法はありませんか?

ちなみに、他の言語はできません。
C#から勉強しても大丈夫でしょうか。
0211デフォルトの名無しさんNGNG
仕事しながらでも1日1時間あれば1ヶ月でマスターできるよ。
教えてくれる人が身近にいれば。
0212デフォルトの名無しさんNGNG
>>210
見込みあるな。弟子にならないか?
0213デフォルトの名無しさんNGNG
>>211 >>212
レスサンクスです。
ちなみに身近でC#出来る人はいませんw
C#購入したのですが、他の言語も未経験でまったくさっぱりの状態ですw
専門校にでも行こうかと考えているのですが、C#を教えてくれるところって少ないですね(鬱。神戸なんですが。
JAVAとか、CとかVCはよく見かけますけどね。。。

>>212
弟子にしてください。
(マジレス)
0214デフォルトの名無しさんNGNG
>>213
一応、C#参考サイト
http://www.microsoft.com/japan/msdn/net/books/ProgWinCsharp/intro.asp
http://www.microsoft.com/japan/msdn/net/books/ProgWinCsharp/chapter2.asp
http://www.microsoft.com/japan/msdn/net/books/ProgWinCsharp/chapter15.asp

http://black.sakura.ne.jp/~third/programming/cs/cs.html
http://www.atmarkit.co.jp/fdotnet/csharp_abc/index/index.html
http://www-ise2.ist.osaka-u.ac.jp/~iwanaga/csharp/index.html

自分は趣味でやってる範囲なので、いいアドバイスはできないですが、
せっかく買ったんなら、とりあえず Hello World くらいやってみては?
0215デフォルトの名無しさんNGNG
>>214
本当にどうもです。

今の仕事の都合ですぐには無理なんですが、
7月頃から、学校にいくなり仕事をやめるなり本格的に始動する予定です。

それまでに色々と今調べてる真っ最中です。

サイトの紹介ありがとうございます。
参考にさせてもらいます。

0216199NGNG
えっと、
>199なのですが、
不可能なのしょうか。。
C#のことよくわかってないので。。
可能ならアドバイスいただけないでしょうか。
接続部分だけで結構ですのでよろしくお願いします。。
0217196NGNG
こちらも答えておくんなまし…。

フォームに貼り付けたDataSet1つでアプリのデータを管理するのは
難しいらしいということは解ってきました。

どこかにメインとなるDataSetをDB代わりに置き、
フォームには編集・表示用のDataSetを置いて、
メインのDataSetを編集するというのがよさそうです。

しかし書籍やネットではアダプタを使ってDBを読み書きする方法は書いてあっても、
DataSetだけで完結した(DBに接続しない)方法については書かれてません。

あと別件ですが、DataGridのセルをComboBoxにすることはできないのでしょうか?
チェックボックスはあるようですが…。
たとえば、CDのアルバムのテーブルと、アーティストのテーブルがあって、
CDのアルバムテーブルをDataGridに表示して、アーティスト名をアーティストのテーブルから
ComboBoxで選択したいのです。
やっぱりデータ入力用のフォームを別途作るしかないのでしょうか?
0218212 ◆IApAHNvIKg NGNG
>>213
言っとくけど弟子って住み込みの弟子だよ?
伝統芸能の世界を想像してくれ。
師匠は弟子の最低限の衣食住の面倒は見るけど
給料なんか一銭もないよ。
極端な話、宗教に出家するようなもんだ。
寄付を要求しないのと逃げても追わないとこは違うが。(w

俺は学校出てそのまますぐ就職するような普通のやつには
さんざん期待して何の見返りもなくて失望し続けてきた。
プログラムの才能がないって自覚したんだったら、
嫁でも貸してくれたら帳消しにしてやるのに。

だから仕事辞めてC#に打ち込むって心意気は買った。
でも正直な話、一日中C#漬けヒッキー生活で、C#の達人になっても、
後が続かないと思うけど見通しはあるの?

C#プログラマーの求人は現状ゼロに等しいし、
今後も増えるかどうかは予想も付かない。
やるとすればC#本の執筆くらいかなあ。
でもそんなの出した出版社が赤字になるようなジャンル。
それだったらリアル土方の方がまだ安定してると思う。

本気でC#で仕事を探すくらいならリアル土方を勧める。
ガテンを買いにコンビニに急げ!
0219デフォルトの名無しさんNGNG
.NetのVisualC++で作ったdllのchar*型引数が
C#ではsbyte*型になってしまい、unsafeだのfixだので大変。
string型で処理できる方法は無いもんかねー?やっぱ無理かねー?
0220デフォルトの名無しさんNGNG
>>219
LPCTSTR型じゃなかったの?bu5h-hmd(ham)君。
MLは2chじゃないんだから実名名乗れよ。
分かったらもう2度とマルチなんかすんなよ。
0221デフォルトの名無しさんNGNG
>>205
> MSHTML を COM で取り込んで。ってのは分かるんですが、

それで正解です。Frameworkコアには用意されてません。
VJ#を入れて、vjswfccw.dll を使うとかいった裏技(?)もありです。
0222デフォルトの名無しさんNGNG
>>221
ありがとう。
textBox のプロパティとかに隠れているのかなとも思ったんだけど。
0223デフォルトの名無しさんNGNG
jpgに自アプリを関連付けさせる方法おせえて
0224デフォルトの名無しさんNGNG
リストに800データくらい入れてるんですけど
入れるのに2分くらいかかります。
入れた後もドラッグしてスクロールさせると
表示がついてくるのが遅いです。
これではつかいものにならないので
はやくなるプロパティとかおしえてください?
0225デフォルトの名無しさんNGNG
別に遅くないけどな。メモリ足りないとか。
0226デフォルトの名無しさんNGNG
遅いと言えば、C#で組んだHelloWorldは起動が激しく遅いです。
連続して起動すると2度目からは一瞬で起動するのですが。
CLRをロードする関係なんでしょうが、
初回起動時だけはJavaのSwing以上の重さと言うのは…

こういうもんなんでしょうか?
0227デフォルトの名無しさんNGNG
そういうもんなんDEATH
0228デフォルトの名無しさんNGNG
>>226
スタートアップに常駐型hello,world入れとくとか(藁
0229デフォルトの名無しさんNGNG
>>228
Longhornからそれと似たような状態になるから心配するな
0230デフォルトの名無しさんNGNG
というか次世代Windowsでは起動時に勝手にロードされるような予感。
0231デフォルトの名無しさんNGNG
>>223
裏でassocコマンド呼び出すかレジストリ直書き。
ちゃんとしたAPIがあるのかもしれないけどよく知らない。
0232デフォルトの名無しさんNGNG
HSPから移行たくらんでるんですが、付属してるという話のドキュメントって
初心者にもわかりやすい? とりあえず矩形で切ったキャラ動かす程度のゲーム作りたいんですが。
Javaアプレットでオブジェクト指向無視した製作経験はあります(デザパタ勉強中……)。

SharpDevelop入れてネットで調べても要領を得なかったので、VC#のマイクロソフトのサポート
具合に期待してみたり。
0233デフォルトの名無しさんNGNG
HSPとC♯では方向性が違う。
ゲームつくるならあえてC♯を選ばなくてもよいかと。
0234デフォルトの名無しさんNGNG
ちょっとしたゲームならC#&DirectXで楽チンチンだよ。
DirectXのドキュメントはなってないが。
0235デフォルトの名無しさんNGNG
HSPの方が楽
0236202NGNG
>>203-204
貴重な情報を提供していただき有難うございます。
WindowsUpdateでFrameWork1.1に更新した後実行しましたが症状が変わりませんでした。
FrameWorkSDK1.1の日本語版はまだ出ていないようです。
はっきりした原因は分からないですがコンパイラのバグかもしれないので
今のところは待つしかないみたいです。
自分のソースがおかしいのかもしれないですが・・・・
とりあえず未実装の部分があるのでそちらに取り組みたいと思っています。
0237デフォルトの名無しさんNGNG
>>232
作るのは可能だけれど、実行速度重視の言語じゃないんで。
プログラミング自体を楽しむ学習目的ならOKでしょう。
0238__NGNG
   川o・-・)ノ <先生!こんなのがありました!
ttp://www.yamazaki.90.kg/hankaku/hankaku01.html
ttp://yamazaki.90.kg/zenkaku/index.html
ttp://www.yamazaki.90.kg/hankaku/hankaku04.html
ttp://yamazaki.90.kg/hankaku/hankaku10.html
ttp://www.yamazaki.90.kg/hankaku/hankaku07.html
ttp://yamazaki.90.kg/hankaku/hankaku08.html
ttp://www.yamazaki.90.kg/hankaku/hankaku05.html
ttp://yamazaki.90.kg/hankaku/hankaku03.html
ttp://www.yamazaki.90.kg/hankaku/hankaku06.html
ttp://yamazaki.90.kg/hankaku/hankaku02.html
ttp://www.yamazaki.90.kg/hankaku/hankaku09.html
0239デフォルトの名無しさんNGNG
http://www.yahoo2003.com/betu/linkvp2/linkvp.html
0240デフォルトの名無しさんNGNG
>>226 あたり
けど、早くなるのは同じアプリを起動する場合だけだよね?
0241デフォルトの名無しさんNGNG
>>240
違うアプリでも
0242210NGNG
>>218
住み込みの弟子のつもりですよ。
あまりにもあつかましいと思いそこまで深くレスをつけなかったのですが。
ここ2、3日教えてくれそうな所を探したのですが、みつかりませんw
C#の講師募集とかならありますが・・・
まだそこまで浸透してないって事なのですね。
しかしこれからC#の需要が増えるのではと考えます。魂胆はありませんが。もし、需要が増えなかったとしても、C#を覚えた以上他の言語に移行するのは楽なのでは?と考えています。
今後の仕事によりけりですが。とりあえず最低限C#をマスターしてからその時代の状況に合わせて他の言語も勉強していこうと考えています。

あと、リアル土方って何でしょう?初耳ですw
0243デフォルトの名無しさんNGNG
質問する側が煽り返すってのは感心しないな。ネタスレ遺棄なよ。
0244デフォルトの名無しさんNGNG
>>242
どの言語でも基本は一緒なので、c#から覚えてもいいかも。
配列、繰り返し演算、分岐、構造体とか
0245デフォルトの名無しさんNGNG
Javaに構造体は無い!
0246212 ◆IApAHNvIKg NGNG
>>242
弟子と言うのは半分脅しというか冗談ですけど、
会社帰りに週1時間とかだったら
絶対に使い物になるレベルにはならないです。

リアル土方というのは「本当」の「ドカチン」です。
2chではコンピュータ業界のことを「デジタル土方」と呼ぶので、
それに対して本来の「土方」のことを区別するためです。
ガテンというのは肉体労働専門の情報誌です。
何でそんな話をしたかというと、
C#を勉強して就職に役立てようなんてことは、
土木作業員と比較しても悪条件だってことです。
このスレでも業務の大半がC#って人は少ないのでは?

ま、いいや。気が向いたらメールでもください。
以後このスレではレスしませんので悪しからず。
0247199NGNG
>199なのですが、
Oracle関係の板へ移動すべきと思いましたので、
移動させていただきます。
書くとき迷ったんですが残念。
板汚しすみません。
0248C ◆oKZIqdAwEk NGNG
>>236

202で書いてる
>このページを見てタブページを削除する前に
>タブページのフォーカスを移動させてみましたが

の方法でOKだったよ。
漏れはこの解決策をMSのニュースグループで見かけたけどうまくいってる。

tabControl1.Select();
tabControl1.TabPages.RemoveAt(i);

でどうだい?
0249デフォルトの名無しさんNGNG
TabPage削除でアプリが終了しない話なんだけど、以前経験あります。
だいぶ前の話で、今は標準のTabControl使ってないので嘘かもしれませんが。

Remove()とかRemoveAt()って、TabControlとTabPageの親子関係を切るだけで、
削除ではないのが原因だと思ってました。
不要になったTabPageをちゃんとdispose()してやれば直ったような憶えがあります。
宙ぶらりんのTabPageがあると、終了できなかったような。
もちろんそんな仕様は意味不明なんですが、もしかしたら直るかもしれませんし、
恥さらし覚悟で書きます。ム版初カキコ。
0250219NGNG
>>220
やっぱり、C#側ではsbyte*型になっちまうぞ。
どうすりゃいいの〜これでやるしかないの、/unsafeでfixedで
これじゃC#でやる意味無いよ〜
0251デフォルトの名無しさんNGNG
>>242
おいおい、ネタじゃないのかよ!

> これからC#を勉強したいのですが、

これのために、

> 今の仕事も辞めるつもりでいます。

こうする必要性がまったく見えない。
24時間働きっぱなしに近いような仕事で勉強する時間が
まったく取れないってのなら話は別だが、そうでないなら、
仕事は続けながら、空き時間を捻り出して勉強すれ。

C#を覚えること自体は悪くないが、
すぐに転職に役立てたいなら、まずはJavaだろ。
C#にしてもJavaにしてもWeb開発が中心だから、
言語以上に最低限必要なのはWeb開発の知識(HTTP、HTML、JavaScriptなどなど)。
Web開発に限らずSQL、DBの知識も必須だぞ。

後、業務知識もあればなおよしだが、
これは実際に開発の上流工程に参加しないとどうしようもないしな。
0252251NGNG
書いてて思いっきりすれ違いだな。
ちゅうわけで、スレに関係ある部分に戻そう。

>これからC#を勉強したいのですが、みなさんはどこで知識をつけたのですか?

ドキュメント(ヘルプ)をざーっと読む、実験する、
ドキュメントで確認する、実験する。
その繰り返し。

まったくの初心者にこれは辛いだろうから、最初は入門書1冊読みながら、
そこに書いてあることを試したり、こうしたらどうなるだろう?とか
ここに書いてあることは本当かな?とかいろんな疑問を持ちながら取り組むことだ。

入門書を1冊終えたら、後は、上に書いたように実験、ヘルプで確認の繰り返し。
国内/海外のWebサイト、掲示板、ML、ニュース、Google、
書籍、雑誌での情報収集も怠らない。そんなとこだ。
0253デフォルトの名無しさんNGNG
まあ何も考えずに1個アプリを決めて作ってみるといいよ。
その際ドキュメントをメインの資料にすること。
2ちゃんで聞いてばっかいるとあんまり意味ないよ。
0254デフォルトの名無しさんNGNG
親フォームにあるリストビューのチェックされたアイテムを
子フォームで編集して結果を親フォームのリストビューに戻したいです。

親子間でのやり取りにはどのような方法がありますか?
0255デフォルトの名無しさんNGNG
>>250
MLで回答されてるぞ
0256デフォルトの名無しさんNGNG
>>254
この手の質問がむちゃむちゃ多いな。
OOをちゃんと勉強せずに取り敢えず使ってみると
そういう壁にぶち当たるってのは分かるが、
OOをちゃんと勉強するってのも絵に描いた餅だしね。
何か良い方法ってないのかな。

で、一番簡単な方法を答えとくと、
子フォームで編集するコントロールをpublicにしといて、
親フォームからそれを直接覗けば良い。
if (form2.ShowDialog() != DialogResult.Cancel)
{
form2.listView1.……
}
とかそんな感じ。
0257236NGNG
>>248
C ◆oKZIqdAwEk さんにご指導していただいた通りにコードを変更したところ
正常に動作するようになりました。本当に有難うございます。

private void menuItem55_Click(object sender, System.EventArgs e) // タブを閉じる
{
      int i = tabControl1.SelectedIndex;

      tabControl1.Select();

      // public System.Collections.ArrayList tabPageList = new System.Collections.ArrayList();
      tabPageList.RemoveAt(i);

      tabControl1.TabPages.RemoveAt(i);
}

TabPageを削除する前にSelectedIndexの値を-1にした場合、正常に動作しません。
TabControlそのものにフォーカスを当てないと駄目のようです。

private void menuItem55_Click(object sender, System.EventArgs e) // タブを閉じる
{
      int i = tabControl1.SelectedIndex;

      // これは正常に動作しない
      tabControl1.SelectedIndex = i - 1;

      // public System.Collections.ArrayList tabPageList = new System.Collections.ArrayList();
      tabPageList.RemoveAt(i);

      tabControl1.TabPages.RemoveAt(i);
}
0258デフォルトの名無しさんNGNG
>>256
ありがとうございます。早速試してみましたがうまいこと出来ませんでした。
Form1にtextBox1を置き
 textBox1.Text = Form2.textBox2.Text;
Form2にtextBox2を置きtextBox2のModifiersをPublicに。
ビルドしてみると
Form1.cs : 静的でないフィールド、メソッド、またはプロパティ 'WindowsApplication.Form2.textBox2' で、オブジェクト参照が必要です。
となってしまいます。子のコントロールをpublicにする以外にも何か必要になるでしょうか。


0259デフォルトの名無しさんNGNG
>>258
当たり前

Form2 form2 = new Form2();
if (form2.ShowDialog() != DialogResult.Cancel)
{
 this.textBox1.Text = form2.textBox2.Text;
}
form2.Dispose();
0260219NGNG
>>255
どこですか、教えてくださいよ〜
このままだと全部VC++で実装になっちゃうよ〜
0261デフォルトの名無しさんNGNG
>>260
CS:04194
0262デフォルトの名無しさんNGNG
最低だな >>219
0263219NGNG
そもそもMLってメーリングリストなのかどうなのかわからん・・・
MSDNとAtmarkITくらいしか見ないし・・・
0264デフォルトの名無しさんNGNG
C# MLでググればすぐ分かるだろ?
0265219NGNG
DllImportやらgetByteASCIIStringやら使えばいいみたいだね
どうも失礼しました
0266デフォルトの名無しさんNGNG
フォームで<asp:TextBox>をたくさん使うと、
TextBox1,TextBox2,TextBox3...といった感じにバラバラのフィールドになって使いづらいのですが、
最初からコレクションや配列にまとまってforeachなどですぐ順次処理をできるようにならないでしょうか?
0267デフォルトの名無しさんNGNG
フォーム上のコントロールをドラッグで移動させようかと
private void button1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{ button1.DoDragDrop(button1.Location, DragDropEffects.Move); }
private void button1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
{ }
こんなしてるんですが、何を書いたらよいのか分かりません。
検索していますが中々サンプルが見つからず困っています。
どなたかご教授願えませんか?
0268デフォルトの名無しさんNGNG
>>267
フォーム内で動かすだけならDoDragDrop()は使う必要がない。
というかDoDragDop()を使うとシリアライズとか出てきて
極端に難しくなるので悪いが君には無理。

MouseDownで押した場所を覚えておいて、
MouseMoveでコントロールを単純に動かせば良い。
0269デフォルトの名無しさんNGNG
>>268
たしかに無理そうです。
MouseDownとMouseMoveで再度挑戦してみます。
ありがとうございました。
0270159NGNG
先日はお世話になりました。
別件で詰まってしまったので質問させてください。
1.リストビューへのアイテムの高速追加方法はありますか?
 APIを使うサンプルを見かけてC#で書き直して見ましたが挫折しました ><。
2.リストビュースクロール時の「ちらつき」を無くす方法はないでしょうか?
 こちらは目下検索中。
さすがVBやVC++には歴史があり検索でヒットするAPIのサンプルも豊富ですね。
ファイラー作るのにC#を選択した時点で間違いなのでしょうか。。。
手をつけちゃったので納得するとこまでは、と思っているのですが。

参考情報などありましたら教えていただけると嬉しいです。
0271デフォルトの名無しさんNGNG
>>270
> 1.リストビューへのアイテムの高速追加方法はありますか?
listView1.BeginUpdate();
// 追加処理
listView1.EndUpdate();

> 2.リストビュースクロール時の「ちらつき」を無くす方法はないでしょうか?
意味不明。
どっかにプロジェクト丸ごとうpしてもらわないと伝えるのは無理。

> ファイラー作るのにC#を選択した時点で間違いなのでしょうか。。。
そんなことはない。
LonghornのExplorer.exeはManagedだ。
これからMSは自分自身でもC#に移行していく気だってこと。
0272デフォルトの名無しさんNGNG
> これからMSは自分自身でもC#に移行していく気だってこと。
とみせかけて、VB廉価プログラマにC#させて、
自社内ではコアにC#禁止なMS
0273デフォルトの名無しさんNGNG
>>272
CLRより下層の部分にC#を使えないのは当たり前
0274デフォルトの名無しさんNGNG
というより、CLRはGUIやファイルアクセス等、
クリティカルでない部分しか使わないMS
0275デフォルトの名無しさんNGNG
ms-helpなurlからMSDNのサイトのアドレスに変換するツールとかないですかねえ。
VS.NET持ってない人とは何かとC#で議論しにくいもので。
いつもgoogleでタイトル検索してアドレスを渡すという原始的な方法でやってますが。。。

例えば
ms-help://MS.VSCC/MS.MSDNQTR.2003JAN.1041/cpguide/html/cpcongeneratingcompilingsourcecodedynamicallyinmultiplelanguages.htm
から
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpcongeneratingcompilingsourcecodedynamicallyinmultiplelanguages.asp
に。
0276デフォルトの名無しさんNGNG
>>275
それくらい自分で作ったら…。
数行で書けそうだし。
0277デフォルトの名無しさんNGNG
ListViewの行間隔は簡単に詰めたり広げたりできますか?
0278デフォルトの名無しさんNGNG
参考書とにらめっこしながらC#勉強してるんだが、インターフェイスの利点が理解できない・・・。
クラス間で共通で使えるメソッド類なのかなと思ったら、メソッドの定義してあるだけで、
中身はそれぞれのクラスで書くなら、意味がないような・・・。

単に「こういう役割をするクラスには、これらのメソッドを入れておいてね」
というのを構造的に分かりやすくするためだけのもの何でしょうか。
0279デフォルトの名無しさんNGNG
>>278
Javaの方でも同じような質問がありましたね。
私はIteratorパターンを読んで、初めてインターフェースの利点が理解できました。

要は、「インターフェース」と言うだけあって、
実装については関係ないのです。
「クラスの制作者のためのもの」と言うよりは、
「クラスの使用者のためのもの」と言った方が良いと思います。

例えば、メソッドなどから返されたインスタンスについて、
詳しい中身については知らないけど、
この人はIteratorさんとしての扱いをしておけば間違いないね、
ということを保障するものなのです。
さまざまなクラスからいろんなインスタンスを返されても、
使用者はそれらを一律にIteratorとしての仕事をさせればよいわけですね。

....だめだ、どんどんつっこんでください。
0280デフォルトの名無しさんNGNG
>>279
.NETはforeachがあるからSTL的意味合いのIteratorがないし説明にならないかも。
.NET 2.0で入るIteratorはちょっと違うしね。
http://www.bizlogic.co.jp/techinfo/deepCS/CSNewFeatures.htm
(ちなみにMonoが先取りして実装したってのも興味深い)
http://www.go-mono.com/archive/mono-0.24.html

あとforeachはJavaがパクるらしい。
http://java.sun.com/features/2003/05/bloch_qa.html
0281デフォルトの名無しさんNGNG
Iterator"パターン"だろ。デザインパターンの方の。あと、ごちゃごちゃいらないこと書きすぎ。↑
0282デフォルトの名無しさんNGNG
参考になったけど↑
0283デフォルトの名無しさんNGNG
>>281
パターンでも意味通じるけど
0284デフォルトの名無しさんNGNG
>>282
でもインターフェイスの使い方、という意味では何の参考にもならなかっただろ?
まあそれでも、いいといえばいいんだけどね。
>>278
基本的にはそんな感じ。分かりやすくするというよりは、確約するという感じかな。
あと、インターフェイスを使えば、クラス間の結合をそのインターフェイスに限る
ことができる、ということもある。
0285デフォルトの名無しさんNGNG
> でもインターフェイスの使い方、という意味では何の参考にもならなかっただろ?
御意。

> まあそれでも、いいといえばいいんだけどね。
フォローさんくす。
C#でのIteratorパターンについての情報を示すから勘弁して。
http://ukamen.hp.infoseek.co.jp/Programming/DesignPattern/#SEC12
0286デフォルトの名無しさんNGNG
c#でソースを公開しているアーカイバソフト、ご存知な方いますか?

教えて下さい。
0287デフォルトの名無しさんNGNG
そんなものない
0288デフォルトの名無しさんNGNG
javaやC/C++で公開してるやつを移植
0289デフォルトの名無しさんNGNG
>>278
http://black.sakura.ne.jp/~third/programming/cs/cs45.html
http://www-ise2.ist.osaka-u.ac.jp/~iwanaga/csharp/oo_interface.html

デザパタ
http://hccweb1.bai.ne.jp/tsune-1/
0290デフォルトの名無しさんNGNG
>>288
移植するより、Managed C++ でコンパイル→DLL化する方が。
0291デフォルトの名無しさんNGNG
>>289の最初のリンク
いつも思うんだけど、この人のサンプルソースは改行していないから激しく読みにくい・・・
Kittyが好きらしいから基地外なのかしら。
0292291NGNG
でもソースではPREしている・・・どうなってんだろ。ネスケのせい?
0293デフォルトの名無しさんNGNG
>>292
IEで見たら普通だよ
0294デフォルトの名無しさんNGNG
>>292
スタイルシート使ってるせいかな。
寝輔のバージョンは?
4以前のものはスタイルシートへの対応が駄目駄目。
5もかなり悪い。
0295デフォルトの名無しさんNGNG
>>294
4.78・・・やっぱり酷いんだな。
0296名無しさん♯NGNG
>>286
こういうのはどうでしょ?
http://www.carto.ca/MagicRing/ZipSharp/index.htm
0297デフォルトの名無しさんNGNG
>>290
そんなことする必要ないんじゃない?
http://icsharpcode.net/OpenSource/SharpZipLib/
0298デフォルトの名無しさんNGNG
>>297
.lzhに対応できない
0299デフォルトの名無しさんNGNG
lzh使うやつは犯罪者
0300デフォルトの名無しさんNGNG
rarは?
0301デフォルトの名無しさんNGNG
>>294
> 5もかなり悪い。
ネスケ5ってオプソになったばかりでGeckoになる前の
捨てられる寸前のMozillaのこと?
0302デフォルトの名無しさんNGNG
>>298
unlha32.dllをP/Invokeしろ
0303286NGNG
>>296
どうもです。
とりあえず、ダウソしてみます。
0304デフォルトの名無しさんNGNG
>>300
それは違う意味で犯罪者(w
0305デフォルトの名無しさんNGNG
>>291
そんなことよりさ、.NETのドキュメントのサンプルってよく一行になってるやつない?
0306デフォルトの名無しさんNGNG
>>305
あるある
0307デフォルトの名無しさんNGNG
>>302
un*.dllって簡単に扱える?
0308デフォルトの名無しさんNGNG
>>307
C言語をある程度使いこなしている人なら簡単
そうじゃなかったら難しいとかいう次元じゃなくて不可能
0309デフォルトの名無しさんNGNG
>>307
こんな感じですれ
public int Compress(string archive, string fileName)
{
  string cmdline = String.Format("a \"{0}\" \"{1}\"", archive, fileName);
  return Unlha(IntPtr.Zero, cmdline, null, 0);
}

[DllImport("Unlha32.dll")]
private static extern int Unlha(IntPtr hwnd, string szCmdLine, string buffer, int buffSize);
0310デフォルトの名無しさんNGNG
ちょうどこんな記事が出た。

Using the Zip Classes in the J# Class Libraries to Compress Files and Data with C#
http://msdn.microsoft.com/msdnmag/issues/03/06/ZipCompression/default.aspx
0311デフォルトの名無しさんNGNG
マルチ?
http://pc2.2ch.net/test/read.cgi/tech/1039646808/969-972
0312デフォルトの名無しさんNGNG
// ふと思いついたんですが、こんな亊できるんですか?
// ただいまVS.NETインスコ中でまだ試せないっす。
class a {
unsafe static void a() {
asm {
hlt;
}
}
}
0313デフォルトの名無しさんNGNG
>>312
そろそろインスコ終わってるだろ
で、結果は?
0314312NGNG
残念ながら無理だった。
__asmとかやってみたけど認識しないのね。
0315デフォルトの名無しさんNGNG
DonutRブラウザのようにドラッグして移動できるメニューバーや
ツールバーは簡単につくれますか?> フォームデザイナ
0316デフォルトの名無しさんNGNG
C#.NETはじめましたー。まずは
・フォームにボタンを設置
・フォームにタブコントロールを設置
・タブページにリストビューを設置
・ボタンをクリックでリストビューにアイテム追加
こんなの作ってみましたがボタンを押してもアイテムが表示されないです。
ボタンを連打するとリストビューにスクロールバーが表示されて
スクロールしているようですが、アイテムが全く表示されないですの。
どぼちて?
0317デフォルトの名無しさんNGNG
>>316
それだけじゃ解らないよ。
せめてボタンのクリックイベント部分のソースがないと。
0318デフォルトの名無しさんNGNG
リストビューの詳細表示でカラム追加してなかったー!
無事に動きました〜。ごめんなそい。
0319デフォルトの名無しさんNGNG
Form1 上に Label1 があるとします。
Label1 をクリックしたときに、Form1のクリックイベントを発生させるには
どうすれば良いのですか?
0320デフォルトの名無しさんNGNG
>>319
Label1.ClickのイベントハンドラをForm1内に作る。
で、そのハンドラから this.OnClick() を呼ぶ。
0321デフォルトの名無しさんNGNG
>>320
おーすばやい回答ありがとうございます。
とっても助かりました!!
0322デフォルトの名無しさんNGNG
C#で作ったアプリケーションってどのぐらい重いですか?
0323デフォルトの名無しさんNGNG
>>322
C++かなんかとC#で同じアプリ作ってみれば?
0324デフォルトの名無しさんNGNG
リストビューのKeyDown (Key num1)にコードを書いたのですが
実行するとそのコードとリストビューの本来もっている
「先頭が1で始まるアイテムへ移動」も実行されてしまいます。

num1に限らず色々キー動作を変更したいのですが
標準の動作を実行させない方法はありますか?
0325デフォルトの名無しさんNGNG
↑おれもやってみたがわかんね
0326デフォルトの名無しさんNGNG
>>324
ListViewを継承してOnKeyDownなどをオーバーライドしても駄目?
0327デフォルトの名無しさんNGNG
C#でVCみたいにdefineマクロやストリングテーブルで
固定した文字列を扱いたかったので探してみたところ、
どうやら
アセンブリ リソースファイル
というのがそれっぽい、と気付いたのは良かったのですが、
コード中に登録した文字を取得することができません。。
いったいどうしたらいいのでしょうか?
もしかして根本的にアセンブリ リソース ファイル というのは
用途が別なんでしょうか?
「type」というのがどうも関係なさげなので。。
VCのストリングテーブルみたく文字列を扱うには
どうすればいいですか?
グローバルで定数を宣言することもできないようなので
困っております。
アドバイスいただけませんか?
よろしくお願いします。
0328327NGNG
System.Resources.ResXResourceReader reader=new System.Resources.ResXResourceReader("C:\\Resource1.resx");
IDictionaryEnumerator en = reader.GetEnumerator();

while(en.MoveNext())
{
if (en.Key.ToString()=="TEST_KEY")
MessageBox.Show(this,en.Value.ToString());
}

一応読み出せましたが、絶対なんか勘違いしてるような気がする。。
0329デフォルトの名無しさんNGNG
>>327
l18nがらみの話なら
http://www.microsoft.com/japan/msdn/library/ja/cpguide/html/cpcondesigningglobalapplications.asp
が役に立つと思われ。
0330デフォルトの名無しさんNGNG
>>327
ms-help://MS.VSCC/MS.MSDNVS.1041/cptutorials/html/string_resources.htm
この辺にのってたサンプル

IResourceWriter w = new ResourceWriter("foo.resources");
w.AddResource("test1", "one");
w.AddResource("test2", "two");
w.AddResource("test3", "three");
w.Close();

ResourceManager m = ResourceManager.CreateFileBasedResourceManager("foo", ".", null);
Console.WriteLine(m.GetString("test1"));
Console.WriteLine(m.GetString("test2"));
Console.WriteLine(m.GetString("test3"));

こんな感じでしょか?
0331324NGNG
public class UserListView : System.Windows.Forms.ListView
{
protected override void OnKeyDown(KeyEventArgs e)
{
if(e.KeyCode==Keys.NumPad1)
{
e.Handled=true;
}}}
継承やメソッドがまだよくわかりませんが検索しつつ上記でやってみました。
「123」と「ABC」というアイテムをUserListViewにいれて見ましたが
まだ「123」に移動してしまいます。知識不足ですいません。ご助言をお願いします。
0332デフォルトの名無しさんNGNG
出来そうで出来ない。
0333デフォルトの名無しさんNGNG
>>331
class UserListView : ListView
{
  public override bool PreProcessMessage(ref Message m)
  {
    if (m.Msg == (int)0x0100/*WM_KEYDOWN*/)
    {
      Keys key = (Keys)(int)m.WParam & Keys.KeyCode;

      if (key == Keys.NumPad2)
      {
        return true;
      }
    }
    return base.PreProcessMessage(ref m);
  }
}
どう?
0334デフォルトの名無しさんNGNG
>>333
あ、key == Keys.NumPad2はテスト用
これを自由に変えてみて
0335331NGNG
>>334
すごーい、希望の動作になってます。早速使ってみます!
PreProcessMessage
なにやら夢の詰まってそうなキーワードですね。
これから一杯調べてみます。

解答と希望をありがとうございます
0336デフォルトの名無しさんNGNG
ワイプで画面が切り替わるような効果を作りたいのですが・・・

TimerのTickの度にPaintEventArgs eをどこかから持ってきてe.Graphicsとかやることは
できないのでしょうか。
また、ブラインドのような形の多数の領域を一気に書き換えるにはどうすれば
いいのでしょうか?
0337デフォルトの名無しさんNGNG
VS.NET EA でコンソールアプリ作って練習してるんだけど・・・

ボタンにある「開始」ってのを押すとプログラムが終了すると同時にコンソール閉じちゃうんだけど・・・
ツールバーの「デバック」→「デバックなしで開始」を選択すると閉じずに残る・・・

この「デバックなしで開始」をボタンにする方法はないんでうか?
教えてくれたらイイものうpしちゃげる♥
0338337NGNG
ごめん・・・普通にヘルプ見たらできた・・・




おわびにうpローダ教えてくれたら・・・&hearts
0339デフォルトの名無しさんNGNG
>>337
メニューのツールのカスタマイズのコマンドの
左側分類で「デバック」を選んで、右側「デバッグなしで開始」を
ツールバーにドラッグ&ドロップ

と書いたら >>338 がっ (泣
0340便乗NGNG
>>333
331では無いけど便乗質問
if (key == Keys.NumPad2)
 {
  return true;
 }
このreturnの後にUserListViewのKeyDownに
行きたいのだけれど何て書いたら良いのかな。
331と同じく手探り状態でつ。
0341327NGNG
>329
>330
ありがとうございます。
無事できました。
ですが、VCのストリングテーブルとは
用途が違うように思えます。
.resourcesファイルにしたリソースは
配布する際はいいと思いますが、
ソリューションエクスプローラにある(私が作成した)
Resource1.resxというファイルから直接読み込んだりはできないのでしょうか?
>330さんの方法や、ヘルプにあるサンプルの方法だと、
Resource1.resxの意味すらわからないくなります。
また、プロパティのビルドアクション項目に「埋め込まれたリソース」
とあるので、.resourcesファイルに出力せず、VCのように
exeに埋め込むことができるようにも思えます。
お恥ずかしい話し、ヘルプから出来るのか、そうでないのか、
すら読み取ることができませんでした。
もう少しだけ、アドバイスいただけませんか?
よろしくお願いします。
0342デフォルトの名無しさんNGNG
>>341
リソースファイル名が Resource1.resx とした場合、

Assembly assembly = this.GetType().Assembly;
ResourceManager m = new ResourceManager("WindowsApplication1.Resource1", assembly);
string value1 = m.GetString("test1");
string value2 = m.GetString("test2");

こんな感じで出来た。
0343デフォルトの名無しさんNGNG
>>340
returnの後にできるかどうか解らないですが、

if (key == Keys.NumPad2)
{
  OnKeyDown(new KeyEventArgs(Keys.NumPad2);
  return true;
}

こんな感じじゃだめかしら。
0344デフォルトの名無しさんNGNG
>>343
× OnKeyDown(new KeyEventArgs(Keys.NumPad2);
○ OnKeyDown(new KeyEventArgs(Keys.NumPad2));
0345デフォルトの名無しさんNGNG
Bitmapから"Getpixel","SetPixel"で色を取得し編集し表示する画像処理をしたいです。
しかし、
gray[XCou , YCou] = this.myBitmap.GetPixel(XCou,YCou);
とコードを記述すると、ビルドは出来るのですが、実行すると

”System.NullReferenceException' のハンドルされていない例外が system.windows.forms.dll で発生しました。

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

というエラーが出ます。"Getpixel","SetPixel"の使い方が悪いからこのようなエラーがでるのでしょうか?

0346デフォルトの名無しさんNGNG
>>345
初期化していない変数がないかどうかを調べてみるとよろし。
0347便乗NGNG
>>343
あぁなるほど。ありがとう。もやもやが取れた感じ。
渡しっぱなしにすることしか考えてなかった。

0348デフォルトの名無しさんNGNG
   asdfasdfasdfこのレスを見た人間は十三日以内に死にます。
      ※あなたに訪れる死を回避する方法が一つだけあります。
     それはこのコピペを一時間以内に7つ、別のスレに貼り付ける事です
    /\___/ヽ   ヽ
   /    ::::::::::::::::\ つ
  . |  ,,-‐‐   ‐‐-、 .:::| わ
  |  、_(゜)_,:  _(゜)_, :::|ぁぁ
.   |    ::<      .::|あぁ
   \  /( [三] )ヽ ::/ああ
   /`ー‐--‐‐―´\ぁあ  
0349デフォルトの名無しさんNGNG
サンプルコードがいっぱいあるサイトきぼんぬ
0350327NGNG
>342
大感謝です。
無事読み出せました。
どうもヘルプの読み方がいまいち下手ですが、
このコードからF1で理解を深めていきたいと思います。
ありがとうございました。
0351デフォルトの名無しさんNGNG
>>349
CodeProject
0352デフォルトの名無しさんNGNG
>>351
ありがと
0353デフォルトの名無しさんNGNG
C#からプログラミングを始めて半年ほどになりますが壁にぶち当たりました。
COMコンポーネント(=Win32API?COM+?)の使い方がサッパリわかりません。
MSDNオンラインを見ても何じゃコリャ?という感じです。
できればC#で解説した書籍があればいいのですがオススメの書籍があればぜひ教えて下さいませ。
お願いします。たのんます。
0354353NGNG
レス来ずか…そうさ…わかってたさ…。
C#の書籍は入門書ばかりってことぐらいはさ。
でも高望みだなんて思いたくなかったんだ。
最初に選ぶ言語を間違えたんだな俺は…
あぁ…CかC++でも始めるか…
0355デフォルトの名無しさんNGNG
>>354
掲示板なので、すぐにレスが返ってくるとは限りません。

┌──────────────────────―─┐
│                                    |
│                                    |
│                                    |
│                                    |
│                /■\                    |
│               (´∀`∩)                   |
│               (つ  丿                |
│                ( ヽノ                    |
│                し(_)                |
│                                    |
│             Now Onigiring. ...               |
│                                    |
│                                    |
│         そのままおにぎりでお待ちください。.      |
│                                    |
│                                    |
└───────────────────────―┘
0356デフォルトの名無しさんNGNG
>>354
俺もC#からプログラムに入ったわけだが・・・
C#で学ぶことはC++でも生かせる物なのかなぁ
0357bloomNGNG
http://homepage.mac.com/ayaya16/
0358デフォルトの名無しさんNGNG
ナルポ
0359337NGNG
>>353
こんな所で、他人のオススメを聞くより、でかい本屋に行って立ち読みするべし!
C#の実用本なんて山ほどでとるぞ!
0360山崎渉NGNG
ヌルポ
0361デフォルトの名無しさんNGNG
>>359
山ほどはないべ
0362デフォルトの名無しさんNGNG
ノースウッドセレってどうなんでしょう。
タラから乗り換えたんですけどインストールの時間が全然違うんです。
コンパイルのスピードとか普段の使用感とかどんな感じになるんでしょう。
スペックはタラが1.4Gでメモリ384MB、ノースが2.0Gを2.66にOC、メモリ512MBです。
0363362NGNG
OSも関係あるのかな。
タラが2000でノースがXPです。
0364デフォルトの名無しさんNGNG
>>356
C#からプログラミングに入った人なんつーのはすんなり理解できてるの
かなあ?オレの場合おおざっぱに言うと、昔ながらのBASIC〜C〜
VisualBASICと経験してきたからそれとの対比でなんとなく
理解できたけど、最初からC#だったらオブジェクト指向的な考え方とか
すんなり理解できたかどうか、あんまり自信ない。
0365デフォルトの名無しさんNGNG
ウィンドゥズうpデートに.NET Framework 1.1とかいうのがあったから
インストールしました。
インストールされたディレクトリを見ると、csc.exeとかいうのがあって
コマンドプロンプトからなにげなくcscを実行してみると、
Visual C# .NET Compilerとか表示されました。

Visual Studio買わなくてもC#プログラミングが出来ちゃうのでしょうか?
updateで入れたやつにはエディタやデバッグなどの環境が無いとい
うことなのかな?
0366デフォルトの名無しさんNGNG
C#でグローバルで変数を宣言したいのですが、
できないようなので困っています。
C#のプログラミングスタイルとしては
どこに宣言するのが定石でしょうか?
常に存在すると保証されるクラスですか?
私の作ろうとしてるソフトには
起動と同時にメニュー画面が表示されるのですが、
メニューのクラスのメンバとして
DBとの交信に必要で
他の全てのクラスから扱われる変数を格納するのは
凄く違和感があります。。
こういうものなのでしょうか?
0367337NGNG
>>365
VisualStadioは、只のグラフィカル開発環境!
だから、ノートパッドでC#のコードをかいてCSC.EXEでコンパイルすればできる!

ちなみに、EclipseのC#プラグインも出とるぞ!
VS.NETは、Windowsアプリが作りやすいってだけ!
C#の勉強をしたければ、NET Framework 1.1SP2で十分であ〜る!
0368デフォルトの名無しさんNGNG
C#とD言語、どっちがいいですか
0369デフォルトの名無しさんNGNG
>>361
うん!山ほどは無いな!
砂山ほどに訂正しま〜す!
0370デフォルトの名無しさんNGNG
>>366
public class Globals
{
 public static int Sage = 123;
}

int sage = Globals.Sage;
とか。
0371デフォルトの名無しさんNGNG
>>366
感じ的にはAccessのような、データベースとフォーム・レポートが連携したようなアプリだと察します。
さまざまなフォームから同じDBにアクセスするという点では、DBをグローバルにとるのも手だとは思います。
沢山あるだろうフォームのコンストラクタ・初期化メソッドでいちいち同じ初期化を定義したり実行したりするのは手間であろう事も想像できます。

DBをグローバルに設けるのも手段ですが、主にフォームからDBを扱うなら「継承フォーム」を使ってみてはいかがでしょう。
具体的には、DBを渡さないと表示できないフォームを作ります。例えばShowメソッドを改造したり、コンストラクタにDB用の引数をつけるなどです。
DBが必要なフォームでは、上記のフォームを継承して作成・デザインします。
この方法だと、次々表示するフォームのコンストラクタやShowメソッド呼び出しなどを工夫するだけで済むので、設計的にも楽になると思うのですがいかがでしょう。。。
0372デフォルトの名無しさんNGNG
>367
なるほど。ありがとうございます。
Eclipseもなんとか使いこなしたいところです(インストールだけはしてある)。
0373366NGNG
>370
でもそうやると
Globalsの内部に別のクラスを持つ場合、
そのクラスはグローバル(仮)で宣言する為だけに
設計しなければならないですよね?
少なくとも用途別に二つそのクラスを確保することは
できないと思います。
すこし不便に思えるのですがC#ってそういうものなのでしょうか?
無理してでも常に実態を持つクラスのメンバとして
宣言した方がいいでしょうか?
勘違いしてたらすみません。
細かいようですが、もう一言お願いします。
このままじゃなんか不安ですので。。
0374デフォルトの名無しさんNGNG
>>373
根本的な勘違いがありそうだから、もう一度基礎を
おさらいした方が良い。
0375366NGNG
考えていたので時間差で先に書き込んでしまいました。

>371
なるほど。
すこぶる納得できました。
>Accessのような〜
う。見抜かれてますw
ずばりその通りです。
納得いきました、ありがとうございます。

>374
あれれ、、やはり勘違いしてますか。。
えっとstaticで内部に別のクラスを宣言するので
内部のクラスのメンバが共有されて。。と思ったのですが、
よく考えてみると、内部に二つクラスを持てば、
二つ限定で、そのクラスを使える、ということですね。
用途別に二つ用意することは不可、と書きましたが、
訂正させていただきます。ごめんなさい。
まだ勘違いしてないか心配。。
0376デフォルトの名無しさんNGNG
プログラム終了後にこのようなエラーが表示されます。

ASSERT Failed foo.exe -アプリケーションエラー
例外 unknown software exception(0xc0020001)がアプリケーションの0x77e7b2f0で発生しました

main関数を全部tryで囲んでもキャッチできないので一体どこで例外が発生しているのやら、という状況です。
ASSERT Failedと出てますしリリースビルドでは発生しないようなのでデバッグビルド特有のもののようですが….…
どなたかお知恵を貸していただけないでしょうか
0377デフォルトの名無しさんNGNG
c#ではテンプレート使えますか
0378デフォルトの名無しさんNGNG
>>377
使えない。

VS.NET for Yukon(C# 2.0)で使えるようになる。
0379デフォルトの名無しさんNGNG
>>377
C#じゃないけど、補足的な意味で
http://www.microsoft.com/japan/msdn/library/?url=/japan/msdn/library/ja/vcmxspec/html/vcManagedExtensionsSpec_25_2.asp?frame=true
0380デフォルトの名無しさんNGNG
渡された引数に従ってコントロールをフォームに追加するような
プログラムを書いています。で、情けない事に変数のスコープにどう対応していいのか
迷うのでアドバイス欲しいのですが、

private void AddControl(uint ctrltype)
{
if(ctrltype == 0 )
{
TextBox ctrl = new TextBox(); ←ココ
// TextBox の プロパティ設定 省略
}
else
{
ComboBox ctrl new ComboBox(); ← ココ
// ComboBox の プロパティ 設定 省略
}

// TextBox, ComboBox 共通のプロパティ設定
Controls.Add(ctrl);
}

if の ブロックの中で作成したオブジェクト(ctrl) が
ブロックの外で有効ではないので、if ブロックの外の行が
うまく動かせません。

if の前で オブジェクトを定義し、if のブロックで実際のオブジェクトを決定し、
if の外でもそれを使う、みたいな感じにしたいのですが、
どのようにすればよいでしょう?
0381デフォルトの名無しさんNGNG
>>380
if文の外にControl型の変数桶
0382デフォルトの名無しさんNGNG
Control ctrl = new Control();

を if の外において if の中では ctrl は TextBox だよ、
ComboBox だよ、っていうのはどのように書けばよいのでしょう?

0383デフォルトの名無しさんNGNG
>>382
new TextBox() も new ComboBox() もControl型の変数に入れられる。
0384デフォルトの名無しさんNGNG
>>380
Control c = null;

if (...) {
 c = new TextBox();
}
else {
 c = new ComboBox();
}

Controls.Add(c);
0385デフォルトの名無しさんNGNG
何度もすみません。

Control c = null;

if (...) {
 c = new TextBox();

c.MultiLine = true; ← エラー
}
else {
 c = new ComboBox();
}

Controls.Add(c);


とすると ctrl に TextBox 独自のプロパティが設定できないのですが、
どのようにすべきでしょうか?
0386デフォルトの名無しさんNGNG
少しは頭を使え
0387デフォルトの名無しさんNGNG
>>366
一応いろいろ試しているんですが、その時間が短いですかね。
ごめんなさい。

で、いろいろ試行錯誤しまして

((TextBox)ctrl).MultiLine = true;

と明示的にキャストしてやったらできました。

と喜んだのもつかのま、

ctrl.KeyPress += new System.EventHandler(this.CtrlKeyPress);

で System.EventHandler 型を 'System.Windows.Forms.KeyPressEventHandler' に
暗黙的に変換できません。

と(;_; プロパティを明示的にひたすらキャストするのも綺麗じゃないし、
もうわかんないんで、TextBoxと ComboBox は 別の関数にわけて
ちまちまやります。

ありがとうございました。
0388デフォルトの名無しさんNGNG
>>387
>>ひたすらキャストするのも綺麗じゃないし

Control c;

if (...) {
 TextBox tb = new TextBox();
 tb.Multiline = true;
 c = tb;
} else {
 ComboBox cb = new ComboBox();
 ...
 c = cb;
}
Controls.Add(c);

こんな風にやればいいじゃん。
0389デフォルトの名無しさんNGNG
.NET Compact Framework の TextBox で、
OnLostFocus が オーバーライドできない理由を
御存知の方はいらっしゃいませんか?
0390デフォルトの名無しさんNGNG
>>388
オブジェクトを1つ作成するコストと、関数をわけるコストを比較して
考えてみます。ありがとう。

しかし、その方法でも

ctrl.KeyPress += new System.EventHandler(this.CtrlKeyPress);

をうまく処理できない気がするので、やっぱりこまごまやるんじゃなくて
関数わけたほうが、よさそうな気がしてきました。

どうなんでしょう? アドバイスあればよろしくおねがいします。
0391デフォルトの名無しさんNGNG
>>390
???

>>System.EventHandler 型を 'System.Windows.Forms.KeyPressEventHandler' に
>>暗黙的に変換できません。
0392デフォルトの名無しさんNGNG
C#はエクセルとかXMLにアクセスする必要のあるちょっとしたツールの
作成によく使います。別にスクリプトでやってもよいのだけど、なんとなく
コンパイルしといた方が実行速度速いかなという気分で。
0393デフォルトの名無しさんNGNG
>>390
KeyPressEventHandler
0394デフォルトの名無しさんNGNG
>>390
TextBoxだとかComboBoxだとか、分ける分けない以前の
根本的な間違いに気づけ。393が答えだしてくれてるけどな。
0395デフォルトの名無しさんNGNG
MFCではMessageBeep()だがC#で警告音を鳴らす方法がわからない。
googleでも調べたんだけど・・・
0396デフォルトの名無しさんNGNG
>>395
[DllImport("kernel32.dll")]
extern static bool Beep(uint dwFreq, uint dwDuration);

又は

using Microsft.VisualBasic;

Microsoft.VisualBasic.Interaction.Beep();

漏れはこの質問、4,5回は見た。FAQだな。
0397デフォルトの名無しさんNGNG
ところで、何でMSは、.NETに音関係のAPIを全く作らなかったんだろうね?
0398デフォルトの名無しさんNGNG
>>397
DirectXを使えってことじゃない?
0399395NGNG
結局、ライブラリとしてはないってことか・・・
Beep音ダセー。
0400デフォルトの名無しさんNGNG
ListViewのフォーカス表示を枠ではなく線にして
フォーカスのあるアイテムの背景色も表示したいのですが
どのようにしたら良いでしょうか?
0401デフォルトの名無しさんNGNG
CSVをパースしてくれるようなクラスは標準でありますか?
0402デフォルトの名無しさんNGNG
>>401
String.Split
0403401NGNG
>>402
String.Split だと ["hoge,muge"] を ["hoge] [muge"] に分割してしまうので
できれば "(ダブルクォーテーション) を考慮して分割してくれるとうれしい。

上記の例だと [hoge,muge] となって欲しいのですが。
自作するしかない?
0404デフォルトの名無しさんNGNG
>>403
Regex.Splitで正規表現を使っては?
0405デフォルトの名無しさんNGNG
>>403
Microsoft.VisualBasic.FileSystem.Input
0406デフォルトの名無しさんNGNG
struct Point
{
public int x;
public int y;
}

と定義した構造体を配列で利用したいのですが(構造体配列)
定義のしかたがわかりません。

Point[] pnt = new Point();

みたいな事がやりたいのですが。
0407デフォルトの名無しさんNGNG
>>406
Point[] pnt = new Point[1000];
0408406NGNG
>>407
ありがとう。

0409デフォルトの名無しさんNGNG
VC#のMDIアプリの良いサンプル無いですか
0410デフォルトの名無しさんNGNG
>>409
QuickStart チュートリアル
0411デフォルトの名無しさんNGNG
.NET framework (又はGDI+?) による、パレット付きビットマップの操作は、LockBitsしかないってことでいいんでしょうか。
当方Bitmap.GetPixelとBitmap.SetPixelだけで充分なんだけど、それもできない。。。
LockBitsとMarshal.Copyを組み合わせて使ってますが、アンマネージドなコードにアクセスするので、出来ると判ってても余り後味がよくありません。。。

各種リソースを探してみましたが前向きな案はないようで。。。別に困っていませんが、今後の参考の為に情報をお持ちの方が居ればと思い投稿しますた。

・Graphics.FromImage Method
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemdrawinggraphicsclassfromimagetopic.asp
・RE: How do you set a pixel in a 1 bit index bitmap
http://groups.google.co.jp/groups?q=SetPixel+LockBits+group:microsoft.public.dotnet.framework.*+group:microsoft.public.dotnet.framework.*&hl=ja&lr=&ie=UTF-8&inlang=ja&group=microsoft.public.dotnet.framework.*&selm=THE%239oezCHA.2844%40cpmsftngxa06&rnum=1
0412デフォルトの名無しさんNGNG
こっちのスレのほうがよさそうなので
やっぱりこっちに質問します。
visual c#.net
と
visual staudio.net professional
って中身はどれくらい違うもんなんですかね?
前者だと、全然早いソフトは作れなかったりするんですかね?

後、c#はただのcやc++とは全然違う言語なのですか?
すいません、教えてください。
0413デフォルトの名無しさんNGNG
>>412
>>中身はどれくらい違うもんなんですかね?
http://www.microsoft.com/japan/msdn/vstudio/productinfo/featurelist.asp

>>c#はただのcやc++とは全然違う言語なのですか?
http://www.microsoft.com/japan/msdn/vstudio/techinfo/articles/upgrade/Csharpintro.asp
0414デフォルトの名無しさんNGNG
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetcomp/html/netcfdatetimepicker.asp

に書いてあることがやりたいんですが、ここで使われている、
.NET CompactFramework 用の
DateTimePicker コントロールってのは、どこにあるのでしょう?

First, a DateTimePicker class is declared.

DateTimePicker m_picker;

すらできないのですが。。。(^^;;
0415デフォルトの名無しさんNGNG
タスクバーの位置(上下左右)を取得したいのですが、
レジストリのどこかの値から取得する方法はないものでしょうか?
0416デフォルトの名無しさんNGNG
>>415
それをわざわざこのスレで聞くとはいい度胸だ
0417デフォルトの名無しさんNGNG
>>413
ありがとうございます。
検索すればすぐにわかる話しだったのですね。
お手数かけてすいませんでした。
0418415NGNG
>>416
あぁ、スレ違いでしたか。すません。(´Д`)
0419デフォルトの名無しさんNGNG
c#の用語のメソッドってなんでしょうか?
つまり関数のことだと思ってよろしいのでしょうか?
0420デフォルトの名無しさんNGNG
>>419
OK.
0421デフォルトの名無しさんNGNG
>>420
ありがとうございました。
0422デフォルトの名無しさんNGNG
えー現在C++を使っているんですが、そろそろC#を勉強しようかなと思ってます。
CSのバイブル的存在の書籍ってあるんでしょうか?

文法とかはネットで調べればなんとかなりそうですけど、
.NETでの開発作法とかセオリーみたいなのを解説している書籍なんかも欲しいです。
お勧め本教えてください!

英語だめなので洋書は却下です(;´Д`)
0423デフォルトの名無しさん NGNG
Setup.msiを作るときに.NETFrameworkもインストールパッケージに
含めるにはどうすればいいんでしょうか?
0424デフォルトの名無しさんNGNG
  光 そ    し!     _  -── ‐--── ‐-   、  , -─-、 -‐─_ノ
  フ う    // ̄> ´  ̄    ̄  `ヽ ̄  `ヽ   Y  ,  ´     )    ラ え
  ァ か    L_ /                      /        ヽ    ン |
  イ      / '                      '           i 同 タ マ
  バ >>423  /                       /              く 梱 イ ジ
  │ は   l           ,ィ/!          /    /l/!,l   /厶, !? ム
  の    i_ ___ _,. ‐'´//-─=====-、ヾ  l    /-!'|/l   /`'メ、_iヽ
  普    l,.‐'´ `''‐- 、._ヽ   /.i ∠,. -─;==:- 、ゝi   i/-- 、 レ!/   / ,-- レ、⌒Y⌒ヽ
  及     _ゝ|、!  /' ̄r'bゝ}二. {`´ '´__ (_Y_),. |.rト、N'/⌒ヾ      ,イ ̄`ヾ,ノ!
  を    「゙l |`} ..:ヽ--゙‐´リ ̄ヽd、 ''''   ̄ ̄  |l| | |  「L!     ' i'ひ}   リ
         ヽ i.! l .:::::     ソ;;:..  ヽ、._     _,ノ'! ! |ヽ_、ソ,      ヾシ _ノ _ノ
-┐    ,√  ` ー==--‐'´(__,.   ..、  ̄ ̄ ̄  リ l   !  ̄        ̄   7/
  レ'⌒ヽ/ !    |       .:::ト、  ̄ ´    _人__人ノ_  i  く            //!
人_,、ノL_,iノ!  /! ヽ               「      L_ヽ   r─‐- 、   u  ノ/
つ 加   /  / lト、 \     ー‐==:ニニニ⊃ノ  デ    了\  ヽ, -‐┤     //
も 速  {  /   ヽ,ト、ヽ/!`hノ       )  カ    |/! 「ヽ, `ー /)   _ ‐'
り さ   ヽ/   r-、‐' // / |----------く   |     > / / `'//-‐、    /
な せ    > /\\// / /ヽ_       !   イ    (  / / //  / `ァ-‐ '
ん る    / /!   ヽ    レ'/      ノ        >  ' ∠  -‐  ̄ノヽ   /
だ      {  i l    !    /       フ       /     -‐ / ̄/〉 〈 \ /!
0425デフォルトの名無しさんNGNG
>>423
これとか?
http://www.microsoft.com/downloads/details.aspx?FamilyID=66350891-d15b-446b-bd69-f7f849224a00&DisplayLang=en
0426デフォルトの名無しさんNGNG
EXCELのようなセルを範囲指定して編集できるようなコントロールを
作りたい&探しています。

参考になるサイトがありましたら教えていただけないでしょうか。
0427山崎渉NGNG
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
0428デフォルトの名無しさんNGNG

BOOL namae (
HWND hwnd,
UINT Vkey,
UINT *pStartBuffer)

と宣言されている関数を C# から使いたいのですが

[DllImport.....略]
private static extern bool namae (IntPtr hWnd, uint Vkey, ref uint pStartBuffer);

と宣言し、

bool bRet = namae(hWnd, 0, ref strBuf);

と書いたいのですが、ref または out 引数は左辺値でなければなりません。

とコンパイルできません。

どこが間違っているのか教えてもらえませんか?

0429デフォルトの名無しさんNGNG
>>428
もしかしてstrBufはconstとかに指定してない?
0430428NGNG
>>429
const にしてました(~_~;;;
ありがとうございました。
0431デフォルトの名無しさんNGNG
えーと、コンストラクタ呼び出しでお尻の () を忘れたとき
 Item = new Items;
なんてやったときのコンパイラのエラーメッセージが
"新しい式は型の後ろに丸かっこまたは角かっこを必要とします"
ってでるんだけど「新しい式」ってなんだよ。

なんか、日本語訳の質が低下しまくりなんですが。これでほんとに良いのか?
0432 NGNG
普通忘れない。
なんか、プログラマの質が低下しまくりなんですが。これでほんとに良いのか?
0433デフォルトの名無しさんNGNG
たとえだよ。ばかやろ。
0434426NGNG
EXCELのSpreadSheetActiveXコントロール貼り付けて作っても
やっぱりEXCELインストールしていないPCじゃ使えないのでしょうか。
そんな時SpreadSheetActiveXコントロールも同梱しちゃったら
おこられるですか?
0435デフォルトの名無しさんNGNG
>>431
newステートメントなんて言葉プログラマにしか通用しません
翻訳屋さんが新しい式と訳すのはまったく完全に正しいです
0436デフォルトの名無しさんNGNG
なんでnewを訳したかな
0437デフォルトの名無しさんNGNG
>>435
プログラマな知識がある人が訳すもんなんじゃないの?こういうのって。
昔、開発系の上司が技術ドキュメントの翻訳やってるの見たことあるけど。
0438デフォルトの名無しさんNGNG
newを訳したやつにプログラムの知識が微塵も無かったことだけは確かだな。
0439デフォルトの名無しさんNGNG
C#にC++でいうtemplateってありますか?
0440デフォルトの名無しさんNGNG
次のバージョンで出来る予定です
0441デフォルトの名無しさんNGNG
object型は何でも入れられる変数型という訳ではないんでしょうか?
0442bloomNGNG
http://homepage.mac.com/ayaya16/
0443デフォルトの名無しさんNGNG
元VB厨
0444デフォルトの名無しさんNGNG
>>441
正解
0445デフォルトの名無しさんNGNG
vb でいうところの mid 関数は C# ではどうやるのでしょう?

やりたい事は TextBox にて .SelectionStart から .SelectionLength
分の文字列を置換したいのですが。

0446デフォルトの名無しさんNGNG
>>445
VBはよく知らないが、mid関数という感じからすると、
string result = textBox.Text.Substring(textBox.SelectionStart, textBox.SelectionLength);
0447445 NGNG
>>446
Substring と Replace を組み合わせてできました。

もうひとつ質問ですが、 vb では

Me.TextBox1.Text = "aiueo"
Me.TextBox2.Text = "12345"

を

With Me
.TextBox1.Text = "aiueo"
.TextBox2.Text = "12345"
End With

と書く事により With ブロックで Me の記述を 省略させる事ができるのですが
このような事を C# で書ける方法はありますか?

0448デフォルトの名無しさんNGNG
>>447
無いよ。
0449デフォルトの名無しさんNGNG
>>447
その、省略したいインスタンスの所属するクラスに、
そのブロックで実行したいことを、関数として書け。
つまり
class A {

f1() {}
f2() {}
var() {
f1();
f2();
}
}
とかかけば、

class A a;
a.f1();
a.f2();

と書く代わりに

class A a;
a.var();
と書ける。
0450デフォルトの名無しさんNGNG
派生クラスのメンバを、派生元のクラスから利用する方法なんてないよね?

可能なら、呼び出し元のコレクションクラスの参照をobjectで受ける、
共用の列挙子クラスを作れないかなと思ったんだが。
0451デフォルトの名無しさんNGNG
>>450
派生元のクラスで、interfaceを継承してみては?
interfaceで作ったメソッドを派生先のクラスで実装させればいいのではないでしょうか。
0452デフォルトの名無しさんNGNG
c#で作成したプログラムは、
そのプログラムだけをcdに焼いて他の人に渡して、
その人のマシンにインストールしてもらえば、
他人のウインドウズマシンでも普通に動きますよね。
それとも、他の何とかコンポーネントとかランタイムルーチンとかって
なんか関係あったりしますか?
凄く簡単なプログラムとかなんですけど。
(例えばダイレクトXなんかは全然関係ない)
0453デフォルトの名無しさんNGNG
ところで、みなさんは
visual c#.net Stanndard
って幾らくらいで買いましたか?
私は1万2000円ちょっと位で買ったのですが、
そんなもんですかね?
昔に比べたらかなり安いなって印象ですが、、、。
昔95の頃、visual Cとか買った時は
8万くらいした気が、、、。
0454デフォルトの名無しさんNGNG
>>452
>そのプログラムだけをcdに焼いて他の人に渡して
これじゃダメ。C#はJavaみたいなもん。

>>453
最安は価格.comで調べてみれば?
0455デフォルトの名無しさんNGNG
>>453
ひまだから調べてみた
http://kakaku.com/prdsearch/detail.asp?ItemCD=030000&MakerCD=121&Product=Visual+C%23+%2ENET+Standard

最安で7800円。でもここ1店だけ安くて他の安いところは11000円くらいかね。
0456デフォルトの名無しさんNGNG
>>454>>455
ありがとうございます。
悪い予感が当たってたのか、、、。
と言うことはやはりコンポーネントと言うものが他の人のパソコンにも
インストールされて無いと駄目なのですね。
0457デフォルトの名無しさんNGNG
VS.NET重くて使えねー
0458デフォルトの名無しさんNGNG
C# のコーディングスタイルがまとまっている所はありますか?
命名規則など。
0459デフォルトの名無しさんNGNG
>>456
C#で作られる実行形式のファイルは、実はネイティブコードではなく、
.NET共通言語ランタイム上で動作する中間言語と呼ばれるものでつ。

よって、実行するマシンにも.NET Frameworkが導入されているか、
ランタイムがインストールされていないといけないのでつ。

0460デフォルトの名無しさんNGNG
>>458
>>128-129
0461デフォルトの名無しさんNGNG
>>459
.NET Frameworkはランタイムのことですよん
0462デフォルトの名無しさんNGNG
ははあ、なるほど。
そしてNET Frameworkと言うものは、
ダイレクトXとかみたいに誰でも簡単にネットから落とせたり、
パソコン雑誌の付録のcdについてきたりするものなのですか?
そうでないと、幾ら自分が一生懸命プログラムしても、
意味ないっすよね。
だって、visualc#を買った人しか使えないことになってしまいますからね。
0463デフォルトの名無しさんNGNG
>>462
NET Frameworkと言うものは、WindowsUpdateにあって
ダイレクトXとかみたいに誰でも簡単にネットから落とせるものですし、
次期Windowsには最初から組み込まれているものです。
.NETバンドルするなと訴える会社があるので今はXPなどにバンドルできないだけ。
0464デフォルトの名無しさんNGNG
>>462
再配布可能なバージョンがあるから.NET Framework自体もCDに焼いて他の人に渡せるよ。
0465デフォルトの名無しさんNGNG
そんなのダウンロードすることを強要できるわけないじゃないですか。
0466デフォルトの名無しさんNGNG
作ったソフトにその価値があればDLするとおもうよ
普及させるのはなかなか難しいと思うけどね
0467デフォルトの名無しさんNGNG
自分462ですが、
どうも色々とありがとうございました。
参考になったっす!!
0468デフォルトの名無しさんNGNG
>>467
>参考になったっす!!
いいなあ、あんた。
0469デフォルトの名無しさんNGNG
>>465
MS OfficeはWindowsを購入することを強要していますが、何か?
0470469NGNG
ごめん。嘘ついた。Linuxでも動くね。スマソ
0471デフォルトの名無しさんNGNG
DataGridのテーブル表示切替で困っています。
現在dataGrid1でマッチングをしているDataSet1.Table[A]を表示しています。
この表示をDataSet1.Table[B]に変更するために
 dataGrid1.DataMember = "tableB";
 dataGridTableStyle1.MappingName = "tableB"
として実行しているのですが
"フィールド tableB の子リストを作成できません。"
となってしまいます。
アプリ実行中にマッチング先を変更することは出来ないのでしょうか。
0472デフォルトの名無しさんNGNG
プロパテってなんか可愛くない?
0473デフォルトの名無しさんNGNG
感じるジャッカルネタ?
0474デフォルトの名無しさんNGNG
クロマテ
0475デフォルトの名無しさんNGNG
>>471
SetDataBinding
0476473NGNG
はねるのトびらネタと間違えた。。
ツッコまれてもないしスレ違いも甚だしいが訂正。
0477デフォルトの名無しさんNGNG
ブビ厨はなんで変なスレばかり立てるのですか?
0478デフォルトの名無しさんNGNG
プロパティ関連のエラーで出るよ>プロパテ
0479デフォルトの名無しさんNGNG
ファイルストリーム filestreamA の xPosition から xLength 分を
ファイルストリーム filestreamB として作りたいのだけど
一旦byte[]にする以外に方法はありますか?
0480デフォルトの名無しさんNGNG
自己解決しました。>>479
0481デフォルトの名無しさんNGNG
>>480 簡単でいいから解決法を書いとけ。ただの無駄レスで終わらすな。
0482名無しさん@Vim%ChaliceNGNG
public class Form1 : System.Windows.Forms.Form
{
   private System.Windows.Forms.TextBox textBox1;
   〜略〜
}
class test
{

}
フォーム(Form1)のテキストボックス(textBox1)を外部のクラス(test)から、操作するにはどうすればいいのでしょうか?
0483デフォルトの名無しさんNGNG
>>482
public class Form1 : System.Windows.Forms.Form
{
  private System.Windows.Forms.TextBox textBox1;
  〜略〜

  public TextBox TextBox {
    get {
        return textBox1;
    }
  }
}

Form1 form = new Form1();
form.TextBox.Text = "hoge";
0484名無しさん@Vim%ChaliceNGNG
>>483
ありがとうございます。
しかしデバッグ画面では変更されるのですが、テキストボックスの内容は変更されません。
どうしてでしょうか?
 public class Form1 : System.Windows.Forms.Form
 {
   private System.Windows.Forms.TextBox textBox1;
   〜略〜
 
   public TextBox TextBox {
     get {
         return textBox1;
     }
   }  
private void button1_Click(object sender, System.EventArgs e)
{
test.text_change();
}
 }
public class test
{
public static void text_change()
{
Form1 form=new Form1();
form.TextBox.Text="hoge";
Debug.WriteLine(form.TextBox.Text);
}
}
0485デフォルトの名無しさんNGNG
>>484
サンプルをそのままコピペされても・・・。
Form1 form = new Form1()は別のインスタンスだから。

そうやりたいなら

test.text_change(this);

public static void text_change(Form1 form)
{
 form.TextBox.Text = "hoge";
}
0486デフォルトの名無しさんNGNG
よろしくお願いします。

System.Diagnostics.Process.Start()でファイルを起動する際に
ファイルを起動するアプリケーションが関連付けされていない場合、
System.ComponentModel.Win32Exceptionの例外が発生しますが、例のごとくWindowsの
「このファイルは開けません。このファイルを開くには作成元のプログラム名が必要です。
インターネットで自動的にプログラムを検索するか、または……」ダイアログを表示するには
例外を受けた後、どのように処理すればいいのでしょうか。
0487486NGNG
ProcessStartInfo.ErrorDialog = true;
で出来ました。申し訳ありませんでした。
0488デフォルトの名無しさんNGNG
ファイル・ディレクトリ情報を
区別せずに読み込む方法はないでしょうか。
fileC.txt
fileA.txt
dirB (DIR)
fileB.txt
dirD (DIR)
ファイラーでいう所の「ソートなし・ディレクトリを先頭に集めない」
なリストを作りたいのです。
0489デフォルトの名無しさんNGNG
http://ja.gotdotnet.com/quickstart/howto/doc/RegexCommon.aspx

インターネットの URL http://([\w-]\.)+[\w-](/[\w- ./?%=]*)?
これって正しいですか ?
0490デフォルトの名無しさんNGNG
>>488
自作するんだから、区別せずに・・・もなにも、自由自在じゃないか。
0491デフォルトの名無しさんNGNG
まだGetDirectoryとGetFileしか知らないんです。
これだとディレクトリの一覧とファイルの一覧を作るので困ってます。

自由自在とはどんなやり方ですか?>>490

0492デフォルトの名無しさんNGNG
>>488
ファイルとディレクトリの操作
ttp://www.atmarkit.co.jp/fdotnet/csharptips/011directory/011directory.html
0493488NGNG
Directory.GetFileSystemEntries。
まだ試してませんがファイルシステムをそのまま読めそうです。
とても助かりました。色々やってみます。
0494_NGNG
http://homepage.mac.com/hiroyuki43/hankaku02.html
0495デフォルトの名無しさんNGNG
http://homepage3.nifty.com/coco-nut/
/(^口^)/
踊ろうゼイ! ζζζζζ ・・・。ξξξξξ 祭り♪
0496デフォルトの名無しさんNGNG
WIN32APIとは、なんですか?
0497デフォルトの名無しさんNGNG
>>496
Win32API 質問箱 Build11
http://pc2.2ch.net/test/read.cgi/tech/1052651750/
0498デフォルトの名無しさんNGNG
コンストラクタとは、なんですか?
0499デフォルトの名無しさんNGNG
C#入門
http://black.sakura.ne.jp/~third/cs.html

ここって見れないんですけど、
もう、終わってしまったのですか?
かなり気に入ってたのにな、、、。
0500デフォルトの名無しさんNGNG
>>499
http://black.sakura.ne.jp/~third/
0501デフォルトの名無しさんNGNG
>>500
おお、ありがとうございます!!
あれ?中身変わってないですか?
前は確か、こんなんじゃなかったっけ?

>C#入門
>第1回 はじめて触れるC#
>(株)ピーデー
>川俣 晶
0502デフォルトの名無しさんNGNG
>>501
それはココ
@IT:連載 改訂版 C#入門
http://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html
0503デフォルトの名無しさんNGNG
>>502
いやー本当にすいません。
私にとってあんたは神です。
大変に助かりましたです。
上記のリンク先、非常に気に入ってまして何回か読んでたのですが、
今回幾ら探しても見つからなくて、あれ、どうしたのかな?って感じだったのですが。
どうやら、内容もほんのちょっと変わってた感じなので、
アドレスとかも変わったのかな?
それにしても、
gooやその他の検索サイトとかで幾ら検索しても見つからなかったのは不思議だ、、、。
0504489NGNG
Regex http = new Regex(@"http://([\w-]+\.)+[\w-]+(/[\w-\./%=\\x3f]*)?", RegexOptions.Compiled);

自分なりにつくってみたんだけど,
URL の ? 以降が置換されなかったりして不完全です.
どなたか正解のご教授を!!
0505488NGNG
>>492
Directory.GetFileSystemEntries も
dirinfo.GetFileSystemInofs() も
ディレクトリが初めに処理され(先頭に集まる)
ディレクトリ・ファイル共に名前でソートされてしまいました。

ttp://www.atmarkit.co.jp/fdotnet/csharptips/011directory/011directory.html
ここを教えてもらいましたが、参照する情報間違ってますか?
0506デフォルトの名無しさんNGNG
>>505
自分でディレクトリ・ファイル込みでソート
0507488NGNG
>>506
ソートしたくないんです。
ファイルシステムのままリスト化したいんですが。

FAT情報のリスト化と言えば伝わるでしょうか?
0508デフォルトの名無しさんNGNG
>>507
そういうあまりにも処理系依存な部分は .NET Framework 標準ライブラリから極力排除されてる気がする。
素直に Win32 API 呼び出ししたら?
0509デフォルトの名無しさんNGNG
>>489
https?:\/\/[-\w.!~*'();\/?:@&=+\$,%\#]+

どこぞにこんなのあったけど。
Perl用らしいからエスケープ文字の異同があるかも。
0510デフォルトの名無しさんNGNG
>>508
そうでしたか残念です。
ありがとうございました。
0511デフォルトの名無しさんNGNG
DataSetの勉強中なんだけど、
型指定ありのDataSetを自動作成すると、
Nullだとフィールドプロパティで
「値は DBNull であるため取得できません」とか例外出ちゃいます。

文字列なら""で、数値なら0で返してくれるように、
どこかの設定で変更できるのでしょうか?
全部手で直さなきゃダメ?
0512デフォルトの名無しさんNGNG
>>511
これ?
ttp://www.microsoft.com/japan/msdn/netframework/changeinfo/Backwards1.0to1.1/default.asp#00000194
0513デフォルトの名無しさんNGNG
散々既出だと思いますが、
VisualStudio.NETにある
出たり隠れたりするタブみたいなコントロールを
実装したいと思って調べてみました。
どうやら、MSによって提供されていないみたいです。
ですが、これを自作した方がdllとして
公開されているのですが、
参考→ttp://www.codeproject.com/cs/miscctrl/ToolBox.asp
はっきり言ってライブラリを使うのは
ライブラリ厨みたいですごく気が引けてしまい、どうしたらいいか
迷っています。
どうしてもVSのタブみたいなコントロールを使いたいのですが、
どうすればいいでしょうか。
ソースを覗いて見ましたが、正直、自作するには
かなりの手間と時間が必要だと感じました。
かつ、明らかに自分より高いレベルの人が書いたサンプルがある状態で、
書き直そうともなかなか思えません。
変な質問ですが、どうすればいいでしょうか。
アドバイスお願いします。。

0514デフォルトの名無しさんNGNG
なんでだろ〜
public class WindowMenu : MenuItem
{
public WindowMenu()
{
this.MdiList = true;
this.Text = "ウィンドウ(&W)";
this.MenuItems.Add("上下に並べて表示(&H)");
this.MenuItems.Add("左右に並べて表示(&V)");
this.MenuItems.Add("重ねて表示(&C)");
this.MenuItems.Add("アイコンの整列(&A)");
this.MdiList = true;
}
public static void Main()
{
Form form = new Form();
MainMenu m = form.Menu = new MainMenu();
m.MenuItems.Add("ファイル(&F)").MenuItems.Add("終了(&X)");
m.MenuItems.Add(new WindowMenu());
//m.MenuItems.Add(new WindowMenu().CloneMenu());
form.IsMdiContainer = true;
Form child = new Form();
child.Text = "child";
child.MdiParent = form;
child.Show();
Application.Run(form);
}
}
0515511NGNG
>512
うーむ、近いけどちょっと違うみたい。
DBにNullのフィールドがあっても、プログラム側では""か0として
扱いたいだけなんだけど、、、

今まで、DBのテーブルと行に対応するクラスを書いて、
ビジネスロジックもそこに埋め込んでたから、
(行の数量を全部足して総数量とか)
ADO.NETではどうやろうかなあ。
型指定ありのDataSetが近いんだけど、
別ファイルのクラスにして欲しいんだよ。
TableとDataRowを継承してDataSetに放り込めるかな?
DBスキーマからクラスの自動作成は自作するかな。

ADOからADO.NETはかなーり変わってしまいましたが、
みなさんどうしてます?
0516デフォルトの名無しさんNGNG
ライブラリ厨ってなんだよプログラムなんて過程じゃなくて結果だよ人に厨って呼ばれるのなんて屁でもないねそうおもわなゐ
0517デフォルトの名無しさんNGNG
http://black.sakura.ne.jp/~third/system/msnet/msnet/00.097.jpg
こんな感じにテキストボックス並べて、間のところを
ドラッグで動かせるようにするにはどうすればいいですか?
0518デフォルトの名無しさんNGNG
>>517
Splitterクラスがあるからそれ貼り付ければいい
0519517NGNG
>>518
ありがとうございました。
0520デフォルトの名無しさんNGNG
iniファイルを使うにはどうすればいいですか?
0521デフォルトの名無しさんNGNG
>>520
宇宙仮面の C# プログラミング(ini ファイルのリード・ライト)
http://ukamen.hp.infoseek.co.jp/Programming/iniFile/
0522デフォルトの名無しさんNGNG
Iniファイルもろくに扱えないのかよ…
0523デフォルトの名無しさんNGNG
javaはインタプリタで
c#はコンパイラ
なのですかね?
0524デフォルトの名無しさんNGNG
VS.NETでC#を使ってWebサービスなんかのクライアントを作るときに、
WSDLを読み込みますよね.
実際にやり取りされているXMLをモニタするために、接続先のポート番号を
クライアント側で指定したいんですが、どこで指定すれば良いのでしょうか?

ソリューションエクスプローラーのWeb Referenceや*.wsdl書き換えても
上手くいかないんですけれど・・・
0525524NGNG
>>524
あぁ〜、自己レスです〜。
申し訳ありませんでした。ブラウザのインターネットオプションで、
localhostとポートを指定したら出来ました。

ただのHTTPだからですね、きっと。
0526デフォルトの名無しさんNGNG
>>523
.java → .class はコンパイラ
.class の実行はインタープリタ(JIT 方式のものもあり)。

.cs → .exe もコンパイラ
.exe の実行は JIT コンパイラ方式。
0527デフォルトの名無しさんNGNG
結局C#の推奨するデータ保存場所はどこなの?
exeについになったものとユーザーごとのデータそれぞれで。
0528デフォルトの名無しさんNGNG
>>527
ユーザーディレクトリだと思う。
0529デフォルトの名無しさんNGNG
>>528
保存する形式と読み書きに使うクラスは?
0530デフォルトの名無しさんNGNG
>>526
サンクス!!
0531デフォルトの名無しさんNGNG
http://ime.nu/ime.nu/chuchuplus.easter.ne.jp/
http://ime.nu/ime.nu/chuchuplus.easter.ne.jp/
http://ime.nu/ime.nu/chuchuplus.easter.ne.jp/
http://ime.nu/ime.nu/chuchuplus.easter.ne.jp/
http://ime.nu/ime.nu/chuchuplus.easter.ne.jp/
http://ime.nu/ime.nu/chuchuplus.easter.ne.jp/
http://ime.nu/ime.nu/chuchuplus.easter.ne.jp/
http://ime.nu/ime.nu/chuchuplus.easter.ne.jp/
0532デフォルトの名無しさんNGNG
C#のダイアログの作成画面で
画面を作成したいと思います。
ひとつのダイアログ内にモード切替ボタンを設置し、
モードが切り替えられたら、画面上に置かれている
コントロールをがらっと換える、というようなことをしたいのですが、
コードの実装面では切り替えボタンが押されたら
各コントロールのVisibleをtrue、またはfalseにすることで
実装できると思うのですが、
これだとダイアログエディタ上では
全てのコントロールが表示されたままで
ぐちゃぐちゃで一見してわかりにくいです。
これをなんとかする方法ってありませんか?
説明しにくいのですが、つまり、
ひとつのダイアログ上で例えば四つのコントロールの表示パターンが
あるとして、ダイアログ上でこれを綺麗に扱いたい、
ということです。
どうかよろしくお願いします。
0533どこを縦読み?NGNG
ダイアログを複数作っておけばいいんじゃなかろうか。
0534デフォルトの名無しさんNGNG
パネル使えばいいんとちゃうかい?
0535532NGNG
>534
パネル。。
こんなコントロールあったんですね。
是非使わせてもらいます。
ありがとうございました。
0536デフォルトの名無しさんNGNG
ついません。
C#でvs.netのツールボックスのようなコントロールはありませんか?
見つかりませぬ。
0537デフォルトの名無しさんNGNG
>>536
ツールバーの右の方に確か、並んでたよ。
マウスポインタを置いてみて吹き出しで文字が出てくるから
それで幾つか確認してミソ。
0538513NGNG
>513

>537
ないでしょ?
0539532NGNG
おかげさまでパネルコントロールを使うことで
ダイアログエディタ上で上手く多数のコントロールを
配置できそうです。
と、思ったのですが、
当方10枚以上のパネルを配備したのですが、
ダイアログエディタ上でぴったり重なったパネルコントロールを
上手く切り替えることができません。
クリックすると一番前面のパネルが選択されるので
最背面へ移動->一旦パネルの選択を解除
->再度一番前面のパネルをクリック 〜〜
を繰り返して、目的のパネルを探しています。
重なったパネルの数が多いのでこれもなかなか手間です。
なんとかいい方法ないでしょうか?
一枚一枚を微妙にずらして配備したのですが、
枚数が多いので、塵も積もればなんとやら、で同じ場所で
コントロールを配備して切り替える、というのから遠ざかってしまいました。
なんとかいい方法ないでしょうか?
0540デフォルトの名無しさんNGNG
>>539
パネルじゃなくて、UserControlを使用して別々の子フォームを作るとか
それならごちゃごちゃしなくていい
0541デフォルトの名無しさんNGNG
>>539
PropertyGridのところにコントロールを選べるコンボがあるよ。
0542デフォルトの名無しさんNGNG
C#のXML処理遅いなあ(´Д`;)
何とか高速化できないものか…
0543532NGNG
>532です。

>540
UserControl。。
初めてききます。
話しから察するにダイアログの中に別のダイアログを
埋め込むことのできるようなコントロールなのでしょうか?
もしそうだとすれば理想的です。
、と思って検索等で調べてみたのですが、
具体的な設定方法がわかりませんでした。
もしかして大きな勘違いをしているのでしょうか?
そうでなければ、是非使用方法を簡単にでいいので
教えていただきたいのですが。。

>541
ありがとうございます、これでパネルを使用する際のの切り替えの手間が
大分減らせれそうです。
感謝します。
0544デフォルトの名無しさんNGNG
>>543
C#.NETなら、「プロジェクト」→「ユーザーコントロールの追加」
で、フォームデザイナが出るから、そこに各コントロールを配置。
後は親フォームにControls.Add()すればいい。

>> ダイアログの中に別のダイアログ
簡単に言えばそんな感じかと。
0545532NGNG
>544
ありがとうございます。
言われた通りにフォームデザイナが起動した瞬間
「なるほど〜〜!!」と叫んでしまいました。
>> ダイアログの中に別のダイアログ
と私が表現していたものとは違い、
UserControlというのはひとつのコントロールの中に
いくつものコントロールを配備し、
それを全部あわせてひとつのコントロールとして扱うことの出来る
コントロール、というわけですね。
長々引っ張ってしまいましたが、非常に感謝しております。
ありがとうございましたー。
0546536NGNG
探してみたのですがやっぱりありません。
非常に残念です。
とりあえず他の方法を探してみます。
0547デフォルトの名無しさんNGNG
>>532
タブコントロール使えば良いのでは・・・?
0548デフォルトの名無しさんNGNG
なぁ、やっぱりVisual Studio .NETを使わないとダメか?
0549t-akiyamaNGNG
携帯ゲーム機"プレイステーションポータブル(PSP)

 このPSPは、新規格UMD(ユニバーサルメディアディスク)というディスクを利用しており、そのサイズは直径6cmととても小さい(CDの半分程度)。 容量は1.8GBとなっている。
画面は4.5インチのTFT液晶で、480px x 272px(16:9)。MPEG4の再生やポリゴンも表示可能。外部端子として、USB2.0とメモリースティックコネクタが用意されているという。

この際、スク・エニもGBAからPSPに乗り換えたらどうでしょう。スク・エニの場合、PSPの方が実力を出しやすいような気がするんですが。
任天堂が携帯ゲーム機で圧倒的なシェアをもってるなら、スク・エニがそれを崩してみるのもおもしろいですし。かつて、PS人気の引き金となったFF7のように。
0550デフォルトの名無しさんNGNG
>>548
便利さと時間を金で買うって発想がないならWindows使うメリットはないな。
0551デフォルトの名無しさんNGNG
>>538
ないならば、
ウインドウの上の方にはツールバーとメニューバーの二つが並んでて、
ツールバーにないのならば、メニューバーの
表示→ツールボックスと言う順にクリックすれば出てくるはずだと思う。
0552デフォルトの名無しさんNGNG
ヒープってなんですか?
プログラムから使える、
メモリ領域のことですか?
0553デフォルトの名無しさんNGNG
>>536 はOutlookのようなコントロールのこと?
0554デフォルトの名無しさんNGNG
>>551
VS.NET内のツールボックスを表示させたいのではなく
自分のプログラムに使いたいんだと主wれ
0555デフォルトの名無しさんNGNG
C#.NETで、関数の呼び出し履歴を表示する方法がわかりません。
たまに表示されることもあるんですが。
あと長時間するとプロパティウインドウが隠れっぱなしになったりするんですが、
これは環境がプアだからでしょうか?
0556デフォルトの名無しさんNGNG
>>555
[デバッグ]→[ウインドウ]→[呼び出し履歴]
これの事かな
0557デフォルトの名無しさんNGNG
>>556
はいそれです。
表示メニューのところばっか探してました。
ありがとうございました。
0558デフォルトの名無しさんNGNG
縦長のリストボックスが
左右に二つ並んでいてその中央に
<-
<<-
->
->>
というボタンのあるダイアログをよく見かけるのですが、
(決められた項目の中から複数選択する為の画面)
これを実装するにはリストボックスとボタンを使って
手動で作成するしかないのでしょうか?
よく見かけるのでそういうコントロールないのかな、と思ってます。
どうかよろしくです。
0559デフォルトの名無しさんNGNG
C#Builder日本語版の計画を知ってる人いる?

出ないはずは無いと思うんだけど,日本法人のニュースリリース見ると
日本語版出すと一言も書いてなくて不安・・・。
0560デフォルトの名無しさんNGNG
>>559
まだ英語版のProffesionalが出たばっかだし、他のArchitect版とかはアメリカでも出てないし。
まだしばらくかかるんじゃないの?

↓を見ると夏ごろリリースって書いてあるしね。
ttp://www.atmarkit.co.jp/news/200304/26/borland.html

不安がるにはまだ早いと思うよ。
0561デフォルトの名無しさんNGNG
>>558

ああ、よく見かけますね、それ。

「決められた項目の中から複数選択する」だけではなく、
選択された結果のリスト中の項目の順番を指定することが
できるようにしたい場合に、使われているような気がします。

このコントロールがライブラリの中にあるかどうかは知りませんが、
このようなコントロールをなんと呼ぶのか、名前を知りたいと思う。

0562デフォルトの名無しさんNGNG
複数のフォームがありまして、
それぞれのフォームでDatabaseから検索を行う際、
ひとつのConnectionオブジェクトを使いまわしたいと思います。
具体的な使用方法としては、コンストラクタの引数で渡したいと思います。
Adapter、Commandオブジェクトはそれぞれ受け側のダイアログで作成しますので、
当然デザイナ画面ではAdapterオブジェクトのそれぞれのCommandオブジェクトの
Connectionプロパティには引数で渡されてきたConnectionオブジェクトを
設定することはできません。
この状態でデータセットを作成しようとすると、Connectionオブジェクトが
この段階では設定されていない(デザイナからは見えない)ので
スキーマの取得に失敗してしまいます。
単一のConnectionをうまく使いまわしつつ、
デザイン画面でうまくCommandオブジェクトやDatasetを操作するには
どうすればいいのでしょうか?
SelectのCommandオブジェクトにしても動的にTextをいじるので
うまく扱えません。
よろしくお願いします。
0563デフォルトの名無しさんNGNG
>>560
よかった,安心した。

漏れみたいな個人ユーザ相手にしても大して儲からないとは言え,
VisualStudio2003のことを考えると,ボーランドは商売が上手いのか下手なのか・・・。
0564デフォルトの名無しさんNGNG
あー、c#覚えるのめんどくさい、、、。
どうせ、こんな機能つかわねえだろうってのも多いしな、、、。
クラスの色々な機能とか面どくさいっす。
はっきり言って覚える必要ないですよね?
0565デフォルトの名無しさんNGNG
>>564
そういう人は、Cに戻ってください。
C#は、重厚なクラスライブラリ、強力な構文にどっぷり漬かるための言語ですから。
0566デフォルトの名無しさんNGNG
>565
ハァ?
>564
覚える必要ないですよ。
ヘルプの出来もいいですし、コード補完も便利ですし、そういう方向性かと。
0567デフォルトの名無しさんNGNG
>>564-566
…しかし下手糞な自作自演だな。ツマラン
0568デフォルトの名無しさんNGNG
>>567=恥ずかしいことを言ってしまった>>565
0569デフォルトの名無しさんNGNG
>>568
あぁ、なるほど。そういうことか。
0570567NGNG
>>568-569
そんなにかまって欲しいのか?
面倒臭いとほざく奴は一生かかっても出来ないから安心しろ。
その程度の自演しか出来ない低脳ぶりじゃ何をやっても駄目だと思うがな。
>>564-566が自演なのは文体や読点の使い方を見れば判る。
自分で出来ないからといって質問スレを荒らすな。
0571デフォルトの名無しさんNGNG
>>570
必死ですね。別に悪いことじゃないですけど。
「必死過ぎ」にならないように気をつけてね。
0572デフォルトの名無しさんNGNG
こっちは煽りスレとは違うんであんま荒れないようによろしくどうぞ。
0573デフォルトの名無しさんNGNG
C#だけじゃないと思うんですけど、ツールバーのボタンを
グループボタンにできなくなったんですね。
どうするのですか(T_T)
0574デフォルトの名無しさんNGNG
>>573
グループボタンて何、、?
0575デフォルトの名無しさんNGNG
俺、564だけど、566じゃないっすよ。
マジで。
0576デフォルトの名無しさんNGNG
>>574
グループ化されたトグルボタンのことでは
0577デフォルトの名無しさんNGNG
まあ、結果として俺のせいで荒れてしまったようなのですいませんでした。
正直クラス関係の高度な機能、
ISとかそんなのとかやってらんねーとか感じちゃったもので、、、。
まあ、忘れてください。
0578デフォルトの名無しさんNGNG
必要な機能を探すのが面倒くさいから、MC++で勝手に作って使っている
0579JGreenerNGNG
C#でディレクトリピッカーみたいなダイアログって、実は標準でないんですか?
宇宙仮面さんのところにそんな記述が・・・。
みなさん、そんなダイアログがほしいときはどうしてますか?
なんかフリーのライブラリにあったりするんでしょうか。
0580デフォルトの名無しさんNGNG
みてね〜♪
http://www1.free-city.net/home/s-rf9/page004.html
0581デフォルトの名無しさんNGNG
共有アセンブリを利用したコンパイルについて教えて下さい。

仮にLibrary.dllというdllがGACに存在するとして
それを利用するClient.csをコンパイルするにはどうすればよいのでしょうか?

csc /t:exe /r:Library.dll Client.cs

で、自動的にGACを参照してくれるかなと期待したのですが、これは駄目でした。
/libパラメータも違うようですし・・。

分かる方が居ましたら教えて下さいませ。
0582デフォルトの名無しさんNGNG
>>579
その宇宙仮面の所にFolderNameEditor使うやり方があるはず。
自分はそれ使ってる。
.NET Framework1.1では標準であるらしい。
0583デフォルトの名無しさんNGNG
VS.NET2003には標準装備
でもあのインタフェイスは使いにくいから自分で作るけど
0584JGreenerNGNG
なるほどー。
.NET Framework1.1ってSDK配布してないんですね。
さ、さすがM$。

ありがとうでした。
0585デフォルトの名無しさんNGNG
>>581
GACは実行時に参照するけど、コンパイル時には見てくれない。
ので、アセンブリの実際にある場所を参照するしかない。
0586581NGNG
>>585
なるほどそうだったんですか。
参照するGACのDLLが、例えばSystem.Windows.Forms.dll
のような.NET Frameworkで用意されているようなDLLならば、

/r:System.Windows.Forms.dll

で参照されるようですが、これは特別ということなのでしょうか。
0587デフォルトの名無しさんNGNG
厳密名に関する質問です。

アセンブリをsnkファイルで署名すると、マニフェストファイルの
.assemblyタグ内に.publickeyディレクティブが生成されますよね。

これで指定されている値は、署名に使用したsnkファイルさえ一緒ならば、
どのアセンブリでも一意な値になるかと思いますが、
この値の正体は何者なんでしょうか??

署名に使用したsnkファイルをsn -tp xxx.snkコマンドで開き
公開キーを見ても、.publickeyディレクティブで指定されている値
とは全く別なものです。
0588デフォルトの名無しさんNGNG
>>586
理由は2つ
・デフォルトで csc.exe と同じディレクトリに /lib が通ってるから
・csc.rsp でデフォルト参照されるアセンブリが定義されているから
0589デフォルトの名無しさんNGNG
↑
ごめん、2つ目のは関係なかった。
0590581NGNG
>>588
なるほど、大変よく分かりました。
ありがとう御座いました。
0591_NGNG
http://homepage.mac.com/hiroyuki44/
0592cNGNG
SELECT to_char(log_date,'hh24:mi:ss')
cでプリントしたいのですがおねがいします
0593デフォルトの名無しさんNGNG
puts("SELECT to_char(log_date,'hh24:mi:ss') ");
0594デフォルトの名無しさんNGNG
dllのversionについてですが
実験的に、あるdllの1.0.0.1を参照するexeを生成して
そのdllの1.0.0.0と1.0.0.2をGACに入れたんですが
どちらもexeから参照されずに例外が出てしまいます。
無論どのバージョンでもpublickeytokenは同一であり
コード自体も全く同一です。

下二桁は互換性ありと.NETランタイムはみなしてくれるかと
思ったのですが、これはなぜでしょう??
0595デフォルトの名無しさんNGNG
vb の DoEvent に相当するメソッドはありますか?

というのは

private bool loopflg = true;

private void do_loop()
{
while (loopflg)
{
// なんらかの処理を
// やり続ける
}
}

private void button_Click(object sender, System.EventArgs e)
{
loopflg = false;
}

のように、ボタンが押された時に、ループを止める、という事が
やりたいのですが。おねがいします。
0596デフォルトの名無しさんNGNG
Application.DoEvents
0597デフォルトの名無しさんNGNG
VBはスレッドが使えないから苦肉の策でそうなっているだけであって、
C#でやるなら素直にスレッドを使うべき
0598デフォルトの名無しさんNGNG
 SharpDevelopで最近C#を始めたばかりの者です。
 プロジェクトの設定、で実行ファイルのアイコンを設定したのですが、そのアイコンをフォームのアイコンに設定するにはどうしたらよいでしょうか?
 C#というより、.NET側に関することだと思いますが、お願いします。
0599_NGNG
http://homepage.mac.com/hiroyuki44/
0600_NGNG
http://homepage.mac.com/hiroyuki44/
0601デフォルトの名無しさんNGNG
>>598
#develop Community Forum - Adding icon to form
http://www.icsharpcode.net/opensource/sd/forum/topic.asp?TOPIC_ID=2450
0602_NGNG
http://homepage.mac.com/hiroyuki44/
0603_NGNG
http://homepage.mac.com/hiroyuki44/
0604デフォルトの名無しさんNGNG
ListView(Details)の列サイズを、
Headerを表示させたまま変更不可にするにはどうすれば良いでしょうか?
0605_NGNG
http://homepage.mac.com/hiroyuki44/
0606_NGNG
http://homepage.mac.com/hiroyuki44/
0607_NGNG
http://homepage.mac.com/hiroyuki44/
0608_NGNG
http://homepage.mac.com/hiroyuki44/
0609598NGNG
>>601
(in C#)ResourceManager resources = new ResourceManager("MainForm", this.GetType().Assembly);
これでよいのでしょうか?今から試してみます。

実行ファイルのアイコンに設定したものとは別に、アイコンを埋め込むのじゃなく、参照だか何かで(this.Icon = Application.Iconみたいのがあればよいのだけれど)やりたいのです。
0610デフォルトの名無しさんNGNG
>>609
EXEのアイコンは環境依存だから無理じゃないかな?
WinではデフォでEXE内の最初のアイコンリソースを表示するけど、設定で変えられるはずだし。
他のプラットフォームでどうなるかわからないよ。
0611デフォルトの名無しさんNGNG
>>609
http://black.sakura.ne.jp/~third/system/msnet/msnet_win27.html
0612デフォルトの名無しさんNGNG
C#で作られたソフトって結構メモリ食うのですが、なんとかなりませんか?
0613デフォルトの名無しさんNGNG
Javaよりすくないからいーんじゃない?
0614598, 609NGNG
//this.Icon = new System.Drawing.Icon("sample.exe");
だとエラーになるんすよね。
Application.ExcutablePath とかも駄目だったし。

>>610
>WinではデフォでEXE内の最初のアイコンリソースを表示するけど
じゃぁ、とりあえず最初のアイコンリソースを参照する法宝ってありますか?
>他のプラットフォームでどうなるかわからないよ。
まぁ、とりあえず最近マックもBSDも使ってないし、当面Microsoft .NET/Microsoft WindowsMeでやるし、
他のプラットフォームに移すときには、そこだけ別のコードにするかコメントアウトすればよいだろうし。
0615デフォルトの名無しさんNGNG
>>614
this.Icon = new System.Drawing.Icon("icon.ico");
これで出来たけど
0616598, 609, 614NGNG
>>615
>this.Icon = new System.Drawing.Icon("icon.ico");
>これで出来たけど
いや、それはアイコンを別ファイルから読み込んでるんだし、出来るのは知ってる。
俺が言ってるのは
this.Icon = new System.Drawing.Icon("sample.exe");
って感じで、EXE自身から読み込みたいってこと。
0617デフォルトの名無しさんNGNG
>>616
Win32API
0618デフォルトの名無しさんNGNG
>>612
ウインドウをいったん最小化して元に戻す
0619デフォルトの名無しさんNGNG
ポップアップメニューに水平線を追加するにはどうすれば?
0620デフォルトの名無しさんNGNG
水平線を示す記号を一文字入れるだけ
0621デフォルトの名無しさんNGNG
1970年1月1日からの秒数ってどこからわかりますか?
0622デフォルトの名無しさんNGNG
>>621
DateTime now = DateTime.Now;
TimeSpan t = now.Subtract(new DateTime(1970, 1, 1));

t.TotalSeconds;

でいいんかな
0623デフォルトの名無しさんNGNG
引数で受けたHWNDをC#で使うにはどうしたらいいですか?
0624デフォルトの名無しさんNGNG
パケット通信中にボタンを表示させようとすると、なぜか無限ループに陥ってしまいます。
通信先のサーバーをシャットダウンすると直るのですが、この症状は何が原因でしょうか?
0625デフォルトの名無しさんNGNG
ループの脱出条件は?
0626デフォルトの名無しさんNGNG
C# でリモートのマシンに Node Status Request を送って
NetBIOS 名を取る方法をご教授くださいゴルア
0627デフォルトの名無しさんNGNG
C#で文字列操作したいのだが、Stringクラスは扱いにくいです
たとえば日付変換で20040212を2002 11 3のフォーマットにするとき
Stringクラスでできますか?いろいろためしました
なんかヒントください
0628デフォルトの名無しさんNGNG
>>627
Stringのリファレンスを読んでください
0629デフォルトの名無しさんNGNG
>>627
DateTimeクラスやRegexクラスとか。
0630627NGNG
>>628
StringクラスにCharsというプロパティがあって
Stringクラスを添え字で入れ替えできるとありました
しかし、コーディングしてみるとCharsプロパティがありません
これはバグですか?
C言語のChar[]のように自由に入れ替えたいのですが
StringクラスもSystem.Text.StringBuilderも書き換え禁止みたいですよ
クラス=”文字列”もできないし

>>627
DateTimeクラスは別で使えそうですが、
特殊なフォーマットには対応してないみたいです
9999△△9△2みたいに半角スペースがはいったやつは手作業で
やったほうがいいみたいです

こまったことにTextBox.Textに入力して扱いたいので
どうしたらよいでしょうか?
0631デフォルトの名無しさんNGNG
>>630
本当にドキュメント読んでるのかはなはだ疑問だな・・・。
入れ替えできるなどとは一言も書いてないし、
文字列のフォーマットもCharsのこともちゃんと書いてあるぞ。

string org = "20040212";
string str = string.Format( "{0} {1} {2}", org.Substring( 0, 4 ),
int.Parse( org.Substring( 4, 2 ) ), int.Parse( org.Substring( 6, 2 ) ) );
0632デフォルトの名無しさんNGNG
クラス=”文字列”ってなんだろう・・・・。
0633デフォルトの名無しさんNGNG
>>632
意味がわかんないけど、stringクラスの話なの?
operatorが無かったら使い物にならないよ。
0634デフォルトの名無しさんNGNG
630は
> クラス=”文字列”もできないし
について説明すべきだ
0635633NGNG
630か、スマソ。
あきらかに馬鹿っぽいから読んでなかった。
0636デフォルトの名無しさんNGNG
http://homepage3.nifty.com/midori_no_bike/
って結構良くないですか?
0637デフォルトの名無しさんNGNG
テキストボックスに指定したテキストを指定した色で追加するというようなメソッドはありますか?
0638デフォルトの名無しさんNGNG
>>630
>9999△△9△2みたいに半角スペースがはいったやつ

DateTime date = DateTime.Parse("9999 9 1");
できるよ。

というか日付弄るなら、
DateTimePickerとかもっと他の扱いやすい方法があるはず。
0639デフォルトの名無しさんNGNG
今、環境がないので、試せないのですが、

配列のコピーで、

int[] dst = new int[size];
for(int i = 0; i < size; i++) {
 dst[i] = src[i];
}

と

int[] dst = new int[size];
Array.Copy(src, dst, size);

は、どちらが速いでしょう?
0640639NGNG
上げてみよう。
0641デフォルトの名無しさんNGNG
>>639
Array.CopyはInternalCallでネイティブのみでやってるのでこっちの方が速い。
http://dotnet.di.unipi.it/Content/sscli/docs/doxygen/fx/bcl/array_8cs-source.html
0642デフォルトの名無しさんNGNG
チャット等で、TextBoxにテキストを追加しても自動的にスクロールしてくれないのですが、
自動的にスクロールさせるにはどうすれば。
0643630NGNG
訂正前 クラス = ”fdfsdf”;
訂正後 インスタンス = ”sdfd”;

なかなかMSDNが読めなくて(汗
日付の件ですが日付のようで文字列なんです
入力するときもデータベースに格納するのき
も文字列形式なんで日付クラスを使うか悩んでます
でも、原始的な方法でできました。

StringClass.insertでやりました
いちおう報告です
0644デフォルトの名無しさんNGNG
おれは630は別の言語の話をしているようでならない・・・
stringは代入も出来るしフォーマットも出来るし
ってゆーかStringClass.insertってなんだ??
0645630NGNG
すまん、、、、C#なんですが
string str;
str = "aBC";
aa[0] = 'A';こうゆうのができない
しかたなく
str.substring(0,'A');
str.insert()のようなメソッドでやってます
という使い方を間違っていたかもしれません
0646630NGNG
日付に関しては
"20030627" ^-> "2003 627"というフォーマットに変換
するにもDateTimeクラスの扱いは俺には理解に苦しい、、
だからこうするしかない
str = str.substring(); ← これのくりかえし
0647デフォルトの名無しさんNGNG
日付のフォーマットは631に答えが出てるだろうが
0648デフォルトの名無しさんNGNG
■■■かわいそうな「ゲーム君」を2ちゃんの力でトップにしよう!■■■

HSPプログラムコンテスト2003オンライン投票
http://www.onionsoft.net/hsp/contest2003/entryn1.html

HSPプログラムコンテスト2003に一番乗りで出展したものの              
Windowsに標準でついてくるゲームを手軽に起動できるという(というかただのショートカットつめあわせ)
しょーもないプログラムでたたかれまくっているプログラミング暦3年(!)の高校生の
作品、ゲーム君をみんなの力で一位にしよう。
【【【 投票方法 】】】                              
http://www.onionsoft.net/hsp/contest2003/entryn1.html の一番下、エントリーNo8の「ゲーム君」
評価を「A」で選んでコメントを記入して「送信」(コメントいれるとなおよし)                  
http://www.onionsoft.net/hsp/contest2003/eval/eval.cgi?md=cmt&id=8             
でいままで送信されたコメントが見えるよ!(けっこう笑える)    
順位 http://www.onionsoft.net/hsp/contest2003/eval/eval.cgi           
0649デフォルトの名無しさんNGNG
BinaryReaderにはReadBytesなんてありますが、
ビット単位で操作できるReadBitsなんていうのを
持っているクラスはないですか?
0650デフォルトの名無しさんNGNG
それはつまり単純に演算をかませば済むことを
5+6
とか自分で書かずに、専用クラスは無いかと聞いているのか?
凄まじく無駄だと思うのだが
0651649NGNG
検索とかかなり面倒な気がして。
0652デフォルトの名無しさんNGNG
ReadBitsが上から読むか下から読むかあいまいで宗教戦争の元になる
ほしいなら自分で作れ
0653デフォルトの名無しさんNGNG
下から読むことあんの?
0654デフォルトの名無しさんNGNG
インディアン嘘つかない。
0655デフォルトの名無しさんNGNG
>>645
うまい。でも、BinaryReaderを例に挙げてるから・・・
0656デフォルトの名無しさんNGNG
.NETってエンディアンについてなにか規定されてたっけ
0657デフォルトの名無しさんNGNG
すいません、
リストボックスの選択項目によって
スイッチ文で分岐処理をさせたい場合のプログラムなのですが、
そのときの変数はtypeで良いのでしょうか?
でも、typeで分岐させてもそう言う識別子は存在しないと言うエラーが発生してしまうのです。
どうしたら良いかわかりません。
お願いします。
0658デフォルトの名無しさんNGNG
>>657
整数か文字列にしないと。
0659デフォルトの名無しさんNGNG
c:\visual c#.net\chap02\データ型\Form1.cs(151): 'System.Windows.Forms.Control.text' はアクセスできない保護レベルになっています。
このエラーメッセージにはどう対応したらよいのでしょうか?
0660デフォルトの名無しさんNGNG
アクセスできる保護レベルにしてください
0661デフォルトの名無しさんNGNG
リストボックスのプログラムからの利用の仕方とかってどう勉強したら良いんですかね?
どこかに
詳しく紹介してあるサイトとかないですかね?
かなり行き詰ってます。
助けてー。
0662デフォルトの名無しさんNGNG
>>661
よーわからんがこれとか

http://www.syncfusion.com/FAQ/WinForms/FAQ_c90c.asp
0663デフォルトの名無しさんNGNG
ぎゃあ、英語だー!!
うえーん。
やはり英語がしゃべれる人じゃないと、c#プログラマーにはなれないのかなー。
もう、駄目ポ、、、。
0664デフォルトの名無しさんNGNG
別に話せる必要はない
読めればいいし、読めなければ翻訳ソフトでも使えばいい
対処の方法を考えようともしないところが駄目
0665デフォルトの名無しさんNGNG
翻訳ソフトもってないんすよ。
0666デフォルトの名無しさんNGNG
>>665
http://nifty.amikai.com/amiweb/browser.jsp?url=http://www.syncfusion.com/FAQ/WinForms/FAQ_c90c.asp&langpair=1%2C2&toolbar=no&lang=JA&c_id=nifty

日本語読解能力も必要になるが。
0667デフォルトの名無しさんNGNG
本当に、色々とすいません。
日本語は勿論読めますが、
リンク先の日本語が読めるか微妙ですが、
頑張ってみます。
0668デフォルトの名無しさんNGNG
Windows フォームのクイック スタート チュートリアル
http://ja.gotdotnet.com/quickstart/winforms/default.aspx
0669デフォルトの名無しさんNGNG
>リストボックスの選択項目によってスイッチ文で分岐処理をさせたい

switch(listBox1.SelectedItem.ToString())
{
    case "A":
     .
     .
     .
}

これだけの話じゃないの?
0670デフォルトの名無しさんNGNG
自分は657、659、661、663、665の者ですが、
どうも、visualc#.NETを買ったときにについてくる、
マニュアルの内容が間違ってたみたいです。
マニュアルどおりにコーディングしたのに、プログラムが正常に作動せず、
おかしいなそんなわけ分けないだろ、俺はちゃんと入力してるはずだと
思ってましたが、どうやらそもそもマニュアルが間違ってるようですね。
すいませんでした。
>>668>>669
おお、ありがとうございます。
今度はこれを試してみます。
すいません。
0671デフォルトの名無しさんNGNG
自分でUserControlを派生させて作成したコントロールを
フォームに貼り付けて利用しています。
ユーザーコントロールにフォームでいうところの
AcceptButtonにボタンを設定したような動作をするボタンを実装させたいですが、
そのようなプロパティがなく困っています。
まず、フォーム側でエンターキーが押されたら
ユーザーコントロール側のボタンのPerformClick()を呼んでみました。
仮に押したいボタンをButton1とします。
Button1.PerformClick();
こうするとユーザーコントロール上のButton2がアクティブな場合にも
当然Button1のクリックイベントが発生してしまいやっぱり駄目でした。
どうやればAcceptButtonプロパティを設定したかのような
動作をさせることができるのでしょうか?
よろしくお願いします。



0672あぼーんNGNG
あぼーん
0673デフォルトの名無しさんNGNG
なんとなく思うんだが、
>>670は C# が大文字と小文字を区別する事を知らない気がする。
0674デフォルトの名無しさんNGNG
>>670

----------
>>657
>>でも、typeで分岐させてもそう言う識別子は存在しないと言うエラーが発生してしまうのです。

>>659
>>c:\visual c#.net\chap02\データ型\Form1.cs(151): 'System.Windows.Forms.Control.text' はアクセスできない保護レベルになっています。
----------

明らかに打ち間違いっぽいな。
0675デフォルトの名無しさんNGNG
>>673>>674
いやいや、幾らなんでも自分はそこまでアホではないですよ。
私はアセンブラやC、ベーシック、コボルと
今まで素人なりにかなりのプログラムには親しんできたつもりです。
ただ、最近のブームである
コンポーネント指向や、オブジェクト指向には全然ついて行ってない者なのです。
そのため、c++やvbなどには全然精通していなくて、
いきなりc#へ行ったので混乱してるのではないかと自分では思っとりますです。
プラットフォームもDOSまでしか知らずWINプログラムのメカニズムには詳しくないですし。
実際にc#を学んでて思うことは、vbやc++を前提にして説明してることが多いなーと言うことですね。
と言うわけで、やはり段階を踏んでVBやc++から学んで行ってたら俺ももっとスムーズに
学べたのかもなーと思っています。
まあ、そんなことは言っててもしょうがないのでこのまま頑張ってみますですよ。ハイ。
0676デフォルトの名無しさんNGNG
>>675
結局大文字小文字は間違ってないの?
0677デフォルトの名無しさんNGNG
>>675
気付いてないのかもしれないから念のため。
textじゃなくてTextだと皆言っている。

自分が間違っているのにヘルプが間違っているなんて言っているから、
皆あきれている。
0678デフォルトの名無しさんNGNG
お聞きしたいことがあります。
C#をはじめたばかりなのですが、試しに時計を作ってみようとしています。
それで、日本以外(例えばドイツのベルリン)の時間を表示しようとしているのですが、
どうやっても他の国のタイムゾーンの時間を取得できません。
CultureInfo とか TimeZoneとか使っても、表示形式(format?)しか変えられませんでした。
どのようにすればよいのでしょうか?
0679デフォルトの名無しさんNGNG
>>675
素人でコボルやるやつっているのか。

しかし、CやってたんならText()をtext()とか間違ったりないよなぁ
・・・とか思ってみる。
0680デフォルトの名無しさんNGNG
>>678
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconformattingobjectsforspecificculture.asp
0681デフォルトの名無しさんNGNG
>>680
早速のレスありがとうございます。
ちょっとがんばってやってみます。
0682678NGNG
>>680さんに張っていただいたリンク先の
「タイムゾーンの使用」を元に以下のようなコードを
書いてみたのですが、やはり日本のオフセットでしか
取れませんでした。
どこか勘違いしているのでしょうか?

CultureInfo English = new CultureInfo("en-US");
Thread.CurrentThread.CurrentCulture = English;
DateTime LocalTime = new DateTime(DateTime.Now.Ticks);
DateTime UtcTime = LocalTime.ToUniversalTime();
String StandardFormat = "MM/dd/yyyy hh:mm:sszzz";
String strLocalTime = LocalTime.ToString(StandardFormat);

Label1.Text = strLocalTime
0683デフォルトの名無しさんNGNG
>>676>>677>>679
私がコボルを習得したのは情報処理の専門学校へ行ってたときです。
結構前の話で、まだコボルを勉強する機会があった最後のほうですね。
結局卒業する頃にはその学校の方針も変わって
もうコボルの時代ではない、これからはCをやれと言う話になって、
なんじゃいそりゃ!って感じでしたね。当時は。
あれは、確か92,3年の頃の話で、WIN3,1の時代でした。
で、大文字と小文字は私は本当に間違ってないです。
確かにコピペした時はおかしくなってましたが、それはマニュアルを信用できないと判断して、
大文字や小文字、他の識別子などに色々と変えてみてチャレンジしてた過程での話ですんで、、、。
で、マニュアルの間違いについてですが、それを一応報告しておきます。
私と同じような初心者のつまずきを防ぐ意味もあるでしょうし、
私のせいでお騒がせしてしまったみなさんにも一応報告しておきたいと思いますので、、、。
0684デフォルトの名無しさんNGNG
visulal c#.net Standard
製品に同梱されてる
「今からはじめるVisual c#.net」
と言うマニュアルの
2,7 primitiveDataTypesサンプルプログラム
のソースの部分で、以下の識別子が間違えています。

・label2とlabel3を混同している。
・typeとlistbox1を間違えている。
・valueとtextBox1を間違えている。
・quitとbutton1を間違えている。
以上です。
幾つかの間違いはコーディングの段階で自分でも気がついたのですが、
litbox1については最後まで解らなかったですね。
ただし、デザインビューの部分でのプロパティウインドウのNemeの項目の部分が、
実際のコードウインドウでのソースコード内で使われる識別子であると言うことが解れば
別に何でもない部分でしたね。
でも、そう言うことがマニュアルで説明されてない段階でのレッスンであったために
私と同じような部分でつまずく人は多いのではないかと思います。
0685デフォルトの名無しさんNGNG
最終更新日: 2001/5/16

「今からはじめる Visual C# .NET」 サンプルコード
Visual C# .NET Standard に同梱されている入門者向け書籍
「今からはじめる Visual C# .NET」 で使用しているサンプルコードのダウンロードを開始しました。

http://www.microsoft.com/japan/msdn/vstudio/stdbook/samples.asp
0686デフォルトの名無しさんNGNG
>>685
あれま!!
今まで自分でコーディングしてたのが、馬鹿みたいですね。
でも、素晴らしいリンク先を紹介してくださって嬉しいです。
感謝!!
0687デフォルトの名無しさんNGNG
もっと言えば、
マニュアルの(名前)の部分と(NAME)の部分が間違いだったとも言える。
そこだけに着目すれば、間違いは1つだけになる。
だが、確かに言葉の意味合いは同じだけど、プログラムで文字が違うのはやっぱり痛いですね。
0688デフォルトの名無しさんNGNG
TreeViewの選択ノードをフルパスで取得保存しておき、
次に起動したときそれを元にツリーを構成し、ノード選択状態にする場合、
取得しておいたフルパスをノード単位に分割して一つずつ判別していく方法しかない?
0689デフォルトの名無しさんNGNG
>>682
標準時さえ分かったら後は足し算引き算。
ユーザのUTCからの時差は実行時にしか分からないが
ある地域の時差はソース書く段階で分かるだろ。
0690デフォルトの名無しさんNGNG
c#って日本語の識別子が使えるんだね。
ネーム空間や変数クラスなどに
もう、自分、日本語の識別子使いまくりですよ。
いやー読みやすくって良いですよねー。


、、、本当はいけないことなのかな、、、?
0691デフォルトの名無しさんNGNG
>>690
MS は多言語対応ちゃんとしてるから特に問題はないと思われ。
でも、いちいちIMEで変換するのが面倒だろ。
0692デフォルトの名無しさんNGNG
もう、
int 変数A、変数b;
とか、
class クラスA;
とか、やりたい放題ですよ。
いや、cやアセンブラとかの頃とは全然違うこのやりやすさ。良いですねー、、、。
0693デフォルトの名無しさんNGNG

モナー _モナー = new モナー();

_モナー.オマエモナー();


うむ、やりたい放題だ。
0694678NGNG
>>689
レスありがとうございます。
えーと、それはまずどこかのHPとか書籍で時差を調べてから
足し引きのコード書いて時間を出す。ということですよね。
全部ソース内で計算させることは不可能ってことでしょうか。

先輩がVBで全部、内部で処理しているらしいので、C#でも出来るかな
と思ったのですが。無理かな?

うー。がんばって時差調べます。
0695デフォルトの名無しさんNGNG

for(int i = 0; i < array.Length; i++)
と書くのと、ループの先頭に戻るたびに Length プロパティを参照しに行っちゃうんですかね?

int a = array.Length;
for(int i = 0; i < a; i++)
と書いたほうがいいんでしょうか。
0696デフォルトの名無しさんNGNG
>>695
自分で作ったクラスをデバッグで確認すればわかるけど、毎回参照する。
といっても、配列のLengthならいちいち別の変数にコピーする必要なんてないと思う
0697デフォルトの名無しさんNGNG
>>695
そのくらいコンパイラが見抜いてくれるのでどっちでも同じ。
0698デフォルトの名無しさんNGNG
>>697 追記
やっと見つかった。
http://www.microsoft.com/japan/msdn/net/general/dotnetperftechs.asp
0699デフォルトの名無しさんNGNG
>>695
こういうのって昔のプログラマーの考え方だよね
今は重いソフトをいかに作れるかが問題
0700デフォルトの名無しさんNGNG
質問
画像VIWERを作ってるのですが
PictureBoxを表示した画像のファイルを削除しようとすると
他のプロセスが使用中となって削除できません。
一旦PictureBoxを削除しないとダメなのでしょうか?

画像ファイルをクローンしたりいろいろしましたがうまくいきません
よろしくお願いします
0701デフォルトの名無しさんNGNG
>>700
C♯相談室 のログに同じネタあったような。
0702デフォルトの名無しさんNGNG
>>701
お、そうですか?
くだすれのログしか見てなかった
ここの過去ログに載ってるやり方だとうまくいかなかったので
そっち見てきます
0703デフォルトの名無しさんNGNG
>>702
ありゃ、ここにもあったんだ。
相談室じゃなかったかな。
違ってたらスマソ
0704700NGNG
>>703
相談室全過去スレ
pictureと画像で検索したけどありませんでした

pictureBoxがファイルにアクセスしてるから
それを解除したらいいと思うんだけど・・・んーむずかしい
0705デフォルトの名無しさんNGNG
ああ、それ俺が答えた気がする。
結局ストリームから読み込んでそれを明示的に閉じるようにすればできるんだが。
0706デフォルトの名無しさんNGNG
>>705
ストリームに取り込むとはこういう感じでしょうか?
理解できてないせいかうまくいきません

FileInfo fi=new FileInfo(filename);
FileStream fs=fi.Open(FileMode.Open,FileAccess.ReadWrite);
fs.Close();
fi.Deleted();

0707デフォルトの名無しさんNGNG
これでどうかね

string fileName = "sample.jpg";

Stream stream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
Image image = new Bitmap(stream);
stream.Close();

File.Delete(fileName);
0708デフォルトの名無しさんNGNG
>>707
遅レスですいません
それでも、別のプロセスが使用中と出て削除できません・・・
何が悪いんだろ・・・
0709デフォルトの名無しさんNGNG
>>708
んなあほな。ちゃんと試したのか?
俺は>>707じゃなくて>>705だが、>>707のソースで問題なく削除できる。
もちろんCloseしなければ他プロセス使用中の例外が出る。
0710706NGNG
>>709
そのままコピペしてやりましたがだめでした。

どのプロセスが使用中か調べる方法ってありますか?
0711706NGNG
File.Delete(fileName);
この部分で「別のプロセスが使用中」と出ます
0712デフォルトの名無しさんNGNG
何だ?仕様変更があったのか?
俺が使ってるのはv1.0.3705だが。
お前本当に
public static void Main() {
string fileName = "sample.jpg";

Stream stream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
Image image = new Bitmap(stream);
stream.Close();

File.Delete(fileName);
}
ってやってみたのかよ?
もしそれでも例外でるなら、実際に他のプロセスが使ってるんだろ(シェルとか
0713デフォルトの名無しさんNGNG
>>711
VSが握ってるんじゃないの?
VS再起動するとか。
0714706NGNG
>>712
v1.0.3705.288で最新です
Mainではなくて関数でやってます。
別関数でpictureBoxに画像表示して
また、別の関数でそのファイル削除しようとしてます
これがいけないんでしょうか?

>>713
再起動してもだめでした
0715706NGNG
追記
それとフォルダ内のファイルの一覧をリストボックスに表示してます
0716デフォルトの名無しさんNGNG
>>715
とりあえず

>別関数でpictureBoxに画像表示
>別の関数でそのファイル削除

ここのコードうpしる
0717デフォルトの名無しさんNGNG
RichTextBoxにテキストを追加した時に、
自動的に最後の行までスクロールさせたいのですが、どうすれば。
0718706NGNG
>>716
ご助言お願いします
protected void PicView()
{
//ファイルが存在するかチェック
if(CheckFile())
{
pictureBox1.Image=Image.FromFile(fileListBox.SelectedItem.ToString());
//this.Size=pictureBox1.Size;
}
}
0719706NGNG
protected void DelFile()
{
string fname=fileListBox.SelectedItem.ToString();
int idx=fileListBox.SelectedIndex;

Stream stream = new FileStream(fname, FileMode.Open, FileAccess.Read);
Image image = new Bitmap(stream);
stream.Close();

//最後のファイルだと次のフォルダのファイルリストが表示されてるため
//最後のファイルでない場合だけファイルリストの項目を削除
if(idx!=fileListBox.Items.Count-1)//削除対象が最後のファイルでないなら
{
NextSelect();//次のファイルにを選択
fileListBox.Items.RemoveAt(idx);
}
else
NextSelect();
PicView();

File.Delete(fname);
}
0720707,716NGNG
>>719
そりゃないよ・゚・(つД`)・゚・

0721706NGNG
>>720
?
見え難いですか?空白にスペース入れるやり方わからなくて・・?
??

どこがいけないんでしょ?
0722デフォルトの名無しさんNGNG
なんだこりゃ。話聞いてたのか?

0723707,716NGNG
>>721
いや、、、まさか本当にコピペされてるとは思わなかった。



Stream stream = new FileStream(fname, FileMode.Open, FileAccess.Read);
pictureBox1.Image = new Bitmap(stream);
stream.Close();

こういうことを言いたかった
0724706NGNG
>>723
そうでしたか。。
一応その通りやったのですが、やはりプロセスエラーになります・・・
0725707,716NGNG
今試しにやったけど、出来たよ
void ViewFileList(string directory)
{
listBoxFiles.Items.Clear();

string[] files = Directory.GetFiles(directory, "*.jpg");

foreach (string file in files)
listBoxFiles.Items.Add(file);
}

void DeleteImage()
{
string fileName = listBoxFiles.SelectedItem.ToString();
File.Delete(fileName);
}

void ViewImage()
{
string fileName = listBoxFiles.SelectedItem.ToString();
Stream st = new FileStream(fileName, FileMode.Open, FileAccess.Read);
pictureBox1.Image = new Bitmap(st);
st.Close();
}
0726706NGNG

なるほど!!
画像表示させたら、すぐストリーム閉じてるんですね?
閉じないとずっと開きっぱなしになるのか・・

DelFile()関数の先頭に↓追加したら
pictureBox1.Image.Dispose();
1回だけ表示されたのは普通に削除できるけど
2度開いたのはプロセスエラーなるのは
表示されるごとに、ストリームが増えるためだったんですね!

それで試して見ます。お世話かけました
ありがとうございます
0727706NGNG
>>725
試して見たら、うまくいきました!
最近の言語って簡単になった分、見えないところでいろいろやってるんですねー
pictureBoxってファイルストリーム開いたら、閉じないで開きっぱなしにしてるのか
助かりました、ありがとう!
0728デフォルトの名無しさんNGNG
>>727
お前本当に>>712を読んだのか?ちょっと腹立つ。
0729717NGNG
なんか変なのにかき消されてるなぁ(´・ω・`)

logArea.SelectionStart = logArea.Text.Length;
logArea.Focus();
logArea.ScrollToCaret();
とやって自動スクロール自体は実装できたのですが、
どういうわけかFocusメソッドが最初の一回しか成功しません。
Focusメソッドがfalseを返す原因って何がありますか?
0730デフォルトの名無しさんNGNG
コメントにxmlを使って書きますが、あれを自動的にドキュメントにしてくれるツールとかでいいのは無いでしょうか?
いいのがあったら紹介してください。
ms-help://...
で使えるようになったら一番いいのですが・・・
0731デフォルトの名無しさんNGNG
>>730
VS.NET付属の使うとか、NDocとか。
たしかNDocはMSDN型式にしてくれたと思う。
0732デフォルトの名無しさんNGNG
>>731
>VS.NET付属
これはどうやって使うのですか?
メニューを一通りみたのですが、見つからないです
コマンドラインから直接使うとかするのでしょうか?
0733デフォルトの名無しさんNGNG
>>732
割れ厨ですか?
0734デフォルトの名無しさんNGNG
>>732
Visual C# .NETでAPIリファレンスを作る
http://www.atmarkit.co.jp/fdotnet/teamdev/teamdev01/teamdev01_01.html
0735デフォルトの名無しさんNGNG
>>734
有難うございます、これは助かります。
>>733
正規ユーザーです、なんでも割れ厨にしない!
0736デフォルトの名無しさんNGNG
正規の割れユーザなんているのか
0737デフォルトの名無しさんNGNG
>>735
君がユーザー登録できたら正規ユーザーと認めるよ
0738デフォルトの名無しさんNGNG
インストール時に認証手続きがあるから割れユーザーになれないのでは?
0739デフォルトの名無しさんNGNG
>>738
認証クラックパッチなんて出回ってるじゃん
つーか、プログラマなら認証クラックするの余裕じゃん
0740デフォルトの名無しさんNGNG
>>739
プログラマを勘違いしているな。
0741デフォルトの名無しさんNGNG
>>739
お前の言うプログラマとは何だ?w
0742デフォルトの名無しさんNGNG
逆アセンブルもできないのにプログラマですか?
デバッグできないプログラマなんて誰が必要とするのだ?w
おれはプログラマじゃないが認証クラックの仕方ぐらいわかるぞw
0743デフォルトの名無しさんNGNG
そりゃその辺りに落ちているツールを使えばプログラマじゃなくても分かる
0744デフォルトの名無しさんNGNG
ファイルを右クリックしてプロパティの概要を見てみると、タイトルとか表題とかいろいろありますよね。
それを取得したり設定したりしたいのですが、いろいろ探しても手がかりすら見つかりません。
誰か知っている人がいるなら、教えていただけないでしょうか?
0745デフォルトの名無しさんNGNG
>>743
クラックすることができるって言ってるんだよ
お前やり方知らないのか?( ´,_ゝ`)プッ
機械語って意味わかる?( ´,_ゝ`)プッ
最近のプログラマは高級言語しか使ったことないですか?そうですか
0746デフォルトの名無しさんNGNG
>>744
ContextMenu
0747デフォルトの名無しさんNGNG
>>746
いや、そういうことではなくて、Explorerなどで表示されているファイルを右クリック、プロパティを表示して、
概要タブを見てみると、タイトル、表題とかのテキストボックスがいろいろ並んでますよね。
そのテキストボックスに入っている値を取得したりしたいのです。説明不足ですみません・・・
0748デフォルトの名無しさんNGNG
>>747
何を取得したいの?
目的は?
0749デフォルトの名無しさんNGNG
>>748
> 何を取得したいの?
コメント(M)の所です。

> 目的は?
プログラム上、ファイルにコメントを格納しなければいけない為です。
ファイルパスとコメントをHashTableで格納し、シリアライズして保存してもいいですが、
せっかく欄があるんだからそれを活用できないかなと。
0750デフォルトの名無しさんNGNG
>>749
あれは、シェルエクステンションだったと思う。
というわけで、直接 C# とは関係ない。COMInterop だね。
0751デフォルトの名無しさんNGNG
>>745
あほだな。プログラマなんてそれこそレベルはピンきりで、プログラマ=クラック
できるなんて短絡的に結び付けられるものではない。
で、指摘されたらまた必死になっちゃって・・・。

>>747
あれって、NTFSの名前つきストリーム機能を使ってたような気がする。NTFS以外の
ファイルシステムでも使用するのであれば注意が必要かも。
0752デフォルトの名無しさんNGNG
>>745
だからツールを使えばプログラムとは無縁の厨房でも
>クラックすることができるって言ってるんだよ
他人の作ったツールを利用するだけのスクリプトキティーが何を必死になっているんだか
0753デフォルトの名無しさんNGNG
>>750,751
返事遅れてすみません。
> というわけで、直接 C# とは関係ない。COMInterop だね。
> NTFSの名前つきストリーム機能を使ってたような気がする。
情報サンクスです。ちょっと調べてみます。
0754デフォルトの名無しさんNGNG
すいません。
ヒープとかエイリアスって用語は具体的には何を意味しているのですか?
前者はプログラム動作時に動的に割り当て可能なメモリ領域で
後者は別名と言う意味なのですか?
マニュアルに何の断りも無く自然に使われてるってことは
プログラマーの間では当たり前の用語なのですかね?
0755デフォルトの名無しさんNGNG
あー、勉強、めんどくせー。
本当の話、デリゲードとかそんなん知らなくても
ソフト作れるよな。
っな、勉強しなくても別にかまわねえだろ?
頼む、そう言ってくれ!!
0756デフォルトの名無しさんNGNG
>>755
デリゲードは知らなくてもかなりやっていける。
0757デフォルトの名無しさんNGNG
デリケートなのでデリカシーのない人は嫌いです
0758デフォルトの名無しさんNGNG
ヤッター。お許しが出たー!!
大体、そもそも良く考えたら
言語の全ての文法、キーワードを習得してから
開発を始めることなんて実際にはほとんど無いよな、、、。
俺はそもそも最後まで習得してから開発を始めようと思ってたのがそもそもの間違いだったな。
良く考えたら俺も昔は実際には開発しながら同時にプログラムの勉強もしてたしな。
良く解らなくても、ヘルプやマニュアル見ながらやりゃ、なんとかなるだろ。
よし、今度からは実戦だ!!
0759デフォルトの名無しさんNGNG
別に一部分しか覚えなくてもプログラムは作れるけど、知っている人より不利になるだけ
0760デフォルトの名無しさんNGNG
>>754
まあ、割と当たり前の用語だけど、どういう品のマニュアル?
0761デフォルトの名無しさんNGNG
>>760
勿論c#ですよ。
「今から始めるc#.net」です。
0762デフォルトの名無しさんNGNG
>>761
VC# .net standard に付いてるおまけだっけ?

それのターゲットは「C#初心者」であって
「プログラミング初心者」じゃないんだろ。
0763デフォルトの名無しさんNGNG
C#を使って、Bitmap同士のAndやXorなどを取るにはどうすれば良いんですか?
0764デフォルトの名無しさんNGNG
>>762
じゃあ、俺みたいな初心者に教えてくださいよー。
俺には解らんのですよー。
0765デフォルトの名無しさんNGNG
>>763
一こまずつやるしかないね。

>>764
まあ、初心者向けの書籍を買えということだろ。
VC# の付録のは、あくまで C++ とかからの
移行を促進するためのものだと思われ。
0766デフォルトの名無しさんNGNG
>>765
確かに、結構丁寧に書いてある気がするけど
プログラム初心者がこれで始めるのはきついと思ったな。
0767デフォルトの名無しさんNGNG
質問
try catch(Exception e) ですべての例外をキャッチできるって本に書いてあったんだけど、
WEB Reference *.cs =ウェブサービスを呼び出すコードで
+$exception{"Exception of type System.StackOverflowException was thrown."}System.StackOverflowException
が、そのtryの箇所ででるんだけど、なんで?


0768デフォルトの名無しさんNGNG
>>766
うん。俺から見ても、
昔に比べたら、かなり親切になってると言う実感はあるね。
まあ、それでもやはり、初心者には厳しい側面もあるが、、、。

俺が10年以上前にvc++バージョン1を買った時は、
本当に酷かった、、、、。非常に重かったし、、、、。
その上、まだfdの時代でfd2,30枚組とかそんな感じだったな、、、。
0769デフォルトの名無しさんNGNG
SqlCommandクラスのPreparedメソッド使うと、
数十回SQL実行するとしてパフォーマンス全然違いますかね?
0770767NGNG
つまり、例外キャッチされるはずなのに、そのエラーが出てとまる。
0771デフォルトの名無しさんNGNG
C#のユーザーってC++の次に多いんですか?
0772デフォルトの名無しさんNGNG
StreamWriter sw = File.CreateText( Directory.GetCurrentDirectory() + "\\hoge.txt" );
sw.Write( f.FileName );
sw.Close();

このコードでカレントディレクトリにファイルを作成(上書き)しようとしているのですが
コンパイルも問題なく通るし何の例外も投げないのですがファイルが作成(上書き)されていません
何か間違っているのでしょうか?
0773デフォルトの名無しさんNGNG
>>772
そのままコピペしてやってみたけど、問題なく動作したよ
0774デフォルトの名無しさんNGNG
>>772
カレントディレクトリって、exeがある場所とは限らないよ。
0775デフォルトの名無しさんNGNG
>>773-774
レスありがとうございます

そうですか。動きますか…
ちなみに
StreamWriter sw = File.CreateText( "\\hoge.txt" );
こうするとc:\にちゃんとファイルが作成されますね
となるとどこか別の場所に人知れずファイルが作成されているのかな
そもそもカレントディレクトリの定義がわかってないことも判明しました・・・
検索にも引っかからないんですよね〜
0776デフォルトの名無しさんNGNG
>>775
フルパスで書くのが常識、ハイ次!
0777デフォルトの名無しさんNGNG
>>771
お前の知ってる言語の中ではな。
0778デフォルトの名無しさんNGNG
>>772
exe ファイルのある場所は Application.StartupPath。
ユーザディレクトリとかは System.Environment.GetFolderPathで取得。
0779772NGNG
>>778
Application.StartupPath
これでうまく動きました
ありがとうございました
0780デフォルトの名無しさんNGNG
ガページコレクションって何さ?
あと、ヒープとエイリアスもなによ?
ねえねえ、先輩方教えてくださいよー。
たのんますよー。
0781デフォルトの名無しさんNGNG
教えない。知的財産をただで引き出そうとする乞食には
0782デフォルトの名無しさんNGNG
private void button1_Click(object sender, System.EventArgs e)

別のprocedureから↑を呼び出したいのですが、どういう記述になるのでしょうか?
button1.Click;と書いてみましたが、button1.Clickは+= 、-=の左側にあるものですというようなエラーが出ていますが意味が良く分かりません。
0783デフォルトの名無しさんNGNG
button1.Click はイベントなので、
普通の関数みたいな呼び出し方は出来ません。
button1 の Click イベントに対応する処理が button1_Click メソッドです。
コードエディタによって追加された部分に、
this.button1.Click += this.button1__Click(...)
と言った記述があるはずです。

で、button1_Click 自体はただのメソッドですから、
これを普通に呼び出せばそれで OK です。

private void some_Procedure(...){
...
this.button1_Click(...);
...
}
0784デフォルトの名無しさんNGNG
カスタムコントロールの作成をしているのですが、
コントロール内部の初期化処理で DB 接続する部分があって、
デザイン時にタイムアウトするまで固まった挙句、
接続失敗みたいなエラーが返ってきて鬱です。
(接続に使うパラメータはコントロール外部から与える予定なので)

DesignMode とか言うプロパティを使って
if(this.DesignMode == false){
// 接続処理
}
みたいな書き方をしたら回避できたのですが、
完成したコントロールを他のフォームに貼り付けたところ、
(ファーム側の初期化処理で接続に必要なパラメータを設定している)
デザインモード時にやっぱりエラーが出てしまいます。
実行時には問題なく DB 接続してサックリと動くのですが...

どうやら DesignMode はコントロール自身がデザイン中かどうかしか感知せず、
コントロールの貼り付け先がデザイン時かどうかなんて知ったこっちゃないっぽく。
Site とか言うプロパティをこねくり回すとどうにかなるような記述を見つけたのですが、
ヘルプのコード見ても何やってるかわかりません。
どこかに分かりやすいサンプルとかないでしょうか?
0785デフォルトの名無しさんNGNG
>>783
どうもありがとうございます。
うまく行きました。
0786デフォルトの名無しさんNGNG
質問
try catch(Exception e) ですべての例外をキャッチできるって本に書いてあったんだけど、
WEB Reference *.cs =ウェブサービスを呼び出すコードで
+$exception{"Exception of type System.StackOverflowException was thrown."}System.StackOverflowException
が、そのtryの箇所ででるんだけど、なんで?

つまり、例外キャッチされるはずなのに、そのエラーが出てとまる。
0787デフォルトの名無しさんNGNG
>>786
catch の中で例外が発生してるとか
0788デフォルトの名無しさんNGNG
textBox1を全くフォーカスを受け取らなくさせたいのですが何かスマートな方法ありますか?
いまのところ、フォーカスを受け取った瞬間に別のコントロールにフォーカスを移すことで見た目上フォーカスを受け取らない感じにするしか思いつきません。
0789デフォルトの名無しさんNGNG
>788
背景白のラベルにすれば?
0790デフォルトの名無しさんNGNG
>>789
フォーカスを受け取らなくする前に一度だけ入力させてるんです
0791デフォルトの名無しさんNGNG
あ、ラベルとテキストをVisibleで切り替えるようにしたら楽そうですね。
難しいコードも書く必要なさそうなんで、とりあえず、これで行ってみます。
どうも
0792デフォルトの名無しさんNGNG
コントロールボックスの最大化ボタン、最小化ボタンが
押された、という通知を受け取りたいのですが、
どうすれば受け取れるのでしょうか?
よろしくお願いします。
0793デフォルトの名無しさんNGNG
textBoxとLabelのBorderStyleがどうしても合わないウツダ...
0794デフォルトの名無しさんNGNG
>>792
WndProc をオーバーライドして、WM_SYSCOMMAND をフックする、かな。

>>793
ラベル単体でやろうとせず、背景色白、ボーダーなしのラベルをPictureBox の上に
配置するようにすればいい感じだよ。
0795792NGNG
>>794
ありがとうございます。
WndProcについて検索してみます。
0796デフォルトの名無しさんNGNG
以下の3通りの方法でテキストファイルを作成しました。

StreamWriter sw = File.CreateText(@"d:\doc\utf8-a.txt");
sw.WriteLine("あいうえお");
sw.Close();

sw = new StreamWriter(@"d:\doc\utf8-b.txt", false);
sw.WriteLine("あいうえお");
sw.Close();

sw = new StreamWriter(@"d:\doc\utf8-c.txt", false, System.Text.Encoding.UTF8);
sw.WriteLine("あいうえお");
sw.Close();

どれもUTF-8で書き込まれるのですが上2つはバイナリレベルで同じ内容でしたが
3つめのファイルはファイルの先頭になにやら3バイト余分についていて
そのあとは上2つと同じ内容が書かれていました。
上2つのファイルはIEや秀丸で開くとShift-JISと判断され化けます。
3つめのファイルは、ちゃんとUTF-8と判断され正常に表示されました。
たぶん頭の3バイトで文字コードを判定しているのだと思うのですが
ぐぐりましたが、この辺の情報がみつかりませんでした。
UTF-8は頭に自分がUTF-8だという情報をつける、というのが正しいフォーマットなのでしょうか?
また上2つは、どういう意図でそれらの情報を欠落させて出力しているのでしょうか?
ちなみに
sr = File.OpenText(ファイル名)
sr = new StreamReader(ファイル名)
sr = new StreamReader(ファイル名, Encofing.UTF8)
いずれの方法でストリームを開いてReadLine()しても結果は「あいうえお」ときちんと読めました。
0797デフォルトの名無しさんNGNG
>>769
それは Byte Order Mark。
UTF-8 にはエンディアン問題がないので付けなくても良い。

http://e-words.jp/?w=BOM
0798デフォルトの名無しさんNGNG
>>797 は >>796
0799796NGNG
>>797
即レスありがとうございます。
でも、なんで最後の方法で書き込んだときだけBOMをつけるんだろう・・・
IEの文字コード自動判別には役に立ってるし。
0800デフォルトの名無しさんNGNG
>>799
はじめの2つはSystem.Text.Encoding.UTF8を使ってないから
0801デフォルトの名無しさんNGNG
GDI+で
スプライトのようなことをさせる場合は、
四角形の内側を塗りつぶすブラシのビットマップにキャラクターの絵を描いて
その絵の回りを透明色にしておくべきか、
それとも直接ビットマップを貼り付けるべきなのか?
どっちが良いんですかね?
0802796NGNG
>>800
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemiostreamwriterclasstopic.asp
このヘルプみるとすべてに3バイトつくような感じに受け取れるけど・・・
ま、なにかと安全なので、きちんとエンコーディング指定するようにします。
0803デフォルトの名無しさんNGNG
>>802
.NET Framework 1.1のドキュメントには

> このコンストラクタは、 GetPreamble メソッドが空のバイト配列を返す UTF-8 エンコーディングを使用して StreamWriter を作成します。 BaseStream プロパティは、 stream パラメータを使用して初期化されます。

とある。
これが 1.0 からの動作なのかどうかは知らないけど
0804デフォルトの名無しさんNGNG
タスクバーに表示されるアプリ名とFormのCaptionを同じにしたくないのですが、それぞれどういうふうに指定すればいいんですか?
0805デフォルトの名無しさんNGNG
aption?
0806山崎 渉NGNG

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0807デフォルトの名無しさんNGNG
「整数iが30〜84に含まれる場合」
というif文はどのように書くのですか?
0808デフォルトの名無しさんNGNG
i が29より大きいときと、85より小さいときを繋げて書けばいい。
ここで聞く前に初心者向けの本でも読んだ方がいいぞ
0809スレタイ読まずにカキコNGNG
i>=30 and i<=84
0810デフォルトの名無しさんNGNG
Delphiみたいに一つにまとめて書けないかなと思いまして。

if i in [30..84] then // Delphi

C#はまだ言語的に劣ってるようですね。
0811デフォルトの名無しさんNGNG
>810

言語の優劣ならこっちに行くといいよ
http://pc2.2ch.net/test/read.cgi/tech/1042464104/
0812山崎 渉NGNG

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0813デフォルトの名無しさんNGNG
優劣ならそっちですが、今回は質問がメインなので
0814デフォルトの名無しさんNGNG
>>810
それが特に優れているとも思えないんだけど・・・
0815デフォルトの名無しさんNGNG
ああこいつ、すぐコード書きあって力比べしようって言う奴じゃないかな。
相手しないほうがいいよ。
0816デフォルトの名無しさんNGNG
>>810
そんなものは範囲オブジェクトを作ればいいだけの話なので
言語仕様として取り入れるまでも無いわ。
0817デフォルトの名無しさんNGNG
#define lim(,d,a,b) (d>=a && d<=b)
if(lim(i,30,84)) //C
0818デフォルトの名無しさんNGNG
C# じゃマクロ使えんな
0819デフォルトの名無しさんNGNG
C#の限界でつか?
0820デフォルトの名無しさんNGNG
マクロは使わないことが推奨されてます
C++で使ってる奴はHage
0821デフォルトの名無しさんNGNG
ベータ版の言語ですか?
0822デフォルトの名無しさんNGNG
永遠のベータ
0823デフォルトの名無しさんNGNG
漏れは
if (30 <= i && i <= 80)
って書くのが好き。
0824デフォルトの名無しさんNGNG
>>823
漏れはお前が好き
0825デフォルトの名無しさんNGNG
>>824
そんなお前ごと好き
0826デフォルトの名無しさんNGNG
C#でWindows APIを使った場合、.NETで開発してる価値が下がりますか?
0827デフォルトの名無しさんNGNG
100%、WindowsAPIで作ったら.NETにする必要はないだろうな。
通常は大部分のGUIや基本的なライブラリは.NETを使い、
一部にAPIを使うだろうから全然問題ない。
0828デフォルトの名無しさんNGNG
んなことないですよー
0829デフォルトの名無しさんNGNG
あまり神経質にならなくていいんですね
0830デフォルトの名無しさんNGNG
WinForm1からWinForm2を表示させるにはどうすればいいのでしょうか?
WinForm2.ActiveForm.Show();では表示されませんでした。
どこかにWinForm2を宣言すればいいのだろうとは思いますが、どこにどうやって書けばいいのでしょう?
0831デフォルトの名無しさんNGNG
>>830
WinForm1内に宣言すればいい
0832デフォルトの名無しさんNGNG
>>831
では、WinForm1内のどこに宣言するのでしょうか?
0833デフォルトの名無しさんNGNG
>832
クラス宣言はどこでやるんだ?
0834デフォルトの名無しさんNGNG
>>833
namespaceの中です。
0835デフォルトの名無しさんNGNG
>>830
イベントプロシージャに

WinForm2 f2 = new WinForm2();
f2.Show()

でいいだろ。
0836デフォルトの名無しさんNGNG
>>835
とりあえず、できました。
ありがとうございます。
知識が増えました。
0837デフォルトの名無しさんNGNG
ダイナミックヘルプによると
カラー構造体は141色もあるらしいのですが、
これを色の名前でなく直接の色で見て選択することは出来ないのですかね?
0838デフォルトの名無しさんNGNG
>>837
フォントダイアログを使うってこと?
0839デフォルトの名無しさんNGNG
フォントを使う場合も、
背景色を指定する場合も
そのシステムドローイング名前空間に規定された
名前で色を指定するのがGDI+の基本的な色の指定方法みたいですが、
141色もの英語の表記では何色が何の名前かわからないもので、、、。
0840デフォルトの名無しさんNGNG
>>839
M-x list-colors-display(w

別にそういうわけじゃないと思うよ。HTMLライクな色指定(ColorConverter)もできるし、
VBライクな指定方法(FromArgb)もあるし。
0841デフォルトの名無しさんNGNG
>>839
http://homepage3.nifty.com/midori_no_bike/CS/
上のリファレンスをクリック
0842デフォルトの名無しさんNGNG
>>841
うおっすげえ親切なサイト!!
紹介感謝!!
直接には何色が何の名前かわかりませんでしたが、
でも今やってることに関係大有りなので助かります!!
サンクス!!
0843デフォルトの名無しさんNGNG
良く考えたら、
クラスのネストは出来ても、
メソッドのネストは出来ないんだな。
忘れていた。
0844デフォルトの名無しさんNGNG
なんか書き込み少ないな。
まだ人気無いのか・・。
0845デフォルトの名無しさんNGNG
正規表現さえパーフェクトにマスターすればこんなの簡単に作れるんだけど
http://www.gluesoft.co.jp/RED/
ぽっくんは正規表現が死ぬほど苦手で、かといって↑に3000円は高過ぎだと思うので
正規表現が得意なおじちゃんは僕の為にフリーでこういうやつ作ってください。おながいしました。
0846デフォルトの名無しさんNGNG
thisは省略できるようなのですが、そこら辺のwebサイトに掲載してるソースをみるとなかなか省略されていません。
これはなぜ、あったほうがいいのでしょうか?
0847デフォルトの名無しさんNGNG
>>846
どのメンバなのかわかりやすくなるってのと、インテリセンスが効くって利点があるから。
0848デフォルトの名無しさんNGNG
見たときに、そのクラスのメンバなのか、
何かの静的メソッドなのか、分かりづらいことがあるね。
0849デフォルトの名無しさんNGNG
intelli-sense?
please
0850デフォルトの名無しさんNGNG
Loadイベントが終了してフォームが表示されてから
自動的に処理をさせたいんだけど、適当な方法ありますか?
0851デフォルトの名無しさんNGNG
>>850
Loadイベント後、Activateイベントが発生する。一回目を示すフラグを用意しておいて、
それを元に AfterLoad というイベントを Raise するようにしてるよ。

↑を実装したフォームを作っておいて、後はそれを継承っと。
0852デフォルトの名無しさんNGNG
なるほど、自分でイベントを用意するんですね。
アドバイスありがとうございました
0853デフォルトの名無しさんNGNG
デリゲートって要するにオーバーロードの反対みたいなものですよね。
オーバーロードはつまり、同じ名前の違うシグネチャに飛ぶ。
デリゲートは、違う名前の同じシグネチャに飛ぶ。と。
0854デフォルトの名無しさんNGNG
メソッドの呼びだしはネストできるが、
定義はネストできない。
俺はこんな初歩的なことも忘れていた。
あほか?
0855デフォルトの名無しさんNGNG
カラー構造体を使いたいときは、
そのクラスのインスタンスを生成しなくてはいけないのですか?
または継承とか?
0856デフォルトの名無しさんNGNG
>>853
言ってる事、間違っちゃいないが、そんな覚え方する奴は始めてみた。

普通はC言語の関数ポインタをOOPに適合させたものとか、
メソッドをカプセル化するものとかそういう認識するもんだが。


>>855
言ってる事がよく分からんが、
構造体も new を使って値を初期化してやらないと駄目。
クラスの new と同じ構文だけど、
構造体の場合はインスタンス生成って言うよりは値の初期化って感じ。

あと、構造体は継承できん。
0857デフォルトの名無しさんNGNG
なるほど、
ありがとうございました。
0858デフォルトの名無しさんNGNG
前に、>>839で質問をしたものですが、
c#のヘルプで「カラー」で検索して出てくる、
カラーテーブルの項目を見れば、
何の名前が何色に対応してるかは一発でわかるみたいですね。
お騒がせしてすいませんでした。
0859デフォルトの名無しさんNGNG
ttp://www.sobell.net/vb/downloads/bitreader.txt
C#のソースに変換してくれないでしょうか。
やってみたんですが、うまくいきません。
0860デフォルトの名無しさんNGNG
>>859
ttp://www.ellkay.com/ConvertVB2CSharp.htm
0861デフォルトの名無しさんNGNG
c#ってのは基本的に音を鳴らすことは考えてない言語なんですかね?
ヘルプで検索しても全然出ないし、、、。
エロイ人、教えて!!
0862デフォルトの名無しさんNGNG
>>861
はい。考えてません。P/Invoke で、MessageBeep() やら PlaySound() やらを
呼び出してください。
0863デフォルトの名無しさんNGNG
>>861
1) >>862
2) DirectX
3) ActiveX
0864デフォルトの名無しさんNGNG
frameworkだけじゃダメってことか
0865デフォルトの名無しさんNGNG
>>864
DirectX 9.0 は .NET Framework 対応。
0866デフォルトの名無しさんNGNG
初めてリリースされたバージョンのJIT コンパイラと
ver1.1のJIT コンパイラ では性能に目立った違いはありますか?
0867デフォルトの名無しさんNGNG
Beepすら出せないのは驚きだったな
0868デフォルトの名無しさんNGNG
DirectXで出せますけど。
0869デフォルトの名無しさんNGNG
VBですら一行で出来るのに。
C♯って使っててイライラしてくるよな。
0870デフォルトの名無しさんNGNG
俺も音が出せないのは何でよ、と思った口だが。
クライアントサイドでマルチメディア扱いたい奴は全員DirectX使えっつーM$の戦略じゃねーの。
サーバーサイドでは画像等は扱っても、動画や音楽はなくても全然困らないからな。
0871デフォルトの名無しさんNGNG
>>870

戦略ってほどじゃないと思うけど、(音を出す)必要性が極めて少ないから
じゃないの?
0872デフォルトの名無しさんNGNG
画像を取りに来てね♪無臭性を探し出せ♪

http://akipon.free-city.net/page003.html

http://nuts.free-city.net/index.html
0873デフォルトの名無しさんNGNG
Beep()で音くらいだせるようにしろよ
0874デフォルトの名無しさんNGNG
音を聞かせる必要性が無いなら人間に耳は要らないですね
0875デフォルトの名無しさんNGNG
できないなら問題だが、それほどのことでもないのに…
0876デフォルトの名無しさんNGNG
MessageBeep in the .NET Framework
http://blogs.gotdotnet.com/BradA/PermaLink.aspx/387620b1-f891-4a71-baba-638c3d7722ac
0877デフォルトの名無しさんNGNG
Microsoft.VisualBasic.dllを参照設定して、次命令をGO!

Microsoft.VisualBasic.Interaction.Beep();
0878デフォルトの名無しさんNGNG
面倒くさいですね。C♯の限界が垣間見えますた。
0879デフォルトの名無しさんNGNG
>>878
つうか、Beepなんか鳴らしたいのか、と小一時間・・・。
0880デフォルトの名無しさんNGNG
何が面倒くさいのか謎だ。
0881デフォルトの名無しさんNGNG
>>878
オマエの限界だって・・・
0882デフォルトの名無しさんNGNG
>>878
面倒って? 1行も書かずに鳴ってほしいのか、全角坊や
0883デフォルトの名無しさんNGNG
ビジュアルベーシックがインストールされてないから、やっぱ無理だ
0884デフォルトの名無しさんNGNG
Windows以外でも動くコード書きたいんだけど、結局それは不可能なわけ?
DirectXとか使ったらアウト?
0885デフォルトの名無しさんNGNG
>>883

うそこけ。VB.NET のライブラリは、.NET Framework の再配布用に含まれてる。
0886デフォルトの名無しさんNGNG
>>884
ターゲット環境ごとに鳴らしな〜。
つうか、ユーザが鳴らして欲しいかどうかは・・・

音楽のプレイヤーとかゲームぐらいしか思いつかんが、
Windows以外の環境でほんとに動かしたいのかと小一時間・・・。
0887デフォルトの名無しさんNGNG
C#でCD制御しようと思ってるんですけどASPIの実装の仕方が良く分かりません・・・

DLLImportでwnaspi32.dllは読めたんですがヘッダファイルの方はどうすればよいのでしょう?
aspi32.hって奴なんですが
0888デフォルトの名無しさんNGNG
888get
0889デフォルトの名無しさんNGNG
>>877のやつコード補完でないのに、コピペしたらイケた。なんでだろ
0890デフォルトの名無しさんNGNG
あと、参照を増やすってことは重くなるということでしょうかね?
0891デフォルトの名無しさんNGNG
>>887
必要な宣言を、全部書き換えることになるね。そんな面倒なことせずに、制御部分を
C++ で書いて、C# から呼び出せるようにしたほうが簡単かも
0892デフォルトの名無しさんNGNG
>>890
なにが重くなると感じるの?
0893デフォルトの名無しさんNGNG
アプリ起動時
0894デフォルトの名無しさんNGNG

 System.Drawing.Bitmap bm1 = new System.Drawing.Bitmap(typeof(Form1), "hoge.gif");
 pictureBox.Image = bm1;

Bitmapクラスを使って埋め込まれたリソースhoge.gifを、PictureBoxに表示させたのですが
この場合Bitmapクラス使っているので、
hoge.gifファイルは.bitmapファイルに変換されて表示されてしまうのでしょうか?
そうだとすれば.gifファイルとして表示するには、どのように処理すれば良いのでしょうか。
よろしくお願い致します。
0895デフォルトの名無しさんNGNG
>>894
うん。Bitmapに変換されちゃいますよ。
しかし「gifファイルとして表示」とはなんぞ。
GIFの透明色を自動的に透明表示したい?
0896894NGNG
>>895
どうも有り難うございます。

>GIFの透明色を自動的に透明表示したい?
Bitmapクラスを使うと .jpg .gif .pngなどがとにかく
.bmpに変換されてしまうので、その変換処理が不要だと思いました。

埋め込まれたリソースに設定していない.bmp以外のファイルだと
Image.FromFile()で簡単に表示できるのですが…。
0897デフォルトの名無しさんNGNG
>>896
Image.FromFile()で読んだGIFファイルもBitmapに変換されてるよ。
埋め込みリソースから読んだのと同じ。
0898デフォルトの名無しさんNGNG
多分、c#でも、今後バージョンアップして行くにしたがって、
色々と音関係の機能が追加されていくんではないかと、
想像してるのですが、その辺、どうなんでしょうかね?
みなさんの読みは?
0899デフォルトの名無しさんNGNG
c#だけの製品バージョンを購入した場合、
ビットマップエディタはついてきても、
リソースエディタとかはついてこないんですかね?
0900デフォルトの名無しさんNGNG
>>898
既にDirectSoundが使えるはずだが?
0901デフォルトの名無しさんNGNG
>>898
追加されないと思う。
MDXなんて出して、.NETではこれで音出せって言ってるようなもんだし。
0902デフォルトの名無しさんNGNG
MDX?
検索しても本田の車しか出てこないぞ。
一体、なんでつか?
0903デフォルトの名無しさんNGNG
Managed DirectX
0904デフォルトの名無しさんNGNG
DirectSoundのサンプル見たけど、よくわかんない。

button1を押したらhoge.wavが1度再生されるだけの単純なサンプルコードない?
0905デフォルトの名無しさんNGNG
>>903
なるほど。ありがとうございます。
>>904
あんたも似たようなことで悩んでるのですか?
お互い頑張りましょう。

俺的には本当にちょっとした効果音程度で良いので、
そんな大げさなのは使いたくないって感じなのですが、、、。
0906デフォルトの名無しさんNGNG
>>905
winmm.dllのPlaySound呼ぶとか。

using System.Runtime.InteropServices;

[DllImport("winmm.dll", EntryPoint="PlaySound")]
static extern void PlaySound(string name, IntPtr module, uint flag);

private void button1_Click(object sender, System.EventArgs e)
{
const uint SND_FILENAME = 0x00020000;
PlaySound("c:/folder/wavefile.wav", IntPtr.Zero, SND_FILENAME);
}
0907デフォルトの名無しさんNGNG
>>904
using Microsoft.DirectX.AudioVideoPlayback;

Audio audio = new Audio("hoge.wav");
audio.Play();
0908デフォルトの名無しさんNGNG
>>906
ありがとうございます。
まずは、アクティブXとか言うのの基礎から良く勉強したいと思います。
0909デフォルトの名無しさんNGNG
C#でTelnetを作りたいと思いやっているのですが、
コンソールアプリケーションで作成したため、
System.Console.Read()でプログラムが停止してしまいます

System.Console.In.Peek()を使えばうまく行くかと思い、やってみたのですが、
どうやらPeek出来ていないようです

標準入力に文字が貯まっているか調べる方法
もしくは、一定時間入力がなかったら制御を返す方法はないでしょうか?

よろしくお願いします
0910デフォルトの名無しさんNGNG
public class x_and_y
{
public int x,y;
}

public static x_and_y[,] x_and_y_2jigennhairetu = new x_and_y[9,9];

すいません。こう言う風に、
クラスを新たな型として扱って、
その型で2次元の配列を作成するのって別に間違った記述ではないですよね?
それとも何か、間違ってますか?
教えてください。
0911デフォルトの名無しさんNGNG
そして、その場合は以下のように参照するように、
記述すれば良いのでしょうか?

x_and_y_2jigennhairetu.[i,j].x = 変数;
0912デフォルトの名無しさんNGNG
>>910-911
コンパイルしてみればいいじゃん
ちゃんとエラーがでるから
0913デフォルトの名無しさんNGNG
>>907
音が出ました!感激しましたっ!ありがとう!

>>905
でも、.NETではWindows APIの使用は推奨されていない感じだし、仕方ないかなって思ってる。
みんながそうすれば、それが当たり前になる。MSの思う壺?ドーデモイイケド
0914デフォルトの名無しさんNGNG
>>912
ハイ。何度もやってエラー出してます。
やっぱり駄目なんですね。こう言うやり方は、、、。
何か、他のコードがおかしいせいではないかと何度もやり直したのですが、
やっぱりクラスをそう言うふうに使うのは駄目なんですね。
解りました。
すいませんでした。

配列を宣言するところではエラーが全然でなかったので、
もしかしてこれでもいけるのかと思って勘違いしてしまいました。
0915デフォルトの名無しさんNGNG
素直に構造体を使いますです。ハイ。
0916デフォルトの名無しさんNGNG
あ、構造体ではなく、ジャグ配列とか言うのでも同じこと出来るかもな、、、。
0917デフォルトの名無しさんNGNG
あっそうだ!
クラスのインスタンスを配列の数だけ作って
そのインスタンスの位置を収める配列を作れば良いんだ!!
これでも良いんですよね。
これが1番ストレートなやり方かな?
0918デフォルトの名無しさんNGNG
C#にはSTLのコンテナやDelphiのTListにあたるものはありますか?
0919デフォルトの名無しさんNGNG
>>914
× x_and_y_2jigennhairetu.[i,j].x = 変数;
○ x_and_y_2jigennhairetu[i,j].x = 変数;
0920デフォルトの名無しさんNGNG
完全初心者でこれからプログラムを覚えようと
思うのですが、タブブラウザのようなアプリや
伺かのようなものを作るのに
C#はどうなんでしょうか?
0921デフォルトの名無しさんNGNG
>>920
残念ながらプログラムをやるのは諦めるべき。
何もやらないうちに聞いているようでは100%挫折。

とにかく手当たり次第やって一番しっくりきたものをある程度のレベルまでやってみるべし。
0922デフォルトの名無しさんNGNG
>>909
スレッド作れ。
もしくは、BeginInvoke。

>>918
System.Collections 名前空間を調べろ。

ただ、STL ほど種類ない。
あるのは、vector, list, priority_queue, map にあたるもののみだったかな。

来年辺りに C# に(っていうか、.NET Framework に)
generics (C++ の template みたいなもの)が実装されるんだけど、
そのときにコレクションクラスもいろいろ実装されてくれる事を期待してるんだけど。

>>920
まあ、割と楽に作れると思うよ。
2ch ブラウザとかも割と簡単に出来たみたいだし。
0923デフォルトの名無しさんNGNG
>>907
すげ・・・
C#かなり自然に書けるんだな
0924デフォルトの名無しさんNGNG
最小化するとメモリ使用量が激減するんですが、
あれを起動後すぐにやるにはどうすればいいですか?
最小化で起動するというのは無しの方向で。
0925デフォルトの名無しさんNGNG
C#でwinsockを使う方法が良く分かりません…
クライアントとサーバのコネクトは巧くいっているようなのですが、受信がだめで。
VBの参考書を見て無理やり書いてはみたのですが、GetDataの所で例外が発生してしまいます。

クライアント側ソフトの送信部
private void SendButton_Click(object sender, System.EventArgs e)
{
object SendData;
SendData = Account.Text;
WS.SendData(SendData);
}

サーバ側ソフトの受信部
private void WS_DataArrival(object sender, AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent e)
{
object ReceiveData = "";
WS.GetData(ref ReceiveData,ReceiveData.GetType(),e.bytesTotal);
GetText.Text = ReceiveData.ToString();
}

アホな質問かとは思いますが、ご教授お願いします。
0926デフォルトの名無しさんNGNG
>>919
あれまっ!
そんな簡単な間違いで俺は悩んでいたのか、、、?
とほほ、、、。
まだまだ初心者だな、、、。
解りましたです。ありがとうございました。
0927デフォルトの名無しさんNGNG
FileExistを使うためには、何を参照すればいいんでしょうか?
0928デフォルトの名無しさんNGNG
デリゲート=関数ポインタ
という理解でいいですか?
0929デフォルトの名無しさんNGNG
うん。良いよ。
厳密には違うけど、
そう言う考え方や使い方でも間違いではないよ。
0930_NGNG
http://homepage.mac.com/hiroyuki44/
0931デフォルトの名無しさんNGNG
>>928
ちょうど記事が出てた
http://www.atmarkit.co.jp/fdotnet/onepoint/onepoint03/onepoint03_01.html
0932デフォルトの名無しさんNGNG
>>929>>931
どもありがとです。よく読んでみますね。
0933デフォルトの名無しさんNGNG
C#が人気ないおかげで、まともな回答者がいないね
0934デフォルトの名無しさんNGNG
C#とVC6でほとんど同じコードを走らせて計測してみたら、
C#はVC6のおよそ3倍遅かった・・・・・ 使えん・・・・ (´д`;)
0935デフォルトの名無しさんNGNG
初回起動のJITの分で3倍遅いってこととは違うの?
0936デフォルトの名無しさんNGNG
残念ながら違うよー (´・ω・`)ショボーン
起動させて、ボタン押してから計測してるから・・・
構造体の配列に対して、値をどんどん入れるだけのコードなんだけどね。
ちなみにC#とVB.NET、DebugとReleaseの違いはほとんどなかった。
0937デフォルトの名無しさんNGNG
.NETのJITはアプリ起動時ではなくて、メソッドが始めて参照された時に
働くけど、それは考慮している?
0938デフォルトの名無しさんNGNG
>>937
考慮してない・・ことになると思う。
それを考慮してパフォーマンスチェックするにはどうしたらいい??
0939935=936=938NGNG
計測時間が長くなるようにして、JITが食う時間の割合を
相対的に小さくするとかかな??
0940デフォルトの名無しさんNGNG
初回は除いて複数回計ってから平均だしてみては。
0941935=936=938 NGNG
>>940
んー
今、ためしに、計測処理を関数化して、三回呼び出すようにしてみたけど、
どの結果にも誤差以上の差はなかったよー (´・ω・`) むむ・・・
0942デフォルトの名無しさんNGNG
ngen とかしても早くならない?
0943デフォルトの名無しさんNGNG
構造体だよね?ArrayListとか使ってるわけでもなく。
そんな単純なコードで3倍も差でるもんなのかな。
0944935=936=938 NGNG
ngenについて調べ中・・・ ちなみにこんなコードです。

struct PT{
public
long x,y;
}

private void Keisoku(){
const int intMAX=100000;
PT[] p=new PT[5000];
System.DateTime st,ed;
st=System.DateTime.Now;
for(int i=0;i<intMAX;i++){
for(int j=0;j<5000;j++){
p[j].x=j;
p[j].y=j;
}
}

ed=System.DateTime.Now;
MessageBox.Show(((System.TimeSpan)(ed-st)).ToString());
}
0945デフォルトの名無しさんNGNG
配列への代入なら範囲チェックが入るので、C/C++と比べて
遅くなるのは当然かと。

その代わり、オーバーラン系のエラー(というか、セキュリティホール)を
気にしなくても良いのだから、単純に速度だけで比較する問題とは
違うのではないかと。
0946935=936=938 NGNG
>>945
ところが、今手がけようとしている案件は、速度がめちゃくちゃ重要視されるのです・・・
unsafeとか使えばなんとかなるかと楽観視していたんですが。
そろそろ言語決めなきゃいけないけど・・・この場合はVC6が無難かな・・・
うーん・・・・
0947デフォルトの名無しさんNGNG
速度がめちゃくちゃ重要視されるのなら、C#で全部unsafeにするより
C/C++でしょうね。
VC6でなくても、VC.NETのUnmanaged Codeではどう?
0948935=936=938NGNG
>>947
そうですね。そちらも試してみます (´∀`)
いろいろありがとうございました。
0949デフォルトの名無しさんNGNG
C#に速度を求める時点で(ry
0950デフォルトの名無しさんNGNG
速度を求めるならハードの性能を(w
0951デフォルトの名無しさんNGNG
>>946
配列の範囲チェックのせいで低速化してるっぽいし、
unsafe にすれば相当早くなる気がするが。
0952デフォルトの名無しさんNGNG
C#って限界ありすぎ
0953デフォルトの名無しさんNGNG
>>925
Remoting 使へよ
0954デフォルトの名無しさんNGNG
>>952
煽りかもしれんが、どこらへん?
俺結構なんでもできるなー、と感心しているんだけど。
面倒なのはAPIとかCOMとか使う時に自分で定義を書かないといけないことぐらい。

遅いのはアレだけど。限界てアレか。起動速度か?
0955デフォルトの名無しさんNGNG
>>954
毎日書いてる人だよ。
0956935=936=938NGNG
>>951
unsafeの説明で、
「unsafe コードは、配列の境界チェックを省いてパフォーマンスを向上させます。」の
一文がありますね。
そうか・・これで速度向上するかも!と思って、ためしに関数をunsafeにしてみたんですが、
結果は残念ながら、まったく変化なしでした。。。
0957935=936=938NGNG
unsafeとfixedステートメントを使って、配列に内容をセットするのに
ポインタを使うコードに書き直してみましたが、3.8秒かかっていた処理が
3.2秒になる程度でした。
なんか抜本的な間違いをしているのでしょうか? (x_x)

ーーーーー差し替え部分ーーーーー

st=System.DateTime.Now;
for(int i=0;i<intMAX;i++)
{
fixed(PT* pp=&p[0])
{
for(int j=0;j<5000;j++)
{
pp[j].x=j;
pp[j].y=j;
}
}
}
ed=System.DateTime.Now;
0958デフォルトの名無しさんNGNG
ApplicationのアイコンとMainFormのアイコンの指定が別々でウザイね。
無駄にサイズが増える。
0959デフォルトの名無しさんNGNG
>>936
うーん、c#とvbが同じといわれると、ちょっと残念な気がする、、。
だったら、最初からvbで楽にプログラムすればいいきがするし、、、。
0960935=936=938NGNG
>>959
そうだよね。
しかも、もっとショックな結果が・・・・ (´・ω・`)

VB6のネイティブコンパイルのほうがC#.NETよりも速い

んだよね・・・。('A`)・・・
いくらなんでも、んなことあるか!!と思ったんだけど、
少なくともこのケースに限っては間違いない。

ほぼ同じ処理を走らせるのに、
C#.NET(unsafe)が 3.29秒、VB.NETが4.2秒、VC6が1.25秒、
VB6が2.48秒でした。
0961デフォルトの名無しさんNGNG
C♯の限界がまた一つ垣間見えますた。
0962デフォルトの名無しさんNGNG
>>961
お前の限界
0963デフォルトの名無しさんNGNG
>>960
> いくらなんでも、んなことあるか!!と思ったんだけど、
その根拠はVBは遅いっていう先入観だろ?
論理的に考えればネイティブコードの方が速いのは当然だと思うが。
0964935=936=938NGNG
>>963
んー ちょっと違うかな。
VBが遅いというイメージも確かにあったけど、それ以上に
C#.NETは仮にもC言語の系列なんだから、そう遅くはないはず・・・という
イメージがあったから。
でも、今でも自分の手法のどこかに間違いがあることを
期待してるんだけど・・ (´・ω・`)ショボーン 新しい案件で.NET使いたいよーーー
0965デフォルトの名無しさんNGNG
>>964
C言語の系列って文法の話だろ。
例えばC言語にもインタプリタはある。
当然それはC言語の系列というかC言語そのものだが
C言語のコンパイラよりも遅い。
実行までの仕組みを考えれば自ずと答えが出るはずだが。
0966デフォルトの名無しさんNGNG
うーん、結局.net系は
今から10年後とかのマシンが超早くなった時代を考えて作られた言語なのかな?
vbよりも遅いってのは俺としてもマジショック!!
俺は最近c#買ったんだが、vb買えばよかったのかな?とも思ってしまう、、、。
c#は意外に速い、、、と言う話もあったはずなんだがなー、、、。
その話はどこへ行ったんだろう、、、。
0967デフォルトの名無しさんNGNG
>>965
でも、c#だって一応コンパイラーでしょう?
0968デフォルトの名無しさんNGNG
>>967
.NETやJavaとC言語(VC6やBCB等のネイティブコードを吐く奴)の
コンパイルされてから実行されるまでに行われるプロセスの違いに
ついて勉強することをオススメする。
0969デフォルトの名無しさんNGNG
>>966
そんなにショック受けるなよ。JavaだってVBより遅いんだし。
0970935=936=938NGNG
>>965
んーー
そういう理屈で言えば、VB6のネイティブコンパイルはほぼ
VC6のReleaseと等価でないとおかしくない?
でも実際は、配列の範囲チェックとかはずしても、倍程度時間がかかる。
結果を見る前に理屈だけで推測するのってけっこう難しい気がするよ。
実際、VB6がまだ正式版が出る前には、VCと同等のスピードが
出ますって触れ込みだった時期もあったんだけどね・・・。
(残念ながらソースは手元にないです)
0971デフォルトの名無しさんNGNG
>>970
コンパイル結果(実行内容)が等価でないのだから
その分の差が出て当然だろ。
コンピュータは気分で動いているのじゃないのだから
遅いのにはちゃんとした理由がある。
0972 NGNG
>>957

そのコードほんとに intMax 回実行されてますか?
ベクトル化スーパーコンピュータでも数秒で終わる処理とは
思えないけど。
0973935=936=938NGNG
>>971
>コンパイル結果(実行内容)が等価でないのだから
>その分の差が出て当然だろ。

もちろんそう。俺が言いたいのはそういうことじゃなくて、
その「遅いちゃんとした理由」を、試す前に理屈だけで
得られるのかどうかってことだよ。
たとえばVB6が発表段階の時に、VC6の半分の速度しか
出ないってことが理屈だけで予想できたとは思えないんだけど・・・。
まあ、できたと言われりゃそれまでだけどw
んー それよりも本題は、これが本当にC#.NETの実力なのか
どうかってことです。たまたまC#.NETにとって最悪なケースで
テストしてしまったのかもしれないし、コーディング次第でもっと
変わりそうな気もする。
もうちょっといろいろ試してみます。
0974935=936=938NGNG
>>972
はい、実行されていると思いますよ。
ループから抜けたあとの i の値を見たら、ちゃんと intMax と
同じ値になってますし。
0975デフォルトの名無しさんNGNG
>>973
最悪なケース化といわれれば最悪なケース。
そもそもJavaや.NETは単純なループをまわすためになんぞ設計されちゃいない。
0976デフォルトの名無しさんNGNG
>944のコード試したら12秒かかった^^;
0977デフォルトの名無しさんNGNG
素直に.NETの限界ですって言えよ。
0978935=936=938NGNG
>>976
ちなみにマシン性能は?
うちは P4 1.8 + Mem512 + XP Pro です。

なお、配列の範囲チェックに時間食ってるのかと思って、ためしに
配列じゃなく一個だけの変数に値を入れるように変更してみたけど、
おおむね速度比率的に変化なしでした (x_x)
0979デフォルトの名無しさんNGNG
Javaでベンチするとどんなもの?
0980デフォルトの名無しさんNGNG
>>977
素直にお前の限界って認めろよ。
0981デフォルトの名無しさんNGNG
>>973
俺が言いたいのは理屈で考えればネイティブのVBの方が
C#よりも速いと言うことは十分予想できるのに
そんなに驚くなって言うことだよ。

C#の方が速い(VBの方が遅い)ってのは理屈に反した
思い込みでしかないだろ。
0982934=936=938NGNG
>>981
驚く驚かないは個人の自由だと思いますがw
試しもしないで思い込みで決め付けてたなら問題ありですけど。
もうその話はやめませんか?
自分にとっては「事実として遅かった」「どうにかして速くできないか」という
ことが重要であって、自分の予想が合ってただのはずれてただの
ということはどうでもいいんですが・・・。

ちなみにハンドル間違ってました。935の人スマソ。934でした。
0983デフォルトの名無しさんNGNG
>978
P3-600 512MB XP Pro

ついでに >957 に差し替えると .8.8秒くらい
0984デフォルトの名無しさんNGNG
>>982
おれはC#がVC6の三分の一もの速度が出たことに驚きましたが。
0985デフォルトの名無しさんNGNG
実際にモノが出てから、俺にはこの結果は分かってた
なんてのは誰にでも言えるわなw
2年ぐらい前の.NET系のメーリングリスト読むと、ある程度
知識がある人たちの間でも意見が分かれていたことが分かるよ。
0986デフォルトの名無しさんNGNG
>>985
まっ世の中には先入観で断定してしまう奴がいるってことだな。
半分くらいはわざと悪いデマを流しているような気もするが。
0987デフォルトの名無しさんNGNG
ネイティブに勝てないことくらい思いつけよ
0988934=936=938NGNG
粘着(+д+)ウザー
0989デフォルトの名無しさんNGNG
次スレ名は前々スレにあったように

ふらっとC♯

希望。
0990デフォルトの名無しさんNGNG
ならお前が立てれよ
0991デフォルトの名無しさんNGNG
得意げに結果が分かってたというヤシは恥知らず
0992デフォルトの名無しさんNGNG
>>990
立てたいけど立てられないのでお願いしておる次第です。
0993デフォルトの名無しさんNGNG
立てたよ。

ふらっとC♯(Part4)
http://pc2.2ch.net/test/read.cgi/tech/1059028988/l50
0994デフォルトの名無しさんNGNG
埋め埋め。
0995デフォルトの名無しさんNGNG
梅 梅
0996デフォルトの名無しさんNGNG
(゚д゚)ウマー (゚д゚)ウマー
0997デフォルトの名無しさんNGNG
1000!!
0998デフォルトの名無しさんNGNG
998
0999デフォルトの名無しさんNGNG
999
↓1000おめ。
1000デフォルトの名無しさんNGNG
1000
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。