ふらっとC#,C♯,C#(初心者用) Part45at TECH
ふらっとC#,C♯,C#(初心者用) Part45 - 暇つぶし2ch310:デフォルトの名無しさん
09/09/29 23:46:00
あらかじめ敵のXY座標を設定しておいて
それらをプログラム全体から利用したいんだけど
どこでどのように定義するのが適切なんでしょうか?

名前空間の内側、classの外側で定義すれば全体から利用できると思ったんだけど
下のを書き込むとフィールドやメソッドは定義できないとエラーがでます

Point TekiPos = new Point(10, 5);

311:デフォルトの名無しさん
09/09/29 23:47:57
Teki.Posとは絶対に書きたくないの?

312:デフォルトの名無しさん
09/09/29 23:48:02
>>310
public staticにしてクラス内にもて。
困ったときはpublic staticだ。

313:デフォルトの名無しさん
09/09/29 23:56:09
まあゲームなんか難しく考えずpublic static(いわゆるグローバル変数)でもいいよ
ゲームは気を使って設計してもどうせ大なり小なり大域コンテキストクラスが出てくる

314:デフォルトの名無しさん
09/09/29 23:56:09
>>311
あ、なるほど、Tekiクラスをプログラム全体で利用できるようにして
そのメンバPosに対してどこかでデータいれるってことかな

>>312
インスタンスを複数必要ないというか、あるとややこしくなるので
staticのほうがわかりやすそうですね

即レスありがとうございます

315:デフォルトの名無しさん
09/09/29 23:59:48
>>314
ゲームって作ったこと無いんだけど
Enemyクラスかなんか作っといて、必要になったらnew Enemy()で
初期化してやった方がスマートなんじゃないの?

316:デフォルトの名無しさん
09/09/30 00:04:29
敵が一体だからグローバル変数にするならまだいいけど,
敵が複数いて,ほかのクラスから特定の敵の座標を取得するためにいったんグローバル変数に入れたりするのは最悪のパターン

317:デフォルトの名無しさん
09/09/30 00:23:04
どんなゲームだろうねえ

318:デフォルトの名無しさん
09/09/30 00:25:45
敵がいて初心者が作るものったらSTG以外に無いだろ

319:デフォルトの名無しさん
09/09/30 00:40:24
>>313
ありがとうございます。
最初からメモリや動作速度とか考えても仕方が無いですね
できるだけ自分にわかりやすく書こうと思います

>>315
敵と味方では振る舞いが違うからそういう風にしたほうがいいかもですね

>>316
そういう感じで設計仕様と思ってたんですが、なぜだめなんでしょうか?
将棋でいうところの盤をstaticで定義してどこからで参照できるようにして
部隊の動き(どの座標に前進後退するかなど)もstaticで定義しようと思っていたんですが

>>317>>318
シューティングは線形代数や三角関数などの数学的知識がいるので無学のわたしには無理です
ターン制の戦略ゲーム的なものを作ろうと思ってます

320:デフォルトの名無しさん
09/09/30 01:02:15
class Matrix{} //フィールド全体とマス目を定義
class Enemy{} //敵のキャラクターを定義

この二つを作っておいてMatrixにEnemyのインスタンスを突っ込むとか
位置はEnemy、移動先はMatrixで定義しておいたほうが安全だと思う
グローバル変数をたくさん作ったり使い回し足りするのはトラブルの元

321:デフォルトの名無しさん
09/09/30 01:09:03
逆だな
位置はMatrix、移動先はEnemy

322:デフォルトの名無しさん
09/09/30 01:10:55
グローバル変数が使いたい時はstaticって何で入門書に書くんだろ
最初が肝心なんだぞ
書くなよ

323:デフォルトの名無しさん
09/09/30 01:14:50
なるほど、グローバル変数を大量に作ってしまうのはそもそも設計に問題ありって感じですか
クラスの中にも自作クラスを入れられて、さらにそのクラスにも自作クラスを・・・
これがオブジェクト指向?
この感覚に慣れないとだめですね

>>321
マス目にenemyを放り込む感じですよね
そのほうがわかりやすそうですね

ありがとうございます

324:デフォルトの名無しさん
09/09/30 01:25:04
動きゃいいんだよ
未完成で放置するのが一番良くない

325:デフォルトの名無しさん
09/09/30 01:32:11
そんなことはないよ
静的変数使い回しなんてしてたら論理的なミスしたときに
わけわかめになりやすい
最初からオブジェクト指向のお作法を意識するのは上達の近道だよと
遠回りした俺が言ってみる久々のてすつ

326:デフォルトの名無しさん
09/09/30 01:35:24
多言語から移った人間を意識してるんだろうけど要らない説明ではある気がする

327:デフォルトの名無しさん
09/09/30 02:44:03
DataTable内に「name」という列を設けてその中に色々な名前を定義しています。

SEQ NAME
連番 名前
1  たろう
2  タロウ
3  TAROU

DataTable.Select("NAME LIKE '%たろう%'");

として検索した時に本来は
1  たろう
のDataRowのみ抽出したいのですが
2  タロウ
まで抽出されてしまいます。厳密に検索をするにはどうすればよいでしょうか?
※また、大文字・小文字も区別して検索するにはどうすれば良いでしょうか?   


328:デフォルトの名無しさん
09/09/30 06:09:00
>>327
CaseSensitiveプロパティをtrueにしてからSelectしる

329:デフォルトの名無しさん
09/09/30 07:50:56
>>302
どういう理屈だよ


330:デフォルトの名無しさん
09/09/30 08:54:11
>>328
サンクス

331:デフォルトの名無しさん
09/09/30 10:50:45
CSとKS,WSは別じゃないの?
プロパティ一覧見た限りだと、ロケールをインバリアントにすれば良さそう

332:デフォルトの名無しさん
09/09/30 12:43:45
vs2008でWindowsフォームアプリケーションを作成しました。
インストーラーを発行して、配布しようとしましたが、.netフレームワーク3.5のダウンロードに30分近く要します。
コンポーネントはクライアントプロファイルのみにしています。
皆さんはどのような手段でインストール方法を取られていますか?

333:デフォルトの名無しさん
09/09/30 15:57:29
URLリンク(www.microsoft.com)
の.NET Framework 3.5 Service Pack 1 (フルパッケージ) をDLしてインストーラに組み込んじゃいかんの?(いかんか)
#再頒布可能パッケージ があればいいんだけどね・・・・
#Microsoft .NET Framework 3.0 再頒布可能パッケージ まではあるのか・・・

334:デフォルトの名無しさん
09/09/30 16:05:09
クライアント専用Frameworkサブセットってとこチェックしても30分もかかるもんなの?
やったことないけど

335:デフォルトの名無しさん
09/09/30 16:25:46
Client Profile v3.5がインストールされる条件が変で、
バージョンを問わずフルセットの.NET Frameworkがインストールされていないこと。
条件が合わない場合は差分をダウンロードしてフルセットでのインストールとなる。
プレインストールのXPやVista以降の場合、基本的に.NETが導入済みなので、
よほど特殊な環境でなければClient Profileは導入されない。

336:デフォルトの名無しさん
09/09/30 20:44:06
>>335
XPにも標準で.netがついているの?
何かのネットで見たら、付いていないと書いていたんだ。
記事はまちがいだったのかな。

337:デフォルトの名無しさん
09/09/30 20:48:56
「プリインストールの」だろ
相当前に使ってたノートPCにもデフォで1.1が入ってたぜ

338:デフォルトの名無しさん
09/09/30 20:50:09
XP はないよ。
2003 が 1.1、Vista が 3.0 だね。

339:デフォルトの名無しさん
09/09/30 20:51:48
でも、今時.net入ってない環境ってどうよ

340:デフォルトの名無しさん
09/09/30 21:04:00
.netが出だした当初って誰も入れたがらなかったけど
.NETを使ったフリーソフトも出だして当たり前になってきたね

341:デフォルトの名無しさん
09/09/30 21:04:56
2.0は入ってるものと考えていいと思うけど3.5はまだきつい

342:デフォルトの名無しさん
09/09/30 21:07:40
まぁでも、2.0 が入ってれば、勝手に 3.5 が Windows Update で入るんだけどな。

343:デフォルトの名無しさん
09/09/30 21:07:59
1.0が入ってないとダメっつーインストーラーは勘弁して欲しいw

344:デフォルトの名無しさん
09/09/30 21:32:02
1.x が必要なアプリは使いたくない

345:デフォルトの名無しさん
09/09/30 21:44:28
2.0とか3.5の入ってる環境なら1.x必須なのも動くんじゃないの?

346:デフォルトの名無しさん
09/09/30 21:47:32
たいていは 2.0 で動くと思うけど、サポート対象にはしたくない。

347:デフォルトの名無しさん
09/09/30 21:48:34
最近コンポーネントエラーって起きたことないな

348:デフォルトの名無しさん
09/09/30 22:18:05
長くなるけど質問お願い
暗号化を作っていて、ボタンのイベントに処理を書くのではなくて
クラスに処理入れて、それをボタン押したときに呼び出すようにするには
どうしたらいいのでしょうか
お力おかしください

public partial class Form1 : Form
{
//バイト配列で変数を宣言
public byte[] DesKey;
public byte[] DesIV;e,
public byte[] cryptData;


public Form1()
{
InitializeComponent();
RC2CryptoServiceProvider TDES = new RC2CryptoServiceProvider();
//TripleDESCryptoServiceProvider TDES = new TripleDESCryptoServiceProvider();
DesKey = TDES.Key;
DesIV = TDES.IV;
}

//暗号化ボタンを押したときの処理
private void button1_Click(object sender, System.EventArgs e)
{
// source 配列から cryptData 配列へ変換
// 文字列を byte 配列に変換します
byte[] source = Encoding.Unicode.GetBytes(genbun.Text);



349:デフォルトの名無しさん
09/09/30 22:18:58
上に続きですよろしくおねがいします
// Triple DES のサービス プロバイダを生成します
TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider();

// 入出力用のストリームを生成します
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(DesKey, DesIV),
CryptoStreamMode.Write);

// ストリームに暗号化するデータを書き込みます
cs.Write(source, 0, source.Length);
cs.Close();

// 暗号化されたデータを byte 配列で取得します
cryptData = ms.ToArray();
ms.Close();

// byte 配列を文字列に変換して表示します
angougo.Text = Encoding.Unicode.GetString(cryptData);

}

350:デフォルトの名無しさん
09/09/30 22:19:53
>>334
クライアント専用サブセットってどこで設定するの?

351:デフォルトの名無しさん
09/09/30 22:22:59
暗号化とかまったく関係ないな。

352:デフォルトの名無しさん
09/09/30 22:23:59
>>350
プロジェクトのプロパティ

353:デフォルトの名無しさん
09/09/30 22:26:42
>>348
どう、ってインスタンスメソッドにするならボタンクリックでクラスを初期化して
メソッド呼び出せばいいのでは?
staticメンバ一個作っておいてそこにインスタンスぶち込んでstaticぽく呼んでもいいけど

354:デフォルトの名無しさん
09/09/30 22:26:49
>>349
public partial … → public class Encryption
public Form1() → public Encryption()
private void button1_Click(… → public byte[] Encrypt(string sourceText)
byte[] source = … → byte[] source = Encoding.Unicode.GetBytes(sourceText);
angougo.Text = Encoding.Unicode.GetString(cryptData); → return Encoding.Unicode.GetString(cryptData);

355:デフォルトの名無しさん
09/09/30 22:27:35
>>354
訂正
private void button1_Click(… → public string Encrypt(string sourceText)

356:デフォルトの名無しさん
09/09/30 22:34:18
>>348
Class Angouka
{
  publick void Start(){....};
}

Class From
{
  Button_Click()
  {
    Angouka ang=new Angouka();
    ang.Start();
  }
}

357:デフォルトの名無しさん
09/09/30 22:58:49
初心者で考え方がいまいちで申し訳ないです。

クラスを作り
その中に今まで入れていたボタン処理を入れて

そのクラスをボタンイベントに生成して
呼び出せばおkと言う感じ?


358:デフォルトの名無しさん
09/09/30 23:03:13
うん。

359:デフォルトの名無しさん
09/09/30 23:22:12
ボタンが押された時の処理を別のクラスに書くんじゃない
その目的の処理を行うクラスを作って,そのクラスをイベントハンドラから利用するんだ
機械的に移すだけだとあんまり意味がない

360:デフォルトの名無しさん
09/09/30 23:33:12
クラスわけは責務をわけるのと同等

361:デフォルトの名無しさん
09/09/30 23:33:57
こういう違いって理解できない人にはなかなか理解してもらえなかったりするな…


362:デフォルトの名無しさん
09/09/30 23:35:53
どうでもいいけどいやよくないけど
暗号化結果のバイト列をUnicodeEncodingで文字列にするのは無茶だぜ。

まあ諸悪の根源はv1.1の頃のMSのサンプルだったりするんだが。


363:デフォルトの名無しさん
09/09/30 23:38:17
一応そのほかにも使う可能性というか応用で使うので

ひとつのクラスに処理をいておきたいと思っています。
ACIIでやろうと思ってたんですがどうもうまくできなかったので今
それです。これは直したいなと思っております

364:デフォルトの名無しさん
09/09/30 23:41:34
>>352
よく見たらありました。
ボケてきたのかな…。ありがとう。

365:デフォルトの名無しさん
09/09/30 23:48:48
会社とか組織をイメージしてみるといいかも。
実際に仕事やる部署と、注文受ける部署、商品配達する部署・・・・・。
食堂で言うなら厨房と接客・電話番、出前とか。
それぞれは、自分の仕事だけして、あとはどっかに受け渡すだけで
良いようになってる。
下手な部署分けすると役所みたいにたらい回しになって困るが。

バイト列の文字列化ならBase64じゃない?昔から用意されてるし。

366:デフォルトの名無しさん
09/09/30 23:52:02
とか思ってみたらBase64変換クラスがぱっと見で見つからん。あれ?
Javaだったのかな?

367:デフォルトの名無しさん
09/09/30 23:55:31
System.Convert.ToBase64String(byte[])

368:デフォルトの名無しさん
09/09/30 23:57:33
Convert.ToBase64

369:デフォルトの名無しさん
09/10/01 00:11:50
キーボードのキーを押してプログラミングするわけだが
キー自体がプログラミングを理解しているわけじゃないよね
あくまで、文字を入力させる命令を出すためのスイッチに過ぎない

役割分担をさせていくわけだけど、その分クラスはどんどん増える
だがそれでいい

370:デフォルトの名無しさん
09/10/01 00:15:42
オブジェクト指向の話になると現実世界の事象を例えにだすのをよく見るけど、
その例えってそんなにわかりやすいもんなのかな。
むしろそこからどうやってコードに落とすのかと悩むことしきりなんじゃないか。

371:デフォルトの名無しさん
09/10/01 00:21:32
もちろんそうだけど、オブジェクト指向の入り口で躓いているんだから仕方が無い

372:デフォルトの名無しさん
09/10/01 00:44:44
まず、構造化プログラミング・設計を学ぶところから・・・。

373:デフォルトの名無しさん
09/10/01 01:17:57
>>370
わかってる人が例えるからそうなるんだよな。
わからない人向けの説明には向かないと思う。

374:デフォルトの名無しさん
09/10/01 01:31:02
かと言ってわかってない人は向いてる向いてない以前に例えられないから。


375:デフォルトの名無しさん
09/10/01 01:39:15
そこをいくとオブジェクト指向のこころは最高だと思う。

376:デフォルトの名無しさん
09/10/01 02:37:13
憂鬱な

377:デフォルトの名無しさん
09/10/01 03:09:44
貝になりたい

378:デフォルトの名無しさん
09/10/01 03:13:33
引きこもりは家をでないのでスペックがさっぱりわからない
やり取りできる手段は、スカイプやネトゲしかない
でも、こっちの情報をいくら伝えてもスペックを晒そうとはしない
オブジェクト指向ってそんな奴

379:デフォルトの名無しさん
09/10/01 07:21:42
良くも悪くも勘違いされる不幸な子ってイメージだけどな。
きちんと理解してあげれば戦力になるが、間違った認識や過度の期待を持たれるとプレッシャーに負ける人みたいな?

380:デフォルトの名無しさん
09/10/01 08:32:43
お前らスレタイ

381:デフォルトの名無しさん
09/10/01 12:58:49
使ってればわかる
結局はノウハウを一般化しただけのもの

382:デフォルトの名無しさん
09/10/01 14:54:21
自作ソフトのソースを公開しようと思うんですが
プロジェクトファイルなどにPCユーザー名など
固有の情報みたいなのが入っていて見られてしまうんでしょうか?
ソースを公開する上での注意点などありましたら教えてください

383:デフォルトの名無しさん
09/10/01 15:03:39
ユーザ名を短くて無意味な英文字にしておく
.csだけ公開する

384:デフォルトの名無しさん
09/10/01 16:36:09
>>383
いや、さすがに.slnと.csprojくらいは付けようよ。
逆に.csproj.userとか.suoは除外。

385:デフォルトの名無しさん
09/10/01 16:38:41
VC#?

386:デフォルトの名無しさん
09/10/01 17:06:33
binフォルダは削除
slnとcsprojは付いてないと読む気が失せる

387:デフォルトの名無しさん
09/10/01 17:10:33
プロジェクト一つならslnはいらないんじゃ…

388:デフォルトの名無しさん
09/10/01 17:22:34
slnないと保存できないからめどい

389:デフォルトの名無しさん
09/10/01 17:38:30
>>388
プロジェクトのみでも一度保存すればソリューション作成されるよ

390:デフォルトの名無しさん
09/10/01 18:59:34
C#初めてはや1.5ヶ月

いまだにクラス呼び出しとかが曖昧
配列わからん。

プログラム自体初心者ですがこれはかなり遅いほうですよね?
最近は分岐がわかりだしてきたところです

391:デフォルトの名無しさん
09/10/01 19:06:18
俺も、1.7ヶ月ぐらいだけど
オブジェクト思考はよくわからんけど
配列とか、クラス呼び出しぐらいなら一応・・・

まぁ、以前Cとjavaをおさわり程度にやった事有るけど

392:デフォルトの名無しさん
09/10/01 19:16:07
C#はじめて7年
クラス呼び出しなんて初めて聞いた

393:デフォルトの名無しさん
09/10/01 19:22:12
小学生初めてはや5年
職員室呼び出し喰らったのは今年が初めてだ

394:デフォルトの名無しさん
09/10/01 19:57:11
お前らスレタイ

395:デフォルトの名無しさん
09/10/01 20:07:10
あぁ、悪い
クラス定義してメソッド呼び出しとか

これでいい?これも違うのかなw

396:デフォルトの名無しさん
09/10/01 20:11:11
DESCryptoServiceProviderの複合化はパスワードが違う場合、絶対にエラーを吐きますか?
それとも適当に復号したデータを返す時がありますか?

397:デフォルトの名無しさん
09/10/01 20:36:51
>>390
1日にやる量にもよるし、いろいろだろ。
他人にかまわず自分のペースで楽しみなよ。

398:デフォルトの名無しさん
09/10/01 20:58:44
なんだかんだで仕事でつかうと習得が早い

399:デフォルトの名無しさん
09/10/01 20:59:28
俺なんか2年目でやっとデリゲートを唱えることが出来た

400:デフォルトの名無しさん
09/10/01 21:28:48
仕事で必要で学んでいるんですが

やはり全然覚えが悪いのでまじで仕事自体を辞めるべきなのか本当に迷ってる
ものすごく申し訳ない気持ちと焦りでぐだぐだ・・・

401:デフォルトの名無しさん
09/10/01 21:34:36
>>396
原理的には適当に復号化。でないとTripleDESが不可能のはずだから。

テストコードとかで確認もしなかったけど、適当に復号化するだろうと決め込んで、
めんどくさくなって平文にヘッダとトレイラを入れといて復号時にパスワードチェック
とした。

パスワードじゃなくてIVとKeyだろ、なんて無粋なツッコミはナシね。

402:デフォルトの名無しさん
09/10/01 21:41:18
>>400
できなければ辞めるか仕事をかえてくれと言ったほうがいい
ムリなひとはどうやってもムリ

403:デフォルトの名無しさん
09/10/01 22:03:47
>>400
記憶力はあるに越したことはないけど、プログラマとしてそんなに重要な
ファクターじゃないと思うよ。

重要なのは理解力と要領だよ。
どのみち、今時のライブラリが全部頭に入っている奴なんていないわけで、
誰でも多かれ少なかれMSDNやwebの情報を見ながらコーディングしてるんだから。

404:デフォルトの名無しさん
09/10/01 22:13:33
俺なんていまだに@ITの「C# 3.0らしいコードの書き方」とか見て頭混乱してる

405:デフォルトの名無しさん
09/10/01 22:16:50
よくさ、そういう解説サイトで学校クラス学生なんて例を出すけどわけわからんよな
誰が学生名簿なんて作るんだよとww
そこそこの規模のソフトを例にプログラミングしながら学ぶようなのがあればいいんだけど

406:デフォルトの名無しさん
09/10/01 22:25:38
参考書は本当に難しいと思う
C#だけでもリファレンス、デザインパターン、入門と3冊持ってるけど
それでも補完できない部分が独学だと必ず出てくる
クラスとかオブジェクトの理解が進まないうちに実践に入るような参考書掴むと
後から本当に苦労する

407:デフォルトの名無しさん
09/10/01 22:26:44
犬クラス
ポチ、パトラッシユ、しろオブジェクト

408:デフォルトの名無しさん
09/10/01 22:27:09
>>404
あれは書いてあるコードが理解できれば十分
記事の内容を真に受けてはいけない

409:デフォルトの名無しさん
09/10/01 22:34:42
K俣か

410:デフォルトの名無しさん
09/10/01 22:38:44
>>400
やめるなら俺を代わりに雇うよう取り計らってくれ


411:デフォルトの名無しさん
09/10/01 22:40:02
むしろ川俣節は、このアジテーションは過大なのかそれぐ
らい言い切ってしまってもいいのかのこう微妙な感じが
個々に判断できるようになると上級者。

…味があって好きなんだけどなぁ川俣節

412:デフォルトの名無しさん
09/10/01 22:49:50
URLリンク(www.r-nakai.com)
ここ見ながらVC#2008Expressで使えるように設定したんだけど、
ぜんぜんステップインしてくれない。もちろんソースコードはDL済みなんだけど。
Expressで使えてる人いる?

413:デフォルトの名無しさん
09/10/01 22:53:47
>404 >408
おれもあの記事かなりわかりにくかった…(´・ω・`)

414:デフォルトの名無しさん
09/10/01 22:58:58
>>411
あれは文体が古い(30年前のパソコン雑誌っぽいw)だけで、アジってほどでもないよ。
まあ今時のプログラマの書く技術解説の文章っぽくないのは確か。

たぶん物書きに憧れがあるっていうか、自己表現しないと気がすまない性格なんだろうw

この人の『Win32API散歩道』って本を持ってるけど、あれ見るといかにもそんな感じ。

415:デフォルトの名無しさん
09/10/01 22:59:19
ちらっと見てみたけど、能書きが多いな。

416:デフォルトの名無しさん
09/10/01 23:00:59
>>414
散歩道のきたあきらって、川俣の別名?

417:デフォルトの名無しさん
09/10/01 23:04:56
>>414
らしいよ。
きたみあきこは別人

418:デフォルトの名無しさん
09/10/01 23:16:25
>>356
できなかったですそれ

419:デフォルトの名無しさん
09/10/01 23:23:41
>>418
>>356を参考にして、どんなコード書いたの?



420:デフォルトの名無しさん
09/10/01 23:34:30
質問です
初心者です

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

private void button1_Click(object sender, EventArgs e)
{

}
}
}
とあってclassを★のところに記述するとなぜかフォーム表示が
出来なくなるのですが同対処すべきなのでしょうか

421:デフォルトの名無しさん
09/10/01 23:40:27
そんなところに書かない
1クラス1ファイルを基本にする

422:デフォルトの名無しさん
09/10/01 23:42:38
>>421
1ファイルとはどういうことでしょうか
大変申し訳ないです。

今はクラスとメソッドを外出しにしておいてボタン処理を押したときに
その処理を参照しようとしています

423:デフォルトの名無しさん
09/10/01 23:42:57
>>420
ひ、ひねくれもの!

424:デフォルトの名無しさん
09/10/01 23:43:06
そんなこと聞いてねーよw
おせっかいさんめ

425:デフォルトの名無しさん
09/10/01 23:46:47
>>422
なんだ暗号化君かw

URLリンク(msdn.microsoft.com)

ここ読みなさいよ

426:デフォルトの名無しさん
09/10/01 23:49:04
>>425
はい、私です。
今日作ってよし出来たと思ったら

内部でクラス作らないで外部で作ってと言われて
あたふたしています。


427:デフォルトの名無しさん
09/10/01 23:49:34
>>420
> このページが表示されている理由
> クラス MainForm はデザインできますが、ファイルの最初のクラスではありません。
>Visual Studio では、デザイナはファイルの最初のクラスを使用する必要があります。
>クラスがファイルの最初のクラスになるようにクラス コードを移動して、デザイナを再度読み込んでください。


やってみたけど、理由も対処方法も表示されるじゃん。



428:デフォルトの名無しさん
09/10/01 23:53:55
外部に作ると言うのは
FORMの外部に作ってそこから呼び出すってわけじゃないんですね・・・

From1の下に作ったら表示されました。
勉強たらなすぎてしにたい

429:デフォルトの名無しさん
09/10/01 23:57:55
>>428
86BASICから引越しされてきたのですか?

430:デフォルトの名無しさん
09/10/02 00:08:17
>>428
いや、そのクラスを使うときに必ずForm1がセットになってしまったら使い辛くは
ないかい?例えば別のアプリで使い回しするとき。
だから、別々の .cs ファイルで管理することを皆は薦めている。

まあ、とりあえず動くなら今は別に気にすんな。

どうせ色々使い回しでコピーしたあげく、嫌になって分かってくるもんだから。

431:デフォルトの名無しさん
09/10/02 00:08:55
エラー見てもちんぷんかんぷんなことが多い

まじで今年やってだめなら辞表考えるわほんとに。

432:デフォルトの名無しさん
09/10/02 00:27:57
>>430
ああああああ
なるほど、使いまわし出来るようにとか言ってたましたそういえば・・・
と言うことはcsを処理の分を作るのが外部と言うことなんですね。

理解度足りないですね
まじでありがとうございます。

433:デフォルトの名無しさん
09/10/02 00:54:30
>>396>>401
どうでもいいが、「復号化」ではないのでリアルで使うと恥じをかくことになると忠告しておこう

>>432
ファイルとクラスは1:1が基本ではあるが、分かり易くなるならM:Nでも問題ない

434:デフォルトの名無しさん
09/10/02 01:06:36
最初に手をつけるのがコレって厳しいのん?

435:デフォルトの名無しさん
09/10/02 01:13:54
かもね

436:デフォルトの名無しさん
09/10/02 01:21:21
やっぱりか……
サンクス

437:デフォルトの名無しさん
09/10/02 01:22:35
いやそういう問題じゃないと思うが。

438:デフォルトの名無しさん
09/10/02 01:24:16
>>431
向いてない奴がやると体壊すか鬱になるよ
そういう奴沢山見てきたし
おれは小学校の頃からプログラミングやってて
何時間やっても苦痛じゃないからな
まあ、仕事だとしんどいこともあるけど
息抜きのために自作ソフトを作るぐらいだからw
そういう人間じゃないとだめなんかもな

439:デフォルトの名無しさん
09/10/02 01:27:38
>>432
右のウィンドウにプロジェクト名が書いてあるでしょ?
それを右クリックして、追加>クラス
を選択すると幸せになるよ
ややこしくなってきたら、同じようにしてフォルダを作るんだ

440:デフォルトの名無しさん
09/10/02 01:36:08
>>433
>どうでもいいが、「復号化」ではないので
突っ込むべきはそこではない。

>原理的には適当に復号化。でないとTripleDESが不可能のはずだから。
これがおかしい。

暗号アルゴリズム単体の処理での動作と
パディング等も含めたスキーム全体の処理での動作を
混同している。


441:デフォルトの名無しさん
09/10/02 01:40:40
もういいから外注しろ

442:デフォルトの名無しさん
09/10/02 07:08:56
1ファイル1クラスは冗談だろ?
Javaかよw




冗談だよね?

443:デフォルトの名無しさん
09/10/02 07:32:14
だいたいの機能でファイル分けるけど
さすがに1クラス1ファイルは無いな(1つの機能が1つのクラスで済むならありうるけど)

444:デフォルトの名無しさん
09/10/02 07:32:45
1つのファイルにWindowsFormが2つ以上同居できないとか、
ファイル内の最初のクラスにするといった制限は
IDE(Visual Studio)の制限で、別に言語の制限じゃない。


445:デフォルトの名無しさん
09/10/02 07:41:42
enumやdelegateも型だから、
分けなきゃいかんのならこれも分けるの?てのもあるね。

javaの場合はpublicなenumはファイル分けなきゃいかんかった。
めちゃ不便。

446:デフォルトの名無しさん
09/10/02 11:41:54
関連性が極めて強い型、殆ど従属してると言って言いような型とか、
列挙やらデリゲートやらは流石にファイル分けたりはしないな。

ただ、大体基本的には1クラス1ファイルになると思うけどね。


447:デフォルトの名無しさん
09/10/02 14:28:27
パブリックなクラスが内部だけで使うプライベートなクラスとかなら
1ファイルに書いたりはする
規模にはよるけど

448:デフォルトの名無しさん
09/10/02 14:57:49
ジェネリッククラスも作る時は一緒のファイルに書いてるかな

449:デフォルトの名無しさん
09/10/02 15:28:30
まあ、その辺は好みだよな

450:デフォルトの名無しさん
09/10/02 17:26:45
子ウィンドウハンドルの取得が出来ません。
EnumWindowsはなんとか出来たので、それを元にやっているのですが
EnumChildWindowsの使い方が理解できてません。

private delegate int EnumerateChildWindowsCallback(IntPtr hwndParent, int lParam);

[DllImport("user32.dll")]
private static extern bool EnumChildWindows(IntPtr hwndParent, EnumerateChildWindowsCallback lpEnumFunc, int lParam);

public int EnumerateChildWindows(IntPtr hwndParent, IntPtr lpEnumFunc, IntPtr lParam)
{
 return 1;
}

public void main(IntPtr hWnd)
{
 EnumChildWindows(hWnd, new EnumerateChildWindowsCallback(EnumerateChildWindows), 0);
}

これで「デリゲート 'LTLimit.WindowHandle.EnumerateChildWindowsCallback' に一致する
    'EnumerateChildWindows' のオーバーロードはありません。」と出ます

451:デフォルトの名無しさん
09/10/02 17:34:18
EnumerateChildWindowsCallbackとEnumerateChildWindowsの引数が合ってないじゃん

452:デフォルトの名無しさん
09/10/02 18:10:51
>>451
レスありがとうございます!
ただ、引数に何を入れるのかが分かりません。

(IntPtr hwndParent, WNDENUMPROC lpEnumFunc, int lParam);
とか
(IntPtr hwndParent, IntPtr lpEnumFunc, int lParam);
など試してみたのですがダメでした。

453:デフォルトの名無しさん
09/10/02 18:28:33
>>451
APIの知識がないんだな
C#云々の問題じゃないし

454:デフォルトの名無しさん
09/10/02 18:36:20
>>452
ちゅーかどっからそんなソースをもってきたんだろう。
引数はIntPtr hWnd, int lParamの2つだけ。
引数名をhwndParentとしているが、ココには親のウィンドウハンドルが渡されるのではなく
列挙された子ウィンドウのウィンドウハンドルが渡される。

455:デフォルトの名無しさん
09/10/02 18:37:44
EnumChildWindowsの引数なんて言ってないんだが…

456:デフォルトの名無しさん
09/10/02 19:23:55
>>454
子ウィンドウを列挙するソースが見つからないので
試行錯誤しているところです。
引数名は何も気にせずコピーしてました。

>>455
なんだか的外れな事をしてしまったみたいですみません。
どこをどう直せば良かったのでしょうか。

457:デフォルトの名無しさん
09/10/02 19:25:58
C#のソースに拘らなくていいだろw

458:デフォルトの名無しさん
09/10/02 19:39:51
>>457
こだわってるんじゃなく、違う言語がまったく読めないのでC#に出来ないのです。


459:デフォルトの名無しさん
09/10/02 19:53:13
>>429
ぶー、88BASIC です。

460:デフォルトの名無しさん
09/10/02 19:56:41
>>442
非常識自慢?w

ネストされたクラスはカウントしないとして、
例外クラスとenum以外は基本ファイルあた1クラスでしょ。

あとは、まあ小さなクラスなら派生クラスも同じファイルに書いちゃうことはあるが。

461:デフォルトの名無しさん
09/10/02 20:06:12
いじわるしないで教えてやれよw

462:デフォルトの名無しさん
09/10/02 20:24:42
何かプログラムしようと思うんだけど何も思いつかない

463:デフォルトの名無しさん
09/10/02 20:42:39
教えてあげないよ

     _,∩_         _,∩_           _,∩_
    (_____)ゝ、     (_____)    y     (_____)
    / :: :: :: ヽ 〉     /-‐:: ::‐-ヽ /       / :: :: :: ヽ
   _./ (・ )ll(・ ) ∨     _/  0) i! 0) ∨      _/ ( ・)i!(・ ) ゙、_
 // :: :: ∈ゝ :: ::ヽ   // ::  ‐-‐ :: ヽ    //  :: ー一 :: ヽ\
. ゝ/:: :: ::  :: :: ::ヽ  ゝ/ :: ::  ::  :: :: ヽ   ゝ/ :: ::  ::  :: :: ヽく
   ̄ ̄ | ̄ ̄ | ̄ ̄     ̄ ̄ | ̄ ̄ | ̄ ̄     ̄ ̄ | ̄ ̄ | ̄ ̄
       |     |             |     |             |     |
    ⊂!     !つ        シ!     !つ        ⊂!     !つ

ジャン♪

464:デフォルトの名無しさん
09/10/02 20:46:36
>>458
だから、APIが読めなければC#にもできないだろw
基本は同じなんだからさ

こんにちはの意味がわかれば、HELLOをどのタイミングで言えばいいかわかるだろ?
それと一緒だ

465:デフォルトの名無しさん
09/10/02 21:07:18
下手な例えだなw


466:デフォルトの名無しさん
09/10/02 21:13:24
>>433
>「復号化」ではないのでリアルで使うと恥じをかくことになると忠告しておこう
DESCryptoServiceProvider.CreateDecryptor メソッド
指定したキー (Key) および初期化ベクタ (IV) を使用して、対称 DES (Data Encryption Standard) 復号化オブジェクトを作成します。

セキュリティ関係用語じゃなくてMicrosoft用語ですだ。

467:デフォルトの名無しさん
09/10/02 21:27:52
>>440
だから、原理的にはって言ってるじゃないか。
どう実装されてるか分からないから、適当に復号化するように実装されてないとは
言い切れない。
ドキュメント斜め読みしても見つからない。
一個かそこら試したとしても不安が残る。
時間は待ってくれない。

だからどっちに転んでも、まあ動くだろうって対応をした。って話。



ところで関係無いんだが、これ実はExcelVBAで利用したと言ったら信じる?

468:450
09/10/02 23:48:40
解決したっぽいです。
レスくれた方ありがとうございました。

private delegate int EnumerateChildWindowsCallback(IntPtr hWnd, int lParam);

[DllImport("user32.dll")]
private static extern bool EnumChildWindows(IntPtr hwndParent, EnumerateChildWindowsCallback lpEnumFunc, int lParam);

public int EnumerateChildWindows(IntPtr hWnd, int lParam)
{
 return 1;
}

public void main(IntPtr hWnd)
{
 EnumChildWindows(hWnd, new EnumerateChildWindowsCallback(EnumerateChildWindows), 0);
}

469:デフォルトの名無しさん
09/10/03 00:51:50
>>467
別に対応がおかしいとは言ってないよ。
実際復号されることもエラーになることもあるから。

>でないとTripleDESが不可能のはずだから。
これがおかしいと言ってるだけ。


470:デフォルトの名無しさん
09/10/03 01:43:39
タラオ「トリプルですぅ~」

471:デフォルトの名無しさん
09/10/03 03:51:23
>>460
安心したw
今書いているクラスは入れ子になっているものを数えたら30個にもなっててほんの少し焦った。
まぁ、チョロっと必要な定数叩き込むときは1ファイルに2つぐらい書いちゃうけど大丈夫だね。

472:デフォルトの名無しさん
09/10/03 07:07:02
>>469
TripleDESは、
暗号文 = 鍵3でDES暗号化(鍵2でDES復号化(鍵1でDES暗号化(平文)))
という仕様だから、DESはある鍵で暗号化したものを別の鍵で復号化できないと
実現不可能のはずだと考えたんだが、間違ってるのか?

473:デフォルトの名無しさん
09/10/03 08:21:22
しつけえ

474:デフォルトの名無しさん
09/10/03 08:29:56
いちおう書いておこう。

暗号アルゴリズム単体と、
~Providerとかを使っての処理は
「違う」って言ってる。

DESとか3DESとかの暗号アルゴリズム単体では
ブロックサイズのデータとキーを与えたらブロックサイズの結果を出す単なる関数。
だからキーが違おうが何だろうが処理できる。

でも~Providerとかを使っての処理は、暗号化のモードとかIVとかパディングを含めた処理
特にパディングがあるから、違うキーで処理したら処理自体に躓いてエラーになる場合が多い。


475:デフォルトの名無しさん
09/10/03 08:49:58
>>460
わざわざ「Javaかよw」って書いてるんだから
例外クラス・enum・数行しかないクラスであっても、例外なくファイルに分けなければいけない ってのを皮肉ってるんだと思った。

476:デフォルトの名無しさん
09/10/03 11:59:12
>>475
俺が無知なだけ・・・。
C#やってるけど今まで本なんて一回も読んだことないし、基礎知識なさすぎ。
最初なんてIfしらなかったせいでgotoで何もかもやってたこともあったしw
すっきりしました
ありがとb

477:デフォルトの名無しさん
09/10/03 12:02:44
本とか言う前に、マニュアル読めよ・・・。

478:デフォルトの名無しさん
09/10/03 12:14:29
いや、ホントの基礎はやっぱり何か入門本でやった方がいいよ。
まあチュートリアルとか、あとトレーニングとかオンラインで無料でできるやつもあるから
そんなのでもいいけど。
いきなりマニュアルはきついだろう。


479:デフォルトの名無しさん
09/10/03 12:21:42
まあそこらの家電製品や普通のアプリと違って
「第一章:Hello worldを表示しよう!」
なんてのはマニュアルにないからなw

480:デフォルトの名無しさん
09/10/03 12:54:14
URLリンク(msdn.microsoft.com)

> C# プログラマーズ リファレンス
> Hello World のチュートリアル
>
> このチュートリアルでは、C# 言語による Hello World プログラムのいくつかの記述方法について説明します。

481:デフォルトの名無しさん
09/10/03 13:10:52
オイ俺のコピペ脳、まで読んだ。

482:デフォルトの名無しさん
09/10/03 16:10:02
foreachを逆の順番で回すことはできませんか?
ま、forを使えばいいんだけど・・・

483:デフォルトの名無しさん
09/10/03 16:16:07
出来るわけがない

484:デフォルトの名無しさん
09/10/03 16:16:28
.Reverse()

485:デフォルトの名無しさん
09/10/03 16:35:14
Reverseにしました

486:デフォルトの名無しさん
09/10/03 16:40:27
Reverseは一度内部で最後まで列挙されて、そのバッファから吐き出されてるに過ぎないってことに注意。
但しIListを実装しているものは直接コピーするので、列挙のコストはかからない。

487:デフォルトの名無しさん
09/10/03 16:41:12
ネットワークドライブへの再接続をする方法を教えてください

環境
PC A OS vista x64 sp2
PC B OS xp sp3
AはBのフォルダをネットワークドライブ(Zドライブ)に接続している
ネットワークドライブ(Zドライブ)は起動時に自動的に再接続される。

続く~

488:デフォルトの名無しさん
09/10/03 16:42:50
ケース1
Aのみ起動している状況で、
string[] drives = Directory.GetLogicalDrives();
をやると、drivesの中にZドライブが含まれない。

ケース2
Aを起動してからBを起動しても
drivesの中にZが入ってこない。

ケース3
Bを先に起動してからAを起動すると、
drivesの中にZが入ってくる。

ケース1 2のどちらでも、エクスプローラーではZドライブアイコンに×が重なって表示されます。
×になっているZドライブをダブルクリックすると、正常にドライブにアクセスでき、
その後は
string[] drives = Directory.GetLogicalDrives();
でdrivesの中にZドライブが入ってくる。

このエクスプローラーをダブルクリックするという作業を、なんとか代替できないでしょうか。

やったこと
DriveInfo di = new DriveInfo("Z");
string[] drives = Directory.GetLogicalDrives();
失敗

string[] test = System.IO.Directory.GetFileSystemEntries("z:\\");
string[] drives = Directory.GetLogicalDrives();
例外で強制終了
存在しないドライブの一覧を取得しようとしたのが問題っぽい。

どなたかお願いします。

489:デフォルトの名無しさん
09/10/03 16:46:31
標準ライブラリじゃ無理のはず
Win32APIのWNetAddConnection2で再接続

490:デフォルトの名無しさん
09/10/03 16:49:55
>>489
情報ありがとうございます。
win32apiは使ったことないですが何とかやってみます。

491:450
09/10/03 18:47:55
Form1からForm2を表示したとき、
位置をForm1のLocationプロパティを参照して決めたいのですが、
参照の仕方を教えてください。

492:デフォルトの名無しさん
09/10/03 18:50:30
考え方が間違ってる
Form1がForm2を表示する際に
var form2 = new Form2();
form2.Location = (this.Locationを基準に決めた位置);
form2.Show();
のようにする

493:デフォルトの名無しさん
09/10/03 19:15:30
>>492
おおお!
ありがとうございます!

まったく思いつかなかったです。

494:デフォルトの名無しさん
09/10/03 19:19:43
this.BackColor = System.Drawing.Color.Blue;

直接16進で指定は出来ないのでしょうか?


495:デフォルトの名無しさん
09/10/03 19:20:13
Thread thread = new Thread(ThreadTask);
thread.Start();
でスレッドを起動するとき、引数はどう渡せばいいんでしょう?


496:デフォルトの名無しさん
09/10/03 19:24:51
>>495
URLリンク(msdn.microsoft.com)

497:デフォルトの名無しさん
09/10/03 19:25:22
Color.FromArgb

Colorのリファレンスくらい見たらどうかと思う

498:デフォルトの名無しさん
09/10/03 19:26:45
>>493
いやいやw

普通は(少なくともOOP的には)、別のFormの位置を参照して自分の表示位置を決定して表示する機能を
Form2自身が実装するようにすべき。

その方が分かりやすいでしょ?

ケースバイケースだけど、フツーは>>492みたいのは悪い例。

499:デフォルトの名無しさん
09/10/03 19:36:49
余計な依存ができるだろ
もっとちゃんとした枠組みを作ってそういうことを実現するならいいけど
安易に他のフォームを参照しちゃうようなやり方は良くない

500:デフォルトの名無しさん
09/10/03 19:41:03
>>497
ども、まだヘルプ入れてないんです。始めて二日目。
ありがとう、できました。

501:デフォルトの名無しさん
09/10/03 19:49:21
は? >>500

502:デフォルトの名無しさん
09/10/03 19:59:21
IntelliSenseからそれっぽい名前探し当てるとかできないのかなー。

503:デフォルトの名無しさん
09/10/03 20:01:58
>>499
Locationは"Form1"で実装されてるメンバじゃない。
意味分かる?

依存なんかできないよ。
例えば、

void ShowAtLeft(Form referredForm)

のようにするだけ。

504:デフォルトの名無しさん
09/10/03 20:01:58
Thread thread = new Thread(ThreadTask);
thread.Start(引数);
としたところ、

'System.Threading.Thread.Thread(System.Threading.ParameterizedThreadStart)' に最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。
引数 '1': 'メソッド グループ' から 'System.Threading.ParameterizedThreadStart' に変換できません。
ってことなんですけど…。


505:デフォルトの名無しさん
09/10/03 20:08:38
ThreadTaskの方が引数受け取る気無いとか言わないだろうな

506:デフォルトの名無しさん
09/10/03 20:12:22
private void ThreadTask(string 引数){}
としてます。


507:デフォルトの名無しさん
09/10/03 20:16:39
ParameterizedThreadStartの引数の型に合わせんとダメ

508:デフォルトの名無しさん
09/10/03 20:29:12
private void ThreadTask(object 引数){}
ってことですか?
それだと、
引数 '1': 'object' から 'string' に変換できません。
なんですが、objectからstringに変換すればオーケーなんですか。
どうやるんだろ。


509:デフォルトの名無しさん
09/10/03 21:06:32
いらいら


510:デフォルトの名無しさん
09/10/03 21:10:08
お前には無理だからあきらめろ。

511:デフォルトの名無しさん
09/10/03 21:19:00
VC# 2008ならこれでいいよ。
new Thread(() => ThreadTask(実引数));

512:デフォルトの名無しさん
09/10/04 00:20:08
できました。感謝です。


513:デフォルトの名無しさん
09/10/04 00:22:56
どういたしまして

514:デフォルトの名無しさん
09/10/04 00:24:48
こちらこそ

515:デフォルトの名無しさん
09/10/04 01:32:50
スレッドでファイルをカウントして、
現在の状況をtextboxに表示しようとしています。

int i;
foreach(string file in files)
{
textBox.text = file + i;
i++;
}

これで「InvalidOperationExceptionはハンドルされませんでした。
有効ではないスレッド間の操作:
コントロールが作成されたスレッド以外のスレッドからコントロール
'textBox' がアクセスされました。」とエラー。
textBoxのプロパティをGUIでModifiers Publicにしても
おなじエラーなんですけど、
コントロールを作成したスレッドをPublicにするのは、
GUIの設定だけじゃだめなんですか?

516:デフォルトの名無しさん
09/10/04 01:33:52
Invoke 使え。

517:デフォルトの名無しさん
09/10/04 09:27:56
過去に同様の質問を見たことがありますが…
レンタルサーバーからインストールできるよう自作アプリケーションをアップしましたが、
.NET Framework の インストールに30分程度の時間が要してしまいます。

(1)
インストールするコンポーネント:
・Windowsインストーラー3.1
・.NET Framework Client Profile
の2つにしています。

(2)
クライアント専用Frameworkサブセットにチェックを入れています。

.Net Frameworkが入っていないXPなどのPCからインストールをしようとすると、
30分程度の時間を要してしまいます。

早くするためのテクニックはないでしょうか。
CDなどのメディアで配布したほうが良いのでしょうか。

教えてください。よろしくお願いします。

518:デフォルトの名無しさん
09/10/04 10:24:50
PictureBoxの画像をマウスドラッグで移動させてるのですがおかしな現象に悩んでます
シングルスレッドで移動させているときはマウスのピクセル移動量と画像の移動量が一致します

しかし、マルチスレッドで移動させるとマウスのスピードに指数比例してすごい勢いで画像が流れます

親スレッドでMouseMoveイベントごとに現在位置のグローバル変数を移動
スレッド呼び出し
グローバル変数に従って画面を書き換え

こんな流れになっていてスレッド呼び出しされた側ではグローバル変数を参照しているだけで
位置情報を書き換える処理はしていないです
スレッドが呼ばれている間の位置移動とか特に意識していません

まあ絶対どっかでミスしてんですが、思い当たる原因のヒントでもいただけたらと・・・

519:デフォルトの名無しさん
09/10/04 10:26:02
Client Profile 使ってなくて想像で悪いけど、
.NET Framework 3.5 Client Profile の数々の仕様って修正されてる?

その中の
・XP sp2以上でないと、結局3.5sp1をフルインストールされる
・他のバージョンの.Netがあると、結局3.5sp1をフルインストールされる
のどっちかという話はないか?

他にも
・インストールしたXPは、これをアンインストールしないとVistaにアップグレードできない
・インストールしたPCには、古いバージョンの.Netをインストールできない
・インストールされていない Oracle データ プロバイダが使用可能であると表示される
とかリリースノートで豪快に仕様扱いなんだなぁ。すげーぜ、さすがはアメリカンw

520:デフォルトの名無しさん
09/10/04 10:26:34
デバッグしろよ

521:デフォルトの名無しさん
09/10/04 11:12:27
クライアントプロファイルは正直使いもんにならん。


522:デフォルトの名無しさん
09/10/04 11:16:24
>>518
スレッドの呼び出し?だけ消したら正常になるの?
一体そのスレッドで何やってんだ?
あとスレッドの呼び出し?って何時やってんの?
まさかマウスが動く度じゃないよね?
スレッド側の処理は一瞬で終わるもの?それともしばらく動き続けるもの?

523:デフォルトの名無しさん
09/10/04 11:26:24
BindingSource bs = new BindingSource();

private void button1_Click(object sender, EventArgs e)
{
List<testclass> testlist = new List<testclass>();
testlist.Add(new testclass { A = "A1", B = "B1" });
testlist.Add(new testclass { A = "A2", B = "B2" });

bs.DataSource = testlist;
dataGridView1.DataSource = bs;

bindingSource1.DataSource = testlist;   ←ここに違うList<>をセットするだけでDataGridViewの中身を切り替えたい
//dataGridView2.DataSource = bindingSource1; ←ここはデザイン時にセットしてある
}

class testclass
{
public string A { get; set; }
public string B { get; set; }
}

上記のdataGridView1は期待通り表示されるのですが
dataGridView2は何も表示されません。
dataGridView2のようにデザイン時にDataGridViewのDataSourceにBindingSourceを
指定した場合はBindingSourceのDataSourceをセット(切り替える)した後に
何かしなければならないんでしょうか?

524:デフォルトの名無しさん
09/10/04 11:40:13
>>523に追加
以下のdataGridView1と同じ動作をdataGridView2にさせたいのですが・・

BindingSource bs = new BindingSource();
List<testclass> testlist = new List<testclass>();
List<testclass> testlist2 = new List<testclass>();

private void button1_Click(object sender, EventArgs e)
{
bs.DataSource = testlist;
dataGridView1.DataSource = bs;

bindingSource1.DataSource = testlist;
//dataGridView2.DataSource = bindingSource1;
}
private void button2_Click(object sender, EventArgs e)
{
bs.DataSource = testlist2;
dataGridView1.DataSource = bs;

bindingSource1.DataSource = testlist2;
}
private void Form1_Load(object sender, EventArgs e)
{
testlist.Add(new testclass { A = "A1", B = "B1" });
testlist.Add(new testclass { A = "A2", B = "B2" });

testlist2.Add(new testclass { A = "a1", B = "d1" });
testlist2.Add(new testclass { A = "a2", B = "d2" });
}
以下略

525:デフォルトの名無しさん
09/10/04 12:12:45
>>519
ありがとうございます。
.NET3.5sp1を入れてはいますが、結局使用はしていません。
.NET3.5のみを配布したら早くなるでしょうか…。


526:デフォルトの名無しさん
09/10/04 12:14:50
>>522
今は暫定的にマウスが動くたびになってます
最終的には移動量が一定量を超えたとき呼び出すつもりです
そのスレッドでは移動量をグローバル変数から取得してそれに応じた小さなファイルを読み込んでメインスレッドのInvcke呼び出し
メインスレッドのハンドラでダブルバッファに書き込んで、移動分だけ画像をシフトしてます

527:デフォルトの名無しさん
09/10/04 12:18:29
自分のアプリでクラスライブラリ(.dll)作って一緒に配布すると
そのライブラリを別のアプリケーションで勝手に使っちゃえると思うんだけど
それを防ぐ方法はないのかな?

528:デフォルトの名無しさん
09/10/04 12:20:36
>>527
ない。

529:デフォルトの名無しさん
09/10/04 12:21:41
>>527
ロード元のアセンブリをチェックすればいいだけだろう

530:デフォルトの名無しさん
09/10/04 13:01:15
>>529
そうか、そうですよね。
調べます。

531:デフォルトの名無しさん
09/10/04 14:17:34
>>529
の方法を簡単に説明してくれ

532:デフォルトの名無しさん
09/10/04 14:19:44
アプリ中のオブジェクトを(型指定して)列挙するにはどうしたいいんでしょうか?

533:デフォルトの名無しさん
09/10/04 14:35:27
>>532
なんでそんなことしたいんだ?

534:デフォルトの名無しさん
09/10/04 17:55:02
>>532
さては他人の作ったソフトウェアのメソッド叩きたいとか考えてるな!
やめとけw

535:デフォルトの名無しさん
09/10/04 18:12:38
恐ろしいことを平気でやってのけてこそ初心者!

536:デフォルトの名無しさん
09/10/04 19:05:37
設定ファイルを読み込むのはメインのFormのコンストラクタ内でするのか、
Loadイベントのハンドラで行うのかどちらがいいのでしょう。

537:デフォルトの名無しさん
09/10/04 19:06:28
C++でCLRのアンマネージインターフェイスを叩く必要があった気がする

538:デフォルトの名無しさん
09/10/04 19:10:33
>>536
内容による。

539:デフォルトの名無しさん
09/10/04 19:10:46
>>532
リフレクションでやってみれば?

540:デフォルトの名無しさん
09/10/04 19:11:38
バグを見つけて臍をかむのがオチなんだよなぁ。
マニュアルの System.Reflection 名前空間見るとか、「リフレクション C#」ググるとか。

単に見たいだけなら一番簡単なのは、VSで参照してオブジェクトブラウザで覗く。

541:デフォルトの名無しさん
09/10/04 19:19:48
>>538
ウィンドウのレイアウトから、オプションダイアログで設定するようなものまであります。

542:デフォルトの名無しさん
09/10/04 19:24:04
リフレクションではオブジェクトそのものは見られないよ
MSがソース公開してるCLRプロファイラやWPFプロファイラは部分的にC++使ってた

543:デフォルトの名無しさん
09/10/04 19:27:32
>>541
Formに関する設定ならばLoadだろうね。
逆にコンストラクタできちんと動く?

544:デフォルトの名無しさん
09/10/04 19:47:32
>>525氏の話だけど、
みんなは配布用アプリを作る時は、インストールに時間がかからないようにどのような工夫をしているの?

545:デフォルトの名無しさん
09/10/04 19:48:16
>>543
現状は問題なくできるのですが、、何か陥りやすい問題とかあるんでしょうか。
コンストラクタのInitializeComponentの後にファイルを読み込んでいます。

546:デフォルトの名無しさん
09/10/04 19:55:03
>>544
最初の一回だけだから気にしてない。

547:デフォルトの名無しさん
09/10/04 20:14:58
>>545
俺も聞きたいねえ。
コンストラクタでやったらまずい処理って思いつかない。

まあFormに限らず、クラスのコンストラクタでイベントを生成するような処理を書いて
嵌ったことは過去に何度かある。

コンストラクタ呼び出し中に発火されたイベントは、事実上誰も拾えないからね。

548:デフォルトの名無しさん
09/10/04 20:53:17
>>546
.net3.5を使用しているアプリを配布しようとしたら、
プレインストールされていないPCは、30分とかかかかるのかい?


549:デフォルトの名無しさん
09/10/04 20:55:13
>>548
回線速度とスペック次第じゃね?

550:デフォルトの名無しさん
09/10/04 20:55:27
かかかか

551:デフォルトの名無しさん
09/10/04 21:01:28
>配布
んなものは、システム要件。
インストールさせようなんてのはお節介。
と思ってる。

552:デフォルトの名無しさん
09/10/04 22:08:41
>>545
なら問題ないんじゃない?
C#やりたてのころに痛い目にあったことが1回だけあったけど、何かはど忘れしちゃった。
明日まで覚えていたら会社のSVN覗いてみるわ。


553:デフォルトの名無しさん
09/10/04 22:26:39
コンストラクタはインスタンスの初期化
LoadはFormの読込み
Shownは表示後

ちゃんと役割があるんだからそれぞれに書いた方がいいと思う

554:デフォルトの名無しさん
09/10/04 22:33:17
LoadはVBの名残みたいなもん

555:デフォルトの名無しさん
09/10/04 22:38:56
そんなことはない
FormがShowされるときにすべき処理はLoadに書くべき
コンストラクタはあくまでインスタンスの初期化処理だけのほうがいい

556:デフォルトの名無しさん
09/10/04 22:51:23
>>553-555
正直、どれもよくわからん俺様ロジックにしか聞こえない。
そんなことはない、というなら聞くが、じゃあ結局>>536の質問には何と答えるんの?

っていうか、そういう意味論にこだわるなら、設定値を読み込んで適用するような処理は
InitializecComponentsの後が一番適切に思えるが。

557:デフォルトの名無しさん
09/10/04 23:00:30
> 正直、どれもよくわからん俺様ロジックにしか聞こえない。

イベントドリブン全否定?
俺様ロジックの俺様というのはC#開発者のこと言ってるんだよな?

558:デフォルトの名無しさん
09/10/04 23:17:49
>>557
日本語読める?
だからね、一般論として、コードは意味的に適切なタイミングで
実行されるように書くべき、というのはその通りだけども、
じゃあ設定を読み込んで反映するのに適切なタイミングっていつだっての。

そんなもの、答えなんかないだろう。
「設定を読み込んで反映すべきタイミング」の意味を与えられたイベントなんて存在しないのだから。
イベントの意味なんかにこだわりすぎると、結局そんな処理なんかどこにも書くべきでない、
って結論にならざるをえない。

559:デフォルトの名無しさん
09/10/04 23:37:07
>>558
あなたの言ってることの方がよっぽど俺様ロジックに聞こえるけど
コンストラクタはインスタンスが生成される瞬間に実行され、
インスタンスの初期化のための引数を渡す機能を持っている
コンストラクタが一つなら、その設定やらに渡す引数も一緒に渡してやれば良いけど
そんなやり方推奨する人どのくらいいるだろうね

560:デフォルトの名無しさん
09/10/04 23:42:15
public Form1() : this(null)とか使おうよ

561:デフォルトの名無しさん
09/10/05 00:08:53
>>560
ごめん。どっかいっててくれるかい?

562:デフォルトの名無しさん
09/10/05 00:30:17














563:デフォルトの名無しさん
09/10/05 00:30:38
Formを継承して「設定を読み込んで反映すべきタイミングのイベント」を追加する

564:デフォルトの名無しさん
09/10/05 00:35:18
そう言うようなことは普通にやるけど、「どのタイミングが最適か」って答えは出ないんだよね。

565:デフォルトの名無しさん
09/10/05 01:03:08
>>559
結局どうすべきだと言いたいの?

というかね、コンストラクタが多重定義したい場合で、
かつどのコンストラクタにも共通する処理がある場合は、
どのコンストラクタからも特定の一つの別のコンストラクタを呼ぶようにするか、
共通部分をメソッドに括り出して呼ぶようにするでしょ。

それを忘れたらどうするのかって?
それはただの「バグ」であって、そんなケースを槍玉に挙げてなんの意味があるのよ。

566:デフォルトの名無しさん
09/10/05 01:04:10
横からその問題だけに絞って考えると、感覚的にはファイル
アクセスなら Load かなぁ。
設定ファイルなら…んー、コンストラクタでもぎりぎりアリか。


567:デフォルトの名無しさん
09/10/05 02:42:08
俺ならそもそもFormのインスタンス生成前に読んじゃうかなあ
多重起動チェック→設定読む→Application.Runみたいな流れ
設定にもよるけど

568:デフォルトの名無しさん
09/10/05 10:09:37
まあ、ハンドル云々というのでなければコンストラクタでいいと思う。

569:デフォルトの名無しさん
09/10/05 14:23:18
「List<string> s 」に入ってる文字をlistboxに表示したいです。

listBox1.Items.Add(s);

とすると(コレクション)と表示されてしまいます。


570:デフォルトの名無しさん
09/10/05 14:30:21
・AddRangeする
・DataSourceに設定する

571:デフォルトの名無しさん
09/10/05 15:16:32
下記で出来ました。
string[] ss = new string[s.Count];
for (i = 0; i < s.Count; i++)
{
ss[i] = files[i];
}
listBox1.Items.AddRange(ss);

一度で出来ないのですね。
ありがとうございました。

572:デフォルトの名無しさん
09/10/05 15:23:57
AddRange使って一発でやりたいならToArray使えばいいじゃない

573:デフォルトの名無しさん
09/10/05 15:26:07
あとDataSourceなら
listBox1.DataSource = s;
だけだし。

574:デフォルトの名無しさん
09/10/05 20:13:19
自分の実力が足りないだけなのに言語のせいにされたらたまらんわ。

575:デフォルトの名無しさん
09/10/05 20:35:38
おまえらどんだけ被害妄想wwww


576:デフォルトの名無しさん
09/10/05 20:57:24
ディスプレイから女の子を救い出すプログラムをC#で移植してます。
C#では無理なんでしょうか。VBではうまくいったんですけど・・・

577:デフォルトの名無しさん
09/10/05 21:02:52
どこが動かないのか詳しく。質問が大雑把過ぎて問題がわからない。

578:デフォルトの名無しさん
09/10/05 21:10:59
美少女ゲームの彼女をリア

579:デフォルトの名無しさん
09/10/05 21:22:21
では将軍様、そのディスプレイから女の子を追い出してください

580:デフォルトの名無しさん
09/10/05 21:26:51
全財産はたいてもいいから俺によこせ

581:デフォルトの名無しさん
09/10/05 21:32:41
WinXP Pro SP3, VS2008 sp1, .net 3.5 sp1での質問です。
言語はC#を利用しており、COMコンポーネントの開発を行っています。

下記のような簡単なクラスを作成し、RegSvr32.exeを実行したところ、下記のようなエラーが発生しました。
このようなエラーが発生した場合の対処法と原因について教えていただけないでしょうか?
よろしくお願いいたします。

------作成したクラス-------
using System;
using System.Runtime.InteropServices;
using System.Text;
namespace Test
{
[ClassInterface(ClassInterfaceType.None)]
[ProgId("Test.Test")]
[Guid("00BB6C80-C01D-4D64-A66B-F5D847480B09")]
public class Test
{
public string Test(string s, int m, int n)
{
return "abc";
}
}
}
---------------------------
------[[エラー]]-----------
.\Test.dll は読み込まれましたが、DllRegisterServer エントリ ポイントが見つかりませんでした。
このファイルが登録されていない可能性があります。


582:デフォルトの名無しさん
09/10/05 21:36:30
.NETのアセンブリの場合regsvr32じゃなくてregasm使う

583:デフォルトの名無しさん
09/10/05 22:04:48
Tlbexp.exe

584:デフォルトの名無しさん
09/10/06 17:03:58
プロセスの一覧で、引数を知るにはどうしたらよいですか?
Notepadを複数起動していて、a.txtとb.txtを開いているときに、a.txtのほうのNotepadのプロセスを取得して終了したいです。
System.Diagnostics.Process[] ps = System.Diagnostics.Process.GetProcessesByName("Notepad");
で引数なしなら取得できます。
System.Diagnostics.Process[] ps = System.Diagnostics.Process.GetProcesses();
で、プロセスの一覧はできます。
デバッグでどちらを見ても、ファイル名が見当たらないのです。
探し方が悪いのかもしれません。
ご指摘お願いします。


585:デフォルトの名無しさん
09/10/06 17:12:54
WMI使ってWin32_ProcessのCommandLineプロパティ取得するのが手っ取り早い
けどファイルを開くで開いた場合を気にしなくて良いの?

586:デフォルトの名無しさん
09/10/06 17:19:14
WebRequest/WebResponse って最初に呼び出すときに結構時間がかかります?
数秒~数十秒くらい

587:デフォルトの名無しさん
09/10/06 17:20:22
Win32_ProcessのCommandLineプロパティで、
"C:\WINDOWS\system32\NOTEPAD.EXE" C:\a.txt
"C:\WINDOWS\system32\NOTEPAD.EXE" C:\b.txt
は取得できました。
これを終了するのって、どうするんですか?
それぞれのプロセスの個別の取得方法がわからないです。
NOTEPADのプロセスは取得できるけど、それだとaとbを区別できないし。

ファイルを開くで開く場合は、とりあえずいまは関係なしです。


588:デフォルトの名無しさん
09/10/06 17:24:57
>>587
強制終了させるなら、目的の引数を持ってるWin32_ProcessのTerminateメソッドでいい
内容変更時に保存ダイアログが欲しいなら、Win32_ProcessのProcessIdを使ってProcess.GetProcessByIdしてCloseMainWindow

589:デフォルトの名無しさん
09/10/06 19:35:56
>>588
なんとなくできたっぽいです。
ありがとうございました。


590:デフォルトの名無しさん
09/10/06 22:42:55
>>586
URLリンク(kakikukekou.blog83.fc2.com)

591:デフォルトの名無しさん
09/10/06 22:47:32
>>586
WPADやなんやでネットワークの応答速度によって時間が掛かる可能性はあるね

592:デフォルトの名無しさん
09/10/06 23:37:29
>>586
数十秒もかからないけど 5秒ぐらいはかかってるかな

593:デフォルトの名無しさん
09/10/07 08:58:18
非同期処理ってマルチスレッドってことなんでしょうか?

594:デフォルトの名無しさん
09/10/07 09:07:37
基本的にはそう
スレッドじゃなくてプロセスだったりするかも知れないが
メッセージ使った擬似非同期とかな

595:デフォルトの名無しさん
09/10/07 09:42:23
ありがとうございます

596:デフォルトの名無しさん
09/10/07 12:11:48
文字列中の
\x28 などのエスケープ文字(?)を ( などに変換するのは
それぞれのエスケープ文字について一つ一つ string.replace などで置き換えるしかないのでしょうか?

597:デフォルトの名無しさん
09/10/07 12:34:47
ソース上の文字列リテラルを置換したいのか、実行時に変換したいのか
まあString.Replaceってとこみると実行時の変換なんだろうけど
エスケープの方法なんて言語次第だから特にライブラリには存在してない
Regex.ReplaceでMatchEvaluator使うのが楽だろうねー

598:デフォルトの名無しさん
09/10/07 13:10:36
string[] files = Directory.GetFiles(@"C:\Documents and Settings\username\Local Settings\Temporary Internet Files\", "*.jpg");
で空なのはどうしたら取得できますか?


599:デフォルトの名無しさん
09/10/07 15:06:24
>>598
実際そこにファイルがないから

600:デフォルトの名無しさん
09/10/07 15:11:55
どこにあるんですか?
調べたら、
その下に、Content.IE5フォルダがあるらしいので、SearchOption.AllDirectories
としても見つけられませんでした。

601:デフォルトの名無しさん
09/10/07 15:42:13
エスパーさんお願いします

602:デフォルトの名無しさん
09/10/07 15:44:11
そこには無いんだよ

603:デフォルトの名無しさん
09/10/07 16:04:13
隠しフォルダの中にある隠しフォルダを探したいってことでしょ

Content.IE5の中には、さらにランダムな名前の隠しフォルダがたくさんあって、
ネットから取得したファイルの本体はそのランダムなフォルダの中に分散して格納してある。
何がどこにあるかはindex.datだったかに書いてある。

604:デフォルトの名無しさん
09/10/07 16:09:26
delphi
s string;
SetLength(s, 64);

c#
string s;
サイズを指定するにはどうするんでしょうか?

605:デフォルトの名無しさん
09/10/07 16:12:06
サイズを指定する必要はないんじゃね?

606:デフォルトの名無しさん
09/10/07 16:13:58
Stringは変更できないのでそういうことはできません。
そもそも変更不可なので長さを伸ばすのは意味がありません。StringBuilderなどを使います。
長さを縮めるというか部分を切り出した新しい文字列を作るのはString.SubstringやString.Removeで可能です。

607:デフォルトの名無しさん
09/10/07 16:16:19
base64とかで必要なんです。

608:デフォルトの名無しさん
09/10/07 16:20:22
StringBuilder使えばいいじゃない

609:デフォルトの名無しさん
09/10/07 16:21:06
つーかencodeing気にしなくちゃならんし、byte[]じゃだめなのか

610:デフォルトの名無しさん
09/10/07 16:21:44
何が必要なのよ?

611:604
09/10/07 16:23:20
㌧。やりたいことはStringBuilderで出来そうです。
ありがとうございました。

612:デフォルトの名無しさん
09/10/07 16:24:09
base64は.NETの標準機能でサポートされてるけど

613:デフォルトの名無しさん
09/10/07 16:53:28
URLリンク(www.atmarkit.co.jp)

ここのソース貼り付けて実行したらWPFだとちゃんと動くけどSilverlightだと動かない
んですけどなぜなんです?

614:デフォルトの名無しさん
09/10/07 16:55:19
試用なんだぜ

615:デフォルトの名無しさん
09/10/07 18:10:55
>>603
Content.IE5フォルダの下に30JAKIJ7みたいなフォルダがあることはわかってます。

隠しフォルダのなかのファイルを再帰的に列挙するにはどうしたらよいですか?


616:デフォルトの名無しさん
09/10/07 18:37:01
3番目にSearchOption.AllDirectoriesつけたら?

617:デフォルトの名無しさん
09/10/07 18:52:44
>>616
SearchOption.AllDirectoriesは600でもう試しました。

618:デフォルトの名無しさん
09/10/07 19:00:03
あのさー
こっちは実際に動かして出ることを確認してレスしてんだよ
エクスプローラで見るとそこにちゃんとあるのか?
環境は?
IEのオプションでもそこに設定してあるか?

619:デフォルトの名無しさん
09/10/07 19:01:47
実体が無いんだろ

620:デフォルトの名無しさん
09/10/07 19:28:10
>>618
失礼しました。
あらためてもういちどトライしたらできました。
すみません。ありがとうございました。


621:デフォルトの名無しさん
09/10/07 22:57:34
しーね

622:デフォルトの名無しさん
09/10/08 00:33:44
試してなかったのか試したつもりで見すってたのか
どっちにしろきちんと試さんと自分が困るだけだよ。


623:デフォルトの名無しさん
09/10/08 01:29:24
>>618
ちゃんとこのスレにもまともな回答者がいたんですね。
尊敬します。これからも初心者を見捨てずお願いします。

624:デフォルトの名無しさん
09/10/08 05:31:46
いままでまともな解答者がいないと思ってたのに質問してたのか
変なの

625:デフォルトの名無しさん
09/10/08 07:44:34
リストボックスにアイテム追加して水平スクロールが出たとき、
水平方向の一番後ろを表示する方法を教えてください

626:デフォルトの名無しさん
09/10/08 09:56:06
>>625
スクロールバーが出たときに一番後ろを表示すればいい

627:デフォルトの名無しさん
09/10/08 09:56:54
>>625
ヒント:マウスホイール

628:デフォルトの名無しさん
09/10/08 12:11:20
リストボックスに水平スクロールバーって出せたっけ?

629:デフォルトの名無しさん
09/10/08 15:00:48
普通に出せる

630:デフォルトの名無しさん
09/10/08 15:11:33
ActiveX 経由で Windows Media Plyaer を使おうと思います。

_player = new AxWindowsMediaPlayer;
_player.uiMode = "none";

とすると2行目でエラーが発生します。
まだ、ActiveX コントロールが生成されてないからと思います。

いまは、タイマーで __player.Created を監視して、
true になるのを待つという方法で回避していますが、
ActiveX コントロールが生成されたというイベントはないでしょうか?


631:デフォルトの名無しさん
09/10/08 15:25:58
FormのLoadイベントでならだいじょぶ

632:デフォルトの名無しさん
09/10/08 19:06:07
質問よろしいでしょうか?
Windowsでコピー&ペーストのペースト先の情報(ファイル名やファイルのパス)を得るにはどうすればよいでしょうか?
よろしくお願いします.

633:デフォルトの名無しさん
09/10/08 19:27:01
C# ファイル ドロップ
でググる

634:デフォルトの名無しさん
09/10/08 19:30:35
ペーストされたアプリの側の自由だろ
わかるわけがない

635:デフォルトの名無しさん
09/10/08 19:37:09
すみません.言葉足りずでした
Windows上のアプリケーションを監視するソフトを考えているのですが,
例えば文字列をコピーしたものをパワーポイントに貼り付けた場合,
貼り付け先のパワーポイントのファイル名やファイルのパスを得たいという質問の内容です.


636:デフォルトの名無しさん
09/10/08 19:57:33
もし、張り付け先がファイルとか扱わないソフトだったら?

637:デフォルトの名無しさん
09/10/08 20:20:10
ペーストされたデータの扱いや、どのファイルを開いているかなどは完全にアプリケーションの責任
一般には対象のアプリのプログラムを意味論で解析でもしないかぎり不可能

638:630
09/10/08 20:26:33
>>631
レスありがとうございます。
Loadイベントなら大丈夫とは知りませんでした。
しかし、今回は、フォームデザイナで配置して使用している訳ではなく、
コード内でオブジェクトを作っているため、生成済み通知してくれる
イベントがあればいいなと思い質問しました。

639:デフォルトの名無しさん
09/10/08 20:33:56
タイトルバーにファイルパスやファイル名を表示するタイプのソフトなら
そっから取得できるか?すべてのソフトでどうなってるのか調べなきゃだが

640:デフォルトの名無しさん
09/10/08 20:47:45
開いてるファイルとは全く無関係なところへのペーストだったら?
どう頑張っても使いものにならないから諦めろ

641:デフォルトの名無しさん
09/10/09 06:18:21
asp.netにて リピーターを使ってDataTableをDataSorceにDataBindしています。
DataColumnとしてcolTitle, colValue があるとします。
asp側のコードで
<%# Eval("colTitle") %> <img src="./img/hoge.jpg"> <%# Eval("colValue") $#>
として colTitleとcolValueの間に画像を表示しています。
colValueは文字列で、文字列が空もしくはnullのとき、
hoge.jpgを表示させないようにしたいのですが、
どうしたらいいのかさっぱりわかりません。
<% if ([条件]) { %> <% } %> とするとデータバインド後に一回しか
実行されませんし、
DataBoundイベントを使った場合、どう記述したらいいのか思いつきません。
どなたか教えていただけませんか?

642:641
09/10/09 06:20:08
<%# Eval("colValue") $#> 訂正→<%# Eval("colValue") #>
なんで$マーク。



643:デフォルトの名無しさん
09/10/09 06:20:49
職業的にもCでは使えない状況ですし。


644:デフォルトの名無しさん
09/10/09 10:44:22
お前の職業なんか知らぬ!

645:641
09/10/09 15:38:44
自己解決。

646:デフォルトの名無しさん
09/10/09 18:16:03
>>625
だれかお願いします。
言葉が足りませんでした。
マウス操作やキーボード操作無しで表示する方法です。

647:デフォルトの名無しさん
09/10/09 18:37:59
TopIndex

648:デフォルトの名無しさん
09/10/09 22:48:47
私はとうとう会社を辞めることにしました。
コボラーだった私が今春に社内SEに採用され、
急に未経験のC#をやれと言われてがむしゃらに勉強しましたが、
結局誰も協力はしてくれず1人で中途半端なシステムを作ってしまいました。
土日祝日もC#に明け暮れる毎日。
会社のために休みを完全に削ってがんばってきました。
ここでも何度か質問をし、回答をいただきました。

最終的には最悪な評価に終わりそうです。
私は会社を辞めます。
このスレの皆さんに代わってもらいたいです。

皆さんありがとうございました。
会社は離れてもC#は大切にします。

649:デフォルトの名無しさん
09/10/09 23:03:54
せっかくスポーツニュース見て浮かれてる所に
切ない文章を書くな

650:デフォルトの名無しさん
09/10/09 23:10:49
皆さんが質問に答えてくださったおかげで、
ユーザビリティーの高いシステムになりました。
本当は、使いやすいシステムなんです。
けど、納期が厳しすぎました。バグが出てしまったんです。
悔しいですが、誰もテストしてくれなかったし時間がありませんでした。
今となっては言い訳ですが…。
無理のあるスケジュールに振り回された自分を戒めつつ、
退職してしばらくC#の未消化技術を習得し、
明日につなげたいと思います。

651:デフォルトの名無しさん
09/10/09 23:43:35
うちで働かないか

652:デフォルトの名無しさん
09/10/10 00:03:03
C#そして.NETはおもしろい言語とフレームワークだから会社と関係なく楽しめるよ
C#とは関係ないが納期についておもしろいスライドがあった
URLリンク(www-06.ibm.com)

653:デフォルトの名無しさん
09/10/10 00:03:09
俺はC#どころかCですらHello worldレベルのプログラムしか作ったことなかったのに
納期ギリギリで人が足りないからってC#のプロジェクトに引きずり込まれて、
その日の帰りに慌てて本屋で入門書を買ってVS2008Expressをインスコして徹夜で勉強して…

654:デフォルトの名無しさん
09/10/10 00:05:28
マ板でやれ

655:デフォルトの名無しさん
09/10/10 11:55:39
マ板って何?

656:デフォルトの名無しさん
09/10/10 12:01:37
>>652
読んだけど意味が高度すぎてよく分からなかった。
要するに、
「ウチは、スケジュールに遅れずにいい品質の開発をしまっせ!」
ということ?

657:デフォルトの名無しさん
09/10/10 14:10:10
>>651
C#の経験者だけど、今、転職は難しいんだろうなぁ。
なんとなく肩身が狭くなってきたので会社を去りたいんだが。

658:デフォルトの名無しさん
09/10/10 14:47:14
会社やめて同人エロゲ作って1年で家買えたわ
やめてよかった

659:デフォルトの名無しさん
09/10/10 15:01:53
スレチ乙

660:デフォルトの名無しさん
09/10/10 18:07:58
俺は転職に失敗したからアルバイトのコーダーになっちまったよまったく

661:デフォルトの名無しさん
09/10/10 18:28:45
>>653
インスコってなんだい?

662:デフォルトの名無しさん
09/10/10 18:34:34
インストだろ インストール
文脈も読めないの?

663:デフォルトの名無しさん
09/10/10 20:01:55
FTPサーバーのファイルをサーバー上で移動できますか?
wc.DownloadFile(fileName, locelfileName);
wc.UploadFile(newfileName, locelfileName);
ではできます。
この場合、通信の途中でエラーがあると、ファイルが破損するので、サーバーだけで操作したいと考えてます。
アドバイスお願いします。


664:デフォルトの名無しさん
09/10/10 20:07:40
できます

665:デフォルトの名無しさん
09/10/10 20:15:14
>>663
どっかからftpクライアントのライブラリをもってくるのがいいと思う。

666:デフォルトの名無しさん
09/10/10 21:26:18
あと、通信中に切れてもいいように、転送先の一時ファイルに転送して、転送
終了後にリネームするのが定石。ダウンロードも当然同じく。

667:デフォルトの名無しさん
09/10/10 23:17:25
>>666
何いってんだおまえは

668:デフォルトの名無しさん
09/10/11 00:13:20
サーバー間でコピーさせたいんでしょ
FtpWebRequest みたいなんではできないと思う
Socketで片方Passiveにしてそのポートでもう片方ひらいてStoreとRetieveする

669:デフォルトの名無しさん
09/10/11 00:28:37
FTPじゃできんだろ

670:デフォルトの名無しさん
09/10/11 00:37:12
同一サーバー上なら、ディレクトリ間の移動はリネームするだけのはずなんだが。
サーバー間の移動ならFTPよりrsyncがお勧め。

671:デフォルトの名無しさん
09/10/11 00:40:26
プロトコル自体にリネームがないと思うが
まあ、davでも使えと

672:デフォルトの名無しさん
09/10/11 00:47:07
davならぁ~

673:デフォルトの名無しさん
09/10/11 00:50:23
クソ
不意をつかれた


674:デフォルトの名無しさん
09/10/11 00:56:24
ほい、あるよ。
URLリンク(ja.wikipedia.org)

675:デフォルトの名無しさん
09/10/11 00:58:18
671みたいな古臭い脳みその人は順次退場して欲しいもんだ

676:デフォルトの名無しさん
09/10/11 00:59:20
563 名前:仕様書無しさん[sage] 投稿日:2009/09/23(水) 20:15:18
    2chで調べ物をしたい時は「教えてください」って書いても
    なかなか教えてもらえない。

    そういう時は、知ったかぶり風に間違ったことを自信満々に書く。
    そうすると、ものすごい勢いでツッコミを入れてもらえる。


677:デフォルトの名無しさん
09/10/11 01:01:31
コピペ君って馬鹿だな、まで読んだ

678:デフォルトの名無しさん
09/10/11 01:08:46
>>667
・・・仕事としてやったこと無いんだな坊ちゃん。

679:デフォルトの名無しさん
09/10/11 04:07:18
>>187
選択状態、位置の管理を君がしてないから

これ以上の説明が必要ならソース出せ

680:デフォルトの名無しさん
09/10/11 10:25:54
たぶんもう見てない

681:デフォルトの名無しさん
09/10/11 12:26:47
C#で人工知能作れますか?

682:デフォルトの名無しさん
09/10/11 12:31:28
天然無能にC#は使えません

683:デフォルトの名無しさん
09/10/11 15:19:24
最強に初心者でちょっとプログラミングってものに興味持ち出したんですが
何から始めたらいいかよくわからなくて
このスレにいけとかここのサイトから見て始めろとかあれば教えてもらえるとありがたいです。

684:デフォルトの名無しさん
09/10/11 15:24:10
前提がわからんと何とも、、、本当に何もなし?
とりあえずここ見て、どこからわからんか考えてみ
URLリンク(www.atmarkit.co.jp)

685:デフォルトの名無しさん
09/10/11 15:27:51
>>684
恥ずかしながら無いに等しいと思います。
VB?というやつですか?それなら少しだけしたことはあるのですがそれもとても簡単なやつだったと思います。
URLありがとです。
とりあえず読んでみます!


686:デフォルトの名無しさん
09/10/11 15:27:59
>>683
C#は基本的にはビジネスユースのプロが使う言語だからな。
裾野も広ければ奥行きもある。
本格的にやりたいなら入門書を買うことをお勧めする。

まあ、だからといってアマチュアが触れないのかといえばそうでもないが。

まず、ここは外せないな。
URLリンク(ufcpp.net)

本当にゼロから始めるならここでもいいが、
URLリンク(homepage2.nifty.com)

こっちは技術的なうそがいっぱい書かれてることで有名なところだから、
(にもかかわらず分かりやすいということで書籍化までされているのが厄介)
うそをうそと見抜けるようになるまで勉強したまえ。

687:デフォルトの名無しさん
09/10/11 15:40:12
>>686
PCをゲーム機としてだけで置いておくのはかわいそうだと思ってやってみようかと
とりあえずブックマークさしてもらいました!

いきなり質問と言うか躓いてしまったのですが
Visual Studio .NETというソフトは有料なんでしょうか?
もし代わりとなるようなソフトがあればありがたいとは思うのですが・・・

688:デフォルトの名無しさん
09/10/11 15:42:46
express edition なら無料で使える

689:デフォルトの名無しさん
09/10/11 15:48:02
Visual Studio .NETってのは2002の頃ので有料版だけど、
2005以降は無料のExpressEditionがあってMSのサイトからDLできる。
最新は2008SP1ね

690:685
09/10/11 15:50:01
>>688>>689
ありがとうございます!
Visual C# 2008 Express Edition with Service Pack 1というのでおkですかね?

691:デフォルトの名無しさん
09/10/11 15:59:31
それでおk

692:685
09/10/11 16:07:47
インスコしてみたのですがどうしても2008SQLサーバー?ですかね
それだけインスコできませんでしたとの表示が出て終了してしまうのですが・・・w
なにかインスコに関して制約とかこのOSだと駄目とかそういうものは

693:デフォルトの名無しさん
09/10/11 16:08:28
最近組んだファイルの管理を行うロジックでDirectory.filenameとか言うのを叩いてファイルの列挙してるんだけど、
配列じゃなくコレクション型を使いたいということで後先考えずIListを使ってしまって
今になってよかったのかと思ってる。
クラスとかじゃなく、インターフェイスとなっているものを直に変数として宣言するのは気持ち悪いんだけど、この場合何か別の方法ってないのかな?

string tempFN = Directry.filename(***);
List<string> FN = List<string>();
FN.Addrange=tempFN;

とかなんか回りくどいのがあまり好きじゃないし、俺の低脳さも好きじゃない。
知恵と知識をおくれ

694:デフォルトの名無しさん
09/10/11 16:11:09
>>693
原則として、フォルダ中のファイル一覧のような外部の事情で
いつ変更が加わってもおかしくないような
リソースに対してはキャッシュそのものを行わず、
必要なときにそのたびに取得するようにする。

695:デフォルトの名無しさん
09/10/11 16:11:35
始めてプログラムするならC#とC++どっちがお勧めですか?

696:デフォルトの名無しさん
09/10/11 16:15:20
断然C#
初めてでいきなりC++に挑戦すると挫折する可能性が高い

697:デフォルトの名無しさん
09/10/11 16:16:44
というか、ことWindowsでプログラミングするときに
C++をわざわざ選択する意味がほとんどないな。現在では。

698:デフォルトの名無しさん
09/10/11 16:20:10
>>694
ぅーん・・・、検索とか比較をする必要がある場合だったんでコレクション型に落として処理したかったんだけど、
こういったstring[]系のものを一発でList<string>に変換できる技があればなと思ってる。

配列から検索とか比較するのってなにか複雑に見えてしまう。
それにあの構文が見た目不安定に思えて仕方ないw

699:デフォルトの名無しさん
09/10/11 16:22:34
配列は IEnumerable だから List のコンストラクタに入れられるだろ

700:デフォルトの名無しさん
09/10/11 16:29:56
暗黙的に変換できないから一々Addrangeしないといけないからやだなぁって。
そういうことじゃない?

701:デフォルトの名無しさん
09/10/11 16:33:55
ごめん・・・
.ToList();でけた

702:デフォルトの名無しさん
09/10/11 16:34:22
LINQ使えるんだったらそもそもリストにする必要ないだろ

703:デフォルトの名無しさん
09/10/11 16:34:40
つ DarkBASIC

704:デフォルトの名無しさん
09/10/11 16:34:41
.NET 3.5 で C# 3.0 だったのかよ

705:デフォルトの名無しさん
09/10/11 16:37:03
List<T>.FindなんかそのうちObsolete来るかもね
Silverlightではすでに削除されてる

706:デフォルトの名無しさん
09/10/11 16:39:24
>>705
なぜ?

707:デフォルトの名無しさん
09/10/11 16:40:09
LINQ (to Objects)があれば不要だから

708:デフォルトの名無しさん
09/10/11 16:42:44
聞いたことはあるけど使ったことが無い。
というよりあまり魅力とは思わないんだけど、使い始めたらやめられない位つかうことになる?

709:デフォルトの名無しさん
09/10/11 16:43:26
>>707
そんな理由で非推奨にしたらどれだけのメソッドが非推奨になるんだい

710:デフォルトの名無しさん
09/10/11 16:45:17
>>692
とりあえずSQLサーバーとかいらんだろ

711:デフォルトの名無しさん
09/10/11 16:47:38
とりあえずVisual Stadioはサーバー系とモバイル系、オフィス系を省いて、C++をフルインストール、後はデフォルト。
C++はフルにしないとツールや、コンパイルのときAnyCPUの選択ができなくなる。

712:デフォルトの名無しさん
09/10/11 16:48:58
あとはDXperience

713:デフォルトの名無しさん
09/10/11 16:52:27
>>708
よくWebの記事なので紹介されてるクエリ式( from x in items where … ) はあまり使わないだろうけど
メソッド形式( items.Where(x => x.Value < 10).ToList() みたいに書く方)は使いまくることになる
MSDNでSystem.Linq.Enumerableクラスを見てみるといいよ

714:デフォルトの名無しさん
09/10/11 16:59:55
何かちょっと魅力と思えてきた。
これ使いこなせれば、今書いてるコードとかキュッと出来そうw

人に渡すと説明いりそうだけどw

715:デフォルトの名無しさん
09/10/11 17:54:54
LINQは麻薬

716:デフォルトの名無しさん
09/10/11 18:06:07
アルゴリズムを分かった前提でLINQを使ってほしいね
組み合わせ問題をLINQで無理やり書いて
速度が出ないコードを量産されたらたまらん

717:デフォルトの名無しさん
09/10/11 18:06:31
何でもLINQで書きたくなる病を発症する人は多いな。

718:デフォルトの名無しさん
09/10/11 18:09:16
今必死に抑えてるよ…

719:デフォルトの名無しさん
09/10/11 18:18:46
LINQ to flickrとかね

720:デフォルトの名無しさん
09/10/11 18:20:42
っは・・・し、静まれ・・・俺のLINQよ・・・怒りを静めろ!!

721:デフォルトの名無しさん
09/10/11 18:25:34
やめろぉおおおおお
なんでもかんでもIEnumerableインターフェースを実装しようとするんじゃねエエエエエエエエエ

722:デフォルトの名無しさん
09/10/11 18:26:09
あるあるw

723:デフォルトの名無しさん
09/10/11 20:02:06
ほうらこんなものも列挙できるんだよ・・・
みてごらん・・・

724:デフォルトの名無しさん
09/10/11 20:09:06
本当に麻薬だなw

725:デフォルトの名無しさん
09/10/11 20:20:53
javaの1.4で仕事してるけど、ループを書くたびに、linqならああ書けるのにって
妄想してしまう。

726:デフォルトの名無しさん
09/10/11 20:21:49
今時Java 1.4なんて苦行そのものだな。お疲れさん。

727:デフォルトの名無しさん
09/10/11 20:41:21
>>693
var files= Directory.GetFiles(@"c:\work", "*.*", SearchOption.AllDirectories)
.Select(f => new FileInfo(f));
// .Select(x => new FileInfo(x)).ToArray()で配列;
foreach (var file in files)
Console.WriteLine(file.ToString());



728:デフォルトの名無しさん
09/10/12 00:52:04
>>727
わざわざありがとうございます!

何か作っているうちにいろいろやって見たんだけど、これ中毒化する・・・。
ハンドルとか捕ってく時に無駄に使いまわしそうw
.Selectがいっぱい尻尾に着くとかとても自己満z

729:デフォルトの名無しさん
09/10/12 12:49:57
DrawStringで矩形の中に改行しながら最大に近いサイズで文字を表示する方法を教えてください。

730:デフォルトの名無しさん
09/10/12 12:56:04
DrawString(string, Font, Brush, RectangleF)

731:デフォルトの名無しさん
09/10/12 12:57:24
MeasureText
MeasureString


732:デフォルトの名無しさん
09/10/12 13:49:08
フォントサイズを変更しながらMeasureStringで収まってるかどうかループ回すってことですか?

それしかないのか・・・


733:デフォルトの名無しさん
09/10/12 13:56:46
えーっと、比例とか分数って小3ぐらいで習うよな…
仮にそれで誤差が出るとしても、バイナリーサーチと同じアルゴリズムが使えると思うが

734:デフォルトの名無しさん
09/10/12 14:36:28
そっか!

735:デフォルトの名無しさん
09/10/12 18:55:51
音楽プレイヤーについて質問があります。
WindowsMediaPlayerを使って音楽を再生しようとしています。
再生はできたので、次の段階で、評価の値を取得して、気に入った曲だけ再生しようとしています。
URLリンク(d.hatena.ne.jp)
を参考に、メタデータを取得しようとしています。
ここで疑問点が出てきました。
評価の項目が見当たらないのです。
曲の評価は5なのですが、値が5のデータもありません。
評価を取得するにはどうしたらよいでしょう。

736:デフォルトの名無しさん
09/10/12 19:10:51
列挙したら何が取れるの?

737:デフォルトの名無しさん
09/10/12 19:11:52
ちっとはMSDN見ろ?
URLリンク(msdn.microsoft.com)
属性の名前についてはこっち見ろと書いてある
URLリンク(msdn.microsoft.com)
オーディオ関連に使用する属性に限定したリストがこれ
URLリンク(msdn.microsoft.com)
で評価は大体ratingの訳語だからratingをページ内検索
後は片っ端から詳細ページを確認

738:デフォルトの名無しさん
09/10/12 21:45:47
>>737
thanks

739:デフォルトの名無しさん
09/10/12 23:39:13
ちと悩んでて質問させてくれ
C#のフォームに複数のswf組み込んでそのswfに同時キー処理を渡したいんだ
どうすればいい?
swfを貼り付けるとこまではサイト見ながらなんとか出来たが
swfの同時処理がわからん・・・。1日調べたけどお手上げだった俺に誰か救いの手をくれ

740:デフォルトの名無しさん
09/10/13 00:01:28
同時ってのがあれだけど、スレッドとかか?
でもブラウザにswfにキーイベントとか渡せるかどうかわかんない

741:デフォルトの名無しさん
09/10/13 00:17:03
いや、普通のフラッシュゲームとかと考えてもらっていい
イメージ的には1つのフォームに2つ以上のフラッシュゲームをおいて
キー操作で全く同じ動きする感じ。

742:デフォルトの名無しさん
09/10/13 00:23:35
そもそも、そのswfが同時入力という概念があるのかすら決まってないんじゃないの?

743:デフォルトの名無しさん
09/10/13 00:33:21
フォームに組み込むからフォーム側でコントロールすれば複数のオブジェクト(今の場合はswf)に
キーイベントを送ることは出来るとは思うんだが・・・。
リストとかテキストボックス複数に同時に同じキーイベント送ることが出来たからswfでも出来ると思ったけど
swfは無理なのかのう(´・ω・`)

744:デフォルトの名無しさん
09/10/13 00:35:05
複数に同時、ってのは無理。

745:デフォルトの名無しさん
09/10/13 00:40:16
無理なのか・・・(;´Д`)
他に方法は無いだろうか?もうC#じゃなくてもいいや

746:デフォルトの名無しさん
09/10/13 00:42:21
じゃ、スレ違いだからどこかに消えてなくなれよ。

747:デフォルトの名無しさん
09/10/13 00:51:30
どんな言語だろうと同時は無理だろう

748:デフォルトの名無しさん
09/10/13 01:13:43
キーの制御だからC系でいけると思ったけど
C#で無理ならしゃーないな(´・ω・`)
ありがとう

749:デフォルトの名無しさん
09/10/13 02:15:36
お前らの同時は質問者の同時と別だろうなw

750:デフォルトの名無しさん
09/10/13 02:48:15
キー制御とか書いてあるから人間が操作する前提のフラッシュゲームを
自動で動かしたいとかそんなことなんだろう。
ならばリフレッシュレートより短い時間差があっても問題になることは少ないはず。
この程度の考察ができないようでは、とてもまともなプログラマーとは言えない。
許容誤差とか、仕様に不明な点があれば確認すべきだし。

751:デフォルトの名無しさん
09/10/13 03:06:08
仕様ってなんだよw
仕事じゃあるまいし、なんでそんなに懇切丁寧にやらにゃならんのだ。
頭おかしいんじゃないの?

752:デフォルトの名無しさん
09/10/13 03:29:46
遊びで手を抜くやつは仕事でも手を抜くんだよなあ
人間、そんなに器用に習慣を変えることなんてできないんだから
ちょっとしたことでも態度に出たのを見られてるから注意した方がいいよ

753:デフォルトの名無しさん
09/10/13 03:37:12
仕事で手を抜くのは基本
仕事振られずに給料もらうのがベストソリューション

754:デフォルトの名無しさん
09/10/13 06:44:18
>>752
おまえ働いたことないだろw

755:デフォルトの名無しさん
09/10/13 08:06:09
いかに品質を落とさずに手を抜くかだよな~
あらゆるツールはそのためにある

756:739
09/10/13 08:22:01
>>750が言う通り少々の時間誤差あるくらいなら全然構わない
ちと説明不足だったすまない

757:デフォルトの名無しさん
09/10/13 08:40:35
飛行機のネジには遊びがあるんだぜ
全てのネジを完璧に締めちゃうと飛び立った後で空中分解するんだぜ
仕事も同じ
俺は後輩にこう教えて来た

758:デフォルトの名無しさん
09/10/13 09:42:00
今は接着剤だがなw

759:デフォルトの名無しさん
09/10/13 09:49:24
それがツールというものか。

なんかつながった

760:デフォルトの名無しさん
09/10/13 10:01:43
効率化を提言すると手を抜いてると言い出すのは日本の会社の宿命だよ
今まで自分が築いたものを否定されるに等しいと思ってるからね
帰属意識を持てという割に共同体だという概念がない

761:デフォルトの名無しさん
09/10/13 10:14:11
んなこたない

762:デフォルトの名無しさん
09/10/13 10:58:17
ツールツール言ってる奴はツールに問題があった時の
工数増加まで見積ってるんだろうな?

763:デフォルトの名無しさん
09/10/13 10:58:54
当たり前


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