ふらっとC#,C♯,C#(初心者用) Part45
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/09/21(月) 17:41:44「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
前スレ
ふらっとC#,C♯,C#(初心者用) Part44
http://pc12.2ch.net/test/read.cgi/tech/1251439041/
0002デフォルトの名無しさん
2009/09/21(月) 17:44:04C#, C♯, C#相談室 Part54
http://pc12.2ch.net/test/read.cgi/tech/1250911923/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part4
http://pc12.2ch.net/test/read.cgi/tech/1245384489/
----参考サイト
http://www.google.co.jp/
http://msdn.microsoft.com/ja-jp/library/default.aspx
http://homepage3.nifty.com/midori_no_bike/CS/
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
http://dobon.net/vb/dotnet/
http://jeanne.wankuma.com/tips/
http://www.labasp.net/CsharpNote/
0003デフォルトの名無しさん
2009/09/21(月) 17:47:310004デフォルトの名無しさん
2009/09/21(月) 18:49:03フレームワーク内部でcatchされてる例外は深く考えても脳が疲れるだけよ
どうしても気になるならソース追っかけていけばいいけどCompactFrameworkのソースは公開されてたっけ
0005デフォルトの名無しさん
2009/09/21(月) 18:53:290006デフォルトの名無しさん
2009/09/22(火) 00:11:39了解です
そうですよね。何かサーバーからエラーが来てるのかと思いましたが、パケットを調べられる
技量もないのでしばらくこのままで行ってみます
ありがとうございました
ところで、これで取得したメモリストリームからBitmapのインスタンスを生成する部分で
たびたび一般的なGDI+エラーというのが出ます
マルチスレッドでコールバック関数が呼ばれる前にメモリストリームが切断されるとダメという記述があちこちに
みつかり、シリアライズしてからBitmapを生成した方がいいとありますが、
データ長を調べてbyte[]に入れればいいんでしょうか?
それからBitmapを作ればいい?
こういう時の定石なのでしょうか?ご存じの方よろしくお願いします
0007デフォルトの名無しさん
2009/09/22(火) 00:21:34メモリストリームが切断?
取り敢えずStreamからMemoryStreamに一旦書き込んで、その後はそのMemoryStreamを使う
0008デフォルトの名無しさん
2009/09/22(火) 00:36:07Google検索ボックスのように、
かな文字を入力中に、その文字列でデータセットの検索結果をリアルタイムに表示させたいんです。
よろしくお願いします。
0009デフォルトの名無しさん
2009/09/22(火) 00:39:26Imm系の API 使えばできるでしょ。
0010デフォルトの名無しさん
2009/09/22(火) 00:41:59あれ・・・それ今やってることと同じでした
ストリームからByte配列に書き込み
それをメモリストリームに書き込んで
BmpSource = new Bitmap(memorystream);
こうしてるんですが、なぜかストリームのところでなく
この行でGDIのエラーが出るんです
エラーはWebRequest要求の最中にさらに要求を重ねた
場合に起こります
ただし、WebRsponseのストリーム読み出しではなく
GDIで起こります
もしかしたら呼び出し順が狂ってメモリストリームにデーはあるものの
BitMapとしてはデータが壊れてるのかも知れないですね・・・
ちなみにFrameworkは2.0 SP2 です
とりあえずエラーが出たところでダンプしてみます
0011デフォルトの名無しさん
2009/09/22(火) 00:46:00上のページを参考に、TcpListener、TcpClientを使って簡単なチャットプログラムを作っています。
TcpListener、TcpClientにローカルIPアドレスとポート番号9999を指定して
1つのパソコン内でメッセージのやり取りはできたのですが、
外部のパソコンとやり取りをするにはIPアドレスとポート番号は具体的にどのように指定すればいいのでしょうか?
WANのIPアドレスでも動作するか試すため、
サーバー側はIPAddress.Anyを使って、ポートは9999
クライアント側は「確認くん」で調べた自分のWANのIPアドレス、ポートは9999を指定して実行すると、
サーバー側は「接続待機中」
クライアント側は「対象のコンピュータによって拒否されたため、接続できませんでした。***.***.***.***:9999」と表示されます。
上と同じように指定して知り合いのパソコンとやり取りをしようとしたのですが、やはりうまくいきませんでした。
説明下手な上に初歩的な質問ですみません。ちなみにファイアウォールは切ってます
回答お願い致します
0012デフォルトの名無しさん
2009/09/22(火) 00:56:45単にスレッドセーフになってないだけじゃ…
0013デフォルトの名無しさん
2009/09/22(火) 01:04:45メモリーストリームに複数要求したデータが全部繋がって入ってる感じです
詳しく見てませんが、データの大きさがかなり大きいので間違いないと思います
一回呼び出し 正常表示
71203
5回呼び出し、DGIエラー
75299
同じ画像です
メイン処理クラスからリクエストを送るイベントのたびにスレッドクラスを生成して
そのスレッドクラスの中で非同期にWebRequest処理して
そのクラスの中のコールバックメソッドの中でBitMap処理してます
最後にメイン処理クラスにデリゲートで処理を戻して描画してます
別のインスタンス(のつもり?)のスレッドクラスの中のstaticなメモリストリームに
どんどんデータが入って来てしまうようです・・・
スレッドクラスそのものはstatic宣言してないです
0014デフォルトの名無しさん
2009/09/22(火) 01:05:26そのようです
0015デフォルトの名無しさん
2009/09/22(火) 01:05:520016デフォルトの名無しさん
2009/09/22(火) 01:09:07レスポンスごとにMemoryStream用意しろ
0018デフォルトの名無しさん
2009/09/22(火) 01:20:56レスポンスをコピーするためにバイト配列を使うのですが、
バイト配列が一杯になったらメモリストリームにコピーする
コールバックメソッドを呼び出して
コールバックメソッド側で再びレスポンス読み込みメソッドを呼ぶ
ということになってるので、staticなMemoryStreamになってます
それで、リクエスト処理を行うクラスをメイン処理クラスからイベントごとに
インスタンス生成しているんですが・・・これがいけないのですかね?
>この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。
>インスタンス メンバの場合は、スレッド セーフであるとは限りません。
とあるのですが、リクエスト処理を行うクラスはインスタンスにしていいかと
とりあえずリクエストクラス内でHttpWebRequestをpublic staticで宣言してみます
0019デフォルトの名無しさん
2009/09/22(火) 01:21:530020デフォルトの名無しさん
2009/09/22(火) 01:23:050021デフォルトの名無しさん
2009/09/22(火) 01:27:13確認君で、ってことは、ルーター環境? それなら、NAT で
ポート転送設定しないと。
0022デフォルトの名無しさん
2009/09/22(火) 01:28:270023デフォルトの名無しさん
2009/09/22(火) 01:29:46http://shinshu.fm/MHz/95.83/a02138/0000025041.html
のリンクにimmを利用したテキストボックスの定義が記述されているのですが、
どう使えば変換前の文字列を取得できるのかが分かりません。
教えていただけないでしょうか(T_T)。
0024デフォルトの名無しさん
2009/09/22(火) 01:30:05その通りです public static で宣言したけど駄目でした orz
>>20
そうですね
ヘッダーを調べてデータサイズの大きさのByte配列を用意してみます
タブブラウズは同時にリクエストしてますが、あれはどういう仕組みなんでしょうかねえ・・・
悔しいなぁ
やはり一気に読み込むんでしょうか?
0025デフォルトの名無しさん
2009/09/22(火) 01:31:30わかろうと努力してるので・・・どうか生暖かく見守ってください ><。。
0026デフォルトの名無しさん
2009/09/22(火) 01:31:37これ見てわからないなら、あきらめなよ。
0027デフォルトの名無しさん
2009/09/22(火) 01:31:480028デフォルトの名無しさん
2009/09/22(火) 01:35:36メイン処理クラスで
private Thread myThread;
private void ThreadFunction()
{
GoogleRequest myThreadClassObject = new GoogleRequest(this);
myThreadClassObject.GetMap(GSParam);
}
は、やっているんですが・・・すみませんそのこときちんと書いてありませんでした
0029デフォルトの名無しさん
2009/09/22(火) 01:37:13public void GetMap()
{
myThread = new Thread(new ThreadStart(ThreadFunction));
myThread.Start();
}
0030デフォルトの名無しさん
2009/09/22(火) 04:29:05駄目に決まってんじゃん
というかstaticの意味分かってるのか
0031デフォルトの名無しさん
2009/09/22(火) 08:46:22このテキストボックスを用いてどこから変換前の文字列を取るのか分からないんです。
0032デフォルトの名無しさん
2009/09/22(火) 09:32:33あーもしかして、スレッドをスタートするときのGoogleRequestインスタンスの中のstaticって共有されるのが常識でしたか
クラスをStaticにしたらシングルトンになると思い込んでたもので・・・
static=静的
でしたっけ?プログラムが終了するまで存続が補償されてるメモリってことですよね?
0033デフォルトの名無しさん
2009/09/22(火) 09:49:18スコープを抜けても値が保持される
0034デフォルトの名無しさん
2009/09/22(火) 10:00:49シングルトンをやりたいなら静的クラス メンバを使ってこんな感じで書けばいい。
public class Singleton
{
private static readonly Singleton instance = new Singleton();
private Singleton() {}
public static Singleton GetInstance()
{
return instance;
}
}
0035デフォルトの名無しさん
2009/09/22(火) 10:14:43するとクラスのインスタンスの中のstatic変数はインスタンス同士で共有されるってことですか
>>34
シングルトンと静的クラスは違いますね
おおざっぱな言い方してすみませんでした
> 静的メンバ
静的なメソッド、フィールド、プロパティ、またはイベントは、クラスのインスタンスが作成されていないときでも
クラスで呼び出すことができます。クラスのインスタンスが作成されている場合は、これらを使用して
静的メンバにアクセスすることはできません。静的フィールドと静的イベントのコピーは 1 つのみ存在し、
静的メソッドと静的プロパティは、静的フィールドと静的イベントにしかアクセスできません。
静的メンバは、多くの場合、オブジェクトの状態に応じて変化しないデータや計算を表すために使用されます。
やっと自分の勘違いがわかりました。
ありがとうございました。
0036デフォルトの名無しさん
2009/09/22(火) 10:15:44これって別のマシンからコールしてもシングルトンですか?
0037デフォルトの名無しさん
2009/09/22(火) 10:20:190038デフォルトの名無しさん
2009/09/22(火) 10:26:41最初のエラーはクラスメンバのメソッドのの中にstaticでメモリストリームが宣言してありました
これはサンプルのコピーが原因でした
その宣言をstaticのままクラスメンバに移したのが間違いでした
クラスメンバであればクラス内ではグローバル変数のように使えるのでメソッド間でのやりとりに問題は
ないはずなのに安易にstaticを使ってしまいました
見当違いな質問を繰り返してご迷惑おかけしましたが、やっとわかりました
みなさんありがとうございました
0039デフォルトの名無しさん
2009/09/22(火) 10:28:10単に起動したスレッドで普通に同期的に処理することをすすめる。
そうすれば、素直に作ってれば変にstaticで共有してしまったりなんてことは起こらない。
リクエスト自体を非同期でやろうとすると難易度が跳ね上がるし、
実質あまり変わらないから意味もない。
普通は同期リクエストで十分。
0040デフォルトの名無しさん
2009/09/22(火) 10:41:58確かにリスクは大きいですねえ
マルチスレッドで動くダウンローダーのような効率化に挑戦したかったものでつい・・・
アドバイスありがとうございました
0041デフォルトの名無しさん
2009/09/22(火) 11:03:36普通にスレッド作ったりスレッドプールで処理するだけで十分てこと。
ああ、ただ、非同期リクエストだとキャンセルが可能だったかな。
0042デフォルトの名無しさん
2009/09/22(火) 11:30:09はい、ふつうならマルチスレッドで同期リクエスト動かせばいいって話ですね!
0043デフォルトの名無しさん
2009/09/22(火) 11:42:45とおなじようにURLををファイル名のみゲットしたいです。
かんたんな方法はありますか?
いま考えつくのは、Split('/')で、forでLength-1を取得とかかな〜、と思っているんですが。
0044デフォルトの名無しさん
2009/09/22(火) 11:47:080045デフォルトの名無しさん
2009/09/22(火) 11:50:040046デフォルトの名無しさん
2009/09/22(火) 12:46:180047デフォルトの名無しさん
2009/09/22(火) 13:38:35テキストボックスやエクセルシートの検索ワードが選択されて強調表示されますよね?
アレってどうやるんでしょう?
SelectedだとFocusがないので強調表示されませんでした。
0048デフォルトの名無しさん
2009/09/22(火) 13:45:200049デフォルトの名無しさん
2009/09/22(火) 14:41:26[DllImport ("unrar32.dll", CharSet=CharSet.Auto)]
public extern static ushort UnrarGetVersion();
[DllImport ("unrar32.dll", CharSet=CharSet.Auto)]
public extern static int Unrar(IntPtr hWnd, string szCmdLine, string szOutput, uint dwSize);
public static void Main()
{
System.Console.WriteLine( Decompressor.UnrarGetVersion() ); /* UNRAR32.dllのバージョン 12が返る */
System.Console.WriteLine( UnrarQueryFunctionList(1)); /* Unrar APIが使えるか。True */
System.Console.WriteLine(Decompressor.Unrar(IntPtr.Zero, "-x " + @"C:\test.rar", "", 0)); /* ERROR_COMMAND_NAME (0x801C) が返ってくる */
}
コマンドがおかしいって怒られちゃうの。なんで?
005049
2009/09/22(火) 14:43:17C:\test.rar をただ単に解凍したいだけっす。
0051デフォルトの名無しさん
2009/09/22(火) 14:59:070052デフォルトの名無しさん
2009/09/22(火) 15:01:43005349
2009/09/22(火) 15:06:08とっぱらったら出来た。
理由は自分で調べるお。ありがと!
005449
2009/09/22(火) 15:10:500055デフォルトの名無しさん
2009/09/22(火) 15:27:15005649
2009/09/22(火) 15:33:47ありがとう!
0057デフォルトの名無しさん
2009/09/22(火) 16:23:11AutoだとUnicodeにされるのは1度戸惑ったことあるな
0058デフォルトの名無しさん
2009/09/22(火) 17:34:07MSDNに書いてあるまんまで解釈の余地とかないと思うんだけど・・・
0059デフォルトの名無しさん
2009/09/22(火) 17:57:34初心に戻ろうぜ。
0060デフォルトの名無しさん
2009/09/22(火) 19:23:56その親フォームから呼ばれる別のフォームで、そのイベントを実行するにはどうすればよいでしょうか。
教えてください−−−!!!!!
0061デフォルトの名無しさん
2009/09/22(火) 19:30:240062デフォルトの名無しさん
2009/09/22(火) 19:32:450063デフォルトの名無しさん
2009/09/22(火) 19:34:370064デフォルトの名無しさん
2009/09/22(火) 19:52:32具体的には、親に
private void Click(object sender, EventArgs e)
{
MessageBox.Show("またクリックしたの?");
}
を記述しました。
親のボタンを押した先のフォームのボタンコントロールのクリック時に
このイベントを実行させようと思いましたが、
プロパティウィンドウのイベント欄のclickに、
「Click」が表示されません。
どうすればよいのでしょうか。
0065デフォルトの名無しさん
2009/09/22(火) 19:56:490066デフォルトの名無しさん
2009/09/22(火) 20:03:030067デフォルトの名無しさん
2009/09/22(火) 20:06:27>具体的には、親に
(略)
>を記述しました。
それを呼び出す先のフォームに書けばいい。
動くのを確認したらスコープとかアクセス修飾子でググってよ。
0068デフォルトの名無しさん
2009/09/22(火) 20:57:31>>61さんや
>>63さんがおっしゃっていることは具体的にどこに何を記述する必要があるのでしょうか。
privateからpublicにし、
子フォームに親のインスタンスを生成しましたが、
プロパティウィンドウの中にやはりそのイベントハンドラが表示されません。
Desiner.csに直接デリゲートを書き込みしようとしましたが、
thisをnullに置き換えることができませんといったエラーになってしまいます。
0069デフォルトの名無しさん
2009/09/22(火) 21:01:370070デフォルトの名無しさん
2009/09/22(火) 21:09:11public partial class Parent : Form
{
public Parent() {
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e) {
new Child(this.Click).ShowDialog();
}
private void Click(object sender, EventArgs e) {
MessageBox.Show("またクリックしたの?");
}
}
public partial class Child : Form
{
private EventHandler eventHandler;
public Child(EventHandler eventHandler) {
InitializeComponent();
this.eventHandler = eventHandler;
}
private void button1_Click(object sender, EventArgs e) {
this.eventHandler(this, EventArgs.Empty);
}
}
0071デフォルトの名無しさん
2009/09/22(火) 21:11:45{
MessageBox.Show("またクリックしたの?");
}
だからなんで上をChildに書くって発想ができないの?
マウスが机から落ちてしまうとか言ってる年寄りにパソコン教えてる気分だわ。
0072デフォルトの名無しさん
2009/09/22(火) 21:13:290073デフォルトの名無しさん
2009/09/22(火) 21:13:52new Child(this.Click).ShowDialog();
は
Form child = new Child();
child.Click += this.Click;
child.ShowDialog();
の方がいいな。
0074デフォルトの名無しさん
2009/09/22(火) 21:14:380075デフォルトの名無しさん
2009/09/22(火) 21:15:20そうカリカリすんなよ。
お前みたいな短気はこのスレに向いてないぜ?
0076デフォルトの名無しさん
2009/09/22(火) 21:15:530077デフォルトの名無しさん
2009/09/22(火) 21:16:560078デフォルトの名無しさん
2009/09/22(火) 21:21:590079デフォルトの名無しさん
2009/09/22(火) 21:24:500080デフォルトの名無しさん
2009/09/22(火) 21:28:420081デフォルトの名無しさん
2009/09/22(火) 22:53:26親にたくさん、日付チェックのイベントや数値変換のイベントを書いているんです。
同じロジックを、また子の上に書きたくないんです。
0082デフォルトの名無しさん
2009/09/22(火) 22:54:410083デフォルトの名無しさん
2009/09/22(火) 22:56:52どうせ全ての処理はイベントハンドラの中に書かないといけないと思ってるんでしょ
0084デフォルトの名無しさん
2009/09/22(火) 22:57:30どっかにソースうpしろ。
ソースがあった方がみんなアドバイスし易い。
0085デフォルトの名無しさん
2009/09/22(火) 23:01:410086デフォルトの名無しさん
2009/09/22(火) 23:05:43たいていフォームを複数作ろうとしたら行き詰まるよね
0087デフォルトの名無しさん
2009/09/22(火) 23:06:100088デフォルトの名無しさん
2009/09/22(火) 23:07:42frm.anotherControl.Handler();
0089デフォルトの名無しさん
2009/09/22(火) 23:08:250090デフォルトの名無しさん
2009/09/22(火) 23:11:400091デフォルトの名無しさん
2009/09/22(火) 23:36:54今となってはあんな化け物コード自分でも読めない。
0092デフォルトの名無しさん
2009/09/22(火) 23:42:560093デフォルトの名無しさん
2009/09/22(火) 23:44:190094デフォルトの名無しさん
2009/09/22(火) 23:50:390095デフォルトの名無しさん
2009/09/22(火) 23:50:530096デフォルトの名無しさん
2009/09/22(火) 23:57:100097デフォルトの名無しさん
2009/09/23(水) 00:20:21State state = new State();
EventDelegate[] events = new EventDelegate[5901234];
・・・
void LoopMain() {
Loop:
events[state.Next]();
goto Loop;
}
・・・
void Event3203289() {
int hoge = state.hoge;
// state.Hoge が <2000、==2000、>2000 で分岐
state.Next = 3203291 + System.Math.Sign(state.Hoge-2000);
}
void Event3203290() {
・・・
ですね。邪悪で素敵w
0098デフォルトの名無しさん
2009/09/23(水) 00:40:500099デフォルトの名無しさん
2009/09/23(水) 01:07:44【緊急情報カクサンよろしく】
ついに来ました。
大きい動きです。250nT超えてきました。ほぼ間違いありません。もう一度言います。
友人、知人、親類縁者、あらゆるつながりを駆使して巨大地震がくることを教えて下さい。
四川地震より大きいのが来る可能性があります。
http://g★olde★ntam★atama.b★lo★g84.fc2.c★om/
★★★★★危険度MAX★★★★★
★★★★★★★★★★★★★★★★
★千葉、静岡、東京、関東で大地震が起きる可能性が非常に高くなっています★★★
★千葉、静岡、東京、関東で大地震が起きる可能性が非常に高くなっています★★★
★千葉、静岡、東京、関東で大地震が起きる可能性が非常に高くなっています★★★
★千葉、静岡、東京、関東で大地震が起きる可能性が非常に高くなっています★★★
★★★★★★★★★★★★★★★★
★★★★★危険度MAX★★★★★
警告!連休中の21、22、23日が危ない!かも2
http://live24.2ch.net/test/read.cgi/eq/1★253494015/
【大気イオン】e-PISCO Part11【また延長】
http://live24.2ch.net/test/read.cgi/eq/1★252991726/
本当に地震が来たら、犯人は特権階級全員だということ2
0100デフォルトの名無しさん
2009/09/23(水) 01:20:13オーバーヘッドが大きいようで条件分岐版よりも遅かった事がある
0101デフォルトの名無しさん
2009/09/23(水) 10:40:45ボキュはマジキチでしゅ、まで読んだ。
0102デフォルトの名無しさん
2009/09/23(水) 14:24:10メモ帳などがFocusを持たずに選択状態を描画している仕組みが
どうしてもわかりません><
0103デフォルトの名無しさん
2009/09/23(水) 14:35:44リファレンスでHに関係するモノを調べるといいと思うよ。
0104デフォルトの名無しさん
2009/09/23(水) 14:37:020105デフォルトの名無しさん
2009/09/23(水) 14:41:31HideSelectionをFalseじゃないの?
0106デフォルトの名無しさん
2009/09/23(水) 15:52:02>>105
うほっ!ありがとう!
0107デフォルトの名無しさん
2009/09/23(水) 16:34:290108デフォルトの名無しさん
2009/09/23(水) 18:46:01文字列を選択しているときに、濃青色に反転しますが、
この色を変えることは可能でしょうか?
0109デフォルトの名無しさん
2009/09/23(水) 18:49:540110デフォルトの名無しさん
2009/09/23(水) 18:50:380111デフォルトの名無しさん
2009/09/23(水) 20:13:21ヽ / ̄ ̄ ̄`ヽ、
| | (・)。(・)|
| |@_,.--、_,>
ヽヽ___ノ あきらめるでござる
0112デフォルトの名無しさん
2009/09/23(水) 20:46:210113デフォルトの名無しさん
2009/09/23(水) 20:50:190114デフォルトの名無しさん
2009/09/23(水) 22:33:24ttp://up3.viploader.net/ippan/src/vlippan011148.jpg
0115デフォルトの名無しさん
2009/09/23(水) 22:36:410116デフォルトの名無しさん
2009/09/23(水) 22:49:08少なくともGUI部品としてのlook&feelはToolStripButtonで同じことができるんじゃない?
っていうか、なんか10年前のGUIだなそれ
0117デフォルトの名無しさん
2009/09/23(水) 22:50:12それただのReBarに配置されたボタンだし
0118デフォルトの名無しさん
2009/09/23(水) 22:51:450119デフォルトの名無しさん
2009/09/23(水) 23:09:56やはりtoolStripにボタンを配置させて、タブと同じような制御をさせる方法しかないようですね。
ご回答ありがとうございました。
0120デフォルトの名無しさん
2009/09/24(木) 00:45:55みたいな一覧というかガイドラインはどこかにないでしょうか?
.NET Frameworkに定義済みの例外がたくさんあって、どれが適切か毎回悩んでしまいます。
0121デフォルトの名無しさん
2009/09/24(木) 01:14:48ttp://msdn.microsoft.com/ja-jp/library/ms229007.aspx
0122デフォルトの名無しさん
2009/09/24(木) 01:25:57けん一です。
皆さんお返事ありがとうございます。
選択色のプロパティウインドウにありますか??
0123デフォルトの名無しさん
2009/09/24(木) 01:26:55ありがとうございます。そこを参考にして設計してみます。
0124デフォルトの名無しさん
2009/09/24(木) 02:40:16Argument派生、InvalidOp、NotSupported、NotImpl以外は殆ど使わない気がする
0125デフォルトの名無しさん
2009/09/24(木) 08:50:37つかほとんどArgument
0126デフォルトの名無しさん
2009/09/24(木) 10:03:49GetCloneメソッドを定義してごりごり書くのと
シリアライズしてコピーを作るのと方法がありますが
オブジェクトには10個のプロパティと
ジェネリックリストが3つ入ってます
どっちがいいでしょうか?
0127デフォルトの名無しさん
2009/09/24(木) 14:11:520128デフォルトの名無しさん
2009/09/24(木) 14:13:39System.Net.WebClient.DownloadData()を実行するときに
ノートンやウイルスバスターなどのセキュリティソフトの
FWの影響を受けることはありますか?
うける場合どういう対処を取るのが定石ですか?
0129デフォルトの名無しさん
2009/09/24(木) 14:15:260130デフォルトの名無しさん
2009/09/24(木) 14:37:100131デフォルトの名無しさん
2009/09/24(木) 14:52:110132デフォルトの名無しさん
2009/09/24(木) 14:54:06ワロタw
0133デフォルトの名無しさん
2009/09/24(木) 18:53:52asp.netで 複数のページ(.aspx)が定義してあります。
これらを直接呼ばずにHome.aspxという窓口を準備しておいて、
ActionというQueryStringで判断し、
Response.RedirectかServer.Transferで
対象のページに飛ばそうと思っています。
Home.aspx内でRequerst.QueryStringのコレクションをそのまま遷移先のページへ渡したいのですが
どうすればいいのかわかりません。
遷移先のURLに直接記述するしかないのでしょうか?
0134デフォルトの名無しさん
2009/09/24(木) 19:45:360135デフォルトの名無しさん
2009/09/24(木) 20:09:53かなり初心者向けだけどね
0136デフォルトの名無しさん
2009/09/24(木) 21:08:20セッションにでも突っ込んで渡せば?
0137デフォルトの名無しさん
2009/09/24(木) 21:52:22顧客、商品の項目にフリガナを自動入力させられたら利便性が高くなるだろうと頑張った。
いろいろ調べて、自動でフリガナが入るようになった。
しかし(-_-;)。
タブやシフトタブで項目をいったり来たりしていたら、
顧客に自動で入ったフリガナがなぜか商品のフリガナ欄に表示されたではないか。
これはたまに起こる現象であり、同じ操作をしても出ない場合がある。
APIを活用しているらしいが、なぜだか分かる?
教えてちょ
(-_-;)。
0138デフォルトの名無しさん
2009/09/24(木) 21:53:45バカじゃねーの?
0139デフォルトの名無しさん
2009/09/24(木) 22:03:230140デフォルトの名無しさん
2009/09/24(木) 22:07:060141デフォルトの名無しさん
2009/09/24(木) 22:18:33これかな?
http://www.e-hon.ne.jp/bec/SA/Detail?refShinCode=0100000000000032217041&Action_id=121&Sza_id=B0
明日本屋回ってみる。
他文献引き続きぷりーず
0142デフォルトの名無しさん
2009/09/24(木) 22:39:07なぜ起こるのか?簡単すぐる
0143デフォルトの名無しさん
2009/09/24(木) 22:51:48APIスレから出てくんな
0144デフォルトの名無しさん
2009/09/24(木) 22:52:50C# の本ではないけど。
自分は C++ MFC から C++/CLI に移った時に使った本。近い感じならいけるかも。
C++/CLI がわかれば C# もほとんどなんとかなる。
※移行の際に参照した本はこれ一冊
実践C++/CLI 極めるための基礎と実用テクニック
0145デフォルトの名無しさん
2009/09/24(木) 23:24:20それはちょっと敷居が高そうです><
0146デフォルトの名無しさん
2009/09/24(木) 23:26:11ProcessWindowStyle.HiddenでProcess.Startしてみたところ
タスクバーに表示されなくなったのはいいのですが
Process.CloseMainWindow()が使えなかったり期待外の動作でNGでした。
NaiNai(ttp://www.vector.co.jp/soft/winnt/util/se317779.html)のように
他のアプリをタスクバーに表示させないようにするにはどうやるんでしょうか?
0147デフォルトの名無しさん
2009/09/24(木) 23:56:05普通に起動して、ITaskbar インターフェイスを利用して消す。
0148デフォルトの名無しさん
2009/09/25(金) 00:02:59なぜなの?教えてください。
0149デフォルトの名無しさん
2009/09/25(金) 00:04:220150デフォルトの名無しさん
2009/09/25(金) 00:04:39ありがとうございます。
ITaskbarList がそれですかね?
調べてみます。
0151デフォルトの名無しさん
2009/09/25(金) 00:13:48それそれ。間違えてた。すまん。
0152デフォルトの名無しさん
2009/09/25(金) 01:19:14本当に困っています。
どうすればよいでしょうか?
0153デフォルトの名無しさん
2009/09/25(金) 01:20:200154デフォルトの名無しさん
2009/09/25(金) 01:25:15ありがとうございます
0155デフォルトの名無しさん
2009/09/25(金) 03:05:49アプリケーション定義のコントロールで使いたいんですが、できれば決めうちでしたくないので。
0156デフォルトの名無しさん
2009/09/25(金) 10:39:48Parseとかでチェックして良いのでしょうか?CF3.5です。
try
{
int tmp = Int32.Parse(string_num);
}
catch
{
}
こう書いて、tmpがどこからも参照されない場合、
リリースビルドで最適化によって上記ロジック自体が消えたりします?
0157デフォルトの名無しさん
2009/09/25(金) 10:47:02つかcatchして何もしない、tmpも使わない、ならValidationにならない気がするが
しかしTryParseがないとは面倒だのう
0158デフォルトの名無しさん
2009/09/25(金) 10:50:24起動時に全ての入力を一括チェックする方法だと、
tmpは特に使わない感じになると思うのですが。
例えば、App.configの中身を精査するみたいな。
まぁ、ConfigurationManagerも無いので作るのですが‥‥
0159デフォルトの名無しさん
2009/09/25(金) 11:21:55だけで良いんじゃないか
0160デフォルトの名無しさん
2009/09/25(金) 11:24:320161デフォルトの名無しさん
2009/09/25(金) 11:37:53たしかに試してみたらその通りでした。
パース文を2か所に書きたくなかったので、
int tmp = 設定クラスのプロパティ
にしていたんですけれど、この場合はプロパティだけだと
エラーになるので‥‥
プロパティが呼ばれるたびにParseせずに内部で保持しろ
という気もするのですが、
どうせ数回しか参照されない値の場合、
内部で保持するほどのものでもないかなと‥‥
0162デフォルトの名無しさん
2009/09/25(金) 11:39:42Ajax をアジャックスと読むならアシンク、エイジャックスと読むならエイジャックスと読めばいいと思うよ。
好みの問題。
0163デフォルトの名無しさん
2009/09/25(金) 11:40:44エイジャックスと読むならエイシンクと読めば、の間違い。
0164デフォルトの名無しさん
2009/09/25(金) 13:09:02英語発音ならエイシンクですな。
0165デフォルトの名無しさん
2009/09/25(金) 13:14:10アシンクロナス?
0166デフォルトの名無しさん
2009/09/25(金) 14:22:09日本人ならアシンクと言う人は沢山いる。
0167デフォルトの名無しさん
2009/09/25(金) 16:49:56ダウト
0168デフォルトの名無しさん
2009/09/25(金) 16:51:36nullをヌルと言う人って何なの?
http://pc12.2ch.net/test/read.cgi/tech/1203474071/
0169デフォルトの名無しさん
2009/09/25(金) 16:56:12の逆で、いつも背面に表示したいのはどうやるの?
0170デフォルトの名無しさん
2009/09/25(金) 17:28:10どっちでもいい
0171デフォルトの名無しさん
2009/09/25(金) 17:29:50他のをTopMost
0172デフォルトの名無しさん
2009/09/25(金) 17:30:110173デフォルトの名無しさん
2009/09/25(金) 17:46:02IEやエクスプローラもあるから、それはちょっと無理です…。
0174デフォルトの名無しさん
2009/09/25(金) 17:48:32可能です
0175デフォルトの名無しさん
2009/09/25(金) 17:56:39え!? 自分で作ったプログラム以外をTopMostにできるんですか?
0176デフォルトの名無しさん
2009/09/25(金) 18:06:34マックのドライブスルーから帰ってくると、家の車の下にネコ発見!
あれ、うちのネコじゃないなあ・・・でもどっかでみたことあるな・・・
と思い、車の下を覗き込みと逃げずにこっちをみている
まさかと思い、1年くらい前に野良猫に追いかけられ行方不明になった猫の名前を呼んでみた
すると・・・「にゃ〜ん」と甘えた声が!
すっごく弱虫で甘えん坊なそいつが1年も生きていたなんて・・・
名前を呼んだら、ビクビクしながらこっちに寄ってきて、身体を撫でたらビクっとしてまた車の下に隠れようとしたけれど
何度も何度も名前を呼んで声かけたらにゃ〜んにゃ〜んと寄ってきて頭を撫でさせてくれた
ものすごいガリガリに痩せてたけど、抱き上げると前と変わらず、頭をすりつけて甘えてくる
もう絶対死んだと思ったけど、本当によかった!
0177デフォルトの名無しさん
2009/09/25(金) 18:42:45でもよかったと言っておこう。
0178デフォルトの名無しさん
2009/09/25(金) 19:12:100179デフォルトの名無しさん
2009/09/25(金) 19:31:53今、webブラウザ(?) を作ろうとしています。
テキストボックスにURLを入れてボタンをおしてページに飛ぶのは出来たのですが、
今みているページのURLをテキストボックスに入れることが出来ません。
IEみたいに、ページのURLを表示する事は出来ませんか?
0180デフォルトの名無しさん
2009/09/25(金) 19:35:020181デフォルトの名無しさん
2009/09/25(金) 20:07:12デスクトップの子供にする
>>171
SystemColors のメンバにいない?
0182デフォルトの名無しさん
2009/09/25(金) 23:54:27WndProc をオーバーライドして
Zオーダが変わりそうになったら
Zオーダを最背面にしちゃえばよかったはず
0183デフォルトの名無しさん
2009/09/26(土) 00:00:25> デスクトップの子供にする
これ詳しく頼む
0184デフォルトの名無しさん
2009/09/26(土) 00:07:200185デフォルトの名無しさん
2009/09/26(土) 00:12:15同じ車だとしたら、車庫入れの際にネコが轢かれなくて良かった
0186デフォルトの名無しさん
2009/09/26(土) 00:52:38(0x7f, 0x9d, 0xb9)とSystemColorsのメンバとすべて比較してみましたが、いずれも違いました。
0187デフォルトの名無しさん
2009/09/26(土) 01:19:44全く別の項目のフリガナに入っちゃうってどういうことよ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0188デフォルトの名無しさん
2009/09/26(土) 01:35:450189デフォルトの名無しさん
2009/09/26(土) 01:35:520190デフォルトの名無しさん
2009/09/26(土) 03:36:290191デフォルトの名無しさん
2009/09/26(土) 07:20:05SetParent(GetDesktopWindow()); だったかな。
0192デフォルトの名無しさん
2009/09/26(土) 09:15:02なんでそんなことするの?
継承とフリガナに関連性があるの
(*_*)?
0193デフォルトの名無しさん
2009/09/26(土) 09:31:27死ねよハゲ
0194デフォルトの名無しさん
2009/09/26(土) 10:04:01うんこ野郎
0195デフォルトの名無しさん
2009/09/26(土) 10:14:02もう辞めた方がいい
0196デフォルトの名無しさん
2009/09/26(土) 10:34:50>>192
イベントを取得して、どっから送られてきたかとか、確かめることができる。
それをやれって言ってくれてる親切な人だぞ。
0197デフォルトの名無しさん
2009/09/26(土) 10:41:130198デフォルトの名無しさん
2009/09/26(土) 10:43:200199デフォルトの名無しさん
2009/09/26(土) 10:47:20そりゃ残念。あとは、実際に描画して取得するくらいかね。
0200デフォルトの名無しさん
2009/09/26(土) 10:56:07あほかww
0201デフォルトの名無しさん
2009/09/26(土) 13:16:44もうほっとけよ
0202デフォルトの名無しさん
2009/09/26(土) 14:23:320203デフォルトの名無しさん
2009/09/26(土) 15:46:06で、ACCESSが入ってない環境で動かせるかどうか確かめたら、
OleDbPermissionのアクセス許可に失敗したようなエラーが出ました。
mdbってACCESSはいってなくなてもC#で操作できるんだよね??
アクセス許可に失敗ってどういうこと?
ACCESSが入ってる環境だと問題なく動くんですが…
誰かアドバイスください。
0204デフォルトの名無しさん
2009/09/26(土) 15:53:220205デフォルトの名無しさん
2009/09/26(土) 16:01:51ACCESSつかってcdbを読み書きするプログラムだったら
ACCESS入ってないと無理なのでは?
初心者なので間違ってたらすいません。
0206デフォルトの名無しさん
2009/09/26(土) 16:07:12そんな事ないんじゃね?
DVD管理ソフトがC#で書かれているのがあったけど
ACCESS入って無くても読み書きできたぞ
もちろんACCESSから読む事もできる
0207デフォルトの名無しさん
2009/09/26(土) 16:14:23MDAC自体は入ってるようなんですが…
0208デフォルトの名無しさん
2009/09/26(土) 16:21:290209横から
2009/09/26(土) 16:45:36俺も詳しくないんで確認だけど、それはイントラネットのネットワーク共有ドライブ
(例えばK:)にある実行アプリを実行しているのではないか、という意味だよね。
mdbファイルはどこにあってもアプリに部分信頼以上の権限があればいい、
という認識でOK? (MDACのバージョンによっては完全信頼)
0210デフォルトの名無しさん
2009/09/26(土) 16:55:27環境自体はシンクライアント端末なんだけど、
それは関係あるの?
0211デフォルトの名無しさん
2009/09/26(土) 19:14:47その辺を試すのがスジ。
0212デフォルトの名無しさん
2009/09/26(土) 20:01:300213デフォルトの名無しさん
2009/09/26(土) 20:03:380214デフォルトの名無しさん
2009/09/26(土) 21:07:070215デフォルトの名無しさん
2009/09/26(土) 22:20:44ハゲ野郎
0216デフォルトの名無しさん
2009/09/26(土) 22:34:33・イントラネットでもマイコンピュータゾーン
・厳密名付きアセンブリでもデフォルト検証なし
いい感じに端折ってきてるよなw
0217デフォルトの名無しさん
2009/09/27(日) 21:13:170218デフォルトの名無しさん
2009/09/27(日) 21:22:55Array.Copy メソッド (Array, Int32, Array, Int32, Int32)
のことかな?
0219デフォルトの名無しさん
2009/09/27(日) 21:36:26LINQ
0220デフォルトの名無しさん
2009/09/27(日) 21:45:20できました
ありがとうございました
0221デフォルトの名無しさん
2009/09/27(日) 22:14:38new[] { 0, 1, 2, 3, 4 }.Skip(1).Take(3).ToArray()
の方がそれっぽいな
0222デフォルトの名無しさん
2009/09/27(日) 22:19:420223デフォルトの名無しさん
2009/09/27(日) 23:28:03// Linq
var copyL = source.Skip(1).Take(3).ToArray();
// Array.Copy
int[] copyAC = new int[3];
Array.Copy(source, 1, copyAC, 0, copyAC.Length);
実際に使ってみると、Array.Copyのほうがゴチャついてると思う。
0224デフォルトの名無しさん
2009/09/28(月) 00:16:03タスクバーのなかに検索枠を作りたいです。
以前はBandObjectでできたらしいのですが、バージョンが古くて動きません。
ToolStripというのがそれらしいんじゃないかと考えました。
Formのなかに配置してみたところ、感じとしてはそれっぽいんだけど、コンパイルしたところ、単にFormにToolStripが配置されているだけで、タスクバーにもっていっても登録できません。
(1)ToolStripでタスクバーのなかに検索枠を作ることはできますか?
(2)できないとしたら、なにをどうすればよいでしょう?
ご教示よろしくお願いします。
0225デフォルトの名無しさん
2009/09/28(月) 00:23:380226デフォルトの名無しさん
2009/09/28(月) 00:31:36をどう解決すればいいですか?
0227デフォルトの名無しさん
2009/09/28(月) 01:01:090228デフォルトの名無しさん
2009/09/28(月) 01:13:24//応答データを受信するためのStreamを取得
System.IO.Stream st = webres.GetResponseStream();
//データを読み込む
int readSize = st.Read(bufferData, 0, bufferData.Length);
while (readSize > 0)
{
//データが読み込めた時
//読み込んだデータをMemoryStreamに保存する
requestData.Write(bufferData, 0, bufferData.Length);
readSize = st.Read(bufferData, 0, readSize);
}
Bitmap BmpSource = new Bitmap(requestData);
最後の行で「使用されたパラメータが有効ではありません」とエラーがでます
一昨日こんな感じでうまくいってたコードがHDDクラッシュで涙目です
時間をかけてやりたいのですが、ショックが大きすぎて考えもまとまりません
こんな簡単なことですみません ><。
0229デフォルトの名無しさん
2009/09/28(月) 01:16:300230デフォルトの名無しさん
2009/09/28(月) 01:16:32ストリームのポインタ巻き戻してないんじゃね
0231230
2009/09/28(月) 01:16:57被った…
2秒差じゃしょうがないよね
0232デフォルトの名無しさん
2009/09/28(月) 01:17:53人に見てもらう気持ちでながめるだけでちがいますね
ひとりだとこんな簡単なことで ><。
0233デフォルトの名無しさん
2009/09/28(月) 01:19:05requestData.Write(bufferData, 0, bufferData.Length);
readSize = st.Read(bufferData, 0, readSize);
第三パラメータがあべこべでした
ありがとう!
0234デフォルトの名無しさん
2009/09/28(月) 02:36:400235デフォルトの名無しさん
2009/09/28(月) 09:00:031行目もreadSize分だけ書き込むようにしなきゃダメってこと。
0236デフォルトの名無しさん
2009/09/28(月) 11:03:35ですです ありがとうございました
0237デフォルトの名無しさん
2009/09/28(月) 11:09:080238デフォルトの名無しさん
2009/09/28(月) 11:10:34それともVisualBasic.NETのほうがよいでしょうか?
0239デフォルトの名無しさん
2009/09/28(月) 11:12:260240デフォルトの名無しさん
2009/09/28(月) 11:13:10C#は入門者向けの本が少ないから微妙
.NETでなくていいならJavaにしとけ
0241デフォルトの名無しさん
2009/09/28(月) 11:22:25個人的には Python をすすめたいけど 3.0 が出てそんなに経ってないから
2.x 系の情報と混在して初心者には混乱しやすいかも。
0242デフォルトの名無しさん
2009/09/28(月) 11:28:31あんま問題は無かったな
その前にCとjavaを軽く触ったからかも知れんが
0243デフォルトの名無しさん
2009/09/28(月) 13:04:04>C#は入門者向けの本が少ない
これは微妙な気がする
後は同意
0244デフォルトの名無しさん
2009/09/28(月) 13:08:20C#の方がいいよ
0245デフォルトの名無しさん
2009/09/28(月) 13:16:030246デフォルトの名無しさん
2009/09/28(月) 13:25:03C#の補助だ
0247デフォルトの名無しさん
2009/09/28(月) 13:43:06俺はファイルのバックアップとかの作業の自動化のためにCPythonで小さいスクリプト組んでるけど
0248デフォルトの名無しさん
2009/09/28(月) 15:41:180249デフォルトの名無しさん
2009/09/28(月) 15:55:460250デフォルトの名無しさん
2009/09/28(月) 20:08:55VBは末尾の_に発狂する。
0251デフォルトの名無しさん
2009/09/28(月) 20:16:240252デフォルトの名無しさん
2009/09/28(月) 20:17:02まあVS2010ではC#4.0でCOMサポートの強化やdynamicによって
今までVBの方がやりやすかったことが完全に無くなるわけだけど
0253デフォルトの名無しさん
2009/09/28(月) 20:23:23VBは(っていうかC系統以外の言語の大半はそうだけど)改行コード = 行の終わりになってる。
だから、(文字列的に)改行しても(文法的な)行を継続したい場合は、‘_’で改行コードを
エスケープする必要がある。
0254デフォルトの名無しさん
2009/09/28(月) 20:34:34> VBは(っていうかC系統以外の言語の大半はそうだけど)改行コード = 行の終わりになってる。
そんなことねーだろ。
0255デフォルトの名無しさん
2009/09/28(月) 20:39:20そのあたりは水掛け論にしかならんから議論しても無駄だね。
0256デフォルトの名無しさん
2009/09/28(月) 20:40:58メジャーな言語をいくつか思い浮かべればわかる話。
0257デフォルトの名無しさん
2009/09/28(月) 20:44:44関数型だってそうだし、一行一文って、COBOLとかFORTRANとその影響下のBASICくらいじゃね?
0258デフォルトの名無しさん
2009/09/28(月) 20:47:22だから水掛け論にしかならんて。
0259デフォルトの名無しさん
2009/09/28(月) 20:58:46アセンブラ、バッチファイルやシェルスクリプト、COBOL,FORTRAN,BASIC
・フリーフォーマット
近代的な言語のほとんど
↑みたいな感じかね
「C系統以外ほとんどは」って、水掛け論になるレベルじゃないわな。
屁理屈でねばって「ほら水掛け論だ」って、自分にも一分くらいは理があるような
口ぶりはできるかもしれんけど。
0260デフォルトの名無しさん
2009/09/28(月) 21:02:440261デフォルトの名無しさん
2009/09/28(月) 21:53:27classのプロパティの値をコードから変更したら
すぐにDataGridViewにも変更された値を表示させたいんですが、
今のところ dataGridView1.Refresh(); で表示させてるんですが
一般的にはどうやるんですか?
もっとスマートなやり方があると思うんですが
List<Test> testList = new List<Test>();
class Test
{
public string s1 { get; set; }
public string s2 { get; set; }
}
private void Form1_Load(object sender, EventArgs e)
{
testList.Add(new Test { s1 = "a", s2 = "b" });
testList.Add(new Test { s1 = "c", s2 = "d" });
testList.Add(new Test { s1 = "e", s2 = "f" });
dataGridView1.DataSource = testList;
}
private void button1_Click(object sender, EventArgs e)
{
testList[0].s1 = textBox1.Text;
dataGridView1.Refresh();
}
0262デフォルトの名無しさん
2009/09/28(月) 22:03:18BindingList or ObservableCollection
0263デフォルトの名無しさん
2009/09/28(月) 22:19:30おぉそんなものがあったのか!
ありがとうございます。調べてみます
0264デフォルトの名無しさん
2009/09/28(月) 23:47:18例外フィルタがないぜ!!
0265デフォルトの名無しさん
2009/09/29(火) 00:04:31261じゃないがthx
public partial class Form1 : Form
{
class Test : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public void NotifyPropertyChanged(string info)
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
private string s1_;
public string s1
{
get
{
return this.s1_;
}
set
{
if (value != this.s1_)
{
this.s1_ = value;
NotifyPropertyChanged("s1");
}
}
}
public string s2 { get; set; }
}
0266デフォルトの名無しさん
2009/09/29(火) 00:05:13List<Test> testList_ = new List<Test>();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
testList_[0].s1 = "ababa";
}
private void Form1_Load(object sender, EventArgs e)
{
testList_.Add(new Test { s1 = "a", s2 = "b" });
testList_.Add(new Test { s1 = "c", s2 = "d" });
var customersBindingSource = new BindingSource();
customersBindingSource.DataSource = testList_;
dataGridView1.DataSource = customersBindingSource;
}
}
0267デフォルトの名無しさん
2009/09/29(火) 00:25:20インストールに失敗します。
作成環境はVS2005です。
cabで失敗するunicodeは修正しました。
実機にcabを入れてタップすると「インストールに失敗しました」とだけ出ます。
こういう場合どうやって原因を確かめたらいんでしょうか?
0268デフォルトの名無しさん
2009/09/29(火) 00:43:470269267
2009/09/29(火) 13:57:50ほんとにスペルミスでした
ミスしたのはcabプロジェクト名
本家プロジェクトに上書きしてしまいました orz
0270デフォルトの名無しさん
2009/09/29(火) 14:06:380271267
2009/09/29(火) 14:13:12でも相当うっかりしてないとやらないと思います orz
0272デフォルトの名無しさん
2009/09/29(火) 15:09:510273デフォルトの名無しさん
2009/09/29(火) 17:30:16たんなる invoke とかいろいろあるんですけど
全部delegateってことですか?
0274デフォルトの名無しさん
2009/09/29(火) 18:22:08何を指すかはメソッド次第
0275デフォルトの名無しさん
2009/09/29(火) 20:27:130276デフォルトの名無しさん
2009/09/29(火) 20:42:53君は質問の仕方から勉強する必要がありそう
0277デフォルトの名無しさん
2009/09/29(火) 20:53:44方法1.フォントサイズを変更するコントロールすべてを一括選択した後にプロパティウィンドウでフォントサイズを変更する。
方法2.フォントなどはアンビエントプロパティなので、特に設定されていない場合(デフォルトの値)は親のコントロール(フォーム)の設定が反映されるようになっているので
親コントロール(フォーム)のフォントサイズを変更すれば子コントロールにも反映される
0278デフォルトの名無しさん
2009/09/29(火) 20:59:59「フォントサイズ」なんて概念はそもそも存在しない。
その回答はない。
0279デフォルトの名無しさん
2009/09/29(火) 21:02:160280デフォルトの名無しさん
2009/09/29(火) 21:13:18馬鹿はすぐこれだ。
ならフォントサイズってどういう意味だよ。
0281デフォルトの名無しさん
2009/09/29(火) 21:15:21フォントのサイズ
0282デフォルトの名無しさん
2009/09/29(火) 21:20:44http://msdn.microsoft.com/ja-jp/library/164w6x6z.aspx
これ以外になにが?
0283デフォルトの名無しさん
2009/09/29(火) 21:33:160284デフォルトの名無しさん
2009/09/29(火) 21:34:130285デフォルトの名無しさん
2009/09/29(火) 21:41:53お馬鹿だな。
それで、その「フォントサイズ」を>>277の方法でコントロールに適用できるのかよ。
0286デフォルトの名無しさん
2009/09/29(火) 21:45:29「こうやったらできる」って言えばいいだけ。
俺としては、方法2 で十分だと思う。
0287デフォルトの名無しさん
2009/09/29(火) 21:48:48それは「フォント」を設定しているのであって
「フォントサイズ」(そんな概念は存在しないが)を設定しているのではないだろう。
端的に言えば、コントロールごとに書体が違う場合はどうするのか。
0288デフォルトの名無しさん
2009/09/29(火) 21:51:49とりあえずお前はスレタイ読んで風呂でも入って落ち着けよ、な?
あと、初心者スレに向いてないよ
0289デフォルトの名無しさん
2009/09/29(火) 21:54:26俺の方から煽った覚えは無いけどね。
初心者だろうがなんだろうが、正しくないことは正しくないといってるだけだ。
このように、馬鹿ってのは決まって偉そうに人に講釈をする規範を
自分には適用しないダブスタ野郎だ。
0290デフォルトの名無しさん
2009/09/29(火) 21:54:32一般的にはメンバやデリゲートを呼び出すことをinvokeという
純粋に言語としてのC#に話を限ると,メソッドやデリゲートを表す式の後(引数)を付けた式のことをinvocation expressionと呼ぶ
0291デフォルトの名無しさん
2009/09/29(火) 21:55:330292デフォルトの名無しさん
2009/09/29(火) 22:10:37さっさと失せろゴミ
0293デフォルトの名無しさん
2009/09/29(火) 22:11:31認知症か
なるほど
0294デフォルトの名無しさん
2009/09/29(火) 22:15:02delegateで十分な気が
0295デフォルトの名無しさん
2009/09/29(火) 22:18:35Javaなどではよくイベントの代わりにObserverパターンというのが使われるんだけど,
それに出てくるaddListenerやremoveListenerを一つにまとめたのがイベント。
その点ではgetValue/setValueを一つにまとめたプロパティと似てる。
Observerについてはググれ
0296デフォルトの名無しさん
2009/09/29(火) 22:19:000297デフォルトの名無しさん
2009/09/29(火) 22:20:17デリゲートは1個だけ
0298デフォルトの名無しさん
2009/09/29(火) 22:22:53本来,イベントがあればaddとremoveの実装次第でどうとでもなるからマルチキャストはいらないんだが
設計当時はイベント以外のデリゲートの使用が想定されてなかったと思われる
0299デフォルトの名無しさん
2009/09/29(火) 22:45:35さすがに最後の行はない。そういうデタラメを言っては行かん。
例えばRegex.Replaceを見よ。
0300デフォルトの名無しさん
2009/09/29(火) 22:53:20最適化しづらいだろうし戻り値の扱いとか無理があるし邪魔なだけ
0301デフォルトの名無しさん
2009/09/29(火) 22:56:28DelegateクラスとMulticastDelegateがあるんだよう
はじめからDelegateクラスをマルチキャスト可能にしとけよ
0302デフォルトの名無しさん
2009/09/29(火) 23:09:52public event ClickA { add { _ClickA.Add(value); } remove { _ClickA.Remove(value); } }
private EventHandler _ClickB;
public event ClickB { add { _ClickB = Delegate.Combine(_ClickB, value); } remove { 略
ClickAのようにするのがイベントの概念としては本来の形。
でも通常,addやremoveを省略して普通にイベントを宣言するとコンパイラはClickBのようなコードを生成する。
つまり「どうせデリゲートなんてほとんどイベントにしか使わないでしょ?」ってことでコンテナをくっつけてる。
0303267
2009/09/29(火) 23:23:16それが(10,10)動いたときもとの画像をずらして
上10ピクセルと左10ピクセルだけ描画したいんですが
for文を2重にして
for(x=0;x<=10;x++)
{
for(y=0;y<=10;y++)
{
}
}
ってやると当然10×10ピクセルしか描画しません
上記のように描画したいとき
また移動量(x,y)が逆に動いてマイナスのときにも対応できる
簡単なアルゴリズムはありませんでしょうか?
ちなみにCGのように描画が必要なのでマスクは使えません
ヒントかリンクだけでもけっこうです
よろしくお願いします
0304275
2009/09/29(火) 23:24:07概念はわかるけどemSizeのemはなに?
0305デフォルトの名無しさん
2009/09/29(火) 23:25:250306267
2009/09/29(火) 23:26:490307デフォルトの名無しさん
2009/09/29(火) 23:29:320308デフォルトの名無しさん
2009/09/29(火) 23:40:120310デフォルトの名無しさん
2009/09/29(火) 23:46:00それらをプログラム全体から利用したいんだけど
どこでどのように定義するのが適切なんでしょうか?
名前空間の内側、classの外側で定義すれば全体から利用できると思ったんだけど
下のを書き込むとフィールドやメソッドは定義できないとエラーがでます
Point TekiPos = new Point(10, 5);
0311デフォルトの名無しさん
2009/09/29(火) 23:47:570312デフォルトの名無しさん
2009/09/29(火) 23:48:02public staticにしてクラス内にもて。
困ったときはpublic staticだ。
0313デフォルトの名無しさん
2009/09/29(火) 23:56:09ゲームは気を使って設計してもどうせ大なり小なり大域コンテキストクラスが出てくる
0314デフォルトの名無しさん
2009/09/29(火) 23:56:09あ、なるほど、Tekiクラスをプログラム全体で利用できるようにして
そのメンバPosに対してどこかでデータいれるってことかな
>>312
インスタンスを複数必要ないというか、あるとややこしくなるので
staticのほうがわかりやすそうですね
即レスありがとうございます
0315デフォルトの名無しさん
2009/09/29(火) 23:59:48ゲームって作ったこと無いんだけど
Enemyクラスかなんか作っといて、必要になったらnew Enemy()で
初期化してやった方がスマートなんじゃないの?
0316デフォルトの名無しさん
2009/09/30(水) 00:04:29敵が複数いて,ほかのクラスから特定の敵の座標を取得するためにいったんグローバル変数に入れたりするのは最悪のパターン
0317デフォルトの名無しさん
2009/09/30(水) 00:23:040318デフォルトの名無しさん
2009/09/30(水) 00:25:450319デフォルトの名無しさん
2009/09/30(水) 00:40:24ありがとうございます。
最初からメモリや動作速度とか考えても仕方が無いですね
できるだけ自分にわかりやすく書こうと思います
>>315
敵と味方では振る舞いが違うからそういう風にしたほうがいいかもですね
>>316
そういう感じで設計仕様と思ってたんですが、なぜだめなんでしょうか?
将棋でいうところの盤をstaticで定義してどこからで参照できるようにして
部隊の動き(どの座標に前進後退するかなど)もstaticで定義しようと思っていたんですが
>>317>>318
シューティングは線形代数や三角関数などの数学的知識がいるので無学のわたしには無理です
ターン制の戦略ゲーム的なものを作ろうと思ってます
0320デフォルトの名無しさん
2009/09/30(水) 01:02:15class Enemy{} //敵のキャラクターを定義
この二つを作っておいてMatrixにEnemyのインスタンスを突っ込むとか
位置はEnemy、移動先はMatrixで定義しておいたほうが安全だと思う
グローバル変数をたくさん作ったり使い回し足りするのはトラブルの元
0321デフォルトの名無しさん
2009/09/30(水) 01:09:03位置はMatrix、移動先はEnemy
0322デフォルトの名無しさん
2009/09/30(水) 01:10:55最初が肝心なんだぞ
書くなよ
0323デフォルトの名無しさん
2009/09/30(水) 01:14:50クラスの中にも自作クラスを入れられて、さらにそのクラスにも自作クラスを・・・
これがオブジェクト指向?
この感覚に慣れないとだめですね
>>321
マス目にenemyを放り込む感じですよね
そのほうがわかりやすそうですね
ありがとうございます
0324デフォルトの名無しさん
2009/09/30(水) 01:25:04未完成で放置するのが一番良くない
0325デフォルトの名無しさん
2009/09/30(水) 01:32:11静的変数使い回しなんてしてたら論理的なミスしたときに
わけわかめになりやすい
最初からオブジェクト指向のお作法を意識するのは上達の近道だよと
遠回りした俺が言ってみる久々のてすつ
0326デフォルトの名無しさん
2009/09/30(水) 01:35:240327デフォルトの名無しさん
2009/09/30(水) 02:44:03SEQ NAME
連番 名前
1 たろう
2 タロウ
3 TAROU
DataTable.Select("NAME LIKE '%たろう%'");
として検索した時に本来は
1 たろう
のDataRowのみ抽出したいのですが
2 タロウ
まで抽出されてしまいます。厳密に検索をするにはどうすればよいでしょうか?
※また、大文字・小文字も区別して検索するにはどうすれば良いでしょうか?
0328デフォルトの名無しさん
2009/09/30(水) 06:09:00CaseSensitiveプロパティをtrueにしてからSelectしる
0329デフォルトの名無しさん
2009/09/30(水) 07:50:56どういう理屈だよ
0330デフォルトの名無しさん
2009/09/30(水) 08:54:11サンクス
0331デフォルトの名無しさん
2009/09/30(水) 10:50:45プロパティ一覧見た限りだと、ロケールをインバリアントにすれば良さそう
0332デフォルトの名無しさん
2009/09/30(水) 12:43:45インストーラーを発行して、配布しようとしましたが、.netフレームワーク3.5のダウンロードに30分近く要します。
コンポーネントはクライアントプロファイルのみにしています。
皆さんはどのような手段でインストール方法を取られていますか?
0333デフォルトの名無しさん
2009/09/30(水) 15:57:29の.NET Framework 3.5 Service Pack 1 (フルパッケージ) をDLしてインストーラに組み込んじゃいかんの?(いかんか)
#再頒布可能パッケージ があればいいんだけどね・・・・
#Microsoft .NET Framework 3.0 再頒布可能パッケージ まではあるのか・・・
0334デフォルトの名無しさん
2009/09/30(水) 16:05:09やったことないけど
0335デフォルトの名無しさん
2009/09/30(水) 16:25:46バージョンを問わずフルセットの.NET Frameworkがインストールされていないこと。
条件が合わない場合は差分をダウンロードしてフルセットでのインストールとなる。
プレインストールのXPやVista以降の場合、基本的に.NETが導入済みなので、
よほど特殊な環境でなければClient Profileは導入されない。
0336デフォルトの名無しさん
2009/09/30(水) 20:44:06XPにも標準で.netがついているの?
何かのネットで見たら、付いていないと書いていたんだ。
記事はまちがいだったのかな。
0337デフォルトの名無しさん
2009/09/30(水) 20:48:56相当前に使ってたノートPCにもデフォで1.1が入ってたぜ
0338デフォルトの名無しさん
2009/09/30(水) 20:50:092003 が 1.1、Vista が 3.0 だね。
0339デフォルトの名無しさん
2009/09/30(水) 20:51:480340デフォルトの名無しさん
2009/09/30(水) 21:04:00.NETを使ったフリーソフトも出だして当たり前になってきたね
0341デフォルトの名無しさん
2009/09/30(水) 21:04:560342デフォルトの名無しさん
2009/09/30(水) 21:07:400343デフォルトの名無しさん
2009/09/30(水) 21:07:590344デフォルトの名無しさん
2009/09/30(水) 21:32:020345デフォルトの名無しさん
2009/09/30(水) 21:44:280346デフォルトの名無しさん
2009/09/30(水) 21:47:320347デフォルトの名無しさん
2009/09/30(水) 21:48:340348デフォルトの名無しさん
2009/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);
0349デフォルトの名無しさん
2009/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);
}
0350デフォルトの名無しさん
2009/09/30(水) 22:19:53クライアント専用サブセットってどこで設定するの?
0351デフォルトの名無しさん
2009/09/30(水) 22:22:590352デフォルトの名無しさん
2009/09/30(水) 22:23:59プロジェクトのプロパティ
0353デフォルトの名無しさん
2009/09/30(水) 22:26:42どう、ってインスタンスメソッドにするならボタンクリックでクラスを初期化して
メソッド呼び出せばいいのでは?
staticメンバ一個作っておいてそこにインスタンスぶち込んでstaticぽく呼んでもいいけど
0354デフォルトの名無しさん
2009/09/30(水) 22:26:49public 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);
0355デフォルトの名無しさん
2009/09/30(水) 22:27:35訂正
private void button1_Click(… → public string Encrypt(string sourceText)
0356デフォルトの名無しさん
2009/09/30(水) 22:34:18Class Angouka
{
publick void Start(){....};
}
Class From
{
Button_Click()
{
Angouka ang=new Angouka();
ang.Start();
}
}
0357デフォルトの名無しさん
2009/09/30(水) 22:58:49クラスを作り
その中に今まで入れていたボタン処理を入れて
そのクラスをボタンイベントに生成して
呼び出せばおkと言う感じ?
0358デフォルトの名無しさん
2009/09/30(水) 23:03:130359デフォルトの名無しさん
2009/09/30(水) 23:22:12その目的の処理を行うクラスを作って,そのクラスをイベントハンドラから利用するんだ
機械的に移すだけだとあんまり意味がない
0360デフォルトの名無しさん
2009/09/30(水) 23:33:120361デフォルトの名無しさん
2009/09/30(水) 23:33:570362デフォルトの名無しさん
2009/09/30(水) 23:35:53暗号化結果のバイト列をUnicodeEncodingで文字列にするのは無茶だぜ。
まあ諸悪の根源はv1.1の頃のMSのサンプルだったりするんだが。
0363デフォルトの名無しさん
2009/09/30(水) 23:38:17ひとつのクラスに処理をいておきたいと思っています。
ACIIでやろうと思ってたんですがどうもうまくできなかったので今
それです。これは直したいなと思っております
0364デフォルトの名無しさん
2009/09/30(水) 23:41:34よく見たらありました。
ボケてきたのかな…。ありがとう。
0365デフォルトの名無しさん
2009/09/30(水) 23:48:48実際に仕事やる部署と、注文受ける部署、商品配達する部署・・・・・。
食堂で言うなら厨房と接客・電話番、出前とか。
それぞれは、自分の仕事だけして、あとはどっかに受け渡すだけで
良いようになってる。
下手な部署分けすると役所みたいにたらい回しになって困るが。
バイト列の文字列化ならBase64じゃない?昔から用意されてるし。
0366デフォルトの名無しさん
2009/09/30(水) 23:52:02Javaだったのかな?
0367デフォルトの名無しさん
2009/09/30(水) 23:55:310368デフォルトの名無しさん
2009/09/30(水) 23:57:330369デフォルトの名無しさん
2009/10/01(木) 00:11:50キー自体がプログラミングを理解しているわけじゃないよね
あくまで、文字を入力させる命令を出すためのスイッチに過ぎない
役割分担をさせていくわけだけど、その分クラスはどんどん増える
だがそれでいい
0370デフォルトの名無しさん
2009/10/01(木) 00:15:42その例えってそんなにわかりやすいもんなのかな。
むしろそこからどうやってコードに落とすのかと悩むことしきりなんじゃないか。
0371デフォルトの名無しさん
2009/10/01(木) 00:21:320372デフォルトの名無しさん
2009/10/01(木) 00:44:440373デフォルトの名無しさん
2009/10/01(木) 01:17:57わかってる人が例えるからそうなるんだよな。
わからない人向けの説明には向かないと思う。
0374デフォルトの名無しさん
2009/10/01(木) 01:31:020375デフォルトの名無しさん
2009/10/01(木) 01:39:150376デフォルトの名無しさん
2009/10/01(木) 02:37:130377デフォルトの名無しさん
2009/10/01(木) 03:09:440378デフォルトの名無しさん
2009/10/01(木) 03:13:33やり取りできる手段は、スカイプやネトゲしかない
でも、こっちの情報をいくら伝えてもスペックを晒そうとはしない
オブジェクト指向ってそんな奴
0379デフォルトの名無しさん
2009/10/01(木) 07:21:42きちんと理解してあげれば戦力になるが、間違った認識や過度の期待を持たれるとプレッシャーに負ける人みたいな?
0380デフォルトの名無しさん
2009/10/01(木) 08:32:430381デフォルトの名無しさん
2009/10/01(木) 12:58:49結局はノウハウを一般化しただけのもの
0382デフォルトの名無しさん
2009/10/01(木) 14:54:21プロジェクトファイルなどにPCユーザー名など
固有の情報みたいなのが入っていて見られてしまうんでしょうか?
ソースを公開する上での注意点などありましたら教えてください
0383デフォルトの名無しさん
2009/10/01(木) 15:03:39.csだけ公開する
0384デフォルトの名無しさん
2009/10/01(木) 16:36:09いや、さすがに.slnと.csprojくらいは付けようよ。
逆に.csproj.userとか.suoは除外。
0385デフォルトの名無しさん
2009/10/01(木) 16:38:410386デフォルトの名無しさん
2009/10/01(木) 17:06:33slnとcsprojは付いてないと読む気が失せる
0387デフォルトの名無しさん
2009/10/01(木) 17:10:330388デフォルトの名無しさん
2009/10/01(木) 17:22:340389デフォルトの名無しさん
2009/10/01(木) 17:38:30プロジェクトのみでも一度保存すればソリューション作成されるよ
0390デフォルトの名無しさん
2009/10/01(木) 18:59:34いまだにクラス呼び出しとかが曖昧
配列わからん。
プログラム自体初心者ですがこれはかなり遅いほうですよね?
最近は分岐がわかりだしてきたところです
0391デフォルトの名無しさん
2009/10/01(木) 19:06:18オブジェクト思考はよくわからんけど
配列とか、クラス呼び出しぐらいなら一応・・・
まぁ、以前Cとjavaをおさわり程度にやった事有るけど
0392デフォルトの名無しさん
2009/10/01(木) 19:16:07クラス呼び出しなんて初めて聞いた
0393デフォルトの名無しさん
2009/10/01(木) 19:22:12職員室呼び出し喰らったのは今年が初めてだ
0394デフォルトの名無しさん
2009/10/01(木) 19:57:110395デフォルトの名無しさん
2009/10/01(木) 20:07:10クラス定義してメソッド呼び出しとか
これでいい?これも違うのかなw
0396デフォルトの名無しさん
2009/10/01(木) 20:11:11それとも適当に復号したデータを返す時がありますか?
0397デフォルトの名無しさん
2009/10/01(木) 20:36:511日にやる量にもよるし、いろいろだろ。
他人にかまわず自分のペースで楽しみなよ。
0398デフォルトの名無しさん
2009/10/01(木) 20:58:440399デフォルトの名無しさん
2009/10/01(木) 20:59:280400デフォルトの名無しさん
2009/10/01(木) 21:28:48やはり全然覚えが悪いのでまじで仕事自体を辞めるべきなのか本当に迷ってる
ものすごく申し訳ない気持ちと焦りでぐだぐだ・・・
0401デフォルトの名無しさん
2009/10/01(木) 21:34:36原理的には適当に復号化。でないとTripleDESが不可能のはずだから。
テストコードとかで確認もしなかったけど、適当に復号化するだろうと決め込んで、
めんどくさくなって平文にヘッダとトレイラを入れといて復号時にパスワードチェック
とした。
パスワードじゃなくてIVとKeyだろ、なんて無粋なツッコミはナシね。
0402デフォルトの名無しさん
2009/10/01(木) 21:41:18できなければ辞めるか仕事をかえてくれと言ったほうがいい
ムリなひとはどうやってもムリ
0403デフォルトの名無しさん
2009/10/01(木) 22:03:47記憶力はあるに越したことはないけど、プログラマとしてそんなに重要な
ファクターじゃないと思うよ。
重要なのは理解力と要領だよ。
どのみち、今時のライブラリが全部頭に入っている奴なんていないわけで、
誰でも多かれ少なかれMSDNやwebの情報を見ながらコーディングしてるんだから。
0404デフォルトの名無しさん
2009/10/01(木) 22:13:330405デフォルトの名無しさん
2009/10/01(木) 22:16:50誰が学生名簿なんて作るんだよとww
そこそこの規模のソフトを例にプログラミングしながら学ぶようなのがあればいいんだけど
0406デフォルトの名無しさん
2009/10/01(木) 22:25:38C#だけでもリファレンス、デザインパターン、入門と3冊持ってるけど
それでも補完できない部分が独学だと必ず出てくる
クラスとかオブジェクトの理解が進まないうちに実践に入るような参考書掴むと
後から本当に苦労する
0407デフォルトの名無しさん
2009/10/01(木) 22:26:44ポチ、パトラッシユ、しろオブジェクト
0408デフォルトの名無しさん
2009/10/01(木) 22:27:09あれは書いてあるコードが理解できれば十分
記事の内容を真に受けてはいけない
0409デフォルトの名無しさん
2009/10/01(木) 22:34:420410デフォルトの名無しさん
2009/10/01(木) 22:38:44やめるなら俺を代わりに雇うよう取り計らってくれ
0411デフォルトの名無しさん
2009/10/01(木) 22:40:02らい言い切ってしまってもいいのかのこう微妙な感じが
個々に判断できるようになると上級者。
…味があって好きなんだけどなぁ川俣節
0412デフォルトの名無しさん
2009/10/01(木) 22:49:50ここ見ながらVC#2008Expressで使えるように設定したんだけど、
ぜんぜんステップインしてくれない。もちろんソースコードはDL済みなんだけど。
Expressで使えてる人いる?
0413デフォルトの名無しさん
2009/10/01(木) 22:53:47おれもあの記事かなりわかりにくかった…(´・ω・`)
0414デフォルトの名無しさん
2009/10/01(木) 22:58:58あれは文体が古い(30年前のパソコン雑誌っぽいw)だけで、アジってほどでもないよ。
まあ今時のプログラマの書く技術解説の文章っぽくないのは確か。
たぶん物書きに憧れがあるっていうか、自己表現しないと気がすまない性格なんだろうw
この人の『Win32API散歩道』って本を持ってるけど、あれ見るといかにもそんな感じ。
0415デフォルトの名無しさん
2009/10/01(木) 22:59:190416デフォルトの名無しさん
2009/10/01(木) 23:00:59散歩道のきたあきらって、川俣の別名?
0417デフォルトの名無しさん
2009/10/01(木) 23:04:56らしいよ。
きたみあきこは別人
0418デフォルトの名無しさん
2009/10/01(木) 23:16:25できなかったですそれ
0419デフォルトの名無しさん
2009/10/01(木) 23:23:41>>356を参考にして、どんなコード書いたの?
0420デフォルトの名無しさん
2009/10/01(木) 23:34:30初心者です
namespace WindowsFormsApplication1
{★
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
}
}
}
とあってclassを★のところに記述するとなぜかフォーム表示が
出来なくなるのですが同対処すべきなのでしょうか
0421デフォルトの名無しさん
2009/10/01(木) 23:40:271クラス1ファイルを基本にする
0422デフォルトの名無しさん
2009/10/01(木) 23:42:381ファイルとはどういうことでしょうか
大変申し訳ないです。
今はクラスとメソッドを外出しにしておいてボタン処理を押したときに
その処理を参照しようとしています
0423デフォルトの名無しさん
2009/10/01(木) 23:42:57ひ、ひねくれもの!
0424デフォルトの名無しさん
2009/10/01(木) 23:43:06おせっかいさんめ
0425デフォルトの名無しさん
2009/10/01(木) 23:46:47なんだ暗号化君かw
http://msdn.microsoft.com/ja-jp/library/x9afc042.aspx
ここ読みなさいよ
0426デフォルトの名無しさん
2009/10/01(木) 23:49:04はい、私です。
今日作ってよし出来たと思ったら
内部でクラス作らないで外部で作ってと言われて
あたふたしています。
0427デフォルトの名無しさん
2009/10/01(木) 23:49:34> このページが表示されている理由
> クラス MainForm はデザインできますが、ファイルの最初のクラスではありません。
>Visual Studio では、デザイナはファイルの最初のクラスを使用する必要があります。
>クラスがファイルの最初のクラスになるようにクラス コードを移動して、デザイナを再度読み込んでください。
やってみたけど、理由も対処方法も表示されるじゃん。
0428デフォルトの名無しさん
2009/10/01(木) 23:53:55FORMの外部に作ってそこから呼び出すってわけじゃないんですね・・・
From1の下に作ったら表示されました。
勉強たらなすぎてしにたい
0429デフォルトの名無しさん
2009/10/01(木) 23:57:5586BASICから引越しされてきたのですか?
0430デフォルトの名無しさん
2009/10/02(金) 00:08:17いや、そのクラスを使うときに必ずForm1がセットになってしまったら使い辛くは
ないかい?例えば別のアプリで使い回しするとき。
だから、別々の .cs ファイルで管理することを皆は薦めている。
まあ、とりあえず動くなら今は別に気にすんな。
どうせ色々使い回しでコピーしたあげく、嫌になって分かってくるもんだから。
0431デフォルトの名無しさん
2009/10/02(金) 00:08:55まじで今年やってだめなら辞表考えるわほんとに。
0432デフォルトの名無しさん
2009/10/02(金) 00:27:57ああああああ
なるほど、使いまわし出来るようにとか言ってたましたそういえば・・・
と言うことはcsを処理の分を作るのが外部と言うことなんですね。
理解度足りないですね
まじでありがとうございます。
0433デフォルトの名無しさん
2009/10/02(金) 00:54:30どうでもいいが、「復号化」ではないのでリアルで使うと恥じをかくことになると忠告しておこう
>>432
ファイルとクラスは1:1が基本ではあるが、分かり易くなるならM:Nでも問題ない
0434デフォルトの名無しさん
2009/10/02(金) 01:06:360435デフォルトの名無しさん
2009/10/02(金) 01:13:540436デフォルトの名無しさん
2009/10/02(金) 01:21:21サンクス
0437デフォルトの名無しさん
2009/10/02(金) 01:22:350438デフォルトの名無しさん
2009/10/02(金) 01:24:16向いてない奴がやると体壊すか鬱になるよ
そういう奴沢山見てきたし
おれは小学校の頃からプログラミングやってて
何時間やっても苦痛じゃないからな
まあ、仕事だとしんどいこともあるけど
息抜きのために自作ソフトを作るぐらいだからw
そういう人間じゃないとだめなんかもな
0439デフォルトの名無しさん
2009/10/02(金) 01:27:38右のウィンドウにプロジェクト名が書いてあるでしょ?
それを右クリックして、追加>クラス
を選択すると幸せになるよ
ややこしくなってきたら、同じようにしてフォルダを作るんだ
0440デフォルトの名無しさん
2009/10/02(金) 01:36:08>どうでもいいが、「復号化」ではないので
突っ込むべきはそこではない。
>原理的には適当に復号化。でないとTripleDESが不可能のはずだから。
これがおかしい。
暗号アルゴリズム単体の処理での動作と
パディング等も含めたスキーム全体の処理での動作を
混同している。
0441デフォルトの名無しさん
2009/10/02(金) 01:40:400442デフォルトの名無しさん
2009/10/02(金) 07:08:56Javaかよw
冗談だよね?
0443デフォルトの名無しさん
2009/10/02(金) 07:32:14さすがに1クラス1ファイルは無いな(1つの機能が1つのクラスで済むならありうるけど)
0444デフォルトの名無しさん
2009/10/02(金) 07:32:45ファイル内の最初のクラスにするといった制限は
IDE(Visual Studio)の制限で、別に言語の制限じゃない。
0445デフォルトの名無しさん
2009/10/02(金) 07:41:42分けなきゃいかんのならこれも分けるの?てのもあるね。
javaの場合はpublicなenumはファイル分けなきゃいかんかった。
めちゃ不便。
0446デフォルトの名無しさん
2009/10/02(金) 11:41:54列挙やらデリゲートやらは流石にファイル分けたりはしないな。
ただ、大体基本的には1クラス1ファイルになると思うけどね。
0447デフォルトの名無しさん
2009/10/02(金) 14:28:271ファイルに書いたりはする
規模にはよるけど
0448デフォルトの名無しさん
2009/10/02(金) 14:57:490449デフォルトの名無しさん
2009/10/02(金) 15:28:300450デフォルトの名無しさん
2009/10/02(金) 17:26:45EnumWindowsはなんとか出来たので、それを元にやっているのですが
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' のオーバーロードはありません。」と出ます
0451デフォルトの名無しさん
2009/10/02(金) 17:34:180452デフォルトの名無しさん
2009/10/02(金) 18:10:51レスありがとうございます!
ただ、引数に何を入れるのかが分かりません。
(IntPtr hwndParent, WNDENUMPROC lpEnumFunc, int lParam);
とか
(IntPtr hwndParent, IntPtr lpEnumFunc, int lParam);
など試してみたのですがダメでした。
0453デフォルトの名無しさん
2009/10/02(金) 18:28:33APIの知識がないんだな
C#云々の問題じゃないし
0454デフォルトの名無しさん
2009/10/02(金) 18:36:20ちゅーかどっからそんなソースをもってきたんだろう。
引数はIntPtr hWnd, int lParamの2つだけ。
引数名をhwndParentとしているが、ココには親のウィンドウハンドルが渡されるのではなく
列挙された子ウィンドウのウィンドウハンドルが渡される。
0455デフォルトの名無しさん
2009/10/02(金) 18:37:440456デフォルトの名無しさん
2009/10/02(金) 19:23:55子ウィンドウを列挙するソースが見つからないので
試行錯誤しているところです。
引数名は何も気にせずコピーしてました。
>>455
なんだか的外れな事をしてしまったみたいですみません。
どこをどう直せば良かったのでしょうか。
0457デフォルトの名無しさん
2009/10/02(金) 19:25:580458デフォルトの名無しさん
2009/10/02(金) 19:39:51こだわってるんじゃなく、違う言語がまったく読めないのでC#に出来ないのです。
0459デフォルトの名無しさん
2009/10/02(金) 19:53:13ぶー、88BASIC です。
0460デフォルトの名無しさん
2009/10/02(金) 19:56:41非常識自慢?w
ネストされたクラスはカウントしないとして、
例外クラスとenum以外は基本ファイルあた1クラスでしょ。
あとは、まあ小さなクラスなら派生クラスも同じファイルに書いちゃうことはあるが。
0461デフォルトの名無しさん
2009/10/02(金) 20:06:120462デフォルトの名無しさん
2009/10/02(金) 20:24:420463デフォルトの名無しさん
2009/10/02(金) 20:42:39_,∩_ _,∩_ _,∩_
(_____)ゝ、 (_____) y (_____)
/ :: :: :: ヽ 〉 /-‐:: ::‐-ヽ / / :: :: :: ヽ
_./ (・ )ll(・ ) ∨ _/ 0) i! 0) ∨ _/ ( ・)i!(・ ) ゙、_
// :: :: ∈ゝ :: ::ヽ // :: ‐-‐ :: ヽ // :: ー一 :: ヽ\
. ゝ/:: :: :: :: :: ::ヽ ゝ/ :: :: :: :: :: ヽ ゝ/ :: :: :: :: :: ヽく
 ̄ ̄ | ̄ ̄ | ̄ ̄  ̄ ̄ | ̄ ̄ | ̄ ̄  ̄ ̄ | ̄ ̄ | ̄ ̄
| | | | | |
⊂! !つ シ! !つ ⊂! !つ
ジャン♪
0464デフォルトの名無しさん
2009/10/02(金) 20:46:36だから、APIが読めなければC#にもできないだろw
基本は同じなんだからさ
こんにちはの意味がわかれば、HELLOをどのタイミングで言えばいいかわかるだろ?
それと一緒だ
0465デフォルトの名無しさん
2009/10/02(金) 21:07:180466デフォルトの名無しさん
2009/10/02(金) 21:13:24>「復号化」ではないのでリアルで使うと恥じをかくことになると忠告しておこう
DESCryptoServiceProvider.CreateDecryptor メソッド
指定したキー (Key) および初期化ベクタ (IV) を使用して、対称 DES (Data Encryption Standard) 復号化オブジェクトを作成します。
セキュリティ関係用語じゃなくてMicrosoft用語ですだ。
0467デフォルトの名無しさん
2009/10/02(金) 21:27:52だから、原理的にはって言ってるじゃないか。
どう実装されてるか分からないから、適当に復号化するように実装されてないとは
言い切れない。
ドキュメント斜め読みしても見つからない。
一個かそこら試したとしても不安が残る。
時間は待ってくれない。
だからどっちに転んでも、まあ動くだろうって対応をした。って話。
ところで関係無いんだが、これ実はExcelVBAで利用したと言ったら信じる?
0468450
2009/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);
}
0469デフォルトの名無しさん
2009/10/03(土) 00:51:50別に対応がおかしいとは言ってないよ。
実際復号されることもエラーになることもあるから。
>でないとTripleDESが不可能のはずだから。
これがおかしいと言ってるだけ。
0470デフォルトの名無しさん
2009/10/03(土) 01:43:390471デフォルトの名無しさん
2009/10/03(土) 03:51:23安心したw
今書いているクラスは入れ子になっているものを数えたら30個にもなっててほんの少し焦った。
まぁ、チョロっと必要な定数叩き込むときは1ファイルに2つぐらい書いちゃうけど大丈夫だね。
0472デフォルトの名無しさん
2009/10/03(土) 07:07:02TripleDESは、
暗号文 = 鍵3でDES暗号化(鍵2でDES復号化(鍵1でDES暗号化(平文)))
という仕様だから、DESはある鍵で暗号化したものを別の鍵で復号化できないと
実現不可能のはずだと考えたんだが、間違ってるのか?
0473デフォルトの名無しさん
2009/10/03(土) 08:21:220474デフォルトの名無しさん
2009/10/03(土) 08:29:56暗号アルゴリズム単体と、
〜Providerとかを使っての処理は
「違う」って言ってる。
DESとか3DESとかの暗号アルゴリズム単体では
ブロックサイズのデータとキーを与えたらブロックサイズの結果を出す単なる関数。
だからキーが違おうが何だろうが処理できる。
でも〜Providerとかを使っての処理は、暗号化のモードとかIVとかパディングを含めた処理
特にパディングがあるから、違うキーで処理したら処理自体に躓いてエラーになる場合が多い。
0475デフォルトの名無しさん
2009/10/03(土) 08:49:58わざわざ「Javaかよw」って書いてるんだから
例外クラス・enum・数行しかないクラスであっても、例外なくファイルに分けなければいけない ってのを皮肉ってるんだと思った。
0476デフォルトの名無しさん
2009/10/03(土) 11:59:12俺が無知なだけ・・・。
C#やってるけど今まで本なんて一回も読んだことないし、基礎知識なさすぎ。
最初なんてIfしらなかったせいでgotoで何もかもやってたこともあったしw
すっきりしました
ありがとb
0477デフォルトの名無しさん
2009/10/03(土) 12:02:440478デフォルトの名無しさん
2009/10/03(土) 12:14:29まあチュートリアルとか、あとトレーニングとかオンラインで無料でできるやつもあるから
そんなのでもいいけど。
いきなりマニュアルはきついだろう。
0479デフォルトの名無しさん
2009/10/03(土) 12:21:42「第一章:Hello worldを表示しよう!」
なんてのはマニュアルにないからなw
0480デフォルトの名無しさん
2009/10/03(土) 12:54:14> C# プログラマーズ リファレンス
> Hello World のチュートリアル
>
> このチュートリアルでは、C# 言語による Hello World プログラムのいくつかの記述方法について説明します。
0481デフォルトの名無しさん
2009/10/03(土) 13:10:520482デフォルトの名無しさん
2009/10/03(土) 16:10:02ま、forを使えばいいんだけど・・・
0483デフォルトの名無しさん
2009/10/03(土) 16:16:070484デフォルトの名無しさん
2009/10/03(土) 16:16:280485デフォルトの名無しさん
2009/10/03(土) 16:35:140486デフォルトの名無しさん
2009/10/03(土) 16:40:27但しIListを実装しているものは直接コピーするので、列挙のコストはかからない。
0487デフォルトの名無しさん
2009/10/03(土) 16:41:12環境
PC A OS vista x64 sp2
PC B OS xp sp3
AはBのフォルダをネットワークドライブ(Zドライブ)に接続している
ネットワークドライブ(Zドライブ)は起動時に自動的に再接続される。
続く〜
0488デフォルトの名無しさん
2009/10/03(土) 16:42:50Aのみ起動している状況で、
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();
例外で強制終了
存在しないドライブの一覧を取得しようとしたのが問題っぽい。
どなたかお願いします。
0489デフォルトの名無しさん
2009/10/03(土) 16:46:31Win32APIのWNetAddConnection2で再接続
0490デフォルトの名無しさん
2009/10/03(土) 16:49:55情報ありがとうございます。
win32apiは使ったことないですが何とかやってみます。
0491450
2009/10/03(土) 18:47:55位置をForm1のLocationプロパティを参照して決めたいのですが、
参照の仕方を教えてください。
0492デフォルトの名無しさん
2009/10/03(土) 18:50:30Form1がForm2を表示する際に
var form2 = new Form2();
form2.Location = (this.Locationを基準に決めた位置);
form2.Show();
のようにする
0493デフォルトの名無しさん
2009/10/03(土) 19:15:30おおお!
ありがとうございます!
まったく思いつかなかったです。
0494デフォルトの名無しさん
2009/10/03(土) 19:19:43直接16進で指定は出来ないのでしょうか?
0495デフォルトの名無しさん
2009/10/03(土) 19:20:13thread.Start();
でスレッドを起動するとき、引数はどう渡せばいいんでしょう?
0496デフォルトの名無しさん
2009/10/03(土) 19:24:51http://msdn.microsoft.com/ja-jp/library/6x4c42hc.aspx
0497デフォルトの名無しさん
2009/10/03(土) 19:25:22Colorのリファレンスくらい見たらどうかと思う
0498デフォルトの名無しさん
2009/10/03(土) 19:26:45いやいやw
普通は(少なくともOOP的には)、別のFormの位置を参照して自分の表示位置を決定して表示する機能を
Form2自身が実装するようにすべき。
その方が分かりやすいでしょ?
ケースバイケースだけど、フツーは>>492みたいのは悪い例。
0499デフォルトの名無しさん
2009/10/03(土) 19:36:49もっとちゃんとした枠組みを作ってそういうことを実現するならいいけど
安易に他のフォームを参照しちゃうようなやり方は良くない
0500デフォルトの名無しさん
2009/10/03(土) 19:41:03ども、まだヘルプ入れてないんです。始めて二日目。
ありがとう、できました。
0501デフォルトの名無しさん
2009/10/03(土) 19:49:210502デフォルトの名無しさん
2009/10/03(土) 19:59:210503デフォルトの名無しさん
2009/10/03(土) 20:01:58Locationは"Form1"で実装されてるメンバじゃない。
意味分かる?
依存なんかできないよ。
例えば、
void ShowAtLeft(Form referredForm)
のようにするだけ。
0504デフォルトの名無しさん
2009/10/03(土) 20:01:58thread.Start(引数);
としたところ、
'System.Threading.Thread.Thread(System.Threading.ParameterizedThreadStart)' に最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。
引数 '1': 'メソッド グループ' から 'System.Threading.ParameterizedThreadStart' に変換できません。
ってことなんですけど…。
0505デフォルトの名無しさん
2009/10/03(土) 20:08:380506デフォルトの名無しさん
2009/10/03(土) 20:12:22としてます。
0507デフォルトの名無しさん
2009/10/03(土) 20:16:390508デフォルトの名無しさん
2009/10/03(土) 20:29:12ってことですか?
それだと、
引数 '1': 'object' から 'string' に変換できません。
なんですが、objectからstringに変換すればオーケーなんですか。
どうやるんだろ。
0509デフォルトの名無しさん
2009/10/03(土) 21:06:320510デフォルトの名無しさん
2009/10/03(土) 21:10:080511デフォルトの名無しさん
2009/10/03(土) 21:19:00new Thread(() => ThreadTask(実引数));
0512デフォルトの名無しさん
2009/10/04(日) 00:20:080513デフォルトの名無しさん
2009/10/04(日) 00:22:560514デフォルトの名無しさん
2009/10/04(日) 00:24:480515デフォルトの名無しさん
2009/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の設定だけじゃだめなんですか?
0516デフォルトの名無しさん
2009/10/04(日) 01:33:520517デフォルトの名無しさん
2009/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などのメディアで配布したほうが良いのでしょうか。
教えてください。よろしくお願いします。
0518デフォルトの名無しさん
2009/10/04(日) 10:24:50シングルスレッドで移動させているときはマウスのピクセル移動量と画像の移動量が一致します
しかし、マルチスレッドで移動させるとマウスのスピードに指数比例してすごい勢いで画像が流れます
親スレッドでMouseMoveイベントごとに現在位置のグローバル変数を移動
スレッド呼び出し
グローバル変数に従って画面を書き換え
こんな流れになっていてスレッド呼び出しされた側ではグローバル変数を参照しているだけで
位置情報を書き換える処理はしていないです
スレッドが呼ばれている間の位置移動とか特に意識していません
まあ絶対どっかでミスしてんですが、思い当たる原因のヒントでもいただけたらと・・・
0519デフォルトの名無しさん
2009/10/04(日) 10:26:02.NET Framework 3.5 Client Profile の数々の仕様って修正されてる?
その中の
・XP sp2以上でないと、結局3.5sp1をフルインストールされる
・他のバージョンの.Netがあると、結局3.5sp1をフルインストールされる
のどっちかという話はないか?
他にも
・インストールしたXPは、これをアンインストールしないとVistaにアップグレードできない
・インストールしたPCには、古いバージョンの.Netをインストールできない
・インストールされていない Oracle データ プロバイダが使用可能であると表示される
とかリリースノートで豪快に仕様扱いなんだなぁ。すげーぜ、さすがはアメリカンw
0520デフォルトの名無しさん
2009/10/04(日) 10:26:340521デフォルトの名無しさん
2009/10/04(日) 11:12:270522デフォルトの名無しさん
2009/10/04(日) 11:16:24スレッドの呼び出し?だけ消したら正常になるの?
一体そのスレッドで何やってんだ?
あとスレッドの呼び出し?って何時やってんの?
まさかマウスが動く度じゃないよね?
スレッド側の処理は一瞬で終わるもの?それともしばらく動き続けるもの?
0523デフォルトの名無しさん
2009/10/04(日) 11:26:24private 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をセット(切り替える)した後に
何かしなければならないんでしょうか?
0524デフォルトの名無しさん
2009/10/04(日) 11:40:13以下の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" });
}
以下略
0525デフォルトの名無しさん
2009/10/04(日) 12:12:45ありがとうございます。
.NET3.5sp1を入れてはいますが、結局使用はしていません。
.NET3.5のみを配布したら早くなるでしょうか…。
0526デフォルトの名無しさん
2009/10/04(日) 12:14:50今は暫定的にマウスが動くたびになってます
最終的には移動量が一定量を超えたとき呼び出すつもりです
そのスレッドでは移動量をグローバル変数から取得してそれに応じた小さなファイルを読み込んでメインスレッドのInvcke呼び出し
メインスレッドのハンドラでダブルバッファに書き込んで、移動分だけ画像をシフトしてます
0527デフォルトの名無しさん
2009/10/04(日) 12:18:29そのライブラリを別のアプリケーションで勝手に使っちゃえると思うんだけど
それを防ぐ方法はないのかな?
0528デフォルトの名無しさん
2009/10/04(日) 12:20:36ない。
0529デフォルトの名無しさん
2009/10/04(日) 12:21:41ロード元のアセンブリをチェックすればいいだけだろう
0530デフォルトの名無しさん
2009/10/04(日) 13:01:15そうか、そうですよね。
調べます。
0531デフォルトの名無しさん
2009/10/04(日) 14:17:34の方法を簡単に説明してくれ
0532デフォルトの名無しさん
2009/10/04(日) 14:19:440533デフォルトの名無しさん
2009/10/04(日) 14:35:27なんでそんなことしたいんだ?
0534デフォルトの名無しさん
2009/10/04(日) 17:55:02さては他人の作ったソフトウェアのメソッド叩きたいとか考えてるな!
やめとけw
0535デフォルトの名無しさん
2009/10/04(日) 18:12:380536デフォルトの名無しさん
2009/10/04(日) 19:05:37Loadイベントのハンドラで行うのかどちらがいいのでしょう。
0537デフォルトの名無しさん
2009/10/04(日) 19:06:280538デフォルトの名無しさん
2009/10/04(日) 19:10:33内容による。
0539デフォルトの名無しさん
2009/10/04(日) 19:10:46リフレクションでやってみれば?
0540デフォルトの名無しさん
2009/10/04(日) 19:11:38マニュアルの System.Reflection 名前空間見るとか、「リフレクション C#」ググるとか。
単に見たいだけなら一番簡単なのは、VSで参照してオブジェクトブラウザで覗く。
0541デフォルトの名無しさん
2009/10/04(日) 19:19:48ウィンドウのレイアウトから、オプションダイアログで設定するようなものまであります。
0542デフォルトの名無しさん
2009/10/04(日) 19:24:04MSがソース公開してるCLRプロファイラやWPFプロファイラは部分的にC++使ってた
0543デフォルトの名無しさん
2009/10/04(日) 19:27:32Formに関する設定ならばLoadだろうね。
逆にコンストラクタできちんと動く?
0544デフォルトの名無しさん
2009/10/04(日) 19:47:32みんなは配布用アプリを作る時は、インストールに時間がかからないようにどのような工夫をしているの?
0545デフォルトの名無しさん
2009/10/04(日) 19:48:16現状は問題なくできるのですが、、何か陥りやすい問題とかあるんでしょうか。
コンストラクタのInitializeComponentの後にファイルを読み込んでいます。
0546デフォルトの名無しさん
2009/10/04(日) 19:55:03最初の一回だけだから気にしてない。
0547デフォルトの名無しさん
2009/10/04(日) 20:14:58俺も聞きたいねえ。
コンストラクタでやったらまずい処理って思いつかない。
まあFormに限らず、クラスのコンストラクタでイベントを生成するような処理を書いて
嵌ったことは過去に何度かある。
コンストラクタ呼び出し中に発火されたイベントは、事実上誰も拾えないからね。
0548デフォルトの名無しさん
2009/10/04(日) 20:53:17.net3.5を使用しているアプリを配布しようとしたら、
プレインストールされていないPCは、30分とかかかかるのかい?
0549デフォルトの名無しさん
2009/10/04(日) 20:55:13回線速度とスペック次第じゃね?
0550デフォルトの名無しさん
2009/10/04(日) 20:55:270551デフォルトの名無しさん
2009/10/04(日) 21:01:28んなものは、システム要件。
インストールさせようなんてのはお節介。
と思ってる。
0552デフォルトの名無しさん
2009/10/04(日) 22:08:41なら問題ないんじゃない?
C#やりたてのころに痛い目にあったことが1回だけあったけど、何かはど忘れしちゃった。
明日まで覚えていたら会社のSVN覗いてみるわ。
0553デフォルトの名無しさん
2009/10/04(日) 22:26:39LoadはFormの読込み
Shownは表示後
ちゃんと役割があるんだからそれぞれに書いた方がいいと思う
0554デフォルトの名無しさん
2009/10/04(日) 22:33:170555デフォルトの名無しさん
2009/10/04(日) 22:38:56FormがShowされるときにすべき処理はLoadに書くべき
コンストラクタはあくまでインスタンスの初期化処理だけのほうがいい
0556デフォルトの名無しさん
2009/10/04(日) 22:51:23正直、どれもよくわからん俺様ロジックにしか聞こえない。
そんなことはない、というなら聞くが、じゃあ結局>>536の質問には何と答えるんの?
っていうか、そういう意味論にこだわるなら、設定値を読み込んで適用するような処理は
InitializecComponentsの後が一番適切に思えるが。
0557デフォルトの名無しさん
2009/10/04(日) 23:00:30イベントドリブン全否定?
俺様ロジックの俺様というのはC#開発者のこと言ってるんだよな?
0558デフォルトの名無しさん
2009/10/04(日) 23:17:49日本語読める?
だからね、一般論として、コードは意味的に適切なタイミングで
実行されるように書くべき、というのはその通りだけども、
じゃあ設定を読み込んで反映するのに適切なタイミングっていつだっての。
そんなもの、答えなんかないだろう。
「設定を読み込んで反映すべきタイミング」の意味を与えられたイベントなんて存在しないのだから。
イベントの意味なんかにこだわりすぎると、結局そんな処理なんかどこにも書くべきでない、
って結論にならざるをえない。
0559デフォルトの名無しさん
2009/10/04(日) 23:37:07あなたの言ってることの方がよっぽど俺様ロジックに聞こえるけど
コンストラクタはインスタンスが生成される瞬間に実行され、
インスタンスの初期化のための引数を渡す機能を持っている
コンストラクタが一つなら、その設定やらに渡す引数も一緒に渡してやれば良いけど
そんなやり方推奨する人どのくらいいるだろうね
0560デフォルトの名無しさん
2009/10/04(日) 23:42:150561デフォルトの名無しさん
2009/10/05(月) 00:08:53ごめん。どっかいっててくれるかい?
0562デフォルトの名無しさん
2009/10/05(月) 00:30:170563デフォルトの名無しさん
2009/10/05(月) 00:30:380564デフォルトの名無しさん
2009/10/05(月) 00:35:180565デフォルトの名無しさん
2009/10/05(月) 01:03:08結局どうすべきだと言いたいの?
というかね、コンストラクタが多重定義したい場合で、
かつどのコンストラクタにも共通する処理がある場合は、
どのコンストラクタからも特定の一つの別のコンストラクタを呼ぶようにするか、
共通部分をメソッドに括り出して呼ぶようにするでしょ。
それを忘れたらどうするのかって?
それはただの「バグ」であって、そんなケースを槍玉に挙げてなんの意味があるのよ。
0566デフォルトの名無しさん
2009/10/05(月) 01:04:10アクセスなら Load かなぁ。
設定ファイルなら…んー、コンストラクタでもぎりぎりアリか。
0567デフォルトの名無しさん
2009/10/05(月) 02:42:08多重起動チェック→設定読む→Application.Runみたいな流れ
設定にもよるけど
0568デフォルトの名無しさん
2009/10/05(月) 10:09:370569デフォルトの名無しさん
2009/10/05(月) 14:23:18listBox1.Items.Add(s);
とすると(コレクション)と表示されてしまいます。
0570デフォルトの名無しさん
2009/10/05(月) 14:30:21・DataSourceに設定する
0571デフォルトの名無しさん
2009/10/05(月) 15:16:32string[] ss = new string[s.Count];
for (i = 0; i < s.Count; i++)
{
ss[i] = files[i];
}
listBox1.Items.AddRange(ss);
一度で出来ないのですね。
ありがとうございました。
0572デフォルトの名無しさん
2009/10/05(月) 15:23:570573デフォルトの名無しさん
2009/10/05(月) 15:26:07listBox1.DataSource = s;
だけだし。
0574デフォルトの名無しさん
2009/10/05(月) 20:13:190575デフォルトの名無しさん
2009/10/05(月) 20:35:380576デフォルトの名無しさん
2009/10/05(月) 20:57:24C#では無理なんでしょうか。VBではうまくいったんですけど・・・
0577デフォルトの名無しさん
2009/10/05(月) 21:02:520578デフォルトの名無しさん
2009/10/05(月) 21:10:590579デフォルトの名無しさん
2009/10/05(月) 21:22:210580デフォルトの名無しさん
2009/10/05(月) 21:26:510581デフォルトの名無しさん
2009/10/05(月) 21:32:41言語は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 エントリ ポイントが見つかりませんでした。
このファイルが登録されていない可能性があります。
0582デフォルトの名無しさん
2009/10/05(月) 21:36:300583デフォルトの名無しさん
2009/10/05(月) 22:04:480584デフォルトの名無しさん
2009/10/06(火) 17:03:58Notepadを複数起動していて、a.txtとb.txtを開いているときに、a.txtのほうのNotepadのプロセスを取得して終了したいです。
System.Diagnostics.Process[] ps = System.Diagnostics.Process.GetProcessesByName("Notepad");
で引数なしなら取得できます。
System.Diagnostics.Process[] ps = System.Diagnostics.Process.GetProcesses();
で、プロセスの一覧はできます。
デバッグでどちらを見ても、ファイル名が見当たらないのです。
探し方が悪いのかもしれません。
ご指摘お願いします。
0585デフォルトの名無しさん
2009/10/06(火) 17:12:54けどファイルを開くで開いた場合を気にしなくて良いの?
0586デフォルトの名無しさん
2009/10/06(火) 17:19:14数秒〜数十秒くらい
0587デフォルトの名無しさん
2009/10/06(火) 17:20:22"C:\WINDOWS\system32\NOTEPAD.EXE" C:\a.txt
"C:\WINDOWS\system32\NOTEPAD.EXE" C:\b.txt
は取得できました。
これを終了するのって、どうするんですか?
それぞれのプロセスの個別の取得方法がわからないです。
NOTEPADのプロセスは取得できるけど、それだとaとbを区別できないし。
ファイルを開くで開く場合は、とりあえずいまは関係なしです。
0588デフォルトの名無しさん
2009/10/06(火) 17:24:57強制終了させるなら、目的の引数を持ってるWin32_ProcessのTerminateメソッドでいい
内容変更時に保存ダイアログが欲しいなら、Win32_ProcessのProcessIdを使ってProcess.GetProcessByIdしてCloseMainWindow
0589デフォルトの名無しさん
2009/10/06(火) 19:35:56なんとなくできたっぽいです。
ありがとうございました。
0590デフォルトの名無しさん
2009/10/06(火) 22:42:55http://kakikukekou.blog83.fc2.com/blog-entry-517.html
0591デフォルトの名無しさん
2009/10/06(火) 22:47:32WPADやなんやでネットワークの応答速度によって時間が掛かる可能性はあるね
0592デフォルトの名無しさん
2009/10/06(火) 23:37:29数十秒もかからないけど 5秒ぐらいはかかってるかな
0593デフォルトの名無しさん
2009/10/07(水) 08:58:180594デフォルトの名無しさん
2009/10/07(水) 09:07:37スレッドじゃなくてプロセスだったりするかも知れないが
メッセージ使った擬似非同期とかな
0595デフォルトの名無しさん
2009/10/07(水) 09:42:230596デフォルトの名無しさん
2009/10/07(水) 12:11:48\x28 などのエスケープ文字(?)を ( などに変換するのは
それぞれのエスケープ文字について一つ一つ string.replace などで置き換えるしかないのでしょうか?
0597デフォルトの名無しさん
2009/10/07(水) 12:34:47まあString.Replaceってとこみると実行時の変換なんだろうけど
エスケープの方法なんて言語次第だから特にライブラリには存在してない
Regex.ReplaceでMatchEvaluator使うのが楽だろうねー
0598デフォルトの名無しさん
2009/10/07(水) 13:10:36で空なのはどうしたら取得できますか?
0599デフォルトの名無しさん
2009/10/07(水) 15:06:24実際そこにファイルがないから
0600デフォルトの名無しさん
2009/10/07(水) 15:11:55調べたら、
その下に、Content.IE5フォルダがあるらしいので、SearchOption.AllDirectories
としても見つけられませんでした。
0601デフォルトの名無しさん
2009/10/07(水) 15:42:130602デフォルトの名無しさん
2009/10/07(水) 15:44:110603デフォルトの名無しさん
2009/10/07(水) 16:04:13Content.IE5の中には、さらにランダムな名前の隠しフォルダがたくさんあって、
ネットから取得したファイルの本体はそのランダムなフォルダの中に分散して格納してある。
何がどこにあるかはindex.datだったかに書いてある。
0604デフォルトの名無しさん
2009/10/07(水) 16:09:26s string;
SetLength(s, 64);
c#
string s;
サイズを指定するにはどうするんでしょうか?
0605デフォルトの名無しさん
2009/10/07(水) 16:12:060606デフォルトの名無しさん
2009/10/07(水) 16:13:58そもそも変更不可なので長さを伸ばすのは意味がありません。StringBuilderなどを使います。
長さを縮めるというか部分を切り出した新しい文字列を作るのはString.SubstringやString.Removeで可能です。
0607デフォルトの名無しさん
2009/10/07(水) 16:16:190608デフォルトの名無しさん
2009/10/07(水) 16:20:220609デフォルトの名無しさん
2009/10/07(水) 16:21:060610デフォルトの名無しさん
2009/10/07(水) 16:21:440611604
2009/10/07(水) 16:23:20ありがとうございました。
0612デフォルトの名無しさん
2009/10/07(水) 16:24:090613デフォルトの名無しさん
2009/10/07(水) 16:53:28ここのソース貼り付けて実行したらWPFだとちゃんと動くけどSilverlightだと動かない
んですけどなぜなんです?
0614デフォルトの名無しさん
2009/10/07(水) 16:55:190615デフォルトの名無しさん
2009/10/07(水) 18:10:55Content.IE5フォルダの下に30JAKIJ7みたいなフォルダがあることはわかってます。
隠しフォルダのなかのファイルを再帰的に列挙するにはどうしたらよいですか?
0616デフォルトの名無しさん
2009/10/07(水) 18:37:010617デフォルトの名無しさん
2009/10/07(水) 18:52:44SearchOption.AllDirectoriesは600でもう試しました。
0618デフォルトの名無しさん
2009/10/07(水) 19:00:03こっちは実際に動かして出ることを確認してレスしてんだよ
エクスプローラで見るとそこにちゃんとあるのか?
環境は?
IEのオプションでもそこに設定してあるか?
0619デフォルトの名無しさん
2009/10/07(水) 19:01:470620デフォルトの名無しさん
2009/10/07(水) 19:28:10失礼しました。
あらためてもういちどトライしたらできました。
すみません。ありがとうございました。
0621デフォルトの名無しさん
2009/10/07(水) 22:57:340622デフォルトの名無しさん
2009/10/08(木) 00:33:44どっちにしろきちんと試さんと自分が困るだけだよ。
0623デフォルトの名無しさん
2009/10/08(木) 01:29:24ちゃんとこのスレにもまともな回答者がいたんですね。
尊敬します。これからも初心者を見捨てずお願いします。
0624デフォルトの名無しさん
2009/10/08(木) 05:31:46変なの
0625デフォルトの名無しさん
2009/10/08(木) 07:44:34水平方向の一番後ろを表示する方法を教えてください
0626デフォルトの名無しさん
2009/10/08(木) 09:56:06スクロールバーが出たときに一番後ろを表示すればいい
0627デフォルトの名無しさん
2009/10/08(木) 09:56:54ヒント:マウスホイール
0628デフォルトの名無しさん
2009/10/08(木) 12:11:200629デフォルトの名無しさん
2009/10/08(木) 15:00:480630デフォルトの名無しさん
2009/10/08(木) 15:11:33_player = new AxWindowsMediaPlayer;
_player.uiMode = "none";
とすると2行目でエラーが発生します。
まだ、ActiveX コントロールが生成されてないからと思います。
いまは、タイマーで __player.Created を監視して、
true になるのを待つという方法で回避していますが、
ActiveX コントロールが生成されたというイベントはないでしょうか?
0631デフォルトの名無しさん
2009/10/08(木) 15:25:580632デフォルトの名無しさん
2009/10/08(木) 19:06:07Windowsでコピー&ペーストのペースト先の情報(ファイル名やファイルのパス)を得るにはどうすればよいでしょうか?
よろしくお願いします.
0633デフォルトの名無しさん
2009/10/08(木) 19:27:01でググる
0634デフォルトの名無しさん
2009/10/08(木) 19:30:35わかるわけがない
0635デフォルトの名無しさん
2009/10/08(木) 19:37:09Windows上のアプリケーションを監視するソフトを考えているのですが,
例えば文字列をコピーしたものをパワーポイントに貼り付けた場合,
貼り付け先のパワーポイントのファイル名やファイルのパスを得たいという質問の内容です.
0636デフォルトの名無しさん
2009/10/08(木) 19:57:330637デフォルトの名無しさん
2009/10/08(木) 20:20:10一般には対象のアプリのプログラムを意味論で解析でもしないかぎり不可能
0638630
2009/10/08(木) 20:26:33レスありがとうございます。
Loadイベントなら大丈夫とは知りませんでした。
しかし、今回は、フォームデザイナで配置して使用している訳ではなく、
コード内でオブジェクトを作っているため、生成済み通知してくれる
イベントがあればいいなと思い質問しました。
0639デフォルトの名無しさん
2009/10/08(木) 20:33:56そっから取得できるか?すべてのソフトでどうなってるのか調べなきゃだが
0640デフォルトの名無しさん
2009/10/08(木) 20:47:45どう頑張っても使いものにならないから諦めろ
0641デフォルトの名無しさん
2009/10/09(金) 06:18:21DataColumnとしてcolTitle, colValue があるとします。
asp側のコードで
<%# Eval("colTitle") %> <img src="./img/hoge.jpg"> <%# Eval("colValue") $#>
として colTitleとcolValueの間に画像を表示しています。
colValueは文字列で、文字列が空もしくはnullのとき、
hoge.jpgを表示させないようにしたいのですが、
どうしたらいいのかさっぱりわかりません。
<% if ([条件]) { %> <% } %> とするとデータバインド後に一回しか
実行されませんし、
DataBoundイベントを使った場合、どう記述したらいいのか思いつきません。
どなたか教えていただけませんか?
0642641
2009/10/09(金) 06:20:08なんで$マーク。
0643デフォルトの名無しさん
2009/10/09(金) 06:20:490644デフォルトの名無しさん
2009/10/09(金) 10:44:220645641
2009/10/09(金) 15:38:440646デフォルトの名無しさん
2009/10/09(金) 18:16:03だれかお願いします。
言葉が足りませんでした。
マウス操作やキーボード操作無しで表示する方法です。
0647デフォルトの名無しさん
2009/10/09(金) 18:37:590648デフォルトの名無しさん
2009/10/09(金) 22:48:47コボラーだった私が今春に社内SEに採用され、
急に未経験のC#をやれと言われてがむしゃらに勉強しましたが、
結局誰も協力はしてくれず1人で中途半端なシステムを作ってしまいました。
土日祝日もC#に明け暮れる毎日。
会社のために休みを完全に削ってがんばってきました。
ここでも何度か質問をし、回答をいただきました。
最終的には最悪な評価に終わりそうです。
私は会社を辞めます。
このスレの皆さんに代わってもらいたいです。
皆さんありがとうございました。
会社は離れてもC#は大切にします。
0649デフォルトの名無しさん
2009/10/09(金) 23:03:54切ない文章を書くな
0650デフォルトの名無しさん
2009/10/09(金) 23:10:49ユーザビリティーの高いシステムになりました。
本当は、使いやすいシステムなんです。
けど、納期が厳しすぎました。バグが出てしまったんです。
悔しいですが、誰もテストしてくれなかったし時間がありませんでした。
今となっては言い訳ですが…。
無理のあるスケジュールに振り回された自分を戒めつつ、
退職してしばらくC#の未消化技術を習得し、
明日につなげたいと思います。
0651デフォルトの名無しさん
2009/10/09(金) 23:43:350652デフォルトの名無しさん
2009/10/10(土) 00:03:03C#とは関係ないが納期についておもしろいスライドがあった
http://www-06.ibm.com/software/jp/rational/events/rsc2009/pdf/k2_j.pdf
0653デフォルトの名無しさん
2009/10/10(土) 00:03:09納期ギリギリで人が足りないからってC#のプロジェクトに引きずり込まれて、
その日の帰りに慌てて本屋で入門書を買ってVS2008Expressをインスコして徹夜で勉強して…
0654デフォルトの名無しさん
2009/10/10(土) 00:05:280655デフォルトの名無しさん
2009/10/10(土) 11:55:390656デフォルトの名無しさん
2009/10/10(土) 12:01:37読んだけど意味が高度すぎてよく分からなかった。
要するに、
「ウチは、スケジュールに遅れずにいい品質の開発をしまっせ!」
ということ?
0657デフォルトの名無しさん
2009/10/10(土) 14:10:10C#の経験者だけど、今、転職は難しいんだろうなぁ。
なんとなく肩身が狭くなってきたので会社を去りたいんだが。
0658デフォルトの名無しさん
2009/10/10(土) 14:47:14やめてよかった
0659デフォルトの名無しさん
2009/10/10(土) 15:01:530660デフォルトの名無しさん
2009/10/10(土) 18:07:580661デフォルトの名無しさん
2009/10/10(土) 18:28:45インスコってなんだい?
0662デフォルトの名無しさん
2009/10/10(土) 18:34:34文脈も読めないの?
0663デフォルトの名無しさん
2009/10/10(土) 20:01:55wc.DownloadFile(fileName, locelfileName);
wc.UploadFile(newfileName, locelfileName);
ではできます。
この場合、通信の途中でエラーがあると、ファイルが破損するので、サーバーだけで操作したいと考えてます。
アドバイスお願いします。
0664デフォルトの名無しさん
2009/10/10(土) 20:07:400665デフォルトの名無しさん
2009/10/10(土) 20:15:14どっかからftpクライアントのライブラリをもってくるのがいいと思う。
0666デフォルトの名無しさん
2009/10/10(土) 21:26:18終了後にリネームするのが定石。ダウンロードも当然同じく。
0667デフォルトの名無しさん
2009/10/10(土) 23:17:25何いってんだおまえは
0668デフォルトの名無しさん
2009/10/11(日) 00:13:20FtpWebRequest みたいなんではできないと思う
Socketで片方Passiveにしてそのポートでもう片方ひらいてStoreとRetieveする
0669デフォルトの名無しさん
2009/10/11(日) 00:28:370670デフォルトの名無しさん
2009/10/11(日) 00:37:12サーバー間の移動ならFTPよりrsyncがお勧め。
0671デフォルトの名無しさん
2009/10/11(日) 00:40:26まあ、davでも使えと
0672デフォルトの名無しさん
2009/10/11(日) 00:47:070673デフォルトの名無しさん
2009/10/11(日) 00:50:23不意をつかれた
0674デフォルトの名無しさん
2009/10/11(日) 00:56:24http://ja.wikipedia.org/wiki/FTP%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%AE%E4%B8%80%E8%A6%A7
0675デフォルトの名無しさん
2009/10/11(日) 00:58:180676デフォルトの名無しさん
2009/10/11(日) 00:59:202chで調べ物をしたい時は「教えてください」って書いても
なかなか教えてもらえない。
そういう時は、知ったかぶり風に間違ったことを自信満々に書く。
そうすると、ものすごい勢いでツッコミを入れてもらえる。
0677デフォルトの名無しさん
2009/10/11(日) 01:01:310678デフォルトの名無しさん
2009/10/11(日) 01:08:46・・・仕事としてやったこと無いんだな坊ちゃん。
0679デフォルトの名無しさん
2009/10/11(日) 04:07:18選択状態、位置の管理を君がしてないから
これ以上の説明が必要ならソース出せ
0680デフォルトの名無しさん
2009/10/11(日) 10:25:540681デフォルトの名無しさん
2009/10/11(日) 12:26:470682デフォルトの名無しさん
2009/10/11(日) 12:31:280683デフォルトの名無しさん
2009/10/11(日) 15:19:24何から始めたらいいかよくわからなくて
このスレにいけとかここのサイトから見て始めろとかあれば教えてもらえるとありがたいです。
0684デフォルトの名無しさん
2009/10/11(日) 15:24:10とりあえずここ見て、どこからわからんか考えてみ
ttp://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html
0685デフォルトの名無しさん
2009/10/11(日) 15:27:51恥ずかしながら無いに等しいと思います。
VB?というやつですか?それなら少しだけしたことはあるのですがそれもとても簡単なやつだったと思います。
URLありがとです。
とりあえず読んでみます!
0686デフォルトの名無しさん
2009/10/11(日) 15:27:59C#は基本的にはビジネスユースのプロが使う言語だからな。
裾野も広ければ奥行きもある。
本格的にやりたいなら入門書を買うことをお勧めする。
まあ、だからといってアマチュアが触れないのかといえばそうでもないが。
まず、ここは外せないな。
http://ufcpp.net/study/csharp/index.html
本当にゼロから始めるならここでもいいが、
http://homepage2.nifty.com/c_lang/
こっちは技術的なうそがいっぱい書かれてることで有名なところだから、
(にもかかわらず分かりやすいということで書籍化までされているのが厄介)
うそをうそと見抜けるようになるまで勉強したまえ。
0687デフォルトの名無しさん
2009/10/11(日) 15:40:12PCをゲーム機としてだけで置いておくのはかわいそうだと思ってやってみようかと
とりあえずブックマークさしてもらいました!
いきなり質問と言うか躓いてしまったのですが
Visual Studio .NETというソフトは有料なんでしょうか?
もし代わりとなるようなソフトがあればありがたいとは思うのですが・・・
0688デフォルトの名無しさん
2009/10/11(日) 15:42:460689デフォルトの名無しさん
2009/10/11(日) 15:48:022005以降は無料のExpressEditionがあってMSのサイトからDLできる。
最新は2008SP1ね
0690685
2009/10/11(日) 15:50:01ありがとうございます!
Visual C# 2008 Express Edition with Service Pack 1というのでおkですかね?
0691デフォルトの名無しさん
2009/10/11(日) 15:59:310692685
2009/10/11(日) 16:07:47それだけインスコできませんでしたとの表示が出て終了してしまうのですが・・・w
なにかインスコに関して制約とかこのOSだと駄目とかそういうものは
0693デフォルトの名無しさん
2009/10/11(日) 16:08:28配列じゃなくコレクション型を使いたいということで後先考えずIListを使ってしまって
今になってよかったのかと思ってる。
クラスとかじゃなく、インターフェイスとなっているものを直に変数として宣言するのは気持ち悪いんだけど、この場合何か別の方法ってないのかな?
string tempFN = Directry.filename(***);
List<string> FN = List<string>();
FN.Addrange=tempFN;
とかなんか回りくどいのがあまり好きじゃないし、俺の低脳さも好きじゃない。
知恵と知識をおくれ
0694デフォルトの名無しさん
2009/10/11(日) 16:11:09原則として、フォルダ中のファイル一覧のような外部の事情で
いつ変更が加わってもおかしくないような
リソースに対してはキャッシュそのものを行わず、
必要なときにそのたびに取得するようにする。
0695デフォルトの名無しさん
2009/10/11(日) 16:11:350696デフォルトの名無しさん
2009/10/11(日) 16:15:20初めてでいきなりC++に挑戦すると挫折する可能性が高い
0697デフォルトの名無しさん
2009/10/11(日) 16:16:44C++をわざわざ選択する意味がほとんどないな。現在では。
0698デフォルトの名無しさん
2009/10/11(日) 16:20:10ぅーん・・・、検索とか比較をする必要がある場合だったんでコレクション型に落として処理したかったんだけど、
こういったstring[]系のものを一発でList<string>に変換できる技があればなと思ってる。
配列から検索とか比較するのってなにか複雑に見えてしまう。
それにあの構文が見た目不安定に思えて仕方ないw
0699デフォルトの名無しさん
2009/10/11(日) 16:22:340700デフォルトの名無しさん
2009/10/11(日) 16:29:56そういうことじゃない?
0701デフォルトの名無しさん
2009/10/11(日) 16:33:55.ToList();でけた
0702デフォルトの名無しさん
2009/10/11(日) 16:34:220703デフォルトの名無しさん
2009/10/11(日) 16:34:400704デフォルトの名無しさん
2009/10/11(日) 16:34:410705デフォルトの名無しさん
2009/10/11(日) 16:37:03Silverlightではすでに削除されてる
0706デフォルトの名無しさん
2009/10/11(日) 16:39:24なぜ?
0707デフォルトの名無しさん
2009/10/11(日) 16:40:090708デフォルトの名無しさん
2009/10/11(日) 16:42:44というよりあまり魅力とは思わないんだけど、使い始めたらやめられない位つかうことになる?
0709デフォルトの名無しさん
2009/10/11(日) 16:43:26そんな理由で非推奨にしたらどれだけのメソッドが非推奨になるんだい
0710デフォルトの名無しさん
2009/10/11(日) 16:45:17とりあえずSQLサーバーとかいらんだろ
0711デフォルトの名無しさん
2009/10/11(日) 16:47:38C++はフルにしないとツールや、コンパイルのときAnyCPUの選択ができなくなる。
0712デフォルトの名無しさん
2009/10/11(日) 16:48:580713デフォルトの名無しさん
2009/10/11(日) 16:52:27よくWebの記事なので紹介されてるクエリ式( from x in items where … ) はあまり使わないだろうけど
メソッド形式( items.Where(x => x.Value < 10).ToList() みたいに書く方)は使いまくることになる
MSDNでSystem.Linq.Enumerableクラスを見てみるといいよ
0714デフォルトの名無しさん
2009/10/11(日) 16:59:55これ使いこなせれば、今書いてるコードとかキュッと出来そうw
人に渡すと説明いりそうだけどw
0715デフォルトの名無しさん
2009/10/11(日) 17:54:540716デフォルトの名無しさん
2009/10/11(日) 18:06:07組み合わせ問題をLINQで無理やり書いて
速度が出ないコードを量産されたらたまらん
0717デフォルトの名無しさん
2009/10/11(日) 18:06:310718デフォルトの名無しさん
2009/10/11(日) 18:09:160719デフォルトの名無しさん
2009/10/11(日) 18:18:460720デフォルトの名無しさん
2009/10/11(日) 18:20:420721デフォルトの名無しさん
2009/10/11(日) 18:25:34なんでもかんでもIEnumerableインターフェースを実装しようとするんじゃねエエエエエエエエエ
0722デフォルトの名無しさん
2009/10/11(日) 18:26:090723デフォルトの名無しさん
2009/10/11(日) 20:02:06みてごらん・・・
0724デフォルトの名無しさん
2009/10/11(日) 20:09:060725デフォルトの名無しさん
2009/10/11(日) 20:20:53妄想してしまう。
0726デフォルトの名無しさん
2009/10/11(日) 20:21:490727デフォルトの名無しさん
2009/10/11(日) 20:41:21var 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());
0728デフォルトの名無しさん
2009/10/12(月) 00:52:04わざわざありがとうございます!
何か作っているうちにいろいろやって見たんだけど、これ中毒化する・・・。
ハンドルとか捕ってく時に無駄に使いまわしそうw
.Selectがいっぱい尻尾に着くとかとても自己満z
0729デフォルトの名無しさん
2009/10/12(月) 12:49:570730デフォルトの名無しさん
2009/10/12(月) 12:56:040731デフォルトの名無しさん
2009/10/12(月) 12:57:24MeasureString
0732デフォルトの名無しさん
2009/10/12(月) 13:49:08それしかないのか・・・
0733デフォルトの名無しさん
2009/10/12(月) 13:56:46仮にそれで誤差が出るとしても、バイナリーサーチと同じアルゴリズムが使えると思うが
0734デフォルトの名無しさん
2009/10/12(月) 14:36:280735デフォルトの名無しさん
2009/10/12(月) 18:55:51WindowsMediaPlayerを使って音楽を再生しようとしています。
再生はできたので、次の段階で、評価の値を取得して、気に入った曲だけ再生しようとしています。
http://d.hatena.ne.jp/aont/20080419/1208600078
を参考に、メタデータを取得しようとしています。
ここで疑問点が出てきました。
評価の項目が見当たらないのです。
曲の評価は5なのですが、値が5のデータもありません。
評価を取得するにはどうしたらよいでしょう。
0736デフォルトの名無しさん
2009/10/12(月) 19:10:510737デフォルトの名無しさん
2009/10/12(月) 19:11:52ttp://msdn.microsoft.com/en-us/library/dd564793.aspx
属性の名前についてはこっち見ろと書いてある
ttp://msdn.microsoft.com/en-us/library/dd562375.aspx
オーディオ関連に使用する属性に限定したリストがこれ
ttp://msdn.microsoft.com/en-us/library/dd562379.aspx
で評価は大体ratingの訳語だからratingをページ内検索
後は片っ端から詳細ページを確認
0738デフォルトの名無しさん
2009/10/12(月) 21:45:47thanks
0739デフォルトの名無しさん
2009/10/12(月) 23:39:13C#のフォームに複数のswf組み込んでそのswfに同時キー処理を渡したいんだ
どうすればいい?
swfを貼り付けるとこまではサイト見ながらなんとか出来たが
swfの同時処理がわからん・・・。1日調べたけどお手上げだった俺に誰か救いの手をくれ
0740デフォルトの名無しさん
2009/10/13(火) 00:01:28でもブラウザにswfにキーイベントとか渡せるかどうかわかんない
0741デフォルトの名無しさん
2009/10/13(火) 00:17:03イメージ的には1つのフォームに2つ以上のフラッシュゲームをおいて
キー操作で全く同じ動きする感じ。
0742デフォルトの名無しさん
2009/10/13(火) 00:23:350743デフォルトの名無しさん
2009/10/13(火) 00:33:21キーイベントを送ることは出来るとは思うんだが・・・。
リストとかテキストボックス複数に同時に同じキーイベント送ることが出来たからswfでも出来ると思ったけど
swfは無理なのかのう(´・ω・`)
0744デフォルトの名無しさん
2009/10/13(火) 00:35:050745デフォルトの名無しさん
2009/10/13(火) 00:40:16他に方法は無いだろうか?もうC#じゃなくてもいいや
0746デフォルトの名無しさん
2009/10/13(火) 00:42:210747デフォルトの名無しさん
2009/10/13(火) 00:51:300748デフォルトの名無しさん
2009/10/13(火) 01:13:43C#で無理ならしゃーないな(´・ω・`)
ありがとう
0749デフォルトの名無しさん
2009/10/13(火) 02:15:360750デフォルトの名無しさん
2009/10/13(火) 02:48:15自動で動かしたいとかそんなことなんだろう。
ならばリフレッシュレートより短い時間差があっても問題になることは少ないはず。
この程度の考察ができないようでは、とてもまともなプログラマーとは言えない。
許容誤差とか、仕様に不明な点があれば確認すべきだし。
0751デフォルトの名無しさん
2009/10/13(火) 03:06:08仕事じゃあるまいし、なんでそんなに懇切丁寧にやらにゃならんのだ。
頭おかしいんじゃないの?
0752デフォルトの名無しさん
2009/10/13(火) 03:29:46人間、そんなに器用に習慣を変えることなんてできないんだから
ちょっとしたことでも態度に出たのを見られてるから注意した方がいいよ
0753デフォルトの名無しさん
2009/10/13(火) 03:37:12仕事振られずに給料もらうのがベストソリューション
0754デフォルトの名無しさん
2009/10/13(火) 06:44:18おまえ働いたことないだろw
0755デフォルトの名無しさん
2009/10/13(火) 08:06:09あらゆるツールはそのためにある
0757デフォルトの名無しさん
2009/10/13(火) 08:40:35全てのネジを完璧に締めちゃうと飛び立った後で空中分解するんだぜ
仕事も同じ
俺は後輩にこう教えて来た
0758デフォルトの名無しさん
2009/10/13(火) 09:42:000759デフォルトの名無しさん
2009/10/13(火) 09:49:24なんかつながった
0760デフォルトの名無しさん
2009/10/13(火) 10:01:43今まで自分が築いたものを否定されるに等しいと思ってるからね
帰属意識を持てという割に共同体だという概念がない
0761デフォルトの名無しさん
2009/10/13(火) 10:14:110762デフォルトの名無しさん
2009/10/13(火) 10:58:17工数増加まで見積ってるんだろうな?
0763デフォルトの名無しさん
2009/10/13(火) 10:58:540764デフォルトの名無しさん
2009/10/13(火) 11:06:170765デフォルトの名無しさん
2009/10/13(火) 11:35:450766デフォルトの名無しさん
2009/10/13(火) 12:16:490767739
2009/10/13(火) 12:25:48で、結局>>739は実現可能なのだろうか?
ちょっと前にも書いたけど少しの誤差は無問題
似たような処理ならどんな方法でも基本おkだ
よろしくたのむ
0768デフォルトの名無しさん
2009/10/13(火) 12:56:09並列処理させればいいだけだろ
おまえにはポジトロニックブレインがついてないのか?
0769デフォルトの名無しさん
2009/10/13(火) 13:57:410770739
2009/10/13(火) 14:05:00swfにキーを並行処理で渡すってのが俺の中で超難解
0771デフォルトの名無しさん
2009/10/13(火) 14:42:57人間の目には同時に見えるる
0772739
2009/10/13(火) 15:16:59swfを組み込むのが初めてでキーコントロールの渡し方もわからんトーシロなんだ
その辺も含めて教えてくれると助かる
ソースコードとか
0773デフォルトの名無しさん
2009/10/13(火) 15:27:25ActiveXかなんか?
0774デフォルトの名無しさん
2009/10/13(火) 15:41:42ここで回答を待つよりも賢明な方法がある
ぐぐれ
0775739
2009/10/13(火) 15:57:14ぐぐりながら今もいろいろ試してるけど全然ダメなんだ…
なんせC#自体ほとんど触ったことないから(´・ω・`)
0776デフォルトの名無しさん
2009/10/13(火) 16:13:10高速で比較して、異なる部分を抜き出す方法ってある?
0777デフォルトの名無しさん
2009/10/13(火) 16:19:540778デフォルトの名無しさん
2009/10/13(火) 16:23:32単純に差分でなくて、林檎と蜜柑の違いとか?
0779デフォルトの名無しさん
2009/10/13(火) 16:24:150780デフォルトの名無しさん
2009/10/13(火) 16:26:42バイナリで比較すればいい
0781デフォルトの名無しさん
2009/10/13(火) 16:30:32C#というよりプログラミング自体初心者に近いんじゃないのか?
横着しないでまず文法を理解しなさい
0783デフォルトの名無しさん
2009/10/13(火) 16:46:35基本的にCPUで処理する場合は1ピクセルずつ処理するしかないぞ。
せいぜいSSEなどのパックド命令を使うことだけどこれはC++でやるべきこと。
Graphics/Bitmapで差による描画がないようなら自前でやるしかないな。
Marshal.Copyを使えばそれほど難しいことではないだろう。
0784デフォルトの名無しさん
2009/10/13(火) 16:49:33Marshal.Copyの後、
forループで比較?
やっぱりこれしかない?
1280x1024 のbitmapの場合、0x500000の配列になるんだよね・・・
0785デフォルトの名無しさん
2009/10/13(火) 16:56:430786デフォルトの名無しさん
2009/10/13(火) 17:00:410787デフォルトの名無しさん
2009/10/13(火) 17:05:18今更1Mピクセルくらいなによ、って感じ。
>>785
C#はアンマネージドなバッファに対するアクセス法が3種類ほどあるが、
ポインタとしてアクセスするのはunsafeキーワードでも足りず、
プログラムのビルドオプションを変更する必要がある。
そうするとほかのモジュールとのリンクも影響を受けかねないし、
よほどボトルネックになってない限りはお勧めできない。
>>786
同意。
0789786
2009/10/13(火) 17:13:29最初はサンプリング部だけC++のモジュールに投げようと思ってたんだけど
試したら3%も早くならなかったので止めてC#で書いた
0790デフォルトの名無しさん
2009/10/13(火) 17:17:16一応、俺も類似画像検索ツール作ったことがある。
50x50サイズの画像を10000件検索したときは約5秒かかった。
0791デフォルトの名無しさん
2009/10/13(火) 17:19:13イメージ先行してるよなw
0792デフォルトの名無しさん
2009/10/13(火) 17:25:49画像なんてのは規則性がないからな
異なる部分を抜き出すだけなら
1ピクセルごとに比較するのが単純で速い
類似画像検索となると、それなりの手法がいるがな
0793デフォルトの名無しさん
2009/10/13(火) 18:08:42たとえば、どんな風にやるの?
0794デフォルトの名無しさん
2009/10/13(火) 18:26:07特徴ベクトルの中身や算出方法の具体的なアルゴリズムは説明しきれないから、
興味があるなら画像処理スレ行くとか、適当に論文を当たるとかしてくれ
0795デフォルトの名無しさん
2009/10/13(火) 18:30:36以前とあるマイナーな画像形式のコンバーターを作ったんだが、
可逆なはずの色域変換の逆変換でデータが化けてしまったときにお世話になった。
あ、そうだ。便乗質問するんだが、.NETの標準で対応してない画像形式のローダーを.NET向きに作るときって、
なにとして読めるように作ったらいいんだ?
汎用ローダーならIO.Streamでいいんだが……。
0796デフォルトの名無しさん
2009/10/13(火) 18:37:23WPFも視野に入れるなら……DIB的なもの
0797デフォルトの名無しさん
2009/10/13(火) 18:38:56同時処理以前にキーの送信もできてなかったのか。
そっちを先に聞くべきだったね。
フラッシュ側でどうやってキー入力とってるかにもよるんじゃないのかな。
試しにSendInput使ったら送れたけど、これだと送る前にフォーカスセットしなくちゃならないけど
それでもいいかな?ちなみにキーボードフォーカスはPC上で1つしか持てないから
このやりかただと同時は不可能
0798デフォルトの名無しさん
2009/10/13(火) 19:25:21WIC(Windows Imaging Component)
0799デフォルトの名無しさん
2009/10/13(火) 20:14:39切り替えとキーイベントなりキーコード送信を順番にやればいいだけだよ
0800デフォルトの名無しさん
2009/10/13(火) 21:19:460801デフォルトの名無しさん
2009/10/13(火) 21:20:280802デフォルトの名無しさん
2009/10/13(火) 21:58:18協調とは性格や考え方の違うもの同士が譲り合って調和をはかること
すなわち同調ではない。
自分と他人は違う人間なんだから、
十人十色、いろんな考え、趣味、価値観があって当然。
よく私たちは「誤解された」といって憤慨することがありますが、
そのような人は自分の考えをはっきりと発言しているのでしょうか。
自分の意見を明確に発言もしないで、誤解されたと憤慨するのは、
自分で一言も発言しないで「俺の考えていることを当てて見ろ」
と言っているのと同じことではありませんか。
お互いに自分の意見をもっとはっきり言うべきだと思います。
自己主張をするときに最も注意すべき点は、感情的にならないことです。
感情的になったら、勝ち負けを争っていることになります。
主張するときは冷静で、しかも論理的に話すことが求められます。
自分の常識が相手にも通じる時代は終わったのです。
自分と相手の常識は違うのです。よく言えば価値観が多様化してしまったのです。
0803デフォルトの名無しさん
2009/10/13(火) 22:05:180804デフォルトの名無しさん
2009/10/13(火) 22:06:05やたら綴りが多くてとてもじゃないけどふつうのテキストエディタでは書いてられない。
0805デフォルトの名無しさん
2009/10/13(火) 22:10:470806デフォルトの名無しさん
2009/10/13(火) 22:20:46っていうか、確かにシンどいです御免なさい勘弁してください。
ついでにサーバは秀丸+javac+JUnit+Antですた。御免なさい勘弁してください。
0807デフォルトの名無しさん
2009/10/13(火) 22:28:42VisualC#のために作られた言語だし
0808デフォルトの名無しさん
2009/10/13(火) 22:30:130809デフォルトの名無しさん
2009/10/13(火) 22:32:490810デフォルトの名無しさん
2009/10/13(火) 22:42:440811デフォルトの名無しさん
2009/10/13(火) 22:46:190812デフォルトの名無しさん
2009/10/13(火) 22:51:04お陰でC#という最高の言語の一つが出来たのだから。
0813デフォルトの名無しさん
2009/10/13(火) 22:54:51正直言って見限り気味
0814739
2009/10/13(火) 23:08:53ありがとう参考になった。sendinputは使ってなかったわ
とりあえず今日も一日頑張ったけど無理だった。方法としては
・フォームをKeyPreview = trueに設定する⇒特殊アプリ(swfとか)には無効
・KeyDown += delegate(object o, KeyEventArgs e)の後に普通に
ActiveControl = swf1;
ActiveControl = swf2;と処理⇒片方しかキー処理しない
・上記のswf2をスレッド処理⇒片方しかキー処理しない
そもそもキーの渡し方がわからんかったからこんな変な処理になった
もうお手上げ\(^o^)/
0815デフォルトの名無しさん
2009/10/13(火) 23:44:21C#が良いと後輩に教えてもらいました。
部下に指示するにしても、自分でまずやったほうがい良いと思い書き込みしてます。
どうやればいいでしょうか?
0816デフォルトの名無しさん
2009/10/13(火) 23:53:16騙されてるよ。
C#はCOMと相性が悪い。
普通にVBAでいい。
0817デフォルトの名無しさん
2009/10/13(火) 23:56:32お前は部下持ちなのに、自分の頭で考える能力も経験もないのか?
0818デフォルトの名無しさん
2009/10/13(火) 23:57:49なるほど。VBAを購入してマスターすればいいのですね。
大変参考になりました。60点です。
0819デフォルトの名無しさん
2009/10/14(水) 00:01:49おまえは0点だよw
0820デフォルトの名無しさん
2009/10/14(水) 00:08:14ふぅ〜む……。
Vistaでは標準で入ってるけどXPでは.NET Framework 3.5に同梱かぁ。
COMベースであるところが気に入らないが、HD Photoも対応してるようだし
サードパーティーが拡張できるようにすること前提になってるようだし、興味深いな。
WIC、使ったことある人があれば感想とか聞いてみたいね。
試して見る価値はあるような気がする。ありがとう。
ただ自分の使いたい用途とは必ずしも一致しない。
System.IO.Stream系で1行あたりのバイト数で区切られた
長方形状のメモリに直接読み書きできるようなクラスがあれば
それの形で実装できればなと思ってる。
0821デフォルトの名無しさん
2009/10/14(水) 00:08:50VBAを購入するのか
大変だなw
0822デフォルトの名無しさん
2009/10/14(水) 03:10:31たとえばApplication.cs から Option.cs を開くために
Application.cs[Design] で Option 項目を作成し
クリックされた時のイベントに何を書けば
Option のウィンドウを開くことができるのでしょうか?
0823デフォルトの名無しさん
2009/10/14(水) 04:29:07例えば、URLを右クリックして保存する時に出てくるウィンドウを設計する場合
まず、フォームにコンポーネントを追加していって
作業に必要なデータセットをつくって
次はイベント処理を作っていくのが一般的?
0824デフォルトの名無しさん
2009/10/14(水) 06:31:220825デフォルトの名無しさん
2009/10/14(水) 08:41:16Application.csからOption.csを開くって何?
C#ではソースコード同士を開いたりという概念は無いよ。
(コンパイルしたら実行時には関係なくなるから)
それから、その2つはFormを定義してるのかな?
それなら、そんなクラス名をつけるのはあまり一般的ではないよ。
Formクラスを継承するんだらMainFormとかそういう名前をつけるといい。
ちょっと基本的なレベルで突っ込みどころが多すぎるので、
まずは教科書どおりに書いてその意味を考えてもらえないだろうか。
0826815
2009/10/14(水) 10:03:19彼は左遷だと社長に直訴しました。私をだれだと思ってるんだまったく。
0827デフォルトの名無しさん
2009/10/14(水) 10:07:28お前論外。カエレ
0828デフォルトの名無しさん
2009/10/14(水) 10:08:210829デフォルトの名無しさん
2009/10/14(水) 10:20:460830デフォルトの名無しさん
2009/10/14(水) 11:35:190831デフォルトの名無しさん
2009/10/14(水) 12:13:59おまえみたいな仕事の出来ないSEが多くてかなわん
0832デフォルトの名無しさん
2009/10/14(水) 12:48:050833デフォルトの名無しさん
2009/10/14(水) 14:26:51レスありがとうございます。
共にFormクラスを継承していますので名前を変更しました。
まず、MainFormを作って次にOptionFormを作った場合
実行するとMainFormのみ表示されます。
実行時にOptionFormを表示するにはどのようにすれば良いのでしょうか?
0834デフォルトの名無しさん
2009/10/14(水) 14:30:57MainFormの代わりならnew MainForm() してるとこを探してみそ。
任意の時点なら、new OptionForm()して.ShowDialog()とか
0835デフォルトの名無しさん
2009/10/14(水) 14:31:42そこで引数として渡すFormを変更する
0836デフォルトの名無しさん
2009/10/14(水) 15:26:29できました。ありがとうございます。
0837デフォルトの名無しさん
2009/10/14(水) 20:32:330838デフォルトの名無しさん
2009/10/14(水) 20:47:280839デフォルトの名無しさん
2009/10/14(水) 20:52:25public class Bar:Foo{}
public class Baz:Foo{}
public class BarContainer{
public List<Bar> Children;
}
public class BazContainer{
public List<Baz> Children;
}
というクラスがあって、BarContainer と BazContainer の両方を扱えるように、
interface IParent<T> where T:Foo
{
List<Foo> Children;
}
public class BarContainer:IParent<Bar>{
public List<Bar> Children;
}
というのを定義したんですが、
var x=(IParent<Foo>)(new BarContainer());
とはできないんですね。
なんかいい方法ない?
0840デフォルトの名無しさん
2009/10/14(水) 20:55:030841デフォルトの名無しさん
2009/10/14(水) 21:01:02http://msdn.microsoft.com/ja-jp/library/ms228359.aspx
その問題についてはこの記事が詳しい
MSDNの中でも指折りの良質な記事だと思う
0842デフォルトの名無しさん
2009/10/14(水) 21:21:22public abstract class Foo { }
public class Bar : Foo { }
public class Baz : Foo { }
interface IParent<T> where T : Foo {
List<T> Children { get; set; }
}
public class MyContainer<T> : IParent<T> where T : Foo {
List<T> lis;
public List<T> Children {
get { return lis; }
set { lis = value; }
}
}
class Program {
static void Main(string[] args) {
var x = (IParent<Foo>)(new MyContainer<Bar>());
var y = (IParent<Foo>)(new MyContainer<Baz>());
}
}
という話ではないのか?と思ったんだが、違うのか。
0843デフォルトの名無しさん
2009/10/14(水) 21:25:35理由は>>843を嫁
0844デフォルトの名無しさん
2009/10/14(水) 21:27:37質問があります。
今座席表を簡単なものを作っています。
ラベルで席の場所を作り、その中に名前を入れておくのですが
このときの名前はForm2にメンバー表をテキストボックスで作っておき
それに対応したラベルをForm1で参照して表示にしようと思っています。
そして、Form2のテキストボックスの名前を変えて保存ボタンを
押せば簡単に席替えしたときに変えられる
と言うな物を作りたいのですが。
�@Form1からForm2のテキストボックスが参照できない
�Aexeで起動したときテキストボックスの中身を入力で替えたとき
保存は出来るのか?
以上を教えてください。なお、あまりよくない作りになりそうでしたら
そこも助言いただけるとうれしいです
0845839
2009/10/14(水) 21:32:23>>840
ごめん、サンプルでは簡略化のために省きましたが、
Bar/BazContainer には基底クラスがあるので、その手は使えないっす。
>>841
ビンゴなレスありがとう。お礼にフェラチオしてやりたいくらいだ。
でも、記事内容がちょっと俺には高度っぽい。
理解できるだろうか。
>>842
>System.InvalidCastException はハンドルされませんでした。
>Message="型 'ConsoleApplication1.MyContainer`1[ConsoleApplication1.Bar]' のオブジェクトを型 'ConsoleApplication1.IParent`1[ConsoleApplication1.Foo]' にキャストできません。"
0846デフォルトの名無しさん
2009/10/14(水) 21:33:25フォーム等の特定の入出力に依存しない座席表クラスを作って,
そのインスタンスを両方のフォームから参照する。
保存や読み込みもそのインスタンスだけ。
0847デフォルトの名無しさん
2009/10/14(水) 21:38:38よく見てないけど、
C#4.0でサポートされるジェネリックの共変・反変性と関係するのかな?
ちと調べてみる。
0848デフォルトの名無しさん
2009/10/14(水) 21:40:23List<T>は書き込みと読み取りの両方の操作をサポートしているので共変も反変も使えない
0849842
2009/10/14(水) 21:48:140850デフォルトの名無しさん
2009/10/14(水) 21:53:51なるほどテキストボックスとかで貼り付けたのを使うのでなく
あくまでもプログラムで参照させるやり方ですね?
初心者で申し訳ないですが
座席表クラスには座席番号と氏名を入れて
それを対応したラベルなりに表示させるようにして
変更時は
Form2に保存ボタンを作り名前が入ってるテキストボックスに入力させて
ボタン押してプログラムに上書きをさせていく感じでしょうか?
一応座席が76個ほどあります・・・・
初心者ですいません。
0851デフォルトの名無しさん
2009/10/14(水) 22:30:41初心者スレで初心者ですみませんとか何度も言われると煽られているのかと思ってしまう。
それはさておき、>>846の言うことがよく理解できないなら
テキストボックスを参照させたいならテキストボックスのアクセシビリティを
デフォルトの private から internal とかに上げる方法もある。
0852デフォルトの名無しさん
2009/10/14(水) 22:41:45<asp:FormView ID="formView1" runat="server">
<ItemTemplate>
・・・・
<asp:Panel ID = panel1 runat="server">
・・・・
コードの概要は上記のような形で.cs側でpanle1のvisibleを制御したいんだけどやりかたがわかりませんでした。
調べたら恐らくできるんだろうことはわかったんですが・・・
試したことは
Panel pnl = (Panel)formview1.findcontrol("panel1");
これでpnlがnullになってしまいます
Panel pnl = (Panel)formview1.row.findcontrol("panel1");
rowに何もはいってません
なんか推測でも理由分かる人いたらおねがいします
0853デフォルトの名無しさん
2009/10/14(水) 22:42:55一個一個入力という意味?それでも問題ないけど。
一例として入力フォームはダイアログボックスとして席の位置に76個のテキストボックスを配置。
モーダル表示した時に846の座席表クラスの76個のString(配列とかリストとか)からそれぞれ貼り付け。
変更後にOKボタンで逆に座席表クラスに取り込む。Cancelなら内容は破棄。
なんてのはどう?
モーダルにしない場合、他の画面で更新かかったときに動的に書き換えたりと初心者の範疇を越えてしまう。
0854850
2009/10/14(水) 23:04:07ごめんなさいそういうつもりは一切ありません。
言わんとしてることは分かるのですが、どうも説明したり
口で言うのが苦手なのでうまくまとめられてないです。
internal明日会社で調べてみます!ありがとうございます。
>>853
ダイアログ使ったことないんでちょっと調べてみて
参考にしたいと思います!
しない場合は難易度アップなんですね・・・
明日会社で検討してみます!
ありがとうございます。
またクルかと思いますが申し訳ないですがそのときはよろしくお願いします。
0855デフォルトの名無しさん
2009/10/14(水) 23:19:30スレが終了してしまったのでこちらで再質問させていただきます。
-------------------------------------------------
ArrayList.Add でリストの最後ではなく
リストの最初に追加するにはどうすれば良いですか?
-------------------------------------------------
995 名前:デフォルトの名無しさん[sage] 投稿日:2009/10/14(水) 20:20:40
関係ないけど今更ArrayListなんか使うな
1000 名前:デフォルトの名無しさん[sage] 投稿日:2009/10/14(水) 20:47:19
List<T>
というレスをもらいましたが、Listでも
リストの最初に要素を追加する方法はわかりませんでした。
回答いただけたら大変助かります。
0856デフォルトの名無しさん
2009/10/14(水) 23:25:16http://pc12.2ch.net/test/read.cgi/tech/1255530225/
立てといた
0857デフォルトの名無しさん
2009/10/14(水) 23:26:05994でレスもらってるじゃねーか
>>856
乙
0858デフォルトの名無しさん
2009/10/14(水) 23:26:40list.Insert(0, x);
0859デフォルトの名無しさん
2009/10/14(水) 23:27:02Insert
↑なんでこれみてないの?これ答えたの俺じゃないけど、答えそのままじゃん。
List<T> でも同じ名前と同じやり方だよ。
0860デフォルトの名無しさん
2009/10/14(水) 23:28:010861デフォルトの名無しさん
2009/10/14(水) 23:28:400862デフォルトの名無しさん
2009/10/14(水) 23:32:260863デフォルトの名無しさん
2009/10/14(水) 23:38:18アンカーも付いてないのになんでもくそもないわ。
答える側の能力が低いだけだ。
0864デフォルトの名無しさん
2009/10/14(水) 23:44:04ほかに混同するレスもないのに
0865デフォルトの名無しさん
2009/10/15(木) 00:02:10c:\data\a\bad02.jpg
c:\data\a\other03.txt
c:\data\b\good04.jpg
c:\data\b\bad05.jpg
c:\data\b\music06.mp3
c:\data\c\good07.jpg
c:\data\c\bad08.jpg
のような構造から、goodのjpgだけ抜き出したいと考えました。
string[] photofiles;
string[] allphotofiles = Directory.GetFiles(@"c:\data", "*.jpg", SearchOption.AllDirectories);
string photolist;
foreach(string allphotofile in allphotofiles) {
if (allphotofile.Contains("good)){
photolist = photolist + allphotofile + "\n";
}
}
photofiles = photolist.Split('\n');
でできているのですが、ひどく無駄な処理をしている気がしてます。
こういうときに、LINQを使うとスマートになるんですか?
0866デフォルトの名無しさん
2009/10/15(木) 00:07:43別にLINQ使ったからって大して変わるわけでもないけど。
0867デフォルトの名無しさん
2009/10/15(木) 00:13:15もう一度配列にしているのが無駄な気がしてます。
直接配列に入らないのかな〜と。
あと、LINQはこのあいだ盛り上がっていたのと、
まだ使ったことがないので、なんとなくあこがれて。
0868デフォルトの名無しさん
2009/10/15(木) 00:15:52目的の機能を達成すれば全ておk
好きな方法を使え
0869デフォルトの名無しさん
2009/10/15(木) 00:17:04あ、ほんとだ。
すいません、2回ぐらい見たはずなのに
自分へのレスだと気づけませんでした…。
0870デフォルトの名無しさん
2009/10/15(木) 00:17:55こうはできないんだっけ
0871デフォルトの名無しさん
2009/10/15(木) 00:27:43まあそうなんだけどさ、それは分かってる側の理屈だよね。
もちろん答える側の自由なんだけど、せっかく答えたのに
相手に伝わらなければもったいないよ。
質問内容で明らかにかなりの初心者だってわかるんだし、
その僅かな気配りが出来るか出来ないかで能力に雲泥の差が出るよね。
0872デフォルトの名無しさん
2009/10/15(木) 00:27:52.Select(f => new FileInfo(f));
でできるよ。
0873デフォルトの名無しさん
2009/10/15(木) 00:36:25自分宛じゃないからって無視する精神の方がおかしいわ
0874デフォルトの名無しさん
2009/10/15(木) 00:37:170875874
2009/10/15(木) 00:39:370876デフォルトの名無しさん
2009/10/15(木) 00:47:05うん、だからさ、その程度の事はアンカーを付ければ
簡単に避けれるのは理解できるかな?
決して気づかなかった無能な初心者を庇っている訳ではないんです。
0877デフォルトの名無しさん
2009/10/15(木) 00:54:40まあ、日本人は説明能力が欠如してる人間が多すぎるからね。
質問側にも回答側にも、本人とエスパー以外に読解不可能な文章を平気で書いて
それで人に伝わるつもりになってる奴が多すぎる。
明らかに教育の問題だな。
まあ、君がもし回答者は質問者に親切に<すべき>と思ってるなら、
そういうクレーマーチックな押し付けがましい考えもどうかと思うけど。
0878デフォルトの名無しさん
2009/10/15(木) 01:12:38病院、診療所の検索システムを作成しています。
病院の検索ボックスに、例えば「ちゅうおう」と入力すると、
文字列変換前に、右手のパネルに「ちゅうおう」のフリガナを含む全病院、診療所が表示され、
そこで、Enterキーで確定させる前に、
Tabキーまたは右カーソルキーの押下で右手のパネルにフォーカスを移したいと思っています。
Enterキーで確定後に右手にフォーカス遷移させることはできたのですが、
確定させる前の、入力文字列に点線の下線がある状態で、
Tabキーまたは右カーソルを検出し、フォーカスを移動させたいんです。
それは可能でしょうか?
もしできるなら、どのようなコーディングになるのでしょうか。
教えてください。よろしくお願いします。
0879デフォルトの名無しさん
2009/10/15(木) 01:39:01直後に書いた答えに説明力不足もくそもない。
一言使うメソッド教えるのに説明力不足もくそもない。
読解不可能な答えでも何でもない。
0880デフォルトの名無しさん
2009/10/15(木) 01:45:05System.IO.FileInfoって、配列じゃなくない?
>>870
できそうなのですが、条件を間違えてました…。
c:\data\a\good\photo01.jpg
c:\data\a\bad\photo02.jpg
c:\data\a\other\text03.txt
c:\data\b\good\photo04.jpg
c:\data\b\bad\photo05.jpg
c:\data\b\music\music06.mp3
c:\data\c\good\photo07.jpg
c:\data\c\bad\photo08.jpg
でした。
Directory.GetFiles(@"c:\data", @"\good\*.jpg", SearchOption.AllDirectories);
とかやったけどだめっぽい。
0881デフォルトの名無しさん
2009/10/15(木) 01:49:10後輩に嫌われそうなタイプだなw
0882デフォルトの名無しさん
2009/10/15(木) 01:51:35簡単にアクセス出来るクラスとか無いの?
COM使った実装は実現出来ているんだけどもっと簡単な方法が無いかなって思っての質問だけど
0883デフォルトの名無しさん
2009/10/15(木) 01:54:48Shell32とか使えば多少は楽になるかも知れんがまあ大差なかろ
0884デフォルトの名無しさん
2009/10/15(木) 01:56:14ここは2ちゃん
0885デフォルトの名無しさん
2009/10/15(木) 02:00:53サンクス
なんかこの当たりもっと対応して欲しいよね
C#は先進の技術で作られているのにM$純正のアプリですらレガシーな技術を使わないとアクセス出来ないとか意味不明すぎる
IEに至っては構造が歪すぎて本来COMで提供されているべき機能がWindowMessageを使わないとアクセス出来ない機能まであるし
0886デフォルトの名無しさん
2009/10/15(木) 02:03:40パスに含まれる、ならそりゃ第二引数は使えない これはファイル名のフィルタだから
Whereなりif文なり自分で分けるしかないな
Selectは型の変換 IEnumerable<TInput>をIEnumerable<TOutput>にする
GetFilesならstring[] : IEnumerable<string> で、
SelectでそれぞれのstringがそれぞれFileInfoに置き換えられてIEnumerable<FileInfo>を返す
まあFileInfoがいらないならこのSelect文は不要だな
取り敢えず\nでくっつけて後でSplitはあり得ない
List<string>にAddしていくようにすれば良いんじゃね
0887デフォルトの名無しさん
2009/10/15(木) 02:05:38他のプロセスの内容をのぞき見るとか、マネージドという方向性とは正反対じゃねーか
0888デフォルトの名無しさん
2009/10/15(木) 02:08:14それも含めて言ってる
0889デフォルトの名無しさん
2009/10/15(木) 02:11:45いやいやw自分のアセンブリから他のアセンブリのパブリックメソッドを呼び出すのは実にマネージド的じゃんw
IEがアセンブリでちゃんとそう言うメソッドを公開していれば
ブラックボックスになっている他プロセスをわざわざ覗き見る必要なんてないじゃんかよ?w
0890デフォルトの名無しさん
2009/10/15(木) 02:21:11・GetDirectories()→GetFiles()の2段階にする
・条件緩めてGetFiles()→自前でフィルタ
のどちらかだろうな
とりあえず前者をLINQで書いてみた (SelectMany便利だねぇ)
Directory.GetDirectories(@"c:\data", "good", SearchOption.AllDirectories)
.SelectMany(d => Directory.GetFiles(d, "*.jpg"))
0891デフォルトの名無しさん
2009/10/15(木) 03:17:44\nでくっつけて後でSplitはあり得ない
自分でもそう思います。はい。レベルアップしたいです。
List<string>を試してみます。
List<string>って、ListBoxと扱いはいっしょ?
>>890
これがLINQですか…。
string[] photofiles = Directory.GetDirectories(@"c:\data", "good", SearchOption.AllDirectories)
.SelectMany(d => Directory.GetFiles(d, "*.jpg"))
だと、
型 'System.Collections.Generic.IEnumerable<string>' を 'string[]' に暗黙的に変換できません。明示的な変換が存在します。(cast が不足していないかどうかを確認してください)
なんですけど、この変換が、886さんのいう型変換ですか?
0892デフォルトの名無しさん
2009/10/15(木) 04:07:29列挙子(IEnumerable<string>)が返されるってのはLINQの重要なポイントなんで、今は分からなくとも頭の隅に置いとくといい。
string[] photofiles = Directory.GetDirectories(@"c:\data", "good", SearchOption.AllDirectories)
.SelectMany(d => Directory.GetFiles(d, "*.jpg")).ToArray();
0893デフォルトの名無しさん
2009/10/15(木) 06:05:10個人的な意見だが
今のレベルではLINQ理解しようとしてもただただ混乱が増えるだけに見える。
勉強目的ならば、Listを使って>>865を改善できるように頑張った方がいい
LINQにこだわりたいのならば、誰かに作ってもらった動くものを
今はコピペするだけにとどめておいた方がいい
と思う。
あと変数名の付け方もちょっと気になる
0894デフォルトの名無しさん
2009/10/15(木) 06:26:23ToArray()
もうちった勉強しろ
0895デフォルトの名無しさん
2009/10/15(木) 06:42:22ですが、どなたかご存知ではないでしょうか?
これができれば使いやすくなるのですが…。
0896デフォルトの名無しさん
2009/10/15(木) 07:07:22というかそれ使いやすいか?
0897デフォルトの名無しさん
2009/10/15(木) 07:16:59今はどうだかしらんが
0898デフォルトの名無しさん
2009/10/15(木) 08:15:47そんなIMEの実装に依存するような動作はやめたほうがいいと思う。
MS-IMEは変換中のキー入力の起動を任意にカスタマイズできるし、
ほかのIMEが入ってる環境ならなおさらだ。
0899デフォルトの名無しさん
2009/10/15(木) 09:19:57?
0900デフォルトの名無しさん
2009/10/15(木) 11:21:29表示される文字とは別にKeyDownイベントで
キー入力だけチェックするのはどうよ
「ちゅうおう」って打ってる後ろで
[chuuou]って取得しつつ検索結果を常に別窓に表示する
0901デフォルトの名無しさん
2009/10/15(木) 12:00:03個人的には>>898,896と同感
あと
>右手のパネルに「ちゅうおう」のフリガナを含む全病院、診療所が表示され、
って、それは読み仮名検索を実装していて病院名検索とは別のもの、ってこと?
>>900
それは、後々整合性保つのがめんどくなっていくと思うなあ
0902デフォルトの名無しさん
2009/10/15(木) 12:05:53(どうやってブラウザで確定前の入力が取れるのかが激しく謎だが)
便利かなと思わないでもないが、確定前に候補が出てくるので
今入力中の検索ワードを確定したらいいのかせんでいいのか迷ってしまう感じ。
0903デフォルトの名無しさん
2009/10/15(木) 12:20:26いやまあ根本的に同じものなんだけどさ
まあアレはブラウザのサイズによってはすごくキモイ挙動になるけど・・・
クリックでも、確定してから矢印キー操作でもお好きな方でどうぞ。
ブラウザ上だったら、タイマー使って簡単に実現できるよ
DOMからvalueの中身を見るだけで未確定でも取ってこれる。
0904デフォルトの名無しさん
2009/10/15(木) 12:48:440905デフォルトの名無しさん
2009/10/15(木) 12:53:00ユーザーに『パン作った少年』と変換・入力させて、
『パンツ食った少年』が入力されればMS-IME :)
0906デフォルトの名無しさん
2009/10/15(木) 13:07:25すでに修正変換していた場合、むりだろw
0907デフォルトの名無しさん
2009/10/15(木) 13:12:440908デフォルトの名無しさん
2009/10/15(木) 13:20:010909デフォルトの名無しさん
2009/10/15(木) 17:46:39できました。動きました。大感謝。
>>893
おっしゃるとおり。LINQはとりあえず892さんの作っていただいたのを眺めながら勉強したいと思います。
そう、そのまえに自分ではListをやってみないと。
Listで865を直してみます。
>>894
わかった!
ありがと。勉強するぜっ!
0910850
2009/10/15(木) 19:00:53なんとか参照して表示までこぎつけましたが内部はかなりへんてこなきがします
どうなのでしょうか
public class zasseki
{
public string zs1()
{
string a = "名前";
return a;
}
と言うのを73個作り
newを使いクラス生成
そして、form1に
public void Form1_Load(object sender, System.EventArgs e)
{
label1.Text = zsk.zs1();
とずらーっと入れました。
なんか他にも出来そうですが一応表示は出来てるので
このまま進めてもいいんでしょうか
0911デフォルトの名無しさん
2009/10/15(木) 19:03:04/' ! ━━┓┃┃
-‐'―ニ二二二二ニ>ヽ、 ┃ ━━━━━━━━
ァ /,,ィ=-;;,,, , ,,_ ト-、 ) ┃ ┃┃┃
' Y ー==j 〈,,二,゙ ! ) 。 ┛
ゝ. {、 - ,. ヾ "^ } } ゚ 。
) ,. ‘-,,' ≦ 三
ゞ, ∧ヾ ゝ'゚ ≦ 三 ゚。 ゚
'=-/ ヽ゚ 。≧ 三 ==-
/ |ヽ \-ァ, ≧=- 。
! \ イレ,、 >三 。゚ ・ ゚
| >≦`Vヾ ヾ ≧
〉 ,く 。゚ /。・イハ 、、 `ミ 。 ゚ 。 ・
0912デフォルトの名無しさん
2009/10/15(木) 19:03:450913デフォルトの名無しさん
2009/10/15(木) 19:06:440914デフォルトの名無しさん
2009/10/15(木) 19:12:140915デフォルトの名無しさん
2009/10/15(木) 19:15:36もうどこから指摘して良いのやら全然ダメなやり方です
C#の本を1冊買って読みながら作った方がいいと思うよ
基礎をおろそかにしては次のステップへは進めない
0916デフォルトの名無しさん
2009/10/15(木) 19:20:190917デフォルトの名無しさん
2009/10/15(木) 19:28:270918デフォルトの名無しさん
2009/10/15(木) 19:31:55配列
でググろうか
0919デフォルトの名無しさん
2009/10/15(木) 19:32:49あたって砕けて覚えていくのが楽しいものですといいたが、苦労したくなかったら本読め
0920デフォルトの名無しさん
2009/10/15(木) 19:44:2870も同じコード書いてたらなんかおかしいって思うだろ普通
0921デフォルトの名無しさん
2009/10/15(木) 19:51:18初心者とか以前に最低限、初心者用の本を読むとかアルゴリズムの入門編くらいは知っておけよ
0922デフォルトの名無しさん
2009/10/15(木) 19:52:46どのような方法があるでしょうか?
右クリック、コピペでの貼り付けは考えなくて結構です。
0923デフォルトの名無しさん
2009/10/15(木) 20:11:09Validatingとか
0924デフォルトの名無しさん
2009/10/15(木) 20:18:59死んだほうがいいですかね。
0925デフォルトの名無しさん
2009/10/15(木) 20:21:03まじめに会社を辞めようかとも思ってます。ありがとうございます
0926デフォルトの名無しさん
2009/10/15(木) 20:26:36二つ質問があるんだけど
本は読んでいますか?読んでいれば何という本を読んでいますか?
0927デフォルトの名無しさん
2009/10/15(木) 20:29:50読んでいる最中で
猫でもわかるのC#を読んでいます。
やってるときは普通にこれじゃ意味ないなとか思ってたんですが
どうしたらいいか分からず上のようになっています。
ちゃんと読んで、サンプルも作ったり改造したりしてるのですが
全然だめですね。ほんとに死にたくなると同時に無能さを感じました。
0928デフォルトの名無しさん
2009/10/15(木) 20:31:00うそ、だろ・・・
俺も8月頃C#始めたけど(勉強のためにこのスレ見てる)
さすがに配列くらいわかるわ・・・
0929デフォルトの名無しさん
2009/10/15(木) 20:34:11910の場合、本読んでるなら本の影響だろ
0930デフォルトの名無しさん
2009/10/15(木) 20:39:450931デフォルトの名無しさん
2009/10/15(木) 20:45:55発生しない状態になったときは
InvalidOperationException 投げておけばいい?
それとも、ApplicationException?
0932デフォルトの名無しさん
2009/10/15(木) 20:54:17その状態ってのが具体的にどういう場合なのか
引数がおかしければInvalidArgumentだし
メンバが変な値になってればInvalidOperationだし
なんかアプリ固有の例外を投げるべきかも知れないし
どんな例外もピンと来ない場合はなんとなくInvalidOperation投げることもあるけど
ApplicationExceptionは元々アプリ固有の例外を定義するための基底クラスとして用意されてた
ただし全部Exceptionから派生するようにガイドラインが変更されたので死にクラス
0933デフォルトの名無しさん
2009/10/15(木) 21:02:54InvalidArgumentExceptionやInvalidOperationExceptionのようないい加減な例外を投げておくべき。
わざわざ固有の型を作るとキャッチしてくれという意味に取られかねない。
0934デフォルトの名無しさん
2009/10/15(木) 21:08:02KeyPress() イベントで e.KeyChar と e.Handled を使ってふんだらら。
ごめん。詳しくは覚えてない。
0935デフォルトの名無しさん
2009/10/15(木) 21:08:34呼び出し側のForm
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm = new Form2();
frm.ZassekiEvent += Sekigae;
frm.Show();
}
private void Sekigae(object sender, EventArgs e)
{
var txtBox = sender as TextBox;
if (txtBox != null)
{
this.Controls.OfType<TextBox>()
.Where(t => t.Name == txtBox.Name)
.Single().Text = txtBox.Text;
}
}
}
0936デフォルトの名無しさん
2009/10/15(木) 21:09:55駄作だがうけとってくれw
public partial class Form2 : Form
{
public delegate void ZassekiEventHandler(object sender, EventArgs e);
public event ZassekiEventHandler ZassekiEvent;
public Form2()
{
InitializeComponent();
foreach (var txt in this.Controls.OfType<TextBox>())
{
txt.TextChanged += new EventHandler(zasseki_TextChanged);
}
}
void zasseki_TextChanged(object sender, EventArgs e)
{
ZassekiEvent(sender, e);
}
}
0937デフォルトの名無しさん
2009/10/15(木) 21:12:07Form1.TextBox1とForm2.TextBox1がつがいになる。
保存を考えたら外部のリソースにたいしてバインドするほうがいいだろうな。
0938デフォルトの名無しさん
2009/10/15(木) 22:16:340939デフォルトの名無しさん
2009/10/15(木) 22:19:36いわゆるデータバインディングなどを使うかどうかは別にして
0940デフォルトの名無しさん
2009/10/15(木) 22:19:480941デフォルトの名無しさん
2009/10/15(木) 22:24:490942デフォルトの名無しさん
2009/10/15(木) 22:31:27どうせイベントとか使ってる時点で理解できないだろうから短く貼ってくれた方がいい
0943デフォルトの名無しさん
2009/10/15(木) 22:34:540944デフォルトの名無しさん
2009/10/15(木) 22:37:24そっちの方が横に長くなると思うけど
0945デフォルトの名無しさん
2009/10/15(木) 22:44:450946942
2009/10/15(木) 22:45:52たぶんイベント使ってるのが難しいと言いたいんだろうな
0947デフォルトの名無しさん
2009/10/15(木) 22:56:42配列、入出力あたりは早めに覚えておきたい。
0948942
2009/10/15(木) 23:01:34そこまでして無理に今やることはないと思うぞ
さっさとオブジェクト指向の勉強とか済ませてしまった方が早い
0949デフォルトの名無しさん
2009/10/15(木) 23:52:320950デフォルトの名無しさん
2009/10/15(木) 23:53:55別に売れないかなw
0951デフォルトの名無しさん
2009/10/15(木) 23:56:38保存はどうするの?
0952デフォルトの名無しさん
2009/10/15(木) 23:56:46面倒でしょ?そんな時に配列!ってか
0953デフォルトの名無しさん
2009/10/15(木) 23:58:580954942
2009/10/16(金) 00:00:240955デフォルトの名無しさん
2009/10/16(金) 00:01:56○最低限の知識
0956デフォルトの名無しさん
2009/10/16(金) 00:07:030957デフォルトの名無しさん
2009/10/16(金) 00:12:35を参考にして、ファイルをゴミ箱に入れようとしています。
ダイアログを出さないようにフラグを
sh.fFlags = Shell.FOFlags.FOF_NOCONFIRMATION ;
に変えたら、ゴミ箱に入らずに消えてしまいました。
ダイアログを出さないようにゴミ箱に入れるには、FOF_ALLOWUNDOも同時に指定する必要があると思うんですが、
+でつなげても0x0050にしてもエラーが出てしまいます。
同時指定のやり方を教えてもらえませんか。
0958デフォルトの名無しさん
2009/10/16(金) 00:17:32孤独のグルメ
0959デフォルトの名無しさん
2009/10/16(金) 00:24:020960デフォルトの名無しさん
2009/10/16(金) 00:36:42組み合わせ可能な列挙体を組み合わせるのはビットごとの論理和演算子である | を使う
0961デフォルトの名無しさん
2009/10/16(金) 00:52:36あっさりと想定通りの動きをしました。
ありがとうございました。
0962デフォルトの名無しさん
2009/10/16(金) 01:02:35設計と命名以外でダメ出してみる (×:MUST be fixed、△:SHOULD be fixed)
×Form2.ZassekiEventイベントのソースがForm2のインスタンスじゃない
→ ソースはそのイベントを定義している型かその派生にする
×Form2でZassekiEventがnullのときにNullReferenceException
→ nullチェックを入れるかnullにならないようにする
△ZassekiEventHandlerのシグネチャがEventHandlerと同じ
→ 単に無駄というだけでなく、EventHandlerには「イベントデータが無い」という意味がある
△Form1.Sekigaeメソッド内のWhere(...).Single()は無駄
→ Single、Firstなどには条件を指定できるオーバーロードがある
0963デフォルトの名無しさん
2009/10/16(金) 01:05:540964デフォルトの名無しさん
2009/10/16(金) 01:29:350965デフォルトの名無しさん
2009/10/16(金) 02:05:32おれはプログラミングはじめて1ヶ月でAPIを駆使して
winnyのリストボックスの内容を取得して
ハッシュを収集したり無視したり自動でキャッシュ削除するソフトを作ったよ
向いている向いてないがあるんだろうな
0966965
2009/10/16(金) 02:11:57おれはまず文法を一通り読んだ
それでわからなかったら、初心者サイトで調べ、それでもわからなければ
別の初心者サイトを見る。
わからないことをわからないままで横着して進めようと焦る気持ちはわかるが
他と違って、プログラミングはコツコツ覚えていくしかない
体で覚えていこうなんてするなよ
0967デフォルトの名無しさん
2009/10/16(金) 03:02:00みんなお前みたいに暇じゃないんだよw
一ヶ月根詰めればそれぐらい出来るわ
0968965
2009/10/16(金) 03:16:120969デフォルトの名無しさん
2009/10/16(金) 07:09:02最初に作りたい物が決まってるならこの方が早い
そのあと詰まった所で随時調べる
0970デフォルトの名無しさん
2009/10/16(金) 07:35:24指摘thx
>>→ ソースはそのイベントを定義している型かその派生にする
プロパティでget/setできればOK?
>>→ nullチェックを入れるかnullにならないようにする
このケースでnullになるかな?けれどもnullチェックはしたほうがいいね。
>>単に無駄というだけでなく、EventHandlerには「イベントデータが無い」という意味がある
よくわからん。
>> Single、Firstなどには条件を指定できるオーバーロードがある
Whereいらなかったね。ひとつ賢くなった。
0971デフォルトの名無しさん
2009/10/16(金) 08:39:020972デフォルトの名無しさん
2009/10/16(金) 10:28:50同じような動作をするものでunsafeしないでC#で行うことはできますか?
厳密なメモリアドレスへの操作というわけじゃなくて
あるカプセルの参照と値を持つカプセルを関連付けていければいいだけなんだけど
0973デフォルトの名無しさん
2009/10/16(金) 10:35:20LinkedListでも何でも好きなの使えよ
0974デフォルトの名無しさん
2009/10/16(金) 10:36:27Dictionary<TKey,TValue>で両方に参照同じ渡せば。
0975デフォルトの名無しさん
2009/10/16(金) 10:42:57そのクラスを利用する場合
フォルダ名.クラス名
としなければなりませんよね?
でも、パっと見でフォルダ名なのかクラス名なのかがわかりにくいと思いませんか?
わざわざフォルダ名を書かなければいけないのっておかしい気がするのですが
0976デフォルトの名無しさん
2009/10/16(金) 10:44:19VSに文句言う前に言語仕様から理解しような
0977デフォルトの名無しさん
2009/10/16(金) 10:47:07があり、TxtReaderをSystemフォルダにいれた場合
System.TxtReader
と書くと、Systemはフォルダ名なのかクラス名なのかわかりにくくないですか?
0978デフォルトの名無しさん
2009/10/16(金) 10:48:21じゃあ、フォルダの数だけnamespaceを作れと?
namespaceを大量生産するってそれこそありえないと思うんだけど
0979デフォルトの名無しさん
2009/10/16(金) 10:48:320980デフォルトの名無しさん
2009/10/16(金) 10:49:57馬鹿としか言えない。
0981デフォルトの名無しさん
2009/10/16(金) 10:50:23誰もユニークにしろとは言ってないぞw
0982デフォルトの名無しさん
2009/10/16(金) 10:51:300983デフォルトの名無しさん
2009/10/16(金) 10:52:48これの"IO"はフォルダ名なのかクラス名なのか分かりにくいだろうか。
0984デフォルトの名無しさん
2009/10/16(金) 10:55:03そんな用語はない
VSがフォルダと同じ名前の名前空間を自動生成しているだけ
0985デフォルトの名無しさん
2009/10/16(金) 10:55:15お前が何を悩んでいてどうしたいのかさっぱり分からない。
C#はjavaと違って好きに名前空間を指定出来るぞ。
俺はフォルダ名と一緒が一番いいと思うが。
0986デフォルトの名無しさん
2009/10/16(金) 10:56:100987デフォルトの名無しさん
2009/10/16(金) 10:57:08そういうことかわかった^^
0988デフォルトの名無しさん
2009/10/16(金) 10:59:020989デフォルトの名無しさん
2009/10/16(金) 11:13:07そんな規則はない。
コーディング規約的にnamespaceとディレクトリ配置が一致していることが望ましいだけ。
間違った思い込みをする前に、MSDNで一次情報に当たる習慣をつけよう。
0990デフォルトの名無しさん
2009/10/16(金) 12:58:02名前空間とクラスとプロパティを見分けることはできないんだけど
実際それで困ることある? だいたい分かるじゃん
java.lang.System.outとかキモい
0991デフォルトの名無しさん
2009/10/16(金) 15:07:04カーソルでポイントすればヒントが表示されるみたいな
0992デフォルトの名無しさん
2009/10/16(金) 15:11:42大文字と小文字を入れ替えたら名前が見つかってエラーがでなくときは、自動で修正してほしいもんだ
0993デフォルトの名無しさん
2009/10/16(金) 15:39:45Visual Studioでもできるだろう、と。
でも今はインテリセンスあるからいらない。みんな最初から候補に出てくる。
0994デフォルトの名無しさん
2009/10/16(金) 15:44:02VBは実際にそれやってくれる
C#は大文字と小文字を区別するのでわざとその機能は付けてないんだと思う
仮に現在大文字と小文字だけが違う複数の名前が無かったとしても,
そういう機能があるとつい無頓着になってミスが発生しやすいからね
0995デフォルトの名無しさん
2009/10/16(金) 16:03:59なぜ区別するようにしたんだろうな
publicの場合は先頭だけ大文字、privateは小文字って決め付ければいいのに
0996デフォルトの名無しさん
2009/10/16(金) 16:05:58それとVBとの差別化
0997デフォルトの名無しさん
2009/10/16(金) 16:39:12List<string> photolists = new List<string>();
string[] photofiles = Directory.GetFiles(@"c:\data", "*.jpg", SearchOption.AllDirectories);
foreach(string photofile in photofiles) {
if (photofile.Contains("good")){
photolists.Add(photofile);
}
}
すこし書いてみました。動作のテストもしました。
List<>とstring[]とふたつ使っているところが、まだいまいちな気がします。
もっとスマートになりますよね?
foreachを使わず直接配列を追加することは可能ですか?
0998デフォルトの名無しさん
2009/10/16(金) 16:50:35次のステップはContains("good")をメソッドに取り出した上でArray.FindAll、辺りかな
この場合はList<T>の出番が無くなるけど
0999デフォルトの名無しさん
2009/10/16(金) 16:52:02var goodphotos = photofiles.Select(photofile => photofile.Contains("good"));
photolists.AddRange(goodphotos);
1000999
2009/10/16(金) 16:52:4310011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。