X



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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2018/12/15(土) 10:46:07.45ID:Wu4Fx0bU
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
0132デフォルトの名無しさん
垢版 |
2019/04/07(日) 04:01:48.39ID:mKsxK2JJ
>>125-126
Ruby, Nokogiri, Selenium WebDriver では、

doc = Nokogiri::HTML( driver.page_source )

element = doc.at_css '[id="id_koregahosii"] > li'
puts element.text
#=> このliを取得した

CSS Selector では、[id="id_koregahosii"] > li。
id 属性が"id_koregahosii" である要素の、直下のli 要素。
> は直下を表す

doc.at_css は、最初に見つかった、1つの要素で、
doc.css なら、配列(複数要素)が返ってくるように使い分けるので、要注意!

jQuery では、0・1つの要素の場合でも、常に配列が返るので、間違える事がない!

最初に、jQuery などで、CSS Selector を学ぶ必要がある。
それよりも複雑な指定は、XPath を使う
0136デフォルトの名無しさん
垢版 |
2019/04/07(日) 11:45:12.82ID:vK2HJm7v
>>135
bool?型と言ってるのになぜbool型にするの?
(bool)のとこを(bool?)って直すだけだぞ
null許容型は、要するに(bool?の場合は)true,false以外にnullも含む(許容する)型
0137デフォルトの名無しさん
垢版 |
2019/04/07(日) 12:25:53.88ID:hRJe8zJK
using System.Numericsとしているのに
Complex a = 123;とだけ書くと何故か赤い波線が付いてエラーになります
System.Numerics.Complex a = 123;とするとエラーは出ないのですが、省略できないのが気に食わない
0138デフォルトの名無しさん
垢版 |
2019/04/07(日) 12:35:01.18ID:PRyiq+oO
>>137
VisualStudioのバージョンは?
後、赤線のエラーは何て書いてある?
VS2017だけど、省略してもエラー出ないよ
0140デフォルトの名無しさん
垢版 |
2019/04/07(日) 13:03:15.10ID:hRJe8zJK
バージョンは2017です
System.NotImplementえdException: 'メソッドまたは操作は実装されていません。'というエラーも出ます
0142デフォルトの名無しさん
垢版 |
2019/04/07(日) 13:30:29.80ID:hRJe8zJK
全部削除して書き直したら治りました
何度も確認したのでタイプミス等ではないはずですが、何が原因だったのか
お騒がせしました
0143デフォルトの名無しさん
垢版 |
2019/04/07(日) 14:10:37.33ID:/8+Cw91p
>>130
var o = (bool?)true;
bar b = (bool)o;
これは実行時もエラーは発生しないし、

var o = (bool?)null;
bar b = (bool)o;
これで発生する例外はNullReferenceExceptionみたいだから、たぶん指摘されてるのと別の原因なんだろうなあ。
知らんけど。
0144デフォルトの名無しさん
垢版 |
2019/04/07(日) 14:24:18.31ID:/8+Cw91p
あー間違えた
var o = (bool?)true;
じゃなくて
object o = (bool?)true;
だね。結論は変わらない
0145デフォルトの名無しさん
垢版 |
2019/04/07(日) 16:58:28.24ID:aTlDD0vY
>>143
何言いたいのかよくわからないけど>>130に対する回答は>>131であってるよ
DataGridViewのCellの初期値がnullなのが原因なだけだから
null許容型のキャストするか行を作った段階で値を代入するかのどちらかになる
0146デフォルトの名無しさん
垢版 |
2019/04/07(日) 17:21:54.02ID:kimAJSSB
>>145
分かってよ。
nullをboolにキャストしようとした時発生する例外はNullReferenceExceptionであって
InvalidCasExceptionではないはずだ
0147デフォルトの名無しさん
垢版 |
2019/04/07(日) 17:31:51.66ID:vK2HJm7v
>>130
失礼。
発生した例外がNullReferenceExceptionではないから、
bool?にキャストすべき所がboolになってるバグの他にもバグがある。

例外はInvalidCasExceptionだから、
DataGridViewの列の定義が間違っていてdgv_test[1, i_row]がDataGridViewCheckBoxCellになっていないか、
初期化時にdgv_test[1, i_row].Valueにbool以外の値を代入していると思われる。
0149デフォルトの名無しさん
垢版 |
2019/04/08(月) 13:25:57.00ID:mdLXKZZ1
ほんそれ
0150デフォルトの名無しさん
垢版 |
2019/04/08(月) 15:30:44.33ID:G4htz/so
Windowsフォームでコントロールのプロパティの
EnableをFalseにすると「若干」色が薄くなるようですが
もっとはっきり薄くできないですかね?
完全に消えるとまずいんだけど
はっきり「今これは使えません」って意思表示したいんだけど
いい方法無ですかね?
0151デフォルトの名無しさん
垢版 |
2019/04/08(月) 20:13:53.30ID:DkSPe/Rf
>>150
フォーム全体で対応させるのはわからない
コントロール一つならEnabledChangedのイベントで
コントロールに初めから組み込みたいのなら
https://dobon.net/vb/dotnet/control/tbenabledfalse.html
の「自分で描画する」を参考に。やっていることは真逆だけど色を変えればいいだけ
ボタンやラベルなら使用不可を示すのに色だけでなくフォントの打ち消し線の有無で実装したことならある
0152デフォルトの名無しさん
垢版 |
2019/04/09(火) 00:07:36.04ID:pirXsPL0
Window上にOpacity薄くしたパネルを全面表示すればいいんじゃないか
0154デフォルトの名無しさん
垢版 |
2019/04/09(火) 01:05:33.44ID:HBj7RtDK
Checkboxの質問をしたものです。
初期化時にFalseを設定してやったらエラーが出なくなりました。
0158デフォルトの名無しさん
垢版 |
2019/04/11(木) 09:42:03.59ID:hzw6xvpZ
ちょっと何言ってるかわかんないです raw型って何
何か読んで疑問に思ったんだったら記述示すなりリンク張るなりして
0159デフォルトの名無しさん
垢版 |
2019/04/11(木) 21:19:05.19ID:3mGpDoO0
C#で多倍長浮動小数点数演算は出来ますか
多倍長整数を使ってどうにかするしかないんでしょうか
0162デフォルトの名無しさん
垢版 |
2019/04/12(金) 18:12:54.78ID:f0sWKcEF
今後、開発作業が増えてEXEのファイルサイズが大きくなっていく事が想定される場合
プロジェクト分けた方がええかな?


インストール型じゃなくてWEBシステムとして作ろうか悩み中
0163デフォルトの名無しさん
垢版 |
2019/04/12(金) 19:16:33.34ID:wX1hkUx5
「拡張メソッドはトップレベルの静的クラスでしか宣言できない」ということは、
public class Cの内部にprivate enum Eを置いたとき、Eに対して拡張メソッドを追加することは不可能なのでしょうか
いくつかの定数(とメソッド)を持った構造体で代用するしかないですかね
0165デフォルトの名無しさん
垢版 |
2019/04/12(金) 19:59:08.90ID:LhXUTlO1
>>162
どうでもいい
開発規模ウン億円とかにならない限り、人間が書いたコードの実行ファイルのサイズなんて全く問題にならない
それはともかく、Webを選べるのなら迷わずWebにすべき
exe配ると後々のメンテは地獄よ
0166デフォルトの名無しさん
垢版 |
2019/04/12(金) 20:16:15.81ID:f0sWKcEF
>>165
なるほどですね。
どうしてもWEBだと厳しいシステムなんですよね。
(サーバのIPアドレスが固定だとまずい)

cliclonceというのを使えばバージョンアップとか簡単ですか?
0172デフォルトの名無しさん
垢版 |
2019/04/12(金) 21:44:20.43ID:SPCc1qER
>>163
仮にenumを入れ子にする点は譲れないとしても(この点も本当は再考した方がいいと個人的には思うけど)
アクセシビティーをpublicにすることは検討していいんじゃないの?

隠蔽したい気持ちは分からんでもないが、少なくともpublicにしたからって何か危険があるわけじゃない。
0173デフォルトの名無しさん
垢版 |
2019/04/12(金) 22:21:07.52ID:wX1hkUx5
>>172
よく考えたらenumを入れ子で隠す設計をc#は想定してないってことですもんね
大人しく外に出します、ありがとうございました
0174デフォルトの名無しさん
垢版 |
2019/04/13(土) 00:18:29.71ID:BMo5W632
DataGridViewに詳しい人は教えてください。

DataGridViewの列にチェックボックスの列を設けています。
□がクリックされた時だけではなく、□の属するセル(の予約)が
クリックされても□にチェックが入る様に制御したいのですが
どうすればよいのでしょうか?

何かプロパティで設定するのですか?
0175デフォルトの名無しさん
垢版 |
2019/04/13(土) 14:39:03.85ID:n7lKOQoj
>>174
CheckBoxのセルのクリックで切り替えたいのなら
例えばCellをReadOnlyにしてCellClickイベントで値を切り替えればできる
0176デフォルトの名無しさん
垢版 |
2019/04/13(土) 15:19:56.97ID:BMo5W632
>>175
なるほど!
そーいう方法しかないんですね。

てっきり標準で設定出来るプロパティがあるのかと思ってました。
0178デフォルトの名無しさん
垢版 |
2019/04/13(土) 16:32:46.29ID:BMo5W632
>>177
サンクス!



セレニウムにチャレンジしています。
VSで作成した場合
インストール環境にNugetが入っていないとうごかないのでしょうか?
0182デフォルトの名無しさん
垢版 |
2019/04/14(日) 21:03:37.66ID:NnSXGzN0
スクレイピングをこれまでIEを操作して行ってきていましたが

セレニウムを使う方がナウいのでしょうか?

コンソール画面が立ち上がって結構うざいんですが
0184デフォルトの名無しさん
垢版 |
2019/04/15(月) 09:11:14.20ID:M/FIhTOp
>>183
コンソールを消す事はできました。

ただ、問題がありまして
Cromeを使ってログインしないと見えないサイトの中のとあるページを
スクレイピングしようと思っていますが、一度ログインしたのに
もう一度プログラムを実行すると再び画像認証付きのログインページが表示されてしまいます。

Chromeのセレニウムでログインした場合、
ログインセッションは、プログラムを終了すると自動でとじられるのでしょうか?
0185デフォルトの名無しさん
垢版 |
2019/04/16(火) 02:41:38.00ID:39QxJxCa
セレニウムで画像選択は同実装すればよいのでしょうか?

Windwos APIを使わないと、ダメでしょうか?
0188デフォルトの名無しさん
垢版 |
2019/04/16(火) 09:47:51.95ID:39QxJxCa
スクレイピングはできる様になりました。

ドラッグするか、その枠をクリックしてファイルを選択するしか
画像の選択が出来ません。
セレニウムでドラッグやファイルの選択はできないですか?
0191デフォルトの名無しさん
垢版 |
2019/04/16(火) 15:21:38.40ID:+QEcotOy
スクレイピング(が何かわかって無いけど)はできる様に(なった気持ちに)なりました。
0193デフォルトの名無しさん
垢版 |
2019/05/04(土) 14:25:52.45ID:6mDmKshX
select ユーザーコード, ユーザー名 from tbl_user group by ユーザーコード, ユーザー名 order by ユーザーコード

上記のクエリを、Visual Studio 2019の、クエリの構成ウィザードで実行すると成功するのですが、
構成ウィザードで作成したGetData()メソッドをソースコードから呼び出すと、
"System.Data.ConstraintException: 制約を有効にできませんでした。行に入力できるのは、Null 以外の値、一意な値、あるいは外部キーですが、この制約の違反が 1 つ以上の行で発生しています。"という例外が発生します。
何が原因でしょうか?
0194デフォルトの名無しさん
垢版 |
2019/05/04(土) 18:47:33.92ID:y5JKLm4r
ありがちなのは
その型付テーブルにユーザーコード・ユーザー名以外の列があって
それがNULL非許容であるケース
そろそろ型付テーブルは捨ててみるのはどうだろう
0195デフォルトの名無しさん
垢版 |
2019/05/04(土) 23:59:05.71ID:6mDmKshX
>>194
ありがとうございます。
捨てるというか、今データベースプログラミング覚え始めなのです・・・。
0200デフォルトの名無しさん
垢版 |
2019/06/03(月) 19:12:08.43ID:QH6vVdx1
C#の勉強のためにメモ帳を作ろうと計画していますが
フォームにTextBoxを貼り付けるだけではあまり面白くありません
また禁則処理や縦書きの機能もついていません
なにか他のもの、WebBrowserあたりを使うのかな?と想像しているのですが
0202デフォルトの名無しさん
垢版 |
2019/06/03(月) 19:45:12.89ID:QH6vVdx1
WPFだとImageを使うんでしょうか
ImageもしくはPicutureBoxを使う方向でやってみます
0206デフォルトの名無しさん
垢版 |
2019/07/22(月) 23:30:46.11ID:C1JMmcNL
>>200
メモ帳意外と難しいよね
オレも初めの頃作ろうとして挫折した(あわよくばテキストエディタ目指そうとしてたのもあって)

勉強のためだけだとモチベ上がらないので、世の中にあるけど、俺様仕様なのが欲しいってのを作ってみてはどうかな(なるべく簡単なものから)
0207デフォルトの名無しさん
垢版 |
2019/07/26(金) 17:45:13.82ID:BgugETZT
A・B・C・E・Dという5つの項目があって、
例えば、Aが10で、Bが10で、Cが15で、Dが20で、Eが30の時、3という数字を格納したくて、
今までは多次元配列で、num[10,10,15,20,30]=3という風に入れてたのだけど
これだと配列の宣言時に添え字大きいとメモリ足りないエラー出たりするのだけど
多次元配列以外でこういう処理するほうほうはないでしょうか
0212デフォルトの名無しさん
垢版 |
2019/07/28(日) 01:55:31.74ID:fFZFtxU0
C#でメッセージボックスそっくりのフォームを表示したいのですが、
既にそういうことやって公開してるサイトとかあったら教えてください。
とりあえず警告とかのアイコンとメッセージとOKボタンが出ればOKです。
0214デフォルトの名無しさん
垢版 |
2019/07/28(日) 02:05:47.36ID:O6J4gSKO
マルウェア造りたいんだろうきっと
0216デフォルトの名無しさん
垢版 |
2019/07/28(日) 11:11:36.04ID:4n+BfbRN
英語OSで日本語表示

マルウェア臭しかしない
出来たとしてもやめたほうがいいw
0217デフォルトの名無しさん
垢版 |
2019/07/28(日) 11:52:47.97ID:KNp0wpVr
手元に英語版Windowsがないから確認できんけど、
Win9xの時代じゃないんだから英語版Windowsだからって日本語のメッセージが化けるとかないはずだと記憶してるけど

違ったっけ?
0218デフォルトの名無しさん
垢版 |
2019/07/28(日) 12:03:09.31ID:mCptNPRe
違う
バグはいくらでも造り込める
0219デフォルトの名無しさん
垢版 |
2019/07/28(日) 12:15:34.70ID:fFZFtxU0
>>217
MessageBoxクラスはロケールのシステムフォントで表示されるので化け化けです
逆にこのクラスのフォントを変えられればそっちでも良いんですがぐぐっても全く出てこず・・
0221デフォルトの名無しさん
垢版 |
2019/07/28(日) 12:41:08.89ID:pP5stkUp
>>217
Fontの指定できるのならそうだろうな
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/2f45e7d7-f4ba-47ee-a8e0-5b99255e69f7/12513124831247512540124721250812483124631247312398125131248312?forum=csharpgeneralja
ここの結論では>>215と同じ
>>215
ダイアログ用のフォームを作って「OK」と「Cancel」のボタンをクリックしたらDialogResultにDialogResult.OKかDialogResult.Cancelを入れてそのフォームをClose()するだけ
呼び出す側はMessageBoxのかわりにそのフォームを同じように呼び出せばいい
0222デフォルトの名無しさん
垢版 |
2019/07/28(日) 13:19:08.39ID:KNp0wpVr
>>219
ほんと?

OSで設定されてるフォントが使用されるのはそう(デフォは昔ならTahoma、今は何だっけ?)
なんだけど、WindowsにはFontLinkって仕組みがあって、欧文以外の文字の場合は適当な
フォントが代わりに使用される仕組みになってるはずだと思うが...

まあどっちにしろサクッと自作しても大した手間ではないな
0224デフォルトの名無しさん
垢版 |
2019/07/30(火) 17:43:55.27ID:Q6VO+qJe
なんのアニメ?
京アニ?
0225デフォルトの名無しさん
垢版 |
2019/09/16(月) 20:31:20.79ID:MPbmz0IO
Windowsのデスクトップアプリ作ってみたいんだけど、UWPじゃなくてWPF使った方がいいの?
0227デフォルトの名無しさん
垢版 |
2019/09/16(月) 21:16:27.82ID:MPbmz0IO
>>226
一度も触ったことないからデスクトップアプリ作ってみたい
販売もWin10以外で使う予定もないです
0229デフォルトの名無しさん
垢版 |
2019/09/17(火) 01:14:09.81ID:jgnLyfJa
>>223
グロ
0231デフォルトの名無しさん
垢版 |
2019/09/17(火) 07:20:33.53ID:Y3mVLTqr
>>230
横だけど
日曜プログラマレベルでWinFormsでそれなりにDB連携の業務アプリを作って運用してはいるんだけど
今更WPFの勉強スタートして使いものになるかな?
つーか、1度作ったWinFormsをWPFにするには作り直しだよね・・・
■ このスレッドは過去ログ倉庫に格納されています

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