C#, C♯, C#相談室 Part54
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2009/08/22(土) 12:32:03前スレ
C#, C♯, C#相談室 Part53
http://pc12.2ch.net/test/read.cgi/tech/1245150671/
Visual C# 2008 Express Edition 日本語版
http://www.microsoft.com/japan/msdn/vstudio/express/vcsharp/
その他テンプレ>>2-5くらい
0002デフォルトの名無しさん
2009/08/22(土) 12:33:24ふらっとC#,C♯,C#(初心者用) Part43
http://pc12.2ch.net/test/read.cgi/tech/1248573707/
Visual Studio 2008 Part 17
http://pc12.2ch.net/test/read.cgi/tech/1245309571/
WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part4
http://pc12.2ch.net/test/read.cgi/tech/1245384489/
【VB.NET】LINQ友の会【C#, C♯, C#】
http://pc12.2ch.net/test/read.cgi/tech/1202568694/
C#,C#の宿題片付けます。
http://pc12.2ch.net/test/read.cgi/tech/1197620454/
0003デフォルトの名無しさん
2009/08/22(土) 12:33:52MSDNライブラリ
http://msdn.microsoft.com/ja-jp/library/
@IT Insider.NET
http://www.atmarkit.co.jp/fdotnet/
Insider.NET 会議室 ディレクトリ
http://www.atmarkit.co.jp/fdotnet/index/bbs/
MSDN フォーラム
http://forums.microsoft.com/MSDN-JA/default.aspx?SiteID=7
pinvoke.net: the interop wiki!
http://pinvoke.net/
宇宙仮面の C# プログラミング / C# Programming
http://ukamen.hp.infoseek.co.jp/
WisdomSoft C#入門
http://wisdom.sakura.ne.jp/programming/cs/
WisdomSoft Microsoft .NET入門
http://wisdom.sakura.ne.jp/system/msnet/
どっとねっとふぁん
http://dotnetfan.org/
緑のバイク 初めてのC# 〜 覚え書き 〜
http://homepage3.nifty.com/midori_no_bike/CS/
どぼん!の .NET Tips
http://dobon.net/vb/dotnet/
0004デフォルトの名無しさん
2009/08/22(土) 12:34:07初歩的な質問はPC初心者板で・・・
http://pc11.2ch.net/pcqa/
参考リンク(よく出てくる情報リンク)
Windows Vista Wiki
http://windowsvista.ms/index.php
Windows VistaFAQ
http://vistafaq.stdo.net/index.html
インストールから設定・活用まで〜 すべてが分かるWindows Vista大百科
http://journal.mycom.co.jp/special/2007/windowsvista/menu.html
0005デフォルトの名無しさん
2009/08/22(土) 13:26:550006デフォルトの名無しさん
2009/08/22(土) 19:41:07VC♯で画面を作っていて、
ListBoxを二つ用意して、ListBox1の項目を選択した場合に、ListBox2に表示されている項目もListBox1の項目に対応したフォーカスが自動でセットされる仕組みにしたいのですがうまくいきません。
例えば、ListBox1に名前を表示させて、ListBox2に誕生日を表示させた場合、名前を選んだら自動的にその名前に対応した誕生日にフォーカスがあたる仕組みを作りたいのです。
それぞれのListBoxに表示するものはXMLファイルから読み取って表示させています。
一応、名前と誕生日はXMLファイルの中で関連付けもしています
0007デフォルトの名無しさん
2009/08/22(土) 19:53:33ListBoxが変化したときにイベント起こせばいけそう。
0008デフォルトの名無しさん
2009/08/22(土) 20:07:24ListBoxだとDataSourceか
0009デフォルトの名無しさん
2009/08/22(土) 21:13:26「うまくいかない」という質問は、ありえないほど酷い。
PCが煙吐いて空の果てに飛び立ったまま戻ってこなくなりました、だって「うまく
いかない」のうちだ。
どううまくいかないのかを書け。
リストボックスの項目選択をプログラム的に行うだけならListBox#SelectedIndex
プロパティに値をセットすれば動くが。
0010デフォルトの名無しさん
2009/08/22(土) 21:13:41public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private const string xmldoc =
@"<?xml version='1.0'?>
<names>
<person name='satou'>2009/01/01</person>
<person name='saitou'>2009/02/01</person>
<person name='sakata'>2009/03/01</person>
</names> ";
private void Form1_Load(object sender, EventArgs e)
{
var doc = XElement.Parse(xmldoc);
var q = from n in doc.Descendants("person")
select n.Attribute("name").Value;
this.lstName.DataSource = q.ToList();
}
private void lstName_SelectedIndexChanged(object sender, EventArgs e)
{
var item = (sender as ListBox).SelectedItem.ToString();
var doc = XElement.Parse(xmldoc);
var q = from n in doc.Descendants("person")
where n.Attribute("name").Value == item
select n.Value;
this.lstBirthday.DataSource = q.ToList();
}
}
0011デフォルトの名無しさん
2009/08/22(土) 21:23:32つhttp://www.redout.net/data/osietekun.html
0012デフォルトの名無しさん
2009/08/23(日) 00:58:34とりあえず今から試してみます
0013デフォルトの名無しさん
2009/08/23(日) 01:46:18ここ参考にMeCab(形態素解析器)呼び出し作ってみたんだけど
1000文字くらいの解析を数万ループしたら
メモリがバカほど膨らんでしまった
GC.Collect();
しても解放されないのでMeCab内で持っているらしいんだけど
こういうのって対策ある?
0014デフォルトの名無しさん
2009/08/23(日) 02:30:29DLL 自体をアンロードするしかないんじゃね?
0015デフォルトの名無しさん
2009/08/23(日) 02:34:58mecab_destroy よんでないんじゃないのか?
0016デフォルトの名無しさん
2009/08/23(日) 02:35:360017デフォルトの名無しさん
2009/08/23(日) 02:51:03返信どうもです
mecab_destroyは呼んでます
それでも駄目なので困ってたところ
ロード アンロードは時間がかかるので
あまりやりたくないのですが,それしか方法なさそうですか...
0018デフォルトの名無しさん
2009/08/23(日) 07:17:53別プロセスにして標準出力で受けるとかでもよくね
0019デフォルトの名無しさん
2009/08/23(日) 07:43:51リンク先、PtrToStringAnsi呼ぶ位置がおかしいな
それはともかく手元のVistaでmecab0.98pre2のlibmecabを4000文字10000回ほど
mecab_new2〜mecab_sparse_tostr〜mecab.destroyしてみたが
とくに問題なかった 非プライベートなワーキングセットも含めて
0020デフォルトの名無しさん
2009/08/23(日) 09:06:400.97->0.98pre3
バージョン上げることでメモリ問題解決しました
気づかせてくれてありがとうございます
わざわざサンプルまで作っていただいてすみません
アンカー後先逆ですが
>>18
以前までそういう風に組んでたんですが
アンマネージのDLL読み込めることを知ったのでやってみたらこうなった感じです
0021デフォルトの名無しさん
2009/08/23(日) 12:55:34TcpListenerクラスが使えません。 System.Netはありました。
どうすればいいですか? VC#2008です
0022デフォルトの名無しさん
2009/08/23(日) 12:57:34それだけ。
0023デフォルトの名無しさん
2009/08/23(日) 14:30:05いえ、それでも見つからなかったのです
0024デフォルトの名無しさん
2009/08/23(日) 14:34:230025デフォルトの名無しさん
2009/08/23(日) 14:43:140026デフォルトの名無しさん
2009/08/23(日) 15:00:11具体的にどんな環境でどんなことやって見つからなかったの?
0027デフォルトの名無しさん
2009/08/23(日) 16:10:00気合が足りない
0028デフォルトの名無しさん
2009/08/23(日) 16:26:12public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
var doc = XElement.Parse(xmldoc);
var q = from n in doc.Descendants("person")
select n.Attribute("name").Value;
var lll = from a in doc.Descendants("aaa")
select a.Attribute("name").Value;
this.listBox1.DataSource = q.ToList();
this.listBox2.DataSource = lll.ToList();
}
private const string xmldoc =
@"<?xml version='1.0'?>
<names>
<person name='satou'>2009/01/01</person>
<person name='saitou'>2009/02/01</person>
<person name='sakata'>2009/03/01</person>
<person name='sakamoto'>2009/01/01</person>
<aaa name='2009/01/01'></aaa>
<aaa name='2009/02/01'></aaa>
<aaa name='2009/03/01'></aaa>
<aaa name='2009/04/01'></aaa>
</names> ";
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
このようしてにXMLから表示させる時にpersonの名前と関連させた誕生日だけを表示させるのではなく、まず初めに名前一覧と誕生日一覧をそれぞれのListBoxに表示させてから名前を選ぶとそれに関連する誕生日にフォーカスが移るようにしたいのですが、
この場合personの誕生日をみてaaaの誕生日と関連付けをしてフォーカスを移させることは可能なのでしょうか?
0029デフォルトの名無しさん
2009/08/23(日) 19:12:59エスパーするとaaaのnameが参照キーでテキストノードが関連するデータのつもりかもしれないけど。
名前ならいざしらず誕生日をキーにする気?(名前も同じ名前があったらどうする)
あくまで一例だけど、こんなのはどう?
1.DataSet 配置して、その中に persons テーブル作る。
2.persons の中に name と birthday 項目を作る。
3.二個のリストボックスの DataSource に配置した DataSet を設定。
4.二個のリストボックスのそれぞれの DisplayMember に "persons.name" と "persons.birthday" を設定。
5.DataSet に以下のようにデータを食わせる。
string data
= @"<?xml version='1.0' standalone='yes'?>
<data>
<persons><name>satou</name><birthday>2009/01/01</birthday></persons>
<persons><name>saitou</name><birthday>2009/02/01</birthday></persons>
<persons><name>sakata</name><birthday>2009/03/01</birthday></persons>
<persons><name>sakamoto</name><birthday>2009/04/01</birthday></persons>
</data>";
public Form3() {
InitializeComponent();
dataSet1.ReadXml(new StringReader(data));
}
これで名前を選択すると誕生日、誕生日を選択すると名前が自動にセレクトされる。
他の関連付けたい情報は、誕生日と同じようにpersonsテーブルに入れて誕生日と同じように関連付け。
ラベルとかに選択されてるデータを連動表示させたいなら
label1.DataBindings.Add(new System.Windows.Forms.Binding("Text", this.dataSet1, "persons.birthday", true));
という感じ。
0030デフォルトの名無しさん
2009/08/24(月) 14:39:51新しくコンテストを来年開きたいと思っています
プログラマー(ゲーム・ツール・)の方は
http://pc12.2ch.net/test/read.cgi/tech/1221701297/l50
のスレに来てもらえるとうれしいです。
運営も募集しています。
↓のような感じでコンテストを開始する予定です。
http://219.113.110.143/
0031デフォルトの名無しさん
2009/08/24(月) 14:48:000032デフォルトの名無しさん
2009/08/24(月) 14:51:24ちょっとDDNS登録すりゃ済む話じゃないか
0033デフォルトの名無しさん
2009/08/24(月) 15:28:15ゲ制作板でやるべきじゃね?
0034デフォルトの名無しさん
2009/08/24(月) 19:22:24豪華商品にふいたw
0035デフォルトの名無しさん
2009/08/24(月) 21:01:450036デフォルトの名無しさん
2009/08/24(月) 21:31:400037デフォルトの名無しさん
2009/08/25(火) 23:23:56検索ボックスで該当した4レベル目のノードとその親ノードと祖父ノードのみを表示させたいときはどうやるのでしょうか?
0038デフォルトの名無しさん
2009/08/26(水) 00:02:470039デフォルトの名無しさん
2009/08/26(水) 00:08:480040デフォルトの名無しさん
2009/08/28(金) 11:19:410041デフォルトの名無しさん
2009/08/28(金) 11:40:090042デフォルトの名無しさん
2009/08/28(金) 13:21:360043デフォルトの名無しさん
2009/08/28(金) 13:35:55CollapseAll 呼び出すだけだが
0044デフォルトの名無しさん
2009/08/28(金) 14:39:49A
B1
C1
B2
C2
C3
というツリーがあり、これが全て畳んだ状態でC3ノードを検索したとき、
A1
B2
C3
のみを表示させることはできますか?
0045デフォルトの名無しさん
2009/08/28(金) 14:42:50A
B1
C1
B2
C2
C3
というツリーがあり、これが全て畳んだ状態でC3ノードを検索したとき、
A1
B2
C3
のみを表示させることはできますか?
0046デフォルトの名無しさん
2009/08/28(金) 14:45:080047デフォルトの名無しさん
2009/08/28(金) 15:02:120048デフォルトの名無しさん
2009/08/28(金) 15:42:47新しいツリー用意してA1->B2->C3だけ表示すればいいじゃん
0049デフォルトの名無しさん
2009/08/28(金) 15:54:040050デフォルトの名無しさん
2009/08/28(金) 17:18:310051デフォルトの名無しさん
2009/08/28(金) 19:48:070052デフォルトの名無しさん
2009/08/28(金) 20:09:18ありがとう(*^_^*)。
0053デフォルトの名無しさん
2009/08/28(金) 21:30:07この引数に何かが代入(参照)するコードはどこにあるのでしょうか。
senderには
0054デフォルトの名無しさん
2009/08/28(金) 21:30:580055デフォルトの名無しさん
2009/08/28(金) 21:31:58キャストでもして使えばいいじゃないんでしょうか
0056デフォルトの名無しさん
2009/08/28(金) 21:49:55お答えありがとうございます。
sender = オブジェクト名 ;のようなコードを書かなくても
呼び出し元が自動で渡されるという理解でいいのでしょうか?
0057デフォルトの名無しさん
2009/08/28(金) 21:56:29誰が呼び出してるかというと,イベントの発生源が呼び出してる。
つまりイベントの発生源がそのイベントを呼び出すときにはsenderにthisを渡してるわけ。
0058デフォルトの名無しさん
2009/08/28(金) 22:13:24http://www.akadia.com/services/dotnet_delegates_and_events.html
Clockのところが参考になるよ。
0059デフォルトの名無しさん
2009/08/28(金) 22:41:25http://msdn.microsoft.com/ja-jp/library/w369ty8x.aspx
この辺を紹介しておけばいいような
0060デフォルトの名無しさん
2009/08/28(金) 23:04:050061デフォルトの名無しさん
2009/08/28(金) 23:06:580062デフォルトの名無しさん
2009/08/29(土) 00:41:200063デフォルトの名無しさん
2009/08/29(土) 00:53:030064デフォルトの名無しさん
2009/08/29(土) 01:02:14どのようにすればできるのでしょうか。
appealanceプロパティだと、コマンドボタンの形状になってしまいます。
0065デフォルトの名無しさん
2009/08/29(土) 01:15:54もうこれと同じ質問を今週だけで3回見たが、
どっかの学校の夏休みの宿題か何かなのかね。
それとも同じ奴が粘着してるのか?
0066デフォルトの名無しさん
2009/08/29(土) 01:16:42やめろ。チェックボックスは四角のままにしとけ。
0067デフォルトの名無しさん
2009/08/29(土) 01:31:34UIデザインとしては最悪じゃん。
0068デフォルトの名無しさん
2009/08/29(土) 01:43:48チェックボックスは単純に有無を示すとき…
という典型的な使用方法があるのだから。
チェックボックスを丸にすると逆に不気味。
0069デフォルトの名無しさん
2009/08/29(土) 01:47:35「丸にする理由が無くまた機能を視覚化するデザインとして最悪でうんぬん」
と課題をやらない理由をレポートしてきた生徒は合格
0070デフォルトの名無しさん
2009/08/29(土) 01:58:33入門書は読み終えました。
0071デフォルトの名無しさん
2009/08/29(土) 02:20:300072デフォルトの名無しさん
2009/08/29(土) 02:24:02本読んで理解したつもりになりたいだけなら作んなくてもいいけど
0073デフォルトの名無しさん
2009/08/29(土) 02:40:29そこまで頭が働く奴は、独立SEとして食べていけるだろうね。
0074デフォルトの名無しさん
2009/08/29(土) 02:44:08俺のお勧めは、
作って覚えるV…C#2008
秀和システム
だね。Express向きだけど、家計簿を作りながらイメージを掴める。
他の本でアプリケーション作成の一連の作業を例示してくれている本は知らない。
007556
2009/08/29(土) 02:44:14つまり例えばpaintイベントなどにも見えてはいないけれども、senderに実引数(となるオブジェクト)を渡すような
コードが書かれているとことなのですね。
>>58さん >>59さん
参考になりました。
みなさんありがとうございました。
0076デフォルトの名無しさん
2009/08/29(土) 10:05:47propertyGridで表示しているプロパティの名称一覧は取得できますか?
できるのであれば、どのようにすればよいのでしょうか?
0077デフォルトの名無しさん
2009/08/29(土) 10:08:00なんだってそんな面妖なことを
0078デフォルトの名無しさん
2009/08/29(土) 10:13:26ありがとうございます
プロパティウィンドウに表示されている順番にすべてを取得したくて
propertyGridに表示させれば簡単に取得できるのかな?と調べてました
0079デフォルトの名無しさん
2009/08/29(土) 13:24:400080デフォルトの名無しさん
2009/08/29(土) 13:34:4133歳独身。現在、社内SE。
4月入社だがついていけなくて、毎日が地獄。
0081デフォルトの名無しさん
2009/08/29(土) 15:38:05独り身
0082デフォルトの名無しさん
2009/08/29(土) 16:06:20結構簡単に見えてしまうんですか?
0083デフォルトの名無しさん
2009/08/29(土) 16:10:20C#は実行ファイル(中間コード)からソースコードが容易に解析できると聞きました。
0084デフォルトの名無しさん
2009/08/29(土) 16:14:33reflectorでググれ
0085デフォルトの名無しさん
2009/08/29(土) 16:15:000086デフォルトの名無しさん
2009/08/29(土) 16:34:59それかましとけば十分。
0087デフォルトの名無しさん
2009/08/29(土) 17:18:09何歳?
0088デフォルトの名無しさん
2009/08/29(土) 17:21:540089デフォルトの名無しさん
2009/08/29(土) 17:23:430090デフォルトの名無しさん
2009/08/29(土) 18:27:210091デフォルトの名無しさん
2009/08/29(土) 18:39:04結局デリケートは、サブルーチンを呼ぶサブルーチンを呼ぶサブルーチンを1オブジェクトのように見立てるようなもの?
0092デフォルトの名無しさん
2009/08/29(土) 18:40:260093デフォルトの名無しさん
2009/08/29(土) 18:48:360094デフォルトの名無しさん
2009/08/29(土) 19:06:590095デフォルトの名無しさん
2009/08/29(土) 19:21:000096デフォルトの名無しさん
2009/08/29(土) 20:01:430097デフォルトの名無しさん
2009/08/29(土) 20:08:25私は34歳。COBOL歴5年ののち、金融機関の内勤5年…のブランクがあるからか。。。
0098デフォルトの名無しさん
2009/08/29(土) 20:10:300099デフォルトの名無しさん
2009/08/29(土) 20:13:30今は、なんて言っているの?
共通プログラムとか?
0100デフォルトの名無しさん
2009/08/29(土) 20:16:41なんてイベントを企画したら、みんな来てくれるかな?
私は関西在住なので関西でしか企画できないですが
(+_+;)。
0101デフォルトの名無しさん
2009/08/29(土) 20:19:310102デフォルトの名無しさん
2009/08/29(土) 20:20:16そんな言い方ないだろ。てめえの面が見てみたいよ。
0103デフォルトの名無しさん
2009/08/29(土) 20:31:28見せるわけねーだろカス
0104デフォルトの名無しさん
2009/08/29(土) 20:32:49どんだけひねくれているんだよ。
大手でプロジェクトリーダーでもやってるのか?
0105デフォルトの名無しさん
2009/08/29(土) 20:55:240106デフォルトの名無しさん
2009/08/29(土) 21:18:330107デフォルトの名無しさん
2009/08/29(土) 21:34:50○○○データとか。
0108デフォルトの名無しさん
2009/08/29(土) 22:11:16ひねくれているのはお前だろうが。
風呂屋でひとっ風呂浴びて頭を温めてこい。
0109デフォルトの名無しさん
2009/08/29(土) 22:29:35N,F,Hのほうがまだまし
0110デフォルトの名無しさん
2009/08/29(土) 22:40:570111デフォルトの名無しさん
2009/08/29(土) 22:41:400112デフォルトの名無しさん
2009/08/29(土) 22:44:47しかし、無能な奴ほど被害妄想が激しいのはこの業界もう鉄板といっていい法則だな。
0113デフォルトの名無しさん
2009/08/29(土) 22:48:470114名無しさん@そうだ選挙に行こう
2009/08/30(日) 09:10:180115名無しさん@そうだ選挙に行こう
2009/08/30(日) 09:21:230116名無しさん@そうだ選挙に行こう
2009/08/30(日) 13:49:070118デフォルトの名無しさん
2009/09/01(火) 04:18:28Listに代入してしまうのが楽だけど、Valuesの変更が即反映させるようにしたい場合、
IListを継承した独自クラスを作ってそれに入れるしかない?
0119デフォルトの名無しさん
2009/09/01(火) 04:22:290120デフォルトの名無しさん
2009/09/01(火) 04:43:23{
{ 0, 'a' },
{ 1, 'b' },
};
***List<char> lis = new ***List<char>(dic.Values);
dic.Add( 2, 'c');
こんな処理の時、lis[2]に'c'が入ってて欲しいのですよ。
とりあえずIListを継承したクラスを用意して実現はできたけど、
あまりにも汎用的なので何かクラスが既にあるような気がしてならない。
0121デフォルトの名無しさん
2009/09/01(火) 04:53:07ICollection<T>しか実装せずIList<T>を実装しないのには理由があるわけで、
IList<T>はICollection<T>より限定的なリストなので
そんなの汎用的に作れと言われても無理。
0122デフォルトの名無しさん
2009/09/01(火) 05:59:040123デフォルトの名無しさん
2009/09/01(火) 08:17:22だから要素の順番を全く保証しないDictionaryがIListを実装するのは不適切
0124デフォルトの名無しさん
2009/09/01(火) 09:29:31C#まじ使えねーな
0125デフォルトの名無しさん
2009/09/01(火) 09:38:22SortedList<TKey, TValue>.ValuesはIList<TValue>型
0126デフォルトの名無しさん
2009/09/01(火) 11:20:07ばかだろあんた。
そりゃList違いだ。
0127デフォルトの名無しさん
2009/09/01(火) 12:15:440128デフォルトの名無しさん
2009/09/01(火) 16:08:40全部int型みたいな
0129デフォルトの名無しさん
2009/09/01(火) 16:15:53struct MyEnum : IEquatable<MyEnum>, IComparable<MyEnum> {
public static readonly MyEnum One = 1;
public static readonly MyEnum Two = 2;
private int value;
private MyEnum(int value) { this.value = value; }
public static operator int(MyEnum value) { return value.value; }
public static operator MyEnum(int value) { return new MyEnum(value; }; }
//以下略(インターフェイスメンバや演算子などを実装)
}
0130129
2009/09/01(火) 16:17:15public static implicit operator int(MyEnum value) { return value.value; }
public static implicit operator MyEnum(int value) { return new MyEnum(value; }; }
0131デフォルトの名無しさん
2009/09/01(火) 16:18:120132デフォルトの名無しさん
2009/09/01(火) 16:35:53ありがとうございます
全部定数にしますっ!
0133デフォルトの名無しさん
2009/09/01(火) 16:48:430134デフォルトの名無しさん
2009/09/01(火) 20:16:190135デフォルトの名無しさん
2009/09/01(火) 20:51:540136デフォルトの名無しさん
2009/09/01(火) 21:14:22逆ではなかったのか。
冷静に考えるとこれって本来逆であるべきじゃないのかね。
まあ深くは考えてないんでいろいろ何か事情があるんだろうが。
0137デフォルトの名無しさん
2009/09/01(火) 21:17:33どっちもキャストが必要
0138デフォルトの名無しさん
2009/09/01(火) 21:21:01棚上げクンって恥ずかしいなw
0139デフォルトの名無しさん
2009/09/01(火) 21:42:540140デフォルトの名無しさん
2009/09/01(火) 21:57:52すまん確かに試さずに言ってた。
そもそもenumを数値的に扱うことをほとんどしないのと、
あとVBも触るんでそっちの知識がゴッチャになってた。
0141デフォルトの名無しさん
2009/09/01(火) 22:00:32変換というよりは0は数値じゃなくて特別な記号みたいなものとして扱われてるんだろうな
0142デフォルトの名無しさん
2009/09/01(火) 22:20:47そんなに害にも落とし穴になるとも思えないけど、なんで明示的キャストが
強制されるルールになってるんだろう。
0143デフォルトの名無しさん
2009/09/01(火) 22:28:49非推奨とされてるからなあ
0144デフォルトの名無しさん
2009/09/02(水) 08:02:47土曜日からずっとメンソールに関して調べましたがタバコ関係の情報しか得られませんでした。
もっとヒントください
0145デフォルトの名無しさん
2009/09/02(水) 08:30:450146デフォルトの名無しさん
2009/09/03(木) 00:53:100147デフォルトの名無しさん
2009/09/04(金) 08:40:190148デフォルトの名無しさん
2009/09/04(金) 16:36:570149デフォルトの名無しさん
2009/09/04(金) 16:54:270150デフォルトの名無しさん
2009/09/04(金) 21:35:410151デフォルトの名無しさん
2009/09/04(金) 22:10:270152デフォルトの名無しさん
2009/09/04(金) 22:11:440153デフォルトの名無しさん
2009/09/04(金) 22:14:160154デフォルトの名無しさん
2009/09/04(金) 23:23:30いや、一般的な設計の話で。
コンポジションの方が作る分には良いんだが、使う側としてはテキストボックスでもあった方がプロパティ設定出来て良いものか。
んでも余計なものない方がよい気もする。
0155デフォルトの名無しさん
2009/09/04(金) 23:29:24それ以外でTextBox固有の機能で特に必要なものなんてあるか?
0156デフォルトの名無しさん
2009/09/04(金) 23:33:220157デフォルトの名無しさん
2009/09/04(金) 23:35:210158デフォルトの名無しさん
2009/09/04(金) 23:40:22用途としては違うとも思うけれどかぶってるところもある。
0159デフォルトの名無しさん
2009/09/05(土) 00:05:53本当にコントロールを自分で作ったり拡張したことがある奴が
経験に基づいて継承だのコンポジションだの言ってるのか?
やってみろよ実際。
そんな方法じゃめんどくさくてやってられないから。
0160デフォルトの名無しさん
2009/09/05(土) 00:52:060161デフォルトの名無しさん
2009/09/05(土) 05:04:280162デフォルトの名無しさん
2009/09/05(土) 06:51:04ユーザーコントロールにコントロールを乗せて行くという方法をコンポジションと
言うんだと思っていたが?普通に合成という意味だから。
拡張して作るカスタムコントロールはどう考えてもコンポジットではない。
0163デフォルトの名無しさん
2009/09/05(土) 12:44:32ユーザーコントロールはオブジェクトコンポジションより意味が狭いのだから。
ユーザーコントロールはコンポジョションだが、逆は違うよ。
普通は前提条件なしで「コンポジション」と言えば、NativeWindow的なものを想像するぞ。
0164デフォルトの名無しさん
2009/09/05(土) 19:38:250165デフォルトの名無しさん
2009/09/05(土) 21:18:59数値入力コントロールを作るためにユーザーコントロールにテキストボックス置いたら
それはオブジェクト指向的な包含
0166デフォルトの名無しさん
2009/09/05(土) 22:10:20汎用系の開発しかしたことがなかったから、GUI設計をしたことがない
(-_-;)。
どういう点に心がけたらいいんだろ。
もう50回くらいやり直しをしまくって、
フォームを分けてみてはやはりパネルにしてみたり、
縦スクロールにしてみては横にしたり…。
未だに使いやすいフォームができない。
担当者は俺だけ。
どうすりゃいいんだよ…。先が見えない。
0167デフォルトの名無しさん
2009/09/05(土) 22:12:400168デフォルトの名無しさん
2009/09/05(土) 22:13:120169デフォルトの名無しさん
2009/09/05(土) 22:19:55それが一番大事だね。
0170デフォルトの名無しさん
2009/09/05(土) 22:30:23→1画面内にあるコントロールを少なくする。
・クリック回数を少なくする
→処理を完了するまでのステップ数を少なくする。
この相反する2つの調度良いバランスを求める。
後は既存の似た処理をするツールのUIをオマージュ。
開発経験者か、UIを発注した事ある人に意見を聞くのがいいんだろうけど。
0171デフォルトの名無しさん
2009/09/05(土) 22:39:392003にいれたら他のマシンへのping完了しないのはどこらへんがまずいんでしょうか
ちなみにcmd.exe起動してping打つと普通に他のマシンへも通ります。
なんかファイアウォールとかいわれたけど
windosのファイアウォールってなにもいわないからなどこで止められてるのかわかんないし
もうつかれたよ・・・。
0172デフォルトの名無しさん
2009/09/05(土) 22:41:520173デフォルトの名無しさん
2009/09/06(日) 00:25:48作るのは初めてでも、使ったことくらいはあるだろ。
そこから何か学ばなかったか?
0174デフォルトの名無しさん
2009/09/06(日) 00:27:110175デフォルトの名無しさん
2009/09/06(日) 00:45:01DataGridViewで列ヘッダをクリックして並び替える際に、行を選択していたりするとこの選択状態の位置がそのまま維持されてしまい、
並び替えられた(選択されていた)行へ追従しません。
これを、並び替えたときに行とともに選択状態の位置が移動するようにするにはどうしたらよいでしょうか?
0176デフォルトの名無しさん
2009/09/06(日) 08:43:02サイトでも何かのコントロールでもいいです。
0177デフォルトの名無しさん
2009/09/06(日) 09:00:38でも買え。って、About Face の 3 が出てるのな。ぽちっとしておこう。
0178デフォルトの名無しさん
2009/09/06(日) 09:13:40Windows Vista 版 Explorer のアドレスバー。
パンくず型リストの理想型だと思う。
ただし、1 つのコントロールが複数の機能を兼ねているので、
賛否が分かれそうだが。
あと FL Studio の GUI 全般。
複雑になりがちな DAW というジャンルで、画面遷移や
ウィンドウ数の増大を上手く回避してる点に感心してる。
0179デフォルトの名無しさん
2009/09/06(日) 09:48:420180デフォルトの名無しさん
2009/09/06(日) 11:03:11後から請求きたりするの?
問い合わせてみて「手続き上のミス」とか言われて終わっちゃうのも残念なんで問い合わせしてないんだけど。
0181デフォルトの名無しさん
2009/09/06(日) 12:15:025年以上前に Expire したアカウントでも落とせた。
0182デフォルトの名無しさん
2009/09/06(日) 13:11:15Eclipseのパースペクティブと、VSのソリューションがあると自分的には完璧だなぁ。
ソリューションは機能であってUIじゃないけど。
GUIで最も感動したのはポップアップメニューというかコンテキストメニュー。
オブジェクト選択して右クリックで動詞選ぶなんて最高だ。
0183デフォルトの名無しさん
2009/09/06(日) 13:24:590184デフォルトの名無しさん
2009/09/06(日) 14:04:54いいとこProjectsレベル。
0185デフォルトの名無しさん
2009/09/06(日) 14:11:310186デフォルトの名無しさん
2009/09/06(日) 18:46:36顧客データや商品データなど100項目以上あり、1画面に入りきらない。
タブコントロールを使いたいけど相手は年寄り。
急にパネルが見えなくなれば、疲れるだろう。
スクロールを多様すればいくらでも画面内に情報が入れられるが、
相手は年寄り。
スクロールによって見えなくなった情報が気になって疲れるだろう。
マウスを当てたら新しいウインドウが立ち上がり、隠れた情報を知ることができても、相手は年寄り。
消えたときに疲れるだろう。
どうしたら年寄りから満足してもらえるかなぁ。
やはりスクロールをするしかないかな。
0187デフォルトの名無しさん
2009/09/06(日) 18:53:340188デフォルトの名無しさん
2009/09/06(日) 18:56:05またお前か
0189デフォルトの名無しさん
2009/09/06(日) 18:56:46俺なら操作手順の少ないタブで押し通す。
新しいウィンドウなんて視線があちこち飛んで疲れるだけ。それならタブでいいし。
スクロールするにしても目次のリスト出しておいてクリックするとその位置まで
自動的にスクロールとか、タブとほとんど同じにして操作の手数にこだわる。
0190デフォルトの名無しさん
2009/09/06(日) 19:00:120191デフォルトの名無しさん
2009/09/06(日) 19:26:11何回も同じ質問するな。少しは自分で考えろよ。
0192デフォルトの名無しさん
2009/09/06(日) 19:33:36画面のほうをでかくしろ
0193デフォルトの名無しさん
2009/09/06(日) 20:24:51「ええのう、わしの若い頃を思い出すのう みwなwぎwっwてwきwたwww」
って思わせるような画面でも考えてろ
0194デフォルトの名無しさん
2009/09/06(日) 20:25:21お年寄りでも慣れてる
0195デフォルトの名無しさん
2009/09/06(日) 20:50:29それも立派な視点だね。
0196デフォルトの名無しさん
2009/09/06(日) 21:40:25ウィザード方式に俺も一票。最初に目的を押させた後は
質問に答えてもらうとあら不思議、登録が終わってるみたいな。
0197デフォルトの名無しさん
2009/09/06(日) 21:45:30そんなもんなんだ。
たしかにプロだったなぁ。
なぜに放置なんだろ
0198デフォルトの名無しさん
2009/09/06(日) 22:24:06それじゃほぼ無意味じゃないかn。
0199デフォルトの名無しさん
2009/09/07(月) 00:07:40100項目もあるのがおかしい。
20項目まで削れ。
0200デフォルトの名無しさん
2009/09/07(月) 00:18:07年寄りに一度に100項目も見せて殺す気かよw
0201デフォルトの名無しさん
2009/09/07(月) 00:23:12てか何故に100項目も出来るのかが知りたい
0202デフォルトの名無しさん
2009/09/07(月) 00:26:23みたいな
0203デフォルトの名無しさん
2009/09/07(月) 00:29:130204デフォルトの名無しさん
2009/09/07(月) 00:32:240205デフォルトの名無しさん
2009/09/07(月) 10:19:430206デフォルトの名無しさん
2009/09/07(月) 11:00:30ASPとか有料のしか見つからないんだがフリーでないんだろうか。
文字サイズと色変えれるくらいでいいんだが、何か知らない?
0207デフォルトの名無しさん
2009/09/07(月) 14:26:03文字サイズとか色変えるぐらいなら自分で実装してもいい。
0208デフォルトの名無しさん
2009/09/07(月) 15:09:04なるほど、調べてみるよ
サンクス
0209デフォルトの名無しさん
2009/09/07(月) 20:14:06なんで202を笑う?
普通の意見だろうが。
0210デフォルトの名無しさん
2009/09/07(月) 20:19:430211デフォルトの名無しさん
2009/09/07(月) 20:27:48なんでだよ禿げ野郎!
0212デフォルトの名無しさん
2009/09/07(月) 21:56:230213デフォルトの名無しさん
2009/09/07(月) 22:15:29コア数・FSB・・・の項目があるような。普通ならCore2 Duo T5600だけでいいのに。
キー項目以外の項目を表示するということはあるかもしれないけど、全項目に
渡って表示しているなら第二正規化していない可能性高いヨネーという話かと。
0214デフォルトの名無しさん
2009/09/07(月) 22:44:12参加費は1人100円いただきます(ビニールシートを買うため)。
C♯を語りつくしましょう。
0215デフォルトの名無しさん
2009/09/07(月) 22:47:090216デフォルトの名無しさん
2009/09/07(月) 23:07:070217デフォルトの名無しさん
2009/09/08(火) 00:26:040218デフォルトの名無しさん
2009/09/08(火) 01:50:460219デフォルトの名無しさん
2009/09/08(火) 20:04:24大阪城公園、または本町の居酒屋でもいいね。
参加していい人は、書き込みしてください。
ミクシイに似たようなコミュニティがあれば、そちらでもできるので教えてください。
0220デフォルトの名無しさん
2009/09/08(火) 20:10:130221デフォルトの名無しさん
2009/09/08(火) 20:25:420222デフォルトの名無しさん
2009/09/08(火) 20:26:260223デフォルトの名無しさん
2009/09/08(火) 20:36:150224デフォルトの名無しさん
2009/09/08(火) 20:58:15(理由:私が関西におりますので…。)
達人から初心者まで、C#に日々打ち込む人たちが集うコミュニティがあればなぁ…。
関西でうまくいけば、九州でも集まりたいですね。
一度きりの人生、こういうきっかけであっても、先に楽しみが生まれるならば
こういう集まりでもいいじゃないですか。
0225デフォルトの名無しさん
2009/09/08(火) 21:07:130226デフォルトの名無しさん
2009/09/08(火) 21:28:25俺は行ったことないけど
0227デフォルトの名無しさん
2009/09/08(火) 21:36:260228デフォルトの名無しさん
2009/09/08(火) 22:29:200229デフォルトの名無しさん
2009/09/08(火) 22:31:270230デフォルトの名無しさん
2009/09/08(火) 22:33:590231デフォルトの名無しさん
2009/09/08(火) 22:36:500232デフォルトの名無しさん
2009/09/08(火) 22:47:05いやむしろあそこの掲示板はそうでもないよ。
dobon氏の掲示板にいるようなキチガイ監視員はいないと思う。
0233デフォルトの名無しさん
2009/09/08(火) 22:48:420234デフォルトの名無しさん
2009/09/08(火) 22:50:060235デフォルトの名無しさん
2009/09/08(火) 23:02:210236デフォルトの名無しさん
2009/09/08(火) 23:10:28集まろうよ。俺と会って話そうよ。ネットができる喫茶店にでも集まるか。
0237デフォルトの名無しさん
2009/09/08(火) 23:53:440238デフォルトの名無しさん
2009/09/09(水) 00:17:350239デフォルトの名無しさん
2009/09/09(水) 00:57:360240デフォルトの名無しさん
2009/09/09(水) 02:14:10VS2005、C#なんですが
大きな画像、というか地図を格子状に区切って分割して保存してある画像があり、
任意の場所を中心として周囲8近傍結合、pictureBoxに表示するソースを書いてます。
pictureBoxの画像をマウスドラッグでgoogleMapのように滑らかにスクロールさせたく思い
その際表示領域より少し大きめの画像に結合したあと表示領域分切り出しているんですが
動作がもっさりであんまり満足できていません。
上手くやる方法ないでしょうか?
またはpictureBox以外でもこのような実装を行う方法ってありますか?
0241デフォルトの名無しさん
2009/09/09(水) 02:19:20> 動作がもっさりであんまり満足できていません。
この原因をくわしく
0242デフォルトの名無しさん
2009/09/09(水) 02:24:00Graphics g = g.DrawImage(〜〜〜〜);
という感じで大き目の画像を結合した上で
さらに同じ方法で切り出しを行ってるためだと思うんですが・・・
0243デフォルトの名無しさん
2009/09/09(水) 02:27:150244デフォルトの名無しさん
2009/09/09(水) 02:33:44原因調査が不十分って感じなんだが
とりあえず,どの部分でどれだけ時間がかかっているか実測してみて
0245デフォルトの名無しさん
2009/09/09(水) 09:15:33http://pc12.2ch.net/test/read.cgi/tech/1246520657/
0246デフォルトの名無しさん
2009/09/09(水) 09:38:43LINQすげー
http://blogs.msdn.com/lukeh/archive/2007/10/01/taking-linq-to-objects-to-extremes-a-fully-linqified-raytracer.aspx
0247デフォルトの名無しさん
2009/09/09(水) 15:44:55変態的だwww
0248デフォルトの名無しさん
2009/09/10(木) 10:38:36#とか使うと小数部が指定した桁数分に丸められてしまふ…
0249デフォルトの名無しさん
2009/09/10(木) 11:00:340250デフォルトの名無しさん
2009/09/10(木) 11:06:23とんでもない桁になる
0251デフォルトの名無しさん
2009/09/10(木) 14:56:550252デフォルトの名無しさん
2009/09/10(木) 20:26:400253デフォルトの名無しさん
2009/09/10(木) 23:06:290254デフォルトの名無しさん
2009/09/10(木) 23:19:050255デフォルトの名無しさん
2009/09/10(木) 23:21:400256デフォルトの名無しさん
2009/09/10(木) 23:31:120257デフォルトの名無しさん
2009/09/11(金) 00:06:24System.Double.Epsilon 見てみれば分かるが、
指数部が e-324 とかになる。
「有効桁数」ならまぁ高々15桁としても小数部とかみた
いな表現すりゃ 300 文字オーバーみたいになりうるよと
いう話。
ちなみに Epsilon で . 以下 # を 339 個並べてみたら全部
出たので >>249 の方法論でいいんじゃね(310 では足り
ないみたいだが)
ちなみに整数部も同じ。e308 かな。
0258デフォルトの名無しさん
2009/09/11(金) 00:39:550259デフォルトの名無しさん
2009/09/11(金) 06:15:46すまん、数値入力の部分の表示だったので小数部がえらいことになるとか考えてなかったw
桁数制限、ごもっともです。
0260デフォルトの名無しさん
2009/09/11(金) 18:45:31どんな属性やメソッドを使えば良いのか全く分からない……
MSDNのフォーラムに似たような質問があったけど、そもそもその解決したと言われるプロパティが見つからない
環境は学生用のVS2008なんだけど、誰か突破方法に心当たりありません?
0261デフォルトの名無しさん
2009/09/11(金) 18:47:41そのプロパティとやらを書いてみろよ
0262デフォルトの名無しさん
2009/09/11(金) 18:52:06そのフォーラムのスレッドどこ?
0263デフォルトの名無しさん
2009/09/11(金) 18:56:30http://social.msdn.microsoft.com/Forums/ja-JP/csharpexpressja/thread/6545bb8b-02c5-443c-ba9b-b0d58955cab0
0264デフォルトの名無しさん
2009/09/11(金) 19:08:01JavaScript じゃねーか
0265デフォルトの名無しさん
2009/09/11(金) 19:11:27StyleプロパティまではWinFormでもサポートしてるから
そこにzoomの設定つけたしゃいい
0266デフォルトの名無しさん
2009/09/11(金) 19:19:080267デフォルトの名無しさん
2009/09/11(金) 20:37:54いまいちよく分からなかったけど、ありがとう
0268デフォルトの名無しさん
2009/09/11(金) 20:42:570269デフォルトの名無しさん
2009/09/11(金) 20:49:130270デフォルトの名無しさん
2009/09/12(土) 08:06:350271デフォルトの名無しさん
2009/09/12(土) 08:30:08それぞれのディスプレイの解像度を変更したいのですが、どうしてもやりかたがわかりません。
とりあえず解像度だけでも変更してみようと調べました。
DirectXのSDKをインストールしてDirectDrawを使って以下のコードを実行したところメインディスプレイの解像度が変わりましたが
DualViewになっている場合セカンダリディスプレイはNo signalになってしまいます・・・
セカンダリディスプレイの解像度を変更する方法がわかりません。
Microsoft.DirectX.DirectDraw.Device device;
device = new Microsoft.DirectX.DirectDraw.Device();
device.SetCooperativeLevel(this, Microsoft.DirectX.DirectDraw.CooperativeLevelFlags.Normal);
device.SetDisplayMode(800, 600, 32, 0, false);
どなたか助言お願いします。
0272デフォルトの名無しさん
2009/09/12(土) 09:02:500273デフォルトの名無しさん
2009/09/12(土) 10:54:080274デフォルトの名無しさん
2009/09/12(土) 11:23:08エラー起こして以降、多バイトコードで識別子は書かないと心に決めてる。
あと、タイプミスが思いのほか多いんだアレ。てにおはとか。
0275デフォルトの名無しさん
2009/09/12(土) 12:56:56てにをは
だよ
0276デフォルトの名無しさん
2009/09/12(土) 12:59:150277271
2009/09/12(土) 14:49:37いけました!!ありがとうございます。
後はデュアルディスプレイ・クローン・一つのディスプレイのみの設定の変更です・・・
なにか方法ありますか?
0278デフォルトの名無しさん
2009/09/12(土) 15:07:07IMEの変換とインテリセンスの親和性が最悪じゃない?
Migemoのアドインとかあればましかもしれんが
0279デフォルトの名無しさん
2009/09/12(土) 15:09:01aで定義したメソッドやプロパティにA1からアクセスできません
aの内部でもAでもpulicは設定したんですが・・・
なんか勘違いしてますか?
0280デフォルトの名無しさん
2009/09/12(土) 15:17:00日本語で書け、と言われる前に質問を推敲したほうがいいんじゃないの?
しかし、そんな日本語で他人に通じると思ってる神経が理解できん。
言葉の使い方に自信がないのなら、同じ事を複数の別の言い方で表現しておくとか、
馬鹿は馬鹿なりに少しは工夫しようよ。
0281デフォルトの名無しさん
2009/09/12(土) 15:43:15Dotfuscatorを通したようなクラスでも作っているんだろうか。
public class A
{
public a a1 = new a();
public class a
{
public void f() { }
}
static void Main(string[] args)
{
A A1 = new A();
A1.a1.f();
}
}
0282デフォルトの名無しさん
2009/09/12(土) 16:46:25こんな感じですまさに
A1.a1.f();
これができないんです。
できないわけがないですよね?
そもそもできないのがあたりまえかと思ってしまって
もういちどチェックしてみます。
0283デフォルトの名無しさん
2009/09/12(土) 17:31:36コンパイルエラーならメッセージをよく確認する。
質問するときはエラーメッセージもアップ。
内部クラスをpublicにしてないという話だと思うけど、
他にはstaticなメンバーを参照経由で呼び出そうとしているなど他の可能性はある。
どれかはエラーメッセージを見れば分かる。
0284デフォルトの名無しさん
2009/09/12(土) 18:03:00public class Outer
{
public class Inner
{
public static void f() { }
public void g() { }
}
public Inner innerObj = new Inner();
static void Main(string[] args)
{
Outer outerObj = new Outer();
outerObj.innerObj.g();
Outer.Inner.f();
}
}
ふらっとでやれ。
0285デフォルトの名無しさん
2009/09/12(土) 18:16:35なるほど、タイプミス多いなww
0286デフォルトの名無しさん
2009/09/12(土) 18:33:52エラーメッセージはアセンブリに対する参照を設定しろと言われました
今チェックしています
>>284
ごもっともでした
0287デフォルトの名無しさん
2009/09/12(土) 18:44:560288デフォルトの名無しさん
2009/09/12(土) 18:50:49ここのソースの中に
ChangeDisplaySettingsEx((LPSTR)DisplayDevice.DeviceName,
&defaultMode, NULL, CDS_NORESET|CDS_UPDATEREGISTRY, NULL);
// A second call to ChangeDisplaySettings updates the monitor.
ChangeDisplaySettings(NULL, 0);
とあるのですが、C#ではChangeDisplaySettingsの第一引数に
通常DEVMODEの構造体を受け渡すところを上記のようにnullにすると
エラー1'ConsoleApplication1.Program.ChangeDisplaySettings
(ref ConsoleApplication1.Program.DEVMODE, int)' に最も適している
オーバーロード メソッドには無効な引数がいくつか含まれています。
というエラーが出てしまいます・・・ nullを受け渡したいのですがどうしたらいいですか?
0289デフォルトの名無しさん
2009/09/12(土) 18:53:390290デフォルトの名無しさん
2009/09/12(土) 18:54:120291デフォルトの名無しさん
2009/09/12(土) 19:04:54出来ました!
ありがとう!
0292デフォルトの名無しさん
2009/09/12(土) 19:12:530293デフォルトの名無しさん
2009/09/12(土) 23:55:04どういうこと?
0294デフォルトの名無しさん
2009/09/13(日) 00:27:39>>292が説明の限界じゃないか?
http://msdn.microsoft.com/ja-jp/library/hc662t8k.aspx
0295デフォルトの名無しさん
2009/09/13(日) 00:28:21と言っていると思うけど、リセットのためのNULLを渡したいという話なので的外れだね。
0296デフォルトの名無しさん
2009/09/13(日) 00:31:37エスパーってチミが無知なだけだと思うけど。
頭大丈夫かよ。
0297デフォルトの名無しさん
2009/09/13(日) 00:35:280298デフォルトの名無しさん
2009/09/13(日) 17:40:58自分専用のダウンローダを作ろうとしています。
やりたい事は、検索キーワードを入力してヒットする動画のうち
埋め込みタグが禁止されていない物は全て丸ごとダウンロードできるものを
作りたいと思っています。
そこで質問なのですがYouTubeから動画をダウンロードするにはどうすればよいでしょか?
参考になるサイトがあれば教えてください。
0299デフォルトの名無しさん
2009/09/13(日) 18:25:06来年1月1日以降に作って発表するといいと思うよ
0300デフォルトの名無しさん
2009/09/13(日) 18:34:40stringの配列を受け取るにはどう処理すれば良いでしょうか?
階層の深さは何段になるかわからない環境です。
(1)
foo
├─bar
│ └─hoge
├─bar2
└─bar3
├─hoge2
└─hoge3
(2)
foo\bar\hoge
foo\bar2
foo\bar3\
foo\bar3\hoge2
foo\bar3\hoge3
0301デフォルトの名無しさん
2009/09/13(日) 18:37:410302デフォルトの名無しさん
2009/09/13(日) 18:44:260303デフォルトの名無しさん
2009/09/13(日) 18:49:410304デフォルトの名無しさん
2009/09/13(日) 18:53:21すいません、bar3も取らない形で作りたいです。
0305デフォルトの名無しさん
2009/09/13(日) 18:55:04受け取ったものがあればそれを\で連結
超簡単じゃないか
0306デフォルトの名無しさん
2009/09/13(日) 18:59:350307デフォルトの名無しさん
2009/09/13(日) 19:14:35レスありがとうございます。
結局string[]で返すのは自分には書けませんでしたので
配列を引数にしてそれを再帰で変更するようにすれば
希望通りの動作にできました。
0308298
2009/09/13(日) 20:03:03なぜに来年1月1日以降なのでしょうか?
まぁ、作っても自分が欲しい動画を出回っているソフトだと色々と制限があって
使い辛いので自分用に使おうと思ってます。
ってかYouTubeからC#(つか .Net) を使用して動画をダウンロードする方法はありますか?
FLV ⇒ mpg( or AVI)形式に自動変換した上でDLしたいと思っています。
0309デフォルトの名無しさん
2009/09/13(日) 20:04:410310デフォルトの名無しさん
2009/09/13(日) 20:10:18やり方はスレ違い
それくらい自分で調べられないなら無理
0311デフォルトの名無しさん
2009/09/13(日) 20:14:43もう既に色々あるしwネタだろうけどw
つかマジで出回ってるYouTubeのダウンローダー宣伝が入ってたり
遅かったりマジで使い辛いんだよね〜
教えて頂戴
0312デフォルトの名無しさん
2009/09/13(日) 20:16:520313デフォルトの名無しさん
2009/09/13(日) 20:24:41えっ
0314デフォルトの名無しさん
2009/09/13(日) 20:24:44だから教えて頂戴と。
出回ってるフリーソフトよりも遥かに使い勝手のいいものを作るから
0315デフォルトの名無しさん
2009/09/13(日) 20:25:51お前には作れないよ
0316デフォルトの名無しさん
2009/09/13(日) 20:28:340317デフォルトの名無しさん
2009/09/13(日) 20:33:32例えばSystem.IO.FileStreem とかね
0318デフォルトの名無しさん
2009/09/13(日) 20:35:42System.IO.FileStreem
0319デフォルトの名無しさん
2009/09/13(日) 20:39:42なんか知らんが爆笑した
0320デフォルトの名無しさん
2009/09/13(日) 20:45:10頭打ちぬかれてしね
0321デフォルトの名無しさん
2009/09/13(日) 20:51:180322デフォルトの名無しさん
2009/09/13(日) 20:56:200323デフォルトの名無しさん
2009/09/13(日) 23:33:57.net3.5、WinXPPro、VS2008Proの環境で開発しています。
利用環境は主に、.net3.5、Win2008 or WinVistaを想定しています。
【質問内容】
C#で、以下の機能を実現するには、どうしたらいいでしょうか?
tp://www.bohyoh.com/CandCPP/FAQ/FAQ00108.html
順列組み合わせを出力する機能です。これ関連の、クラスがあれば教えてください。
0324デフォルトの名無しさん
2009/09/13(日) 23:36:23自分でコーディングする。
0325デフォルトの名無しさん
2009/09/13(日) 23:59:28VC/CRTのalgorithm読んでpermutation関係を移植する。
0326323
2009/09/14(月) 00:08:49問題なく動いていますが、新しいプログラムを作成する際に、既存のものがあれば、活用したいと思ったのです。
その方が何かと助かると思っていたので……
しかし、なさそうでしたら、今まで通り、自作の物を使用します。
どうもありがとうございました。
0327デフォルトの名無しさん
2009/09/14(月) 01:41:14でも組み合わせの効率的生成はnext_combination.cのソース見ても理解できなかった
なにが言いたいかというと、やっぱそういうのは標準ライブラリに入れといてほしいよね
0328デフォルトの名無しさん
2009/09/14(月) 04:15:09順列生成なんて簡単でしょ?と思って見てきたけど、んー…こりゃ難しい。
0329デフォルトの名無しさん
2009/09/14(月) 04:42:070330デフォルトの名無しさん
2009/09/14(月) 14:31:07class Permutation
{
public static IEnumerable<int[]> GetPermutationSet(int[] array)
{
return GetPermutationSet(new List<int>(array), new List<int>());
}
//とりあえず何も考えずにListに
private static IEnumerable<int[]> GetPermutationSet(List<int> left, List<int> permutation)
{
if (left.Count == 0)
yield return permutation.ToArray();
for (int i = 0; i < left.Count; i++)
{
int element = left[i];
left.RemoveAt(i);
permutation.Add(element);
foreach (var tItem in GetPermutationSet(left, permutation))
yield return tItem;
left.Insert(i, element);
permutation.RemoveAt(permutation.Count - 1);
}
}
}
0331デフォルトの名無しさん
2009/09/14(月) 14:38:10すべてのデータが違うというのを前提として、文字列でやると
private void func()
{
List<string> ret = new List<string>();
junretsu("あいうえお", "", ret);
foreach (string s in ret)
{
Console.WriteLine(s);
}
}
private void junretsu(string str, string junretsustr, List<string> ret)
{
if (str.Length == 1)
ret.Add(junretsustr + str);
else
foreach (char c in str)
{
junretsu(string.Join("", str.Split(c)), junretsustr + c, ret);
}
}
こんな感じのこと?
0332デフォルトの名無しさん
2009/09/14(月) 15:00:41全てのデータが違う前提だとそうだけど、同じデータが含まれる場合も考慮するのが普通。
例えば {1,1,2} に対する並び替えで、「組み合わせ」と言ったら {1,1,2}, {1,2,1}, {2,1,1} の3通りだけど
「順列」と言ったら {1,1,2}, {1,2,1}, {1,1,2}, {1,2,1}, {2,1,1}, {2,1,1} の6通り(2つの1をそれぞれ別ものとみなす)。
0333デフォルトの名無しさん
2009/09/14(月) 15:04:48ふむ。理解した。
0334デフォルトの名無しさん
2009/09/14(月) 18:26:03{1}{2}
{1,1}{1,2}
{1,1,2}
じゃないか?
で、順列なら3!/1!2!=6/2=3コあって
{1,1,2}{1,2,1}{2,1,1}
だよ
0335デフォルトの名無しさん
2009/09/14(月) 19:46:22今は高校でもやらんの?
知らないってことはないはずだと思うが。
0336デフォルトの名無しさん
2009/09/14(月) 19:50:540337デフォルトの名無しさん
2009/09/14(月) 19:52:54俺だって中学なんて田舎の公立校だよ。
0338デフォルトの名無しさん
2009/09/14(月) 20:05:52多分文系でもやってると思うけど、高校数学は10年以上縁がないので違ってるかもしれん
0339デフォルトの名無しさん
2009/09/14(月) 20:09:470340334
2009/09/14(月) 21:45:000341デフォルトの名無しさん
2009/09/14(月) 21:47:590342334
2009/09/14(月) 22:03:07一応現役なのにorz
でも332はあからさまに間違ってるよね??
0343デフォルトの名無しさん
2009/09/14(月) 22:25:350344デフォルトの名無しさん
2009/09/14(月) 23:14:11それは組み合わせじゃなくて
{∅} と合わせて冪集合。
俺の知る限り高校じゃ習わん。
順列はあってる
0345デフォルトの名無しさん
2009/09/14(月) 23:41:232個選ぶ組合せ
3個選ぶ組合せ
っていうつもりで書いたんだがそれでも間違ってる?
てか、激しく論点がずれてしまった
この辺で自重します
0346デフォルトの名無しさん
2009/09/15(火) 00:23:290347デフォルトの名無しさん
2009/09/15(火) 07:56:00Formのサイズ変更枠がありますよね。
その枠の長さを動的に得たいのですが、方法はありますか?
↓マウスでつまんでサイズ変更ができる枠の長さです。
http://f42.aaa.livedoor.jp/~imawaka/imgboardphp/src/1252968758611.jpg
VistaだとXPに比べて枠が長いですよね。おそらく・・・
それを現在のウィンドウ(Form)の状態によって動的に値を得たい。
たとえば、BorderStyleがNoneのときは、「0」になるとか。
そういうのを得るメソッド・プロパティってありますか?
0348347
2009/09/15(火) 08:07:33このサイトにかかれているフォームの境界線の長さを得たいわけです。はい。
0349デフォルトの名無しさん
2009/09/15(火) 08:45:350350デフォルトの名無しさん
2009/09/15(火) 08:59:200351デフォルトの名無しさん
2009/09/15(火) 10:12:250352デフォルトの名無しさん
2009/09/15(火) 10:16:080353デフォルトの名無しさん
2009/09/15(火) 11:42:52長さ?幅じゃなくて?
0354デフォルトの名無しさん
2009/09/15(火) 15:49:28(form.Width - form.ClientSize.Width) / 2
でいいんじゃね。
0355デフォルトの名無しさん
2009/09/15(火) 23:52:41高校の時にやったぞ。
ちなみに年齢は30のおっさんだ。
たぶん1つ上の年代までは教育課程が違ってやってないかもしれない。
数�T、�U、�V、A、B、C世代な。
0356デフォルトの名無しさん
2009/09/16(水) 00:17:480357デフォルトの名無しさん
2009/09/16(水) 00:58:37なんてことはありえんと思うが(ありえるなら日本終わってるだろ)
俺の時代も何故か確率統計ってあまり重要視はされてなかったね。
何だろうね。
個人的には微積はともかく線形代数より役に立つ場面が多いと思うけど。
0358デフォルトの名無しさん
2009/09/16(水) 01:04:08左右対称とは限らないだろう
0359デフォルトの名無しさん
2009/09/16(水) 02:18:260360デフォルトの名無しさん
2009/09/16(水) 02:51:59ClientRectangleの座標値はクライアント座標だから左端は常に0
0361デフォルトの名無しさん
2009/09/16(水) 09:19:0530代の俺の代ですら、受験で稼げない確統なんざ理系選抜クラスでも選択科目扱いだった
今なんてなおさらでしょ
0362デフォルトの名無しさん
2009/09/16(水) 11:21:00PointToScreen使えばクライアント座標をデスクトップ座標に変換できる
0363デフォルトの名無しさん
2009/09/16(水) 11:45:56ありえるし、すでに終わってる
それが授業のカリキュラムを大幅に削減したゆとり教育の結果
学力が下がって企業の開発力が落ちてこのザマ
工業製品が台湾や韓国にどんどん追い越されてる
0364デフォルトの名無しさん
2009/09/16(水) 17:41:00確率は数Aでやるけど統計は習わないはず。
もちろん進学校は別。
来年以降高校の教育課程で統計を本格的に入れるという話を聞いた。
数字カードの組み合わせ問題はゆとり教育時代でも小学校で習うし中学入試にも出る。
確率統計が後回しにされるのは、文系で統計学をやる時に積分を沢山使うから
それを先に学ばせないと授業にならないからだそうだ。
俺理系で文系の人から聞いた話だから、嘘ついてたらすまん。
0365デフォルトの名無しさん
2009/09/16(水) 18:17:56C#3.0って、VisualStudio2008以上でないと開発に使えないのですか?
あと.NET以外でC#を使うことはできないのですか?
0366デフォルトの名無しさん
2009/09/16(水) 18:27:40MONO
0367デフォルトの名無しさん
2009/09/16(水) 22:34:02VisualStudio(VisualC#)のバージョン(VisualStudio2005とか、VisualC#2008とか)と、
.NET Frameworkのバージョン(2.0とか3.0とか)の違いがいまいちわかりません。
どなたかわかりやすく説明していただけませんか?
たとえば、C#3.0から追加になったLINQの機能を、VisualStudio2005でソースを書くとどうなりますか?
C#3.0はVisualStudio2008がサポートしていると聞いたのですが、動かなかったりコンパイルエラーになったりするのでしょうか?
0368デフォルトの名無しさん
2009/09/16(水) 22:49:56VS2002: C#1.0 .NET1.0
VS2003: C#1.1 .NET1.1
VS2005: C#2.0 .NET2.0 ※.NET3.0用の拡張があったけど今はもうないはず
VS2008: C#3.0 .NET2.0/.NET3.0/NET3.5
LINQはC#3.0の機能なのでVS2008でしか使えない
ただし、LINQは基本的に.NET3.5のライブラリを使ってるので
開発ターゲットが.NET2.0/.NET3.0の場合は普通には使えない
違いと一口に言われても困るな
0369デフォルトの名無しさん
2009/09/16(水) 22:50:41VS2005 - C# 2.0
VS2008 - C# 3.0
VS2010 - C# 4.0
といった感じでいいんでないかな。
.NET Frameworkのバージョンは0.5とかSP1とか出てきて面倒くさいので考えない方向で。
VS2005でLinqのコードを書くとコンパイルエラーになります。
0370デフォルトの名無しさん
2009/09/16(水) 23:05:21VS2003 -> 1.1
VS2005 -> 2.0
VS2005 + Extention -> 3.0(2.0)
VS2008 -> 2.0、3.0(2.0)、3.5(2.0、3.0)
0371デフォルトの名無しさん
2009/09/16(水) 23:05:38>>369
ありがとうございます。
もうひとつ質問なのですが、
1つのパソコンに異なるバージョンのVisualStudioを共存させるのはよくないのでしょうか?
会社で使うのが主に旧バージョンなので、
自宅PCには会社と同じ環境用の旧バージョンと自己学習用の新バージョンを入れたいと思っているのですが
0372デフォルトの名無しさん
2009/09/16(水) 23:14:580373デフォルトの名無しさん
2009/09/16(水) 23:15:430374デフォルトの名無しさん
2009/09/16(水) 23:37:140375デフォルトの名無しさん
2009/09/16(水) 23:50:380376デフォルトの名無しさん
2009/09/17(木) 00:01:060377デフォルトの名無しさん
2009/09/17(木) 00:05:500378デフォルトの名無しさん
2009/09/17(木) 00:23:420379デフォルトの名無しさん
2009/09/17(木) 00:27:37VMで遊んでる気もしますが。
0380デフォルトの名無しさん
2009/09/17(木) 00:42:46ライセンス的にやばいことはしないぞw
win7(RC)入れて見たり、linuxで遊んでるだけだ
0381デフォルトの名無しさん
2009/09/17(木) 00:47:490382デフォルトの名無しさん
2009/09/17(木) 00:55:17Win開発は実機
0383デフォルトの名無しさん
2009/09/17(木) 01:06:34クリーンな状態でテストしたいからね
0384デフォルトの名無しさん
2009/09/17(木) 01:07:44上級者は自分を上級者だと言わない
0385デフォルトの名無しさん
2009/09/17(木) 01:11:01そういう突っ込みを入れさせるために書いといた
まあちょっとした遊び心
0386デフォルトの名無しさん
2009/09/17(木) 01:11:510387デフォルトの名無しさん
2009/09/17(木) 01:37:350388デフォルトの名無しさん
2009/09/17(木) 01:39:050389デフォルトの名無しさん
2009/09/17(木) 01:41:050390デフォルトの名無しさん
2009/09/17(木) 01:41:400391デフォルトの名無しさん
2009/09/17(木) 01:49:07それで余ったやつをゲストOSにしてる
0392デフォルトの名無しさん
2009/09/17(木) 02:01:450393デフォルトの名無しさん
2009/09/17(木) 02:10:50しかも情報系ではありません
0394デフォルトの名無しさん
2009/09/17(木) 02:41:21しかも情報系ではありません
0395デフォルトの名無しさん
2009/09/17(木) 02:54:330396デフォルトの名無しさん
2009/09/17(木) 03:20:290397デフォルトの名無しさん
2009/09/17(木) 03:51:430398デフォルトの名無しさん
2009/09/17(木) 04:05:500399デフォルトの名無しさん
2009/09/17(木) 04:30:120400デフォルトの名無しさん
2009/09/17(木) 04:34:440401デフォルトの名無しさん
2009/09/17(木) 08:12:14開発しようとか、典型的なおっさんプログラマーだろうなw
0402デフォルトの名無しさん
2009/09/17(木) 08:56:140403デフォルトの名無しさん
2009/09/17(木) 10:47:590404デフォルトの名無しさん
2009/09/17(木) 20:35:57ごめんね。MSがばかでごめんね。
0405デフォルトの名無しさん
2009/09/18(金) 21:28:03\nは改行、\rは復帰だそうですが、復帰とはどういう意味ですか?
また、サンプルソースで改行を\r\nとしていたのですが、ただの\nと何が違うのですか?
0406デフォルトの名無しさん
2009/09/18(金) 21:30:05「改行コード」でぐぐれ
0407デフォルトの名無しさん
2009/09/18(金) 22:22:270408デフォルトの名無しさん
2009/09/18(金) 23:01:19行頭に戻る
0409デフォルトの名無しさん
2009/09/18(金) 23:05:53「\r 復帰」で検索すればすぐにわかるのに
0410デフォルトの名無しさん
2009/09/18(金) 23:16:00>>405みたいな話でいちいち人に聞いてたら学習効率悪すぎるな。
>>405は自分で自分の首を絞めてることに気づいた方がいいね。
無理強いはしないけど。
0411デフォルトの名無しさん
2009/09/19(土) 08:34:040412デフォルトの名無しさん
2009/09/20(日) 09:35:04WCFで受信する最大のメッセージサイズを指定しているのですが、
最大値より大きなメッセージを受信した時に
「最大値を増やすことを検討して下さい」
といった感じのログを残したいと考えています。
メッセージを受信する側で
「最大値より大きいメッセージを受信し、リクエストを拒否した」
という事を検出するにはどうすれば良いのでしょうか?
0413デフォルトの名無しさん
2009/09/20(日) 11:03:47スタートアップ時、前回終了時のプロジェクトがそのまま開けるようにできる設定方法はないでしょうか?
0414デフォルトの名無しさん
2009/09/20(日) 11:23:29オプションにあるだろ
0415デフォルトの名無しさん
2009/09/20(日) 11:34:43ありがとうございます。見逃していました。
「ツール」→「オプション」→【全ての設定を表示】→『スタートアップ』の手順で、
【全ての設定を表示】のチェックを見逃していたため、気づきませんでした。
0416デフォルトの名無しさん
2009/09/20(日) 11:56:100417デフォルトの名無しさん
2009/09/20(日) 13:09:46何度それに起因する質問を見たことか
0418デフォルトの名無しさん
2009/09/20(日) 13:17:31「まず落ち着いて状況をよく見る」という、プログラマに不可欠な能力の欠如を
初心者に思い知らせる、いい薬になってると思うけど。
個人的には、そんな「よく見れば誰でもわかる」プログラムの設定程度で
躓く人間にまともなプログラムなんて書けっこないと思う。
0419デフォルトの名無しさん
2009/09/20(日) 13:31:090420デフォルトの名無しさん
2009/09/20(日) 13:36:03ど素人じゃないんだからさ
0421デフォルトの名無しさん
2009/09/20(日) 13:37:340422デフォルトの名無しさん
2009/09/20(日) 13:40:57すべて表示、じゃなくて一部隠す、にするということね。
0423デフォルトの名無しさん
2009/09/20(日) 13:42:580424デフォルトの名無しさん
2009/09/20(日) 13:43:180425デフォルトの名無しさん
2009/09/20(日) 14:47:32無い。
つーかそもそもExpressEdition以外はC#専用ってわけじゃないしね。
同じExpressEditionでもC++もこのオプション無い。
0426デフォルトの名無しさん
2009/09/20(日) 14:55:140427デフォルトの名無しさん
2009/09/20(日) 18:49:32もし、値がおかしければ、Leave時にそのテキストボックスの背景色を赤にしたいと思っています。
しかし、Leave時のactiveコントロールは次のタブオーダーのコントロールに変わってしまっていますし、
どうやって、Leaveされたコントロールを取得したらいいのか分かりません。
ご存知の方、教えてください。
0428デフォルトの名無しさん
2009/09/20(日) 18:53:070429デフォルトの名無しさん
2009/09/20(日) 18:53:320430デフォルトの名無しさん
2009/09/20(日) 18:54:180431デフォルトの名無しさん
2009/09/20(日) 18:54:30見た目も任せていいならErrorProviderを使うのが楽
0432デフォルトの名無しさん
2009/09/20(日) 21:09:13お返事ありがとうございます。
Validatedのイベントに記述します。
このチェックを共通サブルーチンのようにし、
複数の日付項目のValidatedイベントから呼ぶようにしたいと思っています。
もしエラーなら、その該当のコントロールの背景色を変えたいのですが、
どのコントロールから呼ばれたかを取り出して、
そのコントロールの背景色を変えるにはどうしたらいいでしょうか。
senderの中身を見ても、コントロールの種類だけしか見つかりません。
たびたびで申し訳ないですが
よろしくお願いします。
0433デフォルトの名無しさん
2009/09/20(日) 21:22:540434デフォルトの名無しさん
2009/09/20(日) 21:44:23いやいやValidatedイベントハンドラ(ってかデリゲータ)を一つ用意すればいいだけだから
無駄に分ける必要ないから
0435デフォルトの名無しさん
2009/09/20(日) 22:38:02「このメソッドの最初のパラメータの型は Object であり、イベントを発生させるインスタンスを参照します。」
0436デフォルトの名無しさん
2009/09/20(日) 22:42:18へえ。ErrorProviderなんてあるんだな。
俺ならユーザコントロールでコードを分離してイベントを書くな。
0437デフォルトの名無しさん
2009/09/21(月) 00:55:51ワロタ
0438デフォルトの名無しさん
2009/09/21(月) 02:09:39改行をさせないようにするにはどうすればいいですか?
マルチラインをtrueにしているのは、テキストボックスの高さを少し上げたかったからであり、
複数行入れたいわけではありません。
何かテクニックがあれば教えてください・・・!
0439デフォルトの名無しさん
2009/09/21(月) 10:36:180440デフォルトの名無しさん
2009/09/21(月) 11:00:54入力時にチェックしてはじいたら?
0441デフォルトの名無しさん
2009/09/21(月) 12:11:470442デフォルトの名無しさん
2009/09/21(月) 14:07:470443デフォルトの名無しさん
2009/09/22(火) 08:42:11リッチテキストボックスとテキストボックスは外観がちがうんだね。同じフィックスド3Dでも。
同じならいいのに。
0444デフォルトの名無しさん
2009/09/22(火) 13:03:02て本に、LOADイベントはInitializeComponent完了前、
正確にはResumeLayout直後に発生する事があるって書いてあるんだが
そんなことホントにあるのか?
ちょっと考えられないってかありえない気がするんだが。
Newするだけで表示しなかったらどうなるの?とか疑問だらけだ。
どうもこの本は、正しく理解してない開発者が多いなんて書きながら、
あちこちに間違いとか思い込みとか極端な例を元にしてる話がある感じで
今ひとつ信用できない。
本自体の方向性は好きなんだが。
0445デフォルトの名無しさん
2009/09/22(火) 13:06:27実は正しい非同期処理のルールすら理解せずに書いてるから。
思い込みでおかしな動作すると言ってんじゃないかと思ってしまう。
0446デフォルトの名無しさん
2009/09/22(火) 13:08:57見た覚えあったので辿ってみた。
C#, C♯, C#相談室 Part52
http://pc12.2ch.net/test/read.cgi/tech/1238548552/
の574あたり。
0447デフォルトの名無しさん
2009/09/22(火) 13:12:21スレッドプールのスレッドでも同様とか
各種Timerクラスとスレッドプールの関係で勘違いしてるとか
文字列連結パフォーマンス関連の不適切な例と説明とか(ここは言いたいことは理解は出来るが)
ngenの勘違いした記述とか
0448デフォルトの名無しさん
2009/09/22(火) 13:31:360449デフォルトの名無しさん
2009/09/22(火) 13:35:490450デフォルトの名無しさん
2009/09/22(火) 14:07:46サンクス。
読んでみたけど、うーん、そりゃそんなことしたら呼ばれることはあるわな。
これは当たり前の話だよねー。
気になるのは、そんなおかしなことしてる場合じゃなくて、
普通にあり得るのか?ってことなんだよなー。
例え話としては、
「Loadイベントではまだフォームは表示されていない」に対して、
「そんなことはない、Load内でShowを呼び出したら表示される」
「だからLoad中はまだフォームが表示されていないというのは間違い」
とか言ってるみたいな感じ。
※MDIとかだとまたややこしいは話があったかも知れんがそれはそれ
本を見ると、InitializeComponent完了前にLoadが発生するのは
Vistaで起こりやすい?らしいんだが、どうなんだろう…
0451デフォルトの名無しさん
2009/09/22(火) 17:20:15普通にはありえないんじゃない?
OnLoadで初期化をするとか割とありふれたことだから、
そんな現象がありうるのならもっと大騒ぎされてると思う。
俺が検索した限りでは、そんな現象を指摘する情報は見つからない。
個人的にもそんな現象にあたったことはないね。
0452デフォルトの名無しさん
2009/09/22(火) 17:23:53その本は読んでないから文脈分からんけど
0453デフォルトの名無しさん
2009/09/22(火) 19:04:31以下の方法だとうまくいきませんでした。
struct Hoge {
// 文字列(null terminate されてない)
IntPtr str; // const char*
// 文字列のバイト数
int length; // int
}
[DllImport("hoge.dll", CharSet = CharSet.Ansi)]
extern static IntPtr get_struct(); // 構造体 Hoge のポインタを返す
IntPtr p = get_struct();
Hoge hoge = (Hoge)Marshal.PtrToStructure(p, typeof(Hoge));
string s = Marshal.PtrToStringAnsi(hoge.str, (int)hoge.length); // ここで変換がうまくいっていない
ちなみに length が正しく文字列のバイト数を格納していることは確認しています。
0454デフォルトの名無しさん
2009/09/22(火) 19:11:160455デフォルトの名無しさん
2009/09/22(火) 19:12:330456デフォルトの名無しさん
2009/09/22(火) 19:17:43試してみます。
>>455
文字がシングルバイトかマルチバイトかにかかわらず文字化けします。
0457デフォルトの名無しさん
2009/09/22(火) 19:25:12char*はANSI(ASCII/Shift_JIS)の文字列で良いの? たまに違う文字セット使う場合もあるけど
取り敢えずMarshal.CopyでIntPtrをbyte[]に転写して中身調べたらどんな感じ?
0458デフォルトの名無しさん
2009/09/22(火) 19:37:26全部です。
Copy すると byte 配列が明らかにおかしいですね。
char* は ANSI で間違っていないのですが、
byte[] に格納されたバイトは ANSI でも Unicode でもなさそうです。
期待する文字列: 太郎
Marshal.Copy(hoge.str, bytes, 0, hoge.length) の結果: {8, 0, 0, 0}
もしかしたら>>453とは関係ない部分かもしれないので API 等見直します。
ありがとうございました。
0459デフォルトの名無しさん
2009/09/22(火) 20:54:01可能性でいやなんでも可能性はあるぜ?
大体NewしただけでLoadイベントが発生する作りのFormなんて明らかにおかしいわけで。
----引用開始
またLoadイベントは、コンストラクタの完了を待って同期的に呼ばれるのでは、
といったイメージをもたれがちですが、これも間違っています。
Loadイベントは、コンストラクタで実行されるInitializeComponentメソッドが
完了した後に呼ばれます(正確にはデザイナコードのResumeLayoutメソッドで
レイアウト描画が開始された時)。
つまり、InitializeComponentの直後に記述したロジックと、Loadイベントに
記述したロジックは、どちらが先に実行されてもおかしくありません。
この現象は、マルチスレッド、マルチコアCPUの実行パフォーマンスが最適化
されたWindows Vistaでよく起こるようです。
…
どちらの現象も開発者に正しく理解されてないことが多く
…
----引用終了
いややっぱりおかしいって。
多分作りのおかしなアプリ動かして、普通に起こる現象だと勘違いしてる。
0460デフォルトの名無しさん
2009/09/22(火) 21:02:29C#側の構造体に[StructLayout(LayoutKind.Sequential)]とか書いてある?
0461デフォルトの名無しさん
2009/09/22(火) 21:02:54WinFormなんだからシングルスレッドで同期的に動かされるのは当然だもの
0462デフォルトの名無しさん
2009/09/22(火) 21:04:12明らかにおかしいとは思えんね。
Loadの意味的な定義は「ShowまたはShowDialogが呼ばれた」なんだから、
InitializeComponentの中だろうがなんだろうが、それが起これば発生してくれなきゃ
逆にそっちの方が「オカシイ」よ。
0463デフォルトの名無しさん
2009/09/22(火) 21:06:08本の記述というか、説明がおかしいと言ってる。
どこかでShowしたらそりゃそのタイミングで発生するのは当たり前。
0464デフォルトの名無しさん
2009/09/22(火) 21:11:33デリゲートの非同期実行での例外に関する記述で、EndInvokeを使用してないコードを書いてて、
----引用開始
このマルチスレッド例外のしくみは、ほとんどの開発者に正しく理解されていません
…
つまり別スレッドで起こった例外は、メインスレッドから検知できません。
これはマルチスレッドにおける重要な仕様です。
別スレッドで起こった例外は、何事もなかったかのように例外の起こったスレッドを
終了しています。
…
たとえばSocketを使用した非同期通信のしくみを利用した場合、非同期処理の部分は
別スレッドで実行される場合があります。
…
通信エラーが起こっても正しく検知できません。
通常のスレッド処理や、スレッドプールが暗黙的に使われるタイマー処理、デリゲート
でも同じことが言えます。
----引用終了
そりゃEndInvokeとか使ってないんだから当たり前。
それにBegin〜系以外ならちゃんとハンドルされてない例外になるから
タイマーとか普通のスレッドとか普通のスレッドプール利用とかでは当てはまらない。
この人のコードは基本的に非同期処理でEnd〜を使ってない。
非同期処理は不安定とか結構文句が書いてあるんだが、
それってちゃんとEnd〜してないからってのと、他にもなんか
ぽかやってんじゃないかと思ってしまう。
0465デフォルトの名無しさん
2009/09/22(火) 21:23:03非同期実行する対象のメソッドの先頭で、
InvokeRequired調べてコントロールにInvoke。
いくらなんでも例として不適切だ。
0466デフォルトの名無しさん
2009/09/22(火) 21:29:24なるほど失礼。
0467デフォルトの名無しさん
2009/09/22(火) 21:43:43FormsのFormの内部実装でスレッドの見落としがあってバグ採りしたってあったなー
コントロールのメソッド一つ一つにInvokeRequiredをガードに入れるという作業
0468デフォルトの名無しさん
2009/09/22(火) 22:16:52Set xls = CreateObject("Excel.Application")
xls.Visible = True
Set book = xls.Workbooks.Add
これをC#で書くと、どんな感じになりますか?
0469デフォルトの名無しさん
2009/09/22(火) 22:21:36・レイトバインドじゃないと嫌なら、C#で記述するのは諦めてVBで書く
・Excelの相手はVBScriptにやらせて、C#からはProcess.StartでそのVBSを起動するだけにする
お勧めは3つめ
0470デフォルトの名無しさん
2009/09/22(火) 22:33:430471デフォルトの名無しさん
2009/09/22(火) 22:35:280472デフォルトの名無しさん
2009/09/22(火) 22:36:200473デフォルトの名無しさん
2009/09/22(火) 22:38:16DataGridViewの一行のデータDataRowに、画面には表示しないバイナリデータや、
ArrayListなどを紐付けたいのですが、
DataRowあるいはDataGridViewに、そういう画面非表示のデータを紐付けて管理するメソッド等ありますか?
MFCのCComboBoxのSetItemDataPtr()のようなメソッドです。
0474デフォルトの名無しさん
2009/09/22(火) 22:41:580475デフォルトの名無しさん
2009/09/22(火) 22:42:120476473
2009/09/22(火) 22:57:02今はSQLの結果のDataTableをDataGridViewのDataSourceに設定してから、
その1行のデータの一部からバイナリデータやArrayListを作ってDataTableに付加してたが
付加してからBindするようにしてみる。
Dictionaryもちょっと検索してみます。ありがとう
0477468
2009/09/22(火) 23:09:02COM参照が(自分の中で)一番わかりやすいです。
Excel Web Serviceとやらは初めて聞きました。勉強してみます。
0478デフォルトの名無しさん
2009/09/22(火) 23:11:25ReleaseComObject&Missing地獄
0479デフォルトの名無しさん
2009/09/22(火) 23:42:53アーリーバインディングが抜けてると思う。
Excelのtlbからアセンブリ作って参照に追加。
お手軽だけどExcelのバージョンアップ時には再ビルド。
まあ、余程の事情(Wordのスペルチェックを呼び出して結果を取りたいとか)
じゃなければ俺も3がお勧め。
0480デフォルトの名無しさん
2009/09/22(火) 23:52:05それって COM 参照と何が違うの?
0481デフォルトの名無しさん
2009/09/23(水) 00:56:36COM使ってレイトバインディングと同じ事をやる技がある。
その場合は、固定の参照設定は使わない。
しかし、生でCOMを使うわけだから自分でマーシャリングとかCOMオブジェクト
の始末とかをやらないとならない。
0482デフォルトの名無しさん
2009/09/23(水) 00:58:58> アーリーバインディングが抜けてると思う。
> Excelのtlbからアセンブリ作って参照に追加。
これと、COM 参照の違いは何?
0483デフォルトの名無しさん
2009/09/23(水) 01:01:54http://d.hatena.ne.jp/zecl/20080128/p1
0484デフォルトの名無しさん
2009/09/23(水) 01:03:58すまん、読み違えた。
0485デフォルトの名無しさん
2009/09/23(水) 01:06:010486デフォルトの名無しさん
2009/09/23(水) 01:08:080487デフォルトの名無しさん
2009/09/23(水) 01:29:34【緊急情報カクサンよろしく】
ついに来ました。
大きい動きです。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
0488デフォルトの名無しさん
2009/09/23(水) 02:31:32ラジオボタン、TextBox(MultiLine)にあるとします。
そしてTextBox上の文字列を選択し、その上の部分にあるラジオボタンの選択を
切り替えた場合にも、TextBox上の選択文字(背景色黒)が解除されない様にするには
どうすれば良いでしょうか?
TestWindowsForm
●トマト ○きゅうり ○りんご
AA【AA】AAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAA
※この【**】の部分を選択した状態で上のラジオボタンの選択を切り替えても
選択状態が解除され無い様にしたいです。
0489デフォルトの名無しさん
2009/09/23(水) 02:39:450490デフォルトの名無しさん
2009/09/23(水) 03:44:11どうしてもメソッドでやってしまう。
0491デフォルトの名無しさん
2009/09/23(水) 04:30:49宿題スレいけ
0492デフォルトの名無しさん
2009/09/23(水) 04:34:47TextBox.HideSelection = false
でOK
0493デフォルトの名無しさん
2009/09/23(水) 10:41:54コピペ君って馬鹿だな、まで読んだ。
0494デフォルトの名無しさん
2009/09/24(木) 01:37:11遅くなったけどありがとうございます。
0495デフォルトの名無しさん
2009/09/24(木) 23:57:07Xenocode Postbuild 2009 for .NET
Salamander .NET
0496デフォルトの名無しさん
2009/09/25(金) 00:02:420497デフォルトの名無しさん
2009/09/25(金) 00:05:170498デフォルトの名無しさん
2009/09/25(金) 00:13:12説明に
Compile .NET to native executables.
eliminating .NET Framework installs
って書いてあるから期待したんだけど
ildasmとかの難読化がメインかな? このツール
0499デフォルトの名無しさん
2009/09/25(金) 00:14:500500デフォルトの名無しさん
2009/09/25(金) 00:25:260501デフォルトの名無しさん
2009/09/25(金) 00:40:18ネイディブにコンパイルできても速度は代わらない。
GC無くし型システムを変更してしまうともうC#ではない。
javaに対するgcjと同じ流れだよね。
.NETはIOが無い部分のコードを局所的に測定すると分かるけど、
ネイティブと比べてほとんど遜色ないスピードが出ている。
起動から終了まで全体測ると遅くなるけどね。
0502デフォルトの名無しさん
2009/09/25(金) 01:15:200503デフォルトの名無しさん
2009/09/25(金) 01:21:280504デフォルトの名無しさん
2009/09/25(金) 01:24:110505デフォルトの名無しさん
2009/09/25(金) 01:33:540506デフォルトの名無しさん
2009/09/25(金) 01:57:400507デフォルトの名無しさん
2009/09/25(金) 02:37:390508デフォルトの名無しさん
2009/09/25(金) 02:53:22どうすれば良いでしょうか?
コピーして作ったソフトを使われるのを防ぎたいです。
0509デフォルトの名無しさん
2009/09/25(金) 02:58:400510デフォルトの名無しさん
2009/09/25(金) 03:03:53Cって・・・当たり前やんけ。
何が言いたいの?
0511デフォルトの名無しさん
2009/09/25(金) 06:47:31そういう風に作れば良い
0512デフォルトの名無しさん
2009/09/25(金) 10:44:23だが特に遅いことはない。
むしろCとかと比べて遅いのはstatic変数へのアクセスとか、特に参照型メンバなんかへの書き込み。
0513デフォルトの名無しさん
2009/09/25(金) 16:36:14ちゃんと昇順で並んでいるっぽいんですけれど、保障はあるんですかね?
自分でソートする必要があるんでしょうか?
0514デフォルトの名無しさん
2009/09/25(金) 16:43:18ドキュメント読めよ。
「返されるファイル名の順序は保証されません。」って書いてある。
0515デフォルトの名無しさん
2009/09/25(金) 16:44:05ファイル作りなおしたりして見てみろ
0516デフォルトの名無しさん
2009/09/25(金) 17:02:02書いてありましたか、どうもすみませんでした。
0517デフォルトの名無しさん
2009/09/25(金) 17:13:33格納されているからじゃなかったかな?
0518デフォルトの名無しさん
2009/09/25(金) 19:16:38.NET Framework入れてない環境でも動いたよ。
欲しいけど高い...
0519デフォルトの名無しさん
2009/09/25(金) 23:23:08htaでいいや。と感じてしまう。
0520デフォルトの名無しさん
2009/09/26(土) 01:41:32アプリの起動時にどこかの鯖にアクセスするイメージで大丈夫?
私が思いついたのはそれ位です。
0521デフォルトの名無しさん
2009/09/26(土) 02:50:560522デフォルトの名無しさん
2009/09/26(土) 03:30:41C#については、最近使い始めたところで、正直なところ理解が浅いレベルです。
1.やりたいこと
プログラムを実行するとWindowsフォームが起動して、自動的に処理を開始。
処理に問題が無ければ、自動的にWindowsフォームを終了させたいです。
2.問題現象
「ObjectDisposedExceptionはハンドルされませんでした。破棄されたオブジェクトに
アクセスできません。オブジェクト名'Form1'です。」というエラーが発生します。
3.やってみたこと
切り分けというか、試行錯誤として下記のことを試してみました。
・Windowsフォームにボタンを追加し、ボタンが押された場合にCloseメソッドを呼び出し。
⇒正常に終了できるが、ただ、ボタンをクリックする必要があるため要件を満たさず。
・this.Close()の代わりにthis.Dispose()を使用
⇒エラー内容の変化なし。
・Main関数の中で、Application.Exitを実行。
⇒Application.Run以降の行が実行されない。
・Main関数の中で、例外処理を入れ、try-finallyで終了処理を入れてみた。
⇒エラー内容の変化なし。finally節まで行かない。
4.分からない点/お聞きしたい点
・エラーを出さずに、自動的にWindowsフォームを終了させる方法が分かりません。
・サンプルコード等、例になるようなサイトはありますか?「どぼん!の .NET Tips」の
サイトを参考に、Closeメソッド等を試してみてました。
・自動的に処理を実施させたかったので、コンストラクタ内に処理を書いたのですが、
あまり良い書き方ではないのでしょうか?作法などありますか?
0523522
2009/09/26(土) 03:33:04OS: Windows XP SP3
Visual C# 2008 Express Edition 9.0.2
.NET Framework 3.5 SP1
6.コード
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1()); ←★ここでエラーが出ます。
}
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//ここに将来的に自動化処理を入れたい
this.Close();
}
}
}
0524デフォルトの名無しさん
2009/09/26(土) 03:47:21しかしコンストラクタでやったらフォーム表示される前に終わるんだが
Shownイベントでやってみたら?
最後呼ぶのはCloseでおk
0525デフォルトの名無しさん
2009/09/26(土) 04:44:28フォーム起動後に処理を行うのでフォームのロード後に処理を始める必要がある。
フォームのロード完了時に処理を行う方法は以下の 3 通り。
1. Form1 で OnLoad をオーバーライドする
public Form1() {
InitializeComponent();
}
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
// 自動化処理
this.Close();
}
2. Form1 のコンストラクタで Load イベントにイベントハンドラを追加する
public Form1() {
InitializeComponent();
this.Load += new EventHandler(Form1_Load);
}
private void Form1_Load(object sender, EventArgs e) {
// 自動化処理
this.Close();
}
3. Form1 のインスタンスの Load イベントにイベントハンドラを追加する
static void Main() {
Form1 form = new Form1();
form.Load += new EventHandler(form_Load);
Application.Run(form);
}
private static void form_Load(object sender, EventArgs e) {
// 自動化処理
((Form1)sender).Close();
}
0526デフォルトの名無しさん
2009/09/26(土) 07:26:01実行中にフォームを表示させておきたいなら、
Loadイベントでタイマーで1回だけキックかけるのが一番楽かな。
フォームにキャンセルボタンを付けたいならスレッドがスマート。
0527デフォルトの名無しさん
2009/09/26(土) 08:05:130528デフォルトの名無しさん
2009/09/26(土) 08:06:580529デフォルトの名無しさん
2009/09/26(土) 08:19:300530522
2009/09/26(土) 08:38:49幾つか解法を頂きましたが、スキル不足のため、どれが一番
合っているか判断がつけづらいため、頂いたレスを参考にして、
少し色々と試してみることにします。
>>524
Shownイベント、ぐぐって見ました。なるほど楽に実装できるかも
しれませんね。
>>525
ソースコードまで書いていただきありがとうございます。
正直なところ、イベントハンドラやオーバーロード自体の扱いに
あまり慣れていないので、これを機に、頂いたソースを元にして
色々と試してみたいと思います。
>>526
すいません、526さん=529さんですか?そうであれば、実際に
試していただくところまでやっていただきありがとうございました。
>>527
Application.DoEventsというのは、イベントが溜まった際に、意識的に
実行させたい時に使うことくらいしか出来ないかと思っていました。
ちょっとどうやって処理するか分からないので参考にさせていただきたいと
思います。
0531デフォルトの名無しさん
2009/09/26(土) 09:59:44コンソールアプリにするかか、
Windowsアプリで単にMainで必要な処理書くだけでいいんじゃないのか?
0532デフォルトの名無しさん
2009/09/26(土) 10:02:03BackgroundWorkerを貼り付けてForm_Loadで実行開始
完了イベントでClose
0533デフォルトの名無しさん
2009/09/26(土) 10:02:450534デフォルトの名無しさん
2009/09/26(土) 10:10:52Main内で処理してApplication.Runを使わずに自動的に終わることもできる
0535デフォルトの名無しさん
2009/09/26(土) 10:50:34正直おっしゃるとおりと思います。実は、作成開始時点で、コンソールアプリにすることも考えました。
ただ、下記の様な理由で、コンソールアプリではなくGUIアプリとして作成することにしました。
開発動機が自身の勉強目的でGUIアプリが作りたい!というところから来ているのかもしれません。
・C#/Windows GUIプログラムの勉強ができる。
・ユーザ毎に入力すべきパラメータが異なり、その部分はGUIにしてユービリティを向上したかった。
・既にコーディング済みのソースを再利用したい。
また、冗長になり、焦点がぼけてしまうかとかと思い、>>522では省いたのですが以下の様な
完成品を目指しています。「下記3の項目以外」は既にコーディング/動作確認も完了しているため、
>>522では下記3の項目のみ質問させて頂きました。省かずに記述した方が良かったですかね・・・。
1.アプリを起動するとWEBページに自動的にアクセス
2.ID/パスワードなど幾つかの設定済みパラメータを自動送信し、処理を行う(実行状況をフォーム上で表示)
3.処理が正常に完了した場合はユーザがOKボタンを押すことなく自動的に終了する
4.パラメータが間違っているなど異常な場合のみ、フォーム上でパラメータ設定変更/保存をユーザにさせる
5.2を手動で実行することも可能
皆さんのレスを頂いてから、Main内の処理(特にフォームの扱い)について勉強が必要かなと思いました。
完了イベントを自動で行う機能追加をプラスすると>>532さんの実装が一番理想に近いのかもしれません。
こうした方が、よりよい実装じゃないかとアドバイス頂けるのは正直参考になり有りがたいです。
0536デフォルトの名無しさん
2009/09/26(土) 10:52:140537デフォルトの名無しさん
2009/09/26(土) 11:00:160538デフォルトの名無しさん
2009/09/26(土) 11:02:400539522
2009/09/26(土) 11:08:52みなさん、レスありがとうございました、本当に助かりました。
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Shown(object sender, EventArgs e)
{
// 自動化処理を記述
if(//自動化処理結果がOK){
this.Close();
}
}
}
}
0540デフォルトの名無しさん
2009/09/26(土) 14:00:421)listView1.ContextMenuStrip = contextMenuStrip1;
listView2.ContextMenuStrip = contextMenuStrip1;
2)contextMenuStrip1にはtoolStripMenuItem1があり
3)toolStripMenuItem1_Click()で
ListView parentListView = (ListView)((ContextMenuStrip)(((ToolStripMenuItem)sender).Owner)).SourceControl;
としてメニューがクリックされたときのListViewを識別します。
4)普通にtoolStripMenuItem1をクリックすると3)のparentListViewはlistView1またはlistView2が正しくセットされていますが
5)listView1、listView2のダブルクリックイベントでtoolStripMenuItem1.PerformClick()をすると
3)ではparentListViewはNULLになってしまいます。
デバッグするとcontextMenuStrip1_Openingイベントも通らないので当然の気がしますが、
なんとかダブルクリックしたListViewを知る方法は無いでしょうか?
0541デフォルトの名無しさん
2009/09/26(土) 14:06:140542デフォルトの名無しさん
2009/09/26(土) 14:06:480543デフォルトの名無しさん
2009/09/26(土) 15:09:35さんくす
ダブルクリック時にprivate変数に退避しておくことにしました。
せっかくSourceControlなんていうプロパティがあるのでなんとかだませないかなと思ったのですが。
0544デフォルトの名無しさん
2009/09/26(土) 16:37:07初期処理の重いアプリの外観の細かいところを見ながら調節したり
プロパティがどういう動作するのか試したいときに
なんでもアプリ起動させなくていいから助かる
0545デフォルトの名無しさん
2009/09/26(土) 17:02:23???
0546デフォルトの名無しさん
2009/09/27(日) 05:08:55通常はLoadイベントでやってたよ。
0547デフォルトの名無しさん
2009/09/27(日) 09:49:48Load では出せないと思い込んでいるが、試したことないな。
0548デフォルトの名無しさん
2009/09/27(日) 10:56:12普通はこっちとかじゃなくて処理に応じて考える
0549デフォルトの名無しさん
2009/09/27(日) 11:02:550550デフォルトの名無しさん
2009/09/27(日) 15:56:180551デフォルトの名無しさん
2009/09/27(日) 16:07:32他は全部コンストラクタ
0552デフォルトの名無しさん
2009/09/27(日) 16:31:33メニューを表示させるにはどういうコントロールを使った方がいいのでしょうか?
0553デフォルトの名無しさん
2009/09/27(日) 16:34:550554デフォルトの名無しさん
2009/09/27(日) 16:36:120555デフォルトの名無しさん
2009/09/27(日) 16:47:20ひょっとしてMって奴?
叩かれたいのかな。
0556デフォルトの名無しさん
2009/09/27(日) 16:54:030557デフォルトの名無しさん
2009/09/27(日) 17:03:270558デフォルトの名無しさん
2009/09/27(日) 17:17:400559デフォルトの名無しさん
2009/09/27(日) 17:41:340560デフォルトの名無しさん
2009/09/27(日) 18:02:030561デフォルトの名無しさん
2009/09/27(日) 18:02:23キレる人っているよね。
そうだね、俺嫌われてるね。
0562デフォルトの名無しさん
2009/09/27(日) 18:27:06ついに頭イッたかと病院行くことを薦められることうけあい。
0563デフォルトの名無しさん
2009/09/27(日) 18:29:19調べなければ分からない奴はそもそも来ない
0564デフォルトの名無しさん
2009/09/27(日) 18:30:560565デフォルトの名無しさん
2009/09/27(日) 21:15:22「ググれカス」
0566デフォルトの名無しさん
2009/09/27(日) 21:16:55ありがとうございます。
0567デフォルトの名無しさん
2009/09/27(日) 23:42:02それはどーでも良いことですらない
0568デフォルトの名無しさん
2009/09/28(月) 08:20:560569デフォルトの名無しさん
2009/09/28(月) 08:30:040570デフォルトの名無しさん
2009/09/28(月) 10:40:490571デフォルトの名無しさん
2009/09/28(月) 11:11:31誰かがレスしてくれるまでその問題はお預けになるじゃない。
っていうかそのくらい調べられないでプログラムの道を進んでいくことに不安を覚えてしまう。
そういった優しさからググレカスと言ってるのではないだろうか。
0572デフォルトの名無しさん
2009/09/28(月) 12:07:09一番最初はね。
コードが書けるだけじゃプログラマーにはなれない。対人コミュニケーションが重要。
0573デフォルトの名無しさん
2009/09/28(月) 12:28:28人の事を言う前に自分をどうにかしろ
0574デフォルトの名無しさん
2009/09/28(月) 12:50:340575デフォルトの名無しさん
2009/09/28(月) 13:27:030576デフォルトの名無しさん
2009/09/28(月) 16:20:34catch(AException){
A();
B();
}
catch(BException){
A();
C();
}
catch(CException){
A();
D();
}
例外時に(DExceptionが加わったとしても)Aは必ず実行するのですが全ての例外にAを書くしかないんですか?
0577デフォルトの名無しさん
2009/09/28(月) 16:21:460578デフォルトの名無しさん
2009/09/28(月) 16:30:13ILレベルでは何らかの例外が発生した場合に実行されるfaultブロックというのがありますが
C#ではサポートされていません
ちなみに,いくら面倒だからって一つのException型を受け取るcatchで受けて
その中で型で振り分けたりするのはガイドライン違反になるのでダメです
0579デフォルトの名無しさん
2009/09/28(月) 16:36:01try {
try {
} catch (AException ex) {
B();
throw new Exception(ex);
} catch (BException ex) {
C();
throw new Exception(ex);
}
} catch (Exception) {
A();
}
0580デフォルトの名無しさん
2009/09/28(月) 16:44:08せめて内側でExceptionでうけてA実行した後
throw;
だろ
0581デフォルトの名無しさん
2009/09/28(月) 20:18:480582デフォルトの名無しさん
2009/09/28(月) 21:34:22ググってもうまく見つけられん・・・
.NETとか検索しずらいよ(´д`)ママン…
0583デフォルトの名無しさん
2009/09/28(月) 21:37:55AとBCDが順不同なら、
try {
// do something
return;
} catch(AException) {
B();
}
A();
そうでなければ、
Actoin handler = A;
try {
// do something
} catch(AException) {
handler += B;
}
handler();
ただし、前者はともかfく、後者はお勧めしない
0584デフォルトの名無しさん
2009/09/28(月) 21:45:550585デフォルトの名無しさん
2009/09/28(月) 22:37:34困ることなんてないだろう。
0586デフォルトの名無しさん
2009/09/28(月) 22:46:000587デフォルトの名無しさん
2009/09/28(月) 22:54:35A();
if (ex is AException) { … }
else if (ex is BException) { … }
else throw ex;
}
ありそうだけど,これは再スローにならん
スタックトレースがクリアされてしまう
0588デフォルトの名無しさん
2009/09/28(月) 22:59:240589デフォルトの名無しさん
2009/09/28(月) 23:40:18いいかどうかは別としておかしくはないんじゃないの?
Exceptionでホントにいいかにはよるけれども
もともと>>579に対して書いてるんだし。
try
{
try
{
}
catch(Exception)
{
A();
throw;
}
}
catch(AException)
{
B();
}
catch(BException)
{
C();
}
catch(CException)
{
D();
}
な感じだろ。
0590デフォルトの名無しさん
2009/09/28(月) 23:41:520591デフォルトの名無しさん
2009/09/28(月) 23:49:23名前、年齢を入力して
20歳以上なら〜以下なら〜で作ったのですが
入力が両方から文字の場合エラーを報告するにはどうしたらいいのでしょうか
今はif(name == "" && toshi == "")
{ Console.W〜えらーだよ
}
な感じなんですが
空文字で進めるとコンソールのほうからエラーをだしてきます
どのように対処したらいいでしょうか・・・
0592デフォルトの名無しさん
2009/09/28(月) 23:52:230593デフォルトの名無しさん
2009/09/28(月) 23:52:400594デフォルトの名無しさん
2009/09/28(月) 23:56:23コンソールじゃねえのかよ
0595デフォルトの名無しさん
2009/09/28(月) 23:57:510596デフォルトの名無しさん
2009/09/28(月) 23:59:160597デフォルトの名無しさん
2009/09/29(火) 00:00:140598デフォルトの名無しさん
2009/09/29(火) 00:32:250599デフォルトの名無しさん
2009/09/29(火) 01:34:50寂しい人向け
混む時間帯は人気ありすぎて定員オーバーで入れん
24時間荒れ放題の超カオスな絵チャット
本当の本当に完全無法地帯の絵チャット
(2ちゃんとは比較にならない)
荒しとプログラマーと防衛プログラマーの攻防戦
防衛側が強し、求む強力荒しプログラマー
しかも外国サーバー(イギリス)で管理人は荒し容認
殺人予告すらOKっぽい。ログなんて当然取ってないし
0600デフォルトの名無しさん
2009/09/29(火) 03:08:280601デフォルトの名無しさん
2009/09/29(火) 03:12:03ウィルス仕込まれた
0603デフォルトの名無しさん
2009/09/29(火) 07:12:300604デフォルトの名無しさん
2009/09/29(火) 10:58:23その古くなったlog.txtを作成日時にリネームして退避し、
新たにlog.txtを生成してそこにログを書きこみたいと思いました。
起動時しか確認しない理由は、処理コストを考えて。
一般的なファイルの更新日時を確認するやり方で無く、作成日時で行うのは、
24時間以上、アプリが再起動されなかった場合を考慮してです。
さて、本題ですが、例えば作成日時が25日のlog.txtをlog_25.txtにリネームして、
新たにlog.txtを作成した場合に、新しいlog.txtの作成日時も25日のままです。
File.GetCreationTime(filePath).Dateで取得しています。
ファイルのタイムスタンプってファイルじゃ無くファイル名に紐付くという
そういう性質のものなんでしょうか?
0605デフォルトの名無しさん
2009/09/29(火) 11:06:29はじめからlogyyyymmdd.txtってファイル名じゃだめな理由は?
あとlog4netでぐぐると幸せになれるかもしれない。
0606デフォルトの名無しさん
2009/09/29(火) 11:11:46ログファイルは、別の運用監視ツールで状況をチェックされる可能性があるので、
一般的にアクティブログのファイル名は一定にするのです。
CF3.5で作っているので、log4netは古すぎてちょっと怖いのです。
CF1.0になんとなく対応しているサンプルは入っていましたが。
log4netは毎回日時をチェックするタイプで、更新日付でチェックするタイプですよね。
今の.NETってDiagnostics.Traceがリリースビルドでも使えるように出来るので、
これをうまく使うと、良い感じでログクラスが使えるかと思ったんですが。
どうやらファイルシステムによっても違うのかも。VistaのNTFSなんですけれど。
0607デフォルトの名無しさん
2009/09/29(火) 11:36:46log.txtがあればリネーム退避する。
ファイルを作る時にlog.txtがあれば書き込み、なければ新規作成して書き込む。
これでいけそうだが。
24時間に1回の処理をコスト高というなら何も言わない。
0608デフォルトの名無しさん
2009/09/29(火) 11:53:10NLOGだったか、忘れたけどそっちの方がまだいい。
でまあ俺も最初から日付で作りゃいいと思うぞ。
0609デフォルトの名無しさん
2009/09/29(火) 11:55:120610デフォルトの名無しさん
2009/09/29(火) 11:57:490時1分に起動することだってあり得るし。
タスクスケジューラで別処理するほどのことじゃないし。
まぁ、作成日時では無く最終更新日時では上手くいくみたいなので、
最終更新日時でお茶を濁してみます。
毎日、0時をまたいで起動されていたら、ローテーションしなくなっちゃいますけれど。
ログ自体に各行に日付が入っているので、
先頭行を読んで処理したりしても良いんですけれど‥‥
0611デフォルトの名無しさん
2009/09/29(火) 12:03:400612デフォルトの名無しさん
2009/09/29(火) 12:41:200613デフォルトの名無しさん
2009/09/29(火) 12:42:440614デフォルトの名無しさん
2009/09/29(火) 12:48:23レジストリは盲点でした。
他でレジストリ使うなら、ちょこっとローテ履歴を書いちゃいますか。
そうですよね、やっぱりログファイルの中身を読めば済むことですよね。
>>604のようなファイル生成日時の怪異が疑問だったのです。
まぁ、ファイル本体とジャーナル情報が別だと考えれば、
>>604も起こりそうですよね。
0615デフォルトの名無しさん
2009/09/29(火) 13:01:08基本日付で作って現在のファイルに対して ln -s logyyyymmdd.txt log.txt とか
0616デフォルトの名無しさん
2009/09/29(火) 13:48:41http://msdn.microsoft.com/ja-jp/library/cc429198.aspx
Windows NT/2000:ファイルの名前変更または削除を行い、その後短時間のうちに復元を行うと、システムは復元対象のファイルの情報をキャッシュ内で検索します。キャッシュに置かれている情報として、短い名前と長い名前のペア、および作成日時が挙げられます。
0617デフォルトの名無しさん
2009/09/30(水) 09:10:36エラーorz
内容:
イントーラの下のほうに、ダウンロードが完了しました。インターネットを切断できます。
って表示されてから数秒後・・・
セットアップ中にエラーが発生しました。
セットアップは以下のコンポーネントをインストールできませんでした:
×Microsoft Visual C# 2008 Express Edition with SP1 - JPN
□これらのコンポーネントを後でインストールするために、セットアップへのショートカットをデスクトップに追加します。
と表示されます。
何回も試しましたが、まったく同じ結果です。。。
visual studio c# は前(今より空き容量が少なかったとき)インストールに成功したことが
あるので(その後誤ってアンインストール・・・)空き容量の問題ではないと思います。
現在の空き容量は2.8GB
どうか解決策などあればお願いします。
0618デフォルトの名無しさん
2009/09/30(水) 09:26:230619デフォルトの名無しさん
2009/09/30(水) 19:56:03using System.Drawing;
using System.Windows.Forms;
class MyClass : Form
{
public static void Main()
{
MyClass mf = new MyClass();
Application.Run(mf);
}
MyClass(){
ListBox lb = new ListBox();
lb.Parent = this;
lb.Location = new Point(10,10);
lb.AllowDrop = true;
}
}
ドラッグ&ドロップ可能なリストボックスを作ろうとしてます。
これだと実行した直後に、「DragDrop登録は成功しませんでした」と
例外エラーが表示されてうまくいきません。
AllowDropをtrueにする以外に何か必要なのでしょうか?
どなたか助けてください 初歩的な質問ですみません
0620デフォルトの名無しさん
2009/09/30(水) 20:34:13他のプロセスの窓を隠したい(this.Hide())のですが
どのように書けばいいんでしょう。調べるにもワードが分からなくて・・・。
他のプロセスに介入するのは始めてです。基本だけでもいいので教えて下さい。
よろしくお願いします。
0621デフォルトの名無しさん
2009/09/30(水) 20:37:20ShowWindow() API とかだな。
0622デフォルトの名無しさん
2009/09/30(水) 20:38:55STAThread
0623デフォルトの名無しさん
2009/09/30(水) 20:49:11調べてみます。ありがとうございました。
0624デフォルトの名無しさん
2009/09/30(水) 21:41:44見事に解決しました
ありがとうございます
0625デフォルトの名無しさん
2009/09/30(水) 22:14:150626デフォルトの名無しさん
2009/10/01(木) 19:21:48EXEってWindowsネイティブでしょ?
これでマルチプラットフォームが実現できてるの?
0627デフォルトの名無しさん
2009/10/01(木) 19:33:360628デフォルトの名無しさん
2009/10/01(木) 19:38:090629デフォルトの名無しさん
2009/10/01(木) 19:46:090630デフォルトの名無しさん
2009/10/01(木) 19:46:590631デフォルトの名無しさん
2009/10/01(木) 19:55:09で、実行時にコンパイルされる。
0632デフォルトの名無しさん
2009/10/01(木) 21:49:100633デフォルトの名無しさん
2009/10/01(木) 22:06:14MS自身はクロスプラットフォームなんて目指してねぇぞ。
アセンブリがexeやdllになってるのもWindows上での利便性を考慮してのことだし。
0634デフォルトの名無しさん
2009/10/01(木) 22:15:59そのうち今と全く構造の違うWindowsが出るかもしれないし
0635デフォルトの名無しさん
2009/10/01(木) 23:56:320636626
2009/10/01(木) 23:57:09環境がWinしか無くて他は試せませんが、多分動くんですよね。
気になっているのが>>631の[EXEだけどIL]ってフレーズ。
EXEはWinが直接開いちゃうからIL読めないはず。
だからEXEを叩いた時、何らかの仕組みによって先にCLRを起動しEXEを読ませるんですよね。
それがどんな仕組み(関連付け?)なのか知りたいんです。
あと、クロスプラットフォームは建前だから
どっか設定変えなきゃWinネイティブなEXEになっちゃうのかな〜と思ったんです。
まぁさすがにそれは無いですよね
0637デフォルトの名無しさん
2009/10/02(金) 00:00:570638デフォルトの名無しさん
2009/10/02(金) 00:18:18これ読むといいよ
http://www.atmarkit.co.jp/fdotnet/dotnetwork/dotnetwork02/dotnetwork02_02.html
0639デフォルトの名無しさん
2009/10/02(金) 00:26:09.NET Frameworkの初期化処理を呼び出すだけのネイティブコードがEXEに入っていた。
それで、WindowsではEXEファイルとして実行できた。
もっとも、それは過去の話。
そのネイティブコード部分を書き換えるウィルスが流行ったせいで、
(あるいはそれ以前から計画されていたのかも)
今では、Winodwsローダに手が加えられていて、EXEのヘッダを見て.NETアセンブリなら
EXE内のコードを実行せずに直接.NET Frameworkの初期化処理を実行するようになっている。
ちなみに、.NET Frameworkの初期化処理 = mscoree.dllの_CorExeMain。
http://msdn.microsoft.com/ja-jp/library/xh0859k0.aspx
0640デフォルトの名無しさん
2009/10/02(金) 00:42:26そのはず。
win2000などでは今でもCLRのブートコードが使用されるが、
XP以降は実行されない。
/platform:x64などでコンパイルするとブートコード自体生成されない。
0641626
2009/10/02(金) 01:58:44まさにこんなのが知りたかったんです!
いや〜MS製品って難しいですね。
ちょっとした便利機能の一つ一つが魔法に見えます。
自分でももうちょっと調べてみます。
0642デフォルトの名無しさん
2009/10/02(金) 10:32:56Equals(T other)メソッドを実行してくれません。
CodeとNameが同じでもfalseとなってしまいます。
何がおかしいのでしょうか・・・?
public override bool Equals(object obj)
{
if (obj == null)
{
return false;
}
return this.Equals(obj as Foo);
}
public bool Equals(Foo other)
{
if (other == null) //ここにブレイク張っても止まらない。
{
return false;
}
return this.Code == other.Code && this.Name == other.Name;
}
0643デフォルトの名無しさん
2009/10/02(金) 10:34:59object で比較してるところ。
0644デフォルトの名無しさん
2009/10/02(金) 10:53:12すみませんが、なぜおかしいのか教えていただけませんか?
0645デフォルトの名無しさん
2009/10/02(金) 11:46:400646デフォルトの名無しさん
2009/10/02(金) 12:19:54今まで作成したクラスではブレイク張るときちんと止まってくれてました。==はオーバーライドしてません。今も別のプロジェクトのクラスはブレイクします。
0647デフォルトの名無しさん
2009/10/02(金) 12:27:12既にリリース済のプロジェクトも複数ありますがなぜ動いているんでしょ…
0648デフォルトの名無しさん
2009/10/02(金) 17:12:14詳細はコードスニペットのequalsで。
0649デフォルトの名無しさん
2009/10/02(金) 20:17:21誰かがMSにバグだって報告してたな。
結果は仕様どおりだったけど。
0650デフォルトの名無しさん
2009/10/02(金) 22:15:14==とIEquatable<T>は全く関係ない。
==演算子をオーバーライドしないと呼ばれるはずがない。どこかで勘違いしてる。
0651デフォルトの名無しさん
2009/10/02(金) 22:27:190652デフォルトの名無しさん
2009/10/02(金) 22:37:26辻褄が合わなくなって正しく動かない場合がある
0653デフォルトの名無しさん
2009/10/02(金) 22:42:49http://msdn.microsoft.com/ja-jp/library/cc681221.aspx
画像を返すには戻り値をStreamにするのですが、このStreamは
Closeはしなくても大丈夫なんでしょうか?
クライアントでStreamをCloseしたらサーバ側でもCloseされる?
そもそもMemoryStreamだからCloseしなくても大丈夫?
APIを繰り返し呼んでみてもメモリリークしている様子はないので大丈夫そうなんですが、
いまいち確証が得られず心配です。
0654デフォルトの名無しさん
2009/10/02(金) 22:50:550655デフォルトの名無しさん
2009/10/02(金) 22:50:580656デフォルトの名無しさん
2009/10/02(金) 22:58:47演算子はオーバーロードなー
0657デフォルトの名無しさん
2009/10/02(金) 23:38:40すいません、解決しました。
・OperationContractのOperationBehaviorAttributeのAutoDisposeParametersがtrueならば
Streamの終端に達すると自動的にDisposeされる。
デフォルトはtrue
・↑をfalseに設定した場合はOperationCompletedで自分でCloseする
http://msdn.microsoft.com/ja-jp/library/system.servicemodel.operationcontext.operationcompleted.aspx
ttp://devdump.wordpress.com/2008/12/07/disposing-return-values/
0658デフォルトの名無しさん
2009/10/02(金) 23:52:05動きを勘違いしてるんじゃないか?
これは明らかに、バインディングがビヘイビアか知らんがストリームをバイト列として送信する機能が入ってる。
クライアント側がどうしようが関係ない。
サーバ側では受け取ったストリームを読みだして最後にCloseしてることだろう。
気になるならStreamのラッパー作って返すようにしてブレイクさせてみりゃ多分分かる。
0659デフォルトの名無しさん
2009/10/02(金) 23:54:290660デフォルトの名無しさん
2009/10/03(土) 02:01:010661デフォルトの名無しさん
2009/10/03(土) 02:05:020662デフォルトの名無しさん
2009/10/03(土) 02:08:300663デフォルトの名無しさん
2009/10/03(土) 13:40:56あなたがバカなこともしってるよ
0664デフォルトの名無しさん
2009/10/03(土) 22:22:51認識しているの?
聞きたいことは、要するにControlから派生してコンテナを作るには
どうしたらいいのかということなんですが。
MSDNのGroupBoxの項を読んでも、特別な属性がついてるわけでも
特別なインターフェイスを実装しているわけでもないようだけど。
0665デフォルトの名無しさん
2009/10/03(土) 22:56:340666デフォルトの名無しさん
2009/10/03(土) 23:26:24なるほど、気がつかなかった。
ありがとう。
0667デフォルトの名無しさん
2009/10/04(日) 04:47:00何を表すのでしょうか? @について調べたいのですが検索できない状態です。
0668デフォルトの名無しさん
2009/10/04(日) 04:59:25キーワードをエスケープするための表現。
"this"という名前の変数を使いたいときは@thisと書く。
0669デフォルトの名無しさん
2009/10/04(日) 05:03:34逐語的識別子ですね。
http://msdn.microsoft.com/ja-jp/library/aa664670%28VS.71%29.aspx
http://www.atmarkit.co.jp/fdotnet/dotnettips/250identifier/identifier.html
0670デフォルトの名無しさん
2009/10/05(月) 02:20:31AとBと言う2つのComboBoxを作って
Aにアイテム1とアイテム2を入れる、Bにグループ1とグループ2を入れる
Aでアイテム1が選択された時は、Bにグループ1だけが表示される様にする
同様にアイテム2が選択された時は、Bにグループ2だけが表示される様にする
としたい場合、どうしたらいいのでしょうか?
0671デフォルトの名無しさん
2009/10/05(月) 02:41:11データソースはなに?
0672デフォルトの名無しさん
2009/10/05(月) 02:49:090673デフォルトの名無しさん
2009/10/05(月) 02:55:340674デフォルトの名無しさん
2009/10/05(月) 03:01:38むしろそこまで具体的なのに何がどう行えないのかわからない
0675デフォルトの名無しさん
2009/10/05(月) 04:30:000676デフォルトの名無しさん
2009/10/05(月) 17:36:090677デフォルトの名無しさん
2009/10/06(火) 00:50:53エクスプローラで.asfファイルのプロパティを見て概要タブをクリックすると
タイトルや画像サイズ等が表示されます。この情報です。
Java等、別の言語でも良いので何か良い方法があれば教えてください。
0678デフォルトの名無しさん
2009/10/06(火) 01:02:220679デフォルトの名無しさん
2009/10/06(火) 01:21:450680デフォルトの名無しさん
2009/10/06(火) 01:32:330681デフォルトの名無しさん
2009/10/06(火) 11:30:47http://www.microsoft.com/japan/windows/windowsmedia/format/asfspec.aspx
仕様見て自分でBinaryReaderで読めばいい
ヘッダだけなら全然難しくなさそう
0682デフォルトの名無しさん
2009/10/06(火) 11:32:040683デフォルトの名無しさん
2009/10/06(火) 22:46:130684デフォルトの名無しさん
2009/10/06(火) 22:46:49少し前に質問したものです。
いまだに分からないものがあり質問させてください。
�@RC2CryptoServiceProvider
と
�AICryptoTransform
っていうのは何をしているものなのでしょうか・・・・
調べても正直わからないのです。
// データ ストリームを暗号変換にリンクするストリームを生成
変数名 変数名 ストリームのモード(書き込み)
CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write);
これも分からずリンクするというのはどういうことなんでしょうか。
0685デフォルトの名無しさん
2009/10/06(火) 23:09:24xxCryptoServiceProvider は、それぞれの ICryptoTransform を得るファクトリ。
ってところまではヘルプ読めるなら分かるとおもうが、読み込みが足りていないんじゃない?
んでCryptoStreamのコンストラクタだけど、
暗号化の対象とするストリーム、実行する変換、およびストリームのモードを指定して、
CryptoStream クラスの新しいインスタンスを初期化します。
public CryptoStream(
Stream stream,
ICryptoTransform transform,
CryptoStreamMode mode
)
つまりencryptorが暗号変換のオブジェクトで、これを使ってストリームをラップしているだけ。
人様のコメント頼っちゃだめよ。
0686デフォルトの名無しさん
2009/10/06(火) 23:21:27class Hoge {
object member;
~Hoge() { /* ここでmemberがGC対象になっているかどうかを知りたい */
}
0687デフォルトの名無しさん
2009/10/06(火) 23:29:12ない
0688デフォルトの名無しさん
2009/10/06(火) 23:40:55GC.WaitForPendingFinalizers してから解放されたか調べる。
というのは駄目かなぁ?
0689デフォルトの名無しさん
2009/10/07(水) 00:24:260690デフォルトの名無しさん
2009/10/07(水) 00:29:070691686
2009/10/07(水) 00:30:16class Hoge {
public object member;
public WeakReference weakRef;
~Hoge() { Console.WriteLine(weakRef.IsAlive); weakRefList.Remove(weakRef); }
}
static void Test(){
var hoge = new Hoge();
hoge.member = new object();
hoge.weakRef = new WeakReference(hoge.member);
weakRefList.Add(hoge.weakRef);
}
正しいのかはわかりませんが,それっぽい動作にはなりました。
weakRefはどこかで強参照を確保しておかないとそれ自身がGC対象になってしまってうまくいかないようです。
0692デフォルトの名無しさん
2009/10/07(水) 07:44:100693686
2009/10/07(水) 12:58:300694686
2009/10/07(水) 13:06:19GCHandleって弱参照にもできたんですね。知りませんでした。
GCHandleなら>>691のように参照を確保しておく必要はなさそうです。ありがとうございます。
0695デフォルトの名無しさん
2009/10/07(水) 14:09:390696デフォルトの名無しさん
2009/10/07(水) 20:33:150697デフォルトの名無しさん
2009/10/07(水) 22:48:48何故かC#とC++の関数, メソッドのヒントが英語で表示されるようになってしまいました
ツール→オプション→国際対応の設定は日本語に設定してあります
元に戻す方法を教えて下さい
0698デフォルトの名無しさん
2009/10/07(水) 22:50:49OSを再インストールするしかない
早く窓から投げ捨てろ
0699デフォルトの名無しさん
2009/10/07(水) 22:53:27名前忘れたけどパッチが出てるから探すヨロし
0700デフォルトの名無しさん
2009/10/07(水) 22:54:28http://support.microsoft.com/kb/957507
0701デフォルトの名無しさん
2009/10/07(水) 22:59:16これバグなんですか?
パッチ当ててみます
0702デフォルトの名無しさん
2009/10/07(水) 23:07:46迅速なレスありがとうございました
0703デフォルトの名無しさん
2009/10/08(木) 01:01:36一応。バグっつーかたぶん翻訳が終わる前に SP を出した
のだと思う。
実際このパッチが出るまで結構かかったからこの判断は
ありがたかったとは思う
0704デフォルトの名無しさん
2009/10/08(木) 02:09:10目的は
public enum test {test1,test2}
test.test1.ToString()
とした場合、結果をTEST1という風にしたいのです
(最初からTEST1,TEST2にしておけといわれればそれまでなんですが
コードの書式のポリシーに反するからオーバーライドで解決したいのです)
0705デフォルトの名無しさん
2009/10/08(木) 02:12:55無理。
属性を使うとかして、全く別のものを定義してやる必要がある。
0706デフォルトの名無しさん
2009/10/08(木) 02:27:49ありがとうございます
むむむ、やはり無理ですか…
属性について色々みてみたのですが
新しいメソッドやクラスの属性化は何となくわかったのですが
既存のクラス、System.Enum.ToStringの属性化が今ひとつわからず…
規約破って実装するかswitch等で判別して一つ一つ置き換えるしかなさそうですね…
0707デフォルトの名無しさん
2009/10/08(木) 05:32:24http://neue.cc/2009/08/25_194.html
拡張メソッド+switch
http://d.hatena.ne.jp/siokoshou/20080124#p1
他になんかもっと面白いのないかな
0708デフォルトの名無しさん
2009/10/08(木) 07:18:23Enumにメソッドは駄目とILレベルでエラーにされた。
0709デフォルトの名無しさん
2009/10/08(木) 15:38:07class Person { public string Name; public Person[] Children; }
person.Children[i].Children[j].Children[k] …
一番最初の Name == "太郎" な Person を
Linq で検索するにはどうしたらよいでしょうか?
世代が一段であれば
person.Children.Where(p => p.Name == "太郎").FirstOrDefault()
でよいのですが、無限に世代が続く場合がわかりません。
そもそも Linq では無理でしょうか・・
0710デフォルトの名無しさん
2009/10/08(木) 15:48:06素直に探索メソッド作った方がいいんじゃないの?
0711デフォルトの名無しさん
2009/10/08(木) 15:56:430712デフォルトの名無しさん
2009/10/08(木) 15:58:54その結果に対してFirstOrDefaultするしかないな
0713デフォルトの名無しさん
2009/10/08(木) 16:10:180714デフォルトの名無しさん
2009/10/08(木) 18:54:07IEnumerable<T> TraverseDepthFirst<T>(T node, Func<T, IEnumerable<T>> childrenSelector)
IEnumerable<T> TraverseBreadthFirst<T>(T node, Func<T, IEnumerable<T>> childrenSelector)
ライセンス気にしなくてもいいなら、探せば見つかるからコピペでも
あと、TraverseじゃなくてSelectDescendentsとかでもいいかも
0715デフォルトの名無しさん
2009/10/08(木) 20:16:56ググってみても子ノード追加のみでどこにもみあたりません・・・
0716デフォルトの名無しさん
2009/10/08(木) 20:21:02兄弟なら親ノードのNodesを参照すればいいだけだろ
0717デフォルトの名無しさん
2009/10/08(木) 20:22:20言葉足らずですみせん
正確にはDragAndDropでの区別、追加のサンプルです
0718デフォルトの名無しさん
2009/10/08(木) 20:38:370719デフォルトの名無しさん
2009/10/08(木) 20:43:38区別は兄弟ノードの上下又は孫ノードの区別になります
追加(又は移動)はノードをDragAndDropして何処に追加又は移動するかになります
http://dobon.net/vb/dotnet/control/tvdraganddrop.html
例えばここのサンプルは区別をせず孫ノードへの移動(又は追加)のみとなり
これに加えて兄弟ノードへのノードの移動(又は追加)をしたいのです
0720デフォルトの名無しさん
2009/10/09(金) 01:17:27「何」の「何」が知りたいの?
>区別は兄弟ノードの上下
上下の区別って何?位置が知りたいのじゃなくて?
>孫ノードの区別になります
意味不明
0721デフォルトの名無しさん
2009/10/09(金) 03:03:380722デフォルトの名無しさん
2009/10/09(金) 03:09:52んー書き方が悪いのかな
DragAndDropでノードを移動させたい
やりたいのはこれです
>>719のサンプルだと移動先が常に子ノードになるから目的にはそわない
http://www.devcomponents.com/dotnetbar/img/AdvTree2.png
この海外の有料コンポのようにDrop先の子ノードじゃなく兄弟ノードに移動させたい
ついでにいうとこのようにラインも引きたい
と言うような事をやりたいのです
0723デフォルトの名無しさん
2009/10/09(金) 04:19:330724デフォルトの名無しさん
2009/10/09(金) 04:41:10ユーザにはDrag先のノードの子にするか兄弟にするか選択させたいのです
兄弟のみ子のみなのであれば簡単に実装できるのですが
両方となると判定方法がよくわかりません
0725デフォルトの名無しさん
2009/10/09(金) 04:42:38確かにC言語の衰退は避けられない事実です。
- それはどうしてですか
趣味でC言語を体得しようとするプログラマがいないからでしょうね。
- 会社で使ってるのに趣味で使いたくない?
そうでしょうね。
そもそもC言語は生産効率向上には寄与しなかったと言う事実があります。
仕様書を噛み砕くだけの、馬耳東風な感覚では愛着が湧かないでしょう。
- 将来的にCプログラマは切り捨てられる?
すでに旧来のCプログラマは他の言語に移管してると思います。
職業的にもCでは使えない状況ですし。
- 加速するIT化に対応できないと言うことですか。
他の言語群がCを包括的に上回っています。
- BASIC言語の台頭の可能性はあると思いますか。
あるでしょうね。
言語仕様が簡素化されて生産効率が上がれば可能性はあると思います。
- かつてCはBASICより速い実行コードを生成すると自慢していましたが。
それは過去の幻想でしょうね。
0726デフォルトの名無しさん
2009/10/09(金) 05:40:40それってつまり、自分がどういうUIをデザインしたいか分からない
ってことでは?
0727デフォルトの名無しさん
2009/10/09(金) 06:53:46C#でも簡単じゃない
その手の処理は海外のコントロールを使用した方が無難
TreeViewとGridのコントロールは金になるからね
ググっても出てこないのはその為
0728デフォルトの名無しさん
2009/10/09(金) 08:08:46リファクタも2,3回やってやっときれいでまともなものになったな。
0729デフォルトの名無しさん
2009/10/09(金) 10:44:520730デフォルトの名無しさん
2009/10/09(金) 11:37:45CodeProjectでダウンロードできるぞ。
0731デフォルトの名無しさん
2009/10/09(金) 11:45:33?
>>727
なる程…
そう言った理由があるんですね…
>>730
たしかVBでかかれてるものですよね?
昨日、ダウンロードしてみましたが望みの物と違いました
0732デフォルトの名無しさん
2009/10/09(金) 12:42:29そのクラスのなかにイベントを作り、スレッドのなかからそのイベントを発生させるようにしました。
メインフォームからこのクラスのインスタンスを作り、メインフォームの中に、
イベントハンドラを書き、登録、そしれスレッドを走らせます。
このときスレッドのなかからイベントが起こり、メインフォームのイベントハンドラに
きて、スレッドで計算したものをメインフォームで表示させています。
このとき、イベントハンドラの処理が重くて、イベントハンドラ中の処理が終わる前に、
スレッドからまたイベントが起きた場合どうなるのでしょうか?
ハンドラの処理がおわっていなくてもスレッドがとまるとか、そういうことはありますか?
初歩的質問で申し訳ありませんが、よろしくご教授おねがいいたします。
0733デフォルトの名無しさん
2009/10/09(金) 12:48:48イベントハンドラが走るスレッドはイベントを起こしたスレッドと同じ。
0734デフォルトの名無しさん
2009/10/09(金) 12:52:07ttp://www.codeproject.com/KB/tree/treeviewadv.aspx
0735デフォルトの名無しさん
2009/10/09(金) 13:40:05おお!目的の物はこれだ〜
わざわざありがとうございます
助かりました
0736デフォルトの名無しさん
2009/10/09(金) 15:21:33このとき、ライブラリパスを指定するオプションは何になりますか?(Javaの -classpath 相当です)
やりたいのはライブラリの検索パスにカレントディレクトリを追加することです。
csc /lib:. hello.cs を試したのですが、効果がなさそうでした。
0737デフォルトの名無しさん
2009/10/09(金) 15:26:16つか肝心の参照アセンブリ未指定じゃんかそのコマンドライン
0738デフォルトの名無しさん
2009/10/09(金) 16:04:28>>736
csc /r:FooBar.dll helo.cs
でいけました。おさわがせしました。
まあコマンドラインから使うほうが頭どうかしてると言われるとその通りなんですが。
0739デフォルトの名無しさん
2009/10/09(金) 19:05:38ということは、そのスレッドがイベントを発生した場合、
そのイベントハンドラ中の処理がおわるまで、スレッドは進まないということですね・・・
勉強不測ですいません。ありがとうございます。
実はそのスレッドは、他アプリケーションが出すデータを取得しつづけていて、
あるデータが取得したときにイベントを起こしていたわけですが、
イベントハンドラの処理が重い場合、次のデータと取りこぼしてしまう可能性があるわけですねぇ・・
ということはスレッド内では目的のデータを取得したらQueにつめるとかして、
別スレッドでQueからみていたほうがいいのかな・・・
0740デフォルトの名無しさん
2009/10/09(金) 20:12:03イベントを非同期で発行する方法もあるけど、
まあ止めといた方が無難だね。
0741デフォルトの名無しさん
2009/10/09(金) 20:24:310742デフォルトの名無しさん
2009/10/09(金) 22:08:420743デフォルトの名無しさん
2009/10/09(金) 22:13:21timerを使って特定のプロセス開始を知る
というのがどういうことか理解できる人間はエスパーだと思うよ。
0744デフォルトの名無しさん
2009/10/09(金) 22:13:520745デフォルトの名無しさん
2009/10/09(金) 22:43:5310秒も待てば始まってるんじゃないの?ってことでは?
0746デフォルトの名無しさん
2009/10/10(土) 00:47:06ぶっちゃけいうと、スレッドを使ったプログラムを作れる段階にいません。
もう少し精進してから本番に取りかからないと死ねます。
0747デフォルトの名無しさん
2009/10/10(土) 01:27:380748747
2009/10/10(土) 01:29:10&gt;を>に変換する関数を探してます
0749デフォルトの名無しさん
2009/10/10(土) 01:33:370750デフォルトの名無しさん
2009/10/10(土) 01:37:05sannkusu
0751デフォルトの名無しさん
2009/10/10(土) 06:36:43抽象クラスからしか抽象メソッドは作れないのでしょうか?
継承元Formで抽象メソッドを定義したいのですがコンパイラに怒られてしまいます
0752デフォルトの名無しさん
2009/10/10(土) 06:41:58隠蔽ならできるよ。
0753デフォルトの名無しさん
2009/10/10(土) 06:48:29隠蔽というとprivateかな?
以前の作り方として継承元Formを作って
それを継承したFormで実装し忘れ等を無くす為にabstractを使用してました
メソッドの定義を忘れるとコンパイラが教えてくれるので重宝していたのですが…
継承元のメソッドをvirtualで定義するとなると実装し忘れが防げないですよね…
かといって継承元Formを抽象化する事も出来ないし
うーむ…
0754デフォルトの名無しさん
2009/10/10(土) 06:58:50継承元のフォームは単独でnew出来るようにしたい。
継承先のフォームでは特定のメソッドのoverrideを強制したい。
つうこと??
0755デフォルトの名無しさん
2009/10/10(土) 07:12:13> 継承先のフォームでは特定のメソッドのoverrideを強制したい。
そうです
ただ最初の”継承元のフォームは単独でnew出来るようにしたい。”はちょっと違います
上手く説明出来るかわかりませんがこのようにしたいのです
継承先のFormのコントロールのデータが更新されてれば
継承元のFormにあるbtnApply.Enabledを変更するようにします
継承元Form
protected abstract bool isChangeData(); //これを必ず継承先で定義させたい
protected void updateApplyButton(){
btnApply.Enabled = isChangeData();
}
継承先Form
protected abstract bool isChangeData(){
return (data1 != tbxData1.Text 〜)//データ更新の判定処理
}
このやり方のメリットは不必要にコントロールをprotectedにしないくてもいい点
実装し忘れを防げる点
この2点です
しかしisChangeDataが抽象化出来ないのでvirtualで代用すると実装し忘れが防げませんし
btnApplyをprotectedにして継承先Formで触ると設計上変更に弱いのでそれはやめたいのです
0756デフォルトの名無しさん
2009/10/10(土) 07:14:31継承先Form
×protected abstract bool isChangeData(){
○protected override bool isChangeData(){
0757デフォルトの名無しさん
2009/10/10(土) 07:17:59それを避けたい理由が分からない。
abstract public partial class Form2 : Form
{
public abstract void Hoge();
0758デフォルトの名無しさん
2009/10/10(土) 07:21:00あら…、勘違いしてました
partialをアクセス識別子と思ってましたw
仰るとおり、クラスを抽象化して実装できました
ありがとうございます助かりました
0759デフォルトの名無しさん
2009/10/10(土) 07:26:310760デフォルトの名無しさん
2009/10/10(土) 07:27:07デザイナが…
>>759
Yeswww
ビルドしたらなったwwww
0761デフォルトの名無しさん
2009/10/10(土) 09:52:46フォームに直接データの処理を書くのが間違い
0762デフォルトの名無しさん
2009/10/10(土) 10:07:29デリゲートで Click += hoge でやるのが普通な気が。
0763デフォルトの名無しさん
2009/10/10(土) 10:19:19特にデリゲートを取り消すために-=使うのが面倒。
0764デフォルトの名無しさん
2009/10/10(土) 10:21:32取り消す場面ってそんなに多い?
0765デフォルトの名無しさん
2009/10/10(土) 10:25:40使い終わったら-=しないかぎりメモリリークするよ
0766デフォルトの名無しさん
2009/10/10(土) 10:28:150767デフォルトの名無しさん
2009/10/10(土) 10:30:040768デフォルトの名無しさん
2009/10/10(土) 10:34:29フォーム閉じるときにデリゲート切らないとリソース開放できないし。
0769デフォルトの名無しさん
2009/10/10(土) 10:34:34いちいち手動で解除してるの?
0770デフォルトの名無しさん
2009/10/10(土) 10:35:14>>755の処理ってFormのビューの部分だからデータ処理じゃなくね?
>>757みたいにしてエラー出なければベストだと思う
0771デフォルトの名無しさん
2009/10/10(土) 10:36:02でも自分より寿命の長いオブジェクトに登録することが全く無いかというとそういうわけでもない
そのときは必ず-=しないとメモリリーク
0772デフォルトの名無しさん
2009/10/10(土) 10:36:56フォーム間で共通のイベント?
0773デフォルトの名無しさん
2009/10/10(土) 10:41:00-= を自動でしてもらう仕組みがあった方がいいのかな。
Reaction Framework ではどうなってるんだろう。
0774デフォルトの名無しさん
2009/10/10(土) 10:43:23WPFには呼び出し対象への参照をWeakReferenceで保持することでGCの対象から外れないようにする
WeakEventパターンというのがある
0775デフォルトの名無しさん
2009/10/10(土) 10:44:22Application.Idleで対応してたな。
あれは-=をこまめにしないといけなかったから面倒だった。
でもまあ、そういうケースは多くはないと思うけど。
0776デフォルトの名無しさん
2009/10/10(土) 10:47:41データソースへのバインディングとか
0777デフォルトの名無しさん
2009/10/10(土) 10:54:49なるほど、理解した
ん?ってことはここの人はみんな-=してんの?
WeakEventパターン使うにしてもコスト高くね?
0778デフォルトの名無しさん
2009/10/10(土) 11:08:430779デフォルトの名無しさん
2009/10/10(土) 11:12:010780デフォルトの名無しさん
2009/10/10(土) 11:30:14MVCの理念でいくと
TextBox1.Text = "hoge";
TextBox2.Text = "foo";
TextBox3.Text = "bar";
ってどうやって実装するの?
dataはデータを保持するクラスとして
TextBox1.Text = data.hoge;
TextBox2.Text = data.foo;
TextBox3.Text = data.bar;
とFormに書いたら邪道なのかな?
間に何か挟むクラスを作らないと駄目?
ワケワカメ><
0781デフォルトの名無しさん
2009/10/10(土) 11:33:28だからBが生きてる限りはAはGCに回収されない
構造上自然で必要なことなんだけどしばしば問題になる
0782デフォルトの名無しさん
2009/10/10(土) 11:38:130783デフォルトの名無しさん
2009/10/10(土) 11:50:55バインディング使うのがいいんじゃね?
0784デフォルトの名無しさん
2009/10/10(土) 12:02:08まあそんな頻繁に困ることはないけど。
0785デフォルトの名無しさん
2009/10/10(土) 18:44:31早速質問なんですがソースありきのサードパーティ製のコントロールをdll参照無しに取り込む事は出来ますか?
配布時、単一(.Netの時点で単一はないけれど…)のexeで配布したいと思っています
0786デフォルトの名無しさん
2009/10/10(土) 18:50:24それを理解しろというのは天才じゃなくエスパーマターでは
0787デフォルトの名無しさん
2009/10/10(土) 18:53:37書き直してみますた!
通常、サードパーティ製のコントロールはdllも配布しないと配布先でアプリが起動できない
でもdll配布したくないよー
サードパーティ製のコントロールのソースあるからプロジェクトに取り込んでdll配布無しでも行ける気がするぞ・・・
よし、ここで聞いてみよう
こうです・・・
0788デフォルトの名無しさん
2009/10/10(土) 18:55:50ライセンス違反にならないかどうかちゃんと確認しろよ
0789デフォルトの名無しさん
2009/10/10(土) 18:58:50おーさっそくやってみますだー
ありがとー
0790デフォルトの名無しさん
2009/10/10(土) 19:05:30リソースにdllぶちこんで実行時にアプリフォルダに展開
エセ単一アプリ><って出来る?
起動すら出来ないからdllをリソースから取り出してアプリフォルダに置く事が出来ないっぽいけど・・・
0791デフォルトの名無しさん
2009/10/10(土) 19:08:04設計に工夫が必要だけどできないことはないはず
0792デフォルトの名無しさん
2009/10/10(土) 19:10:06えーと、、つまりdll使用してるフォームを使う前にdllを取り出して動的参照するって事かのぉ
どうやるんだろ?
どっかにサンプルないかな?
あっしのヘタレ脳みそじゃどうググればいいのかワケワカメ・・・
0793デフォルトの名無しさん
2009/10/10(土) 19:11:06おれは使ったことないからよくわかんないけど
0794デフォルトの名無しさん
2009/10/10(土) 19:13:31すごーーーーーーーーーい!!!!!!
チュウしたいぐらい感動した
これよこれ!
これならdll展開しなくてもよさそうじゃん!
やばい、かっこいい、惚れた><
0795デフォルトの名無しさん
2009/10/10(土) 20:00:300796デフォルトの名無しさん
2009/10/10(土) 20:46:540797デフォルトの名無しさん
2009/10/10(土) 21:14:510798デフォルトの名無しさん
2009/10/10(土) 21:15:310799デフォルトの名無しさん
2009/10/10(土) 21:15:35実際に使っうのは自社のdllじゃーーーーー
配布の時、めんどくさいじゃん
頻繁にupdateするならdllで分けた方がいいけどそうじゃないし
つかいいすぎだろ、おまえらw
なんでdllをexeに取り込んだら人間失格みたいになるんだよw
0800デフォルトの名無しさん
2009/10/10(土) 21:16:49VB6と違ってexeの隣に置くだけだし
0801デフォルトの名無しさん
2009/10/10(土) 21:17:57かっこわるいじゃん
dllはモジュール名ついてるし
それをばらばらーってexeのあるフォルダに100個も並べるとかキチガイでしょー
0802デフォルトの名無しさん
2009/10/10(土) 21:20:070803デフォルトの名無しさん
2009/10/10(土) 21:21:43マウスでびろろーんって選択して右クリックして圧縮を選ぶのがめんど、、、
いや、コマンドラインでやるから面倒じゃないんだけどね
なんていうか単にかっこわるいから単一で配布したいだけです、ハイ
0804デフォルトの名無しさん
2009/10/10(土) 21:24:110805デフォルトの名無しさん
2009/10/10(土) 21:26:04GACにブチこんでもそんなもんです
0806デフォルトの名無しさん
2009/10/10(土) 21:26:310807デフォルトの名無しさん
2009/10/10(土) 21:28:08別に無い
exeの参照だって可能だし
0808デフォルトの名無しさん
2009/10/10(土) 21:29:130809デフォルトの名無しさん
2009/10/10(土) 21:30:170810デフォルトの名無しさん
2009/10/10(土) 21:31:57upxも簡単に解凍できるはずがな
0811デフォルトの名無しさん
2009/10/10(土) 21:36:06ソースレベルで取り込んだ方がまし
0812デフォルトの名無しさん
2009/10/10(土) 21:37:37単一で配布するのはなんか気持ちいいし
.NETにも静的リンクが欲しくなる
0813デフォルトの名無しさん
2009/10/10(土) 21:37:480814デフォルトの名無しさん
2009/10/10(土) 21:38:320815デフォルトの名無しさん
2009/10/10(土) 21:41:41ちょっと困惑してるから笑えないな。
アイコンとかも勝手に再利用。
ああいう物にはコピーライトがないとでも思ってるのか
0816デフォルトの名無しさん
2009/10/10(土) 21:46:04自アプリからしか使えないようにシリアル設定するとか
色んなパッカーの重ねがけぐらいしか防ぐ手立てがない
ハックしてまで使おうとは思わないだろうしな
0817デフォルトの名無しさん
2009/10/10(土) 21:46:27それは単に契約違反か契約がいい加減すぎたかのどっちかだろ
0818デフォルトの名無しさん
2009/10/10(土) 21:55:54まあそうなんだけど、中小企業同士だとお互いに面倒だからきっちり契約書かわすなんて
しないのが世の中の実態じゃない?
0819デフォルトの名無しさん
2009/10/10(土) 23:17:49もしかしてスレッドだからOSによっては制限かかってむりかな?
0820デフォルトの名無しさん
2009/10/10(土) 23:22:360821デフォルトの名無しさん
2009/10/10(土) 23:25:490822デフォルトの名無しさん
2009/10/10(土) 23:25:591000個も必要になる意味が分からない
0823デフォルトの名無しさん
2009/10/10(土) 23:27:03あなたは一体何を作ろうとしているんだ
0824デフォルトの名無しさん
2009/10/10(土) 23:28:15Cのソースだけど
これhttp://d.hatena.ne.jp/kkkos/20090509/1241853767
みたいに使い回さないとだめなのかなーとか思ってました
>>823
えっと、各オブジェクト毎にタイマー持たせて定期的にイベントを起こそうかと…
0825デフォルトの名無しさん
2009/10/10(土) 23:32:54そのオブジェクトは何をするオブジェクトですか?
0826デフォルトの名無しさん
2009/10/10(土) 23:33:551000個もあるなら1000個がバラバラに動くわけじゃないだろ?
0827デフォルトの名無しさん
2009/10/10(土) 23:35:46えと、定期的にイベントを起こすオブジェクト…おや?
>>826
いわれてみればそうかも
たしかに使い回すのがいい気がしてきた
0828デフォルトの名無しさん
2009/10/10(土) 23:36:180829デフォルトの名無しさん
2009/10/10(土) 23:36:380830デフォルトの名無しさん
2009/10/10(土) 23:38:08答えになってないよ…
0831デフォルトの名無しさん
2009/10/10(土) 23:39:56タイマー一個でそこから定期的に各オブジェクトを呼び出すのが普通だと思う。
0832デフォルトの名無しさん
2009/10/10(土) 23:42:47そんな気がしてきた
あやうく恐ろしい物を作る所だった…
ふぅ…
0833デフォルトの名無しさん
2009/10/10(土) 23:43:520834デフォルトの名無しさん
2009/10/10(土) 23:51:200835デフォルトの名無しさん
2009/10/11(日) 00:18:40数十KBぐらいのものをくっつけるのは楽勝だけど
数百KBの、しかもいろんな参照もってるのをいくつもくっつけるのはたいへん
どうせスタートメニューに登録しなきゃらないしインストーラのほうが楽
0836デフォルトの名無しさん
2009/10/11(日) 00:46:090837デフォルトの名無しさん
2009/10/11(日) 00:55:16835 じゃないが ILMerge は「やっちゃ駄目」な例外条件が
そこそこある。
量が多いとその辺していないか調べる量も増えるし、その
バグが発生して認識するまでも遅れるだろうから、835 の
いうことは分かるが。
0838デフォルトの名無しさん
2009/10/11(日) 05:42:340839デフォルトの名無しさん
2009/10/11(日) 05:45:20オープンソースだから使う意味ない
0840デフォルトの名無しさん
2009/10/11(日) 05:48:14つかった。他の難読化ツールも試したがさっくりいけたのはこれだけだった。
0841デフォルトの名無しさん
2009/10/11(日) 06:41:160842デフォルトの名無しさん
2009/10/11(日) 06:58:43関数などの定義のことならおそらく自動的に作成されたものだから
ライセンスはかかっていない。
っていうか、かかってたらサイトの意味なくならね?
0843デフォルトの名無しさん
2009/10/11(日) 07:01:34あ、そういうものなんですか、じゃあパブリックドメインってことで自由に使えるんですね
どうもありがとうございます
0844デフォルトの名無しさん
2009/10/11(日) 11:16:30左下のTerms of UseのSection4
0845デフォルトの名無しさん
2009/10/11(日) 12:30:09コードなんかなーんにも書けなくなっちまうよw
0846デフォルトの名無しさん
2009/10/11(日) 13:11:470847デフォルトの名無しさん
2009/10/11(日) 13:39:09あ、こんなところにあったんですね、どうもです
非商用ならって言っているからFlexWikiLicenseなコードを
一部利用してますみたいなことはちゃんと書いといたほうがよさそうですね
まあ自分の公開するようなものを商用に利用しようなんて人はいないでしょうけども。
↓のリンクが切れてるので詳しい内容がなんともですが・・・
http://www.flexwiki.com/default.aspx/FlexWiki/FlexWikiLicense.html
>>846
とりあえず動けばそれでいいのでよしとしてます
0848デフォルトの名無しさん
2009/10/11(日) 21:21:540849デフォルトの名無しさん
2009/10/11(日) 22:38:24著作権はかかってないはず。著作権がかかってない限りサイレンスなどは
無視してもいい。
0850デフォルトの名無しさん
2009/10/11(日) 23:18:42パスワードを自動で入力したいのですが、
どのように実装したらよいでしょうか?
ユーザがパスワードを知らなくても
admin権限でインストールされたアプリケーションを
ログオンスクリプトで自動でアンインストールしたいのです。
0851デフォルトの名無しさん
2009/10/11(日) 23:23:22runasで経由しないで、Process.Start(ProcessStartInfo)で
実行したほうがいいんじゃない?
ProcessStartInfoを使えばユーザ名とパスワードは簡単に指定できる。
0852デフォルトの名無しさん
2009/10/11(日) 23:33:230853デフォルトの名無しさん
2009/10/11(日) 23:51:21だな…
0854デフォルトの名無しさん
2009/10/12(月) 01:54:510855デフォルトの名無しさん
2009/10/12(月) 02:14:51ググったけど出来なくて・・・
0856デフォルトの名無しさん
2009/10/12(月) 02:16:21キーイベント拾いたいだけ?
0857デフォルトの名無しさん
2009/10/12(月) 02:55:24例えばF1キーが押された時などに特定の処理を呼びたいのですが
どうすればいいんでしょう?
0858デフォルトの名無しさん
2009/10/12(月) 03:02:300859デフォルトの名無しさん
2009/10/12(月) 03:08:400860デフォルトの名無しさん
2009/10/12(月) 03:35:58.NETのライブラリでかじゃ無理な気がする
0861デフォルトの名無しさん
2009/10/12(月) 04:51:500862デフォルトの名無しさん
2009/10/12(月) 06:14:580863デフォルトの名無しさん
2009/10/12(月) 08:25:380864デフォルトの名無しさん
2009/10/12(月) 10:16:40やりたいことは
<クラス参照用の型> RefMyClass;
RefMyClass = MyClass; //こんな感じでclassその物を入れたい
MyClass = new RefMyClass();
こんな事って出来るのかな?
0865デフォルトの名無しさん
2009/10/12(月) 10:19:330866デフォルトの名無しさん
2009/10/12(月) 10:19:34実行時に型を切り替えたいって言うんならそれは無理。
素直に Factory パターンとか使って。
コンパイル時にクラス名にエイリアス付けたいだけなら、
using RefMyClass = MyClass;
0867デフォルトの名無しさん
2009/10/12(月) 10:32:49今からヘルプみてみます
>>866
Factoryパターンって実体生成の委譲だったっけ?
んと親クラスで子のクラスを知りたくて参照あれば便利だなと思いました
というのもオブジェクトのデシリアライズで型のキャストが必要で
これを親に任せて子は自分のクラスを親に通知と言うような事がしたかったんです
//MyOwnerClass
protected abstruct MyClass RefMyClass();
public void LoadMyClass() {
//省略
(RefMyClass)serializer.Deserialize(fs)//こんな感じでキャストしたい
}
//MyChildClass
protected override RefMyClass(){
return MyChildClass; //ここで自分のクラスを親に通知
}
0868デフォルトの名無しさん
2009/10/12(月) 10:49:260869デフォルトの名無しさん
2009/10/12(月) 10:55:58ジェネリックで出来るのかな?
ジェネリックのイメージとしては型の明示的な宣言、だから使う方はキャストしなくていいよぐらいにしか思ってなかったり…
うーん、ちなみにこの場合はどのようにかけばいいのでしょう?
クラス参照が出来ないとなると
子のオブジェクト全てにpublic void LoadMyClass()を実装しないといけなくなるのでちょっとアレかなぁなんて思ってます
代替案があれば知りたいです…
0870デフォルトの名無しさん
2009/10/12(月) 10:56:34どうしても自分でコード書きたくないならリフレクション使うのがいいんじゃないかなぁ。
0871デフォルトの名無しさん
2009/10/12(月) 11:06:03>いや、親クラス側に手動で登録用コード書くか、
親クラスでこうすると言う事ですか?
public void LoadMyClass() {
if (this is MyChildClass) {
(MyChildClass)serializer.Deserialize(fs)
} else if {this is MyChildClass2} {
(MyChildClass2)serializer.Deserialize(fs)
}
}
すみません
もう少し詳しくお願いします
0872デフォルトの名無しさん
2009/10/12(月) 11:07:33まあ、そんなの。
あんまりお勧めしないけど。
リフレクション使えば?
0873デフォルトの名無しさん
2009/10/12(月) 11:11:51んーこれだと継承されるたびに親を弄らないといけなくなりますね…
付け忘れてもコンパイラは教えてくれないしちょっと困るかなぁ
リフレクション読んでみました
これでどうやって実装すればいいのでしょう?
ざっと読んでクラスに動的にメソッドを付け加えると理解しました
でもこの理解じゃどう打破するかイメージがわかないです…
0874デフォルトの名無しさん
2009/10/12(月) 11:18:35その実装クラスを引数にすればいいんじゃね?
0875デフォルトの名無しさん
2009/10/12(月) 11:23:42どういう事でしょう?
ちょっとイメージが沸かないです…
0876デフォルトの名無しさん
2009/10/12(月) 11:26:23なんかそもそもが変に感じるんだが
0877デフォルトの名無しさん
2009/10/12(月) 11:30:48どこがおかしいのでしょう?
シリアライズ/デシリアライズを親にまかせて
子はそれに必要な情報(この場合はクラス)を教えるだけという設計イメージが変ですか?
0878デフォルトの名無しさん
2009/10/12(月) 11:36:27シリアライズの方は簡単なんだけどねぇ。
[Serializable] public class Shape
{
public void Save(Stream stream)
{
var type = this.GetType();
var xs = new XmlSerializer(type);
xs.Serialize(stream, this);
}
}
public class Circle : Shape
{
public double CenterX, CenterY, Radius;
}
デシリアライズ時、型の判定は誰がやるの?
0879デフォルトの名無しさん
2009/10/12(月) 11:48:132ちゃんねるの有志の皆様へ
ただいまVIPのみんなで例のサイバーテロ集団の本拠地VANKに攻撃をしかける作戦を立てています
VANKとは大韓民国の非政府組織で竹島や日本海を「独島」「東海」などと変更しようとしている基地外団体です。
ただいま人数不足です
下記日時に間に合うように準備し、作戦に参加してくれたら幸いです
作戦決行日時:10月12日正午
→【http://yutori7.2ch.net/test/read.cgi/news4vip/1255301899/】
まとめwiki(要編集)http://www20.atwiki.jp/vipvsvank/pages/1.html
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
0880デフォルトの名無しさん
2009/10/12(月) 12:28:14キャストしてどう使おうとしてるの?
登録?用メソッドをジェネリックメソッドとして用意すりゃキャスト自体は出来るけど、
それで何がしたいのかさっぱり分からん。
0881デフォルトの名無しさん
2009/10/12(月) 12:34:22どこでどう足掻いてもリフレクションが出てくると思う
0882デフォルトの名無しさん
2009/10/12(月) 12:42:270883デフォルトの名無しさん
2009/10/12(月) 12:53:17デシリアライズするときキャストした型でオブジェクトの型が決まると勘違いしてない?
0884デフォルトの名無しさん
2009/10/12(月) 13:00:150885デフォルトの名無しさん
2009/10/12(月) 13:04:23検索結果
CRTP(Curiously Reccursive Template Pattern)
0886デフォルトの名無しさん
2009/10/12(月) 13:04:24こういうの
基底クラスの型が分かれてしまうのでもう一段上に基底クラスが必要になったりして無駄に複雑になる
0887デフォルトの名無しさん
2009/10/12(月) 13:05:24キャストは重い処理だとよく言われるんですが、
あるインターフェイスを実装したクラスをインターフェイスに暗黙キャストするのと、
オブジェクトやインターフェイスや基底クラス型の参照を実体の型にダウンキャストするのと
どっちが遅いんでしょう?
キャストは重いと言いつつ、インターフェイスや基底クラスへの暗黙キャストは
気にせず使ってるみたいです。
0888デフォルトの名無しさん
2009/10/12(月) 13:07:110889デフォルトの名無しさん
2009/10/12(月) 13:08:150890デフォルトの名無しさん
2009/10/12(月) 13:08:50値型→参照型や参照型→値型は重い
0891デフォルトの名無しさん
2009/10/12(月) 13:10:080892デフォルトの名無しさん
2009/10/12(月) 13:10:56間違ってるぜそれ。
0893デフォルトの名無しさん
2009/10/12(月) 13:11:280894890
2009/10/12(月) 13:13:28参照型間のキャストがが大きくパフォーマンスに影響するような状況なんて普通は考えられない
という意味に取ってくれ
0895デフォルトの名無しさん
2009/10/12(月) 13:15:31>>878
そうなんですよね
シリアライズは簡単に出来るんです
ただデシリアライズに型が必要なので(受け取ったデータを自分自信に流し込む為)クラス参照を使おうと思ったんですがそれにあうものがなくて…
型の判定は>>867のようにクラス参照でまかなおうと思ったわけです
>>880
デシリアライズに限らず単純に親に子の型を知らせたいのです
これが出来ればキャストが必要な実装を親が持つ事が出来るので汎用性が高まるというわけなんですが…
>>881
そのリフレクションで親に子の型をどう知らせるのかがよくわからないのです
0896デフォルトの名無しさん
2009/10/12(月) 13:15:31参照型→基底やインターフェイスはやや遅、特にインターフェイスは結構遅いこともあり
値型→参照型はボクシングなのでさらにプラスで遅い
こんなとこかな?
0897デフォルトの名無しさん
2009/10/12(月) 13:18:070898890
2009/10/12(月) 13:18:140899デフォルトの名無しさん
2009/10/12(月) 13:20:240900デフォルトの名無しさん
2009/10/12(月) 13:20:57http://dobon.net/vb/dotnet/file/xmlserializer.html
ここのやり方とほぼ同じです
0901デフォルトの名無しさん
2009/10/12(月) 13:23:36デシリアライズした時点で実際の型は決まってる
少なくともRefMyClassの派生クラスであることが分かっているんだったらRefMyClassにキャストすれば十分
0902デフォルトの名無しさん
2009/10/12(月) 13:25:15それを親で子の型判定をすると>>871のようにどうしようもないコードになるわけなんですね…
0903デフォルトの名無しさん
2009/10/12(月) 13:28:25キャストも要らんし。
0904デフォルトの名無しさん
2009/10/12(月) 13:28:55その型で何かする必要ないならキャストなんて必要ない。
0905デフォルトの名無しさん
2009/10/12(月) 13:31:01明示的なダウンキャストは高速。
なんとも直感的でない動作。
0906デフォルトの名無しさん
2009/10/12(月) 13:34:242ちゃんねるの有志の皆様へ
ただいまVIPで例のサイバーテロ集団の本拠地VANKに攻撃をしかける作戦を立てています
ただいま人数不足、不利な戦況となっております。
また、技術者部門の方も募集していますので、是非よろしくお願いします。
下記日時に間に合うように準備し、作戦に参加してくれたら幸いです
作戦決行日時:10月12日 18時00分
現行スレ→【http://yutori7.2ch.net/test/read.cgi/news4vip/1255316576/】
まとめwiki(要編集)http://www20.atwiki.jp/vipvsvank/pages/1.html
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
0907デフォルトの名無しさん
2009/10/12(月) 13:36:01コンパイル時に互換性の確認は済んでるから実際には何もしない。
アップキャストの場合は互換性の確認が実行時に行われる。
0908デフォルトの名無しさん
2009/10/12(月) 13:37:29どう考えても逆だろ。
0909デフォルトの名無しさん
2009/10/12(月) 13:37:52ボックス化が絡む場合にダウンキャストの方が速いのは,アップキャストはヒープ確保が入るから
0910デフォルトの名無しさん
2009/10/12(月) 13:42:120911デフォルトの名無しさん
2009/10/12(月) 13:45:16アップキャストが派生クラスから基底クラスだね。
0912デフォルトの名無しさん
2009/10/12(月) 13:47:46どっちにしても実行時にチェックが必要だからだろう。
実体の型そのものとのチェックは比較一発だが、基底クラスだと順に遡ったり、
インターフェイスだとインターフェイスマップとの照合が必要だから。
0913デフォルトの名無しさん
2009/10/12(月) 13:49:38if (textbox1.text == "passwd")
messagebox.show("ok");
else
application.exit
とかだと慣れてる人だとパスワード分かっちゃうのかな?
0914デフォルトの名無しさん
2009/10/12(月) 13:51:400915デフォルトの名無しさん
2009/10/12(月) 13:51:470916デフォルトの名無しさん
2009/10/12(月) 13:52:290917デフォルトの名無しさん
2009/10/12(月) 13:54:45class Bar : Foo {}
Foo f = (Foo) new Bar();
object o = (object) f;
Bar b = (Bar) o;
IL_0000: newobj instance void Bar::.ctor()
IL_0005: stloc.0
IL_0006: ldloc.0
IL_0007: stloc.1
IL_0008: ldloc.1
IL_0009: castclass Bar
IL_000e: pop
アップキャストも明示的にキャストを入れてみたが、
castclass が呼ばれるのはダウンキャストの場合だけだった。
0918デフォルトの名無しさん
2009/10/12(月) 13:55:32他にどんな方法が・・・?
0919デフォルトの名無しさん
2009/10/12(月) 13:57:00ハッシュで持つとかどう?
0920デフォルトの名無しさん
2009/10/12(月) 13:57:33ホントに?
俺が計った時はアップキャストのが遅かったぜ?
念のため、ダウンキャストはオブジェクトの実体の型へのキャストな。
インターフェイスへのキャストは更に遅かった。
まあそんな大差は無いけどな。
クラス階層やインターフェイスの実装数が多いと差が開きそうだった。
まあ当たり前だが。
0921デフォルトの名無しさん
2009/10/12(月) 13:59:01うぬう、何か条件が違ったかな?
ちょっといま試せる環境にいないんだよね…
0922デフォルトの名無しさん
2009/10/12(月) 14:00:11ildasmでパスワードを検証してる部分を消してilasmでコンパイルし直せばいいじゃん
0923デフォルトの名無しさん
2009/10/12(月) 14:01:52誰のためのパスワード?
0924デフォルトの名無しさん
2009/10/12(月) 14:03:57技術的な手段を講じてもあんまり意味がない
0925デフォルトの名無しさん
2009/10/12(月) 14:04:02アプリ実行に必須のデータを暗号化して持たせて
パスワードで解除するとかな。
0926デフォルトの名無しさん
2009/10/12(月) 14:05:50本格的にやるのならばPCの固有番号をネットワークアクティベーションとかにするのでしょうけど、
もう少し簡単に、後々変更できなくてもいい代わりにプログラムを覗かれて、
パスワード認証を回避されないようにするにはどうすればいいか・・・と考えてました。
0927デフォルトの名無しさん
2009/10/12(月) 14:08:5480万程度でお手軽に隠蔽出来るよ
リバエン防がないでパスワード隠蔽もなにもないでしょ
0928デフォルトの名無しさん
2009/10/12(月) 14:09:00パスワードで解除してからバイトでロード。
まあ簡単には出来ないよ。
0929デフォルトの名無しさん
2009/10/12(月) 14:09:470930デフォルトの名無しさん
2009/10/12(月) 14:10:44スキルのある人間から防御したいなら、
ロードモジュールがユーザーから覗けたり改変できる限り無理だし、
ど素人のちょっとしたいたずら除けにならちょっとした仕掛けで大丈夫かもしれない。
0931デフォルトの名無しさん
2009/10/12(月) 14:11:21実行に必須の何かをパスワードがないと復元不可能にしないとね。
0932デフォルトの名無しさん
2009/10/12(月) 14:22:15パスワード間違えたときの動作が未定義でいいなら確かに有効だね。
0933デフォルトの名無しさん
2009/10/12(月) 14:23:54不正アクセスも見つけやすいし
対処しやすいし
0934デフォルトの名無しさん
2009/10/12(月) 14:31:40チェックは、暗号化したデータの中にパスワードを埋め込むとか、まあいろんな方法で組み込める。
これはあくまでパスワードが間違ってた時にエラーで止めるためだけの目的ね。
このチェックは別に不正に抜けられても困らないから。
0935デフォルトの名無しさん
2009/10/12(月) 14:35:11言い出しっぺがスキル不足で話について行けない
Dotfuscator Pro・・・良いですけど高いですな・・・
20万くらいまでならこれだけの為にでも投資したんですが;
0936デフォルトの名無しさん
2009/10/12(月) 14:35:13あれって何て名前だっけ?
0937デフォルトの名無しさん
2009/10/12(月) 14:38:52暗号化してconfigファイル
0938デフォルトの名無しさん
2009/10/12(月) 14:46:01いやパスワードなりCRCなりをチェックするにしても
偶然一致してしまう可能性を否定できないわけで。
まぁそのくらいで訴訟起こす人は日本には居ないだろうけど。
0939デフォルトの名無しさん
2009/10/12(月) 14:48:57入力されたパスワードでzip解答できたら有効にする、とか
0940デフォルトの名無しさん
2009/10/12(月) 14:49:30昨日ホットキーの登録について聞いたものなんだが、
using System.Runtime.InteropServices ; // for DllImport
[DllImport("user32.dll")]
extern static int RegisterHotKey(IntPtr HWnd, int ID, int MOD_KEY, int KEY); // return : error = 0
[DllImport("user32.dll")]
extern static int UnregisterHotKey(IntPtr HWnd, int ID) ; // return : error = 0
private void Form1_Load(object sender, System.EventArgs e)
// Regist Hotkey, ALT+A
RegisterHotKey(this.Handle, HOTKEY_ID, MOD_ALT, (int)Keys.A) ;
private void Form1_Closed(object sender, System.EventArgs e)
UnregisterHotKey(this.Handle, HOTKEY_ID) ; // UnRegist Hotkey,
protected override void WndProc(ref Message m)
base.WndProc(ref m) ;
if (m.Msg == WM_HOTKEY)
{
if ((int)m.WParam == HOTKEY_ID)
{
MessageBox.Show("Press Hotkey");
}
}
こうすれば、Alt+Aキーを押したときにメッセージ出るんだが、
例えば、Aキーのみを押したときにメッセージを出すようにするにはどうすればいいのか分かる人居ません?
0941デフォルトの名無しさん
2009/10/12(月) 14:51:110942デフォルトの名無しさん
2009/10/12(月) 14:51:35パスワードそのものでもまあいいけど、パスワードのハッシュのがまだいいかな。
偶然の一致なんて考える必要はない。
0943デフォルトの名無しさん
2009/10/12(月) 14:55:21偶然の一致など確率的に無視できる。
デジタル署名とかと同レベルの信頼性なんだぜ?
0944デフォルトの名無しさん
2009/10/12(月) 15:41:34実際どうなるかはわからないけど怖いから避けたいというのが各社共通の認識かと。
0945デフォルトの名無しさん
2009/10/12(月) 15:45:04現代社会に信用できるものなんてなくなるんだが。
0946デフォルトの名無しさん
2009/10/12(月) 15:46:03>>941さんの言ってる事が分からないのですが、
参考になるサイトとか有りませんでしょうか・・・><;
0947デフォルトの名無しさん
2009/10/12(月) 15:52:29http://msdn.microsoft.com/en-us/library/ms644985(VS.85).aspx
0948デフォルトの名無しさん
2009/10/12(月) 15:57:27何も信用出来ないよ。
128ビットだって最低ラインで512ビットまで用意されてるし。
プログラムにバグがある可能性の方がはるかに高いわ。
0949デフォルトの名無しさん
2009/10/12(月) 16:03:27頭に当たって死ぬ可能性を心配するべきだな
0950デフォルトの名無しさん
2009/10/12(月) 16:10:38これはもちろん攻撃を受ける前提の話だが。
0951デフォルトの名無しさん
2009/10/12(月) 16:12:570952デフォルトの名無しさん
2009/10/12(月) 16:16:59なんか質問者の意図をそっちのけして回答者同士で勝手に熱くなってない?w
0953デフォルトの名無しさん
2009/10/12(月) 16:18:110954デフォルトの名無しさん
2009/10/12(月) 16:18:120955デフォルトの名無しさん
2009/10/12(月) 16:19:270956デフォルトの名無しさん
2009/10/12(月) 18:10:420957デフォルトの名無しさん
2009/10/12(月) 20:07:520958デフォルトの名無しさん
2009/10/12(月) 20:19:050959デフォルトの名無しさん
2009/10/12(月) 20:32:500960957
2009/10/12(月) 20:35:170961デフォルトの名無しさん
2009/10/12(月) 21:06:140962デフォルトの名無しさん
2009/10/12(月) 21:06:35山椒でんがな
0963デフォルトの名無しさん
2009/10/12(月) 23:06:43あとどこのコミュニティがおすすめ?
ここ以外でお願いします
0964デフォルトの名無しさん
2009/10/12(月) 23:21:05非公式でそこそこ人がいるのはわんくまくらいしか知らないけどVB系で質問者も回答者もレベルは高くない
0965デフォルトの名無しさん
2009/10/13(火) 00:32:18公平にいってそんなに低レベルってことはないでしょ。
0966デフォルトの名無しさん
2009/10/13(火) 00:36:050967デフォルトの名無しさん
2009/10/13(火) 00:47:070968デフォルトの名無しさん
2009/10/13(火) 01:13:13本当の本当に上手いプログラマはMVPなんかとらない。
時間の無駄なのさ。
0969デフォルトの名無しさん
2009/10/13(火) 01:28:01MVPの価値を下げてもおまえの価値はあがらねーっつうのw
0970デフォルトの名無しさん
2009/10/13(火) 01:29:18時間の無駄なんだよ。
0971デフォルトの名無しさん
2009/10/13(火) 01:31:510972デフォルトの名無しさん
2009/10/13(火) 02:39:180973デフォルトの名無しさん
2009/10/13(火) 03:58:24質問に対してパパッと適切にソース書いてる人間見た事無いけど
0974デフォルトの名無しさん
2009/10/13(火) 04:03:320975デフォルトの名無しさん
2009/10/13(火) 04:04:462ちゃんにまともな回答を求める奴が間違い
0976デフォルトの名無しさん
2009/10/13(火) 04:51:540977デフォルトの名無しさん
2009/10/13(火) 07:41:300978デフォルトの名無しさん
2009/10/13(火) 07:57:33さっと回答しちゃった方が速いのが本物のプログラマ
0979デフォルトの名無しさん
2009/10/13(火) 08:02:480980デフォルトの名無しさん
2009/10/13(火) 08:17:29そんなの検索エンジンに訊いた方が断然速い。
ここは人間に相談する場所だぞ。
0981デフォルトの名無しさん
2009/10/13(火) 08:26:300982デフォルトの名無しさん
2009/10/13(火) 09:10:430983デフォルトの名無しさん
2009/10/13(火) 12:51:48うんこ
0984デフォルトの名無しさん
2009/10/13(火) 20:06:440985デフォルトの名無しさん
2009/10/14(水) 02:22:12ImageButton objButton = new ImageButton();
objButton.ImageUrl = "img/test.gif";
objButton.Attributes["onmouseout"] = "src='img/test.gif'";
objButton.Attributes["onmouseover"] = "src='img/test2.gif'";
この ImageButton オブジェクトを Table に動的に配置したら、OnMouseOver がきくことはきくんだが、
なぜか最初にマウスを持っていった時に、ステータスバーに"localhost に接続しています"と出て、若干時間がかかる。
これって最初にサーバーに test2.gif を取りに行ってるってこと??
test.gif は ImageUrl プロパティで指定してるから最初に取りに行くけど、これと同じタイミングで取りに行かせる方法はないかな〜?
もしお門違いな質問してたらスマソ
0986デフォルトの名無しさん
2009/10/14(水) 02:27:09こういうマウスオーバーエフェクトはCSSでやるべき。
複数の画像を一つのファイルに組んで、background-positionで
切り替えるのは一番いい方法だと思う。
例えばこんなふうに
http://jsajax.com/CSSSpritesArticle951.aspx
0987デフォルトの名無しさん
2009/10/14(水) 04:31:35適当な区切り文字を入れてsplit でばらしてるんですが
XMLで推奨されてる標準の手順はありますか?
区切り文字をいちいち設定せずにできたら楽なので
もし知ってる方おられましたら教えてください。
0988デフォルトの名無しさん
2009/10/14(水) 07:10:03配列の要素一つ一つに意味があるならそれぞれ設定項目にした方がいいと思う
本当に必要なら987の方法でもいいんじゃね
0989デフォルトの名無しさん
2009/10/14(水) 07:52:42TにCOMインタフェースを指定しても期待通りに動く
0990デフォルトの名無しさん
2009/10/14(水) 09:13:30要素がXMLシリアライズ可能な配列はデフォルトでXMLシリアライズできるはずだが……
0991デフォルトの名無しさん
2009/10/14(水) 12:16:410992デフォルトの名無しさん
2009/10/14(水) 14:05:220993デフォルトの名無しさん
2009/10/14(水) 17:23:29リストの最初に追加するにはどうすれば良いですか?
0994デフォルトの名無しさん
2009/10/14(水) 17:28:580995デフォルトの名無しさん
2009/10/14(水) 20:20:400996デフォルトの名無しさん
2009/10/14(水) 20:21:480997デフォルトの名無しさん
2009/10/14(水) 20:40:210998デフォルトの名無しさん
2009/10/14(水) 20:44:160999デフォルトの名無しさん
2009/10/14(水) 20:46:481000デフォルトの名無しさん
2009/10/14(水) 20:47:1910011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。