ふらっと C#,C♯,C#(初心者用) Part129 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/06/09(金) 18:36:01.72ID:lNiKtgPwM

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

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

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

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part128
http://mevius.2ch.net/test/read.cgi/tech/1493730340/

■関連スレ
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1492843013/

■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
---
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2017/06/21(水) 08:19:11.27ID:aH+Y8UGh0
<<<C++>>>
}
0≦1.333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333*∞
E,TO,LA,1,35,8,15,2,0,
[EMO]-#0.*88871~
2017/06/21(水) 11:13:10.25ID:J81ElXfl0
>>312
Open XML SDKでExcelファイル作ったけど面倒だったので、次やるならClosedXMLかNPOIだな
お仕事だと俺社環の都合で前者はOKで後者がNGなのが辛い
320デフォルトの名無しさん (ワッチョイ 9e23-u+AO)
垢版 |
2017/06/21(水) 16:39:05.91ID:OqGMB+VY0
public class TestClass {
public enum PublicEnum { One, Two, } //列挙型
private int privateField; //フィールド
public int publicProperty { get { return privateField; } } //プロパティ
public TestClass(int val) { privateField = val; } //コンストラクタ
public string publicMethod(string str)
{ //メソッド
str = "publicMethodが呼び出されました。" + str;
return str;
}
public string publicMethod() { return publicMethod(""); }
}
class Program{
static void Main(string[] args){
Type typeTC = typeof(ConsoleApplication1.TestClass);
MemberInfo[] memberTC = typeTC.GetMembers(
BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly
);
foreach (MemberInfo m in memberTC) { Console.WriteLine("{0} - {1}", m.MemberType, m.Name); }
}
}
このmemberTCを、typeTC.GetMembers( BindingFlags.Public ); にすると、
NestedType - PublicEnum しか表示されません。
同じようにNonPublicとか他のメンバで試すと何も表示されなくなります。
何かやり方間違っていますか?
2017/06/21(水) 17:09:05.60ID:ggt7kMvk0
> Public または NonPublic と共に、Instance または Static を指定する必要があります。指定しない場合、メンバーが返されません。
322デフォルトの名無しさん (ワッチョイ 9e23-u+AO)
垢版 |
2017/06/21(水) 17:38:01.17ID:OqGMB+VY0
>>321
ありがとうございます。
2017/06/21(水) 17:57:52.96ID:1NTI9Fvt0
>>316
自分の実力ではちょっと敷居が高そうですが、Seleniumを使ってみようと思います。
Chromeの拡張機能を使いたいのは山々なのですが、動画のURLを再生ソフトに渡すために
外部プログラムを起動するにはかなり厄介そうなので諦めました。

>>317
やってみましたが無理でした。

レスしてくださった方々、ありがとうございました。
2017/06/21(水) 18:40:33.78ID:Os8YZW2iM
DOM書き換えはソース書き換えじゃないからな
ソース見れる場合は独自にDOMからソースを組み立ててるだけじゃないかな?
IEがそういう機能提供しているとは思えない
2017/06/21(水) 19:05:13.46ID:r7sO91Ct0
例えば整数の配列(リスト)
nums = {4,1,9,7,5,3,1,3,6,7,2,1,3,5,2,6,...}
というのがあって、
これを出現数をキーにしてグループ化するには

nums.GroupBy(x => x)
   .Select(x => new { count = x.Count(), number = x.First() })
   .GroupBy(x => x.count, x => x.number)

としたらできたんだけど、それぞれ各グループのソートもしたい
出現数順なら、単純に最後に OrderBy すりゃいいんだろうが
やりたいことはそれじゃない

説明くどいかもしれんが、表にすると

出現   数グループ
----------------------------------
1 回   {4, 9}
2 回   {5, 2, 6}
3 回   {7, 1, 3}
.      .
.      .
.      .
.      .

の表の右側の各配列をそれぞれソートしたい
まあ foreach 回せばいいんだろうが、後学のために
もっとスマートな方法があれば知りたいなと
2017/06/21(水) 19:16:08.30ID:lPZfHrAN0
>>325
もう少しルールを明快に。
エスパーやないからな
2017/06/21(水) 19:25:08.09ID:ggt7kMvk0
nums.OrderBy(x => x).以下同じ
2017/06/21(水) 19:25:57.93ID:r7sO91Ct0
>>326
期待してるのは、俺がよく知らないLinqのクエリ演算子
使って一発でって感じだけど
でも別に唯一無二の正解を聞きたいわけでもない
他の人はどうやるのか知りたいだけで
細かいルールとか気にしなくていいよ
2017/06/21(水) 19:32:40.57ID:r7sO91Ct0
>>327
やっと意味わかった
最初にソートしろと

若干不安が残るがそれで順序保証されれば
話が早いな
2017/06/21(水) 19:46:28.27ID:yKdKl6mza
そろそろ覚えたコードでなんか作ったら?
知識はあるけど知恵が足りてないように見える
プログラム言語研究会ってわけじゃないんでしょ?
2017/06/21(水) 19:54:32.19ID:zfxsbKsgM
フォームでタッチパネル対応アプリ作りたいんですが
マルチタッチのイベント拾うにはどうしたら良いでしょうか
2017/06/21(水) 20:18:20.99ID:ggt7kMvk0
WM_TOUCHメッセージを処理する
2017/06/21(水) 20:40:59.90ID:Os8YZW2iM
>>331
かなり前に拾った記事で内容見てないけど参考になれば
http://www.atmarkit.co.jp/ait/articles/1004/02/news095.html
2017/06/21(水) 20:43:10.04ID:Os8YZW2iM
もしかしたwinformsか
だったらごめん
2017/06/21(水) 21:42:23.91ID:qtkn68K70
Win8以降ならWM_POINTERやらDirect Manipulationやら色々増えてたりもする
2017/06/21(水) 21:47:34.78ID:UBLn/eRur
>>319
Open XML SDK でエクセルファイルとか罰ゲームかよww
2017/06/21(水) 22:16:20.08ID:aInzLc5fM
感覚が麻痺してるみたいだけど、Excelを吐く仕事の時点で十分罰ゲームだから
2017/06/21(水) 22:19:02.37ID:GsXKc/xSa
なんで?
データは二次利用してなんぼでしょ

Excelみたいな優秀なGUI備えたソフト自分でつくれんの?
2017/06/21(水) 22:22:24.06ID:FfOd2t570
>>338
なんでも叩ける俺スゲー君だから相手にしなくていいよ
2017/06/21(水) 22:28:15.84ID:tM48Am1R0
csvが一番簡単
Excelが必要なら仕方ないけど
2017/06/21(水) 22:36:10.58ID:T/o2O9AKM
Excel.Applicationを使わないと対処不能な要件が入ってくると冷や汗が出る
2017/06/21(水) 23:00:08.71ID:CHphHT4qa
Excel OnlineってAPI公開してないんだっけ?
2017/06/21(水) 23:00:32.24ID:OATVPpmDM
エクセルを使うとロクなことがない。
エクセルの自由度を狭めるという、
誰のためか分からんかことになるからだ
344デフォルトの名無しさん (ワッチョイ baea-IEdM)
垢版 |
2017/06/21(水) 23:46:15.23ID:SXybjlfe0
NPOIは結構バグあったな
自分も次やるならClosedXMLだな
ExcelCreatorは障害報告するとバージョンアップで直りますが多かった
要件によっては未だにPIAもあり
2017/06/22(木) 00:12:37.97ID:k91IRdXa0
>>336
セルの指定がR1C1使えずにA1限定とか本当面倒だった
2017/06/22(木) 00:36:01.62ID:Iw2C8Cwxa
PIAでオートメーションしかやったことなかったわ
ClosedXMLググってみるとなんかよさそうだねいいこと教えてもらった
まあ今のお仕事では使うことはないだろうけど
2017/06/22(木) 07:31:23.23ID:cUiyYbdHM
VSTO使えば?
2017/06/22(木) 07:38:34.20ID:s9kiMNGya
Excel入ってなくても使えるやつはどれ?
2017/06/22(木) 11:30:50.89ID:lcz/9Tid0
NPOIとかClosedXMLとか この辺は単純にファイルの中身読み取って書き換えるだけ
だからついでにEXCELでやるみたいに印刷してとか言われると困る
2017/06/22(木) 14:34:20.10ID:FkmL6sDC0
Excelだから再計算もやってよとか後で言われるとね・・・
2017/06/22(木) 15:33:33.55ID:vU8xR0ewa
いやそれはほとんどの場合正当な要求でしょう
計算式入れておけばいいんだから
2017/06/22(木) 19:08:26.93ID:n4zvfmL3M
>>351
>>319 は Excel 本体は使わないって話やで
計算式の処理までエミュレートすると言うなら応援だけはするけど
2017/06/22(木) 19:26:52.09ID:lD81v1Toa
>>352
何言ってるかよく分からんけど、ワークブックはエクセルで開く前提で作るんでしょ?

「再計算もやってよ」ってユーザーさんの要望の意味は、マニュアルであるセルの値を変更したら、
その系列の合計とか平均値とかが自動的に再計算されるようにしてって意味じゃないの?
2017/06/22(木) 20:13:34.35ID:yaPeNTze0
Officeがインストールされている環境ならNetOffice使えばOK
印刷もできるし互換性の問題も絶対に発生しない
COM開放なんかも何も考えずに使えるし楽勝

あとExcelだけじゃなくてWordやOutlookなんかも操作可能だぞ
2017/06/22(木) 20:24:21.48ID:7IUQweXrM
再計算させると開くのに時間かかるからあらかじめ計算した値を入れといてちょうだい
計算させてから保存するだけだから簡単でしょ?
2017/06/22(木) 21:17:17.14ID:fAGSkyHHM
>>354
それってサーバーで使える?
どういう仕組みなんだ
2017/06/22(木) 21:31:01.39ID:yaPeNTze0
>>356
内部的にCOM使ってるだけのラッパー
サーバーでも当然使えるけどExcelがインストールされてなきゃダメだよ
2017/06/22(木) 21:48:41.95ID:fAGSkyHHM
なんだCOMラッパーか
それじゃサーバーではまともに使えないな
2017/06/22(木) 22:35:12.42ID:VnYBxQVg0
>>357
> サーバーでも当然使えるけど
使えねーよ
サーバーだと大抵サービスで動かすからちょっと設定しないとダメだし保証対象外
2017/06/23(金) 12:07:18.94ID:ywmCXTPbM
ビットコインとかやりたいんですけど、apiとかの取扱いについて勉強するにお勧めのサイトか書籍教えてください。
2017/06/23(金) 19:49:23.99ID:XXCvXi0z0
C#関係あるの?
2017/06/23(金) 21:03:05.44ID:ywmCXTPbM
>>361
C#しか出来ないのであります!
2017/06/23(金) 21:11:06.17ID:iy5Tv8tFM
C#は優秀だからこだわりたい気持ちはわかるけど勿体無いな
エコシステムまで視野を広げると様々な言語を使えるようになった方が絶対に得する
364デフォルトの名無しさん (ワッチョイ ffa2-LvKX)
垢版 |
2017/06/23(金) 21:14:53.75ID:BInF8U/X0
証券会社が提供してるビットコインのWebAPIを呼び出すってこと?
2017/06/23(金) 21:27:13.17ID:Ob44rCMx0
>>336
慣れれば何とかなる






二度とゴメンだがな(´・ω・`)b
2017/06/23(金) 21:29:40.31ID:Ob44rCMx0
>>336
OpenXMLでWordよりは128倍マシ



まぁ、今度はClosedXML にすると思うけど(´・ω・`)b
2017/06/23(金) 21:34:42.44ID:phaIeuJh0
キー入力をエミュレートする方法教えてください
string a = e.KeyCode.ToString();
a="{"+a+"}";
sendkeys.send(a);

だいたいこういう流れでやってるんですがCTRL SHIFTができません
装飾キーは+ ^をつければいけるのですが単独で送る方法がわかりません
あと数字キーは D1, nampad 1となるのでできません
2017/06/23(金) 21:51:49.36ID:ywmCXTPbM
>>364
その通りでやんす!
2017/06/23(金) 22:21:19.99ID:dFPAo6Gr0
>>368
どこの取引所だよ
2017/06/23(金) 22:24:34.94ID:iy5Tv8tFM
>>368
普通は仕様を公開してるだろ
HttpClientでその通りにリクエスト送るだけ
2017/06/23(金) 23:01:44.40ID:dhhFjplC0
>>369
zaifかビットフライヤーです!
どちらでもいいですが、自分で接続できるようになりたいです。

>>370
見てもわからないでやんす!
2017/06/23(金) 23:17:16.17ID:5OtS9lsXa
>>371
自分で理解できないものでビットコインを取引するつもりなのか
こわー
2017/06/23(金) 23:36:32.24ID:z4RfANnO0
>>371
UWSCなんかでブラウザぽちぽち
2017/06/23(金) 23:40:33.17ID:dhhFjplC0
>>372
だから、理解しようとしてるんじゃないですか。そんな風に馬鹿にするなら情報をくださいよ

>>373
UWSCを使ったら負けかなと思っている
2017/06/24(土) 00:43:54.09ID:C5Is/eVh0
ああ、話が理解できなかったけど、取引エージェントを作りたいってことなのかなぁ。
情報は知らないから出せないけど。
2017/06/24(土) 00:45:14.26ID:C5Is/eVh0
Bitcoin bitflyer api C#とか、Bitcoin zaif api C#で検索すると、日本語の例も結構出てくるけど。
2017/06/24(土) 02:41:47.32ID:01B0kJ2m0
>>370いやどこの取引所でするつもりかって聞いたつもり。?が抜けてたスマン
2017/06/24(土) 02:56:07.29ID:01B0kJ2m0
>>371
ザイフもビットフライヤーもC#一から勉強して出来たぞ。
API取得はコピーして自分のkeyだけ差し替えたらできるやろ
あとはJSONのパースを検索して調べたらできる。

bitflyerブログ
https://github.com/kobake/BitflyerBotSample

nuget
https://www.nuget.org/packages/BitflyerApi

zaifブログ
https://kokenji.net/zaif-api/

teratail
https://teratail.com/questions/35250
2017/06/24(土) 03:21:20.19ID:C5Is/eVh0
さすがに取引所間の裁定とかはできない気がするんだけどどうなんだろう。
プライシングがちがうってことってあるの?
2017/06/24(土) 03:47:58.71ID:01B0kJ2m0
各取引所のサイトでの取引はほとんどクソ仕様なんで取引エージェント作って売ったら馬鹿売れすると思うで
2017/06/24(土) 13:49:48.00ID:YeyV1G7q0
>>366
日本Microsoftが担当した時点で終わったんだろ
2017/06/24(土) 13:58:53.67ID:jPQQGq+CM
あーそういうことか
2017/06/24(土) 15:00:47.22ID:BE1Jjbm80
>>381
そうなの?知らなんだ

無駄な帳票文化だからな、日本は
2017/06/25(日) 02:15:51.98ID:u51yDIuc0
自己解決しました。
webkit phantomjs Seleniumなどを試して納得できることができなかったため、
もう一度調べてやってみたところ

IHTMLDocument2 HTMLDocument = webBrowser1.Document.DomDocument as IHTMLDocument2;
string content = webBrowser1.Document.Body.OuterHtml;

こうすることでcontentの中に意図するものを入れることが出来ました。
2017/06/25(日) 18:03:00.35ID:sNamIhLK0
非同期でフォームをフリーズ?させずにコントロールをいじることはできないのでしょうか?
Invokeを使ってもつまるところ一緒だと思うのですが、何か方法はありませんでしょうか。

例えるとタスクマネージャのような感じです。
あとは、ListViewにアイテムを追加する・・・のような。
2017/06/25(日) 18:09:40.15ID:ACHxio2k0
マルチは死ね
2017/06/25(日) 18:14:20.16ID:sNamIhLK0
申し訳ない
2017/06/25(日) 18:25:53.50ID:33UYMysJ0
>>387
コレを期に、wpfやuwpなどに移行してみたらどうかね?
2017/06/25(日) 18:36:45.98ID:eWIvMMTn0
お前には理解できないと「思う」
2017/06/25(日) 19:49:11.11ID:P/IvIpB1d
何事も始まりがある

プロジェクト3〜4実験的に試してみれば
2017/06/25(日) 19:52:15.35ID:E0iH5IGPa
別アプリにしたらどうだろう?
2017/06/25(日) 20:56:21.54ID:yN128eA50
複数の人とスカイプでやりとりをしています。
そのうち、特定の人との送受信を行ったファイルを一度に取得するプログラムを組んでます。

ただ、スカイプの仕様で添付ファイルの保存パスは一律同じです。
何か良い方法はありませんか?
2017/06/25(日) 21:05:25.12ID:uMirXT24M
何を言ってるかわからないです
仕様書を提出してください
2017/06/25(日) 21:09:02.52ID:E0iH5IGPa
ファイル日時とファイル名ぐらいしか判別方法ないんか?
2017/06/25(日) 21:30:38.11ID:yN128eA50
>>393
スカイプで
私と、一郎、二郎、三郎の3人とメッセージのやりとりをしているとします。
写真・動画・PDFなどのファイルをそれぞれとやりとりしています。

二郎とのスレッドの中でやりとりをしていた
ファイルは大切な内容を含むのでまるごと保存したいと思いました。

ただ、やりとりをして長い為、とても手動では全部を保存する事が出来ません。
そこでプログラムを組んで一発で自動で保存してやろう!

と思った次第です。

保存したいのはあくまで二郎だけであって、一郎・三郎と送受信したファイルは保存したくありません

課題:Skypeでは全員のファイルの保存先が同じパスになっている、
という事です。

こんな場合にはどの様にすればよいの?エスパープログラマさん助けてください!
2017/06/25(日) 21:40:14.88ID:TFKG+xLIa
それはプログラマーの技量云々の問題じゃなくてskypeの仕様上どうしようもないんじゃ

同時に複数とやり取りしてなきゃファイルの作成日時で分別可能だが、正確な方法はないだろ
2017/06/25(日) 21:41:58.14ID:E0iH5IGPa
ファイル名がある履歴を解析できればなんとかなんのか?
取得できなきゃ無理だな
2017/06/25(日) 21:56:53.75ID:yN128eA50
>>396 >>397
Windows APIを使えば実装できると思ってますが
どうでしょう?
2017/06/25(日) 22:01:42.72ID:ACHxio2k0
>>398
WindowsAPI云々じゃなくて
「skypeの仕様上」それはできないと言っているんだけど理解できないの?
2017/06/25(日) 22:04:14.95ID:mrQK8XKT0
思い込みに付ける薬はない
死ぬまで思い込んだままだ
2017/06/25(日) 22:06:15.89ID:9hy+MEN/a
ファイルのダウンロード履歴のテキストがあって解析できるならあるいわって感じだな
skypeビジュアル的に読み取ってOCRっていうとプロの仕事だな
2017/06/25(日) 22:07:58.92ID:TFKG+xLIa
>>398
なにか具体的な方策があるならいいけど?
windowsAPIっていってもごまんとあるわけでどのことか分からんが
俺にはよい方法は思い付かない
2017/06/25(日) 22:27:46.47ID:uMirXT24M
通信ログが残ってるなら楽勝だよ
2017/06/25(日) 23:01:05.48ID:x/CHo8JV0
>>395
つ DOKAN
2017/06/26(月) 03:06:43.27ID:6QaOoL2B0
Windows API で人の操作をエミュレーション


ユーザを選択 → スレッドを開く → 画面を上にスクロール → 画像を見つける → 右クリック → 所定フォルダ(ユーザ名)で保存


で実現できそう。
2017/06/26(月) 08:08:23.03ID:Yj80E/il0
>私と、一郎、二郎、三郎の3人とメッセージのやりとりをしているとします。
4人じゃね?
2017/06/26(月) 08:54:53.15ID:PKYMbkgl0
3人と犬です
2017/06/26(月) 12:23:55.41ID:bj54op8+H
私の名前は一郎です
2017/06/26(月) 15:41:10.67ID:CxA8zKJy0
Skype何年も使ってないから仕様は覚えてないが、チャットログがあれば
受信したファイル名の横にファイルを開くとかファイルを保存とかあるんじゃねえの?
あるいは、拡張子が表示されてたように思う
ログから、拡張子がついている部分(ファイル名+拡張子)だけを抜き出してListにでもいれて、
ファイルががあるフォルダを順次検索していけば抜き出せるんじゃね?
一時保管されてるファイル名と、送られてきたファイル名が違うなら、受信日時で大まかに振り分けるしか無いだろうが
2017/06/26(月) 18:41:23.82ID:6QaOoL2B0
>>409
試してみるわ。サンクス

>>406
あほ。
2017/06/26(月) 19:10:18.82ID:Bg26KhHa0
妙に原始的な話が続くのが謎だけど、WindowsならAppDataにSQLiteファイルがあるでしょ?
古いのはmain.dbのTransfersテーブル、最近のVerはmedia_messaging\storage_dbの方に情報あったような気がするが
2017/06/26(月) 19:11:19.86ID:ErfyIPbgM
>>406
> 「一郎、二郎、三郎」の3人
だれも全員の人数なんて尋ねてないだろ
真面目に国語の勉強からやり直した方がいいぞ
せめて新聞でも買って毎日読め
2017/06/26(月) 19:13:28.37ID:KfNLI9D8M
>>412
いや、4人だろ。要件は大事よ
2017/06/26(月) 19:17:22.09ID:H4Gyz9lD0
短絡的に考えると私、一郎、二郎、三郎の4人になるが常識的に考えると「私」は自分自身のことになるので普通は除外する
4人と言っているのは相当日本語が不自由か頭が固すぎるかのどちらか
2017/06/26(月) 19:42:00.73ID:ErfyIPbgM
>>413
> スカイプで

> 私と、
> 一郎、二郎、三郎の3人「が」

> メッセージのやりとりをしているとします。

なら間違えようがないんだが

> 私と、
> 一郎、二郎、三郎の3人「と」

と書いてるから

> (どこかの誰かが)
> 私と、
> 一郎、二郎、三郎の3人「と」

と解釈する余地を残してしまった
それでもその下の文章を読めば私と三人のやり取りだと言うことはわかるはず
2017/06/26(月) 20:33:39.89ID:cvPm/Ubp0
どうでもいいんだよ金玉野郎
2017/06/26(月) 20:36:36.50ID:aKsAxtR4a
内山田洋とクールファイブは合計6人だったな
どうでもいいけど
■ このスレッドは過去ログ倉庫に格納されています