[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 05/30 10:09 / Filesize : 144 KB / Number-of Response : 598
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

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



1 名前:デフォルトの名無しさん [2014/04/05(土) 22:08:28.72 ID:l3iN8hNI]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問。
質問者自身なんだか意味がよく分からない質問。
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて、他スレ・他板へ行くことを勧められることがあります、ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

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

■前スレ
ふらっとVisual C#,C♯,C#(初心者用) Part110
toro.2ch.net/test/read.cgi/tech/1388377636/

■関連スレ
C#, C♯, C#相談室 Part82
toro.2ch.net/test/read.cgi/tech/1386763696/

■コード貼るなら↓使ってください
ideone.com/

263 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 12:03:22.28 ID:LKRXtHDC]
default(T)がnullだった時に落ちないようにしなきゃいけないとすると
静的メソッドの

object.Equals(object, object) っていうのが使えるのかな

でもdefault(T)との比較は値型のときの動作が怪しいよな

264 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 12:13:25.13 ID:Yz145qkP]
EqualityComparer<T>.Defaultとかそういうのがあって

265 名前:258 [2014/04/27(日) 12:48:31.67 ID:/A+wJ+qi]
>>261-264
とりあえずこうしてみます。
>>263案で。
みんなありがとう。
public class Range<T> where T : IComparable<T>
{
public T Begin { get; set; }
public T End { get; set; }
public bool Contains(T t)
{
return (object.Equals(Begin, default(T)) || Begin.CompareTo(t) <= 0)
&& (object.Equals(End, default(T)) || 0 < t.CompareTo(End));
}
}

266 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 13:36:23.26 ID:miy+8Evc]
Contains の実装間違ってるっぽいが大丈夫?

後、default(値型)は、値型の初期値(≒0)になるよ

267 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 21:38:52.33 ID:Q9kXtU28]
Tでもnullとの==比較だけはできるんだけど
Tが値型の場合は常にfalseになる

268 名前:デフォルトの名無しさん [2014/04/27(日) 21:44:11.91 ID:LKRXtHDC]
マジで?!

初めて知った・・・

269 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 08:05:57.00 ID:fMEOKfxX]
Actionめちゃくちゃ便利じゃないか
古い情報のデリゲートを使ったり、イベント使ったりして
途中でわけがわからなくなってたがこれ使ってすんげーシンプルにかけるようになった

270 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 09:52:55.43 ID:tJSAUBZt]
ActionとかFuncとかは単なる作り付けのデリゲート
便利なのはラムダ式

271 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 16:02:15.95 ID:fMEOKfxX]
今気づいたけどID出るようになってるね
これでキチガイが暴れなくなったね



272 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 16:10:50.88 ID:HVeqsQe1]
        ∧∧
       ヽ(・ω・)/   ズコー
      \(.\ ノ
    、ハ,,、  ̄
     ̄

273 名前:デフォルトの名無しさん [2014/05/01(木) 16:53:11.58 ID:BD8IvZOZ]
C#のLinqでは、Like句は使えないのでしょうか?

下のようなVB.NETプログラムをC#で書きたいのですが、
Likeは無いと怒られます。

Dim filter As String = "*マ*"
'データソースの作成
Dim animals = New String() {"ライオン", "ウマ", "ポチ"}
'LINQで処理を定義
Dim results = From animal In animals Where animal Like filter

274 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 16:57:52.59 ID:uhEglYyp]
うん、使えない

275 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 17:01:22.57 ID:uhEglYyp]
あ、Like演算自体はMicrosoft.VisualBasic.CompilerServices.LikeOperator.LikeStringメソッドで実現できるよ
クエリの句として使えないだけで

276 名前:デフォルトの名無しさん [2014/05/01(木) 17:12:26.68 ID:BD8IvZOZ]
そうなんですか
残念

クエリ式は、VB.NETの方が優れてる気がしますね

277 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 17:16:43.77 ID:uhEglYyp]
よく考えたらLikeはクエリ式とは関係ないただのVBの演算子だった
まあクエリ式なんてついでに乗っけてみた程度だからどうでもいいよ

278 名前:デフォルトの名無しさん [2014/05/01(木) 17:19:01.49 ID:Hl+E0h9B]
クエリ式見るだけで吐き気がする
どうしてドットで繋がないんだ
可読性下がるだけだろ

279 名前:デフォルトの名無しさん [2014/05/01(木) 17:27:43.28 ID:BD8IvZOZ]
ちなみに、>>273と同等のコードは、
C#だと、どのように書けるでしょうか?

書くことが出来ないとは
思えないのですが。。。

280 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 17:29:47.35 ID:HVeqsQe1]
VBやってろよ
気を揉まなくて済むぞ

281 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 17:31:14.67 ID:uhEglYyp]
var results = animals.Where(animal => LikeOperator.LikeString(animal, filter));
var results = from animal in animals where LikeOperator.LikeString(animal, filter);
どっちでも好きに



282 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 17:32:05.24 ID:uhEglYyp]
ってそういえばselect必須だったっけ
var results = from animal in animals where LikeOperator.LikeString(animal, filter) select animal;

283 名前:デフォルトの名無しさん [2014/05/01(木) 17:34:59.06 ID:Hl+E0h9B]
>>279
var results = animals.Where(animal => Regex.IsMatch(animal, ".*マ.*"));

こんな感じ?

これだと正規表現がすごく遅そうでやばそうかな

284 名前:デフォルトの名無しさん [2014/05/01(木) 18:01:32.04 ID:BD8IvZOZ]
>>282

ご回答ありがとうございます。

ただ、下記のようなコードを書いたのですが、
「動的な式のコンパイルに必要な1つ以上の型が見つかりません。」
と怒られてしまいます。

using Microsoft.VisualBasic.CompilerServices;

string filter = "*マ*";
dynamic animals = new string[] {"ライオン","ウマ","ポチ"};
var results = from animal in animals where LikeOperator.LikeString(animal, filter) select animal;

素人質問で恐縮ですが、
どの辺がいけないのでしょうか?

よろしくお願いします。

285 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 18:03:34.36 ID:uhEglYyp]
なんでdynamicなんだよ

286 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 18:04:42.61 ID:HVeqsQe1]
だから言ったのに

287 名前:デフォルトの名無しさん [2014/05/01(木) 18:06:08.51 ID:Hl+E0h9B]
ダイナミック
ダイクマー

288 名前:デフォルトの名無しさん [2014/05/01(木) 18:49:10.15 ID:BD8IvZOZ]
>なんでdynamicなんだよ

あっ、本当だ。
失礼しました。

ただ、下記のようなコードを書くと、
全ての要素がヒットしてしまいました。

var filter = "*マ*";
var animals = new string[] {"ライオン","ウマ","ポチ"};
var results = from animal in animals where LikeOperator.LikeString(animal, filter, Microsoft.VisualBasic.CompareMethod.Binary) select animal;

なかなか難しいなと思いました。

289 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 19:58:52.39 ID:R3+I0L0F]
死ねと思いました

290 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 20:04:27.43 ID:JPPdbDCn]
コードままでウマしかヒットしなかったけど釣りか?

291 名前:デフォルトの名無しさん [2014/05/02(金) 00:24:04.56 ID:Z8O9F4B6]
すみません、クイックウォッチのソースを見ていました
結果ビューを見たら、ちゃんとウマだけヒットしていました

C#を始めて3日目の超初心者なので、
初歩的な間違いをしておりました

このデータを、どう配列に取り込もうか考え中ですが、
それくらいなら自力解決できると思います

ご教授ありがとうございました



292 名前:デフォルトの名無しさん [2014/05/02(金) 00:35:51.86 ID:Z8O9F4B6]
クエリ式って、エクセルからオブジェクトを一気に取り込んで
あいまい検索する時とか、凄く便利そうですが、
メジャーじゃないんでしょうか?

エクセルVBAの構文が見難かったので、
C#でやる方法を色々調べている時に、
便利そうだと思ったのですが、
情報がほとんど無かったので。。。

293 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 00:48:05.73 ID:tBX44kWl]
メジャーじゃないですね

294 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 02:41:15.92 ID:5msgSlqj]
今時エクセル絡ませるのはマイナーの部類ですね

295 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 02:42:06.91 ID:5msgSlqj]
データベースに桐を使ってるレベルです

296 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 10:52:35.09 ID:ht5JWCls]
マイナーかどうかはおいといて、結局 C# 経由で VBA のメソッドを使うことにならん? それ。

297 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 12:13:38.02 ID:4eRBcMfb]
Like相当なら
StartsWith()、EndsWith()、Contains() でいいべ

298 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 16:54:12.21 ID:dSQl/o1w]
Visual C# 2013
.NET Framework 4.5

数値と文字列の組を、数値の降順で表示したいのですが
↓より簡単な方法はないでしょうか
https://ideone.com/OmRl1j

数値の重複はあり、重複した数値のソート順は問いません

299 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 17:01:30.08 ID:ntw0y3bI]
組なんだったら一つのクラスにまとめればいいじゃん

300 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 18:05:33.78 ID:hJb5Y+9v]
var DayMon =new List<Tuple<int,string>>{Tuple.Create(31,"Jan"),Tuple.Create(28,"Feb"),.....}.OrderBy(t=>t.Item1);

foreach(var dm in DayMon)
{
Console.WriteLine("{0} {1}", dm.Item1,dm.Item2);

}

301 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 18:10:50.51 ID:dSQl/o1w]
クラスを作るという方法も考えたんですが、もっとお手軽にできないかと

https://ideone.com/wAaleA
↑ちょっとKeyValuePairが長いですが、これで行こうかと思います

>>300
ちょっと検討してみます



302 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 18:37:49.20 ID:dSQl/o1w]
>>300
ideoneではコンパイルできませんでしたが、VC#2013では結果が正しく表示されました
https://ideone.com/qen38H

OrderByは使えなかったのでSortで代用しています
タプルもKeyValuePairも似たような感じですが、若干ソースが見やすくなったかと
ありがとうございました

303 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 21:16:13.38 ID:lNHwVscw]
OrderByは拡張メソッドでUsing System.Linqが無いと使えない
private void Form1_Load(object sender, EventArgs e)
{
var lst = CreateList(new { Id = 0, Name = "" });
lst.Add(new { Id = 31, Name = "Jan" });
lst.Add(new { Id = 28, Name = "Feb" });
lst.Add(new { Id = 31, Name = "Mar" });
lst.Add(new { Id = 30, Name = "Apr" });

foreach (var item in lst.OrderBy(t => t.Id))
{
Console.WriteLine("{0}{1}", item.Id, item.Name);
}
}
private List<T> CreateList<T>(T val)
{
return new List<T>();
}

304 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 23:44:12.05 ID:FeJk+PKM]
>>298
enum

305 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 23:59:39.01 ID:0wxqsA8J]
多少工夫が必要だがDictionaryの初期化子って手も

306 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 00:03:57.75 ID:KZJ62BJo]
>>302
コードが短ければいいってものじゃないと思うけど
>>300みたいなのってパッと見てわかりやすいとは思わないわ
あまりにも抽象的過ぎて

これもさ、例えばlistを別のクラス、プロジェクトで利用したいってなったとき
t.Item1の見た目でどんな意味の値が入っているかわからないじゃない?
一つのメソッド内でしか使わない使い捨てならいいけどさ

public class Month
{
public int Name{get;set;}
public int Days{get;set;}
}

foreach (var mon in months)
{
Console.WriteLine("日数:{0} 月:{1}", mon.Days, mon.Name);
}
コードは長くなるけど、このほうがわかりやすいでしょ?

307 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 00:17:35.06 ID:KZJ62BJo]
>>303
これもさ、例えば曜日などのメンバーを追加したり、メソッドを追加したくなったらどうすんのって話
全部書き換えなきゃいけなくなる

308 名前:デフォルトの名無しさん [2014/05/03(土) 00:20:14.92 ID:JUyABsGs]
自然に実装するのが一番だね

309 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 00:29:10.18 ID:KZJ62BJo]
暦なんて普遍的なものなんだから十分クラスとしてあってもよいもの
年によって月の日数も変化するし、曜日もほしくなる
カレンダークラスというのがほしくなるかもしれない
容易に拡張すると予測されるようなものを、
その場しのぎで柔軟性のないコードで実現したとしても
わかりやすい、使いやすいにはならないと思う

310 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 00:44:39.43 ID:axBvBMhe]
何か講釈してるけどDateTimeFormatInfoとかCalendarとか知らないのかな

311 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 01:11:56.28 ID:KHkxCjGP]
こういう人には関わらない方が良い



312 名前:デフォルトの名無しさん [2014/05/03(土) 02:25:42.67 ID:/0tPcitL]
pngをicoに変換するソフト作ってみたくて調べてたら
ToIcon名前空間ってのを見つけたんだけど、こいつのマニュアルがいくら探しても出てきません
どこかに載ってるページとかありませんか?

313 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 02:40:53.67 ID:zB11sd0u]
どこでToIconてのを見つけたんだ?

314 名前:デフォルトの名無しさん [2014/05/03(土) 02:55:54.29 ID:/0tPcitL]
VisualStudioの候補で出てきた

315 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 06:04:12.62 ID:XhsVJdhh]
ぐぐる様で出てこないということは存在しないということ


画像ファイルを読み込んでIconオブジェクト作成して
Icon.Saveで作れないこともないけど、単一サイズしか作れないし色数も変になるから
実質的には自分で書かないと

316 名前:298 mailto:sage [2014/05/03(土) 12:32:42.87 ID:0tTnhsBI]
いろいろご意見ありがとうございます

https://ideone.com/zEwVxf
整理した結果、汎用方式で行こうと思います

>>303
動かしてみて参考にさせていただきました

>>306
単純に表示する順序を入れ替えたいだけなので、一つのメソッド内でしか使わない使い捨てです

317 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 13:32:06.08 ID:O1mw8o44]
>>316
2度とくん中洲

318 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 14:12:12.94 ID:7V85CoD7]
>>278
何もわかってないんだな

319 名前:デフォルトの名無しさん [2014/05/03(土) 23:11:16.87 ID:RQXoEmML]
パラメータ化クエリをトランザクション処理したいのですが、上手く動きません。
何が悪いのか、超が付く初心者なので、とんと見当がつかず。。。
ご指摘のほど、よろしくお願いします。
var cmdList = new List<OleDbCommand>();
OleDbCommand command = new OleDbCommand();
var plam1 = new System.Data.OleDb.OleDbParameter("@param", System.Data.OleDb.OleDbType.Integer);
plam1.Value = "2535";
command.Parameters.Add(plam1);
cmdList.Add(command);
command = new OleDbCommand();
var plam2 = new System.Data.OleDb.OleDbParameter("@param", System.Data.OleDb.OleDbType.Integer);
plam2.Value = "2539";
command.Parameters.Add(plam2);
cmdList.Add(command);
using (var cn = new OleDbConnection())
{
 cn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\test.accdb";
 cn.Open();
 OleDbTransaction transaction = cn.BeginTransaction(IsolationLevel.ReadCommitted);
 try
  {
  foreach (OleDbCommand cmdSet in cmdList)
  {
  cmdSet.Connection = cn;
  cmdSet.CommandText = "DELETE FROM t_家計簿 WHERE [No] = ?";
  cmdSet.ExecuteNonQuery();
  }
  transaction.Commit();
  }
}

320 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 00:10:55.38 ID:QUU6NeMv]
とりあえずコマンドのTransactionが未設定じゃないかな

321 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 00:27:31.63 ID:I+QWjdQ8]
まず普通にSQL通すとこからやって、パラメタとトランザクションは
別々に試して両方できてから合わせては?



322 名前:デフォルトの名無しさん [2014/05/04(日) 00:52:37.14 ID:WZQbe0KN]
>とりあえずコマンドのTransactionが未設定じゃないかな

調べてみたら、まさにその通りでした。
初心者らしい、初歩的なミスでお恥ずかしい。

ありがとうございました。

323 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 08:07:19.84 ID:zFJPqZSx]
.Net4.5から追加されたSystem.IO.Compression.ZipArchive
クラスについてご教授下さい。
smdn.jp/programming/netfx/fcl/System.IO.Compression.ZipArchive/
↑サイトなどを参考にさせて頂いて
ファイルやディレクトリの圧縮・展開等ができることは確認しました。

この時、例えば大きなファイルを圧縮するような場合
プログレスバーを表示させたりする事も考えられますが
圧縮や展開の進捗を得る方法というのはありますでしょうか?
フリーのライブラリなどでは可能なものもありますが
あくまで、このクラスを使用する前提の場合
どういった方法が考えられますでしょうか。
よろしくお願い致します。

324 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 08:16:33.82 ID:izVfMrBs]
Stream使って読み書きするんだからそこで適当に通知すればいいだろ

325 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 08:20:35.08 ID:zFJPqZSx]
ありがとうございます。
FileStreamクラスで似たような事をした事があったので
もしかしたら可能かとは思ったのですが
なにぶん初心者サンデープログラマなもので
うまい事できずにいました。
可能だというお墨付きを頂けたので
もうちょい頑張ってみます。助かりました。

326 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 09:24:10.11 ID:zFJPqZSx]
元ストリームのLengthプロパティを取得して、それに対してReadByte・WriteByteメソッド
で書き込む度に進捗を報告するようにできました。助言いただけたおかげです。
ありがとうございます。またよろしくお願いします。

327 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 10:48:12.54 ID:IPFrsn/P]
どういたまして

328 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 10:58:36.66 ID:y/VTbq9Y]
ローカル変数に属性ってつけられない感じ?

329 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 11:05:12.18 ID:izVfMrBs]
うん
というか付けてどうするんだ

330 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 13:23:29.95 ID:MX2IhFCN]
闇属性 外部から不可視になる

331 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 13:48:25.06 ID:8U+RhpvH]
水属性 参照型は値型に、値型は参照型になる



332 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 16:04:29.40 ID:c3Q0rGbO]
ヘンタイ属性 お前ら

333 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 17:04:07.99 ID:mi+P20vl]
なんかキモい流れ

334 名前:デフォルトの名無しさん mailto:sage [2014/05/07(水) 11:01:32.36 ID:xSUe5qhE]
中ニ病でも.NETがしたい

335 名前:デフォルトの名無しさん mailto:sage [2014/05/07(水) 11:25:59.65 ID:6XNtQ4R5]
>>207
Excelはやたらとあるのに、Word関係の情報少ないよな・・・
同じ感覚で文章出力出来るかと思って安易に受けたら、ちょっとしたことでもえらく苦労した記憶が

336 名前:デフォルトの名無しさん mailto:sage [2014/05/07(水) 22:51:07.44 ID:unuMLq/O]
まともな文書になると普通はお好みのスクリプトとTeX使うからね
オフィスなんか使うバカに情報発信はできないからドキュメントが少ないのは仕方が無いよ

337 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 02:36:28.02 ID:CO6CxSEW]
(´・∀・`)ヘー それでそれで?

338 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 04:15:33.16 ID:prlxKI3U]
エクセラとかワールドとかコンマネッツとか
ここは難しいインターネッツですね

339 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 06:47:52.33 ID:m/3Cotp7]
c#Nativeのデスクトップアプリ作れるやつは
いつ頃出るんでしょうか?

340 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 06:54:20.47 ID:0Ta/ZJrX]
我々が生きているうちに拝むことはないでしょう

341 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 07:08:15.84 ID:m/3Cotp7]
>>340
それは確かですか?
c#Native出たら使いづらいc++やめてc#一本で
行きたいんですが。



342 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 07:59:05.22 ID:FbSc8Swp]
>>335
まあ、文章の処理ならテキストでやるし、出力の一部変えたいだけなら差し込み印刷あるし、ちゃんとした組版やるには力不足で色々面倒だし...
昔、Word に入力されてる表を Excel に転記したいと言う依頼で一寸触ったきりだな ⇒ Word VBA

343 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 08:43:59.98 ID:NviPB3le]
.NETの入ってないWindowsはもう無いしWin8ストアアプリなら.NETはネイティブ扱い
もう完全にネイティブだよ

344 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 19:51:14.67 ID:XvpxJEVk]
> .NETの入ってないWindowsはもう無いしWin8ストアアプリなら.NETはネイティブ扱い
> もう完全にネイティブだよ

何言ってんのか全然わからん
誰か訳してくれ

345 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 19:54:17.27 ID:OiZYTZUA]
ランタイムが不要なバイナリはネイティブだ!
って言いたいんだろ。何言ってるのか全然分からんなw

346 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 20:35:36.17 ID:7Gl9qGxi]
ネイティブの定義が曖昧

347 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 21:26:01.92 ID:wftUG4Xi]
OSがサポートしてればネイティブ
ランタイムが必要ならネイティブじゃない

348 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 21:36:58.45 ID:7Gl9qGxi]
msvcrが動的リンクだとネイティブじゃないと

349 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 21:58:55.52 ID:wftUG4Xi]
その通り

350 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 22:08:47.73 ID:OiZYTZUA]
マジにそう思ってそうだな

351 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 22:23:42.93 ID:01rpyJ3E]
IEでサポートされてるからJSもネイティブ



352 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 22:44:22.12 ID:dPnVK8av]
ネイティブインディアン

353 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 22:50:08.44 ID:dmrdHCKV]
世界一周してインドに着いたぞ
土人が居るぜ?きっとインド人だ
残念アメリカ大陸でした
じゃぁネイティブインディアンだね
インド人もびっくり

354 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 23:35:24.92 ID:wftUG4Xi]
ネイティブと否ネイティブの違いなんかないよ
突き詰めれば全てネイティブな命令で動いてるからね

355 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 23:45:03.13 ID:XvpxJEVk]
>>354
コーヒー吹いたw

356 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 23:54:04.43 ID:unkGA5W+]
>>347
OSがサポートするってのとランタイムが必要ってのは排他的な概念なのか?

357 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 00:24:22.85 ID:uV5nbiP8]
ターゲットをWindows7以降と考えると
標準インストールの3.5はもはやOSの一部

システムDLLに依存するかGACのDLLに依存するかの違いでしかない

358 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 00:28:44.62 ID:iw87ytFg]
> ターゲットをWindows7以降と考えると
> 標準インストールの3.5はもはやOSの一部

だから何で無理やり仮定するんだよ
MSの努力を無駄にするなw

.NET自体ネイティブじゃないのにランタイム云々言われても

blogs.msdn.com/b/hirosho/archive/2010/01/09/managed-native-net-framework.aspx

しかしネイティブな命令ってどんな命令なんだ?
気になって寝られない

359 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 00:46:12.13 ID:buRKsp6U]
二進数の事だよ

360 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 00:56:59.62 ID:uV5nbiP8]
ああ、Vistaってまだサポート残ってたんだな
ngenサービス起動で実質ネイテイブってことでOK?

>>347
VCのってmsvcrtに依存してるやつ多くね?
あと2008 Redestribute入れろってよく怒られる

ネィテイブ信奉者には
CDとかUSBに書き込んで起動でOS介さずに
動くプログラムを作ってもらいたい。
USB売ってファミコンみたいなビジネスできないかな

361 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 01:21:56.66 ID:JQaGUgSW]
Microsoft .NET Nativeとか出てくるんだから、今の .NET はネイティブじゃないんじゃないの。



362 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 06:09:37.34 ID:O/hcGSXl]
OSがサポートしてればネイティブ論法なら.batはどうなるの

363 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 06:43:01.93 ID:4zx449Wa]
ネイティブってことだろうな
VCでビルドしたもんはほとんどが非ネイティブw

364 名前:デフォルトの名無しさん [2014/05/09(金) 07:17:50.07 ID:cCUVEC+A]
ランタイムを介さないで、CPUのインストラクションコードで、OSのAPI直接呼び出して実行されるプログラムをネイティブと呼ぶなら、そんなカテゴリは無意味になりつつある。

まず、CPUの速度向上で、ランタイムのオーパーヘッドが問題になることが、無くなった。

ガベージコレクションのように、ライブラリのリンクより、ランタイムで実行した方が効率のいいサービスが一般化している。

OSの低レベルなAPIはランタイムでラップしないと、セキュリティホールが発生しやすいし対応しにくい。

近年は、ブログラムやシステムの複雑化や肥大化が進んでいるから、実行効率より保守性や移植性を優先すべきになった。


つまり、デスクトップ環境においては、ネイティブなコードに拘る意味が無い時代になったんじゃないかな。少しさみしいけど。

365 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 07:33:46.00 ID:4zx449Wa]
>>364
.NETのことも.NET nativeのことも、なんもわかってないなw

366 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 07:37:23.14 ID:k6RX7FOd]
スマホアプリ作りの世界だと
ネイティブ=プラットフォーム依存
非ネイティブ=プラットフォーム非依存
で括られることが多いみたいだね
だからAndroidのJavaモドキはネイティブでUnityのC#は非ネイティブ

367 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 07:38:44.53 ID:yGvDvFNw]
変な希望を捨ててC++使ってればいいんだよ

368 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 08:29:16.28 ID:giBvEpb/]
C++11や14の機能みておもしろくなったなーとは思う
けど、どうせ使うのはC#かと思って手が出せないな

369 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 12:04:13.73 ID:HTr67Xym]
そこでまさかのC++/CLI

370 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 13:15:40.54 ID:YiLzwXxL]
それだけはないわ

371 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 14:49:24.40 ID:Mr0Sp7Ii]
nativeを土着と訳せば >>366 で問題ない



372 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 19:43:03.89 ID:k6RX7FOd]
つまりC#はエイリアンか

373 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 19:56:12.53 ID:NDcf6f8g]
>>366
darvik(VM)上で動くコードをネイティブって言う人見たことないぞ。
>非ネイティブ=プラットフォーム非依存
こんなこと言う人はもっと見たことない。

374 名前:デフォルトの名無しさん [2014/05/09(金) 20:18:57.37 ID:v/oaYztB]
C#マシンみたいなの作ればええんか?

375 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 20:22:28.06 ID:7rX/IBWU]
AndroidででネイティブっていうとNDKだね

376 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 21:01:57.37 ID:iw87ytFg]
仮に.NETがネイティブだったとしてなんかいいことあるのか
主張自体の意味が分からん

377 名前:デフォルトの名無しさん [2014/05/09(金) 21:05:29.92 ID:E9SfM4pV]
ネイティブだと時間かけてコンパイルできるから
最適化がカリカリに効いて超早くなるらしいね

378 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 21:19:32.89 ID:4zx449Wa]
難読化が不要になるかもしれない
anycpu向けにネイティブも含むって形のビルドだと不要にならないが

379 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 22:19:04.91 ID:aGSQbVG9]
ネイティブっていうのはもともとのとか生まれたところのとかいう意味だったはず
つまりWindows上でビルドされたアプリケーションはすべてネイティブなのだ!!!

380 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 23:03:28.43 ID:WJR4c6c3]
ΩΩΩ<な、なんだってー!!

381 名前:デフォルトの名無しさん mailto:sage [2014/05/09(金) 23:47:40.08 ID:YiLzwXxL]
まあ、JIT でコンパイルされたコードとか悩ましいものもあるからなぁ



382 名前:デフォルトの名無しさん mailto:sage [2014/05/10(土) 07:43:33.83 ID:rYs4anx5]
>>377
ngenは起動時間短縮も含めてかなり高度なAOT最適化がかかるよ
経験があれば感覚的に分かってるもんだが、
ネイティブのコンパイルって時間かけたからってそんなに速くなるもんじゃない
コンパイル時間ってほとんどIOだしな

383 名前:デフォルトの名無しさん mailto:sage [2014/05/10(土) 13:47:56.20 ID:m/AO6ufT]
実際はおそらくいまだに実現してないと思うけど、.NETが出たときネイティブコンパイルに対する
JITの利点として挙げられたのが「実行環境のCPUの命令セットに対応した最適化が可能になる」
だったのを知らない奴がいるねw

384 名前:デフォルトの名無しさん mailto:sage [2014/05/10(土) 14:35:11.11 ID:Om1HfajV]
いきなりそんなちんけな知識披露してどうしたいんだ? (w

385 名前:デフォルトの名無しさん mailto:sage [2014/05/10(土) 17:29:27.79 ID:libkbDSO]
その調子で UCSD p-System を褒め称えてんくれたまえ

386 名前:デフォルトの名無しさん mailto:sage [2014/05/10(土) 23:34:14.22 ID:JsdyMFBf]
C++14なんて出来たのか
学生で暇だったから11まではなんとか着いて行ったが
仕事で.NETに毒されてもう勉強する気にはなれんなぁ

387 名前:デフォルトの名無しさん mailto:sage [2014/05/10(土) 23:44:30.25 ID:+eAN56dx]
>>383
そのx86系向け以外の実装がなかなか出てきてくれないのがなー
Xamarinくらいだっけ?実用的なの

388 名前:デフォルトの名無しさん mailto:sage [2014/05/10(土) 23:49:21.32 ID:smOEHBq/]
IA64とかARM(CF、WP、RT)とかあるだろ

389 名前:デフォルトの名無しさん mailto:sage [2014/05/11(日) 01:27:29.19 ID:U/KhMBzc]
>>387
いや元々は必ずしもそんな大風呂敷な話じゃないよ。
というのはx86って一口に言っても最大公約数的な部分以外の命令は共通じゃない。

390 名前:デフォルトの名無しさん [2014/05/14(水) 00:47:16.22 ID:K0yI8GQ1]
C#でブラウザを操作しようとしていますがエラーが出てしまいます。
WebBrowserコントロールではなくIEを直接操作したいです。

以下コードを実行したところエラーが出てしまいました。
IEを直接操作する場合には、 getElementById("***"); の
コードを使う事は出来ないのでしょうか?


≪コード≫
SHDocVw.InternetExplorer ie = new SHDocVw.InternetExplorer();
mshtml.IHTMLElementCollection mshtml_ec;
mshtml_ec = ie.Document.getElementById("id_test"); ←ここでエラー

≪エラー ≫
型 'mshtml.HTMLDivElementClass' の COM オブジェクトを
インターフェイス型 'mshtml.IHTMLElementCollection' にキャストできません。

IID '{3050F21F-98B5-11CF-BB82-00AA00BDCE0B}' が指定されたインターフェイスの
COM コンポーネント上での QueryInterface 呼び出しのときに次のエラーが発生したため、
この操作に失敗しました: インターフェイスがサポートされていません
(HRESULT からの例外:0x80004002 (E_NOINTERFACE))。

391 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 00:49:50.84 ID:emzrQeCt]
mshtml.HTMLDivElementClass div = ie.Document.getElementById("id_test");



392 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 01:05:18.64 ID:4vw7qdQU]
イメージ的にはこれしてるからエラーになる
int element;
int[] collection;
collection = element;  ←エラー
collection[0] = element; ←エラーではない(初期化されてないのは気にするな

393 名前:デフォルトの名無しさん [2014/05/14(水) 03:12:41.94 ID:bi1kolXx]
>>391 >>392

mshtml.HTMLDivElementClass div = ie.Document.getElementById("id_test");
     ~~~~~~~~~~~~~~~~~~~~~~
このコードに置き換えたところ

Interop type 'mshtml.HTMLDivElementClass' cannot be embedded.
Use the applicable interface instead.


というエラーが出てしまいます。どうやら HTMLDivElementClass 自体が
認識されていない様ですが皆さんの環境では普通にビルド通るのでしょうか?

394 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 04:00:10.69 ID:k2UyUu49]
>>393
id_testは<div>なのか?
getElementByIdが返してるもの良く確認してみろよ

395 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 08:38:22.58 ID:ICklhj5Y]
IHTMLDivElement辺りのインターフェイス使えば

396 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 12:08:24.76 ID:lHqltGg+]
TからSomeClass<T>に変換するジェネリックなimplicit operatorを作るには
どのように書けば良いですか?

397 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 12:16:58.20 ID:ICklhj5Y]
SomeClass<T>にそのまま書けば良いんじゃない? とりあえず4.5なら通った

398 名前:デフォルトの名無しさん [2014/05/14(水) 12:18:55.70 ID:0F7NlhK7]
>>394 >>395
mshtml.HTMLDivElementClass div;
//Interop type 'mshtml.HTMLDivElementClass' cannot be embedded. Use the applicable interface instead

そもそもこの定義をするだけでエラーが出てしまいます。

399 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 12:41:44.92 ID:lHqltGg+]
すいません、ミニマムコードを簡略化しすぎました。

SomeClass1を継承したSomeClass2<T>があって、
Tから変換されたSomeClass2<T>をSomeClass1として返すoperatorが
ほしいです。

400 名前:393 [2014/05/14(水) 13:05:07.85 ID:0F7NlhK7]
どなたか >>398 のエラーを解決してくださいm(-_-)m

401 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 13:10:20.17 ID:4vw7qdQU]
>>400
social.msdn.microsoft.com/Forums/en-US/f938ac22-08cf-430e-b13f-c63b50f1943c/error2interop-type-mshtmlhtmldocumentclass-cannot-be-embedded-use-the-applicable-interface?forum=csharplanguage



402 名前:393 [2014/05/14(水) 15:53:27.07 ID:0F7NlhK7]
>>401
結局、InternetExploreを直接操作する場合には

ie.Document.Getelementbyid();

使えないってことですか?

403 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 15:58:33.20 ID:ICklhj5Y]
>>402
>>395
HTMLDivElementでもいいけど

404 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 16:00:14.37 ID:4vw7qdQU]
使えるって。エラー原因も書いてあるじゃん

405 名前:デフォルトの名無しさん [2014/05/14(水) 22:19:20.87 ID:hc7I7FLC]
>>403 >>404 ありがとうございます。出来ました!

406 名前:デフォルトの名無しさん [2014/05/15(木) 08:23:27.55 ID:yeWrapbB]
横からだけど、あれってどういうときに埋め込みCOMを使えないの?
なんとなくクラスじゃなくてインターフェイスにしたら行けたような記憶はあるんだけど
具体的にはどういう仕組なんですか

407 名前:デフォルトの名無しさん [2014/05/16(金) 01:13:32.52 ID:i/xGMuQU]
指定したIDの取得が出来たかどうかを判定する為に
以下コードを記述したのですがエラーになってしまいます。
この場合、どういう風に記述すれば良いのでしょうか?


【コード】
SHDocVw.InternetExplorer ie = new SHDocVw.InternetExplorer();
if (ie.Document.getElementById("WS2m") != System.DBNull) ← エラー

【エラー】
'System.DBNull' is a 'type', which is not valid in the given context

408 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 01:31:59.80 ID:tdv/NjoT]
is

409 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 04:25:55.78 ID:iWose0vD]
なぜでこれで大丈夫だと思ったのか逆に聞きたい

410 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 09:26:59.63 ID:z9IT6DkQ]
if (ie.Document.getElementById("WS2m") != null)
じゃないの?

411 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 09:32:42.61 ID:WHbqzO3I]
>>407
DBNullと比較したいならDBNull.Valueだろ
なんでDBNullが出てきたか知らないけど。
キミが書いたコードは値と型を比較してるからコンパイルできないのね



412 名前:デフォルトの名無しさん [2014/05/16(金) 11:11:03.95 ID:qpQIOLBV]
IEを自動巡回するプログラムでメモリリークする場合の対処法ありますか?
MSが配布している「Windows Server 2003 Resource Kit Tools」というツールの中に含まれている「empty.exe」を実行するように組み込んだのですが、
2〜3時間起動させておくとメモリがとんでもないことになっています。
何か対策あれば教えてください。

413 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 13:33:39.95 ID:VAV/Ywcf]
empty.exeでぐぐると頭悪そうなブログが大量に引っかかるな

あなたIEのオートメーションで質問してる人でしょ?
COMオブジェクトを適切にMarshal.ReleaseComObjectしてないとそうなると思うよ

414 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 13:44:57.44 ID:wDpDXYS0]
定期的にプログラム再起動させたらいいw

415 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 14:28:13.57 ID:WW/l1jAv]
ほう、こんなツールがあったのか
しかしこれをメモリ開放ツールと宣伝するのはいかがなものか

416 名前:デフォルトの名無しさん [2014/05/16(金) 14:36:51.56 ID:dX1r0FTl]
>>410 >>411
if (ie.Document.getElementById("hoge") != DBNull.Value) ・・・(X)
{
  // ie.Document.getElementById("hoge") 指定IDの取得が出来た場合の処理
  ブロック:A
}
else
{
  // ie.Document.getElementById("hoge") 指定IDの取得が出来なかった場合の処理
  ブロック:B
}

上記の様にコードを修正しました。
すると、指定したIDの取得が出来た場合には(X)の部分で次のエラー
メッセージが表示されます。

演算子 '!=' を 'mshtml.HTMLDivElementClass' と
'System.DBNull' 型のオペランドに適用することはできません


出来なかった場合には、エラーはDBNull.Valueで正常に判定され
ブロック:Bに入ります。

以上を踏まえどういうコードを書けばIDが取得出来た場合、出来なかった場合とを
きっちりと判定する事が出来ますでしょうか?

417 名前:416 [2014/05/16(金) 15:21:57.53 ID:dX1r0FTl]
どうしても解決出来ません。
何とかお教えください。

418 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 15:27:29.07 ID:VAV/Ywcf]
DBNullなんてどこから出てきたの?
nullと比較しろって>>410が書いてるけどそれは確かめたの?

きちんと基本から勉強したほうがいいよ
IEとかじゃなくてC#の文法からさ

419 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 15:28:40.77 ID:VAV/Ywcf]
一度変数に受けたらどうよ。。

var element = ie.Document.getElementById("hoge");
if( element != null )
{
 ...
}
else
{
 ...
}

420 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 15:36:36.90 ID:+9XdxNxU]
! DBNull.Value.Equals(...)

421 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 15:38:49.49 ID:3SEf4bpg]
>>419
スクレイピングとかでぐぐれば



422 名前:デフォルトの名無しさん [2014/05/16(金) 17:56:19.30 ID:ymohds+z]
>>418 >>419 >>420
ありがとうございます。>>419で解決しました!

因みにですが、
var element C#なのに型の宣言をせずに変数を定義する事が出来るのですね。


>>421
スクレイピングでぐぐってヒットするブログですが作者の
オナニーコードだらけで参考になるページがありませんでした。

423 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 18:08:22.53 ID:MfiAbdMM]
隣のスレからvar厨とアンチvarを動員すべき?

424 名前:デフォルトの名無しさん [2014/05/16(金) 18:19:25.77 ID:ymohds+z]
>>423
よくわからないけど、型定義いらんの?

425 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 18:23:57.81 ID:gv27ESQ0]
>>424
型定義が要らないんじゃなくて、型を指定しなくてよい
コンパイラ様が型を推測して決定してくれる

426 名前:デフォルトの名無しさん [2014/05/16(金) 18:54:07.73 ID:oTvEFO9A]
>>425
>コンパイラ様が型を推測して決定してくれる
凄く心配です。大丈夫なんですかね。コードの記述方法として

427 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 19:03:06.75 ID:5Dsd57Kf]
相談室の方で侃々諤々やってたから見てくると良いよ

428 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 19:48:26.77 ID:EwsF+ox0]
>>426
DBNullとNullの違いも分からないレベルなら
全く心配する必要ないから安心してください

429 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 19:55:42.13 ID:XsRxTYeM]
varのおかげで彼女が出来ました

430 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 20:54:47.74 ID:T9bJjjvZ]
かなり初歩的な事だと思いますが教えて下さい<m(__)m>
C#です。


private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = ((Button)sender).Text;


ボタンをクリックすると、そこに入力されている文字が
『textBox1』に表示される文だと思うのですが、

((Button)sender).Text;

ここの部分はなぜこのようになるのでしょうか?

(Button)sender => これはsenderをButton型にキャストしている?

((Button)sender).Text; => なぜ().Text このTextの前の括弧も必要なのですか?


長文すいません<m(__)m>

431 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 20:56:46.78 ID:VAV/Ywcf]
ずぶの初心者がIEオートメーションとかやりだして
dynamicだらけになると教育上よろしくないとは思う



432 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 21:01:50.46 ID:VAV/Ywcf]
>>430
>(Button)sender => これはsenderをButton型にキャストしている?

はい。

>((Button)sender).Text; => なぜ().Text このTextの前の括弧も必要なのですか?

メンバーアクセス演算子(.)のほうが演算子の優先順位が上なので
(Button)sender.Text
と書くと
(Button)(sender.Text)
の意味になっちゃうからね。sender(object型)にはTextなんてメンバーはないからこの場合コンパイルエラー。

433 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 21:09:28.95 ID:5Dsd57Kf]
括弧が増えるのが嫌で、キャスト失敗可能性がないところでもつい
(sender as Button).Text
ってas演算子を使ってしまう

434 名前:430 mailto:sage [2014/05/16(金) 21:11:50.84 ID:T9bJjjvZ]
>>432
早速の回答ありがとうございます!
なるほど、そういう事だったんですね!

ここがなぜそうなるのかずっと分らなくて困ってましたw

ありがとうございました<m(__)m>

435 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 23:33:00.07 ID:H9byKZWo]
d.hatena.ne.jp/yjochi/20140516#1400218482
AssemblyInfo以外に端末固有で埋め込まれる情報ってないんだっけ?

436 名前:デフォルトの名無しさん [2014/05/17(土) 14:00:31.48 ID:QUUNT5cx]
>>428
回答するだけの知識が無いのですね。
正直にそうおっしゃっていただければ良いものを。

437 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 15:51:04.81 ID:bGHl19aa]
>>436
そういうパターンもあるが流石にコレは違うだろ
DBNull知っててもなんの自慢にもならんしな

438 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 19:55:39.06 ID:Sq+cRhDG]
質問させてください。

C#でTreeViewとTextBoxを使ったアウトラインプロセッサを作ろうと思っています。
以下の様な設計になると思うのです。

//ノードの内容を保持するクラス
public class myClass
{
public string Title { get; set; } //ノードのタイトル
public string Contents { get; set; } //ノードの内容
}

1 myClassのインスタンスをTreeNode.Tagに代入する。
2 TextBoxを使ってmyClass.Titleが変更されたらTreeViewに表示されている該当ノードのテキストを更新する。

この場合、((myClass)TreeView.SelectedNode.Tag).Titleが変更されるたびに
TreeView.SelectedNode.Text = ((myClass)SelectedNode.Tag).Title;
とする必要がありますよね。
TreeView内ノードのTagのプロパティが変更された通知をTreeViewで受け取ってイベントを起こす、というのは、どういう実装になるのでしょう。
TreeViewかTreeNodeをオーバーライドする必要があるのか?
それぞれを継承したコントロールを作るべきなのか?
あるいは設計が間違っているのか?

ご意見をうかがいたいです。どうぞよろしくお願いします。

439 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 20:09:47.62 ID:uBMVVO4L]
TreeNodeを継承したクラスを作るかな

ちなみに質問なんだけど
ノードは子ノードを持たないのかな?

440 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 20:12:07.75 ID:LIsFRLLH]
イベント通知は
public event EventHandler TitleChanged;
private string _Title;
public string Title{
 get{return _Title;}
 set{
  if(value!=_Title){
   _Title=value;
   if(TitleChanged!=null) TitleChanged(this,EventArgs.Empty);
  }
 }
}

が基本
イベントはINotifyPropertyChangedを使うのが普通だけど

441 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 20:29:37.40 ID:Sq+cRhDG]
>>439
ええっ、持ちます。何か問題があるんですか……?

>>440
どうもありがとうございます。やってみます。



442 名前:デフォルトの名無しさん [2014/05/17(土) 23:10:58.28 ID:wL9K2nHt]
ゆうちゃん事件で.NETアプリにはコンパイルした環境の情報が知らぬ前に埋め込まれてるって言ってたな

443 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 23:17:41.09 ID:iBaM0QV5]
>>442
それなら、回りくどい立証など必要ないはずだが、コンパイルだってリモートでできるから無意味だよなw

444 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 23:46:19.11 ID:LIsFRLLH]
試しに空exeをコンパイルしてみたら16バイト違う箇所があったからGUID埋めてるんだろうな

445 名前:デフォルトの名無しさん [2014/05/17(土) 23:58:33.92 ID:QUUNT5cx]
ゆうちゃんかわいそう

446 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 00:34:23.47 ID:krGu/iNt]
>>443
署名してなきゃいくらでも弄れそうだが証拠になんのかな

447 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 08:27:27.43 ID:8NF5w4j9]
GUIDから環境の情報を取り出すのは不可能
今のコンパイラが埋め込むGUIDは完全ランダム

448 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 08:47:28.12 ID:4DaHWzr8]
gui部分だけqtを使いたいのですが一番シンプルなスレットセーフの
作り方を教えてください。

qtイベント周りが馴染めない・・・

449 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 09:51:39.63 ID:VTr3IL1L]
スレチ

450 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 12:43:55.68 ID:rnQSzLo4]
>>447
このPCでビルドしたらこのGUIDが埋め込まれる。だからこのGUIDと同じGUIDが埋め込まれてたらそのPCだ
って判断してたと思うんだけど、毎回GUIDが変わったりしてそれができなくなったのか?

451 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 16:43:38.42 ID:0bx4PTQ0]
そもそも埋め込まれるGUIDって属性とかで指定できるんじゃないのか?



452 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 00:27:02.82 ID:/VRh8m5q]
GUIDなんて自分で簡単に書き換えられるじゃんバカなの?

453 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 00:41:36.09 ID:vP4RlhBD]
そりゃ変更できるよ。変更したもしくはそのまま変更しなかったGUIDが
比較対象のソフトもしくは開発環境と一致する可能性がどんだけあるんだって話だよ。バカなの?

454 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 05:33:09.82 ID:nxdI4+Ig]
変更しなかった、ランダムな値が一致する率は低いだろうけど
指定した値に変更出来るんじゃって話だぞ

一致するように変更して偽装出来るんじゃないかって話だろ、バカなの?

455 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 07:13:42.59 ID:tIfFnZmg]
素人探偵様は晩ご飯の推理でもしてろ

456 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 17:49:01.81 ID:MpNqRu0Y]
これで有罪確定だな。
以前片山の質問に答えたかもしれないから罪悪感あんだよね。

457 名前:デフォルトの名無しさん [2014/05/19(月) 22:45:34.31 ID:FLEQJh3I]
簡単な画像処理プログラムを作っています。
openFileDialog1.ShowDialog()でファイルから画像を読み込む際、ダイアログ上で画像のサムネイルをダブルクリックして決定すると、
たまたまダイアログの背後に隠れていたpictureBox1のMouseUpイベントが反応してしまいました。
これを回避する方法はありますか?

458 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 23:39:10.23 ID:ZuQxAEmV]
マジだ知らんかったわ

459 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 01:18:08.42 ID:rgNkrX1X]
MouseDown後のMouseUpのみ処理するようにすれば済むけど、
泥臭いし後から意図をくみ取りにくいな。

460 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 03:08:08.84 ID:l8495QE8]
C++使えるのにわざわざC#でウィルス作成する理由なんてあるの?
身分証明書付きで犯行予告送るようなもんじゃんw

461 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 03:14:41.97 ID:f9YPeLav]
コピペだらけでC#を碌に使えない奴がC++でウイルスを作れるわけないだろ。



462 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 04:23:21.41 ID:7+uR1JPv]
ウイルス作り慣れてるならC++なんだろうけど
初めてやるようなもんは、C#の方が開発時間短くすむ

463 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 07:03:13.53 ID:l/MaaGVr]
ここで話さないと死ぬのかてめーは
死ぬか?今

464 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 09:36:21.71 ID:lETONsi7]
>>463
ゆうちゃん乙

465 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 13:00:25.93 ID:fbMM1sIr]
>>457
DobuleClickイベントは2回目のMouseUpを受け取って初めて成立するもんだろ・・・
Windowsの設定を変えてシングルクリック操作に統一してしまえw

MS> バグだけど直せない
https://connect.microsoft.com/VisualStudio/feedback/details/692962/

466 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 13:30:12.03 ID:7+uR1JPv]
馬鹿っぽいけどbuttonup受信用のダミーフォームを下に開いとけば簡単に解決しそう

467 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 18:03:25.74 ID:lETONsi7]
透明フォームはマウスイベント拾わないからダメかと

468 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 18:31:15.07 ID:lvkbfHG0]
ダイアログを表示する前にフラグたてておく

最初のMouseDownでフラグを下げるようにして
フラグがたってるときのMosueUpは破棄

で解決やん

469 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 18:32:01.00 ID:lvkbfHG0]
増江アップ……

470 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 20:18:32.63 ID:BlDb7c/c]
>>468
>>459

471 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 20:45:52.40 ID:lETONsi7]
じゃあ継承だな



472 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 21:59:07.61 ID:/BZAV6I+]
Rx…

473 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 22:06:30.13 ID:wdE7nCB8]
ステートフルな操作になるのでRxでやることではないだろ
それを言うならasync

474 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 22:47:04.01 ID:z0N+xEYi]
俺もC#でウイルス作っちゃうぞ はい

System.IO.File.Delete("C:\")

475 名前:デフォルトの名無しさん [2014/05/20(火) 23:09:16.22 ID:eq9LTubx]
最近、C#の継承の仕方が分かったのですが、
ハッカーとして警察に捕まるレベルになったでしょうか?

476 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 23:15:28.47 ID:brd7BZh9]
冤罪のリスクがあるから今すぐVBエンジニアに転職した方がいい

477 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 23:19:31.02 ID:wdE7nCB8]
もしVB製ウィルス被害が問題になったら
世の中のVBドカタは本気でそういうこと言い出しそう

478 名前:デフォルトの名無しさん [2014/05/22(木) 03:08:29.96 ID:QIcUg8Dq]
Debug.WriteLineですがあくまでもデバッグ時に使うコードですよね?
別にビルドが完了して実行モジュールにする際には
消した方が良いのでしょうか?

動作には関係が無いのでそのままデバッグコードを
残していても問題が無いのかなぁーと思いまして

479 名前:デフォルトの名無しさん [2014/05/22(木) 03:12:23.80 ID:6uPwquR0]
ほっとくと際限なく増えるから俺は消す

480 名前:デフォルトの名無しさん mailto:rr [2014/05/22(木) 09:37:59.45 ID:T9dtrulV]
メディカルサイト歯科相模原.日吉サンテラス歯科.藤沢なのはな内科 スマイル歯科.亀有 リリオ歯科.八王子 アクロスみなみの歯科.足立 ハート歯科新宿くろさか歯科熊本ファミリー歯科伊勢原桜台歯科森林公園滑川モール歯科横浜いちょう歯科.小田原めぐみ歯科ホワイトスタイ

481 名前:デフォルトの名無しさん mailto:sage [2014/05/22(木) 09:45:06.90 ID:EDjucqfY]
>>478
リリースビルドならコンパイルされないから見づらくならない程度にのこしとけ



482 名前:デフォルトの名無しさん mailto:sage [2014/05/22(木) 11:48:23.22 ID:jxaWow30]
残す理由が無ければ消す
コメントと同じくきちんとメンテされなければ有害

483 名前:デフォルトの名無しさん mailto:sage [2014/05/22(木) 11:56:22.32 ID:J69IBQnE]
VS2012で作ったプロジェクトをVS2010で開く方法ってあります?

484 名前:デフォルトの名無しさん mailto:sage [2014/05/22(木) 19:47:26.98 ID:bw4eV9eT]
slnファイルのバージョン書き換えで

485 名前:デフォルトの名無しさん mailto:sage [2014/05/22(木) 20:02:54.09 ID:J69IBQnE]
>>484
出来ました、ありがとうございます

486 名前:デフォルトの名無しさん mailto:sage [2014/05/22(木) 23:21:58.64 ID:M0DqzqG/]
C++のテンプレートパラメータのように
ジェネリック引数に数値を使うことはできないのかな?

487 名前:デフォルトの名無しさん mailto:sage [2014/05/22(木) 23:26:24.56 ID:ECkRJuZ0]
無理
今時そんなことで速くはならんよ

488 名前:デフォルトの名無しさん mailto:sage [2014/05/24(土) 20:47:48.22 ID:Fzc1d2cw]
プロジェクト構成ファイルを操作するためのライブラリはありますか?
地道にMSBuildの仕様を調べてXML操作するしかないのでしょうか?

489 名前:デフォルトの名無しさん mailto:sage [2014/05/24(土) 22:42:15.93 ID:Wl2IpIUu]
いやMSBuildというのはそのライブラリそのものだよ
.NETに入ってるMicrosoft.Build.〜のDLLと名前空間を使う
まあVSに生成されたXMLをベースにしてXML操作するほうが簡単だと思うけどね

490 名前:デフォルトの名無しさん mailto:sage [2014/05/25(日) 15:59:32.50 ID:607flr5t]
JaneStyleのスレ欄やスレ一覧はフォーカスがなくてもホイールでスクロールできますが、
このときフォーカスが移動していません
(タブ部分をスクロールした場合はフォーカスが移動するようですが)

これと同様に、任意のControlにあるフォーカスを移動することなく、
別のControlをホイールでスクロールする方法はありませんか?
スクロール対象は今のところ以下のクラス(を継承したクラス)ですが今後増えるかもしれません
 (Rich)TextBox、WebBrowser、TreeView、DataGridView、
 TabControlのタブ及び中身、ComboBox、NumericUpDown、

※ちなみにテキストエディタと専ブラを足して2で割ったようなものを作るのが目的で、
 UIをできるだけJaneに近づけようとしてます

491 名前:デフォルトの名無しさん mailto:sage [2014/05/25(日) 16:00:45.02 ID:xRi2p+wu]
ある



492 名前:デフォルトの名無しさん mailto:sage [2014/05/25(日) 16:27:18.55 ID:607flr5t]
即答ありがとうございました
質問する時は時間帯を考えたほうがいいことが分かりました

493 名前:デフォルトの名無しさん mailto:sage [2014/05/25(日) 16:36:07.92 ID:+O+pC0c3]
>>490
ホイールの移動量をフォームで取得して
コードで直接任意のコントロールのスクロールバーを移動させればいいよ

494 名前:デフォルトの名無しさん mailto:sage [2014/05/25(日) 16:42:55.10 ID:b4+7ngHB]
IMessageFilter実装してWM_MOUSEWHEELでマウス位置のコントロール探してSendMessage

495 名前:デフォルトの名無しさん mailto:sage [2014/05/25(日) 17:01:02.36 ID:4JTDEA8b]
>>490
やったことないのでただの言いっぱなしだけど、SPY+で見る限りコントロールの親のフォームは
入力フォーカスがあるコントロールより先にWM_MOUSEWHEELを受け取るようだから、
WndProcでこれを横取りしてマウスポインタの下のコントロールに投げてやればいいんじゃないの?

もちろんこの場合、少なくとも単純な実装では、逆に別のコントロールで入力フォーカスがあるときでも
ホイールのイベントを受け取れなくなってもしまうと思うが。

496 名前:デフォルトの名無しさん mailto:sage [2014/05/25(日) 17:13:57.25 ID:607flr5t]
>>493
以下の方法で軽く試したら期待通りの動きをしてくれそうです
ありがとうございました

フォームのMouseWheelイベントに次のイベントハンドラを設定
private void Form_MouseWheel(object sender,MouseEventArgs e){
if( targetControl.ClientRectangle.Contains(targetControl.PointToClient(Cursor.Position)) ) {
// targetControlのスクロール処理
}
}
また、他のすべてのフォーカスを取りうるControlには次を設定
private void Control_MouseWheel(object sender,MouseEventArgs e) {
Form_MouseWheel(sender,e);
}

>>494-495
回答ありがとうございます
上記の方法では「すべてのControlに〜」の作業が面倒なので、その方法も調べてみます

497 名前:デフォルトの名無しさん mailto:sage [2014/05/25(日) 17:20:34.56 ID:xRi2p+wu]
フォームとコントロールをそれぞれ継承して処理したほうがスッキリすると思う

498 名前:デフォルトの名無しさん mailto:sage [2014/05/25(日) 17:26:09.59 ID:JNcJNPEt]
スレッドにフックかけちゃったほうが楽だろ

499 名前:デフォルトの名無しさん mailto:sage [2014/05/25(日) 22:34:20.28 ID:ZAxnvFu2]
こういうお節介な処理を組み込んだGUIって使いにくいし保守も面倒だよね
GUIは可能な限りシンプルで余計なことをしないものが良いよ

500 名前:デフォルトの名無しさん mailto:sage [2014/05/25(日) 22:39:40.33 ID:WRqaympE]
それで済んだら世の中のSEPGはほとんど失業するんだけどな
客がクソ細かいことに拘ってSEが無駄に複雑な要件を作り上げることで成り立つ業界だ

501 名前:デフォルトの名無しさん mailto:sage [2014/05/25(日) 23:20:54.59 ID:RbuUC3oO]
一理はあるけどそれは言い過ぎだな。
それ以前に、>>490のいうような要件は今時のUIとしてはそんなに変則的なものじゃないように思う。



502 名前:デフォルトの名無しさん mailto:sage [2014/05/25(日) 23:31:33.60 ID:A1ke70fM]
今時とかそんなものはどうでもいい
俺の知らない物は全て「普通」ではないのだ

分かるかいこの意味

503 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 00:29:29.79 ID:JU7KLL2g]
松鶴家千とせ、ですね

504 名前:490 mailto:sage [2014/05/26(月) 00:51:42.84 ID:jkQwR0J8]
>>494を参考に検索ワードを変えて探したところドンピシャな記事を見つけました
ttp://someprog.blog.fc2.com/blog-entry-8.html
おかげで目的を達成できました

遅くなりましたが回答していただいた方、改めてありがとうございました

505 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 05:01:54.51 ID:Rz2xugPO]
>>499
ワンボタンマウスのMacでも使ってろ。

506 名前:デフォルトの名無しさん [2014/05/26(月) 09:39:10.38 ID:C5RAjArj]
Internet Explorerを自動操作していて特定の条件の際に
ie.Quit();   を実行してもブラウザが閉じない場合があります。
その際には、Internet Explorerのプロセスも生きたままです。

一体何が原因なのでしょうか?


どうしても原因を突き止めることが出来ません。

507 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 09:41:12.71 ID:QBzBPwJ7]
相談室の方で答えたネタなのだが

508 名前:506 [2014/05/26(月) 09:51:23.52 ID:C5RAjArj]
>>507
解決につながる回答を得られなかったのでここでも質問させてもらってます。

509 名前:デフォルトの名無しさん [2014/05/26(月) 09:52:38.71 ID:C5RAjArj]
>>507
396 名前:デフォルトの名無しさん[sage] 投稿日:2014/05/18(日) 04:22:37.98 ID:gCeF58LB
アウトオブプロセスのCOMサーバプロセスのサーバの寿命が気になるなら
・途中で手に入ったCOMオブジェクトすべてにMarshal.ReleaseComObject
・COMオブジェクト入れてた変数は全部参照を切ってGC.Collect×2
のどっちかが必要


こちらですか?
見落としてました。すみません。
再度試してみます。

510 名前:506 [2014/05/26(月) 09:57:49.91 ID:C5RAjArj]
取り敢えず、GC.Collect(); を使う方法を試したのですがIEが閉じません。。。
ie = null; の実行で参照も切れていると思っているのですが如何でしょうか?

ie.Quit();
ie = null;

GC.Collect() ;
GC.WaitForPendingFinalizers() ;
GC.Collect();

511 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 10:16:35.99 ID:Rz2xugPO]
また遠隔ウィルスでも作っているのか?



512 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 10:23:13.08 ID:QBzBPwJ7]
如何でしょう言われても知らんがな
とりあえずインスタンス作ってすぐQuitするところから始めてみれば

513 名前:デフォルトの名無しさん [2014/05/26(月) 10:31:42.35 ID:C5RAjArj]
>>511
黙れ片山

>>512
>とりあえずインスタンス作ってすぐQuitす
画面遷移したり、ボタンをクリックしたりと一連のブラウジングを行った後でQuitすると
閉じない場合があります。

514 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 10:32:53.03 ID:dlApJPlM]
>>506
特定の条件で起こる現象なんだから、その特定の条件ってのが原因だろjk
まずその特定の条件ってのを説明しろよ

515 名前:コード@ [2014/05/26(月) 11:03:16.41 ID:C5RAjArj]
以下のコードを実行すると、ブラウザが開き続けてしまいます。
ie.Quit(); をしているので本来は閉じないといけないのですが、、、


SHDocVw.InternetExplorer ie;
mshtml.IHTMLElementCollection mshtml_ec;
do
{
   ie = new SHDocVw.InternetExplorer();
string url = "yahoo.co.jp";
ie.Navigate(url, null, null, null, null);
ie.Visible = true;
while (ie.ReadyState != SHDocVw.tagREADYSTATE.READYSTATE_COMPLETE || ie.Busy)
{
Application.DoEvents();
}

//検索ワードを入力
mshtml_ec = ie.Document.getElementsByTagName("input");
foreach (mshtml.IHTMLElement i_ele in mshtml_ec)
{
if (i_ele.getAttribute("id") != null)
{
string chk_id = i_ele.getAttribute("id");
if (chk_id == "srchtxt")
{
i_ele.setAttribute("value", "まんこ汁");
break;
}
}
}

516 名前:コードA [2014/05/26(月) 11:04:09.70 ID:C5RAjArj]
//検索ボタンを押下
foreach (mshtml.IHTMLElement i_ele in mshtml_ec)
{
if (i_ele.getAttribute("value") != null)
{
string chk_value = i_ele.getAttribute("value");
if (chk_value == "検索")
{
i_ele.click();
while (ie.ReadyState != SHDocVw.tagREADYSTATE.READYSTATE_COMPLETE || ie.Busy)
{
Application.DoEvents();
}
break;
}
}
}
   ie.Quit();
}while(true);


全くもって原因が不明です。他の方の環境でも再現できる筈です。

517 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 11:12:10.53 ID:82lch4Bs]
それWindows95のときからある不具合だから諦めろ

518 名前:515 516 [2014/05/26(月) 11:15:12.13 ID:C5RAjArj]
>>517
まじっすか、、、どうしようもないですか?

519 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 11:49:20.08 ID:QBzBPwJ7]
DoEventsやってるってことはUIスレッド? なのに無限ループ?

520 名前:515 516 [2014/05/26(月) 14:40:56.05 ID:C5RAjArj]
>>519

>>515 >>516 のコードは
こーいうコードを書いて実行するとブラウザが次々と閉じずに
開き続けてしまう、という事を再現する為のコードです。

なので、ループ処理は気におして頂かなくとも結構です。

521 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 14:56:36.39 ID:9Q4aKYkp]
Marshal.ReleaseComObjectは試したのか低能



522 名前:デフォルトの名無しさん [2014/05/26(月) 16:33:04.93 ID:4133VdBN]
>>521
 
>>510 これでダメだからいってるのですが。

523 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 17:40:40.25 ID:va4aBdBW]
>>522
そもそもこのコードビルドできないんだけど...

ついでに苦言。
サービス精神なのかどうか知らないが"まんこ汁"とか止めてくれ。
2ch見てる奴が全員こういう幼稚なノリが好きとか思ってるのならそれ勘違いだと思うけど。

524 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 17:54:03.59 ID:bnFeY7rL]
死ななきゃ治らない馬鹿の相手をするより重要なことはないのか君は

525 名前:デフォルトの名無しさん [2014/05/26(月) 17:58:49.66 ID:4133VdBN]
>>523
検索ワードはプログラムには関係ありません。
ビルド通りますよ。

このコードで100%ブラウザが閉じない不具合を再現出来ます。
誰かこの不具合の対処方法を教えてください。

IEのプロセス削除は最終手段として考えています。

526 名前:デフォルトの名無しさん [2014/05/26(月) 17:59:37.67 ID:4133VdBN]
絵〇画像を自動でダウンロードするプログラムを速く完成させたいのでお願いします!!

527 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 18:12:48.06 ID:QBzBPwJ7]
とりあえず参照が面倒だったんでType.GetTypeFromProgIDとdynamicに差し替えたけど
無限ループだからそりゃいつまでもiexplore.exeは落ちないよね、としか

528 名前:デフォルトの名無しさん [2014/05/26(月) 18:32:59.37 ID:pvygPOwn]
>>527
ええと。あのコードを実行すると普通であればInternet Explorerは1つのみ
起動 > 閉じる を繰り返してプロセスは1つのみ
となる筈が永遠と増えて行くんです。


1つ起動していたブラウザが2・3・4・・・etc


これをしない様にしたいのです。

529 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 18:36:03.98 ID:QBzBPwJ7]
じゃあ再現しなかったわ

530 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 18:42:23.37 ID:82lch4Bs]
IEは問題だらけだから、ある程度抑えることはできても完全に防ぐことはできない。諦めるしかないってw

531 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 19:17:22.27 ID:dlApJPlM]
!=と||とどっちが優先度高いんだっけ?



532 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 19:46:47.58 ID:9Q4aKYkp]
GCとMarshal.ReleaseComObjectはなんの関係もないんだが
まあいいっかIDであぼーんするわ

533 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 19:49:17.32 ID:SINryHCe]
>>531
||のが高かったらif(a != b || c != d)がコンパイル通らん

534 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 20:22:20.31 ID:dlApJPlM]
||って思ったより優先順位低いんだな

>>533
var a = true; var b = true; var c = true; var d = true;
if (a != (b || c) != d)
{
Console.WriteLine("TRUE");
}
else
{
Console.WriteLine("FALSE");
}
if (a != b || c != d)
{
Console.WriteLine("TRUE");
}
else
{
Console.WriteLine("FALSE");
}
コンパイルは通りそうだぞ

535 名前:デフォルトの名無しさん [2014/05/26(月) 20:44:19.66 ID:mCxtmcL/]
>>529
絶対嘘

100%再現するから

536 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 20:50:34.29 ID:dlApJPlM]
>>535
非標準のコンポーネントの詳細も書いてないし
環境もバージョンも書かんと何言ってるんだか

537 名前:デフォルトの名無しさん [2014/05/26(月) 20:53:07.43 ID:mCxtmcL/]
>>536
ビルドが通らないとか参照の仕方もしらないの?

そこまで説明しないといけないのかなぁ。

538 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 21:15:50.73 ID:82lch4Bs]
>>535
IEのバージョン、セキュリティ設定、実際にDLされるHTML(yahooIDのログイン状態)、BHOインストール状況など
によって変わるのに、
どうして100%再現するって言い切れるんだよ。全環境()で試したのか?

539 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 21:50:44.66 ID:SINryHCe]
>>534
そりゃboolなら通るだろ…

540 名前:デフォルトの名無しさん [2014/05/26(月) 22:36:45.64 ID:UuEHX9kM]
ie.Quit()の問題は仕事でやってかなり詳細に知っているけど
質問者の態度が気に入らないので教えないことにする

541 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 22:52:06.10 ID:nOrYSY4c]
>>540
奇遇だな



542 名前:デフォルトの名無しさん [2014/05/26(月) 22:53:59.00 ID:4FQEHWVJ]
>>540
ふぅーん。口だけならだれだって言えるから。

543 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 07:24:30.04 ID:r/M42T4V]
そうだね(笑)

544 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 09:11:54.76 ID:IeZvrdJj]
うちでは再現率は100%ではなかった

545 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 09:47:08.95 ID:E81Kc0WH]
口の悪いやつになんでわざわざ答えなきゃならんのか、
って思うよな。
後からきた経験者が答える機会も潰して損しかしてない質問者

546 名前:デフォルトの名無しさん [2014/05/27(火) 11:29:39.78 ID:W5P1i6tp]
>>544
嘘付おつ

>>545
では解決方法があったらぜひともお教えください。

547 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 12:47:16.15 ID:0EhNzMtu]
あーあ、コミュニケーションで損するタイプだな…
そんな言われ方して回答を寄せてくれる人がいるんだろうか…

548 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 12:52:57.93 ID:Oftvh7Y1]
半年くらいしてからキャラ変えて出てきたら?

549 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 12:56:32.14 ID:cxeUEEZL]
そもそもなんで素直にWebBrowserコントロール使わないんだろうな

550 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 13:15:54.93 ID:eBlMd5xN]
それ使っても同じだよ。原因そこじゃないから

551 名前:デフォルトの名無しさん [2014/05/27(火) 17:02:57.30 ID:+tr3QBuS]
>>550
何か良い方法はありませんか?



552 名前:デフォルトの名無しさん [2014/05/27(火) 21:51:09.60 ID:mRwKuMKj]
WPFのUIが小奇麗なので、
ガントチャートを作ってみたいと思ったのですが、
D&Dでタスク管理の横棒?を伸縮させるには、
どのような方法が考えられるでしょうか?

553 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 22:00:55.29 ID:DD/vw00f]
ガントチャートなんかHTML5なら優秀なライブラリが沢山あるよ

554 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 22:06:37.31 ID:E81Kc0WH]
WPFのD&Dは基本自力実装
一応Thumbとかあるけど

555 名前:デフォルトの名無しさん [2014/05/27(火) 22:08:36.61 ID:mRwKuMKj]
>>553
会社のパソコンがIE8なので、
HTML5は諦めてます。

556 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 22:11:25.64 ID:E81Kc0WH]
ガントチャートなんて四角だけで表現できるからIE8なら余裕

557 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 22:20:29.92 ID:6er5Tx/3]
質問に答えられないなら黙っとけよ

558 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 22:34:41.94 ID:DD/vw00f]
答えるもクソも「そういう風に作る」としか答えようがないからな
Adornerでハンドル作るのが正攻法だけど、それはあくまでWPFの設計に則った方法ってだけで
低レベルな仕組みなのでやっぱり面倒だよ
WPFのフレームワークはあまり気にしないで使い方を限定してゴリゴリ自力実装しちゃうのが結局一番簡単

559 名前:デフォルトの名無しさん [2014/05/27(火) 23:31:39.53 ID:mRwKuMKj]
WPFはXMLで動きのあるアプリが作れそうなので、
D&Dに対応したガントチャートも簡単に作れると思ったのですが、
やはり難易度は高いのですね。

せっかくなので、精進したいと思います。

560 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 01:00:29.59 ID:8Whh6uVJ]
精通してから来てね

561 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 04:14:47.97 ID:SHrGmvrs]
ここは初心者用のスレです



562 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 04:54:12.51 ID:bnZ7463i]
WPFはオワコン。

563 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 15:02:28.64 ID:lHhqz9Ih]
pdfからテキストデータを抽出する方法を教えて下さい

564 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 15:13:22.62 ID:hTKClsRx]
昔、生データから検索するやつ作ったときはかなり大変だった気が。
ググったらこういうのあるんだな

PDFをテキストファイルに変換する
d.hatena.ne.jp/veveve/20100111/1263208458

565 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 15:15:48.07 ID:EmUl6u0+]
>>563
PDF作成と違って、非常に難易度が高い。俺は自力の画像認識以外で読んだことない
PDFの権限設定、PDFのレイアウト、PDFのバージョン、実際のPDFの複雑さなんかによって
どの方法で実現できてどの方法が効率いいのかが決まる

・自力でPDFファイルからてごりごり読む
・PDFを扱うライブラリから読み出す
・adobeのSDK使って読みだす
・変換できるソフトや開けるソフト、変換サービス使う
・adobe reader画面から直接コピペ
・OCRソフトなどを使って読む
・自力の画像認識で読む

566 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 18:12:42.05 ID:zVPVrg22]
popplerで無理なら費用対効果に見合わないから諦める
誰かが開発費払ってくれるならともかく

567 名前:デフォルトの名無しさん [2014/05/28(水) 20:27:28.04 ID:bRRFYvET]
C#で現在起動しているエクスプローラーを全て閉じるには
どういうコードをかけば良いでしょうか?


例えば、 
c:\hoge_1
c:\hoge_1\hage_1

c:\hoge_2
c:\hoge_2\hage2


と4つのエクスプローラーが起動しいてる場合に4つともプログラムで終了させたいです。

568 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 20:37:58.29 ID:CRVEx+G9]
EnumWindows APIでトップレベルウィンドウを列挙して
ウィンドウクラス名が"CabinetWClass"なウィンドウにWM_CLOSEを投げるとか
昔はExploreWClassなんてクラス名もあったようだが

別の方法: IShellWindows::FindWindowSWでSWC_EXPLORERなウィンドウを見つけて閉じまくる

569 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 20:44:40.52 ID:bnZ7463i]
またウイルスでも作ってるのか。
外からエクスプローラ閉じるとか悪意あるプログラムしか思いつかんわ。

570 名前:デフォルトの名無しさん [2014/05/28(水) 21:05:12.21 ID:bRRFYvET]
>>569
片山お前と一緒にすんなボケ

>>568
ありがとうございます。試してみます。

571 名前:デフォルトの名無しさん [2014/05/28(水) 22:08:52.10 ID:bRRFYvET]
>>568
ありがとうございます!やりたい事が出来ました!!



572 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 22:53:23.98 ID:Z+ReeR99]
C#でandroidアプリ作りたいんですけど
無料で作る方法はないですか?

573 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 23:01:25.73 ID:llUj2n/x]
Unity
もしくはASP.NET MVCでWebベース

574 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 23:18:59.39 ID:EmUl6u0+]
Xamarin使ってるけどC#で作るのはマゾいよ。ほぼすべてjavaと同じだけど資料が少ないから疲れる
ほかのプラットフォームとソース共有したいのでなければ素直にjava使った方がいい

575 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 23:33:11.15 ID:llUj2n/x]
Xamarinセコいんだよ
せめてUnityみたいなライセンス体系にすれば間違いなくスタンダードになれるのにな
OSS文化から生まれた組織は今やすっかりプロプライエタリに傾倒して見る影もない

576 名前:デフォルトの名無しさん [2014/05/28(水) 23:34:52.10 ID:9p7tg2Sa]
Xamarin for VSって無料じゃないの?

577 名前:デフォルトの名無しさん mailto:sage [2014/05/29(木) 00:46:01.42 ID:REuu9koM]
10万円ぐらいだっけ?

578 名前:デフォルトの名無しさん [2014/05/29(木) 06:27:28.72 ID:ZtWTRp16]
ID:C5RAjArj
ID:bRRFYvET

警察に通報しておこう。

579 名前:デフォルトの名無しさん mailto:sage [2014/05/29(木) 09:18:55.61 ID:iAYH6GXX]
エクスプローラの閉じ方を教えています、って通報すんの?

580 名前:デフォルトの名無しさん mailto:sage [2014/05/29(木) 10:49:48.16 ID:BtOWecue]
>>578
それは気づかなかったw

581 名前:デフォルトの名無しさん mailto:sage [2014/05/29(木) 10:52:58.62 ID:SN8diILy]
今回のは証拠隠滅のやりかた聞いてたのか



582 名前:デフォルトの名無しさん mailto:sage [2014/05/29(木) 11:42:50.85 ID:Mo2aVKPk]
ウィンドウ閉じたら消える証拠って……

583 名前:デフォルトの名無しさん mailto:sage [2014/05/29(木) 11:58:44.38 ID:BzM20fyM]
えろ画像フォルダってことか・・・

584 名前:デフォルトの名無しさん mailto:sage [2014/05/29(木) 14:05:48.90 ID:mvy8YiUU]
自分で試すと、閉じるのが面倒だから教えろってことでしょ

585 名前:510 [2014/05/29(木) 14:37:24.44 ID:wSZPgil+]
578 名前:デフォルトの名無しさん[] 投稿日:2014/05/29(木) 06:27:28.72 ID:ZtWTRp16
ID:C5RAjArj
ID:bRRFYvET

警察に通報しておこう。



↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
 
 やましい事は、一つもねーから警察別に来ても良いからさっさとやれwwwwwwwwwwwww

 お前が悪戯通報でぱくられるリスクの方が高いと思うぞwwwwwwwwwwwwwwwwwwwwwww

 早くやれwwwwwwwwww


↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

586 名前:デフォルトの名無しさん [2014/05/29(木) 14:52:44.67 ID:ZtWTRp16]
ID:C5RAjArj
ID:bRRFYvET 

こいつらマジヤバイと思う。安心してネットもできねーよ。

587 名前:デフォルトの名無しさん [2014/05/29(木) 14:55:07.02 ID:ZtWTRp16]
ID:ZtWTRp16 

こいつサイコパスだよ。こいつには何も教えるなよ。

588 名前:デフォルトの名無しさん mailto:sage [2014/05/29(木) 14:59:44.03 ID:BtOWecue]
おまえは基地外w

589 名前:デフォルトの名無しさん [2014/05/29(木) 15:19:01.07 ID:ZtWTRp16]
いやおまえがキヂカイだよ。一体どういう用途でアプリがシェルを殺す必要があるんだ?
そこまで言うなら ID:BtOWecue が教えればいいのに何で教えてあげないの?

低スキルの低脳初心者だから?w

590 名前:デフォルトの名無しさん mailto:sage [2014/05/29(木) 15:34:11.10 ID:Mo2aVKPk]
>>587
>>587
>>587
>>587

591 名前:デフォルトの名無しさん mailto:sage [2014/05/29(木) 16:12:39.02 ID:BtOWecue]
>>589
>>568-571って言ってんじゃん。つまり終わってるんだよ。頭も悪いな
しかもウインドウを閉じる処理であってシェル殺すんじゃないんだよ。どんだけ初心者?



592 名前:デフォルトの名無しさん [2014/05/29(木) 16:43:55.67 ID:wSZPgil+]
バカ同士仲よくしろよ

593 名前:デフォルトの名無しさん [2014/05/29(木) 16:44:50.80 ID:sB+QOSLF]
\           /     /. : : : : : : : :ヽ-‐.: :_;. --- .._: : : : : : : :\       \      /
_  争  も  _   /, -‐==ミ: : : : _,ィニ-‐……ー-: 、`ヽ、: : : : ヽ、      _   争   _
_  え  っ  _     . .:´: : : : : : : ≠:7: : : : : : : : : : : : :ヽ、 ヽ| : i : : :,     _    え   _
_   : . と   _   /.: : : : -‐: :7´: : /:,ハ : : : :ヽ : : : ゝ-- :\ | : :! : : : ,   _    :   _
_  :      _ /, -‐/.: : : : :i : : /ィ:爪: : :\ :\ : : :\: : :`ト : !: : : :′   _   :    _
             〃  /. : : : : : : |.:イ :ハ:| \: .、\: : xィ¬ト、: :| : : ! : : : : :,
/          \   /.: :/.: : : : /l : |/Гト、       / |_,ノ0:::ヽ : : :i : : : : :′ /        \
 /  |  |  \    | .:/.:/. : : :i: i : | |ノ0:::ト :::::::::::::   |: :∩::::::ト: : : !: : : : : : :,  / | | \
              ∨i: |: : : : |: :ヽ| |::∩::| ::::::::::::::::  !.::∪::::::| |: : :i : : : : : : ′            ,ィ /〉
                |: |: : i : :', : |  |::∪::| ::::::::::::::::  !: : : : : :||: : i : : : : : : : :,          / レ厶イ
                 ヽハ: : :、: :ヽ|  l : : : |:::::  ,  ::::└――┘ ! : : i : : : : : : : ′        /   ⊂ニ、
                い、: :\/   ̄ ̄                 ', : : i : : : : : : : : ,     _, -‐'    ⊂ニ,´
    r 、  _          ヽ: :〈        <  ̄ フ         |: : : ! : : : : : : : :′,.-‐T   _,. -‐'´ ̄
    くヾ; U|           | : \                   /| : : :i : : : : :_, -‐'    |  /
   r―'   ヽ、             | : : : \               イ: : :| : : :i_,. -‐       |/
    `つ _   ̄ ̄Τ`ー―-- L: : : : : `: : . . .  __    .:〔: : :|: : :r┬'              |

594 名前:デフォルトの名無しさん mailto:sage [2014/05/29(木) 17:07:47.60 ID:0wOQzE5z]
昼間から元気な奴ら…

595 名前:デフォルトの名無しさん mailto:sage [2014/05/29(木) 22:32:28.17 ID:fB/59IAE]
           ∧_∧
        ,-、<    >    さてと・・・
       <ヽと  屑 )    お札を乾かすニダ・・・
       `´ (__○_ノ

596 名前:デフォルトの名無しさん mailto:sage [2014/05/30(金) 01:10:51.26 ID:VMFeJkpe]
サイコパスだらけだな。

597 名前:デフォルトの名無しさん mailto:sage [2014/05/30(金) 05:05:43.41 ID:iU8Ve7Yv]
>>596
サイコパスは作られた概念‥






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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