[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 04/03 03:17 / Filesize : 222 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっとC#,C♯,C#(初心者用) Part41



1 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 12:30:18 ]
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

前スレ

ふらっとC#,C♯,C#(初心者用) Part40
pc12.2ch.net/test/read.cgi/tech/1239599317/

237 名前:sage [2009/06/08(月) 21:28:25 ]
VisualC#2008で、再表示がうまくできずに困っています。
fileSystemWatcher
でファイルを監視し、ファイルを読みこんで表示しようとしています。

string file = @"C:\tmp.txt";
public Form1()
{
InitializeComponent();
}

private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e)
{
string[] lines = System.IO.File.ReadAllLines(file, Encoding.GetEncoding("Shift_JIS"));
//MessageBox.Show(lines[1]);
label1.Text = lines[1];
label2.Text = lines[2];
label3.Text = lines[3];
label4.Text = lines[4];
label5.Text = lines[5];
}
監視はできているようなのですが、2度めの表示が行われません。
どこがまずいんでしょうか。


238 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 21:38:16 ]
public static List<T> a = new List<T>();
↑静的なListって可能なんですか?
どうやってメモリを確保しているんですか。

239 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 21:39:22 ]
>>237
そのコードだけで判断しろってのも難しいが、ひょっとして
C# の Array(string[] とか) のインデックスは 0 から始まるぞ。
それはさすがにOK?


240 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 21:40:04 ]
>>238
可能
起動時に自動で1度だけ呼ばれる

241 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 21:49:47 ]
>>240
正確には、そのクラスが初めて使われるときね。

242 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 21:50:42 ]
>>237
一応の確認だけど、そのFileSystemWatcherはVSでツールボックスからD&Dしたものだよね?

243 名前:238 mailto:sage [2009/06/08(月) 22:00:57 ]
>>240-241
へー。
静的なのか動的なのか、分かったような分からないような…。
ありがとうございます。

244 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:01:22 ]
初めに表示するメインフォームがアクティブにならずに起動することがある
ビルドして何もクリックしてないのにキャプションバーが灰色になってる
ウィンドウズのバグ?

245 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:11:04 ]
すぐ Windows のバグ? とか聞く奴は、死んだ方がいいと思うよ。



246 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:13:14 ]
2DMAPエディタを作ってみたいと思います。配列は必要というのはわかりました
どなたか知恵を貸してください。設計とか初めてなので><

247 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:17:57 ]
アイコンエディタでも描いてろ

248 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:22:43 ]
>>246
二次元配列使うとやりやすいと思う
int[,] ってやつ
後は
画像を分割して描画する(g.DrawImage)
バイナリ(orテキスト)でそのデータを保存する
保存したデータを読み込む
クリックした場所を取得する
等々

最低限上の機能は必要
そのほかマップの大きさだとかも必要だろうし
スクロールも必要

249 名前:デフォルトの名無しさん [2009/06/08(月) 22:30:06 ]
StreamReader(じゃ無くてもいいのですが)を利用して
単純にファイルを開くだけの処理を記述した場合、
1Kと100Mのファイルでは、オープンにかかる時間は違うものでしょうか?

挙動を見ると、単にファイルを開くだけ(Readしない)だと、
どちらも大して時間がかからないのですが、
大きなファイルは開くだけでも時間がかかるといわれまして。

試したところでは、大差ないので、読み込まずに開くだけであれば差は無いのかと
思ったのですが、違いがわかるかた教えていただけますか?

250 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:32:48 ]
言われたんだろ?言った奴に根拠を聞けよ

251 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:34:39 ]
>>243
static と言いつつ、静的(コンパイル時決定)じゃない。
あれにstaticって名前が付いてるのはC++を意識しすぎた結果。
実際にはクラス変数とでも呼ぶべきもの。


252 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:35:07 ]
>>249
違わない
その人は何か既成のアプリと勘違いしてるんじゃない?

253 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:36:17 ]
>>249
それはファイルシステム次第、ドライバ次第だな、StreamReaderの仕事はOSにリクエスト出すまで
OSの仕事はドライバにリクエストを出すまでだ。

254 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:39:25 ]
ファイルを開いただけで読むことをしないんじゃ、
基本的にファイルサイズによる差は起こらないはずだよね。
ほかの人の言ってるようにデバイスによる差(ネットワーク上のファイルとかフロッピーディスクとか)による差は当然ある。

255 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:43:48 ]
>>252-254
即レスありがとうございます
やはりそうですか。助かりました。
ファイルシステムやドライバをもっと勉強してみます。




256 名前:sage [2009/06/08(月) 22:45:24 ]
>>239
なるほど。
たしかにArrayのインデックスは0からで、
0(つまり1行目)ではなくて2行目から処理してますね。
それはそれでありがとうございますです。

しかし、やはりファイル更新の監視はうまくいかず、
該当するtmp.txtを2回更新すると、2回目には、例外が発生します。
別のプロセスで使用されているため、
プロセスはファイルtmp.txtにアクセスできません。
だそうです。


257 名前:sage [2009/06/08(月) 22:46:50 ]
>>242
YES。
ドラッグ&ドロップして、プロパティで、
NotifyFilterをLastWriteにしました。
いまの全コードはこれだけです。

public Form1()
{
InitializeComponent();

this.fileSystemWatcher1.Filter = "tmp.txt";
this.fileSystemWatcher1.NotifyFilter = System.IO.NotifyFilters.LastWrite;
this.fileSystemWatcher1.Path = "C:\\";
}

private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e)
{
//MessageBox.Show("changed");
string[] lines = System.IO.File.ReadAllLines(file, Encoding.GetEncoding("Shift_JIS"));
label1.Text = lines[1];
label2.Text = lines[2];
label3.Text = lines[3];
label4.Text = lines[4];
label5.Text = lines[5];
}


258 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:47:14 ]
>>256
その例外が言ってる通りじゃないか。
ほかのプロセスが掴んでたらファイルが開けないことがある。

259 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:51:04 ]
>>255
勉強する必要はないかと、当の本人に聞くなり、問題のブツで試してみればいい。
組み込み用のハードディスクに突然の電源断に耐えられるように設計された、書き込みバッファの無いHDが
そういう問題があって、スレッド使って対処したという苦労話は聞いたことがある、ただ.NETが取り扱うハードウェアというと、
通常のWindowsかモパイルCE系だと思われるが、そんなハードディスクなど聞いたことが無いね、
だからといって無いとは言いきれないので、問題のブツで確かめてみるしかないのでは。

260 名前:sage [2009/06/08(月) 22:57:14 ]
>>258
なるほど。
System.threading.Thread.Sleep(1000);
でとりあえず解決しました。
サンクスです。


261 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:09:11 ]
すいません
C#で簡単なアニメーションさせたいので
bmp等の画像描画処理について詳しく書かれているサイトってわかりますか?
初心者なのでできるだけ詳しく書かれているところがいいんです。
よろしくお願いします。

262 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:14:29 ]
他のクラスからprivateなメソッドを無理やり使う方法を教えてください

263 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:15:13 ]
>>262
リフレクション

264 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:25:18 ]
>>263
サンプルコードありますか?

265 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:28:08 ]
いくらでもあるよ



266 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:28:28 ]
くり返しのところをforで書き換えてみたところ、
2回目の表示で、1回目の表示が消えないのです。
どこかでdisposeとかする必要があるのでしょうか?

Label[] label;

private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e){
System.Threading.Thread.Sleep(1000);
string[] lines = System.IO.File.ReadAllLines(file, Encoding.GetEncoding("Shift_JIS"));

label = new Label[5];
for (int i = 0; i < 5; i++){
this.label[i] = new System.Windows.Forms.Label();
this.label[i].AutoSize = true;
this.label[i].BackColor = System.Drawing.Color.Transparent;
this.label[i].Font = new System.Drawing.Font("メイリオ", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
this.label[i].Location = new System.Drawing.Point(23, 35 + i * 60);
this.label[i].Name = "label[i]";
this.label[i].Size = new System.Drawing.Size(62, 24);
this.label[i].Text = lines[i];
this.Controls.Add(this.label[i]);
}
}


267 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:28:52 ]
取りあえず、ヒントもらったらググる位しようや

268 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:31:08 ]
このスレには優しい人とそうでない人がいます。

269 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:31:20 ]
>>264
何勝手に乗ってきてるわけ?

270 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:31:57 ]
んなもん当たり前だろ

271 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:32:19 ]
MSDN にもあるし、いろんなところにあるよ。

Reflection とか MethodInfo とかで探してみ。

272 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:32:47 ]
ありがとう。

273 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:37:32 ]
どんどんラベルを追加してるだけのような。

274 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:44:33 ]
C#にはVBのWithに相当する機能はありますか?

クラス1.プロパティ1 = x;
クラス1.プロパティ2 = y;

というのを

With クラス1
  .プロパティ1 = x;
  .プロパティ2 = y;
End With

みたいに書いて入力の手間を省きたいのですが。
Withを使うとVBの場合は実行速度も少し上がるそうですが。

275 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:46:33 ]
ありません。



276 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:46:40 ]
>>248
ありがとうございます。やってみます!

277 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:54:22 ]
>>274
インタプリタなら速くなるのは分かるがVB.NETでも速くなるのかな。
速くなるならC#でも深いところにあるクラスは一度ローカル変数に代入してからのほうが速い?

278 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:55:31 ]
>>241
「そのクラスにアクセスするより前に一度だけ実行される」ことが
保障されているだけじゃなかったか?

>>274
全く同じ機能はない
初期化時限定のオブジェクト初期化子くらい

279 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 23:57:22 ]
つーか、With って .NET ではシンタックスシュガーじゃなかった?

280 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 00:00:08 ]
>>278
> 「そのクラスにアクセスするより前に一度だけ実行される」ことが
> 保障されている
規格上はそうなってた気がする。
実際は、たいてい直前。

281 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 00:11:39 ]
>>277
多分JITコンパイルで最適化されるんじゃないかなその程度

282 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 00:35:09 ]
ないんですか。残念です。
この程度なら、プリプロセッサあたりで処理してくれてもいいと思うのは私だけでしょうか。
コントロールの初期設定とか、同じ名前空間やクラス名がずらっと並んでるのを見ると、
もうちょっと楽にコーディングできる手段があってもよさそうに思うのですが。

283 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 00:42:23 ]
インテリセンスがあるからコーディングの手間はさして変わらん。
コードが汚くなるからwithを採用しない言語は多い。


284 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 00:47:33 ]
>>282
初期設定なら似たような事はできる
var tmp = new Hoge() { A = 10 , B = 30 };
A,B はHogeのプロパティーまたは変数

285 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 00:54:53 ]
VBにあってC#に無い寂しい機能はLINQToXmlのXMLリテラルかな。
これがあったら、withどころか究極のデータセッティングができるんだけれど……



286 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 00:57:10 ]
>>284
なるほど、そういう書き方もできるんですね。勉強になります。

287 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 01:00:41 ]
>>277
そうみたいだよ。
www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=1135&forum=7

288 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 01:06:22 ]
>www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=1135&forum=7
なるほどね、C#ならスコープ使えって事か
{
var a = hoge.member;
a.Prop1 = 10;
a.Prop2 = 10;
}

289 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 01:13:13 ]
>>287
確かに、オブジェクトをいちいち作ってやれば同じことになりますね。
withほど簡略化はできませんが、多少は楽が出来そうです。
コード的にもメリットがあるみたいですし。

290 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 01:13:41 ]
リンク先のような場合、
ds.Tables("Customers").Rows
がそれなりに処理重そうだから無意識に一度ローカルに代入してるな。

ただ >>288 のような軽いメンバアクセスはそのまま見ちゃってるなぁ。

291 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 01:21:50 ]
イベントで this.xxxでアクセスするより senderをcastするほうがいいってことか。

292 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 01:25:30 ]
キャストの方がコスト高いだろ

293 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 01:27:45 ]
ますますはまってます。
label = new Label[5];
for (int i = 0; i < 5; i++)
{
this.label[i] = new System.Windows.Forms.Label();
this.label[i].Dispose();
}
for (int i = 0; i < 5; i++)
{
this.label[i] = new System.Windows.Forms.Label();
//this.label[i].Dispose();
//this.label[i].Text.Remove(1);
this.label[i].AutoSize = true;
this.label[i].BackColor = System.Drawing.Color.Transparent;
this.label[i].Font = new System.Drawing.Font("メイリオ", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(128)));
this.label[i].Location = new System.Drawing.Point(23, 35 + i * 60);
this.label[i].Name = "label[i]";
this.label[i].Size = new System.Drawing.Size(62, 24);
//this.label[i].Text = "";
this.label[i].Text = lines[i];
//this.label[i].Text = this.label[i].Text.Replace(this.label[i].Text,lines[i]);
this.Controls.Add(this.label[i]);
}




294 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 01:50:33 ]
拡張プロパティってどう書くの?

295 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 01:55:27 ]
書けない



296 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 02:14:52 ]
ファック!ファック!ファック!!

297 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 03:09:25 ]
クラスつくるとき
class testint{
private int a;
}

ってやって
testint test=new testint()
なんで
testint test
だけで実装できないんだ。わざわざ無駄な手間かけさせる意味は?
あと、なんでtestint()の最後、何もない括弧をつけなきゃいけんのだ。

298 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 03:17:10 ]
>>297
CかC++から来た人?もしそうなら、
クラスは常にポインタ型(のようなもの、ポインタ演算はない)。newしなければnullが入っている。
という短い文章で分かってほしい。

testint test=new testint()と打つのは、Visual Studioとか入力支援が良くできたところで書けば案外大した手間でない。
クラス名を2度書くのが嫌ならvarがある、ローカル変数限定だけど。
()が要るのはなぜ?というのは俺も思うところだけど。

299 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 03:24:51 ]
コンストラクタだから。引数のないメソッドの()も省力しないだろ。

300 名前:298 mailto:sage [2009/06/09(火) 03:27:50 ]
>>299
ありがとう、納得した。

C++はnew hogeで通るし、引数があっても括弧を省略できる場合のある
VBとか使っていたからそこまで考えが及ばなかった。

301 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 03:41:29 ]
>>298

c++を見てみました。
c++なら
class testint{
private:
int kazu;
}

testint test;
test.kazu=10;

これでいいのか・・・
newとかいうのはオブジェクト指向で必ずしも必須というわけじゃないんだね。
コンストラクタも自動的に呼び出されるのか。
c#とはずいぶん違うんだね。初心者にはc++のがいいのかな

302 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 03:44:14 ]
c++のnewはヒープに作る場合

303 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 06:52:25 ]
c#のnewはどこのメモリを使うん?

304 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 06:57:08 ]
字は読めても話の流れが読めない人って誰?

305 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 08:46:14 ]
>>303
C++ は new の有無でスタックはヒープかわかれるけど、
C# は class か struct かで分かれる。
class なら new したのはヒープに、
struct なら new は単なるコンストラクタ呼び出し、スタックに取られる。

struct でもわざわざ new しないと行けない理由は、
その方が構文解析が楽(後々他の構文追加しやすい)とか、
初期化し忘れを防ぐためにわざわざ面倒な構文にしてあるとか、
class とそろえるとか、そういう理由だと思う。




306 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 10:11:50 ]
struct は new してもいいがしなくても構わないぞ、ただし全メンバーをセットしてからでしか使えないが
struct の new は引数無しなら、全フィールドに0入れるよという指示で、それ以外なら指定の定型初期化を処理するという事ではなかろうかと。
最近は default というキーワードができて、二重機能っぽくなってるいけれど、これはジェネリックの都合かなと。

307 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 10:16:51 ]
それと、Cでいう所の自動変数を宣言する場所で構造体を宣言すると、スタックに乗りそうな予感がするものだが
たとえば
void Test()
{
int tmp;
Action a = () => { tmp = 3 ; };
}
このtmpは、スタックに取られているとはどうにも思えない
内部的には勝手JITの勝手というのが実態かと。

308 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 10:23:10 ]
HttpWebRequestクラスでリクエストヘッダーを読み取ったりするとき
UserAgentとかkeep-aliveプロパティは取得できるのですが
(<HttpWebRequest.UserAgent>プロパティ,<HttpWeqRequest.KeepAlive>プロパティ)

Host,Accept-Language,Accept-Encoding,Accept-Charsetプロパティが読み取れません。

読み取り方をよろしくお願いします。また、ヘッダー情報を編集してリクエストストリーム
に流せるかどうかも教えていただきたいです。

309 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 10:34:54 ]
Console.WriteLine( string.Format( "{0,4:f2}", 10.0 ) );
Console.WriteLine( string.Format( "{0,4:f2}", -10.0 ) );

こんな感じで作った文字列の桁を揃えたいんだけど、うまくいきません。
上の例だと

10.00
-10.00

となります。
マイナスの符号があるときになんとかしたいんだけど、
うまいことやる方法はあります?

310 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 10:51:23 ]
>>308
Requestでヘッダを「読み取る」必要があるのかどうかって話はあるが
直接プロパティになってないヘッダはHeadersプロパティから取得設定できる

311 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 11:09:11 ]
>>309
セクション区切り記号「;」を使ったカスタム書式指定かね
{0,5: 0.00;-0.00}
ところで小数点以下2桁有効だとフィールド幅4は意味がないと思うけど

312 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 11:12:44 ]
>>307
それはラムダ式(クロージャ)が影響している。
() => { } を内包するクラスが暗黙に作られてそのメンバにtmpがあるはず。

313 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 11:17:12 ]
>>311
ごめん実はそのあたりよくわからなくてテキトーに書いてました
もっと詳細を言うと、x,y,zを持つポイントクラスがあって

始点:( x1, y1, z1 )
終点:( x2, y2, z2 )

みたいな感じで小数点以下3桁で計6桁ぐらいで書き出したいときの
桁揃えという話でした。詳しく書かなくて申し訳ない。


314 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 11:33:00 ]
>>310
回答ありがとうございます。

Webスクレイピングをやっていて、リクエストしてもうまく次のページに行かないんです。
Postされるべきデータ(トランザクショントークンとキーワード)はバッチリだと思うのですが。。
(Firebugを使って手動で動かしたときのリクエストヘッダーやPOSTしたデータの中身が
確認できる)

ヘッダー情報のリファラーが監視されてるみたいでそれについては確認できたのですが、
それでもうまく行きません。もちろんクッキーについてはクッキーコンテナをリクエストに
かませてますし、他に思いつくのが他のヘッダー情報も監視されているかもということです。

そこで自作プログラムのリクエストのヘッダー情報とFirebugで手動で動かしたときに
確認できるヘッダー情報を見比べて、必要あらば修正してリクエストに流そうと思ったわけです。

310さんの言うとおりに

List<string> list = new .........

for(int i =0;i < req.Headers.Count; i ++)
list.add(req.Headers[i];

で取得してみたのですが一行しか取得できないんですけど。。書き方が違うんですかねぇ(^ ^ ;
長文スマンです。

315 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 11:42:03 ]
とりあえずHttpWeb「Response」だよな?



316 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 11:48:48 ]
>>315  げ、ひょっとして自分のリクエストのヘッダーを確認するのって
HttpWebRequestからはできないんっすか。。???
ちょっとレスから拾ってみたいと思います。。。

317 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 11:58:38 ]
事情は了解
それってデバッガでステップ実行すればよくね?
あとは別のパケットモニタアプリ使うか

318 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 11:59:09 ]
WireSharkか何かでパケットキャプチャして本当にブラウザと同じリクエスト飛んでるか調べたら?
その方が手っ取り早い気がする。

319 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 11:59:38 ]
リロードしてなかった。すまぬ。

320 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 12:06:44 ]
>> 318
WireSharkは友人にも進められて検討してるのですが、
修正の必要が出てきたときにどうやって書き込めばいいのでしょうか?
コードサンプルがあるとありがたいっす。

321 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 12:14:49 ]
HttpWebRequest req //略
req.Headers.Add(HttpRequestHeader.AcceptEncoding,"gzip");

// req.Headers[HttpRequestHeader.AcceptEncoding] = "gzip"; も可

何が困ってるのかイマイチ伝わんね。

322 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 12:47:50 ]
321>>
文章力なくてすみません。。
321さんが書いて下さったみたいなコードサンプルがようするに欲しかったんです^^;
レスありがとうございます。

323 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 12:55:26 ]
ええええええええええええええええええええええええええええええええええええええええええええええええ

324 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 13:07:11 ]
うるさい

325 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 13:23:19 ]
321>
あの〜、やってみたんですけど
req.Headers.Add(HttpRequest.Header.Host, "HostName");
って書くと'Host' ヘッダーを直接変更することはできません。
って出ちゃうんですけど。Hostの書き換えは無理??



326 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 13:25:42 ]
>>325
お前死ぬの?死にたいの?叩き殺されたいの?

msdn.microsoft.com/ja-jp/library/system.net.httpwebrequest.headers(VS.80).aspx

解説
Headers コレクションは、要求に関連付けられているプロトコル ヘッダーを格納します。
Headers コレクションには格納されず、システム、プロパティ、またはメソッドのいずれかで設定される HTTP ヘッダーの一覧を次の表に示します。

Host システムにより現在のホスト情報に設定されます。

327 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 13:29:58 ]
いいよ
1から10まで聞かないとできない奴は排除したれ

328 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 13:36:29 ]
>>1

329 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 14:29:34 ]
public はクラスの外からのアクセスを許可し、private は許可しないみたいですが
それならpublicだけでよくないですか?

330 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 14:34:04 ]
人間はミスする生き物なので、触れて欲しくない要素は外部に公開しないようにしております。

全員が全員ドキュメントをキチンと読んで、万に一つのミスも犯さないようなパーフェクト人間であれば全てpublicでも良いでしょうね。

331 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 14:47:30 ]
時そばで、勘定中にカウンタを外部から書き換えられちゃったから
1文ごまかされちゃったんだよね。

332 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 14:51:35 ]
>>330-331
レス感謝です。

333 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 14:55:55 ]
>>331
感心したわ。

334 名前:デフォルトの名無しさん mailto:sage [2009/06/09(火) 19:16:49 ]
C# 2008で質問です。

非表示のフォームにDataGridViewを貼り付けてあります。
ここにReadXMLでデータを読み込んで、DataGridViewからデータを取り出そうとしたら
どのセルも空白のままでした。

一度でもフォームを表示すれば、そのタイミングで実際の読み込み動作が行わて
セルにデータが入るのですが、
非表示のままでデータをDataGridViewに反映させる方法を教えてください。

335 名前:デフォルトの名無しさん [2009/06/09(火) 19:26:21 ]
DataSet使おうよ…



336 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 03:18:40 ]
VCEEでPen p=new Pen()をつくって
Form1にg.drawline(p,0,0,100,100)とかやったら
書けるんだけど、
画面切り替えたら消えちゃうんだけど消えないようにするにはどうやるの?

337 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 03:22:15 ]
また描く
もしくは,なんかDoubleBufferみたいなプロパティがあればtrueに






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<222KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef