10/05/16 23:49:58
-- .._
, ´ ー-ミ `丶、
/ ' , `ヽ/´. -ヽ
. ′' ¦ 厶>ー-'´‐¬ |
l i l | L!
| l ! i l レ-‐ '⌒LI
| l 」 にコ,. _- 斤L.!
l l lf| l |ィ ハ-‐┐イソ リ|
!.l l | 代ソ ,几`..ィ |
V ! | i i| ` ̄ ' ノi,⊥、
j l ! ! ! l| ー_'´∠-'─‐'ァ、 ゆっくりしていってね!
. 厶ノl l l li l|` ァーr'^7ー,⊆ニ´ イ
/⌒ヽ`、| | |l l| / ハ V /フニ二ブ、
/^ヽ ヽ ヽ`ヽ、{__'ノ `、V´ ヽ. \
i 丶 ヽ ヽ 〉V_∠___ヽ ヽ
. l V `、`、 _.. - ニ -ヘ `、 ノ
lヘ ヽ. l 二 -' 囘 ヽ `ー'
. lヽ l l ,. -‐┴゙- 、 ',
Tー---‐r' l / 二7´ 丿
l l ノ ,ニ7’.イ ) )
. l ム- ´ / ̄ _||'´ノハ (⌒ く
l '´ ∠ -‐ '´ ||´ / ハ、 ( _.. -‐)‐-
. l / ` ー ∥ / i , ´_.. -‐‐‐-
. ,ハ. /`丶、_ __ ∥_.. ..._ |f , ´c ~⌒
{ `7丁 ヾニ二ブ |'、 ~ (つ
ヽ ,′l _, -'´ | ` ー----‐ ´
l ¦ _, -'´ _, -'´!
| | _, -'´ `ヽ ` ー- .._.. -
3:デフォルトの名無しさん
10/05/17 22:41:30
C#初心者です。やりたいことはWebアプリでキーボードのEnterキーを押すと
テキストボックス内のワードで検索する、ということです。
まず、ファイル名.aspx内に
<body onkeydown="click_sub()"
<script language="Javascript">
function click_sub() {
if(windows.event.keyCode == 13) {
CallServer("","");
}
4:デフォルトの名無しさん
10/05/17 22:51:07
C#初心者です。やりたいことはWebアプリでキーボードのEnterキーを押すと
テキストボックス内のワードで検索する、ということです。
まず、ファイル名.aspx内に
<body onkeydown="click_sub()"
<script language="Javascript">
<!--
function click_sub() {
if(windows.event.keyCode == 13) {
CallServer("","");
}
}
function ReceiveServerData(rBValue) {
window.open('Search.aspx', '検索')
}
略
と追加し、ファイル名.aspx.csのPage_Load(object sender, EventArgs e)に
callbackScript ="function CallServer(arg, contexct)" +
"{" + cbReference + ";};
Page.ClientScript.RegisterClientScriptBlock(this.GetType(),
"CallServer", callbackScript, true);
と追加しました。
public void RaiseCallbackEvent(String evenArguemnt)
でtxtSearch.Textの中が空になってしまい、
文字列が正常に取得できません。
デバッグでこの処理まで来るのは確認しましたが、
テキストボックスの値が何も入っていません。
ボタンクリックイベントだと正常に取得できました。
txtSearchに親の名前空間が必要なのでしょうか?
うまく説明できませんが、よろしくお願いします。
>>3は失敗しました。申し訳ありませんでした。
5:デフォルトの名無しさん
10/05/17 22:55:53
普通にPostすればいいじゃん。
6:デフォルトの名無しさん
10/05/18 02:37:28
>>4
その提示したソース以外の所に問題があるな
具体的にはTextBoxにrunat="server"ねーだろ?
7:デフォルトの名無しさん
10/05/18 06:01:06
>>5-6
ありがとうございました。
その辺で調べてみます。
8:デフォルトの名無しさん
10/05/18 18:49:04
プロパティグリッドのカテゴリを任意の順番にする方法を教えてください。
プロパティの順番を任意に変える方法はすぐ見つかったんですが、カテゴリの
並び順を変えるのってなかなか見つからないです。
9:デフォルトの名無しさん
10/05/18 22:46:03
カテゴリ名の先頭にタブ文字(\t)を入れまくる
プロパティグリッドねえ
あんまり非プログラマに触らせるようなもんじゃないと思う
10:8
10/05/19 08:38:14
>>9
ありがとう!
なるほどタブ文字とはね。
これは思いつきませんでした。
11:デフォルトの名無しさん
10/05/20 01:27:20
>>10
人生で初めてお礼を言われたように思う
うひょーw
12:デフォルトの名無しさん
10/05/20 10:02:49
>>11
おめでとう!
おめでとう!!
おめでとう!!!
13:デフォルトの名無しさん
10/05/20 19:29:25
app.configって配列が扱えないんだけど
どうしても使いたい場合、XmlDocumentで読み込まないといけないのかな?
14:デフォルトの名無しさん
10/05/20 20:22:20
カンマで区切ってSplit、という悲しい技を使ったことがある。
15:デフォルトの名無しさん
10/05/20 22:38:49
文字列ならStringCollectionが使えるだろ
16:デフォルトの名無しさん
10/05/20 23:36:02
EXEと同じ場所に設定保存する簡単な仕組みがあったらよかったのになぁー
17:デフォルトの名無しさん
10/05/20 23:38:26
xmlシリアラザー使えばいいんじゃないの?
18:デフォルトの名無しさん
10/05/20 23:54:21
あれやこれやと便利なものを提供されてるにもかかわらずこのざまですよ
19:デフォルトの名無しさん
10/05/20 23:59:29
CFにはapp.config無いので自前で用意したのを使ってる
20:デフォルトの名無しさん
10/05/21 00:01:25
保存場所の問題はXPのあれな状態が長期できちゃって
ユーザーに変な癖が付いてるのが最大のネックだと思います。
UACとか理解してくれるならありがたい機能をバシバシ使いますがな
それとベビーカーのCM?やってたけど多すぎると迷ったりするんですよ
あれこれ試す労力も大変なのでふら~とこういとことで
何かいい方法な~い?と愚痴をこぼすんですよ
21:デフォルトの名無しさん
10/05/21 00:08:58
MSの言うとおりレジストリに保存すればよろしい
22:デフォルトの名無しさん
10/05/21 00:11:12
>>17
いまはそうしてるけど、せっかくVS標準のがあるんだから
あれが使えたらな~って思ってさ
23:デフォルトの名無しさん
10/05/21 00:53:43
Windows Vista/7対応をうたっておきながら実行ファイルと同じ場所に設定を保存しようとする男の人って
24:デフォルトの名無しさん
10/05/21 01:08:33
ちゃんとレジストリ使おうね
25:デフォルトの名無しさん
10/05/21 01:14:02
XPだって管理者以外は正常に動作しないけどね。
(ProgramFiles以下にインストールした場合)
プログラマでもWin9x時代のラフな考え方をむしろ「俺はわかってるんだ」
みたいに勘違いしてる奴が未だに多いのは困ったもんだね
26:デフォルトの名無しさん
10/05/21 01:19:15
>>23
世の中にはポータブル版っていうのがあるんだよ
27:デフォルトの名無しさん
10/05/21 01:34:52
誰もポータブル版の話なんてしてないだろ
28:デフォルトの名無しさん
10/05/21 01:41:51
>>26
Program Files内にポータブル版をぶちこむのがそもそもの誤りだと気付けよww
29:デフォルトの名無しさん
10/05/21 02:14:23
>>28
Program Files内に入れないといけないと勝手に思いこんでるのかw
どうしようもないなw
30:デフォルトの名無しさん
10/05/21 02:45:29
設定を保存してないのにファイルを開くダイアログの
ファイルを開く場所が前回開いた場所になってる
ちゃんとアプリごとに
OSがやってると思うんだけど、どこに設定保存してるんだろう?
31:デフォルトの名無しさん
10/05/21 02:58:55
別にアプリごとに保存してるわけじゃないように思うんだが、そうでもないのかね。
32:デフォルトの名無しさん
10/05/21 03:04:30
昔作ったアプリを数ヶ月ぶりに起動してファイルを開くダイアログを開いてみたら、
きちんと前にそのアプリで開いたファイルのフォルダを表示したから、OSが情報を保持してるはず
俺、開いた場所を保存して、次回起動時に読み込んでダイアログに設定するとか、どれ一つやってない
33:デフォルトの名無しさん
10/05/21 03:36:04
あ、ごめん、C#2008で作ってなかった・・・Delphi6で作ったんだった・・・
C#だとファイルを開くダイアログの挙動が違うかも・・・
34:デフォルトの名無しさん
10/05/21 07:48:02
今は、レジストリではなく、AppDataに保存が推奨されている。
35:デフォルトの名無しさん
10/05/21 08:40:11
>>34
XPは無視?
36:デフォルトの名無しさん
10/05/21 09:16:13
XMLシリアライザって、なんで多元配列使えないんだよ
37:デフォルトの名無しさん
10/05/21 09:17:32
多元配列なんて子供が使うもんだよ
38:デフォルトの名無しさん
10/05/21 10:58:34
>>35
Windows 95にもある。
39:デフォルトの名無しさん
10/05/21 10:59:18
>>35
え?
40:デフォルトの名無しさん
10/05/21 11:02:51
>>32
コモンファイルダイアログはシェルの管轄
最後に選択した場所の基本的に実行ファイル名で管理してるな
41:デフォルトの名無しさん
10/05/21 11:17:32
>>39
え?
42:デフォルトの名無しさん
10/05/21 11:32:16
なにそれこわい
43:デフォルトの名無しさん
10/05/21 11:33:34
最近は猿がプログラミングしてるのか。
44:デフォルトの名無しさん
10/05/21 13:49:37
×猿がプログラミングしてる
○猿が居着いている
45:デフォルトの名無しさん
10/05/21 15:34:42
>>30
つRestoreDirectory
46:デフォルトの名無しさん
10/05/21 15:46:27
>>45
それ、ダイアログによって変更されるカレントディレクトリを元に戻すかどうかじゃね?
47:デフォルトの名無しさん
10/05/21 16:58:53
>>44
o(´・ω・`)ぶつお
48:デフォルトの名無しさん
10/05/21 20:56:30
EWF周辺をC#で触ってるんだけど、
一箇所C#での書き方があったので教えてください。
typedef struct _EWF_VOLUME_NAME_ENTRY
{
struct _EWF_VOLUME_NAME_ENTRY * Next;
WCHAR Name[1];
} EWF_VOLUME_NAME_ENTRY, *PEWF_VOLUME_NAME_ENTRY;
この構造体の定義をC#で書き直すとどのように書くのですか?
49:デフォルトの名無しさん
10/05/21 21:00:58
不定長(を目的とした)構造体は型として記述できない
50:48
10/05/21 21:08:40
>>49
んー・・・そうですか。。。
ありがとです。VC++でラップdll作るか…。
51:デフォルトの名無しさん
10/05/22 00:18:26
>>37
大人ならやっぱり2次元配偶者だよな
52:デフォルトの名無しさん
10/05/22 10:29:05
iPhone SDKのUITableViewみたいに、リストの各項目をカスタマイズできるコントロールってないですか?
ListView + ListViewItemでは無理ですよね。
どこかにオープンソースなライブラリはないものでしょうか。
自前で作ると結構大変そうで・・・
53:デフォルトの名無しさん
10/05/22 13:40:28
自作するか既存のコントロールのオーナードロー関連を利用して
自分で描画部分を書くか
後はWPFへいくか・・・
54:デフォルトの名無しさん
10/05/22 14:25:03
どぼんの URLリンク(dobon.net) のソースを実行しても、
resultに結果を取得できる端末とは空文字列しか拾えない端末があります。
共にDOS窓でdirを実行したら、ディレクトリ情報は表示されます。
何か権限とかあるのでしょうか?
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
//ComSpecのパスを取得する
psi.FileName = System.Environment.GetEnvironmentVariable("ComSpec");
//出力を読み取れるようにする
psi.RedirectStandardInput = false;
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;
//ウィンドウを表示しないようにする
psi.CreateNoWindow = true;
//コマンドラインを指定("/c"は実行後閉じるために必要)
psi.Arguments = @"/c dir c:\ /w";
//起動
System.Diagnostics.Process p = System.Diagnostics.Process.Start(psi);
//出力を読み取る
string results = p.StandardOutput.ReadToEnd();
//WaitForExitはReadToEndの後である必要がある
//(親プロセス、子プロセスでブロック防止のため)
p.WaitForExit();
//出力された結果を表示
Console.WriteLine(results);
55:デフォルトの名無しさん
10/05/22 14:41:01
VB.netのStartupNextInstance実装ってどうやってるのかな。
とりあえず、名前付きパイプで同じ事しようと書き始めたけど、
起動中に、名前付きパイプを開っぱなしにしていいものかどうか
気になってきた。
具体的には、二重起動を禁止して、
後から起動されたプログラムのコマンドラインを取得したい。
56:デフォルトの名無しさん
10/05/22 14:45:35
>>55
C#で同じことをやる方法がどこかに公開されてたはずだから、ググれば出てくるよきっと。
会社のブラウザにはブックマークしてあるんだが...
まあでも、スタートアッププロジェクトをVBにすれば妙な技巧を使う必要もないな。
57:デフォルトの名無しさん
10/05/22 15:00:03
IpcChannelとか
58:デフォルトの名無しさん
10/05/22 15:00:22
同じ事がしたいだけなら、
Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBaseの派生クラス作って
IsSingleInstanceとかコンストラクタで設定、
でApplication.Runの代わりにそいつのRunを使えばよい
59:55
10/05/22 15:03:32
VBのスタートアップ使うですか。
ちょっと抵抗が・・・w
60:デフォルトの名無しさん
10/05/22 15:13:16
学校のC言語のレポート課題なんですが、少し知恵を分けてください。
問題:5個の値を入力してその中にひとつでも偶数があれば『偶』、奇数しかなければ『奇』と出力するプログラム
(※複数個の偶数があったとしても『偶』と表示するのは1回だけとする)
途中まではこんな風に書いてみたのですが
#include<stdio.h>
int main(void){
int x[5];
int i;
for(i=0;i<=4;i=i+1){
printf("x[%d]を入力してください。\n",i);
scanf("%d",&x[i]);
}
if (x[i] % 2 == 0){
printf("偶\n");
}
else{
printf("奇\n");
}
return 0;
}
61:デフォルトの名無しさん
10/05/22 15:16:02
>>60
こちらへどうぞ
C/C++の宿題片付けます 135代目
スレリンク(tech板)
C言語なら俺に聞け(入門編)Part 64
スレリンク(tech板)
62:55
10/05/22 15:16:26
IpcChannelでググったら、沢山見つかったけど、
内部で名前付きパイプ使ってるとの情報がw
このまま、名前付きパイプでやってみます。
どうもでした。
63:デフォルトの名無しさん
10/05/22 16:22:23
.NETのリモーティングは.NETのオブジェクトをプロセス間で受け渡しできるところが
キモなんで、その必要がなければ名前付きパイプでも十分かもね。
64:52
10/05/22 18:01:07
>>53
WPFってスレもないようですが、どうなんでしょう?
ひょっとして死亡フラグ立ってますか?
65:デフォルトの名無しさん
10/05/22 18:04:11
>>64
死亡フラグは立ってけど、スレはある
スレリンク(tech板)
66:52
10/05/22 19:45:22
>>65
なんかだめぽな感じですね・・・
こうまでマイクロソフトの凋落が激しいと逆に応援したくなります
Slievrlight3でデスクトップアプリもいける?ようなので、そっちを模索してみます。
結局、.net + C#のコントロールって従来のWindowsAPI準拠のものがほとんどですからね。
67:デフォルトの名無しさん
10/05/22 20:10:36
Silverlight3のブラウザ外実行は全く使い物にならん
デスクトップアプリはSilverlight4から
68:デフォルトの名無しさん
10/05/22 20:34:35
ドラクエじゃねえんだから3だの4だの短期間にアホみたいにバージョンアップしないで欲しいよw
69:デフォルトの名無しさん
10/05/22 20:41:12
糞でかい.NETとは違ってどうせインストール1分だからそんなに問題にならないんでしょ
JavaFXみたいにフェードアウトするよりはマシ
70:デフォルトの名無しさん
10/05/22 20:47:19
>>60
#include <stdio.h>
int main(void){
int a,b=1,c;
for(c=0;c<5;c++)
{
printf("値を入力してください。\n");
scanf("%d",&a);
b*=(a%2);
}
printf((b==0)?"偶\n":"奇\n");
return(0);
}
71:デフォルトの名無しさん
10/05/22 21:08:25
>>60
5個全部andしてLSBが0なら偶数
72:52
10/05/22 23:24:10
>>67
なるほど。4は開発環境まだRCみたいですが、やってみます。
Silverlightには未来があると信じたい。
73:デフォルトの名無しさん
10/05/23 11:50:39
HTML5でFlashがいらなくなるって話だけどSliverlightがこの先生きのこるには
74:デフォルトの名無しさん
10/05/23 11:52:19
ガキくさ。
2chだからって無理して面白くしようとか(いや全く面白くもなんともないが)
思わなくていいのに。
75:デフォルトの名無しさん
10/05/23 14:07:24
>>73
それはない。
HTML5、標準ってのが強みでも弱みでもあって、
弱み的には、機能充実が遅すぎて Flash とか Silverlight の代替にはならない。
76:デフォルトの名無しさん
10/05/23 15:17:56
段々スレチだが、個人的にデスクトップアプリ構築環境として、
・マルチプラットフォーム
・HTMLで画面デザインできる
ものとしてSilverlightに期待したい。
Adobeの開発環境は好きになれない。
特定のプラットフォーム依存のものは、もう未来がないと思う。
C# + .netはマルチプラットフォーム普及に失敗したので、
残念ながら、もう勉強する価値があると思えない。
培った技術は、Silverlightとかに受け継がれればよいけど。
77:デフォルトの名無しさん
10/05/23 15:29:22
お前がそう思うんならそうなんだろう
お前ん中ではな
78:デフォルトの名無しさん
10/05/23 15:33:23
全然外してるけどな。
79:デフォルトの名無しさん
10/05/23 15:41:28
>>76
monoガン無視とは恐れ入る
・HTMLで画面デザインできる
ってのも意味不明だが。
80:デフォルトの名無しさん
10/05/23 15:42:45
今すぐコードを書いて来週には環境依存でもなんでもいいからとにかく動く物を納品しなきゃいけないのに
そんな遠い未来の話やら理想論を真面目に語られてもなあ
まあ学生さんはがんばってねとしか
81:デフォルトの名無しさん
10/05/23 15:49:09
デスクトップアプリでマルチプラットフォームなんてファンタジーまだ信じてる人いたんだ
82:デフォルトの名無しさん
10/05/23 15:56:39
>>80
>まあ学生さんはがんばってねとしか
あるあるw
HTML界隈はそういうの本当に多かった。
83:デフォルトの名無しさん
10/05/23 16:12:58
まー標準()笑 に夢みんのは学生までにしとけってこったな
HTML5だってまたどーせブラウザ依存でgdgdだよ
船頭多くて上手く行った例なんか見たことないわ
84:デフォルトの名無しさん
10/05/23 16:47:43
.NET4の透過セキュリティモデルが分かりません。
例えばFileIOPermissionが制限されたサンドボックスのTransparentコードから
SafeCritical/Criticalのアセンブリへの遷移してFileIOを行う場合に、
遷移したことで自動的に完全信頼になりファイル操作が出来るようになるのか、
Assertが必要なのかこの辺はどうなのでしょう。
85:デフォルトの名無しさん
10/05/23 17:10:57
>>83
()笑
86:デフォルトの名無しさん
10/05/23 17:42:47
プリントスクリーンや外部ツールの画面キャプチャで画面を撮られないように、
キャプチャ時にウィンドウに画像を被せるとかのマスク処理をしたいです。
(Acrobatで同じようなことをやってると思います)
.NETで画面キャプチャイベント拾えないかなぁと探してるんですが、
それっぽい情報に見あたらないです。
何かやりようがありますでしょうか。
87:デフォルトの名無しさん
10/05/23 18:02:59
>>86
それ抜け道たくさんあるからやるだけ無駄だよ
88:デフォルトの名無しさん
10/05/23 18:07:55
>>87
例えばどんなのです?
89:デフォルトの名無しさん
10/05/23 18:17:53
デジカメで撮る。
90:デフォルトの名無しさん
10/05/23 18:22:58
ローレベルなところでフックなんて使われたらどうしようもないしなあ
flashゲームなどのチートの際に使うツールは別プロセスのメモリ
覗き放題だしねえ
windowsで完璧なプロテクトは無理と思ったほうがいいよ
91:デフォルトの名無しさん
10/05/23 18:36:18
>>86
OSが頑張って保護している地デジを表示しているWMCの画面も
キャプチャできるアプリがあるのにどうやってブロックできると思うんだ?
92:デフォルトの名無しさん
10/05/23 18:43:42
>>90
うーん、じゃあ例えば、クローズドな社内システムか何かで、
ユーザが勝手にソフトやツールを追加できないって前提ならどうでしょう。
93:デフォルトの名無しさん
10/05/23 18:46:55
社員にPC使わせなければいいんじゃね?
94:デフォルトの名無しさん
10/05/23 18:53:16
汎用のOSや汎用の部品使ってるうちは無理だしなあ
それに最近のマシンはディスプレイアウトが高画質だし
それ経由で簡単にキャプチャできちゃうからフック系だけ気に
してればいいわけじゃないしね
あと>>89のようなのもあるしw
95:デフォルトの名無しさん
10/05/23 19:03:08
うーん、読み取れるようにするのかあ
96:デフォルトの名無しさん
10/05/23 19:10:13
89は最強だよな
97:デフォルトの名無しさん
10/05/23 19:15:17
映画ではプロテクト用に人の目には分からないように赤外線も出力して
カメラで撮ったらまともに見れないようにしてるというものがあったと思った。
98:デフォルトの名無しさん
10/05/23 19:36:02
>>97
(>_<) …
99:デフォルトの名無しさん
10/05/23 20:14:37
>>97
それは実験段階で、導入した劇場はまだなかったはず。
うちの会社はデジカメ持ち込み禁止。カメラ付き携帯も禁止で、入社すると強制的に機種変させられる。
100:デフォルトの名無しさん
10/05/23 20:20:47
>>99
カメラなし携帯探すの大変じゃね?w
101:デフォルトの名無しさん
10/05/23 20:23:36
そういや守秘義務守るために
プリンタ出力禁止とかUSB書き込み禁止するシステムは結構あるけど
デジカメ阻止するようなのはあんまりないね。
102:デフォルトの名無しさん
10/05/23 20:37:04
常にモニタの前をWebカムで撮って、デジカメに類する機器を検出したら画面を
切り替えるような仕組みを作ればいいんじゃね?
103:デフォルトの名無しさん
10/05/23 20:41:33
レベルの高いスレですね。
僕もいつかは皆さんのような高度な話題を展開できるようになりたいと思います。
104:デフォルトの名無しさん
10/05/23 20:47:58
デジカメ対策するなら、
OSやソフトじゃなくモニタにつけるスクリーンやシートの役割じゃね?
105:デフォルトの名無しさん
10/05/23 21:35:05
なんとかしてデジカメ阻止したとしても
手書きのメモとか脳内コピーはどうしようもないよな
106:デフォルトの名無しさん
10/05/23 21:35:58
>>102
Web カムで顔認識して PC の前に人がくるとメール飛すアプリは公開されてたな。
107:デフォルトの名無しさん
10/05/23 21:49:37
>>105
まあ、悪意あるヤツはどう防御線張っても乗り越えて盗むってことだな。
ソフトやハードでは、悪意無く漏洩してしまう場合の対策だろうな。
108:デフォルトの名無しさん
10/05/23 22:26:36
>>100
ものすごく選択肢が狭くなるけど、あることはある。
だから同期はほとんどみんな同じ機種。区別するためにストラップ必須。
109:デフォルトの名無しさん
10/05/23 22:27:20
>>99
まだ導入されてないのか。
映画を見るたびにミスターVTRが出てくるのが鬱陶しく思うんだよね。
110:デフォルトの名無しさん
10/05/23 22:39:14
>>108
もしITの仕事についててスマホが使えないってのは勿体無いと思うんだが、
難しいところだよな。。。
111:デフォルトの名無しさん
10/05/23 23:00:11
標準スクリーンショットを封じたいのならオーバーレイ使えばいいじゃない
と言おうと思ったがAeroだとオーバーレイそのものがなかったでござるの巻
112:デフォルトの名無しさん
10/05/23 23:07:15
>>99
トヨタ?
113:デフォルトの名無しさん
10/05/23 23:20:22
現在C#を使ってWEBページからデータを取得しようと考えています。
urlを指定して取得することはできたのですが、ajaxによって送信されてくるデータを取得できなくて困っています。
post形式でデータを送信していることはfirebugを使ってわかっているのですが、
どうすればそのpostデータを使ってxmlを取得できるのかがわかりません。
WebClient wc = new WebClient();
byte[] res_data = wc.UploadValues(url, post);
こんな感じでやってみたところできませんでした。
たぶん使うメソッドが間違っていると思うのですが、何を使えばいいのかわかりません。
どなたかよろしくお願いします。
114:デフォルトの名無しさん
10/05/23 23:21:08
スクリーンショット封じると無条件で仮想環境リモートデスクトップ不可という
ハメ技に陥るんじゃないか?
115:デフォルトの名無しさん
10/05/23 23:26:29
その辺はこの辺でやった方がいいかもね
URLリンク(www.atmarkit.co.jp)
116:デフォルトの名無しさん
10/05/23 23:27:34
間入ったか
>>115は>>113へ
117:デフォルトの名無しさん
10/05/23 23:27:46
パケットキャプチャしてみれば?
118:デフォルトの名無しさん
10/05/23 23:31:13
>>113
ajaxって言ってるから、多分JSONかSOAPでWSDLのどちらか。とか知ったかしてみよう。
119:デフォルトの名無しさん
10/05/23 23:32:31
>>118
その辺だって結局postかgetリクエスト作って通信してるだけでしょ?
>>115で可能だよ
120:デフォルトの名無しさん
10/05/23 23:39:36
>>113
C#でpostして、そのレスポンスが欲しいってことかな?
Ajaxっても、普通のHTTPのpost通信だから、
HTTPリクエストとHTTPレスポンスを使ったらできないかな?
見当違いのこと言ってたらゴメン。
121:デフォルトの名無しさん
10/05/23 23:40:46
>>99
ああ、逆にザルのパターンだなそれ
セキュリティについてまじめに取り組まないからそんな雑なことになってる
122:デフォルトの名無しさん
10/05/23 23:43:59
>>113
POST すれば行けるはずなのに wc.UploadValues で行けない場合、
ひょっとしたら文字コードの問題かも。
WebClient の UploadValue は utf8 でしか URL エンコーディングしてくれない。
sjis とか euc の場合は ↓ とかを参照。
URLリンク(dobon.net)
123:113
10/05/24 00:00:53
>>115,117,118,119,120,122
皆様アドバイスありがとうございました。
無事取得することができました。
どうやら問題は122さんがおっしゃっていた通り文字コードでした。
本当にありがとうございました。
124:デフォルトの名無しさん
10/05/24 09:02:14
セキュリティ対策って結局は対外的なポーズに過ぎないんだろうな。
悪意のある人間に対しては何をやっても無駄な気がする。
125:デフォルトの名無しさん
10/05/24 09:38:11
犯罪者予備軍を諦めさせるための抑止力として相手にセキュリティ対策してるよってことが伝わるだけでいいんだよ
そこから踏み込んでくるやつは仕方ない
126:デフォルトの名無しさん
10/05/24 22:16:14
そうだよね。
そこらへんに落ちてるツールで攻撃してくるようなのをはねるだけでも
充分な効果があると思うぜ
127:デフォルトの名無しさん
10/05/24 22:36:07
で、抑止力としてのプリントスクリーン禁止はどうやりゃいいの
128:デフォルトの名無しさん
10/05/24 22:38:33
キーボードから PrintScreenキーを外す。
129:デフォルトの名無しさん
10/05/24 22:40:42
スクリーンキーボードから PrintScreenキーを外すのってどうやるの?
130:デフォルトの名無しさん
10/05/24 22:41:16
>>127
さがしてきたぞー VB.netだけど
URLリンク(www.codeguru.com)
131:デフォルトの名無しさん
10/05/24 22:44:25
本気でやるならドライバレベルで無効化しようぜ
132:デフォルトの名無しさん
10/05/24 22:47:23
カメラで撮影されたら(ry
133:デフォルトの名無しさん
10/05/24 23:10:09
監視カメラ
134:デフォルトの名無しさん
10/05/25 00:10:12
さすがC#スレ
れべるのたかいぷろぐらむだんぎですね
135:デフォルトの名無しさん
10/05/26 00:02:51
List<>の全要素中の条件にあう要素を削除したい場合、
foreachじゃなくてforでCount分だけ回して削除した時だけi--するっていうのが一般的ですかね?
136:デフォルトの名無しさん
10/05/26 00:04:19
後ろから削除する
137:デフォルトの名無しさん
10/05/26 00:06:48
RemoveAll
138:デフォルトの名無しさん
10/05/26 00:11:55
後ろから削除する方法もありますね。
どちらにせよforで泥臭くやるんですね。
もっとスマートなやり方が無いのか気になっただけでした。
139:デフォルトの名無しさん
10/05/26 00:13:25
>>138
>>137
140:デフォルトの名無しさん
10/05/26 00:13:48
もいっこList<>作ってforeachで残す奴だけコピーして差し替え。
としているが問題はない。(作りによるかもしれないが)
141:デフォルトの名無しさん
10/05/26 00:16:06
selectしてdeleteとかできないんだっけ。
もしくはdeleteifみたいなのとか。
142:141
10/05/26 00:17:18
すまんすまん。137で解決してたわ
143:デフォルトの名無しさん
10/05/26 00:18:42
見逃してました。
>>137さんありがとうございます。
144:デフォルトの名無しさん
10/05/26 00:21:43
RemoveAllってAllって名前が悪いよな
要素全部消すみたいに思えるじゃん
145:デフォルトの名無しさん
10/05/26 00:21:49
会社じゃ未だにVS2005だから匿名メソッドが書きにくくて困る。
146:デフォルトの名無しさん
10/05/26 00:24:53
>>144
まあClearがあるからなあ
147:デフォルトの名無しさん
10/05/26 00:29:00
「Clearは参照をnullにして実体はGCにおまかせ、RemoveAllは実体も同時に消す」
みたいな機能があるのかな?と思った
それにしてもなんで"All"なんだ
148:デフォルトの名無しさん
10/05/26 00:31:16
>>147
Clearはリスト全部切り離すはずだよw
Removeは指定した物をRemoveAllは該当するもの全部ってことじゃないの?
149:デフォルトの名無しさん
10/05/26 00:32:44
FindAllと並べたかったんじゃないかな
150:デフォルトの名無しさん
10/05/26 00:38:29
みんなも一度はRemoveRangeしかねーじゃないかといらついた経験があるのか
151:デフォルトの名無しさん
10/05/26 00:47:30
>>137
目から鱗です
152:デフォルトの名無しさん
10/05/26 01:13:50
>>144
Clearの立場は・・・
153:デフォルトの名無しさん
10/05/26 01:41:37
fortranのwhere文みたいのねえのかな
154:デフォルトの名無しさん
10/05/26 02:02:53
LINQのWhereじゃダメなん?
155:デフォルトの名無しさん
10/05/26 02:05:38
>>148
肝心の「該当するもの」って部分が欠けてるだろw
156:デフォルトの名無しさん
10/05/26 02:31:03
ほほう
157:デフォルトの名無しさん
10/05/26 04:49:58
RemoveAllは、あとから追加されたHashSetでは反省してか名前がRemoveWhereになってるね。
158:デフォルトの名無しさん
10/05/26 05:13:25
IList<T>&IDictionary<TKey, TValue> … RemoveAll
ISet<T>(HashSet&SortedSet) … RemoveWhere
リストと辞書がRemoveAllなのは過去のバージョンとの整合性もあって仕方ないか。
159:デフォルトの名無しさん
10/05/26 07:01:46
RemoveIf がよかった
160:デフォルトの名無しさん
10/05/26 12:26:42
追加してRemoveAllをobsoluteにすればよかったのにそうしなかったのには何か意図が、、、なさそうだな
161:デフォルトの名無しさん
10/05/26 12:37:48
そんなことしたらほとんどのプロジェクトで警告出まくってえらいことになる
ほんとはList<T>のFind**/Exists/TrueForAllあたりも
LINQが無かったころの遺物なので(実際Silverlightでは削除)軒並みObsoleteにするべき
162:デフォルトの名無しさん
10/05/26 12:55:07
TrueForAll を素直に LINQ で書くにはどうすればいいの
163:デフォルトの名無しさん
10/05/26 13:03:46
Enumerable.All
164:デフォルトの名無しさん
10/05/26 20:47:24
>>155
抜けているようには思えないが....
165:デフォルトの名無しさん
10/05/26 20:48:46
RemoveAll すべてわすれる
166:デフォルトの名無しさん
10/05/26 20:58:42
実際にコード中で使うときは引数込みで意味は通るだろ
でもIndexOfと違ってRemoveAllだけでも意味が通っちゃうから
インテリセンスやMSDNで名前だけ並ぶとわかりづらいな
167:デフォルトの名無しさん
10/05/27 00:27:26
Listviewについて質問させて下さい。
やりたい事は、
複数のListViewがあり、それぞれで複数の項目(item)を選択した状態を作りたいです。
4つほどのListViewを作り、それぞれで1,2項目、合わせて6ー8項目を選択して、ボタンを押したら、それに見合うデータを取得するというイメージです。
先程、作ってみた所、ListViewのフォーカスを別のListviewに移すと、それまで選択した項目が ”非選択" になってしまいます。
こうならない方法はないでしょうか?
場違いな質問という事であれば、他のスレッドを紹介していただけると助かります。
microsoft visual c# 2008 expressを使い始めて3日目で、
今までは 簡単なscript(ruby, javascript)を書いた経験があるくらいです。
ピントがずれてるのかもしれませんが、よろしくお願いします。
168:デフォルトの名無しさん
10/05/27 00:33:43
なにかあったな
保持する設定
169:167
10/05/27 00:35:25
>>168
プロパティを探せばありそうですか?探してみます。
170:デフォルトの名無しさん
10/05/27 00:42:25
あった
HideSelectionをtrueにすると強調表示なし
falseにすると強調表示あり
171:167
10/05/27 00:48:04
>>170さん、ありがとうございます。
確かに HideSelection を falseにしたところ、選択した後が残ってました。
今から、listView2.SelectedItemsで選択したitemが取れるか確認します。
172:167
10/05/27 00:52:13
ListView3.SelectedItemsで取れてました。
おかげで一歩前進しました。
ありがとうございました。
173:デフォルトの名無しさん
10/05/27 06:09:08
とあるファイルを監視して、そのファイルに変更があった場合、そのファイルを読み取って処理を行いたいと思っています。
しかし、イベントハンドラの中で変更されたファイルを読み取ろうとすると、TargetInvocationExceptionが発生します。
new StreamReader(e.FullPath)の部分で例外が出てしまうのですが、どうすれば読み取れるでしょうか?
■ソース
private void watcher_Changed(System.Object source, System.IO.FileSystemEventArgs e){
using (StreamReader sr = new StreamReader(e.FullPath)){
}
}
174:デフォルトの名無しさん
10/05/27 07:47:04
>>173
ファイルの監視とかなら、FileSystemWatcherじゃないの?
使ったことないけど
175:デフォルトの名無しさん
10/05/27 08:34:43
RemoveAll()ってCのcreat()に通じるものを感じるな
176:デフォルトの名無しさん
10/05/27 11:05:05
e.FullPathはちゃんと有効なパスになっているのか
177:デフォルトの名無しさん
10/05/27 11:12:11
>>173
TargetInvocationExceptionのInnerExceptionは?
ファイルを変更してるプログラムがまだロック中なんじゃない?
178:デフォルトの名無しさん
10/05/27 18:31:18
>>177
できましたありがとう。
using(FileStream fs = new FileStream(e.FullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
using(StreamReader sr = new StreamReader(fs)){
string strLine = sr.ReadLine();
以下省略・・・
179:デフォルトの名無しさん
10/05/28 18:54:05
鱗から目です
180:デフォルトの名無しさん
10/05/28 20:47:53
JaneStyleなどの2ch専ブラの機能の、「>>170」などにマウスホバーすると、>>170の内容が出てきます。
これをlistviewでやりたいんですが、どのように実装すれば良いでしょうか?
VisualStudio2008を使っています。
■イメージ
名前 詳細1 詳細2 詳細3
test1 あ い う
test2 か き く ←この行でマウスホバーされたら名前と詳細1の内容から、表示する内容を決める
test3 さ し す
181:デフォルトの名無しさん
10/05/28 20:50:39
>>180
マウス関連のイベントでマウスが乗っかって停止したら~とかあったはず
それで任意のコントロールで表示すればいいだけちゃうの?
182:デフォルトの名無しさん
10/05/28 21:08:22
>>181
自分でマウスホバーと書いておいて申し訳ないんですが
MouseHoverのイベントを使用すると、かなり重いんです。
中で何も処理をしなくてもかなり重くなってしまいます。
183:デフォルトの名無しさん
10/05/28 21:49:35
>>182
そんなに重かったっけ?
まあ何もしないってのよりはそりゃ処理するので負荷は増えるだろうけどさ
184:デフォルトの名無しさん
10/05/28 22:08:00
普通にToolTip使えばええやん
185:デフォルトの名無しさん
10/05/28 23:14:30
>>183
ストレスを感じるくらいには重いです。
ボタン押下時に多少重くなるのはいいんですが、カーソルを移動させただけで重くなるのは避けたいです。
>>184
アドバイスありがとうございます。
わからない点があるので、わかるようでしたら教えてください。
■不明点
・マウスがListViewのどの行の上にあるのか取得できるか?(選択させるわけではないのでselectedではありません
・行ごとに説明文を変える事ができるのか?
186:デフォルトの名無しさん
10/05/28 23:33:11
>>185
これではどう?
URLリンク(dobon.net)
187:デフォルトの名無しさん
10/05/29 00:05:14
>>186
完璧です。
ありがとう。
188:デフォルトの名無しさん
10/05/29 01:10:17
>>185
はやくリリースビルドで速度を確認する作業に入るんだ。
解決したらしいが。。。
189:デフォルトの名無しさん
10/05/29 02:44:47
FreeTrain EX Avという、A列車で行こう4のクローンになりたいゲームを作ってるのですが。
URLリンク(sourceforge.jp)
(最新βが2.1.1.5で、ソースは直下trunk/以下が該当します)
パラメータをリアルタイム表示するウィンドウを追加して行ってたら、データセーブ時に特定の
ウィンドウをあけっぱなしているとエラーが起こるようになってしまいました。
>アセンブリ 'FreeTrain.Core, Version=2.1.1.5, Culture=neutral, PublicKeyToken=null' の型
> 'freetrain.world.rail.StationInformationWindow' はシリアル化可能として設定されていません。
データのセーブロードはBinaryFormatterを使ったシリアライズでしています。
ウィンドウのFormをシリアライズしようとしてるわけではなく、パラメータの変化をイベント起こして
もらって表示をリフレッシュするために使ってるイベントハンドラが参照を呼んでこのウィンドウ
のシリアライズをしたがっているみたいなのです。
core/world/rail/Station.csが駅本体部分で、ここでイベントの宣言を
public delegate void StationCounterListener();
public StationCounterListener onStationChange;
とやってて、駅に乗降があったときにonStationChange();してます。
パラメータを表示してるウィンドウはcore/controllers/rail/StationInformationWindow.csで
public StationInformationWindow( Station st ) {
this.station = st;
InitializeComponent();
onUpdate();
station.onStationChange += new StationCounterListener(onUpdate);
}
ここでstation.onStationChange += の行をコメントアウトするとエラーがなくなります。
しかし他にもイベントハンドラでリアルタイム書き換えしてるウィンドウ多数あるのにエラーに
なってなくて、なぜこのウィンドウだけなるのかが分からないのです。
190:デフォルトの名無しさん
10/05/29 03:32:30
そのonUpdateがどうなってるかまず晒せ
191:デフォルトの名無しさん
10/05/29 03:34:38
ロギングにlog4net使おうかと思ってるんだけど、log4netて使いにくく無いですか?
今まで使ってた自作Loggerクラスはstaticなメソッドを一発呼ぶだけ、みたいな感じにしてたんだけど
log4netだとGetLogger呼ぶ時の引数がやっかいで、簡単に自作クラスでラップできそうにないし・・・
全クラスの先頭に
private static readonly ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
とかうめこんで
loger.Error("えらー");
とかめんどくさいなぁ。
この辺どうやって解決してます?
それともNLog使ってる人のが多い?
192:デフォルトの名無しさん
10/05/29 03:56:56
>>191
TraceListenerで十分だから、そんなもん使わん
193:デフォルトの名無しさん
10/05/29 07:15:23
参考までに教えて欲しいのですが、>>186でできるのはListViewだけで
checkedListboxではできないのでしょうか?
もしできるようならそっちもいろいろやってみたいのですが
MSDNを見てもそれらしいプロパティが存在しないみたいなんです。
194:デフォルトの名無しさん
10/05/29 08:36:30
Listbox系のアイテムの管理はstring[]だからなあ
tooltip使ってみたけどcheckedListbox全体ででちゃうな
個別はできなかった
195:デフォルトの名無しさん
10/05/29 08:42:21
おっと自分の質問忘れるところだった
2chの通信をモニターするだけのソフトを作りたいんですが
参考になるような情報を扱ってるサイトをご存知ないでしょうか?
もしくはヒントでもかまいません
196:デフォルトの名無しさん
10/05/29 08:53:49
>>193
>186の1.1以前と同じやり方でやればいいよ
GetItemAtの代わりにIndexFromPoint使って
197:デフォルトの名無しさん
10/05/29 08:58:15
C++でいう
#include <shobjidl.h>
#include <shlguid.h>
はC#だと何になるのでしょうか?
198:デフォルトの名無しさん
10/05/29 09:04:20
>>197
どのインターフェイスを使いたいのさ
199:197
10/05/29 09:06:29
>>198
ショートカットのリンク先を取得するのにusingが分かりません
200:デフォルトの名無しさん
10/05/29 09:09:01
>>199
usingを知りたいのはわかるw
ヘッダーよりどの関数の代わりかで聞いたほうがいいよ
201:189
10/05/29 09:29:35
>>190
こんなかんじです
private void onUpdate(){
// initialize the dialog
nameBox.Text = station.name;
label_loaded.Text = string.Format("{0} / {1}",station.LoadedToday,station.LoadedYesterday);
label_unloaded.Text = string.Format("{0} / {1}", station.UnloadedToday, station.UnloadedYesterday);
label_trains.Text = string.Format("{0} / {1}", station.TrainsToday, station.TrainsYesterday);
label_waiting.Text = string.Format("{0} / {1}",station.WaitingPassengers, station.population);
label_entering.Text = string.Format("{0} / {1}",station.WantEntering, station.entering);
label_LastUnloded.Text = station.lastUnloaded.ToString();
}
202:デフォルトの名無しさん
10/05/29 10:04:45
簡単なのはShell32.dllをCOMとして参照設定し、
using Shell32;
で、Z:\Hoge.lnkのリンク先を得るコードはこんな感じ。
ShellFolderItemを直接得る方法があればいいんだけど、それは分からん。
Shell sh = new Shell();
Folder f = sh.NameSpace(@"Z:\");
foreach (ShellFolderItem i in f.Items())
{
if (i.IsLink && i.Path == @"Z:\Hoge.lnk")
{
Console.WriteLine(((ShellLinkObject)i.GetLink).Target.Path);
}
}
203:202
10/05/29 10:08:38
すまん
>>202は>>199な。
204:デフォルトの名無しさん
10/05/29 11:28:09
>>201
それに使ってるプロパティのどれかが内部的にシリアライズ使ってるか、
どっかでシリアライズしてるのがたまたま其処で発狂するかのどっちかだな
てか何処でエラー起こってんのよ?
newしてるとこじゃないんだろ
205:197
10/05/29 12:12:10
>>202
ありがとうございます
試してみたところ
エラー 1 型または名前空間名 'Shell32' が見つかりませんでした。
とエラーがでてしまいます。
206:デフォルトの名無しさん
10/05/29 13:07:35
>>205
ちゃんと参照設定してないだろそれ
usingのことじゃないぞ>参照設定
207:デフォルトの名無しさん
10/05/30 00:51:07
.NET framework 4でoffice 2003のアドイン作れますか??
208:デフォルトの名無しさん
10/05/30 18:21:20
タイプライターのように文字表示したいのですがUIでThreadを使うなと以前書いてあったと思います
どのようにwaitをかければ良いでしょうか
URLリンク(ideone.com)
209:デフォルトの名無しさん
10/05/30 18:42:43
>>208
Dispatcher通せば別スレッドからアクセスできるよ。
210:デフォルトの名無しさん
10/05/30 19:08:07
>>208
System.Windows.Timerを使えばいい。
211:デフォルトの名無しさん
10/05/30 19:54:56
waitを掛けるって発想が大昔のBASICっぽいなw
212:デフォルトの名無しさん
10/05/30 19:56:20
UIでThreadを使うなって
Invokeしろって意味じゃないのか?
213:デフォルトの名無しさん
10/05/30 19:59:38
正しくは「UIスレッドを止めるな」だな
スレッドを止めたいときは別のスレッドを作る
214:デフォルトの名無しさん
10/05/30 21:09:56
208です
BackgroundWorkerを使って別スレッドにしてみましたが結局UIを触るなってことらしく
にっちもさっちも行きません
Thread.Sleepで止めて、その間UIを触れないようにしました
215:デフォルトの名無しさん
10/05/30 21:17:29
タイマ使え
ループはいらん
216:デフォルトの名無しさん
10/05/30 21:42:04
>>214
どこを参照してそのような知識を得たのか晒してみるといいよ
217:デフォルトの名無しさん
10/05/30 21:51:58
タイマーだと、タイプライターのような入力文字列によるインターバルの差や、
入力速度の揺らぎを再現しようとすると、綺麗に纏まらないな
勿論、それくらいやるよね>>208
218:デフォルトの名無しさん
10/05/30 21:55:56
それでもそんなことにスレッド使うのはありえない
短い間隔で頻繁にコールバックかけて時間測るようにするだろ
ゲームみたいに自分でメッセージループ回してもいい
219:デフォルトの名無しさん
10/05/30 22:03:16
>>214
だからDispatcher使えって。
別スレッドから、「UIスレッドでこの処理実行してくれ」ってお願いする機能。
220:デフォルトの名無しさん
10/05/30 22:07:38
いやそもそも普通そんなことにスレッド使わないから
221:デフォルトの名無しさん
10/05/30 22:08:55
>>219
普通DispatcherというとSystem.Windows.Threading.Dispatcherだが、
WinFormの話でそんなんだされても困る
222:デフォルトの名無しさん
10/05/30 22:13:49
208です
さすがに素人でも214の処理はまずいと思いましたのでTimerを使ってみました
URLリンク(ideone.com)
期待通りの動きといえば期待通りなのですがどうでしょうか
223:デフォルトの名無しさん
10/05/30 22:18:26
>>221
あー、Control.Invoke (Delegate) のことね。
224:デフォルトの名無しさん
10/05/30 23:19:51
>>222
なんかおかしくね?
225:デフォルトの名無しさん
10/05/31 00:17:46
なんかって何?
クリックするたびにTickのイベントハンドラが増えるとか、
TypeWriter()の引数を使っていないとか、
typewriterは1単語だからケースがおかしいとか?
226:デフォルトの名無しさん
10/05/31 00:20:47
>>225
やさしいなw
227:デフォルトの名無しさん
10/05/31 00:29:16
C#でフォルダを作るときに変数をフォルダ名にすることはできますか?
228:デフォルトの名無しさん
10/05/31 00:35:42
変数を使わずにフォルダを作る方法がわかってるんだったら
フォルダ名を文字列で直接指定する代わりに変数を与えればいいだけ
229:デフォルトの名無しさん
10/05/31 00:35:42
なぜそうしたいんですか?
230:デフォルトの名無しさん
10/05/31 00:44:24
>>228
すいません
それがうまくいかなくて…
>>229
例えば「5」と入力したらフォルダ1、フォルダ2、…、フォルダ5というようにフォルダを作りたいので
231:デフォルトの名無しさん
10/05/31 00:49:00
>>230
for (int i = 1; i <= 5; i++) {
string folder = string.Format("フォルダ{0}", i);
}
232:デフォルトの名無しさん
10/05/31 00:50:03
>>230
それは「変数をフォルダ名にする」じゃ言葉足らずもいいとこだろ。
var path = Path.Combine(basePath, string.Format("フォルダ{0}", i);
Dicretory.CreateDirectory(path);
とかでもダメ?
233:デフォルトの名無しさん
10/05/31 00:54:08
>>231
>>232
ありがとうございます
試してみます
234:デフォルトの名無しさん
10/05/31 10:28:12
ゲ製から来た人かなあ
ゲーム作るつもりなら最終的には自分でメッセージループ回すことになると思うぞ
235:デフォルトの名無しさん
10/05/31 15:06:34
C++の__DATE__みたいなコンパイル日付は
どのように取得するのでしょうか?
236:デフォルトの名無しさん
10/05/31 15:41:05
無理
どうしてもやりたかったらビルド前のコマンドでコード生成
237:デフォルトの名無しさん
10/05/31 17:43:21
無いですか・・・残念
ありがとう
238:デフォルトの名無しさん
10/05/31 23:18:02
コード生成っていったって
internal static class VersionInfo { public const string Date = "2010/05/31"; }
こういうのを生成してcsファイルに保存する処理をスクリプトかなんかで書いてビルド前イベントで呼ぶだけ
239:デフォルトの名無しさん
10/06/01 00:56:56
svnのリビジョンを読み取ってソースに書き込む奴とかな。
240:デフォルトの名無しさん
10/06/01 04:51:57
わざわざ読み取らなくても勝手に変えてくれるよ
241:デフォルトの名無しさん
10/06/01 15:22:12
MSってコード生成とかメタプログラミングとか好きだから
__DATE__みたいなオモチャ使わず各自で好きにやるのが普通だと思ってるんだろうな
242:デフォルトの名無しさん
10/06/01 16:22:49
どうしても必要ならリフレクション。
243:デフォルトの名無しさん
10/06/01 16:50:03
リフレクション使うにしてもコンパイル時に埋めこんどかないと無理
[assembly:CompileDate("2010/05/31")]みたいな
どっちみちコード生成が必要だから>>238の方が楽
244:239
10/06/01 19:34:49
>>240
うわあ、今までPerlのスクリプトで処理してた・・・
245:デフォルトの名無しさん
10/06/01 19:50:35
>>244
まじかよw
これまでの作業量について考えるのだけはやめておくんだ!これからが大事!な!
246:デフォルトの名無しさん
10/06/02 05:36:50
245 のやさしさに泣いた
247:デフォルトの名無しさん
10/06/02 08:58:57
まぁ遠回りして勉強になることもあるし・・・
あまりにも調べが足りなさすぎるがこれも勉強だw
248:デフォルトの名無しさん
10/06/02 10:55:14
まあデフォルトのままだとかわらないからな
249:デフォルトの名無しさん
10/06/02 13:09:26
相談です。
.NET3.5でWindowsフォームアプリケーションを作成しています。
Webカメラやリモートカメラなどの映像を取り込み、その映像をリアルタイムにフォーム内に表示したいのですが、
可能でしょうか?
「webカメラ キャプチャ」等のワードで検索しても良い資料が見つからなかったので、
どなたか良い方法をご教授ください…
250:デフォルトの名無しさん
10/06/02 13:34:04
>>249
DirectShow辺りに答えがあるんじゃないかな?
あと、ヒントならGraphEditPlusというツールを使うのもありかも。
251:デフォルトの名無しさん
10/06/02 13:51:48
Directshow.NET使ってる。
普通に使える
252:251
10/06/02 14:00:17
あーあとOpenCVの.NET版も試したけど使えたよ
253:デフォルトの名無しさん
10/06/02 14:38:34
どなたか教えてください。
機器との通信により得られた16進数の浮動小数点データ形式文字列を、
10進数にしてを表示するプログラムを作成したいのですが、よい方法はないでしょうか?
<例>受信データ:42C80000 出力:100.0
といったものを作りたいのです。
なお、受信データを文字列に変換するところまでは、できています。
254:デフォルトの名無しさん
10/06/02 14:49:05
16進文字列をintに変換
int n = Convert.ToInt32("42C80000", 16);
intを浮動小数点に変換
float f = BitConverter.ToSingle(BitConverter.GetBytes(n), 0);
100.0のような書式で出力するのはわかるよね?
255:デフォルトの名無しさん
10/06/02 15:00:18
その前にエンディアンとかの話は大丈夫なんだろうか・・・
256:デフォルトの名無しさん
10/06/02 15:01:56
受信データの例を見る限り問題無いでしょ
257:253
10/06/02 15:29:16
>254さん
できました。
ようやくConvert.ToInt32の意味がわかりました。
どうもありがとうございます。
258:デフォルトの名無しさん
10/06/02 20:34:47
フォーム内のフォーカスを初期表示時と同じにする、もしくは
フォーム内のコントロールで TabIndex が一番若い番号のコントロールを
簡単に知る方法はないでしょうか?
現在複数のフォームを使うアプリを書いているのですが、
インスタンス化の処理が結構重い(DBから情報ひっぱってきてコントロールを沢山つくる)ので
フォームのインスタンスを使いまわすことにしました。
Close() のかわりに Hide() を使ったまではいいのですが、
再度表示したときに当然のごとくフォーカスの位置が前回と同じなままになってしまいます。
ロードイベントあたりで先頭のコントロールに対して Select() を使って対処していますが、
コントロール名をハードコーディングしているのでデザイナでの TabIndex 変更に追従出来ていません。
259:デフォルトの名無しさん
10/06/02 20:45:33
>コントロール名をハードコーディングしているのでデザイナでの TabIndex 変更に追従出来ていません。
意味がわかりません
260:デフォルトの名無しさん
10/06/02 20:56:45
とてつもないドキュソ実装の香り。
動的なフォーム構築で追加したコントロールのTabIndex再設定ができません、と聞こえる。
手を抜かないでFormのControlsを回して設定し直せばいいんじゃね?
261:258
10/06/02 21:04:19
>>259
TabIndex が一番若いコントロールを決めうちして
Load イベントで直接 Select() しちゃっています。
デザイナで順番かえたりした場合は一々 Select() を呼び出すコントローラーを変更しています。
>>260
全部を動的に追加しているわけじゃなく、いくつか固定で置いてあるものもあるんですが、
動的フォーム構築をする場合って全部の TabIndex をコードビハインド側でふりなおすのが普通なんでしょうか?
その場合ってデザイナ側での並び順がかわったら一々コードも修正しないといけないですよね?
262:デフォルトの名無しさん
10/06/02 21:08:09
>>250,251
ありがとうございます
263:デフォルトの名無しさん
10/06/02 21:08:45
LinQで検索でいけるじゃんと思ったけどPanelとか使ってると結構めんどくさいな
264:デフォルトの名無しさん
10/06/02 21:13:57
USBカメラを使って、動画を
AVIファイル形式での作成の仕方はサンプルみつけたんだけど、
WMVもしくはMP4で作成できる人いる?
AVI形式はサイズが大きすぎて、、、小さくしたいんだよね。
265:デフォルトの名無しさん
10/06/02 21:20:46
スレ違い
そういうのはC#にこだわらずにC++のコードとか漁らないと
266:258
10/06/02 21:22:48
自己解決しました。
フォームの VisibleChanged イベントハンドラで自分自身に対して SelectNextControl() を使うことで
希望の動作となりました。
267:デフォルトの名無しさん
10/06/02 21:33:45
フォームインスタンス使いまわしはクリアの処理が汚なくなりがちだからきらいだな
268:デフォルトの名無しさん
10/06/02 21:36:45
きちんと戦略を練られるならいいけど、タブ順の管理すらメンドクサなんていう
子のコードは信じられない。
269:デフォルトの名無しさん
10/06/02 21:50:28
>>268
タブ順はデザイナーで管理したい、って話じゃないの?
俺はそういうのはデザイナ側で完結してないと気持ちわるいけどな。
WPF万歳だよほんと。
270:デフォルトの名無しさん
10/06/02 21:53:20
コードビハインドはどっちかっつーとまだデザインの範疇じゃね?
まータブ順変更しただけでコード書き換えなきゃいけないような実装はタコだと思うけど。
271:デフォルトの名無しさん
10/06/02 22:00:38
WPFありがたがってるのは総じてアホ
272:デフォルトの名無しさん
10/06/02 22:13:29
新しいものを受け付けなくなったら終わりだよ
C#ユーザーってもっとミーハーが多いのかと思ってた
273:デフォルトの名無しさん
10/06/02 22:16:09
WPF単体だと見切る可能性大だったな
SilverLightがなければやろうと思わなかった
274:デフォルトの名無しさん
10/06/02 22:19:16
>SilverLight
ほんとにやってんの?
275:デフォルトの名無しさん
10/06/02 22:21:09
xamlという共通な部分があるからね
実装差違とかあるのもわかってるよ
どっちかといえばsilverlightのついでにWPFやる感じ
276:デフォルトの名無しさん
10/06/02 22:21:36
test
277:デフォルトの名無しさん
10/06/02 22:24:34
xamlがわからない
278:デフォルトの名無しさん
10/06/02 22:26:38
xamlやるぐらいならHTML5とJavaScriptやる
279:デフォルトの名無しさん
10/06/02 22:31:28
たかが設定ファイルに何そんなに騒いでるの
XAMLなんかDesigner.csをXMLにしただけのもの
触りたくなけりゃ触らなくてもデザイナ任せでWinForms程度のUIは作れる
280:デフォルトの名無しさん
10/06/02 22:32:19
なんでか、うちのWindows7じゃWPF動かんし。
動かすと「URLが正しくないため、読み込めませんでした」。
エクスプローラからダブルクリックしても全く動かない。
281:デフォルトの名無しさん
10/06/02 22:34:02
>>277
winformでも同じような仕組み作れるよ
Formにwebbrowser貼り付けてそこへ起動時にhtmlコード入れて
webbrowserのどれがクリックされたとかイベント処理すればOK
282:デフォルトの名無しさん
10/06/02 22:34:12
何を勘違いしてるのか知らんがプログラミングやるようなレベルじゃないな
283:280
10/06/02 22:42:26
あ、すまん勘違い。なんかいじってた設定が悪かった。新規作成したら動いたわ。
284:デフォルトの名無しさん
10/06/03 01:14:15
ソフトウェアキーボードを作っています。
タブによって英数字と平仮名のキー分けてをそれぞれ実装しています
ある文字ボタン(ここでは「か」と書かれたボタン)を押すとイベントが発生し、以下のような処理を行います。
private void buttonH_SA_Click(object sender, EventArgs e) {
SendKeys.SendWait("ka"); //"平仮名の「か」を送りたい
}
このようにして、ソフト上でキーボードを実現したいのですが、
例えばメモ帳アプリケーションに対してこのような処理を実行すると、"か"ではなく"ka"としか表示されません。
なんとかして、メモ帳に"ka"ではなく"か"と表示させることはできないのでしょうか?
対象テキストボックスのImeModeプロパティが弄れたらいいのだけれどもそれは無理ですし…
何か良い方法があればご教授下さい。
よろしくお願いします。
285:デフォルトの名無しさん
10/06/03 07:01:55
SendKeys.Send("か");
でいかんのか?
286:デフォルトの名無しさん
10/06/03 10:42:43
>>285
それは試しましたが、確かに「か」と出力されます。
しかし未変換の状態で出力されてほしいのです。(文字に下線がついて出力されるように)
その方法では既に確定した状態で出力されてしまいます。
287:デフォルトの名無しさん
10/06/03 11:06:27
DLLのAPI呼び出しでもいい?
288:デフォルトの名無しさん
10/06/03 11:55:11
>>287
大丈夫です
289:デフォルトの名無しさん
10/06/03 14:22:47
>>288
ならWin32 APIのSendInputを呼び出すんだな。
IMEがMS IMEなら下線付きで送信される。でも残念ながらATOKは確定済みで送信される
290:デフォルトの名無しさん
10/06/03 14:27:22
Imm~で何とかできそうな
291:デフォルトの名無しさん
10/06/03 15:43:17
URLリンク(cs2ch.blogspot.com)
これにIMEの制御つけるだけじゃないの?
292:デフォルトの名無しさん
10/06/03 16:14:03
多分「詳細なテキストサービス」の出番ではなかろうか
Imm系がそれだったような気もするが詳しくは知らん
てか情報なさ過ぎ
293:デフォルトの名無しさん
10/06/03 16:17:15
>>292
それより問題なのがOSがvista以降くらいになると
IME関連の制御が違うとかどうのって記述を見かけたたんだよな・・・
294:デフォルトの名無しさん
10/06/03 17:53:48
>>293
これだな URLリンク(social.technet.microsoft.com)
VistaからTextServicesFramework、略してTSFなるものに変わったらしい
まったく毎度毎度要らんことしてくれるわM$さんはよう
295:デフォルトの名無しさん
10/06/03 18:06:11
>>294
それそれ
MS関連でタッチパネル系デバイスが普及しないのは
そういうところなんだよね~
296:デフォルトの名無しさん
10/06/03 18:39:37
>>295
かんけーねーし、
そもそも携帯電話以外で巷にあふれているタッチパネルのデバイスの大半はMSのOS使っているだろ。
297:デフォルトの名無しさん
10/06/03 18:42:34
業務用で終わってる内は普及したとはいわねーよw
298:デフォルトの名無しさん
10/06/03 18:49:58
>>297
ニートは言うことが面白い。
299:デフォルトの名無しさん
10/06/03 19:07:43
>>296
WindowsMobileを無視するとは。
300:デフォルトの名無しさん
10/06/03 19:16:50
>>298
自分の家が世界の全てだからな。
301:デフォルトの名無しさん
10/06/03 19:18:38
普及したって定義は実際はどうなの?
302:デフォルトの名無しさん
10/06/03 19:47:37
なんか一気に雰囲気悪くなったな
303:デフォルトの名無しさん
10/06/03 19:51:54
まあネタに真面目に突っ込むのもアレだけど、
>>294も>>295もどっちもどっちではある。
Windowsでサポートされてたタッチパネルってほとんどマウスエミュレーション系じゃない?
ああいうのを今日的な感覚でタッチパネルって言っていいのかどうか。
304:デフォルトの名無しさん
10/06/03 21:56:45
いきなりネガキャンされたらいい気しない人も結構いるってことじゃないの?
305:280
10/06/03 22:06:50
かといって、タップ&ホールドを持ち込まれるとついていけない子がいっぱい。
でもないのか、iPhoneとかでも使われてるし。
306:294
10/06/03 23:33:13
>>303
ちょwww俺もかよwwwwww
アンカーミスだよな?
307:デフォルトの名無しさん
10/06/04 01:11:12
MSILのリファレンスってどこで見れますか?
308:デフォルトの名無しさん
10/06/04 01:12:45
XmlSerializerでデシリアライズをやろうとしてるんですが、
一つの要素に配列の様に複数の値が入ってる場合にちょっと困ってます。
↓こんな要素があって、colorをRGBAで読み込みたいんです。
<ambient>
<color>0.50000 0.50000 0.50000 1</color>
</ambient>
とりあえず文字列としてはcolorがデシリアライズできましたが、
public class ambient
{
public string color;
}
使い勝手が悪いのでfloat4つのR,G,B,Aを持ったcolorクラスとして、
もしくはfloat[4]として読み込みたいです。
public class color
{
public float r, g, b, a;
// public float[] rgba;
}
何かいい方法ないでしょうか?
309:デフォルトの名無しさん
10/06/04 01:17:48
<ambient>
<color a="0" r="0" g="0" b="0"/>
</ambient>
とか
<ambient>
<color>
<a>0</a>
<r>0</r>
<g>0</g>
<b>0</b>
</color>
</ambient>
とか
310:デフォルトの名無しさん
10/06/04 01:19:19
xmlの方は変えられないのならsplitでバラすとか
311:デフォルトの名無しさん
10/06/04 01:35:51
xmlの方は変更出来ません。
文字列で読み込んでから分割するしかないですかね。
312:デフォルトの名無しさん
10/06/04 01:38:15
無いんじゃないかな
313:デフォルトの名無しさん
10/06/04 01:40:04
XmlSerializerの都合もあるだろうしね・・・
というか何でできないの?
最悪の場合は変換前のxmlに正規表現の置換でもかけて
XmlSerializer向けに直してやるとかは?
314:デフォルトの名無しさん
10/06/04 02:04:40
google earth用のモデルファイルなんで、モデルファイル自体には変更無しで読み込もうとしてました。
315:デフォルトの名無しさん
10/06/04 02:08:25
普通にxmlをreadさせて解析するのじゃだめなのかね?
316:デフォルトの名無しさん
10/06/04 10:44:26
Google はその辺りすごい evil だからなぁ。
他社との連携とかほんと無視。
317:デフォルトの名無しさん
10/06/04 10:56:28
単純にsoapの方を使ってシリアライズしたらいいじゃん
フィルタ書けてそう言うのも簡単に読み書きできるし
318:デフォルトの名無しさん
10/06/04 12:17:33
>>307
最も完全なのはecmaのCLI
オペコードのリファレンスとしてわかりやすいのはMSDNのSystem.Reflection.Emit.OpCodes
319:デフォルトの名無しさん
10/06/04 14:51:38
>>316
それを悪とするあつかましさが醜い
320:デフォルトの名無しさん
10/06/04 20:48:13
XmlSerializer 便利だけど結構こまかい制約あるしなあ
321:デフォルトの名無しさん
10/06/04 21:58:47
邪悪なxxコンテストとか今時のヤツはやらんのか・・・
322:デフォルトの名無しさん
10/06/04 22:38:21
Soapってまだ使われてる??
323:デフォルトの名無しさん
10/06/04 22:41:16
全国どこにでもありますが
324:デフォルトの名無しさん
10/06/04 23:13:47
駅前のは本番ないから気をつけような
325:デフォルトの名無しさん
10/06/04 23:26:36
知らんかった(岐阜県民)
326:デフォルトの名無しさん
10/06/04 23:49:38
質問です。
VC2008 C#の、イミディエイトウィンドウ内で
IEnumerable実装クラスなどを列挙させるのに
いい方法はないでしょうか。
327:デフォルトの名無しさん
10/06/05 00:02:08
.ToArray()
328:デフォルトの名無しさん
10/06/05 00:19:07
その後、[0], [1] とか自力でやりますか?
329:デフォルトの名無しさん
10/06/05 00:29:27
イミディエイトウィンドウって使う?
全部ウォッチウィンドウで済ませちゃってるんだけど。
330:デフォルトの名無しさん
10/06/05 00:33:08
たまに使う。
副作用のあるメソッド呼び出しとか。
331:デフォルトの名無しさん
10/06/05 00:35:07
>>328
試せよ
配列なら自動的に中身が表示される
332:デフォルトの名無しさん
10/06/05 03:09:17
なるほど
333:デフォルトの名無しさん
10/06/05 07:37:53
>>329結構使う
ブレイクさせて関数への引数変えて返り血みてみたいとか
変数の値直で変えたり、デバッグ用のテストコードにすりゃいいんだろうけど、その場限りの時はつかうかなぁ
334:デフォルトの名無しさん
10/06/05 07:40:06
痛そう
335:デフォルトの名無しさん
10/06/05 07:59:58
イミディエイトウィンドウでの実行の仕方がなかなかわからなくて
結構こまってた。
インテリセンスするためだけのウィンドウだと思ってたよ・・・
336:デフォルトの名無しさん
10/06/05 10:12:47
>>329
あそこでバグ修正用コードとか
半分コーディングしにかかるレベル
337:デフォルトの名無しさん
10/06/05 10:51:59
>>333
そのあたりはクイックウォッチからもできるから。
イミディエイトウィンドウじゃないとできないことって何だろう?
338:デフォルトの名無しさん
10/06/05 12:23:40
object o = null;
(クイック)ウォッチでやるとこんなメッセージがでる
> 宣言ステートメントは、イミディエイト ウィンドウでのみ許可されています
339:デフォルトの名無しさん
10/06/05 14:13:04
当たり前だっ
340:デフォルトの名無しさん
10/06/05 14:42:48
なにおいっているのら・・・・
341:デフォルトの名無しさん
10/06/05 15:56:08
プロパティでクラスを返す時読み取り専用に
する方法はありますか?
class a : ICloneable {
int value = 0;
//以下略
}
class b {
private a = new _a();
public a REF {
get{ return _a; }
set{ _a = value; }
}
public a CLONE {
get{ return _a.Clone(); }
set{ _a = value; }
}
}
b = new obj();
b.REF = new a(); //更新をこれだけにしたい(CLONEも)
b.REF.value = 5 //禁止したい
b.CLONE.value = 5 //意図しない動作なので禁止したい
342:デフォルトの名無しさん
10/06/05 16:05:00
ない
中身を変更できないようにクラスを作る
あとICloneableを重視してらっしゃるようだけど今は非推奨になってるから実装しなくていいよ
343:デフォルトの名無しさん
10/06/05 16:06:44
aクラスに読み取り専用のValueプロパティを作る
344:デフォルトの名無しさん
10/06/05 16:18:37
aを変更不可にしてしまえばいいんだが一般にはそれよりも
bにpublic int AValue { get { return a.value; } }を付けた方がいい
もちろん場合によるけどbを利用する側がaを知らなくて済む
345:デフォルトの名無しさん
10/06/05 16:21:36
>>342, 343
ありがとう
簡単にはいかなそうですね・・。
場所によっては変更が必要なのでprivate protectedを
駆使して試して見ます
てか、ICloneableが非推奨というのは驚きました。
346:デフォルトの名無しさん
10/06/05 16:24:41
URLリンク(blogs.msdn.com)
これだな
Cloneとだけ書かれてもどんなコピーが返ってくるのか全くわからん。
むしろわけのわからないネーミングを助長するだけ。DeepCopyとか自分で実装してくれ。ということらしい。
347:デフォルトの名無しさん
10/06/05 20:03:23
LabelのAutosizeをtrueにした時の伸びしろを最小限に抑えることってできないのかな?
labelを密に横並びに配置しているのだけれど、どうも隣と被さって文字が見えなくなってしまう。
Autosizeをfalseにして文字を限界まで詰めると隣のラベルとかぶることはなくなるけどなぜか文字が途中までしか表示されなくなるし。
348:デフォルトの名無しさん
10/06/05 20:14:31
>>347
悪いけど全体的に何をいいたいのかよくわからん。
てか「なぜか」ってそれのどこが疑問なのか意味わからんし。
349:デフォルトの名無しさん
10/06/05 20:46:00
久しぶりに逆襲のシャアみてたのでニュータイプになったつもりで
回答してみるとだな・・・
>>347
適当なコンテナで制御するのが一番かもね
350:デフォルトの名無しさん
10/06/05 23:12:58
C井の質問もここでよろしいのでしょうか。
351:デフォルトの名無しさん
10/06/05 23:17:38
なにそのイニシャルトーク
352:デフォルトの名無しさん
10/06/05 23:21:37
逆シャアって最後のところでアムロとシャアって
死んだとされてるけどMSが弾き飛ばされてる
はずなのに軌道がそれるのが確定したときに
二つ何かが飛び去るシーンがあるんだよね・・・
スレチ
353:デフォルトの名無しさん
10/06/05 23:42:28
二人が自由になるための作戦
死んだ事にして別人を名乗って気楽に生きていくために
354:デフォルトの名無しさん
10/06/06 00:28:16
嬉し恥ずかしボーイズラブですね
355:デフォルトの名無しさん
10/06/06 02:23:22
>>347
たぶんそこら辺面倒なくしたければテーブルを使うのが気楽でよいよ
356:デフォルトの名無しさん
10/06/06 04:01:34
Datagridviewの使い方が解りません。だからラベルをチマチマ貼ってます。
マウスで綺麗に配置した積りだけど、どうも隣と被さってる気がします。
とエスパーしてみる。
357:デフォルトの名無しさん
10/06/06 07:02:30
ほぼ正解
358:デフォルトの名無しさん
10/06/06 09:15:18
>>347
TableLayoutPanelコントロールを使えばOK
359:デフォルトの名無しさん
10/06/06 12:33:22
入力チェックについて相談させてください。
フォーム内に登録されているコントール全ての Validating イベントを発生させるには
どうしたらよいのでしょうか?
現在、それぞれの項目の入力チェックは Validating イベントの中で処理し、
内容が正しくない場合は ErrorProvider を使用してアイコンを表示するようにしています。
このままですと一度もフォーカスを得ないままのコントロールは入力チェックがなされないままになってしまいます。
なので、登録ボタンを押下したタイミングでも全ての項目の入力チェックを行なおうと考えたのですが
うまい方法が思いつきませんでした。
ContainerControl の Validate メソッドで子コントロール全てを Validate できるのかと思ってためしたのですが
だめでした・・・
360:デフォルトの名無しさん
10/06/06 14:06:01
つValidateGroup
361:デフォルトの名無しさん
10/06/06 14:37:35
>>360
ValidatingGroup ですね。
ASP.NET 用ですか・・・ Windows Form では使えなさそうですね。
362:デフォルトの名無しさん
10/06/06 14:46:57
ContainerControl.ValidateChildrenは?
363:デフォルトの名無しさん
10/06/06 15:20:58
>>362
おおお! まさしくそれです
ありがとうございます
実装してみたところ期待通りの動作となりました
しかし・・・
なぜか自分ところの環境(VSEE2008)だと
ValidateChildren がインテリセンスにもオブジェクトブラウザにも出てこない・・・
ターゲットは .NET 2.0 にしてるしビルド自体は通るから問題なさそうなんだけどなんでなんだろう
364:デフォルトの名無しさん
10/06/06 15:24:10
Browsable(false)属性付きだから
なんでそうしてるかは.NETの中の人に聞かないといけないが
365:デフォルトの名無しさん
10/06/06 15:34:56
なるほど。
Form の方では Browsable(true) になっていました。
メソッドの性質を考えるとなるべく上位で使って欲しいからとかそんなとこなんでしょうかね。
重ね重ねありがとうございます。
366:デフォルトの名無しさん
10/06/06 16:38:40
やるな
367:デフォルトの名無しさん
10/06/06 17:01:44
ADO.NETで質問なんですが、
DataRow一行だけを編集するような画面を作る場合でも
TextBoxとかComboBoxにバインドするのが一般的な作り方なんでしょうか?
それとも一々内容を移しかえるやり方が一般的なんでしょうか?
368:デフォルトの名無しさん
10/06/06 17:15:30
たった1行でも入力項目が多ければバインドする~
369:デフォルトの名無しさん
10/06/06 19:02:49
ADOは見通しが悪いよね
370:デフォルトの名無しさん
10/06/06 19:07:50
手書きのADO.NETはそう悪くないんだけど
ウィザード生成の型付きデータセットが意外と解り辛くて不評。
371:デフォルトの名無しさん
10/06/06 22:06:03
WebRequestでのFTPPUTはたまにリモートサーバーに接続できないエラーになるけど、
やはり、ソケットで作らないとだめなのかしら?
372:デフォルトの名無しさん
10/06/06 22:11:05
んなことはない。
373:デフォルトの名無しさん
10/06/06 22:18:06
IEのHTTP/GETだってたまにリモートサーバーに接続できないエラーになるぜ
374:デフォルトの名無しさん
10/06/07 04:51:02
いやそれはルータが腐ってるw
375:デフォルトの名無しさん
10/06/07 09:11:05
ルーターも然り、相手の環境のせいも然りってことでしょ。
いろんな環境原因も含めてHTTPやFTP、その他の通信でも失敗することはある。
376:デフォルトの名無しさん
10/06/07 12:12:39
FFFTPとかのいい加減枯れてるツールでも結構なるしな
そう言うモンだと思って回復手段作り込むしかあんめ
377:デフォルトの名無しさん
10/06/07 12:21:13
タイムアウト、リトライ、リジュームあたりを実装したら、
FTPはまともな動きになるだろう。
378:デフォルトの名無しさん
10/06/07 20:51:14
そこまで望む場合は自分で作ればいい。
FTPなんてチョー簡単だし。(PASV実装とかチョイ面倒くさい程度)
379:デフォルトの名無しさん
10/06/07 21:33:36
>>378
.net frameworkだけで手軽に実装できるだろ。
380:デフォルトの名無しさん
10/06/07 23:19:51
Windowsアプリケーションにて、画像の上に透過的な四角い枠線(色付き)を重ねたいのですが、
どのように実装したらよいでしょうか?
宜しくお願いします。
381:デフォルトの名無しさん
10/06/07 23:50:40
>>380
Panelでできないっけ。
今もPanelあるんだっけ。
382:デフォルトの名無しさん
10/06/08 00:02:47
>>380
現状ではコントロールは親コントロールに対してしか透過してくれないんだよね。
まぁ動かしたりするんなら糞重たくなるけど、その枠が乗る範囲が対象の画像のどこにあたるかを計算してその部分の画像データを枠を描画するコントロールの背景に描画とか。
まぁサクサク動いて透過もできてってなるといっそのことDirectXやOpenGLに2次元的な描画をするしかない。
383:デフォルトの名無しさん
10/06/08 00:58:16
PictureBoxの子に枠線のPictureBoxなり追加すりゃいんでね
384:デフォルトの名無しさん
10/06/08 08:05:10
>>383
WinFormだと透過を扱うのは面倒だよ
385:デフォルトの名無しさん
10/06/08 08:31:38
OnPaintの内部で好きなように描けばいい。
386:デフォルトの名無しさん
10/06/08 10:13:32
PictureBoxをはみ出す可能性があるなら厄介
OnPaintだったら一切コントロール使わずに重なる可能性のあるもの全部
自分で描かないといけない
387:デフォルトの名無しさん
10/06/08 10:32:26
どのレベルの運用なんだろう?
例えばユーザーがドラッグドロップした部分に枠を描画してそれを消したりすることが出来なければいけないなら
自分でレイヤーみたいなデータを順番に記憶してクリックされたら枠線描画して移動できるようにする
とかいろいろ考えられるけど
388:デフォルトの名無しさん
10/06/08 11:33:45
透明なウィンドウを重ねるのが確実
そういうの多用するんだったら努力するだけ時間の無駄だからさっさとWPFへ
389:デフォルトの名無しさん
10/06/08 23:31:04
FtpWebRequestのAbort忘れかも。
390:デフォルトの名無しさん
10/06/09 02:02:52
枠引くくらいなら枠線用のPictureBoxなどを配置して上に置いて
Regionで内側を切り出すのがほどほど楽だと思うよ。
391:デフォルトの名無しさん
10/06/09 05:21:48
コントロールの重ね合わせは数が増えると重くなるからスピードが必要ならDirectX
392:デフォルトの名無しさん
10/06/09 09:55:17
C#2.0 マルチスレッドで質問です
short型の変数Aがあるとします。
メインスレッドはある変数Aを読み込むだけ
サブスレッドはある変数Aを書き換えるだけ
上記のような状態で通常
書き込み時に適当なオブジェクト等を使用してロック・読み込み時もロック
するような気はするんですが
仮に
両方ロックしない場合で
サブスレッドで
変数Aが 0(16bit全てOFF)の値になっている時に
変数Aを65535(16bit全てON)に変更したとします。
この場合変数Aは限りなく瞬間的に全てのビットを順番にONしていくと思うのですが、
その途中にメインスレッドが読み取りを行った場合に例えば8bitだけONになったりしている状態を読み取る場合ってあるのでしょうか?
ちょっと質問の仕方が微妙かもしれませんがお願いいたします。
393:デフォルトの名無しさん
10/06/09 10:18:11
CPU命令の最小単位考えたらわかるべ
394:デフォルトの名無しさん
10/06/09 10:21:15
>>392
> この場合変数Aは限りなく瞬間的に全てのビットを順番にONしていくと思うのですが、
> その途中にメインスレッドが読み取りを行った場合に例えば8bitだけONになったりしている状態を読み取る場合ってあるのでしょうか?
32bitプロセスでは32bitまでならアトミック
そんなの気にするよりvolatile
395:デフォルトの名無しさん
10/06/09 22:28:13
>>392
URLリンク(download.intel.com)
この資料のp.258に
> インテルPentium 4 プロセッサ、インテルXeon プロセッサ、P6 ファミリ・プロセッサ、
> インテルPentium プロセッサ、Intel486 プロセッサでは、キャッシュ可能メモリへのア
> クセスで、バス幅、キャッシュ・ライン、ページ境界をまたがっているものは、アト
> ミック操作が保証されない。
とあるので、そういう状況が起こる可能性はゼロじゃない。
本当にアトミック操作が必要な場合は、あなたの言うとおり、ロックするなりアトミック操作
命令をつかうなりする。
396:デフォルトの名無しさん
10/06/09 23:29:37
shortの変数がそれらをまたがる可能性があるということか
397:デフォルトの名無しさん
10/06/09 23:46:29
C#の場合はアライメント境界整列は保証されるとどっかで読んだ記憶が
まあ将来に渡って保証されてる訳でもないだろうけどな
398:デフォルトの名無しさん
10/06/10 00:46:26
MSDNのInterlocked.Readとか読んでると保証されるとも取れるようなことが書いてあるよ
399:デフォルトの名無しさん
10/06/10 01:13:01
StructLayoutした構造体でも適用されるのだろうか・・・
マーシャリング機構が魔法を使ってくれてるかもしれないから否定しているわけじゃない。
400:デフォルトの名無しさん
10/06/10 02:10:54
>>392
それやると大抵は読み込むだけのスレッド側の処理は最適化で消えて読み込まなくなるから
中途半端に読み込む状態を仮定する以前の動作になるよ。
401:デフォルトの名無しさん
10/06/10 02:52:11
volatileぐらいわかるよバカやろう
402:デフォルトの名無しさん
10/06/10 03:34:05
>>392
なんでそういう事をわざわざ考えるのかよくわからないけど
ReaderWriterLockつかえば解決とか言う話でもないの?
403:デフォルトの名無しさん
10/06/10 03:38:57
アトミックな操作が本当にそうなのかについて疑問に思ったんじゃないの?
いいことだと思うよ。
404:デフォルトの名無しさん
10/06/10 06:40:13
なんでそうなるのかとかは知っといた方がおもしろいよね。
405:デフォルトの名無しさん
10/06/10 12:34:40
GCが配置する時に8バイト境界にするってどこかで見た覚えがあるんだがどこだったかな
406:デフォルトの名無しさん
10/06/10 12:42:42
レジスタのビット書き換えフェーズ中に割り込みか同時読み込みできる
そういうすごいCPUの話じゃないの?
407:デフォルトの名無しさん
10/06/10 13:36:17
>>392
short型ならすべてのビットが同時に書き換えられる。1ビットずつ順番ではない。
もちろんプログラムが1ビットずつ書き換えるように作ってあれば話は別だけど、単純に
A = 0;
A = 65535;
のように代入するだけならすべてのビットが同時に変更される。
もし中途半端な状態が発生したら、それはメモリの故障。
408:デフォルトの名無しさん
10/06/10 13:51:19
>>406
物理コアが複数だと、そう言い切れなかったりする
上でも何回か出ているアライメント境界の問題で、
複数回フェッチが起こる可能性があるからだ
ここらはキャッシュコヒーレンシとか色々関係しててややこしい
409:デフォルトの名無しさん
10/06/10 15:08:02
横レスなんだけど
>>407
いろいろ読む限り仮にこれが32bitOSでLongだったら書き換えは複数回に分割されてしまうということなんだろうか?
410:デフォルトの名無しさん
10/06/10 15:28:17
仕様としてはどうなっているんだ?
411:デフォルトの名無しさん
10/06/10 15:50:08
5.5 変数参照の分割不能性
bool、char、byte、sbyte、short、ushort、uint、int、float の
各データ型および参照型の読み取りと書き込みは分割不可能です。
また、上記の型を基になる型に持つ列挙型の読み取りと書き込みも
分割不可能です。long、ulong、double、decimal などのその他の
データ型、およびユーザー定義型の読み取りと書き込みは、分割不可能
であることが保証されていません。この目的で設計されたライブラリ関数を
除いて、インクリメントやデクリメントの場合などでの分割不可能な
読み取り/変更/書き込みは保証されていません。
412:デフォルトの名無しさん
10/06/10 19:34:34
>>411
CPUレベルではともかく、CLRレベルでは保証されてるってことか。
413:デフォルトの名無しさん
10/06/10 20:38:48
32bit以上での実装を事実上想定しているわけだ。
414:デフォルトの名無しさん
10/06/10 21:36:58
16ビットCPUだったらintも16ビット長じゃね?
.netが16ビットでも動くかは知らんけど
415:デフォルトの名無しさん
10/06/10 21:41:29
intは32bitと決められている。
416:デフォルトの名無しさん
10/06/10 21:50:44
intが可変な言語って数えるほどしかない
417:デフォルトの名無しさん
10/06/10 21:52:51
CLRは32ビットプロセスなら32ビット境界に、64ビットプロセスなら64ビット境界に整列することを保証してる。
もちろんライアウトを変えた場合は別。
だから、少なくとも32ビット以下のプリミティブ型の読み書きはアトミック保障。
418:デフォルトの名無しさん
10/06/10 21:53:06
そういう言語では組み込み型はそのまま使わずにtypedefしてサイズを固定するという
アホらしいノウハウが定着してる事実
419:デフォルトの名無しさん
10/06/10 21:53:57
ああ書き方おかしかった。
ライアウト→レイアウト。
で、そういうことやってない限りは保障されてる。
420:デフォルトの名無しさん
10/06/10 21:56:44
>>402
何のためだよw
421:デフォルトの名無しさん
10/06/10 21:58:16
つうわけで現実的には、32ビット以下ならvolatil変数、
32ビットを超えるものはlockするのが簡単。
422:デフォルトの名無しさん
10/06/10 22:09:14
ところでlongはvolatileにできないけど
IntPtrや参照型のvolatileは64bitプロセスでどうなってるんだろう?
423:デフォルトの名無しさん
10/06/10 23:33:39
64bit環境なら普通に問題ないだろ。
424:デフォルトの名無しさん
10/06/10 23:38:28
64ビット環境では当然64ビットの読み書きは分割不可能。
425:デフォルトの名無しさん
10/06/10 23:47:07
x64とia64で違ったりしないのかな
426:デフォルトの名無しさん
10/06/11 01:13:50
分割「不可能」って表現はどうなんだろうねえ。
427:デフォルトの名無しさん
10/06/11 01:19:47
atomicの定訳がないからねえ。「不可分」で良さそうなもんだが。
428:デフォルトの名無しさん
10/06/11 01:40:34
相談室の方だしアトミックとだけ言っとけば通じるんじゃないか?
429:デフォルトの名無しさん
10/06/11 02:33:51
今更このスレでアトミックや分割不可能の意味がわからん奴もいないと思うんだが・・・
まぁMSDNにもそう書いてあるんだし、そのままでいいんじゃないか?
というか、やっぱPGて細かく突き詰めると深いよなぁ と改めて思う
430:デフォルトの名無しさん
10/06/11 11:50:42
なぁ、紐づく・紐付ける・紐づいたXX って英語でなんていうんだ?
てか、紐づくの語源はどっから?
431:デフォルトの名無しさん
10/06/11 12:00:03
そんなの
関係する
とかに置き換えたらいかんの?
語源はググってくれ
432:デフォルトの名無しさん
10/06/11 12:34:12
そう言えば、英語と1対1な用語じゃないような気がするねえ。
link,bind,relationshipのいずれかを局面に応じて使うんじゃないかな。
433:デフォルトの名無しさん
10/06/11 12:47:27
associateとかもあるな
434:デフォルトの名無しさん
10/06/11 18:55:47
A (which is) tied together with B とか
435:デフォルトの名無しさん
10/06/11 22:53:09
assigned とかは?
命名スレ行きかな
436:デフォルトの名無しさん
10/06/12 18:00:58
wiredだな
437:デフォルトの名無しさん
10/06/13 01:55:45
weirdとな
438:デフォルトの名無しさん
10/06/13 13:04:54
URLリンク(techbank.jp)
この記事の意味わかる人いる?
439:デフォルトの名無しさん
10/06/13 13:11:10
確かに全くわからない
new { trueValue = new BitVector32(-1), falseValue = new BitVector32(0) }と
new { trueValue = new BitArray(1)[0] = true, falseValue = new BitArray(1)[0] = false }
を比較したら処理速度以前に値型と参照型の違いで前者が速いに決まってる
何がしたいのかも意味不明
440:デフォルトの名無しさん
10/06/13 13:24:00
>new BitVector32(-1)[(int)BitFlag.TrueIndex]
BitFlag.TrueIndexは0のことだから、
>new BitVector32(-1)
-1じゃなくても何を渡してもたとえ0でもTrueになるしな。
441:デフォルトの名無しさん
10/06/13 13:26:43
>new { trueValue = new BitArray(1)[0] = true, falseValue = new BitArray(1)[0] = false }
これに至ってはビットセットしてるつもりで実は取得しかしてない気がする。
442:デフォルトの名無しさん
10/06/13 13:27:44
Microsoft MVPかよw
443:デフォルトの名無しさん
10/06/13 13:41:36
>>441
逆
設定はしてるけど取得はしてない
trueValueに代入されるのはリテラルのtrue
444:デフォルトの名無しさん
10/06/13 14:10:33
(int16)trueが1になったり-1になったりする!大発見!スイーツ(笑)
ってことか?
445:デフォルトの名無しさん
10/06/13 14:16:21
回数増やすと差が開くのはGCが動くからかな?
なんにせよそんなBitArrayの使い方ありえない
446:デフォルトの名無しさん
10/06/13 14:30:00
本人も言ってるけど、本当に
> プログラミング言語論やアルゴリズムに元々興味がなかった
んだろうな。
447:デフォルトの名無しさん
10/06/13 14:42:15
そうだとしてもこれ普通に仕事に支障が出るレベルじゃね
448:デフォルトの名無しさん
10/06/13 14:44:24
Console.WriteLine("BitVector32の-1: {0}", ....
そりゃ何やったって-1が出るよな。
449:デフォルトの名無しさん
10/06/13 14:53:20
>>440
BitVector32の仕様を理解してない? インデクサの引数をマスクじゃなく
インデックスだと思っているとか。
450:デフォルトの名無しさん
10/06/13 14:54:15
>>438
あれ? コメント消えた?
451:デフォルトの名無しさん
10/06/13 15:07:19
?
452:デフォルトの名無しさん
10/06/13 15:08:41
貼ったのは本人かよwwwwww
453:デフォルトの名無しさん
10/06/13 15:13:54
というか記事自体消えたw
454:デフォルトの名無しさん
10/06/13 15:26:45
流石はMVPだな
455:デフォルトの名無しさん
10/06/13 19:55:01
丸ごと消して逃げるってのは技術者の態度としては酷いなあ
別に誰だって間違いはあるんだから、素直に分かってませんでした、でいいのに。
456:デフォルトの名無しさん
10/06/13 20:05:52
…ほかの記事も全部巻き込んでコメント消えたな…
どうなってんだ…真面目に聞いてたのに…
あーあ、どうせ荒らされたからコメント停止したとか、そういうことにされてんだろうな
457:デフォルトの名無しさん
10/06/13 20:12:09
まあそれぐらいで許してやれよ。
打たれ強い人ばかりじゃないんだ
458:デフォルトの名無しさん
10/06/13 20:28:22
誰かコメントできっついことでも書いたか?
気づいたらもう消えてたから経過が分からん、まあおそらくはそうなんだろうけど。
しかしこれじゃ記事で気になることがあってもどうしようもないな。
techbank.jp って書籍とかも出してるからそれなりに影響力ありそうなんだが…
ユーザ登録して掲示板に書けってことか…面倒な…
459:デフォルトの名無しさん
10/06/13 20:59:29
カエル女あわれ・・・
460:デフォルトの名無しさん
10/06/13 21:38:47
>>458
キツいことは書かれてたね。
言葉はキツかったけど正しい指摘ではあった。
確かに誰もが打たれ強いわけじゃないってのは分かるけど
書籍出したり、MVPだったりする人間が技術的な指摘に逃げ腰ってのはダメだよ。
461:デフォルトの名無しさん
10/06/13 21:49:30
そのとおり。
462:デフォルトの名無しさん
10/06/13 22:39:03
>>460
あれ書いたの俺なんだけど、まさか丸ごと消されるとは思わなかった。
MVPだし、本出してるし、コミュニティの運営にも積極的な人みたいだから、
反論するにせよ訂正するにせよ、少なくとも真摯な態度で答えてもらえるもんだと
思っていたんだよね。
まあ、確かに言葉はきつかったけど、まともな質問に上から目線で適当な回答をしてるのが
腹立たしかったもんでね。
残念だね。
463:デフォルトの名無しさん
10/06/13 22:46:10
RSSには
BitVector32 vs BitArray を掲載しました
ってのが残ってるけど、どんな中身だったのか分からない
どっかに中身のっけてくれ
464:デフォルトの名無しさん
10/06/13 22:47:34
MVP事務局に、報告しといた方がいいと思う。
465:デフォルトの名無しさん
10/06/13 22:49:57
まゆみちゃーん
466:デフォルトの名無しさん
10/06/13 22:50:22
>>463
Googleのキャッシュで記事はまだ見れるね。
467:デフォルトの名無しさん
10/06/13 22:52:50
URLリンク(cache.yahoofs.jp)
これか。何が間違ってるのかわからんw
468:デフォルトの名無しさん
10/06/13 22:55:24
間違ってるというより何一つ意味を為してないんだな
書いてる本人が自分で何やってるのかわかってないからわざと曖昧に書いてるのが伝わってくる
469:462
10/06/13 23:02:40
あんまり突っ込みどころが多いから、逐一指摘してたらコメントが長くなるし
変な人だと思われそうだから、1点に絞って突っ込んだんだけどね。
いっそ高木浩光ばりに突っ込みまくった方が良かったのだろうか?
470:デフォルトの名無しさん
10/06/13 23:07:48
>>469
あー、私知らなかったわー。って感じの文章なんだから、もっとソフトにやってあげてもいいんじゃない。
471:デフォルトの名無しさん
10/06/13 23:08:30
どんなコメントだったん?
472:デフォルトの名無しさん
10/06/13 23:10:28
GoogleもYahooもキャッシュにコメントがないなあ
Bingはキャッシュすらないし
473:462
10/06/13 23:17:13
細かい文章は覚えてないが、
BitVector32::ItemsとBitArray::Itemsの戻り値を整数として評価すると異なる値になると
あなたは言っていますが、.NetのBoolean型は整数と可換なものではないので、整数として
評価することに意味はありません。また、内部的にも1ビットの整数として実装されていますので、
整数に変換した結果は毎回同じです。-1が出力されているのは、あなたがConsole.WriteLineの
フォーマット文字列に“-1”と書いたからです。
基本的なデータ型について理解していないのはあなたの方です。正当な疑問に木で鼻をくくったような
返答をする態度は非常に不愉快です。
といったところ。最後に余計なことを言っているけど、これは以前にコメントをしていた人に、
ビット操作の概念を勉強しないとこの記事は理解できないよ、というような返答をしていたので、
それに対するもの。
474:デフォルトの名無しさん
10/06/13 23:21:55
.NETのboolは8ビットで0がfalseで0以外がtrueじゃなかったっけ
記事の間違いは別問題だが
475:デフォルトの名無しさん
10/06/13 23:22:23
記事ごと消すほどのコメントじゃないわな。
476:デフォルトの名無しさん
10/06/13 23:31:53
たまたま残ってたから一応書いておこう。
最初のコメント
----
> まとめると、
> BitVector32 BitArray
> true -1 を表す 1 を表す
> false 0 を表す 0 を表す
> となります。
これはいったいどういう意味でしょうか?
----
その返答
----
ビットフラグがONの場合がTrue、ビットフラグがOFFの場合はFalseです。
このON/OFFを数値で表した場合、BitArrayとBitVector32とではON/OFFの数値の意味が異なるという対比表になります。
そもそもビットの概念がわかっていないと、このBlogの説明に書いてある説明を理解しようとしても無理ですので、もし貴方がビットの考え方が良くわからないという場合は、
入門書籍やほかのWebサイトでその辺りを勉強してから、このBlogに書いてある意味を汲み取ってください。
----