X



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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2017/09/08(金) 18:12:11.06ID:Ej7G00WU
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

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

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

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

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part130
https://mevius.2ch.net/test/read.cgi/tech/1500327645/
■関連スレ
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/
2017/10/06(金) 10:41:08.98ID:R+OFu5Ep
>>791
>>792 も言ってるようにお祈りおまじないの部類。invoke無くても同じ。
UIスレッドで実行するためのcontrol.invokeとは別もん。
794788
垢版 |
2017/10/06(金) 11:33:07.23ID:/+rBbbka
>>790
ありがとうございます

https://ideone.com/76njZo

public FlowLayoutPanel flowLayoutBase = new FlowLayoutPanel();
とForm1外に持ち出して、ボタン生成用のクラスをFrom1の継承クラスにしてもボタン現れず
で、こういうことじゃないだろう…ということで色々やってみて

外部クラスからインスタンス参照というのを参考に
https://ideone.com/TFCiQp
こんな形のメソッドに纏めて、そこを外部クラスから参照しようとするも、どう参照するのか…
恐らく何か的はずれなことしてると思いますが、何が駄目なんでしょうか?

よろしくお願いします
2017/10/06(金) 11:38:08.44ID:Pjx+vQ2Q
>>791
?.演算子を使いたいから
デリゲートを呼ぶときは普通はInvokeは省略してaction()のように書くけど、
nullのとき何もしたくない場合にClick?.()みたいな書き方はできないから、仕方なくInvokeを明示的に書いてる
2017/10/06(金) 11:46:30.70ID:kruj0zmW
windows form 上にIPカメラ(AXIS製)の動画を表示したいです。
どうすればよいでしょうか?

OpenCVとか使うのが一般的なのでしょうか?
環境的に、社外ソフトをインストールし辛いので、確証を得てから試したいと思っています。

dllを配置するだけのmjpegprocessorとかは違うのかな?

調べる手がかりでも教えてもらえればありがたいです。
2017/10/06(金) 11:55:14.52ID:Z91Qg1J2
>>794
Flpset()がなんでForm1_Load()の中に?
目眩がしてきた。。。
2017/10/06(金) 12:22:26.38ID:/+rBbbka
単純なテストで使い方を学ぶ段階なので、FlowrayoutpanelをForm_Load()の中で作るのが自然だと思ったからですが…なにか変ですか?
Form1にあるFlowrayoutpanelに外部クラスからボタン設置する方法を色々試してるので…
Flpset呼ばないとパネル無い状態ですし…
Flowrayoutpanelに外部クラス(ButtonRayout)から使うためにFlpsetを作った感じです(色々的外れかもしれませんが)
まだ色々よく分かっていないので、頓珍漢なことになってるとは思いますがすみません
2017/10/06(金) 12:50:09.21ID:aLvKLfqn
>>798
Flpsetをパブリックメソッドにすれは良いだけでしょ。
2017/10/06(金) 13:01:49.27ID:/+rBbbka
>>798
public void Flpset()←だとpublicがこの項目に対して有効ではありませんと出てしまいます
2017/10/06(金) 13:06:55.40ID:aLvKLfqn
>>800
Form1_Loadから出さないと
2017/10/06(金) 13:22:30.01ID:/+rBbbka
>>801
ありがとうございます
Form1_Lordがタダのイベント(メソッド)だったというの、頭からすっかり飛んでました
今は時間無いので別クラスからControl配置は試せませんが、あとで色々やってみます
とりあえず、外に持ち出してpublicは適応できて、前と変わらぬ作動は出来ました
2017/10/06(金) 13:32:06.32ID:Sc8ZiJsi
>>802
ま、頑張って(^o^;
2017/10/06(金) 14:28:37.52ID:UQfFYJO/
ロケールが日本語環境のところで
指定された国コード(ISO)を指定された言語で表示させるには
どうしたらいいでしょうか。

string CountryName = GetCountryName("CN", "ko-kr");

という風に呼んだとき、中国という文字を韓国語で得たいのです。

public string GetCountryName(string CountryCode, string language)
{
  // この中
}

CNのRegionInfoを取得するところまでは出来たんですが、
DisplayName だと日本語で、NativeName だと中国語で、それぞれ取れるのですが
韓国語に変換させたいのです。

Windowsのロケール自体を韓国に変更すれば、DisplayNameで韓国語が取れましたが
それはやりたくないです。
2017/10/06(金) 14:57:21.64ID:BnWE0qO1
やったことないけど
Application.CurrentCultureか
Thread.CurrentThread.CurrentCultureを変えるのは?
2017/10/06(金) 15:35:24.88ID:vlZuL3bi
MSDNにはCurrentUICultureの方だって書いてあるね。
システムが持ってるリソースから拾ってくるんだろうからまあそうでしょう
2017/10/06(金) 15:48:05.44ID:Knp3qtDQ
実際にやるとできないけどね
2017/10/06(金) 16:12:02.05ID:+xC3oUH1
当たり前だけど韓国語とかの表示させる言語の言語パック入ってなかったらどうにもならない
2017/10/06(金) 17:25:14.70ID:UQfFYJO/
> CNのRegionInfoを取得するところまでは出来たんですが、
のところを補足します。

var CountryCode = "CN";
var CountryName = System.Globalization.CultureInfo.GetCultures(System.Globalization.CultureTypes.SpecificCultures)
  .Where(a => a.TwoLetterISOLanguageName.Equals(CountryCode, StringComparison.CurrentCultureIgnoreCase))
  .First().DisplayName;
return CountryName;

で、実行ロケールでの(日本語での)「中国」は取れました。
んで、どこへ "ko-kr" を挟み込めば良いのかが分かりません。

> Application.CurrentCultureか
> Thread.CurrentThread.CurrentCultureを変えるのは?

そーいう力技しかないのかなぁ・・・
2017/10/06(金) 17:29:35.35ID:8z2SuXdm
>>804
何で自分で表示するという選択肢がないんだ?
2017/10/06(金) 17:44:13.26ID:vlZuL3bi
>>809
その「力技」もやってみたけど確かに出来ないね
普通に自分でテーブル用意した方が早い気がする
2017/10/06(金) 18:04:12.31ID:T+Euxqip
MSにバグってんだよカス
って送ってみるとか?
813デフォルトの名無しさん
垢版 |
2017/10/06(金) 18:51:07.05ID:uoobo3tb
仕様がない
2017/10/06(金) 19:21:44.67ID:0wz1FkX0
>>794
入れ子にしたメソッドがエラーにならないのを初めて知ったw
使い道が思いつかないけどw
2017/10/06(金) 19:45:45.19ID:UQfFYJO/
>>810-811
元号もそうだけど、この手のはなるべくFrameworkに任せてしまいたいのです。
国が増えるたびにメンテなんてやりたくない・・・
(Frameworkが更新されるはずだから、それに依存したい)
2017/10/06(金) 19:47:26.00ID:XI0GFWBX
>>814
エラーになるでしょ
2017/10/06(金) 19:57:15.36ID:0wz1FkX0
>>816
VS2017でビルドまで通った
2017/10/06(金) 19:57:22.86ID:VLsCvj8e
>>816
ローカル関数知らないの?
2017/10/06(金) 19:59:49.34ID:vlZuL3bi
>>815
ない袖は振れないし仕方ないかと。
まあ普通に考えて想定された使い方と違うんだろうね

日付や数値のフォーマットはデフォでいろんな地域のが入ってるみたいだから
ついでに国名ぐらいサービスしてくれてもいいような気がしないでもないけど
2017/10/06(金) 20:00:42.81ID:xndJWDdr
その言語のOSならその言語で表示されるからそれでいいんじゃないの
2017/10/06(金) 20:06:57.34ID:XI0GFWBX
>>818
ごめん、知らんわ。
いつの間にpascal見たいな事ができる様に成ったんだ。
勉強不足でスマヌ。
Func、Actionで間に合ってた。死んでお詫びします。
2017/10/06(金) 22:13:51.00ID:1hhvTT+g
>>821
C# 7 (Visual studio 2017) からだから追っかけやってる奴じゃなきゃ知らないのも当然
2017/10/06(金) 23:08:48.64ID:386xmGqT
>>750
すいません、考えたのですが設計できません
データを管理するクラスを作り、UIが持っているUrlプロパティをFormが同期させるのはわかっていますが、タブの並び替えを実装しているので頭が混乱してしまいます
トップダウン設計で今までTabControl以下で持っていたTabPage変数と、TabPage以下で持っていたWebBrowser変数をFormに持ってきたのですがわけがわからなくなってしまいました
何をどこで持つべきなのかわからなくなってしまいパニックな状況です、設計ってかなり難しく感じています
2017/10/06(金) 23:10:09.47ID:386xmGqT
>>793
>>795
わかりました、今はおまじないとして覚えておくことにします
2017/10/07(土) 09:37:42.55ID:fKlRQVav
C#ってモダン言語に含まれますか?
2017/10/07(土) 10:12:23.35ID:hs9R8q6v
むしろfutureやで
2017/10/07(土) 10:24:35.11ID:34mGSqzO
C#はレガシーになりつつあるけど
拡張してなんとなく新しく見せてる

ここから新しく見せるのは無理かな
2017/10/07(土) 10:42:43.38ID:b4KK/o19
JavaとKotlinの関係のように新しい言語に乗り換えるべきだろうね
最近の歪な言語仕様拡張には辟易するよ
2017/10/07(土) 11:04:55.95ID:RmE+cs6m
プログラムに関係ない雑談は他でやれよ
2017/10/07(土) 11:46:02.70ID:ky0kCJyY
>>828
c#の移行先プリーズ
2017/10/07(土) 11:53:21.00ID:ajW7fEjK
LINQってSQLとは関係ないの?
2017/10/07(土) 12:06:27.83ID:ky0kCJyY
>>831
EntityFrameworkとLINQ to Entitiesでググってこい
LINQは単に、いろんなデータソース(DB、配列、リスト、xml)に対する処理を同じようにかける枠組み
2017/10/07(土) 12:37:22.67ID:/LXY59wR
>>831
LINQのクエリ式はSQLを参考にしてるとは思うけど
2017/10/07(土) 12:52:58.01ID:ky0kCJyY
>>833
まあ基本はメソッド式だけどね
2017/10/07(土) 15:36:39.34ID:+T+mCODn
>>830
F#
2017/10/07(土) 16:10:33.77ID:uSVuDn94
>F#
言語としては優秀なのかも知れないが
どうにも慣れない
2017/10/07(土) 20:05:34.57ID:MYJ1b1uW
君たち.netconf行ってないの?
2017/10/07(土) 20:18:52.89ID:XgJIfiWa
>>837
所用で…今YouTubeにあがってる動画見てる
2017/10/08(日) 19:11:25.29ID:fHcFBAaS
今現在使っているタブ型WebBrowserでTreeView使ってJaneみたいなブックマーク機能を取り入れたいんですが、
フォルダとファイルのツリー構造を実現するクラスが思い浮かびません、どのようなクラスを作ればよいでしょうか?
2017/10/08(日) 19:19:10.91ID:MyZuixT4
>>839
http://www.atmarkit.co.jp/fdotnet/dotnettips/260createtreeview/createtreeview.html
2017/10/08(日) 20:27:10.69ID:D0Vtmcpk
コントロールじゃなくてクラスじゃないの?
2017/10/08(日) 21:34:34.51ID:p32irLzq
乱数のとこわけワケワカメ。NextとかNextDoubleとか
2017/10/08(日) 21:36:14.51ID:fHcFBAaS
>>840
ありがとうございます、ブックマーク機能が一番骨折れそうですね
844デフォルトの名無しさん
垢版 |
2017/10/08(日) 22:34:55.91ID:jXMyRhU9
c#erの皆さんがこれだけは覚えていて損はないって言語なんですか?CとC++以外で
2017/10/08(日) 22:41:13.30ID:93IJP3PA
使えて損しないのはJavaScript
学んで損しないのはLisp
2017/10/08(日) 22:48:37.70ID:D0Vtmcpk
>>844
javascriptはクソだけど使う機会が多いので覚えたほうがいいと思う
しかも文法じゃなくてどういう風に使ってるかも含めて覚えたい

あとはpython
文字列など扱うとき便利
2017/10/08(日) 22:53:18.48ID:/QhTkQlJ
>クソだけど使う機会が多いので覚えたほうがいい
本当それなw
2017/10/08(日) 22:54:30.83ID:/QhTkQlJ
後はSQLを言語に含めて良いならSQL

個人的にはPowerShellもオススメしたい
2017/10/08(日) 22:55:30.47ID:26uLkZyR
>>848
ようやくサーバー系OSでデフォルトになったからな
2017/10/08(日) 22:56:59.48ID:FNqA9s92
つphp

掲示板ってどうやって作るんですかぁ?
って聞いてくる可愛い女の子に教えられる
851デフォルトの名無しさん
垢版 |
2017/10/08(日) 23:00:57.61ID:jXMyRhU9
皆さんありがとうございます
やっぱりweb系は覚えておいて損はないんですね
javascriptやphpはどうにも好きになれないんですが頑張ってみようかな。。
2017/10/08(日) 23:09:33.04ID:7EdoyHuq
>>851
個人的には>>846が近いけど
何をやるにせよ新しいバージョンに対応した教材を
853839
垢版 |
2017/10/08(日) 23:38:20.96ID:fHcFBAaS
TreeNodeで階層は分けれたのですがフォルダとURLの区別が付きません
お気に入りでURLとフォルダの区別をつけるようにするにはどうすればいいでしょうか?
2017/10/08(日) 23:43:44.07ID:LvJy3Cq4
>>853
Tagプロパティに何かしらのオブジェクトでも突っ込んどけ
2017/10/09(月) 07:40:56.77ID:Zzx1e3hO
>>845
おれもLisp/JavaScriptに同意
JavaScript名前が某クソ言語に似ているが面白い言語だと思う。
海外のGeekたちがその毒気に当たって色々なライブラリーが開発されて今に至る。
2017/10/09(月) 07:54:19.25ID:tvCeOLo3
需要は多いのにモジュールもろくに整備されないって変な言語だよな
Web系連中のいい加減さが現れた言語だ
2017/10/09(月) 08:01:34.71ID:pi4w3jwR
最近は状況が変わって来てるよ
とにかく古い環境で古い知識を勉強するとロクなことにならん
2017/10/09(月) 08:01:44.05ID:Zzx1e3hO
npm left-pad事件なんてわけわからんの起きるしなw
2017/10/09(月) 08:19:00.65ID:Zzx1e3hO
>>851
Webアプリの本質的な所を理解するのにはc言語でcgiやるもの面白いぞ。
2017/10/09(月) 08:59:21.14ID:UEIAYP2F
>>859
cgiレベルならCでもperlでもたいして違わない気がする
文字列操作が多い分Cでやってたら本質的でないところで面倒なだけだし
2017/10/09(月) 09:04:59.65ID:Zzx1e3hO
>>860
c言語だとWebライブラリもないし全て自前で勉強にはなるだろ。
c言語でWebアプリなんか作っても難行苦行でしかないから作らんけどね。
サイボウズはc言語で作られてるらしいね。
2017/10/09(月) 09:11:47.98ID:CsWYGxTc
べつに、perlでやってもライブラリ使わなきゃWebの勉強としては変わらんだろ。
2017/10/09(月) 10:13:02.85ID:Y2JfmrWo
C言語でやるメリットってあるのかな
サイボウズってそんなにCPU使うようなサービスだっけ
2017/10/09(月) 10:31:59.67ID:Zzx1e3hO
>>863
サイボウズは20年も前に開発されたものだからな。
当時はc言語のcgiなんて普通にあった。2chもそうだったし。
2017/10/09(月) 10:34:00.35ID:VHpEwq8w
「初心者の質問スレ」で「C#に関係ない話題はやめてください」
>>844みたいなのはマ板でやれよ。板の意図とも違う
2017/10/09(月) 10:43:38.01ID:t8KOjWoA
>>861
なんでいきなりWebライブラリの話が出てくるんだよ w
cgi って言ってるんだからhttpヘッダー+生のhtmlでやるって話だろ
2017/10/09(月) 10:49:23.90ID:EXlp17KP
>>866
スレ違い
それに生は危険
2017/10/09(月) 11:10:56.57ID:9hl0U6ca
プログラムの勉強にC#で簡単なアプリ作ってみたのだけど、配布する前に難読化した方がよいと聞いてConfuseEx試してみたらマルウェア判定されて即消されちゃうのだけど、どうしたら難読化したアプリを配布出来るのか教えて下さい
もしかして難読化する方が少数派なのでしょうか?
2017/10/09(月) 11:15:39.19ID:Vj0lVF94
>>868
難読化はITリテラシーの低い経営者を狙った詐欺
C#じゃ難読化しても技術保護にはならないし
そもそもリバースエンジニアリングされるほど高尚な物じゃないだろう?
本当に保護したい技術はサービスとして提供して物は一切公開しない
2017/10/09(月) 11:16:09.72ID:VHpEwq8w
>>868
何故難読化するのか理由がちゃんとあるのか?
隠さなければならないコードがない限り普通は難読化しない
2017/10/09(月) 11:24:51.27ID:EXlp17KP
難読化ってリフレクションには影響無いのか?
例外のスタックトレースまで難読化されるんだろ。
2017/10/09(月) 11:29:25.08ID:6DW9ok56
C#で難読化とか吹き込んだ奴に聞けよ
まともなコンサルなら耐タンパー性が必要ならまずC/C++で開発しろと言う
2017/10/09(月) 11:43:25.86ID:Zzx1e3hO
難読化ツールなんて誰も使ってないのが良く分かったw
2017/10/09(月) 11:46:23.37ID:xMCJlje6
偉そうにしょうもない解答する奴は馬鹿だから無視していいよw
2017/10/09(月) 11:48:44.68ID:T0povuKJ
難読化って言葉通り読み辛くしてるだけだからな
初心者じゃなければ解析できるんだからあまり意味がない
2017/10/09(月) 11:51:02.13ID:2VEzXzCr
難読化を重視するならUWPに移行すればいいのに
2017/10/09(月) 11:52:12.53ID:A2XN0/QV
フロー難読化もあるから初級者上級者関係ない
解析は根気があるかどうかが問題だよ
2017/10/09(月) 11:54:51.63ID:M//uOX8+
難読化の目的理解してないやつ大杉だろw
2017/10/09(月) 12:00:45.54ID:9hl0U6ca
やはり普通やらないような事なのですね
なんとなくですが理解しました!
アプリ内に書いてある文字列で別のアプリで暗号化したものを復号化してみるアプリだったのですが、文字列が丸見えらしく知り合いに聞いてみたら難読化してみたら?との事でした
要は文字列だけ隠したいのですが何かしら方法はあるものなのでしょうか?
2017/10/09(月) 12:02:01.69ID:3IBabimx
>>879
ググれ
2017/10/09(月) 12:04:20.36ID:VHpEwq8w
>>879
本来の意図が分からないが元のアプリ内の文字列を最初から暗号化したら済む
解析もできないようにしたいのだったら難読化だろうが何だろうが無理
手間がどれだけかかるかだけの違いしかない
2017/10/09(月) 12:08:39.18ID:3IBabimx
パスワード c# プログラム内
でググったら
ハッシュがどうのこうのってのは出てきた
使えるかな?
2017/10/09(月) 12:12:31.64ID:pMEz2IHg
俺が書いたコードは難読化しなくても誰にも理解出来ないよ。
2017/10/09(月) 12:35:35.80ID:M//uOX8+
>>879
それは難読化じゃなく暗号化
君もだけどその知り合いもしばいときな
2017/10/09(月) 12:45:14.62ID:c41RoAYB
ツールを使ってjsのコードを難読化し、ユーザーはツールを使ってそれを可読化する
人間って面白いね
2017/10/09(月) 12:45:28.90ID:Bjp73H7L
知り合いはともかく自分で自分をしばくのか
2017/10/09(月) 12:51:39.85ID:Zzx1e3hO
>>879
そもそも、復号キーをコードの中に埋め込んでいるのが間違いだろうけどね。
復号キーを暗号化しても復号アルゴリズムがコードの中にあったら無意味だよ。
2017/10/09(月) 12:54:13.72ID:T0povuKJ
>>887
そういう場合は秘密鍵をサーバーに、プログラムには公開鍵だけを持たせるやり方が簡単
ネットを介さない環境で使用するアプリとかなら仕様がわからんんがキーコンテナを使え
2017/10/09(月) 12:54:50.95ID:T0povuKJ
すまんレス番間違った >>879
2017/10/09(月) 13:21:52.47ID:9hl0U6ca
みなさまありがとう
アプリAで暗号化、アプリBで復号化、他者はBしか持っていないという状況を想定して、アプリB内の復号化に使う文字列をなるべく隠したくて質問させて頂きましたが難しそうですね

いろいろ素人なりに調べてみたけれどやはり秘密鍵をどうにかサーバーに置いておくのが良さそうに感じました
ただ適当なサーバーに適当に秘密鍵をアップしてもあまり意味なさそうなのでその辺りもよく考えないとダメそうですね…

ゆくゆく作りたいアプリのために始めてみましたが、ある程度解析しづらいらしいC++などで最初から考え直しても良いのかもしれません
アドバイスありがとうございました
2017/10/09(月) 13:49:55.29ID:KtpP5XlM
>>890
鍵を外部ファイルにすればいいだけだろ
なんでcでやるとかサーバー使うみたいなトンチンカンな方向に行ってしまうんだ
892デフォルトの名無しさん
垢版 |
2017/10/09(月) 14:00:57.24ID:qEhozSMZ
>>891
外部ファイルだと中身見れるから意味ないだろバカか
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況