◎正当な理由による書き込みの削除について: 生島英之 とみられる方へ:ふらっと C#,C♯,C#(初心者用) Part143 YouTube動画>2本 ->画像>2枚
動画、画像抽出 ||
この掲示板へ
類似スレ
掲示板一覧 人気スレ 動画人気順
このスレへの固定リンク: http://5chb.net/r/tech/1558002486/ ヒント: 5chスレのurlに http ://xxxx.5chb .net/xxxx のようにb を入れるだけでここでスレ保存、閲覧できます。
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980 を踏んだ人は新スレを建てて下さい。
>>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。
■関連スレ
C#, C♯, C#相談室 Part93
http://2chb.net/r/tech/1492818720/ ■コードを貼る場合は↓を使いましょう。
http://ideone.com/ https://dotnetfiddle.net/ ■前スレ
ふらっと C#,C♯,C#(初心者用) Part142
http://2chb.net/r/tech/1551908141/ ■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index https://docs.microsoft.com/en-us/dotnet/standard/class-libraries http://referencesource.microsoft.com/ -
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
DataTableにSelectを使うとき、 dt.Select("Value = '" + value + "'"); なんて行うと、valueにシングルクォートが含まれた時にエラーになります。 もしシングルクォートだけが問題ならこの文字だけエスケープすればいいのですが、 SQLインジェクションと同じことができそうで、なんかSelectの中の文を 作成してくれるなんとかBuilderみたいなものがありそうな気がしたのですが 探しても出てきません。valueは外部から与えられるとき、安全でエラーなく dt.Selectを実行するなんか対策方法はないでしょうか。
いつからかは定かではないけど気付いたのは2週間ほど前 埋め込んだPMG画像のX軸方向の表示比率が狂ってフォームのレイアウトがずれる現象が起こった 「あれ−プロパティの設定間違えたままビルドしたのかな?確認しなきゃー」と思っていたら 今朝見ると元に戻ってた なんで???こんなこと起こる物? Windowsのアップデートに関係あるのかな?
e.Data.GetData(DataFormats.FileDrop) ドラッグエンターされたファイルのファイル名を取得したいのですが、 wpfだとfiledropのインテリセンスが出ません 方法が変わっているとしたら、参考ページを教えてください エクスプローラのような表示がしたいのです
>>9 あーなんかコレっぽいな
PNGがずれたんじゃなくてフォーム自体が横伸びしたのか
ありがとう
>>4 SQLインジェクションはエスケープされないクォートを混ぜてやるものだから
あんたの思い過ごしだよ
>>4 Ruby, PHP などのフレームワークで使う、
place holder みたいに、値だけを安全にはめ込むやつだろ
SQL インジェクションでは、; で一旦、文を終わらせてから、
また違う文をつなげてくる奴もいる
wpfのリファレンスってどこにあるんですか? 特にないのですか?
イベントというのはすべて mainwindow.xaml.cs に追加されるんですか? 自分で作ってcsファイルなどに分けないとコードでごっちゃになるんじゃないでしょうか イベントは mainwindow.xaml.cs に置いて、 処理部分は他から呼び出すというセオリーなんですかね
設定用のクラスを XmlSerializer を使ってファイルに保存しています。 デシリアライズ時に例外が起きた時、とりあえず今はあきらめて新たにクラスを初期値で生成するようにしています。 このとき、せめて例外が発生した変数だけ初期値にするとかの対処をしたいのですが、どのようにすればいいのでしょうか。 そんなにはないのですが、書き出した設定ファイルを人が編集するのにある程度耐性を持たせたいと思っています。 特に enum は綴り間違うとすべてがパーになるので。
>>17 だったら設定値編集するツールでも作れ
パンピーにxmlの編集はできそうで無理
すぐに階層ぶっ壊す
どこでエラーが出たのかわからない
せめて読み込んだときに○行目でエラーですよとか
括弧の対応付が腐ってますよとか
出れば・・・それが直せる人間ならエラー出さん気もするが
>>17 それC#というか設計の問題に見える
要素ごとにチェックして例外を検出したところだけ差し替えるって泥臭い方法しか無いんじゃね
まあSAX系のParser使えば済むだろ XmlSerializerはガタガタ文句を言わない奴が使うもんだ
設定ファイルとして使うならJSONの方がユーザーが扱いやすいよ
>>21 あれ、編集できる猛者はバイナリでもやってくれそう
jsonもxmlも手作業で編集させない前提じゃないと無理だと思う あえてやる人は自己責任で放置
>>17 適当だけどシリアライズする時にいじられる可能性があるファイルとは別にバックアップファイルも作っておけば?
失敗したらバックアップファイルから読み込むとか
どうも、色々有り難うございます。
やっぱりかゆいところに手が届くようにするには全部自分でヤるしかないんですねえ。
>>24 一応それだけはやってます。
まあ、XML 形式は人間がいじるには不便なので、昔ながらの ini ファイル形式の処理なども検討してみます。
>>25 ini使うんだったらJSONの方が使い勝手いいよ
JSON.NETで簡単にシリアライズできるし
ini ファイルは古い。 XML, JSON, YAML, CSV Vagrant, Chef ではRuby、Gradle ではGroovy など、 プログラミング言語そのものが設定ファイルになるのが、間違いが少ない
ini (プロファイル)よりCSVの方が古い 件について小一時間 SuperCalc形式だものね
今更だけど
>>17 はすげえ面白い発想だなw
この発想はなかった
他の人も書いてるけど、「手動で編集して壊してももそれなりによきに計らうようにしたい」
って発想がそもそも合理的じゃないね。
労力の使い方が間違ってる。
編集させたいなら編集できるツールを提供するのが筋でしょう普通に
てかxmlって俺らは読みやすいけどパンピーには編集不能だし xmlって客の利点は1つもないよ お客に「え?そのフォーマットって俺等になんの利益があるの?」 って言われてはじめて気づいたけどな コメントもかけないし 書いても次の出力で消えるし
>>35 > コメントもかけないし
<!-- え? -->
>>36 ん?ユーザが書き込んだコメントを
次の出力で出せるの?
別にxmlになったから読みやすいとか無いけど プログラムとかライブラリが読みやすいでは?
>>35 読みやすいかな?
そりゃ意味はわかるけど、読みやすくはないなあ。
xmlよりもjsonの方がかなりデータサイズが小さいからファイル保存にしても通信文にしても最近はjsonの方を使ってるわ
xmlといえば@ITのC#記事でのこき下ろし方が まるでxmlに親でも殺されたかのような書きっぷりで笑えた記憶が
データの一時保存のためにXMLエディタみたいな機能積むのは嫌だ。 自己データの保存用のXMLなんだから不必要なタグや属性は無視したいよ。 ただ、どんな保存形式であれ不正データの発生は防ぎきれないから質問主の方針には賛成する。 不正データな時点で内容が信用できないと判断してオール初期化するのも悪手ではない。
質問内容は不正データを排除する方法じゃなくて、 手動で編集されて(あるいは別の理由で)「壊れた」データからでも読める部分だけでも読めないかって話だから
手っ取り早いのはシリアライズするenum型のプロパティをstring型に変更して想定値以外に編集されてもExeceptionが発生しないようにすることでしょうな
不正データを排除って言っても
> 特に enum は綴り間違うとすべてがパーになるので。
ぐらいだけなら
>>50 とかの対処療法でなんとかなるけどタグ名の間違いとか文字列のダブルクォーテーションの抜けとかまで言い出したらパーサーを作り直すに近いことになるからそんな所で苦労するなら
>>33 の言うようにツールなりを提供した方が楽
そもそもxmlを編集する有名なツール自体がない あってもとても一般人には触れない代物 人に編集させたいくせにあえてこのフォーマットにする意味がそもそも皆無 エクセルでも読めないし 一体どうして欲しいのか? 別の設定ツールを作るときにプログラムから読み書きがしやすいってただそれだけだろ んでツールの提供も嫌だって言うんじゃ メリット皆無 そもそもxmlを選択した時点で担当者は無能で死刑
以下のように非async関数proc1から、awaitが必要な関数proc3を呼び出すのに async void の関数proc2を挟んでいます。 この時、proc3/proc2のすべての処理が終わってからproc1に返ってきてほしいのですが、ログを確認すると Enter proc2⇒Enter proc3⇒proc3 start⇒Exit proc2⇒proc3 end⇒Exit proc3 となってしまいます。 Enter proc2⇒Enter proc3⇒proc3 start⇒proc3 end⇒Exit proc3⇒Exit proc2 という順序で実行させるにはどうすれば良いのでしょうか。 private void proc1() { Debug.Write("Enter proc2"); proc2(); Debug.Write("Exit proc2"); } private async void proc2() { Debug.Write("Enter proc3"); if(await proc3()) { foo(); } Debug.Write("Exit proc3"); } private async Task<bool> proc3() { Debug.Write("proc3 start"); await bar(); Debug.Write("proc3 end"); return true; }
>>57 proc1は同期メソッドなので、await proc2(); はできません。
async Task proc2() にして proc2().GetAwaiter().GetResult(); とか
>>59 そんなやり方があったんですね。
ただ、async void proc2() だとエラーになったので async Task proc2() に変更して希望の動作になりました。
ありがとうございます。
イベントハンドラーなど戻り値をvoidにするしかない場所でだけ、async voidを使うべき
それ以外はasync Taskかasync Task<T>を使おう
http://neue.cc/2013/10/10_429.html >>62 そんなのは設計や仕様、ポリシー次第。
なんでもかんでも型にはめるな
初心者スレだから自己判断しろというのは難しいかもしれんが、 有用なノウハウや定石ってのはあるんだよ
>>63 イベントハンドラー以外に戻り値voidが必須な場面があるなら
具体例を挙げていってもらったほうがためになるんだが
>>65 非同期タスクを管理する処理が別にあるとか、
サーバ間でデータ同期するけどリアルタイム性は求めず、整合性チェックも後でやるとか
俺はいろんなとこで経験したぞ。
時間のかかる処理はとにかく後回しでfire&forgetして、
目の前の処理を最優先にしたいことだってある。
「必須」とは言ってない。
状況「次第」と言っている。
実績のあるサイトがそう言ってるからと思考停止するのはやめてくれ
jpgを読み込んだbyte配列をUTF8で文字列化し、それをbyte配列に戻すと正しく復元できません System.Text.Encoding.GetBytes(System.Text.Encoding.UTF8.GetString(bytes)); 何故でしょうか
>>68 C#以前の問題
UTF-8を使ってすべてのバイナリを文字列に対応させて変換することはできない
>>67 状況次第でasync voidを使う場合があるんだな、知らなかったありがとう
>>68 https://docs.microsoft.com/en-us/dotnet/standard/base-types/character-encoding#choosing-a-fallback-strategy https://docs.microsoft.com/en-us/dotnet/api/system.text.utf8encoding#remarks Encodingインスタンスには、文字列化出来ない場合にどうするのかを扱うDecoderFallbackプロパティがあって
Encoding.UTF8の場合はReplacement fallbackを使ってREPLACEMENT CHARACTER (U+FFFD)に変換する
だからGetString()時点でjpg中のutf-8でない部分はU+FFFDに変わるのでGetBytes()しても復元できない
>>70 最近Blazorのソース内でもasync voidを使うべきかって話をSteven先生らがしてたね
PRとそのディスカッション追っかけてみるとおもしろいよ
>>69 >>70 Replacement Character に変換された時点で不可逆になるってことか
助かった。ありがとう
Visual Studio(C#)のプログラミングに関する質問です。 インクルードする2ファイルが、双方のクラスを互いに必要とするケースにおいて、 コンパイルが通らなくて困っています。(当たり前なのですが…) 【Aファイル】 クラスAの定義{ クラスBの使用(インスタンス作成、メソッド利用) } 【Bファイル】 クラスBの定義{ クラスAの使用(インスタンス作成、メソッド利用) } 【全体インクルードファイル】 #include Aファイル #include Bファイル 【コンパイル結果】 Bクラスが存在しません(Aファイルにて) 【質問】 お互いにクラス定義を必要とする場合、 ★具体的に★どのような実装をすれば良いのでしょうか?
C#でインクルード? VisualStudio/C#のバージョンはなに?
>>74 とりあえず言っておくと#includeはc#じゃない
一般論で言えばAとBの機能が両方必要な部分でCを作って処理するべきだな
>>74 どういう場合にそんな設計しないといけないのかが気になる
>>75 本当はC++ cliですけど、C#の方がみなさんに馴染みがあると思うので
言語差異は私が吸収するのでC#として教えてください
>>76 一般論で言えばAとBの機能が両方必要な部分でCを作って処理するべきだな
→
ご教授ありがとうございます。これだと実装がきたなくなります。
未解決です
>>77 知識不足で教習ですがImplパターンとはなんでしょうか。
ぐぐっても出てきませんでした、
条件の後出し、質問文に虚偽か
>>80 の回答でもダメなんでしょ
「C#にはincludeがないから言語仕様として
>>74 のようなクラスの書き方をしてもコンパイルエラーにならない」
という回答にしかならないから、貴方の知識と頑張りでC++CLIに読み替えてくれ
実装が汚いって
>>74 の時点で汚物まみれやんけwww
マルチポストで上から目線ってすげーな 全体インクルードファイルとかいうもん作るのになんで実装が汚いなんて拘るのかも意味不明 君の思う綺麗な実装なんてなんで他の誰かが気にしなきゃいけないのw
どっちの画面からも お互いの画面を呼び出す仕様を素直に作っちゃうとそうなるな 今は無意識にそういうの避けてるだけで あるはあると思う 辻褄が合うように頑張るしかない
インターフェース使えばできると思うが、オススメはしないな
C++の方にはすぐ回答出てたけど前方参照するだけの話 トリッキーでも何でもなくちょっとした規模の開発なら余裕で出てくる基礎的な内容 C++ 相互 参照 あたりでググればいくらでも記事は出てくる そんな基礎的な内容を知らないのになぜか上から目線
>>89 それで回避していいならc#も同じじゃねっけ?
そういう経験ない人からの認定なんてどうでもよくね?
普通にC#のプロジェクトならそのAクラスもBクラスもコンパイルエラーにはならんのじゃねえの? 言語差異を吸収するってなら、全体インクルードファイルってのをC#に置き換えてから質問しろよ
率直に思ったこと。 少なくとも俺には件の質問者が上から目線で物を言っているようには聞こえない むしろ質問に正面から答えずに言い掛かりをつけてる連中の方がよほど上から目線で頭がオカシイ
そうか、そういうのはママにお話してあげてな生ゴミくん
>>95 >>79 辺りは人によっては上から目線と取る人がいるかもな
あと
>>86 が書いてるようにマルチポストだしそもそも言語(C++/CLI)を後出しするとか質問のしかたも色々おかしいとは思う
上から目線で、というのは
>>96 みたいなのを指すんだろ
レスが真矢みきの声で再生されるから、 痛いとも思わん。 むしろご褒美
xmlファイルをdll化することってメリットありますか? 何故かxmlのdllが出来てたのですが、理由はなんでしょうか?
>>103 フォーマット違うんだけどな。dllに埋め込まれたxmlリソースが見えただけじゃないの?
もしくはxmlファイルを間違ってdllにリネームしてしまったか
「何故か」の過程が分からないと難しいしC#に関係あるかすらわからない
visual studioではcsファイル単体でのテストは可能ですか? デバッグしたいです wpfです
githubで他人のコードを見て勉強しているのですが、 Action OnInit { get;set;} というプロパティに対して OnInit?.Invoke(); というコードは何をしているのでしょうか?
if ( OnInit != null ) { OnInit(); }
>>111 ありがとうございます、C#6からの機能なんですね、新しい書き方についていかなければ。
>>112 単純に短く書けるってだけじゃ無いからな。
>>111 だとマルチスレッド時に1つ目の{でスレッドが切り替わって
OnInitにnullがセットされてしまう可能性があるが
Invokeにはそれが無い
>>113 Invokeにじゃなくて?. の仕様な
Ruby にも、&. という、null(nil)許容演算子が出来た Swift から来た、流行か
今、一からデータベースプログラミングの勉強するなら、 @型付きDataSet A型なしDataSet BEF のどれがよいでしょうか?
DataSetなんて15年以上前の技術なんか今更触っちゃダメ Web上の情報でもDataSetを扱ってるようなページは問答無用で無視してよい EFと言いたいところなんだけど・・・・個人的にはSQLの勉強も兼ねてDapperを推したい データベースの基礎共用として手書きSQLがひととおり書けるようになっておいたほうがいい
>>116 上の人も言ってるが、CSQL
DBを自在に操れるようになるまでC#はしばらく封印しなさい
>>117-118 ありがとうございます。
DataSetとDapperをちょっとだけ試してみました。
DataSetはGUIで簡単にクエリを生成して実行もしてくれますが、DapperはSQLをソースコード内に直に書いて、Connectionも作る必要がありました。
こういうものでしょうか?それともDapperのGUIのSQLビルダー機能を見落としているのでしょうか?
>>119 そういうものだよ
GUIでコーディングをラップしたようなツールは決まって生産性が低い
>>119 DapperでSQLを書かずに済ませたい場合は、Dapper用クエリビルダを別途導入
nugetパッケージが多数公開されてるから合いそうなのを選ぶ・・・んだけど、デファクトスタンダードなものがないんだよね
単純なCRUDができれば十分でSQLを手書きせずに済ませたいならDapperよりもEFを使うほうが良いと思う
>>116 さんならカンもよさそうだしとりあえずEFでCodeFirst⇒CRUDひととおりできればさほど困らないかも
ただそれでもSQLは別途学習したほうがいい
集計とかパフォーマンスを考慮したデータ検索とかをやろうとするとどうしても自前でSQLを書く必要が出てくる
とりあえずdapperでPostgresqlからデータを取得して、Entityクラスのインスタンスを作って、DataGridViewのDataSourceに指定したのですが、 asでカラムの別名を指定しても、プロパティ名もその別名にしないと、指定した別名になってくれないですね。 //Entityクラスのプロパティ名を、"名前","有効","備考"にしないと機能しない。 var sql = "select pkey, name as 名前, enabled as 有効, memo as 備考 from m_tbl_department;"; var result = con.Query<Entity.Department>(sql).ToList<Entity.Department>(); view.DataSource = result; 回避策がすぐに思いつかないので、EFも触ってみたいと思います。
列ヘッダの表示なら、クエリでasでやるんじゃなくて class Department { [DisplayName("名前")] public string name { get; set; }
C# のフレームワークには、Ruby on Rails みたいな、O/R マッパーが無いのか? 今時、文字列で、SQL を書く人なんて、いるのか? SQL インジェクションもされるから、今は、O/R マッパーのメソッドを使う。 placement に値を入れるだけで、SQLインジェクションをエラーにできる
>>126 EFを知らないのか
それと上で出ているDapperもその一種だ
A言語のスレで「A言語にはB言語でいうCみたいな機能は無いのか?」って聞いても、B言語を知らない、詳しくない人には「Cみたいな機能」がどんな機能かわからん。 B言語のスレなら少なくとも「Cみたいな機能」がどういう機能かはわかるんだから、聞くならB言語のスレで聞けばいいんじゃね? 今回ならRubuのスレでね。
>>126 それRubyスレで言ってみ?
意識高い系Rubyist(笑)達からも嵐のようにマサカリ飛んでくるよw
昔は、C#での帳票にはクリスタルレポートを使っていました。 最近は、C#(Windowsアプリ)で一番多く使われているのは何でしょうか? 一番多く使われているものを教えてください。
>>134 多分、データを帳票の枠の入ったExcelファイルに書き込んで表示or印刷的なのが多いかと
っていうかクリレポってそんなに多かったですかね?
昔から私の周りではこっちのが主流でしたw
よく知らんけど帳票って専用のライブラリ使わなきゃいけないほど複雑な分野なのかな。 よっぽど凝ったデザインとかじゃなきゃ自分でゴリゴリ書いても たいした手間じゃないと思うんだけど WPFのDocumentは触ったことないけどGDI+なんか全然簡単よ
情シスで未経験ながら一人開発してるんですけどSQLをクラスに書きながら世間様ではどうしているのか気になりました クエリ専用クラスとか作ってるのでしょうか? 神クラスにまとめているのでしょうか? ドメイン駆動設計独学してる限りではSQLは対象の知識に閉じ込めておくべきかなと考えておりますが、ベテラン様のご意見を伺いたいです
WPFなら帳票もxamlで作る 外部ライブラリは要らない MVVMでちゃんと分離出来てれば、チャチャっとデザイン屋に頼めば良い。 FixedDocument作ってプリンタに送る部分だけちょっとめんどいかな
Open Xml SDK使ってxlsxファイルに流し込んでる
>>135 >.136
>>137 >>138 昔はクリスタルレポートを使ってWindowsアプリでは、帳票出力していました。
確かにExcelで印刷時のテンプレートのデザインをざっくり作っておいて
C#から特定のセルに値を転記して、印刷した方が早いと思います。
ただ、このやり方ってどうなんだろうな〜と思いまして。動けばいいんですけど。
はまった時に解決するのが大変なので
できるだけ世間一般で多く採用されている手法を取りたいと考えています。
iTextSharp使ってPDFのテンプレートに流し込むのというのも作ったことある
>>113-114 えっ?
そんな余計な機能がついてるんだ…
性能劣化するのはちょっと嫌かも
>>138 プリンタによって細い罫線がでないとかに真面目に対処しようとすると結構大変だからその手のライブラリに丸投げする
プリンタが固定なら自前で作ってもいいけど
>>145 フィールドの場合は一度ローカル変数に読み出してから分岐とメンバアクセスをするだけだろ
フィールドへのアクセスはローカル変数に比べて遅いから、繰り返しフィールドを読むのに比べてむしろ速くなる可能性がある
さすがにフィールドにvolatileが付いてない限りは繰り返しのフィールドアクセスは一度ローカル変数に読むのと同じ動作になるように最適化されるだろうけど
>>146 そんなトラブル聞いたことないよw
っていうかそれが起こるとしたらプリンタドライバまたはプリンタそのものの問題なので、
ユーザーコードレベルで回避なんかできるはずがない
だいたいインクリボンの時代じゃあるまいし、目視できる範囲の細い線が消えるって
どんなプリンターよwww
9600dpiの帳票で1dot幅の線を引いたりしてるんじゃないの。 プリンタドライバの縮小アルゴリズムが単純間引きに近い動きをすると 線が消えるので、プリンタの解像度を取得して自分で最適なアルゴリズムで 戦を残すように細工する必要がある場合がある。
ピクチャーボックスに描画したやつは消えたな 文字はジャギってた
>>149 白抜き以外の普通の描画ならピクセル幅より狭い線の描画は
ピクセル幅になる(つまり指定した幅より太くなる)だけで消えることはないはず。
だからプリンタの設定でdpiがやたら大きな値になってるから細い線が消える、
というのは考えづらい
ピクセル幅より狭い間隔の平行線は引けないはずなので、
ピクセル幅より狭い白抜きの線が消えるというのなら話としては一応筋は通るけど、
現実的にはプリンタのピクセル幅の線なんかどっちにしろ少なくとも裸眼で目視できないでしょうw
>>148 運が良いね
仕事で色々なメーカー触る機会があると遭遇するぞ
>>148 そりゃ普通の人はめったにそんな目に合わないからね
さすがに単純な罫線でおかしくなるなんてことは大手メーカーだとあまりないけど罫線に微妙な色がついてるとか他の図形の下にある(もちろんその図形は透明)とかいろいろな条件が重なると出ないことがあるんだよ
帳票って見栄えにこだわる人が多いからちゃんと出すのは結構大変なんだよ
>>151 だからそういう論理的には出るはず
なんて言うのを言ってもしょうがない
>>153 だからこの話のキモは、そんなことがあるとしたらプリンタ側(デバドラ and/ or ハードウェア)の不具合なので、
ユーザーコードで回避できるはずがないと。普通に考えたらそうでしょう。
クリレポの類の開発者だけが使える「特別の魔法」なんかあるはずがない。
帳票開発はこんなのもあるみたい
試したことないけど
https://docurain.jp/ >>154 君、プリンタ関係のことよく知らないでしょ?
アプリケーションからの出力方法って1つじゃないんだよ
罫線だってGDI命令として出力することもあるし図形として出力することもある
同じ内容でも出力する順序によって挙動が変わるなんてことすらある(まあどう見てもドライバとかのバグだと思うが…)
そういうのをちまちま回避するってことなの
>>156 だから何を言ってるのかね。
論点はそんな話じゃなく、ユーザーコード側でワークアラウンドを打てるかどうかだから。
クリレポのベンダーさんは、世界中の全メーカーの全プリンタの全部のHWリビジョンと全部のドライバーバージョンを
チェックして、個別に問題回避コードを書いて、かつそれをメンテナンスしてるとか思ってるわけ?
できるわけないだろそんなことw
アホちゃうかマジで
何度も書いてるけど、そもそもユーザーコード側で問題を回避できるケースなんて 幸運なケースだけのはずで、バグに起因する問題なんかそもそもどうやっても回避できない ケースの方が多いはずだ。 クリレポのプログラマはスーパーギークだから不可能を可能にしちゃうの?w ありえません。
>>154 消えるよ。
それで、いっそ…でRPDLで打つ羽目になったりするんだよ。令和の時代に。
ビットマップで描いてるんだろうなぁ…には先回りして手作業で回避したりしとくもんだよ。
変倍で出力されたら3ラインに1ラインは描画されないことがある、とかザラにあるんだから。
業務系をもう少し知ったほうが良いと思う。
>>158 クリレポの良いところは、すっごい帳票も出せないけど、最小限はきっちり出すところで、
変倍のサーマルラベルプリンタにバーコード出したりきちんとしよるよ。
スーパーギークだからではなく、バグレポートがクソほど溜まってるからじゃないかな。
俺も送ったことあるもん。
自分が踏まなくても誰かが踏んで、その回避コードが埋まってると考えると、
売り物のライブラリも悪くはないんよ。
チェックをクリレポさんがしてるわけじゃなくて、チェックは自分たちがやらされてるけど、ワークアラウンドはクリレポ側に溜まってるし、ちゃんと契約してたら教えてくれるしパッチもくれるぞ。
あんまり業務で使った事無いんでしょ。
>>157-158 > クリレポのベンダーさんは、世界中の全メーカーの全プリンタの全部のHWリビジョンと全部のドライバーバージョンを
すぐに「世界中」とか「全プリンタ」とか言い出すとか子供かよw
メジャーなプリンタのメジャーなバージョンにまずは対応して後は
>>160 が言うように利用者からの申告に個別対応するんだよ
そのために保守契約を結んだりするわけ
> アホちゃうかマジで
お前がなw
世の中こういう泥臭い仕事があることも知っておいた方が恥をかかなくて済むと思うぞ
確かにプリンターは鬼門 だからxlsxやPDFに吐いて印刷は他のアプリに投げるのが楽なんだよ
一旦Excelに吐くとどうしても出ないときの最後の手段で手で修正できるから 結構こっちのが好きなお客さん多いよね 帳票ライブラリだとプログラマが根性出すしかない テンプレートファイルが別になってればワンチャンあるけど それもこのファイルだけ折り返して欲しいとかはまあ無理だよね
>>163 excelのライセンスが許すときは俺もexcel出力好きだなぁ。
ホントに運用でなんとかなる最後の砦だと思う。
特にPDF出力はexcelのライセンスが無くてもLibreOffice使って出す方が安心できる。
最悪の場合手作業で直して貰って出力できるし、これが標準テンプレートエディタでござい、って出しても平気だからな、LibreOffice。
>>161 常識的に考えて、そんな計約を結ぶよりプリンタを買い替えた方が経済的。
そもそもそれなりのメーカーのそれなりの価格の業務用のプリンタにそんな不具合なんてありません。
もちろんエンドユーザーにプリンタ買い替えろなんて言えないけどね
単純な経済性なんかでプロジェクト回ってるわけ無かろうが。 どこの資本が強いか次第じゃねえの? それなりのプリンターでも地雷は踏んだことあるし、 特定のプリンタしかサポートしないって言ってても当たるときには当たるんだこれが。 だからみんなリコーでRPDLでこれぐらいのやつ、とか、どこのPSプリンタ、とかメーカーと言語を指定するんであって。 ちなみにリコーのそれなりの価格の業務用機で拾ったからな。俺は。 ありました。が正しいわ。
なんか自分でゴリゴリ書くことを否定されたのがよっぽど悔しいのかな。 それも悪くはないよ。ちゃんとサポートするなら。 普通の規模のパッケージ製品とか、数出るカスタマイズ製品とか作ってたら、普通はライブラリ使うってだけで。
>>168 >よっぽど悔しいのかな。
こちらからは君がそう見えている。
思った通りやっぱりこういう思考回路の人だよね。
プリンタでは聞いたことないが、Win95の頃はOfficeに特定の環境向けの不具合回避コードが
入ってるとか、そういう話は確かに聞いた記憶がある。
2019年にはそんなものないよ。そんな牧歌的な時代じゃないんだから。
だいたい帳票なんかより余程複雑な図形を印刷するアプリなんていくらでもあるのに
(例えばCAD)それらにも特定のプリンタの不具合回避コードが入ってて、エンドユーザーの
フィードバック聞いて保守してるのかね。
そんな話聞いたことないよ。
CADで図形が欠けるなんてことがあれば致命的なことで大騒ぎになるはずだけど。
>>169 いやいや、悔しかないよ。
そう見ているから、そういう思考回路の人ってちょっとヤバくない?
あ、CADはあるよ。
俺今ユーザ系だけど、普通に印字欠けはベンダと調査して結局対応してもらった事ある。
プロッターをプリンタに入れていいならめちゃくちゃあるよ。
だからみんなCADのバージョンアップも、OSのバージョンアップもしたくないんだよ。
汎用ドライバ、とか、専用ドライバとかも聞いた事無いんだろうか。
紙文化、帳票文化の人は大変そうだね この能力、労力を他に回せてたら、日本も少しは良くなってたのかな
大変っちゃ大変だけど、仕事だしな。 紙に出したものを正とする業界だと余計に仕方ないと思うよ。 JIS Z8114通りに「出図とは登録された図面を発行する行為」であると定義してる所も少なくないだろうし、 JIS Z8114守りたければCADで描いた線がCADで描いた通りに出ないことがどれだけ問題か解ると思うが。 規格守って図面描いてるから日本は町工場でもきちんとしたモノが作れると思ってっけどなぁ。 悪くは無いと思うぞ。
>>165-166 ,
>>169 マジで恥ずかしすぎる…
世の中が経済性だけで回ってるわけじゃないしプリンタ買い替えてから気付くなんて普通にあるだろ
その度毎にアプリ改修するより保守料払ってもミドルベンダーに対応してもらった方が普通は安いぞ
よほどの中小かブラックでもない限りw
>>171 Windows NT4 + Epson MJ500でくらったわw
もう四半世紀前の話なんだな…
想像だけでそんなはずないだろうと決めつける人と、実際に業務で経験していて経験談として語れる人。どちらが説得力があるかは明白だな。
GUIアプリでちょっとデザインにこだわらないといけなくなったんですが、formアプリでそういった場合工夫でなんとかなるもんですかね? WPFを覚えたほうがいいですか?
>>178 「ちょっと」の内容が分からないと「デザイン重視ならWPFの方がいいだろうね」って答えしかできない気がする
WPFは無駄な苦労が多すぎでせっかくできても動作がもっさり
>>175 恥ずかしいのは君の方。
企業にとっては経済性は最重要問題だ。
そもそもこういう話は実例を挙げられない時点で「存在する」と言ってる方が負けている。
だいたい2019年にもなってそんな間抜けなプリンタなんかあるかw
ねえよ馬鹿臭い。
レーザーだってインクジェットだってコモディティー化してからいったい何十年経ってるんだよ。
それに筋論から言えばプリンタに不具合があればプリンタメーカに 対応しろと言うのが筋だ。 その方が安心で確実だし、餅は餅屋で問題解決までの時間だって短いだろう。 何度も言うように、そもそもユーザーコードで本当にプリンタの問題を回避できるの?
まあ確かに社内で課題は共有してるがプリンタ固有のバグとかここ10年は1個も見てないな そんなに苦労してるなら懐古厨か極端に運が悪いかのどっちかじゃないか?
ちなみに
>>171 の件は、一部のプリンタはHPのサイトにはドライバ無くて、Autodeskのサイトの該当のQ&Aに載ってるドライバ入れないとうまく動かなかったり、
ホントに「ソフトウエアベンダーがわざわざ特定のプリンターにドライバを提供してる」例だからね。
>>181-182 まだ言ってるのかよ…
恥の上塗りにしかなってないぞ
> 企業にとっては経済性は最重要問題だ。
意味わからん、いちいち社内の人間が対応するほうが安いのか?
上にも書いたけどそれ相当のブラックじゃね?w
> そもそもこういう話は実例を挙げられない時点で「存在する」と言ってる方が負けている。
例えばこれをどう説明する?
スプールするのと直接印刷するので結果が違うんだよ?
https://www.lifedesignedit.com/solve_print_problem_specific_part_not_appearing お前が思ってるほど印刷関係は単純じゃないんだよ
> それに筋論から言えばプリンタに不具合があればプリンタメーカに
> 対応しろと言うのが筋だ。
そうだね
対応してくれるまで帳票印刷しなくていいなら俺もそうするよw
>>183 普通のユーザーはそんな色々なプリンタ使わないんだけど数機程度のプリンタ使っただけで語ってないよね?
初心者スレって事すっかり忘れてた。すまん。 いっぱい反対の証左が上がったことは素直に認めたほうがいいぞって例だったことにしといて。
>>190 例えばサーバーでオフィス動かしたらライセンス違反か高いライセンス料じゃなかったっけ確か
うちはライセンス考えるのが面倒だからOpen Xml SDKでxlsx生成してる
僕はClosedXMLも使いますが、 面倒な時は、.NPOIも使います
>>191 なぜサーバーでOffice?
いまどき直でSDK触るのなんてめんどくさくない?
>>192 こないだのBuildでは、D.RothがEPPlus使ってたね
>>186 俺だけじゃなく社内で10年の蓄積だからなぁ
プリンタ機種数という観点で統計出したことないから数字はわからないが少ないってことはないよ
つうか普通のユーザーなんて書いてる時点で君もうすうす気付いてるようだけど
普通のユーザーには縁がない障害ってことでしょ
特殊事例を熱心に語られても共感は得られないと思うぞ
>>196 また恥の上塗りかよ…
> 俺だけじゃなく社内で10年の蓄積だからなぁ
君の会社は印刷関係の不具合あったらいちいち君に報告することになってるの?w
> プリンタ機種数という観点で統計出したことないから数字はわからないが少ないってことはないよ
具体的な数字を出せない時点で語られてもなぁ
> 普通のユーザーには縁がない障害ってことでしょ
リスク管理とか聞いたことないの?
> 特殊事例を熱心に語られても共感は得られないと思うぞ
上の方に何件も事例上げられてるのに馬鹿丸出し過ぎるw
>>198 報告つうか共有してるって書いてんじゃん
プリンタのバグじゃなくて君の目がバグってんじゃねえの?
>>198 具体的な数を計測しなくても意義のある議論なんてのは世の中にいくらでもあるのだがね
数学って知ってる?変数や定数って見たことある?
とまあそれはおいといて
うちは年20件前後の案件で10年だから役200案件分の蓄積がある
現場の重複と客のプリンタ複数持ちがどう相殺されるかは読めないが
まあ控えめに言っても数十機種は見てるだろ
それだけやって障害に出会ってないならレアケースとしか言いようが無い
リスク管理は確率統計の世界だよね
滅多に発生しない被害の小さいプリンタ固有のバグに真剣に取り組む人はリスク計算ができない人なのだろね
何件って規模じゃまったく足りないわな
世界中で使われてるプリンタ機種数のスケール考えろよ
そんなケースも極稀にあるんだねとしか言えんわ
普通の帳票ならExcelで作っておけばほぼ問題は起こらない あと、あまり新しい機能は使わない プリンタの会社はExcelぐらいテストしているからね
いや、今、c#からやってるけど dobonのサンプルだと これグラフィックオブジェクトに描いて画像として印刷してんじゃん? これだとやっぱり用紙サイズと解像度が合わないとき 線って消えるよね? ベクトル描画的な指定方法って別にあったりする?
@用紙サイズ Aプリンタの解像度 Bアプリの印刷描画バッファ Cアプリの仮想描画バッファ C→Bに描画するとき解像度が合わないときに余白が必要 B→Aはなんか微妙にうまく合わない グリッドを印刷したいんだけど 結構大変じゃね?これ
dobonのサンプルってことは自前でGDIをいじるようなやり方だと思うんだけどまあ苦行でしかないよなあ その時代、00年代前半の模範的なやり方としては、 まともな印刷物を出したいならそれこそクリレポやそれに類する有料の帳票ツールを使わざるを得なかった (文化オリエント⇒グレープシティのとか、翼システム⇒ウィングアークのとか) いまさらGDIを使うくらいならWPFのFixedDocumentを使うほうがよっぽど楽だと思うけど
いや、別にどっちでもいいんだけど 用紙サイズ プリンタ解像度 アプリ印刷描画バッファ アプリ仮想描画バッファ の4つをつなげる方法さえあれば 誰も困らんと思うよ ただ、うまくいかないね 線も消えるし(多分どこかの解像度があってない)
>>196 普通のユーザーじゃなく自分に縁がないかもしれない事例でも、そういうことがあるってのは有用な情報だと思ったよ。
自分が経験したことがないからそんなのは存在しないなんて主張していたお前さんの意見の方が共感できないよ。
>>193 Web APIでxlsx生成して返すとか普通にあるでしょ
>>209 存在しないとは言ってないがね
そんな稀なケースしかもぶち当たっても大したリスクはないくだらない問題を大げさに語りすぎじゃねえかと言ってる
>>201 数十機種で語られてもなぁ…
しかも不具合を君が全部把握してるの?
っていう部分はガン無視w
まあおまえがどう思おうとそういう世界がある事実は変えられない
>>211 > ぶち当たっても大したリスクはないくだらない問題
CADで線が消えるのをくだらない問題とかアホすぎるw
つかプリンタ固有のバグが再現するサンプルコード出してくれよ どんな書き方したらそうなるのか興味あるわ プリンタ機種とミドルウェアは市販されてるならなんでもいいけど普通の企業が普通に採用するものがいいな マイナーレアケースじゃない事を示したいわけだからな 言語はC#スレだからC#で
>>212 不具合はほぼ目を通してるぞ
調査まではしないがこういうバグあったな程度の記憶が役に立つ事は多い
逆に言うとおまえがなんと言おうと
世界はプリンタでそんなに困ってない
くだらねえな
さっさとメーカーに直させておわり
>>186 で印刷マニア自身も言ってるが普通のユーザーはそんな色々なプリンタは使わない
印刷マニアが何百機もプリンタを王道から外れた手段で弄り倒した経験をもとに「プリンタにはバグがよくあるんですよ」なんて言われても普通のユーザーは「へえそうなんだうちのプリンタは正常に動いてるけどね」としか思えないわな
マニアとマニア以外で頻度とリスクの感覚がかけ離れてるんだよ
そりゃそうだ。。。だから、こういった場所でリスクを教えてもらえるのはすごく貴重。 お前馬鹿だろ^^;
>>216 縁のないリスクをいちいち気にするのが真のバカ
放射脳みたいなもんだ
縁がある人が縁のある人に質問したのがきっかけなの理解してる?
>>217 別に縁のないリスクを気にしてる訳じゃなく、そういうことがあるのね、って知識を得たというだけのことだよ。
今は君だけがヒートアップして振り上げた拳を下ろせずに困っているだけのように見えるぞ。
>>218 個々のハードウェアやドライバに関わる相性問題でC#に関係ないのはわかる?
模範的に問題なく使えるライブラリはない、で普通は終了
ついこないだのイヤホンと同じ流れ あるだの無いだのどうでも良い
>>210 Officeなんてインストールする必要ないってツッコミやろw
>>214 > 調査まではしないがこういうバグあったな程度の記憶が役に立つ事は多い
あれ?
> まあ確かに社内で課題は共有してるがプリンタ固有のバグとかここ10年は1個も見てないな
って言ってたんじゃなかったのか?
追い込まれすぎだろw
>>222 だからOffice使ってないと言ってんじゃん
>>215 おまえのリスクの感覚がおかしいだけ
上に上げた事例見ればわかる
知らないこと自体は別におかしくないけど知らないなら黙ってろよ
>>224 俺もOfficeなんて使わないって言ってんだけど日本語通じてる?
>>226 こいつはいったい何に対して文句付けてんだろう
>>220 > 個々のハードウェアやドライバに関わる相性問題でC#に関係ないのはわかる?
だから、発生しちゃうとすごくいらんコストがかかるってことでしょ。
それをリスクと考え、回避したいと考える人達がいてそういうことが必要な世界がある。
リスクを知らんと理解出来ない話ししてるんだわ。
おれは縁のない方の世界の人だけど、今回の話はかなり面白かったぞ。
あほなお前にも感謝してる!
ID:K47xKOLF0 イチャモン付けてスレ荒らしたいだけだろ
>>230 Excelファイル生成するためにサーバーにOfficeなんてインストールする必要ないから、
>>191 は何を勘違いしてんの?
…って丁寧に説明してあげても理解できない?
>>231 >>191 は
>>190 の質問に答えてExcelのライセンスが問題になる例を挙げてるだけじゃん
>>232 Web APIでxlsx返すとき、とも言っとるけど、そんなのライセンス考慮する必要ないやろ
だからもしWeb APIでExcel使ってxlsx生成するならライセンスが問題になるかもねってことだよ
>>190 の話の続き
https://support.microsoft.com/ja-jp/help/257757/considerations-for-server-side-automation-of-office 現在のライセンス ガイドラインでは、クライアントにライセンス認証済みの Office がインストールされている場合を除き、クライアント要求を処理するサーバー上で Office アプリケーションを使用することは禁じられています。
サーバーサイド オートメーションを使用して、ライセンス認証されていないワークステーションに Office 機能を提供することは、ソフトウェア ライセンス条項 (EULA) では認められていません。
>>234 だからWeb APIでExcel使う必要ないよねって話なんだが
COMオブジェクトしか使えない時代からタイムスリップしてきたの?
>>236 だからExcelのライセンスが問題になる「一例」として挙げてるだけじゃんw
>>190 の話の続きだよ
webAPIでexcel使う必要なんて客の要件次第だろ。 excelで図形合成してさらにオブジェクトのロックをかけて、 かつすでに描かれていた図形や文字列と合わせてpdfを生成して ブックにパスワードつけてからダウンロードする口を作ってくれ みたいな無茶振りを 「ちょっとそれ要件から揉みましょうや…まずpdf作るってところですけど 多分その使い方はExcelの証跡として残したいんですよね。互換ソフトじゃ実際問題ダメじゃないですか。 使用者みなさんにExcelのライセンスがあることを証明してもらえたらなんとかしようがありますけどそれ以外は無理です」 って返した事あるぞ。
>>237 使う必要なんてないから問題にはならないよ?
もともとExcelを使う必要がある特殊な要件なら、それは「問題」にはならんやろ
サーバーサイドでExcel使うのはライセンス的に問題あるって話なのに何が気に入らないんだろう
>>207 の人
なんかGraphicsはビットマップみたいなピクセル前提になってると思い込んでるように
聞こえるけどそれは勘違い
何がしたいのかよく分からないけどプリンタの解像度なんか意識する必要はない。
GDI+の印刷関係でちょっとトリッキーなのは印刷可能領域の扱いぐらい(用紙の左上じゃなく、
印刷可能領域の左上が原点になってる)であとは全然難しくない。
mmなりinchなり好きな物理単位を選択してその単位で位置やサイズを指定して描画するだけ。
>>243 じゃあ、dpiってどこで設定するの?
とりあえずプリンタが許す範囲で綺麗に印刷したいんだけど
得に文字がジャギるのをなんとかしたい
用紙サイズと
こちらの内部で扱う解像度は
どうやってマッチングさせればよいのか?
>>244 プリンタのdpi(というか印刷品質)はプリンタ側の設定であってプログラムとは
無関係のはずだけど、いずれにしても今時ビットマップフォントでも使わない限り
ジャギーが出るとは考えにくい。
ひょっとしてビットマップに描画してそれを印刷してない?
dobonさんのところのサンプル見たけどそんな変なことしてないと思うんだけど。
>>247 話の中身をちゃんと読みましょう
そういう「交通整理」が一番無駄
>>246 無関係じゃなくね?
dpiゼロって設定したらドットすら打てないのに無関係はなくね?
用紙サイズとdpiが決まって初めて印刷に必要な解像度が決まるんじゃね?
>>246 dobonさんのってdpi設定してる?
>>249 君が紙の上にコンパスを使って円を描く時、
「俺のdpiっていくつだっけ?」なんて考えるだろうか?
考慮する情報は円の中心の位置と半径とペンの太さだけでは?
Graphicsに描画する時も同じこと
例えばオーディオの品質はスピーカーやアンプの性能に依存するわけだけど、 それはプログラムから変更可能なパラメータじゃない。 dpiだって同じでしょ 無関係ってのはそういう意味
とりあえずお前らは
>>1 のテンプレを読め
>「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
>なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
>C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
C#とv Visual C#の使いわけってどういうのが正しいの?
>>256 C#は言語で、Visual C#はかつてのC#単体のIDE(開発環境)
Visual C#はVisual Studioに統合されたから忘れて良いよ
CSCコマンドで不謹慎なプログラムを 作るゆうくんみたいな人がいるから 基本的には言語のスレかな
>>248 はいはい。Rubyスレにでも行って熱く議論してね
VC#はC#のMS実装という意味も含んでるんだと思ってた。 って、C#って外部団体で標準化されてたよね。 プリンタは細線が印刷されない経験が俺にもいくつか有る。 VB(not .net)全盛の時代だったから今もそうなのかは分からんが、 画面に線が表示されない現象が残ってる以上は印刷でも有り得るとは思う。 最初から考慮しとく必要は無いけど、現象にぶち当たった時に小手先の対応を求められるかも知れん。 APIやドライバに不備が合ったとしても最終納品物の品質に届いてないのだから。
基本的にググって同じ例が見つからない「不具合」はリアルな不具合ではなく、 単純にコードのバグだと思った方がいいと思います。 ダメな奴ほど自分のコードを疑う前にシステム側の不具合だと思いたがるのは鉄板の法則です。
>>261 まだやってたのか。
まず自分のコードを疑うのは言わずもがなで、そこは誰も否定していないだろう。その上で、そういうシステムの不具合の可能性もあるという話をしているだけだろう。お前だけが頑なにシステムの不具合の可能性を否定しているだけで。
>>260 対応する前に切り分けしなよ
複数のプリンタで同じ不具合が出るならプログラムを直すべきだが
そうでないなら運用の問題だからプログラムを直しちゃダメだ
それはプリンタの修理か買い替えで対処すべき問題
>>267 専ブラを使ったストーキング行為ってことか?
>>262 ちょっと被害妄想激しすぎないか。
>>261 はあくまで一般論。
ついでに言わせてもらうけど、前にも書いたがやっぱり「こういうタイプ」の思考回路の人だよね。
「まだやってる」のは少なくとも君自身も同じじゃないのか?
「こういうタイプ」というのは、要するに自分を客観的に見る(少なくとも見ようとする)
もう一人の自分を持ってないタイプの人のことね。
>>269 > もう一人の自分を持ってないタイプの人のことね。
お前が言うなよ…w
>>269 日曜までプリンタの話題を引きずりたくはないが、
一般論として、自分がハマった経験も回避した経験もあって、かつ関連する記事も出せて、CADなら?みたいな無茶振りにも(たまたま俺の分野にヒットしたからだけど)答えてるのに、
「それを客観的に見る君」はなぜどこにも居なかったのかが一番疑問。
少なくとも知らなかったことは勉強になったぐらい言っときつつ、初心者に嘘ついちゃったことは反省したほうが良いと思うよ。
CADはプリンタどころか、環境に対するパッチも出てる。
ちなみにAutoCADはC#のSDKがあってとても便利。
>>248 お前毎回悪質
知らないのにいきなりレスで罵倒したり
MVVMについて学びたいんですけどどういうルートで学ぶのがいいんですかね 少し古くてもWPFや.NET MVCあたりの本を読むのがいい? おすすめの書籍とかあれば教えてください
githubに転がってるチュートリアルを一通り触る 小さな機能のアプリをめんどくさがらず作法に則って作る
質問です。 iPhoneアプリしかでていないゲームで 例えば 「戦う」ボタンを一定間隔でクリックする方法ってありますか??? Androidならできると思います. 詳しい人教えてください!
pythonが実行できると聞いたがそんなとこまでいじれるだろうか? ってスレ違いやん
とあるiPhoneのゲームで最強になりたいんだよね。 PCゲームなら自動化はできるけど、iPhoneアプリの操縦となるときついかな〜。 誰か変態的にスキルの高い人教えてください。
仮にできても潰してくる類の処理だから探す気になれんな
>>278 「ユーザー入力の記録・再生」なるものが、iOSでもできるようになっているなら、
その「再生」のやり方を使えばできる可能性はある。
Windowsなら、マウスやキーボードのイベントの WM_LBUTTONDOWN, WM_KEYDOWN
などを ゲームの Window に PostMessage() してやれば良いだけなんだけど。
こういうの作れ
不正検知がかなり難しい部類でbanの危険性下げれる
VIDEO 同じ場所をタップするだけならソレノイド使えば簡単にできるよ。 C#にこだわるなら、UWPを組んでラズパイ+Win10 IOT Coreとかね。
>>283 日本語しゃべってくれ
>>284 iPhoneアプリをWindows上でエミュレートしつつ
Windows APIを使えばできるかな〜と思ってます。
>>285 >>286 できれば、ソフトだけで完結させたいです。
走り回って敵が出てきたら戦闘、HPが減ったら回復→無限ループ
>>282 それなら、この板で適切なスレを見つけてそちらで聞いてきな
>>287 iOSアプリのエミュレートをWinでって時点でかなりハードル高い
普通は前提条件としてMacになる
そしてそんな前提条件すら把握できてないならまず無理だから諦めて
せめてMac関連のスレに行って
>>287 iPhoneのエミュを作るの?
頑張ってね。
ワン切りとかチケット予約とか電話しまくるアプリの場合 ソフトでなんとかしても規制かかるよな やっぱソレノイド最強
>>289 なるほどですね。
iOSとObjectiveCを勉強しなくちゃならなそうですね。
【速報】クオカード五百円分とすかいらーく優待券をすぐ貰える @ スマホでたいむばんくを入手 A 会員登録を済ませる B マイページへ移動する。 C 招待コード→招待コードを入力する [Rirz Tu](スペース抜き) 今なら更に4日18時までの登録でクオカードとすかいらーく優待券を両方ゲットできます 数分で出来ますのでご利用下さい。 デザイン画面のtoolStripMenuItemの項目をダブルクリックして、メソッド作ったのだけど、 仕様変更してるうちにこのメソッドは要らなくなったのでできればコードから削除したいのだけど ただ削除してもどこからも呼び出してないのになんかエラー出るし、どうすれば安全に削除できるのでしょうか
C#ってさ、分かりやすくしようとして、より複雑化してるよな?
>>295 毛ほどもわかりやすくしようなんて気は見られない
僕の考えた変態言語仕様ドヤァ!
しか知らんが
まだC++よりわかりやすい 機能追加していけば互換性維持のため複雑になるのは仕方ない また1から設計されたいい感じの言語が出てきてそいつが広まりそうなら乗り換えれば良いやって思ってる
#ifで定義済みプリプロセッサ シンボルの"NET40"をチェックしたいのですが 定義されていないようで思うような挙動になりません。 他にNET20〜NET48も定義されていないようでした。 これらは特定のバージョン以降で使用できるのでしょうか。 また定義済みプリプロセッサ シンボルの一覧を見る方法はあるのでしょうか。 環境 VisualStudio2015 ターゲットフレームワーク .Net Framework4 記述例 #if NET40
>>301 すでに規約に反してそうw
犯罪の片棒は担げない
>>299 確かにダメだね何でだろう
試しにVS2010でもやってみたが同じだった
ググると普通に使ってるサンプルが出てくるのに変だな...
https://ufcpp.net/blog/2017/5/newcsproj/ この話かな…
確かにVS2017で普通に作った.NET Frameworkのプロジェクトだと定義されてなくて
こっちのcsprojを手書きしたら定義されてる
.NET Coreとか.NET Standard向けのプロジェクトはデフォルトで新しいcsprojが作られてNETCORE2_1とかが有効になってる
>>298 タスク視点じゃ無いからコンテキストがわかりにくいんだよ。
同じクラス内に書いてるのに呼び出せなかったり書き込めなかったりさ。
デリゲートなんてもん導入しなくても解決出来るだろうにとかさ?
>>304 単純にそんな理由だったのかw
確かに古いドキュメントにはそんなものが定義されているって記述がないなあ
https://web.archive.org/web/20150118103549/http ://msdn.microsoft.com/ja-jp/library/4y6tbswk.aspx
>>302 単純なレベル上げを自動化したい、
犯罪じゃないでしょ。
>>308 いいや、お前は犯罪者だ
さっさとキエロ
>>303 ,304,307
なるほど。納得しました。
ありがとうございました。
WPFってデザインがいいっていうイメージなんだけど formよりもどういったところがデザイン性に優れてるの? ブートストラップのxaml版みたいなテンプレートってないよね?
>>295 そんなことないよ
分かりやすくて単純でいろいろできて快適だよ
>>311 デザインの自由度は非常に高く、見た目をがらりと変えるのも比較的簡単に出来る。
ただし、出来合いのテーマとかはほとんど無い。標準のは古すぎるし。
標準でスケールするので、最低限の高DPI対応は何もする必要が無い。
ライブラリをstaticでusingしてるコードを見たのですが、静的にusingするってよく使われるやり方なのでしょうか? あまり考えた事が無かったので
>>313 お世辞にも単純ではないわ
言語仕様の大きさでいうと現役のメジャーな言語の中じゃC++に次ぐくらいだよ
static using を質問した者ですが、静的メソッドをクラス省略して呼び出す方法なのですね 自己解決か解りませんが、クラスをいちいち書くのが大変な時に便利な機能だと理解しました
>>308 犯罪ではないが規約違反だな。
あと、初心者が作れるようなものでもない。
つまりはスレ違い。
c++に次ぐかはどうかは知らないけど言語仕様的には肥大し続けてるのは間違いないよ 確実にjavaよりは言語仕様が大きい 最近のメジャーな小さな言語仕様とは真逆の方向性
c++もどんどん新しい仕様を組み込み続けてる それで安全に楽に書けるようになって来てる ただ古い書き方もできるので楽な書き方で入門した人にはそういうソースが非常に読みにくい
MFCの場合、Command Routing なる概念があり、MDI で複数の子 Window を 出している場合に、Main Window のMenuから選んだメニュー項目を、 現在 Active な子 Window に対して「伝達」することができて、 CView::OnXxxx() のようなメソッドで受け取ることができました。 Xxxx の部分には、Menu項目の名前に関係した関数名が入ります。 MENU 項目には、IDM_XXXX のような定数値を関連付けておいて、 「メッセージマップ」なる場所に、 ON_COMMAND(IDM_XXXX, OnXxxx) と書いておいて、ID 値とメソッド名を対応させます。 重要なのは、実行段階でその時にActiveになっているCViewにメッセージを伝達 することで、複数の子ウィンドウが有った場合、どの子ウィンドウがActive になっているかによって、伝達されるCViewは変化します。 あと、このIDM_XXXとメソッドの関数定義、メッセージマップの項目は、全てIDEが 自動生成する機能があります。 C#でも同様のことはできますか?
何のことを言ってるかわからないけど アクティブな子windowにメッセージは送れるよ 子ウィンドウによって処理を変えるのはそのように書けばいいだけで専用の仕組みはないと思う
>>322 MFCはVCで使うライブラリ。C#は言語。比べる対象が間違っている。
つか、ぐちゃぐちゃ書かれていて何をしたいのかが良くわからない。
マルチフォームで、親のメニューから選んだ動作を、複数の子フォームがある中、アクティブなフォームに対してイベントを発生させることができるかって事ならWPF/UWPともに可能。
>>322 たぶんないのでは
でもそもそもActiveなMDI子に連動してイベントハンドラが切り替わるコードというのは
保守しづらいのでは?
MDI子のメニューは親のメニューにマージできたはずなので、
そっちを使った方がよいんじゃないかなあ
https://dobon.net/vb/dotnet/form/mdimergemenu.html >>326 ここで粘着していてもお前さんの求めるものは得られないから、さっさと適切な場所に移動しな
>>326 Windowsでまともに動くiOSエミュがあるか?
それが答え。
最初
>>301 を書いた人物だとしたら脳が死んでそうだからその人には無理でしょ?
外人なのか馬鹿なのかどちらか
[RPA]PC自動化技術総合スレ[効率化] Part.4
>>330 脳死なのにタイピングはできるんだね。お前
> とあるゲーム > > アプリを自動化したいと思ってる 味わい深いwwwwwwww
>>323 >アクティブな子windowにメッセージは送れるよ
>>324 >マルチフォームで、親のメニューから選んだ動作を、複数の子フォームがある中、
>アクティブなフォームに対してイベントを発生させることができるかって事なら
>WPF/UWPともに可能。
どうやるんでしょうか?
>>325 >MDI子のメニューは親のメニューにマージできたはずなので、
>そっちを使った方がよいんじゃないかなあ
なるほど。
ならば、編集メニューのコピー・ペーストなどの場合は、子ウィンドウ
それぞれが自前でメニューを持っていて、それを親にマージするんで
しょうか?
>>338 そうじゃないですか。
Formも派生させることができるしイベントハンドラもvirtualにできるので、
必ずしも馬鹿正直に全部のMDI子にTextが同じメニューアイテムを持たせる必要はないと思う。たぶん。
どうでもいいことだが、UWPは画面は常に一つってのが基本だから アクティブなフォームにイベントで通知って概念が間違っている
メソッド化してコードを見やすくすることについて質問させてください 僕にC#を教えてくれている人に「現状のコードだと見づらいから同じ処理はメソッド化して見やすくしなさい」と言われたのですが、 同じ処理をメソッド化すると、その処理内で使われていた変数が後ろのほうのコードでも使われてまして、 結局メソッド化した処理の中で使われている変数をまた宣言しないといけないハメになってしまっているのですが、どうすればいいのでしょうか? プログラミング初心者なのと、文章が下手で凄くわからづらいかもしれませんが、どうかよろしくお願いします
>>342 引数で渡すのが王道
そうすることで読み手にメソッドの呼び出し順が固定できる
>>342 メソッドとして切り出した箇所の後ろの方で使っていたという部分について、同じ名前の変数を宣言し直して新たな値(メソッド化した範囲で使っていた内容とは無関係)を設定し直しているということだとしたら、それで問題ないよ。
もともと独立した内容に同じ変数を使用していたというだけだから。
>>344 引数について再度よく調べてみます
>>345 ということはメソッド化しても再度変数を宣言し直さないといけないということですか?
それだとメソッド化する意味がないような……
質問に答えていただきありがとうございます
>>346 変数の宣言をし直すことは何らデメリットではないぞ。
変数を使用するスコープを小さくしてその都度宣言できるようなら、むしろそうした方が良いくらいだよ。
具体的なコードを見てみないと何を問題視しているのか分からんが...
エスパーすると メソッド化してもメソッド側と呼び出し元に同じ変数宣言するけど良いの? って感じか 引数やら戻り値で済みそうな話ではあるが ローカル関数なんてのも使えるけどね
グローバル変数的なものをやりたいんじゃないの? 例えば int i を宣言したら色々なメソッドのループ処理でそれを使いたいとか
>>346 変数のスコープ、有効範囲について勉強すると良いよ。
100以上の広域変数の状態を自由に扱えるようになったらそのプロジェクトは君が囲い込める
>>339 なんとなく分かってきました。
みなさん有難うございました。
DIコンテナに登録したオブジェクトをインスタンス化する際、コンストラクタに引数を渡すことってできないのですか? ライブラリはMicrosoft.Extensions.DependencyInjectionを使用しています
FormLoad時に、DataGridViewに何もDataSoureを割り当てていませんが からの1行が表示されてしまっています。 これは、何が原因でしょうか? 画像とボタンの列があります。初めて使うのですが、これが原因でしょうか???
var list = new List<int> list.Max(); のようなnullデータにリンクメソッドをチェーンするとエラーになりますが、nullデータの場合は無視するという記述は出来るでしょうか
>>361 同スレで既出と気付きませんでした
参考になります
ありがとうございます
>>360 nullデータというよりも空リスト、空シーケンスなどと表現したほうがいいかな
Max()メソッドそのものが空リストの場合はInvalidOperationExceptionをthrowするんだけど
Nullable版のMax()を使えば空リストの場合はthrowするのでなくnullを返すようになる
var list = new List<int>();
int? elem = list.Cast<int?>().Max();
if (elem == null) { Console.WriteLine("空"); }
else { Console.WriteLine(elem.Value); }
ガッツリ動作が仕様に絡むとこまでお手軽に記述したがる感覚ってわからんな
なんだっけ、MVCモデルだっけ? あんなん崇拝するから日本人の作るアプリは操作性最悪なんだけどね。
昔はよくウィザードが例に出されたけど、 設計が伴わないと実現が難しいUIというのは確かにあると思うよ
>>367 日本人はむしろMVCすら使えないやつが多いんじゃね?知らんけど
>>367 こういう設計思想もろくにしらん馬鹿がITにかかわるから操作性が無視されたアプリができるんだと思う
共通部分を増やせば増やすほど コピペが難しくなって工数が増大していく 画面数300とか行くとさ 画面をまたいだ共通箇所って邪魔で邪魔で しかたねーよ
>>376 一番邪魔なやつだそれ
実際の処理がソースで追えなくて
実行してブレークポイントで止めてステップ実行しないと
本当の処理がわからない欠陥品
ぶっ飛ばしてやりてぇ
>>378 意味わからん
コピペするのにどの処理持ってくりゃいいんだよ
こっちの処理は分岐なんかしねーんだよ
DataGridViewの中にボタン列を追加しました。 ぐぐってますが、DataGridView上のボタンを非活性に する事はできないのでしょか? Visual Studio2017を使用しています。
だから手でテストしてんだろw この涼しいのに沸いてるのw?
抽象化されたソースから追えないゴミカスコードをどうやってコピペしたらいいですか? インターフェース同じやつ片っ端から貼りまくればいいですか? 36っこありますね →ウンコですね New!
コピペできないって悩むってことはやっぱり抽象化が正解なのか いかに下っ端コーダーにコピペをさせないかがプロジェクト成功の鍵だからな
>>385 バカじゃん
まるごとコピペして名前だけ変えて放置だっつの
こんなキタネェコード付き合ってらんねーよ
1クラス1ファイルで書いてあるけどこんなゴミにこんなファイル数いらねーよ
Xxx.csに全部ツッコんでやった
まとめてゴミ箱だw
アンチパターン「マトリョーシカ」「たけのこの皮」「玉ねぎの皮」「マズイミルフィーユ」とか名付けたい
くだんねー薄皮クラス全部いんねっつーの
>>382 そこまでしないと実装できないんですね。
Enabled=False
でできればよかったのですが、うーんどうしよう。
>>389 サンプルの
DataGridViewDisableButtonCell
をコピペで持ってきたらいいだけじゃん
でも正直なんでこんな面倒臭いの?ってぐらい作ったやつのセンスが悪いよね
C#は Visual Studio のサポート機能が無いと、コード書ける気しないわな。
>>390 それすら面倒だけどやってみます。
MSが普通にEnable実装しておけば、俺たちは True Falseの設定だけでできたのに。
>>392 最近よくVisual Studio Codeで書いてるよ
>>393 お前が何を必要としてるかまでMSは知らないから仕方なくね
WinFormsのコントロール全般だけど、MSとしては
>>390 程度のことは
自前で継承して作り込んで使ってくれっていうスタンスだからなあ
(MSDNのドキュメントもそれ前提の書かれ方だし)
作りこむのが面倒であればGrapeCityとかが売ってる高機能なコンポーネントを使えばいいわけだし
>>395 ちょっとでも使われ方の検討したのかよ
ってレベルじゃね?これ
>>395 そういう問題じゃなくて、ボタンにEnable False True入れるなんて常識だろ。
それ位実装しとけよ。くそMSって話。
>>398 こいつWebアプリ開発させられたら発狂しそう
今日のNGはこれか VMcLTapW0 真っ赤にして待ってろ
なんか普通のことが普通にできなくなって開発者からそっぽ向かれてない? wpfなんかこんなののオンパレードだし俺ら工場のおっさん向けアプリ作ってるだけなんに 必要のない変な機能多すぎ その割にこんな簡単な機能は未実装って 未完成ってレベルじゃないよね
>>401 そんなに同意して欲しいなら同意してやるからもう寝なよ
>>402 むしろお前こそ言いたいことがあるならハッキリ言うべき
無言でユーザだけ減ってる状態に苦労してると思うぞmsは
お前みたいな馬鹿が尻の穴嘗めてくれるからウハウハだぞバカ
多分、日本はwindowsで作った資産があるけど そうでない国はお金がないからわざわざWindowsを使わない そんな状態が続いたもんだからlinuxの資産が貯まってしまって お金を持っても今度はWindowsには移行できない そんな事情のある最近のlinuxに寄り添ってる理由だろ 昔はその作りやすさから王者だったけど 最近そーでもねーのが致命的になってんじゃねーのか?と
HTML のボタンには、disabled 属性もある
もうwebオンリーで行くかなと思ったけどバーコード使いたいと言われるとFormeアプリ使わんとダメだよね XAMLは流行る予感がしないから触る事ないな
Shape Detection APIな。 PCのChromeでも動けば動作検証楽なのになぁ、あれ。
ふぅーDataGridViewのボタンの非活性できた。 MSはその程度実装しておけよ
CheckBox も同様だけど、Visible と Enable くらいは実装しとけよ、って思うよなぁ WinForms に対しては全くやる気ないみたいだけど
>>414 実装もそこまで時間かかるとは思えないんだよな
なんか詰めが甘いというか・・・
しかもVS2017になっても未実装って
x64 のときは Form_Load の中での例外はスルーするバグも絶賛放置 (x86 だったら、ちゃんと例外を捕捉する)
Windows Formなんてとっくに見捨てられてるからね。メンテナンスフェーズかも知れん。WPFですら10年前だし。ということでUPF使え。 …ってMSは思ってるかもだが、Formなにかと楽なんだよなあ
.NET Core3.0リリース後にちゃちゃっとPR書けば?そんなに簡単なら
悪いけど、FullFx版のWinFormsとの互換性を損なうようなコミットは全部リジェクトだと思うよ forkして弄るのは勝手だけど
>>420 .NET Core3.0後にどうなるかはまだ不透明
現状はそうだけどね
どのみちMS自身が今後WinFormsに機能追加をすることはありえないんだから、縛りのきつい公式リポジトリに拘る意味がないでしょ WinFormsをクロスプラットフォーム化するコミュニティプロジェクトは必ず立ち上がるから、それに参加したらいい
>>422 WinFormsのクソな部分がそのまま移植されるとは思わないから別物になると思う
汎用的な部分だけ移植なら整合性が合わなくなるからそもそも新しいの作るだろ
>>423 残念ながらベタ移植だよ
ほとんどのソースはオリジナルからコピーしてきてヘッダコメントを変えただけ
WinFormsをCoreでビルドできるように手直ししただけの代物だ
WPFなんかC++/CLIにべったり依存してるからもっと酷くて、
WPFをビルドするためだけにVCのコンパイラに限定的なCoreサポートを追加して無理矢理ビルドしてる
そんな不毛なことするくらいならネイティブ部分を書き直せと批判されてしばしばissueが炎上してるが、MSはガン無視
DataGridView_hoge.AllowUserToResizeColumns = false; 列幅変更出来ない様にしたつもりですが、普通にドラッグしてサイズ変更出来てしまいます。 何が原因でしょうか???
行ヘッダ列はAllowUserToResizeColumnsじゃなくてRowHeadersWidthSizeModeで設定しないといけないけど それ以外の列ってことなら何か変なことやってるんじゃないのとしか言えないなぁ
>>426 RowHeadersWidthSizeMode
ためしてみます。
なんかWindowsアップデートで動かなくなったりするから Windowsやめようぜって方向になってるぞ
WPFの将来性ってどうですか? 今から勉強する価値ありますかね
たぶん現状のまま放置されるって意味では将来性ないけど Silverlightみたいに事実上使えなくなることは恐らくないから 勉強して無駄になることもないと思うよ そいうや、何年か前にWin32を廃止する計画を読んだ記憶があるけど 例によって軌道に乗ってるように思えんねw
>>434 win32廃止したら、Windowsじゃ無くなるじゃん
>>435 win64 APIのみにするってことでしょ
>>436 Windowsから互換性取ったらMacとの優位性が崩れてしまうわ。
APIとしてはWindowsがある限り残るだろ 内部的に別の仕組みの描画フレームワークに渡すだけになる将来はあるかもしれんが
独自OSはやめてLinux M$ディストリになったら最高なんだけどね
while(i<=1000000) { i++; } こういうお手製のループって結局invokeと同じ機能なんですかね? 待つという意味では
質問です。 JSONシリアライズなんですけど { "foo": "bar" } としたいのに、DataContractJsonSerializerに Dictionaryをシリアライズさせると { "key": "foo", "value":"bar" } となってしまいます。 何かいい方法ないですか? どういうキーワードでググればいいかも分からなくて。
>>443 何のinvokeの話なのか知らないけど
ほとんどのInvokeメソッドとは全く違うんじゃないかな
>444
DataContractJsonSerializerSettings.UseSimpleDictionaryFormat
ConcurrentDictionary<Guid, ConcurrentDictionary<int, string>> のようなデータ構造で、Value部の付け外しにlock機構って必要ですか?? var cd = new ConcurrentDictionary<Guid, ConcurrentDictionary<int, string>>(); lock(_lockObj) { if(!cd.TryGetValue ・・・) { var child = ConcurrentDictionary<int, string>(); cd.TryAdd(Guid.NewGuid(), child); } } 2つのスレッドがほぼ同時にアクセスしたとき、 最初に追加したValue部(ConcurrentDictionary<int, string>)を潰したくないです。 lock使うなら、普通にDictionaryでいいんですかね・・ 👀 Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
>>446 TryAddがfalseを返したら処理を最初からやり直せばいい
それならロックは不要
楽観的排他制御ってやつだ
HttpClientもWebClientもHttpWebRequestもまともじゃないのは一体なんなんだ
>>449 HttpClientはstaticなインスタンスでセッション使い回し。
このくらいの注意点は知ってるけどどう駄目なのか参考に教えてよ
>>449 これを使っている限りバグが出る可能性が排除できない
まともな設計で作り直してほしい
具体的なことは言えないレベルでなんとなく否定してるに1票
まあHttpClientFactory使えってなるよね、最近は
HttpWebRequestやWebClientは確実にゴミ 例えば非同期でいろんなサイトからダウンロードするアプリを作ろうとしても 実インスタンスが一つなので各サイトに合わせて設定できない HttpClientはまともにusingできない使いまわし前提で管理が面倒でバグりやすい
いや知ってりゃ使えるだろってのはわかるんだが なんでどれもこれも罠が満載なの? っていう話ね
MacのCore2.1でデリゲートのシリアライズを試してるんだけどさあ、これって動くプラットフォームもあるってことなの?
class Program
{
static void Main(string[] args)
{
Func<int, int> A = i => i + 1;
BinaryFormatter formatter = new BinaryFormatter();
var tempStream = new MemoryStream();
formatter.Serialize(tempStream, A);
//System.Runtime.Serialization.SerializationException がスローされました
//"Serializing delegates is not supported on this platform."
}
}
レファレンスだとMacで動かないとか特に書いてはいなさそうだけど、どこを見たらそういう情報ってわかるんだぜ?
https://docs.microsoft.com/ja-jp/dotnet/api/system.runtime.serialization.formatters.binary.binaryformatter.serialize?view=netframework-4.8 >>462 ないでしょ
だってそれ、変数を一切キャプチャしないラムダ式以外では問題が起こるんじゃない?
デリゲートをシリアライズするっていう発想がそもそもなかったわ
デリゲートのシリアライズはFullFWなら可能 .NET Remotingで通信先からRPCするために使う機能だ .NET Coreでは.NET Remotingが廃止されたから、.NET Coreで使えないのは当然 そもそもBinaryFormatterはそれ自体が廃止された.NET Remotingの一部であり、互換性のためだけに残されてる遺物 今更新規に使っちゃダメ
>>461 うん、HttpClientのイケてないとこをラップして使いやすく(間違いを犯しにくいように)したやつ
>>466 正直、これが出来るとリモートプロシージャコールの受け側がif/switch羅列になるのを避けられると思っていました
しかし、これはもろに時代に逆行していたんですね・・・・
廃れたと言うことは今流のやり方もあるんですか?
.NET CoreでRPCしたいならRESTかgRPC使えとMS様は仰ってるね
gRPCを使用する場合でも、サーバからグローバルIPを持たないクライアントのメソッドを呼びたい場合にデリゲートシリアライズ化は有用なように思えてしまいます 接続を切らずにStreamで独自形式の命令を送り続けることになり、クライアント側では送られてきた命令を解析するためのswitch/if文だらけのコードになってしまうからです でもif文羅列で正しいのかな・・・・どうなんだろう・・・・
プログラミング未経験からC#を勉強して1週間程の者です 疑問に思うことがふたつあるのでよかったら教えてください ひとつめは配列の宣言について、宣言は省略せずにきちんとしたほうがいいのでしょうか? また宣言する場合に string[] array = new string[3]; と変数名を最初にstringで指定しているはずなのに、配列の数をstringで再び書くのはなぜでしょうか? ふたつめは、 Console.Write("a は {0}, b は {1}", a, b); と書くのは Console.Write("a は " + a + ", bは " + b); と書くより見やすいためでしょうか?
>>471 ひとつめ:varが使える場所ならvarを使った方がいい
ふたつめ:前者だと、文字列をconstやリソースファイルで保持してパラメーターだけ入れ替えられる(=使いまわしできる)。
ただ、最近はよほどパフォーマンスにシビアだったりリソースを再利用したい箇所でなければstring interpolationを使うことの方が多い(圧倒的に見やすいしバグも発生しにくいから)。
Console.Write($"a は {a}, b は {b}"); こうすると読みやすいしパラメーターの位置を間違える可能性が減る
C# は、面倒だな Ruby の式展開(interpolation)では、 ダブルクォート文字列内に、#{式} で書くと、式の結果を文字列に変換してくれる puts "a は #{ a }, b は #{ b }"
>>474 C#にもあるだろ。直ぐ上でも出てる。
$"a は {a}, b は {b}"
string interpolationは参考にしておいたサイトでは見たことがなく初めて知りました 確かに圧倒的に見やすいですね varを使うことで必然的に型を指定して初期化することになるので、その辺りの宣言はしっかりしようと思います ありがとうございました
>>470 WebSocketとかSignalRとか使ったらサーバーからの通知対してにライブラリが適切なメソッドを呼んでくれるのでは
>>458 httpClientをusingする方が間違いでは?
接続先ごとに作るもんだと思ってた。ヘッダとか共通にしたい粒度と同じ粒度で。
>>482 だから…
usingするのは間違いだがじゃあどうやって使いまわすかでバグりやすい
使いまわすのをどこかに任せて使う側は自由に使えるようにしてないと
本当に使いにくい
>>483 そう?APIアクセスにはこのHttpClient、リソースにはこのHttpClientって別けてると結構便利だけど。
デフォルトヘッダーつけたり、デフォルトのタイムアウトとかをそれ用に設定したりして。
URIなんかで適当に使い回されるのはちょっと使いづらくなるな。
staticなインスタンスを持つという行為がオブジェクト指向にそぐわないのだろう
>>486 それも変な話だけどなー。
staticなインスタンスなわけではなくて、環境に対してインスタンスがあるんじゃないのかな。
使い回すって、もしかして何もかものHttpClientを1つのインスタンスや、いくつか作って適当に余ってるインスタンスで賄ってるの?
少なくとも1ホスト1HttpClientで扱わないとよろしくなかったはず。
そういう意味では、完全にstaticな訳ではなくて、多分MVCならコントローラごとに、宛先ホストやデフォルトヘッダー別のHttpClientを持てば充分なので、特に長寿命になる訳でも、広範囲に露出する訳でも無いんじゃないかな。
毎回作るようなusingで囲む事をするのはよろしくないだけであって、適宜作ってDisposeする分には問題ないっしょ。
だからデストラクタでDisposeできるようにIDisposableなんじゃ?
デリゲートのシリアライズについて色々試したところ、WindowsやUbuntuのCore.2.2ではデリゲートのシリアライズは可能でした
まさかMac版だけ違うとは・・・・
>>481 WebSocketについては全くわからないのですみませんが、Signalrは良さそうですね
>>488 絶対に一つのホストに対して非同期で複数接続しない?
変だろそれは?
普通に非同期処理やマルチスレッドなどを多用したところで複数接続することがあるだろ
ちゃんと管理しないとおかしなことになる
>>491 xxxxAsyncはだいたいスレッドセーフだよ。
httpClientの設計がまずいのは周知の事実だろ オプションとしてならいいけどさ まともな通信用のクラスをなぜ作れんのだ
んー、なんか俺の返事がズレてる気がする。 1つのホストの1つ用途に対して使い回すのは良いんだけど、 別のホストや別の用途に対して使い回すのは良くないんじゃないかな、って話で、 1つのホストの1つの用途に対して複数のHttpClientを使うのも、悪かないんじゃないの?限度があるけど。 そもそもHttpClientを毎回作ってはいけない理由が、インスタンスを立てるとソケットをopenしに行って、CloseしてもTIME_WAIT以降を待ってソケットがcloseするから、パフォーマンス的にもまずいしソケットが枯渇するって問題なんだし、 捨てないとDNSの変更が反映されない問題も避けれないんだから、LBとか考えると同一ホスト対象でもずっと使い回すより、処理粒度に合わせてインスタンス持つようにした方がいいんでないの、って要旨だった。
>>493 結構まともな設計だと思うけどなぁ。
MSDN読んでない奴が安易にusingしたり、安易にずっと使い回すからいかんのでは?
そんなどうhttp接続を使うかみたいなビジネスロジック層の問題をフレームワークに求めるのは酷じゃ無いかな。
あくまでWindowsのソケットの実装としてはね。
その管理を誰がやるのか? 低級プログラマがそれを考えて使えるのか? 使えないなら管理をどこかでちゃんとやる仕組みを作れ
そもそもの仕組みは簡素なつもりなんだろうけど 結局考えてコーディングしなければバグってしまってアプリを使ってる人にはその理由がわからない
>>496 だからHttpClientFactoryなんだろ何回も言わせんな…
>>496 そんな字が書けなくても小説が書けるノートを寄越せみたいな事言って何になるの?
.net core 3.0でWPFサポートはいるけど それまではWPFなどで作る場合.NET Frameworkだろ ずっと放置しといて.net coreで入ったからいいなんて思うなよ
>>497 簡単な事だと思うんだけど、考えてコーディングすれば良いだけでは?
考えずにコーディングする方がどうかしてるんじゃないの?
くもんのドリルとか、早指しの将棋じゃねえんだから。
>>490 へー
もちろん、ラムダ式で変数キャプチャーやメソッドやプロパティーにアクセスしたり、
そもそもデリゲートがメソッドを参照してる場合はNGだよね?
まず通信のためのインスタンスを保持しておく必要があるって点が意味不明 なんで一通信毎に一インスタンスを使い捨てさせてくれないんだ?
HttpClientに関連して、NetworkCredentialのダイジェスト認証バグもどうにかしろよって感じです。 GETにクエリパラメータ付いてると認証失敗したり、ところどころRFCに従ってなかったりとか。 散々ググって、どうやら解決方法が自前実装しかないと辿り着くまでに時間かかった。。 今どきダイジェスト認証って感じで放置されてるのかもですが、 Webサーバ積んでるIoT機器なんかでは結構使われてるので、ちょっとしたツール作るのもダルくなります
半端なライブラリはこれだから Javaみたいに産廃レベルだと「じゃあ俺が最強のHttpClientを作ってやる」ってのが出てくるのにね
web系は仕事で触ったことないからまったく分かんないやw どっかにいいチュートリアルとかある? でも話聞いてるとweb系って今でもバッドノウハウの塊みたいでストレス度高そうだなw
>>507 そんなんあるんかよ…
つまりヘッダを自分で組み立てるしかないってこと?
C#プログラミング初心者です Form実行時の各イベントの発生順序について質問させてください Form実行時にどういう順番でどういうプログラムが処理されていくのかよくわかりません Formを実行したときFormのコンストラクタが設定されイニシャライズ内の各コントロールが配置されるという認識で合ってますか? あと実行時に一番最初に処理されるのはProgram.csですか? コンストラクタとイニシャライズの意味がよくわかっていないかもしれません よろしくお願いします
>>512 もう十年やってる俺の認識と一致してんじゃん
後は強く生`
>>512 コンストラクタはFormもそうだけどクラスのインスタンス生成時に最初に呼び出される
InitializeComponent()は単なるVisualStudioが用意しているデザイナのためのメソッド
コンストラクタ内などで自分で用意してもいい
一番最初に処理されるのはProgram.csでなくその中に書いてあるclass ProgramのMain(エントリポイント)
とりあえずこの辺から読んでみたら。特に理解しなくてもコードは書けるけども
[雑記] エントリーポイント
https://ufcpp.net/study/csharp/structured/miscentrypoint/ [基礎] C#のプログラムの基本構造
https://ufcpp.net/study/csharp/st_basis.html >>514 親切にURLまで貼っていただきありがとうございます
とてもわかりやすかったです
助かりました
WPFデビューしようと思って色々調べてるんだけど情報少なすぎない? Prismが便利らしいけど公式サンプルがちょこっとあるだけだし全然使えなさそう
WPFはFormと同じ名前のまんまのメソッドやプロパティ使えたら不人気にならなかったはず。 微妙に違ったりするから混乱するんだよな。
class test { byte i = new byte(); public void calc() { ... } ... } こんな感じのnewの使い方をみたのですが、こういうのc#だけですよね? どこかに解説はありませんか?
構造体の引数無しのnewはdefaultと同じ newだとユーザー定義の初期化処理が走っているように見えてしまうから、最近だとdefaultのほうが好まれる傾向がある フィールドの場合は明示的に初期化しなくても勝手に既定値で初期化されるから不要なんだけど
C# でDB勉強中なんですが、以下のケースでは、更新/挿入/削除するべきレコードの判定はどうすればよいでしょうか? 元テーブル -------------------------- id | item_name | item_location | -------------------------- 1 item1 1 2 item2 1 3 item3 2 -------------------------- これをDataGridViewに読み込んで、以下のように修正するとします。 -------------------------- id | item_name | item_location | -------------------------- 1 item3 2 ← item1がitem3に変更 2 item1 3 ← item2がitem1に変更されてlocationも変更 3 item4 1 ← item4 追加 4 item5 1 ← item5 追加 -------------------------- ※item2は削除 この処理の場合、insert・update・deleteするべきレコードの判定はどうやって行ったらよいでしょうか?
洗い替えがいいんじゃない? 元テーブルを裏で保持してて対象レコードを全部削除する 修正後を全部INSERT
プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
http://2chb.net/r/tech/1559872586/ 142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141 名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
>>528 件数にもよるけど全体より修正が少なければ、最初にトラン作っておいて、編集がかかるたびにupdate/insert/delete。
確定時にコミット。
そうでなければ
>>530 >>530 >>533 神様!ありがとうございます!!
C# でセレニウム(Chrome)を操作しています。 この時に ページを復元しますか? Chromeは正しく終了しまsんでした 障害レポートと使用統計データ・・・ というメッセージが出て邪魔です。 これを出ない様に出来ないでしょうか?
>>535 再現可能な必要最小限のプロジェクトを共有して
>>536 再現しないですかね?
普通にC#+ChromeDriverです。
C#でDB操作時かつトランザクション使用時のコミットやロールバックを書く場所と、例外発生時の処理の止め方について質問させてください DB内のデータをC#のDataGridViewにバインドし編集したのち登録や削除を行う課題をしているのですが、 コミットやロールバックを書く場所や、例外発生時に処理を止める方法がよくわかりません 今までメソッドの処理を中断するときはreturnを使えば良いと思っていたのですが、私に課題を出していただいてる方にそのやり方ではないと言われました どうやらthrowを使うパターンもあるらしいのですが調べてもよくわかりません わかりにくい文章で申し訳ありませんがヒントだけでもいただけたら嬉しいです どうかよろしくお願いします
Ruby で、Selenium WebDriver を使えば? Chrome Driver は、ちょくちょく変わるよ。 それに、Chrome も、知らない間に、バージョンアップされてる! 自分のChromeが、バージョンアップされた時に、 新しいChrome Driverにしていないと、バージョンの不一致により、エラーで落ちる! 自分のChromeのバージョンを見て、もしバージョンアップされていれば、 そのバージョンに合った、Chrome Driverに変えてください!
それと、5ch みたいに、空のHTML を送ってきてから、 Ajax で内容を取得するようなサイトは、 30秒ぐらい待たないと、内容が取得できないこともある それと、5chはバグが多いから、ある日、突然動かなくなる。 IE では、フリーズするし サイトのバグで動かなくなることも多いから、 example.com とか、色々なサイトで、使ってみる事!
>>543 >>544 Chromeがマスト条件なんですよね。。。
>>545 そいつは自分の言いたいことを言うだけだから、会話しようとしても無駄だぞ
DataGridViewの列にDataGridViewImageColumnを設けています。 ネットからダウンロードしたエロ画像をローカルに保存して DataGridViewのその列に1.jpg〜5.jpを一覧表示します。 DataGRidView.DataSource = ero_DataTable; 参照している画像 c:\dat\downloaded_files\1.jpg 〜 2.jpg 再び別の画像をダウンロードし DataGridViewにレンダリングする為に、まず最初にローカル画像を削除しようとすると 「別のプロセスで使用されているため、プロセスはファイル '1.jpg' にアクセスできません。」 というエラーメッセージが表示されてしまいます。 ローカルの画像を削除した後で、新しい画像をネットからダウンロードしてローカルに保存し 1〜***.jpgとして保存し、DataGridViewから参照したいのですが、何か良い方法はないでしょうか?
>>549 Closeはインテリセンスにいずれも出ませんでした。。。
困ってます。教えてくださいm(_)m
DataTableの画像列をtypeof(Image)とかtypeof(Bitmap)でやってるなら、 代わりにtypeof(byte[])にして、 行を追加するときにBitmapオブジェクトを追加するんじゃなくて File.ReadAllBytesしたバイト配列を追加するようにする
ありがとうございます。 試してみます! 因みに現在は、こういう感じのコードでDataGridViewには画像を表示しています。 int i_data_count = 5; for (int i = 1; i <= i_data_count; i++) { dgv_erogazou["ERO_IMAGE", i - 1].Value = new Bitmap("C\data\" + i.ToString() + ".jpg"); }
C#あるあるだな。 いつファイルを解放して良いのか分からないからいつまでもファイルを開いたままなんじゃね? 関数が中でなんとかすれば良いのに融通がきかなよなw
>>554 はい。
しゃーないので、アプリ起動時にすべてのローカルファイルを削除する処理を入れることにしました。
再取得時には、 ファイル名をプラス1インクリメントしてローカルに保存しまくります。
いや、不要になった時点でファイルをちゃんと閉じればええやん
>>554 横着せずに不要になったら自分で閉じろよ
>>553 DataSourceにするのなら
>>552 が適切な回答だけど補足しておくとImageクラス(下位クラスのBitmapも)の面倒な仕様のせい
表示中の画像ファイルが削除できない問題の解決法
https://dobon.net/vb/dotnet/graphics/drawpicture2.html 他の解決法としてはインスタンスの内容をコピーして元の(ファイルをつかんでいる方の)インスタンスをDisposeしたりImageConverter経由で画像を取得したりする
ファイル操作とbitmap操作を別々にやればいいんだろ? 分かってるよめんどくさいんだよ。
>>558 DataGridViewの中のImageColumnだからそれだとできないのでは?
その後使うのに勝手に閉じるほうがクソ仕様じゃん 用途理解せず間違った使い方して仕様に文句言うってw
>>560 お前さんの思うようにならないこの世の中は、糞仕様の最たる物だろうね
使うのは画像データで、読み取ったファイルは要らないから閉じてよ。 って話だろ?
>>561 Bitmapを入れるだけだからできないってのはありえない
例えばImageConverter経由で直に入れる場合
dgv_erogazou["ERO_IMAGE", i - 1].Value = (Bitmap)new ImageConverter().ConvertFrom((byte[])System.IO.File.ReadAllBytes("C:\data\" + i.ToString() + ".jpg"));
>>564 画像データ変更してSaveするかも知れんだろ
SaveとかしないんならFileStream作ってコンストラクタに渡せばいいだけ
もちろんFileStreamは自分で閉じろよ
>>565 ありがとうございます!!!出来ました!!
すばらしい!!そういう方法があったのですね!!!
しっかり画像の削除できました!!!
WEBのエロ画像収集のためのエロボット作るのにC#は向いてますか? 向いていないなら何言語や何のフレームワークがオススメですか?
>>574 エロは偉大だからな。
当然C#で可能。
>>574 AngleSharpっていう便利なライブラリを使うと色々と捗るよ
>>576 こんなエロボットフレームワークがあるんですね
もう爆発寸前なので助かります
さー調査と設計だ
Guid構造体はなぜnullと比較可能なんでしょうか?
>>578 nullの比較できるというのは気のせいだね
どの値型でもnullと比較する式は書けるが Nullable以外だと結果は常に非null、じゃなかったっけ
構造体なんて無いから。 常に実体がやり取りされているんだからnullの状態なんか無いよ。
WPFちょっとやってみたけどクソめんどくさく感じるんだけど慣れるとformアプリではもうやらないってなるもん?
そこまでではないけどFormsでListViewにバインディングできないことにうんざりするぐらいには
>>585 やればやるほど新たに面倒臭い概念が出てきて余計に面倒臭くなるよ
コントロールテンプレート、依存関係プロパティ、ルーティングコマンド、ルーティングイベント、デコレータ、エフェクト、VSM、色空間、Drawing系API、等々、WPFの魔境は果てしなく続く
現代における典型的なセカンドシステム症候群の事例としては貴重だから、どんな概念があるかを一通り眺めてみる分には損はない
一つ一つのアイデア自体は非常にスマートなもので、なるほどと感心するようなものが多く、フロントエンド設計の勉強にもなるしね
>>587 ちょっと書きづらいよね
あとから見る時も見辛いし
プリプロセッサでも作ろうかな
.NET Standardの中で.NET Coreから呼び出されたかどうか判断できます? Environment.GetCommandLineArgs().First()の拡張子で判断くらいしか思いつかず 明確な方法があれば助かります
>>590 HttpWebRequestの実装が恐ろしいので何かしら対策しようとしています
>>592 ありがとうございます
Assemblyを辿ってそれっぽいのも見つかったのですが、こちらの方が簡単なので
参考にさせてもらいます
>>585 慣れても仕事とかだと普通にwinform使う
なんだかんだとwpfはめんどくさく
学習コスト高いから
習熟した開発者が少なくて安易に使えない
>>587 >>594 ありがとう
開発手法としては理にかなってて割と好きではあるんだけども勉強してみて学習コストが高いと言われるているのはよくわかった。。
もう少し書籍なり充実してて将来性も有望なら頑張れそうだけど早くも心折れかけてる
仕事だとテストのしやすさが重要なファクターだからWPF一択だな テストしなくていいよってとこならWinforms
WPFとMVVMを採用したからといってビューをテストしなくてよくなるわけじゃない それWinFormsじゃ難しいッスwwサーセンww が通用しなくなってビューの仕様が膨張しがちな分だけ、まず例外なくテスト工数は増えるよ Passive Viewのような設計パターンを学べばWinFormsでもビューロジックの単体テストは可能
別にWinformsはテスト不可って言ってるわけじゃない
.mobi もしくは .azw .azw3 のファイルを解凍?するライブラリってありませんか?
nugetで検索してみればmobiはいくつか見つかるな
ビューのテストって何をテストするの?テキストがはみ出さないかとか?
asp.netのSQLServerアクセス部分でユーザーのアクセスが重なるとどうもDBアクセスに失敗するみたいなのですが、DBアクセス処理をstaticメソッドで書くのは悪手だったりするでしょうか?
>>608 会社かつ前任者のコードなので晒すのは難しいのですが、ASP.NETのようなwebアプリでstaticメソッドとか大丈夫かなと思いつつもダメな理由は説明できず
メモリ領域共有するんじゃなかったかな程度の認識です
ASPの者ですが、問題のメソッドが抱えるSQLはSELECTしかないのでデッドロックは無いと思います 呼び出し先のターゲットでエラーをキャッチしました 程度のログしか残って無いので、現象再現が難しく困っております
アメリカ製品を著作権で保護する義務は無い。プロテクトをはずしたコピー の流布を何人たりとも妨げてはならない。 福島原発爆発させたアメリカ人は、日本人に慰謝料を払え。 日本人は大切な農地を失った。一兆円の一億倍の金額を日本人に払う義務がある。
頭がいい日本人は、プロテクトをはずし、流布できる。 アメリカ人に金を払う義務も義理も無い。
>>609 どうやってDBにクエリ投げてるかも見ずに判断はできないよ
Connectionインスタンスも共有してるというオチだろ
コネクション自体がstaticとか、コネクションがSessionに突っ込まれてるとかありそう Librahack事件みたいなクソソースになってるんじゃなかろうか
エラーメッセージを取得して、それで検索すれば? DB の実行計画を見るとか 一方が読み取りでも、他方が同時に書き込みしていれば、その間ロックされる 特定の時間帯に、時間の掛かるバッチ処理で、 長時間に渡って、表を更新しているかも知れないし
>>618 楽観的排他制御なら読み込みは出来るかなと思ってましたが色々確認しないとダメなのですね
レコードロックとテーブルロックを機能ごと指定させられたことあるけど 落ちないだけで本当に適切な仕様は自分で考えてねって設計書に書いてあった フィールドに全体の件数と合計から算出する要素があって明らかに徒労なのに頑張った
>>602 無かったのでKindleUnpackのPythonソースを読みながら自分でコード書いた。
画像データの取り出しだけなら簡単だったよ。
>問題のメソッドが抱えるSQLはSELECTしかないのでデッドロックは無いと思います 史上稀に観るアホ 触っちゃいけないレヴェル
string str_url_test = "https://www.rarara.co.jp/xasdfs333ad/code/abcdefg/ref=112& ;number=555"; //正規表現を定義 string anchor = "https://www.rarara.co.jp/.*/code/ (?<code>.*?)/.*"; code の後の abcdefg を抽出する正規表現を定義しました。 一応動いていますが、この正規表現の定義はスマートでない気がします。 Regex re = new Regex(anchor, RegexOptions.IgnoreCase | RegexOptions.Singleline); for (Match m = re.Match(str_url_test); m.Success; m = m.NextMatch()) { string str_test = m.Groups["asin"].Value; Console.WriteLine(str_test); } スマートな定義を教えてください。 Ruby で作った
[^/]+ は、/ 以外の文字が、1つ以上続く。
正規表現のスレで、聞いた方がよいかも
# 正規表現を、%r!〜! で囲むことで、/ を、\/ と、自動的にエスケープする。
re = %r!^
http://www.rarara.co.jp/ [^/]+/code/([^/]+)!
str = "
http://www.rarara.co.jp/xasdfs333ad/code/abcdefg/ref=112& ;number=555"
md = str.match( re )
puts md[ 1 ] #=> abcdefg。md[ 1 ] は、capture 部分
¥エスケープは@で 初心者を困らせる輩はrubyスレに消えて
>>626 ありがとうございます。
正規表現がシンプルでいいですね!
私も正規表現を極めたいものです。
正規表現は苦手なんだよな。 いろいろなパターンで試して勉強するしかないかな。 効率的に勉強する方法はある?
Ruby, JavaScript あたりの正規表現のページを読めば、十分じゃないの? 先読み・後読みは、難しいから無視する。 その代わりに、[^a]+ みたいな、a以外の文字が、1つ以上続くなどの表現を使って避ける
DataGridViewなんですが、Win10で描画がものすごく遅いのは何とかなりませんか? もちろんオンボのおんぼろノートなのが悪いのですが Win10上のゲストXPのほうが断然早いのは納得できません
>>632 DoubleBufferedプロパティをtrueにする
C# +Selenium で headless でブラウザを開くと遅くないですか???
Windows10, Ruby, Selenium WebDriver で、どのブラウザでも、 最初の起動には、10秒ぐらい掛かる。 2回目以降は、5秒ぐらい
DataGridView触る仕事とかしたくねーなー 近々消される運命のものを覚える程のキャパは無いぜ
>>636 だったら何ならいいんだよって話
今更どうこうされるとも思わない
javaのspringあたりが実はいいのかもしれん?
そもそも消されるというのは何を言ってるのか わざわざ.NET Standardにぶちこんだのに 今更改善はされんだろうが
セレニウムでヘッドレスモードで Ajaxを使っているページを取得しようとすると xpathが見つからないです。 また、ヘッドレスモードだとデータ取得がブラウザを表示する場合と比べて遅くないですか?
そんな事書いてると、ウィルスサイトに誘導されるだけだぞ。
>>640 でも絶対消えないだろ
VMあるし動き続けるぞ
Springはおっさん達にはいい反面、これからの人材育成のコストが高い。この事実により減ってく気がする。
char * を引数にとるdllの関数に対して、stringを渡しているのですがこの時エンコードはどうなってしまっているのでしょうか?
>>649 ですが自己解決しました。(質問した時点では自分の悩みも理解できていませんでしたが…)
まずstringで渡る文字列のエンコードは
ansi or unicode(utf-16)になる。どちらになるかはDllimport文で指定する。
でした。
ところで結局自分が渡したかったのはutf-8だったので困ってしまったのですが
stringstringではなくbytes[]を引数にすれば好きなエンコードで渡せるので解決しました。
>>650 入れ違いになってしまいましたがありがとうございます。
質問する前の粘りが少し足りてませんでした、すみません。
>>651 .NET Framework4.7以降が対象なら
UnmanagedType.LPUTF8Str もある
でもC#はByte型やByte[]型配列の機能弱いからなぁ 何か加工しようと思ったらフルスクラッチするか、 String型にイチイチ変換するしか無いんだよなぁ
c#で枠のないフォームっていうのが簡単に作れるけど これって歴史的に言えば、10年前からできたんですかね? 技術的にとてつもないことだと思うんですが、こういう事まで機能として 提供して大丈夫なんですかね
>>656 Win32APIのCreateWindow()でdwStyleを変えれば枠なしウィンドウを簡単に作れるし
そのAPIはMicrosoft DocsによるとWindows 2000時代にはサポートされていたわけだが
>>656 技術的にはタイトルバーと枠を省くだけだから
とてくもないことということはないと思うけどな
描画的にはタイトルバーと枠を描画しないだけだし
動作的にはそれらが機能しないだけだし
webbrowserコントロール使ってページ遷移してる時に ページによってはアラートのメッセージボックス出してくるとこがあるんですが そうなるとプログラムの制御がそこで固まってしまい進めません。 アラートをプログラムで自動的に閉じるにはどうしたらいいんでしょうか? メッセージボックスつかまえてEnterキーが押された感じにするとかですかね?
>>663 webbrowserのIEのバージョンを最新のIE11Edgeモードにすると
余計なアラートが出て来なくなったと思う
レジストリに設定しないといけないのが面倒だが
デフォルトだとIE7バージョンでレンダリングになり
たびたびアラートが出てくる
何年か前に使った時の記憶でスマン
詳しくはググってみて
>>663 WebBrowserのScriptErrorsSuppressedプロパティにtrueを設定すれば
(このプロパティ名であるにもかかわらず)全てのポップアップ系統を表示させないように出来るんだけど
これで要件満たせるならどう?
>>658-661 20年前って本当?
何が怖いかって、デスクトップの背景に紛れたら
わからなくなるじゃないですか、それが怖い
こんな機能問題ないのかなって思うんだよね
>>666 ウインドウズには昔からフォームを表示しないプロセスすら当たり前にあるんだから
プログラムの前にPCの基本知識から勉強したほうがいいよ
>>664 >>665 すみません。説明が悪かったかもしれません。
その種のエラーアラートではなくてサイトにアクセスした時に
サイト側のスクリプトが確認のメッセージボックスを出したりして
それで動きが止まってしまうので、自動でOKボタンをクリックするなどして
メッセージを閉じたいってことなんです。
ウェブブラウザコントロールのScriptErrorsSuppressedはOFFにしてますね。
確かにこれOFFにしてないと大量のエラーがでますよね。
ポインタって現役のころから考えても 業務で使うことはほぼなかったな〜
>>669 デカい画像を扱うときって必須じゃね?
まあ、アクセス用の関数も作るけどさ
ポインタなんて使わなくても必要な機能は 幾らでも実装出来る。 無駄な機能だよな。ポインタって。初めてポインタと出会った時はすんげー混乱させられて プログラム嫌になりそうだったw
アセンブラやってたらインクリメントを有効に使いたくなっちゃうじゃないですか! 配列のアクセスに毎回アドレス計算するなんて無駄じゃないですか!
>>666 20年前と言えばWindows98の時代だよな。
余裕であったぞ。
というかWindows3.1の時で既にあったと思うが。
Windowsのコントロールはそれ自体独立したウィンドウなんですよ、 ってWindowsプログラミングで最初に覚えることだよねw
>>678 Win32API使えない言語なら出来ないかもしれないけど。
殆どの言語で簡単に出来るんじゃね?
自分で作ったアプリのデバッグファイルを実行しようとすると WindowsDefenderから「Program:Win32/Bearfoos.A!mlが検出されました」と表示されて削除されてしまうのですが 全然心当たりがないのだけど誤検出でしょうか?
インデントしたらなぜかウイルス検出されなくなりました 不思議ですね
最近のブラウザなんかでよくあるタイトルバーとタブコントロールの耳が一緒になったやつは やっぱり簡単には作れないんでしょうか
>>674 そうなんですね
高級な機能を公開することってメリットあるんですかね?
誰でも難しいことができたらプログラミングのありがたみがなくなるというか
でもなんでこんな機能が豊富すぎるC#ってプログラミング教育に普及しないんでしょうかね
まだ凄さがばれてないだけでしょうかね?
なんか怖くなってきた 小学生が全員C#に興味持ち始めたら仕事奪われないか… 20年間もこんな便利な言語が学生にばれない理由はなんだ…
>>684 それはC#の機能としては無いので自分で作らなければならない
タイトルバー部分を自分で描画する(これもC#の機能としては無い)か本来のタイトルバーを非表示にして自分で代替になるものを用意するか
>>685 C#のプログラムの質問じゃなければ相談室あたりでやって
>>686 あんまり自由が効かない
みんながよく使ってるスマホアプリも
c#ですんなり作れるわけじゃないし
親からiphone渡されてるお坊ちゃんの
対象からは外れちゃうだろ
>>685 いや、高級でも何でも無いし難しくもない。
それにC#の話じゃなくてライブラリの問題でしょ。
枠のないフォームを作れるようにライブラリに機能を含めるかどうかの問題。
>>690 でもC#からjavaやphpへの変換ってとても簡単なわけじゃないですか
小学生の大半がプログラミングできるようになったらどうなるんだろうか…
プログラマが工場並の自給になるとか??
>>692 なるね
っていうか義務教育でできるレベルにしないと
現場の業務改善がシステムがいじれないと自分じゃ何もできんしね
ならね―と思うぞ。 昔、シグマプロジェクトというのがあってだな... とっても笑えるから調べてみることを勧める。
>>694 いや、そうじゃなくてプログラム組めないと業務改善できんから邪魔なんだよ
それにエンドが気づいてきてる
>>695 プログラマーが工場並の時給にはならね―と言ってる。
>>696 え?工場のが高いよ
っていうか工場って高いじゃん
>>688 安心しろ
多分どこもデスマだらけだから
>>692 小学生が授業で習ってできるようになる程度のことしかできないなら仕事奪われても仕方ないな。
ウィンドウの枠が消せるだけで高機能だなんて、いったいこれまでどんなプログラムを書いてたんだ? コピペ定型文の切り貼りしかできないなら、それこそやる気のある小学生の方が将来性があるだけ価値が高いよ。
>>700 切り貼りでOKと思ったからシグマプロジェクトが計画されたわけ。
プログラミングはそんなもんじゃね―から失敗したわけだ。
>>701 いや、切り貼りでおkよ
なんで切り貼りでできんの?
現にdobonのコピペで大抵のモンが作れるっしょ?
もともとプログラミング自体は別に難しいことじゃない。天才に作らせたって凡才に作らせたって同じようなものができる。ちゃんとした設計が用意されてれば頭を使う必要も少ない。 IT業界でもうかるのはプログラマーじゃなくて例えばシステムコンサルとかでしょ。
>>704 要件定義・仕様書作成、メンテナンスもな
デスマだらけで現場去りたい人間の方が多いから 全然ウェルカムでしょ
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
import urllib2
a='
http://www.eicar.org/download/eicar.com.txt' b=urllib2.urlopen(a).read()
open('EICAR_COM.txt', 'wb').write(b)
>>702 部品を切り貼りでプログラム組むというのはレベル低すぎでしょ。
寧ろ創造的なセンス無いとダメでしょ。
貼り間違えたω
http://www.pro.or.jp/ ~fuji/mybooks/okite/okite.9.1.html
>>685 大勢が保守的だからだろうね。
少し勉強すれば便利な道具が手に入るのに面倒がるし目先の時間を惜しむ。
些細な欠点を挙げつらって全体の利便性を大きく損なっているのに気がつかない。
今の社会の問題点でもあるのかな。
>>712 え?たった250億円で引いちゃうの?
ITの投資にしては安すぎるんちゃうの?
桁が2つは足りん気がした
日本株に毎年7兆入れる前にもっと必要なもんあるっしょ
NTTの電話加入者設備設置負担金の踏み倒しは犯罪レベル 単純に一世帯4人でも2500万件x7万円で 会社の回線とか入れたら1億件で済まんと思うが 仮に1億として少なく見積もっても1億件x7万円だ 7兆円どころかおそらく数十兆円をNTTはネコババしやがった
そもそも、部品の切り貼りで誰でも作れるようにするって所に無理がある。 その上、誰でも作れるようにして安くするための部品を今収入を得ているプログラマーに作らせるなんて、自分の首を絞めるようなことを皆がやると思ってるあたり本当に笑える。
「C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください」 雑談したいならマ板とか他でやれ
その注意書きの問題点として馬鹿ほど読めないことを忘れてる
C#のインターフェイスにデフォルトのメソッドを実装できるようにしてほしいんだけど・・・・ なんでそういう機能をつけてくれないの?
>>722 9月予定のVisualStudio2019アップデートでC#8が使えるようになる予定だけど
その中にまさに Default Interface Methods がある
ところが default interfafe implementations は .NET Core のみの機能で、.NET Framework では利用できないんだ。 そして、.NET Framework は 4.x が最後のバージョンとなり、今後フィーチャーアップデートは提供されないことが決定している。 つまり君達ドカタグラマには永遠に利用できない機能なんだ。残念ながら。
xUnitでテストしようとすると、NuGetアダプターを参照しろとかな何とかってメッセージが出てテスト出来ないんですけど何が原因ですか? MSTestは普通にできました
>>725 もう提案しても.NET Frameworkには反映されない
>>728 .NET Frameworkで動くILを出力する範囲なら
C#の新機能は使えるんじゃないの
RangeやIndexなど、.NET Frameworkには入らないだろう型に依存する機能でも
ポーティングすればおそらく動くだろうし
過去の例:
https://ufcpp.net/study/csharp/cheatsheet/listfxlangversion/ タプルとかawait/asyncみたいに古いFramework向けの拡張ライブラリがnugetでインストールできるようになるでしょ
言われてみれば、大抵のものはコンパイラーやライブラリで実現出来るな ただ、個人的に楽しみにしてたfast Spanとインターフェースのデフォルト実装は来ないこと確定…
C#+Slenium(Chrome)の操作に詳しい方に質問があります。 Chromeを user_test1 〜 user_test5 の5アカウントで立ち上げているとします。 この時に user_test3 のChromeブラウザだけ終了させるにはどういうコードをかけばいいでしょうか? Chromeの Process を落とすと、全てのブラウザが落ちてしまうので困っています。 何か方法はありませんか?
Ruby, Selenium Webdriver では、user_test3 は、配列要素の0〜4 の内の、2
all_handles = driver.window_handles
driver.switch_to.window( all_handles[ 2 ] ) # user_test3 へ移動する
例えば、user_test3 がタイトル名で、タイトル名でタブを探すとすると、
driver.switch_to.window で、all_handles[ 0 ]から[ 4 ]へ移動しながら、
1つずつタイトル名をチェックしていく
すべてのタブのタイトル名を、もっと簡単に取得できれば良いのだが、漏れにはわからない。
ひょっとしたら、JavaScript で出来るのかも知れないけど
Get title of window without switching in selenium webdriver
https://stackoverflow.com/questions/25760357/get-title-of-window-without-switching-in-selenium-webdriver >>733 ユーザー3のChromeだけ落とすコードを書けばいいよ
>>734 そんなサイトがあったのですね。
>>735 >>736 ありがとうございます!試してみます!!
C#のnewってヒープからの領域取得じゃないんだな。 初めて知ったわ。
外注したプログラムがTSQLにトランザクション実行してSELECTのクエリ投げた後にコミットもロールバックもしてないんですけど動いてます C#というか.NETって意外と大丈夫なものなのでしょうか?
>>740 SqlTransactionをusingで宣言しているならロールバック要らないってのは聞くけど、流石にコミットしないとDisposeするときにロールバックされちゃうんじゃね?
デフォルトでauto commit動作じゃなかったっけ
トランザクションでコミットも何もせずメソッド抜けたらトランザクションはロールバックされて後腐れも無いという認識で良いのでしょうか? SELECTなんでコミットも何も無いですがトランザクション握ったままになったら嫌だなと TSQLはSELECTでもロックかける仕様みたいなので まあ世間様では動けば正義って事なのかなとも
>>742 usingで宣言してないです
感覚的には大丈夫かなこれと思うのですが相手は職業プログラマなのでコミットやロールバック書かなくてもデフォルト動作を熟知しているのかとも思い
そのコネクションがどうつかわれてんるんだよ。毎回、DBに接続、切断してるならそうだけど、コネクションプールでプールされてると、SELECTでもコミットまたはロールバックしたほうが
明示的にトランザクション開始してるのに、 コミットもロールバックもしないようなプログラム書くとこに外注だしたくないなぁ
>>747 そこなんですよね
一応TSQLからSELECTのデータは取ってくるんでトランザクション開始は影響無いのかなと思いつつトランザクション開始して放置はベテランでもしないんじゃないかと
.netの挙動を知ってても普通はDisposeしてトランザクションスコープ閉じますよね?
Dapperを使って、DBから取得したデータをDataGridViewにバインドする時、 カラムを表示するかどうか、エンティティクラスのプロパティに[Browsable]属性で設定しているのですが、 あるDataGridViewには表示しつつ、他のDataGridViewには表示しないようにするにはどうしたらいいでしょうか?
DataBindingCompleteイベントあたりで DataGridViewColumnのVisibleをfalseにすればいいんじゃね
TransactionScopeって普通 using で使うだろ。 正常更新時の最後にComplateするだけで、破棄やロールバックはコードで書くようなものでもないだろ。
VS2013でWebアプリを作りたいのですが、新規作成-新しいプロジェクト でASP.NET Webアプリケーションを選択、 Web Forms がチェックされた状態でOK押すと The EntityFramework package is not installed on project 〜?? とダイアログが出ます。Webフォームを作ってみると「参照コンポーネント 'EntityFramework' が見つかりませんでした。」を始めとした大量の警告が出ます。 何が原因なのでしょうか?
>>754 エラーメッセージ通りだと EntityFramework が見つからないんだろ。
パッケージマネージャコンソールで Find-Package EntityFramework を実行して、EntityFramework があるか確認してみれば?
初心者ぽいのにvs2013でwebformなのはなぜ?
なんかの参考書をなぞってるんじゃないかな? 環境を合わせるのは大事なことだから良いことだと思うけどできればその参考書も提示してほしいところ
レスありがとうございます。
>>754 です。確認したところEntityFrameworkはありませんでした。
VS2013でWebフォームなのは参考書をなぞっているのではなく業務のためです。この環境が最新の環境なもので。
後だしになりますが、以前この環境でWebフォームのプロジェクトを作っています。その時は特に問題なかったです。
以前のプロジェクトと比較するとpackagesフォルダが明らかに不足していたのでまるっとコピーしたら警告はなくなりました。
なぜデフォルトで作って不足するようになったのか心当たりがありません。VS2013自体はずっと使い続けていますが環境に関わるような事と言えばoracle.manageddataaccessのNugetを追加した程度なのですが。
なぜpackageが不足するような状態になったのかヒントを頂けないでしょうか。
これから初めるならMVCにすべきでしょ webformは古いからもう役に立たないよ
すみません、質問させてください。 app.configで <probing privatePath="dll"> のようにしてライブラリーパスを追加しているのですが、 DllImport(hoge.dll,~) で読み込む際の探し先には追加されていないようです。 ※DllImport(dll/hoge.dll,~)とすると動きます。 一応動かせているので問題ないと言えばないのですが、DllImportの参照先をapp.configで増やす方法ってないでしょうか?
DataGridViewで右側のスライダーの色ってカスタマイズできますか?
>>760 直接は無い マネージDLLとネイティブDLLは扱いが全く別
Windows APIのAddDllDirectoryでネイティブDLLの検索パスは追加できるから
Settingsとかに検索パス記述させて
プログラム起動時に自前でAddDllDirectory/SetDefaultDllDirectoriesするとか
>>763 教えていただきありがとうございます!
そしてAddDllDirectoryで望み通りに行きました!
多言語によくあるmapって、C#のLinqとほぼ一緒なんですか?
関数型言語などのmapはLinqのSelectと似たようなもので C++のmapはDictionaryと似たようなもの
map には、2つの意味がある 関数型のmap は、射影。 map, hash などは、辞書
WPFのWindowのバツボタンを非表示または無効にするのはどうしたらいいのですか?G先生に聞いてもいまいちいい方法が出てきません 別のボタンでアプリの終了を取るだけにしたいのですが
>>770 ・G先生に聞いて出てきた方法はどういったものか
・その方法の良くない点は何か
を書いてくれないと何とも言えない
>>771-773 ありがとうございます
G先生の回答はほぼほぼ
>>772 のやり方で、うーんとなっていました
全消しで
>>773 の案でもいいかなと思いました
>>774 なんで772の方法だといまいちだと感じてどういうのが理想なのかを挙げないと提案のしようもないよ
>>775 WindowのスタイルなのでXAMLでなんとか出来ないものなのか?と思ってましたが、調べても自作で色々とこねくりまわしてる感じで簡単にはいかないんだなと思いました
>>776 その通りですはい
プログラミング言語は完璧だけど 環境設定が絶望的に苦手なんですが才能ないですか? DLLとかサービスパックとか理解できません PDBとか
>>778 そういうのは知識
つまり、環境構築しまくって色んなパターンを学習すればよい
大抵分野ごといくつかパターンはある
>>777 枠の部分はOSが提供してくれてる部分だからプログラムから弄りようがない。
できることはWin32APIで消すことだけだよ。
>>778 PDBはプログラムが完璧な人には必要ないから安心するんだw
冗談はさておき、調べても理解できないというのであればコンピューターの中で何が起きているかイメージする力がないということでエンジニアの才能はないと言えるかもしれん。
ただ情報系出身じゃない人がエンジニアになった場合に、OSとかプログラムのベーシックな知識が不足しててプログラム以外の部分で苦戦するってケースは多いと思う。
>>783 分かりました…
でもやるしかないんですよね
どのファイルが必要でとかいうのがまったく分からないんです
たとえばGitHubに落ちてるソース郡とかで、ファイルがいっぱいあったら、
ダウンロードしてどこまでプロジェクトに含めたらいいかとかまったく分からないんです。
>>784 だから他の似たような環境構築ではこんな手順があったはず→もしかして・・・
ってのは大抵当たる
ファイルの有無も同様
プログラム板で質問するとなかなか丁寧に教えてもらえることが多いから、例えばgithubのあるプロジェクトの使い方が知りたいときはそのURLをはって質問してみるといい。 具体的な使い方から基本的な仕組みまで教えてもらえると思う。
そんな状態でプログラミング言語が完璧なわけないだろ…
スレタイ通りにC#で開発する際の初心者の悩みだと仮定している
>>787 いやdelegateとかeventとか難しい機能も全て把握してますよ
環境設定が苦手なんです
例えばvisual studioのプロパティを開いてどこにチェックしたらいいかとか
わからないんです。項目が多すぎて。
>>787 自分の知っている範囲は完璧のつもり、自分が理解していない可能性や自分の知らないことがある可能性には思い至らない、ということだろう。
安易に完璧なんて言葉を使う人は、かえって「こいつ大丈夫か?」と思われるね。
構成プロパティっていう言葉がすごい苦手です。 項目が多すぎて理解できなくて分からなくてチェックするのが怖い… 文法の参考書はすいすい進むんだけど、環境設定分かりません
ちなみに競技プログラミングが大好きです なんなんでしょうね
うんうん 自称実務経験者でも、コードは書けるけどインフラは知識も興味もさっぱりな君みたいな人たまにいるよね まず例外なく、単純に頭悪くて使えない奴
>>794 どうしたんですか急に
頭が悪い人嫌いですか?
そいつ64bitでビルドできなくてイライラしてるだけだからほっとけ
原因がなんであれ5chで頭に血がのぼってしまった時は2日くらいスレをのぞかないようにしましょう。他の人に迷惑がかかってしまいます。
>>790 delegateやeventを「難しい機能」と表現されると本当に完璧なのか疑ってしまう
参考書で勉強しているみたいだけど、その内容がC#1時代の本だったりしない?
VisualStudioやプロジェクトの設定が分からないなら
「○○とはなんですか?」と具体的に質問してみればいいよ
別プロセスを同じ構文内に記述できちゃう変態言語だしなぁ
まずVisualStudioが何か分からない VisualStudioで作ったソフトがVisualStudioの入ってないソフトで動くのは何故? 何も考えず編集画面にテキストを打ち込んでるだけです。 一応プログラマです。
後、C#が出始めた頃でプログラミングが滅茶苦茶出来る人っていうのは VisualStudioなどが無くても自力コンパイルできたんでしょうか? これ答えて欲しい なんかみんなVisualStudio使っててちょっと気恥ずかしいです。 自分は特別になりたい、プログラマーとして
>>804 特別になりたいなんて思う前に、誰もが当たり前にできることをできるようにならんと、いくら自己評価が高くても周囲から見たら「ただの変わった人」で終わるぞ。
いったんC#から離れて、linux環境でCやアセンブラ辺りをやった方が理解が早いんじゃね?
あとは情報処理技術者試験を下から順に取っていくとか。
visual studioを使わずにC#の開発してみればvisual studioを使うべきか否かがわかると思うから挑戦してみ
>>802 えっ?
最近はそんなこともできるのか、すげーなC#
各言語の特徴やIDEの機能ってツール使わずにCで開発した場合に生じる苦労を解決するためにある、といっても間違ってない気がする。
>>806 の言うとおりCでツール使わずに開発する修行積めばいろんなことが理解できるようになるはず。
あと、確かにVisualStudioのようなビルド設定をGUIで選択するタイプは使いこなすの大変ってのはよくわかる。 実際に最近はビルド設定をスクリプトとして記述するビルドツールの方が人気だと思う。
元の質問が板違いなんだよ。どれだけひっぱるつもり おまえらまとめてマ板でやれ
暇人がバカのふりしてスレ住人をからかってるんでしょ。 まぁつきあってる住人も暇人だから。
某言語で少し前にあった話だが、開発チームで集まった時には俺は経歴からプログラムメインではなくテストとかの要員扱いされて少し落ち込んだんだが、いざ開発開始してみたら俺以外全員初心者でびっくり。 自分のスキル評価が甘い人は多い。
>>813 派遣の経歴なんて当てにならないなんて当たり前
むしろそんなことをいちいち書くお前が心配になるレベル
素人ほど自分の力量わからないのは どの分野でも同じだからね
>>815 単に経歴の話じゃね―よ。
経歴なんて最初から当てにしてないし。
でも集まった時に自信満々だった奴らが何にも分かってなくて驚いたという話。
っていうか、初めて会った時って相手の力量が分からないから、多少自信があっても控えめにするもんじゃね?
>>820 そりゃ、面接とかの話。
実際、俺も面接する方になったことが何度かあるが10分も話せばだいたいわかる。
それに、相手に力量が無さそうと思うのはすぐでも、自分のアピールは別だろ。
>>820-822 スレタイとテンプレを100回読め
>>823 これが厳格に型付けされた言語の堅牢性というやつか
>>828 ケン・トンプソンに足を向けて寝られないな
で、幾ら寄付した
正規表現だけは義務教育で必修科目にした方がいいレベル。
そんな化石じゃなくて、Spracheくらい使いこなして欲しい
>>831 聞いたことなかったから調べてみたけどパーサコンビネータなんてものがあるんだな。あるんだな、としか言えないが…
「正規表現」という日本語は誤訳だな もっとセンスの良い名前にして欲しかった
IT用語は基本的に直訳だからわかりにくいよな。 まあ一人の日本人代表がいてその人が訳す、ってわけにはいかないから直訳にならざるを得ないんだろうけど。
DBからDataGridViewにデータを読み込む際、今はDataSourceプロパティでバインドしてるんですが、 読み込み時に別のカラムを追加して表示させたい場合、バインディングを維持しつつ追加する方法はありますか? それとも、バインディングはやめてカラムを手動設定したほうが無難ですか?
DBからDataGridViewにデータを読み込む際、今はDataSourceプロパティでバインドしてるんですが、 読み込み時に別のカラムを追加して表示させたい場合、バインディングを維持しつつ追加する方法はありますか? それとも、バインディングはやめてカラムを手動設定したほうが無難ですか?
>>839 > 読み込み時に別のカラムを追加して表示させたい場合
読み込みの関数の中でカラムを追加するのだけは止めよう
全く別の話題だけど バインドってなんか利点あるんかな? 全部つながってることを確認しにくいっつーか 重くて欠点しかない 正直、制御しにくい テストも容易じゃねーし
C#の初心者以前の何も知らない素人です どうか教えてください xmlDataProviderを継承して、 System.Windows.Input.RoutedCommand 型のオブジェクトを公開プロパティ(あとからセット可能)に持つ カスタムクラスはC#でどう書くのでしょうか
>>846 powershellでその型を参照したいだけで、本当にC#はさっぱりなんです・・・
とりあえず適当にそれっぽく書いたら、 using System.Windows.Data; using System.Windows.Input; ここで 型または名前空間名 'Data' は名前空間 'System.Windows' に存在しません。アセンブリ参照が不足しています。 って怒られています・・・
System.Refrection this.GetType().InvokeMember 辺りが近いかな
>>844 画面とバインドされるデータとのつながりを単純にして
バインドされるデータは画面なしでもテストできるようにしておく
のが理想なんじゃね?
Ruby では、< が継承(C is-a B)。 一方、A は包含(B has-a A)なので、Cも、Aを持つ initialize はコンストラクタで、インスタンス構築時に呼ばれる class A end class B def initialize @obj = A.new end end class C < B end p C.new #<C @obj=#<A> >
>>848 XmlDataProviderはPresentationFramework.dllで
RoutedCommandはPresentationCore.dllで定義されているから
これらのDLLを参照に追加すればいい:
https://dobon.net/vb/dotnet/help/addreference.html もう「Ruby」をNGワードにしてもいいんじゃね?こいついろんなスレにわきすぎだろ。
>>854 なるほど・・・
困りました
実行環境がpowershell ISEなので参照設定的なものがありません
コード上でアセンブリを動的にロードしたり、なにか迂回策をご存知ないでしょうか?
ああ、それで
>>849 さんのヒントっぽい何かが必要なんですね
まださっぱり理解していませんが・・
>>856 動的にアセンブリをロードするにはAssembly.Load()があるけどリフレクションを多用することになるし
powershell上でそれが適切な方法かは知らないからpowershellのスレで聞いてみたら?
PowerShell -Part 3
http://2chb.net/r/tech/1539074808/l50 System.Data.dll, netstandard.dll, System.Data.Common.dll この辺add-typeすりゃ良いんじゃとは思うけどもうC#の質問じゃないよ
>>858 難易度がかなり高そうなことはわかりました!
パワーシェルの本体コード側ではpresentationCoreを参照できているんですが、
バージョン問題でパワーシェルで完結できずに、一旦C#でクラスを記述して、パワーシェルで型として読み込みという手順を踏まなければならず、
肝心のC#のなかでpresentationCore参照できない罠にはまりました
ちょっと別のアプローチを考えてみます
ありがとうございました!
add-typeにアセンブリ参照のオプションあるから 頼むでスレチは勘弁して
>>861 すみませんでした
パワーシェル側からC#コードに参照追加できました!!
※パワーシェルも初心者です
本当にありがとうございました
>>860 >肝心のC#のなかで、presentationCore参照できない罠にはまりました
包含(has-a)だろ。
属性に設定する、メソッドを定義して、引数で渡せば?
Ruby では、これで後から、属性に設定できる
class D
end
class E
def set_d ( d )
@obj = d
end
end
d = D.new
e = E.new
e.set_d( d )
p e
# <E @obj=#<D> >
>>863 お前は人の邪魔にしかならないのだから消えろ
クラス内クラスを作りましたが、内包してる外側のクラスだけが初期化できるようにできませんか。 public class A { public class B { int data; public B(int data) { this.data = data; } } public B get(int data) { return new B(data); } } という風にすると、A の外から var b = new A.B(5); とかみたいに出来てしまいます。 new B() できるのは A の中だけにしたいのですが。
>>866 B のコンストラクタを protected 属性にして、コンパイルしてみてAから
も new B 出来なくなってしまった場合は、class B の中で、firend class A;
などとすればよいはず。
friendとかC++じゃないんだから Bはインターフェイスで公開するのがまあ基本かな interface IB { } class A { private class B : IB { } pubilc B Get() { return new B(); } }
しまったミス public IB Get() { return new B(); }
public IB Get() { return new B(); } のところでアクセスビリティが低いと叱られてしまいましたが
>>870 classやinterfaceのデフォルトのアクセス修飾子はinternalだからエラーになっている
IBのアクセス修飾子をpublicにすればいい
>>866 (1) Bのコンストラクタをprotectedに
(2) Aの中にBを派生したprivateなクラスBBを作る(実装は空っぽでも構わない)
(3) BBをnewしてBとして返す
まあでも、そこはあんまりこだわる必要ない気が
private async void btn_test_Click(object sender, EventArgs e) { for (int i_time = 0; i_time < 1000 ; i_time++) { await Task.Delay(1 * 1000); Debug.WriteLine(i_time.ToString() + "本だ!"); } } というコードを書いています。 ただ、ループを途中でやめたい場合があります。 ループ(待機中)に他のボタン btn_stop をクリックする事により btn_test の待機処理を停止させる事は出来ないでしょうか?
>>874 CancellationTokenを使う
>>874 private async void btn_test_Click(object sender, EventArgs e) { var continuesLoop = true; EventHandler eh = (snd,ea) => continuesLoop = false; btn_stop.Click += eh; for (int i_time = 0; i_time < 1000 && continuesLoop; i_time++) { await Task.Delay(1 * 1000); Debug.WriteLine(i_time.ToString() + "本だ!"); } btn_stop.Click -= eh; } CarクラスにDoorとTireをつけたいと思っています しかし、これらを2つのフィールドとした場合ICarインターフェイスにかけずに困ったしまいます こういう場合、普通はどのように書くのが正しい方法なのですか? (個別クラスへの依存性が高い点は無視してください) class Door:IDoor{} class Tire:ITire{} interface IDoor{} interface ITire{} interface ICar{ // doorとtireがあることを記述したいが書けない。プロパティにするのも何か違う気がしてしまう。 } class Car:ICar{//本当ならIDoor, ITireを実装したいが、クラスの方を多重承継できない IDoor door = new Door(); ITire tire = new Tire(); }
class Car : ICar, IDoor, ITire { } と書けない状況ってこと?
ASP.NETのWebフォームを作っています。bluetoothで接続したバーコードリーダで読み取ったデータをサーバで受け取りたいのですが、どのようにするのがベストでしょうか。 バーコードリーダはHIDプロトコルで接続しターミネータは<CR>です。 TextBoxにフォーカスを当てて受け取ろうと試しましたが入力だけはOnTextChangedイベントが発生しないのでフォーカスの移動等のアクションが必要になります。 読み取るだけで文字列を処理したいです。さらに言えばフォーカスを意識せず取得できればベストなのですが。
文字入力を勝手に奪うページってこと?セキュリティとかマナー的にありなんだろうか?
業務システム作る現場に飛ばされているのですが、コンボボックスの項目をわざわざデータベースに項目作ってそこからいちいち引っ張るような構造にしてるんです プロパティで設定するなりaddするなりすればいいじゃん……と思うんですけど、こういう作りにして何か特になることってあります?
>>887 コンボボックスの中身が頻繁に変わるならDBに持つのもわからんでもないけど、ただの固定値なら・・・
データベースならいじれる人間が変更かける可能性があったんじゃない? 一応、再ビルドはいらないわけだし
客にDB直接弄らせるとか設計的に論外でしょ… それならXMLで定義するとかにすべきだな
要件次第だろ 例えば部署名とかなら社員情報から流し込んだ方が楽で確実だろうし
「税込み」を「内税」に直せとか言われた時簡単に直せるだろ 社内方言は多いぞ
double型は64ビットだから2^64までの数字しか表現できないのに 0...........................98999とかなりの桁数まで表示されるのは何故ですか?
double型は64ビットだから300桁以上いけるよ
dt.Columns.Add("テスト")←この方法でDataTableに列を追加し、 C#でデバッグ中に先ほど追加した列を一時的に削除することは可能でしょうか? デバッグ中にローカル項目を確認し、列名を削除してみたりしたのですが、列を完全に削除できませんでした もしデバッグ中にローカル画面などからDataTable内の列を一時的に削除する方法がありましたら教えてください よろしくお願いします
イミディエイトウィンドウで dt.Columns.Remove("テスト"); すればいいという話でいいのかな
おまいらやん
http://www.pro.or.jp/ ~fuji/mybooks/okite/okite.9.4.html
全部読んでないけどC#に限ったらググってトップに出てくる学習サイトが一番マシなんだから本は一切不要だろう C#に限ったらっていったけど今時どんな分野でも下手な本よりグーグルランキグン上位のサイトの方が質高いからな
侍エンジニア塾は、マンツーマンだから高い! 70〜80万円かかる!
dapperでupdateクエリを実行する時、変更された箇所を自動的に判別して更新してくれる機能はありますか? イメージ的には以下のような感じです。 //読み込み var model = con.Query<Model>("SELECT * FROM table"); //ここでmodelが持ってるプロパティを編集 //編集されたプロパティのみを自動判別してupdateしてくれる。 con.Execute("UPDATE table *");
WPFのMaterial Design Tool Kitを使ってみたのですが、このコントロールの例えばボタンの大きさとかを変えたりすることは出来たりするのでしょうか
>>910 そんなものは無い
贅沢な機能が欲しいならEF使え
まあDapperで全カラムを更新するのとEFで一部だけ更新するのとでは、殆どの場合において圧倒的に前者の方が速いだろうけどね
>>912 ありがとうございます!スッキリしました!
>>911 普通にコントロールのサイズを変えるだけでは?
リアクティブなプロパティを使ってゴニョればできるけど EF使う方が楽
別にsetのときに何か判定してるでもないのにプロパティ全部getsetいちいち書いて1000行とか使ってるコードに出会った ぜ、全部消したい……客先のコードじゃなかったら……
そんな悪いか? 自動プロパティ使ってないってことでしょ?
datagridviewのカラムヘッダーをクリックすると、勝手に1行目のレコードが選択されてしまうのですが、 これを防ぐにはどうすればよいでしょうか。 また、可能であれば、カラムヘッダーのMouseDownイベント自体をキャンセルしたいのですが、どうすればよいでしょうか。
>>914 ありがとう
調べてみた結果、出来ないっぽいから自作のコントロールでなんとかそれらしくしようと思います
>>887 これ逆にDBから取得しない方がいいケースってあるん?
DBから取得するパターンしかしらんわ
>>922 質問内容を俺が理解できてないのかな?
↓のページではサイズの異なるボタンが表示されてるけどそういうことではない?
http://neue.cc/2015/09/10_515.html >>923 xml、json等のテキストファイルやxlsxで設定ファイルみたいなの作るとか?
変更することが無いような項目ならコード内に埋め込むとか
要件次第で何が良いかは変わると思うからDB一択とはならんと思うけど
>>921 ヘッダの位置に透明なパネルを置くのが一番早いかもしれない
勝手に一番目のCellが選択されるのはCurrentCell=nullのときにはFirstDisplayedCellで示されたCellが必ず選択されるから
あとはDataGridViewを継承してMouseDownイベントを無くしたものを作れるかもしれないけどそっちはわからない
>>924 ありがとう
ツールで提供されてる丸ボタンとかを使いたいんだけど、それらは提供されたボタンのスタイルで決まってて領域を広げてもボタン自体のサイズは変更出来ないような感じなんだけど
実際はアニメーションを使った丸型のトグルボタンを丸ボタンのサイズと同じにしたかったので似たようなことを考えた人がいればと思い質問してみました
>>926 透明なパネルって作れたっけ?
やるんならDrawToBitmapでヘッダ部分をキャプチャして
グリッドのヘッダに重ねたコントロールに描画するのがいいと思う
いい手法とはまったく思えないけど透明で常に最前面のトップレベルウィンドウなら作れるね
>>921 http://ideone.com/iCo8sd DataGridViewのソースを覗いてみたけどWndProcをいじる以外に方法が無さげ
透明なパネルなんて詐欺サイトかチートツールじゃ重宝されそうだな。
>>921 覆うのは良くないなと思ってはいたけど継承でできたわ
public class DataGridViewEX : System.Windows.Forms.DataGridView
{
protected override void OnMouseDown(System.Windows.Forms.MouseEventArgs e)
{//列ヘッダでのMouseDownで勝手に先頭のCellが選択されないようにする。ResizeとSort可
bool b = this.CurrentCell == null && this.HitTest(e.Location.X, e.Location.Y).Type == System.Windows.Forms.DataGridViewHitTestType.ColumnHeader;
base.OnMouseDown(e);
if (b) this.CurrentCell = null;
}
}
または
public class DataGridViewEX : System.Windows.Forms.DataGridView
{
protected override void OnMouseDown(System.Windows.Forms.MouseEventArgs e)
{//列ヘッダでのMouseDownを全て無効にする
if (this.HitTest(e.Location.X, e.Location.Y).Type == System.Windows.Forms.DataGridViewHitTestType.ColumnHeader) return;
base.OnMouseDown(e);
}
}
下は
>>930 と同じような使い勝手になるはず。MouseEventArgsだからクリックボタンによる処理もメソッドの中に組み込める
勝手に先頭のCellが選択されるのはFocus()やSelect()実行しても起こるけど、まず使わないだろうしそのあとにDataGridView.CurrentCell = nullを入れてもいい
列のResizeでCell選択されるの前に悩んでいてFirstDisplayedCellとFocusまで調べていたけど見た目だけの問題だし面倒だから諦めていた
その質問のおかげで改めて調べる気になったから逆に感謝w
>>928 例えばDataGridViewの子コントロールとして用意して(datagridview.Controls.Add(panel))、BackColorをTransparentにするだけ。特別なことはいらなかったはず
>>933 子コントロールの背景色を透明にしても
最上位のコンテナ(つまりForm)の背景が透けて見えるだけじゃなかったかと
>>934 じゃあ気が付いてない何か特別なことが必要なのかな
DataGridViewじゃなければ過去に何度もやっているしDataGridViewに重ねるのも確認してから書き込んだのだけど
メソッド定義の場面でメソッド名の後にコロンが付いているのを初めて見ました
>protected PizzaStore() : this(new BaseIngredients()){} // 動画内24行目
VIDEO このコロンはどういう意味の文法なんですか?
>>936 それコンストラクタだぞ
引数なしのコンストラクタが引数付きのコンストラクタに引数を付けて呼び出してる
>>937 そういうことなんですか、一見パッとわかりませんでした
ありがとうございます
string str_test = ""aaaaaaaaaaaaa; txt_word.Text = str_test; // ←デバッグをすすめるとこのコードの実行になぜかフリーズします。 これは何が原因なのでしょうか?
txt_wordクラスのTextプロパティのセッターが 文字列セットするとフリーズする実装になってるんでしょ
>>939 ""aaaaaaaaaって何が入るの?
そりゃ転記ミスやろ。 コンテクスト違うってエラーが出てるんじゃね?
>>939 TextChangedイベントを確認しましょ
>>941 "aaaaaa" です。
>>940 >>943 TextChangeイベントも設定されていません。
もともとこのプロジェクトは、VS2010で作ったものです。
現在は、それをVS2017でメンテナンスをしようとしています。
アップグレードに伴う、VS側のバグでしょうかね???
一から作り直すのめんどくさいし・・・あーあー
VS2017で作成した新規プロジェクトでは、Textboxへの値の設定では
当然フリーズしません。
>>944 そもそもtxt_wordの型が書かれてないんだけどTextBox型なの?
デバッグ実行中にフリーズする箇所で「一時停止」したら
コールスタックに実行中のメソッドが出るけどどこでフリーズする?
>>944 VS2017のバージョンは、最新(15.9.14)になってる?
最初の質問観ただけで 面倒臭い人(質問じゃなくて人)だと判る
>>945 間違いなくTextbox型です。
>>946 Version 15.9.14
になっています。
念の為にVSをアップデートしました。
呼び出し元でTextboxに値を入れる分はすぐでした。 呼び出し先のメソッドの中でのデバッグでだけ 遅くなっている様です。 解決できそうです!
原因はわかりませんが、とりあえずスムーズに流れる方法が わかったのでメモしておきます。 もともと@でしたがAに変えたらフリーズしなくなりました。。。 なぜだろう。。。 入っている文字列ですが正確には string str_test = "aaa\r\nbbb\r\nccc\r\nddd\r\neee\r\n"; でした。 @ txt_word.Text = str_test.TrimEnd('\r').TrimEnd('\n'); A txt_word.Text = str_test;
末尾の改行消したいなら str_test.TrimEnd('\r', '\n'); か str_test.TrimEnd('\n').TrimEnd('\r'); じゃ?
確実に利用者側の問題なのにVS側の不具合を疑う時点でどうかと思う そもそもフリーズってどんな状況よ 不正確な単語使われて情報も部分的にしか出さないでなんでも解決できると思わないでね IDE使ってんだからbreakしてステップ実行しなよ
Dapperでクエリを書く時、SetParameterと補間文字列、どっちがいいですか? SetParameterが普通っぽいんですが、下のように、補間文字列でもそう不便しなさそうなんですが・・・ string sql = $"INSERT INTO table(name, chk) VALUES('{textBox1.Text}', '{checkBox1.Checked}')";
>>959 もしあなたが職業プログラマで、信頼できない人間がアクセスする可能性のあるソフトウェアの開発に携わったことがあるなら、
今すぐ関係者に連絡してSQLインジェクション脆弱性がないか確認してもらいなさい
誇張ではなくマジで危険
最近自分で私事でサーバー運営の練習してるんだけど、外部からのアタックってけっこうくるのね。大量の謎のアクセスがあって片っ端からURI試されてる。
>>959 ということでセキュリティには絶対気を付けるべき
アタックに対して堅牢性があっても 糞アクセスのせいでログファイル肥大化して disk full でシステムダウンとか DOS攻撃でネットワーク飽和してダウンとか セキュリティ対策と言っても奥が深い 糞アクセスがあっても安全だからって放置せずに 糞アクセスしてくる相手は片っ端からフィルタで切断した方が良い
とりあえずアタックというものは本当にあるんだ、ということが伝えたかった。
結構アタックあるよね。アクセスログ見る習慣もつけたほうが良いと思う。
ホワイトハウスにクラックするスーパークラッカーが世の中にいるんだよ なので攻撃されたら絶対防げないからあきらめな。 なのでWEB系の基幹システムの開発だけは現役のころは すべてさけてきた。 Windowsシステムなら最悪ローカルで被害がすむ
>>965 丁度脆弱性診断の本買って勉強中です、Niktoというのも調べてみます。
>>969 むしろSSHかさくらの管理コンソール以外からのログインの仕方がわかりませぬ。
>>966 ある日を境にアクセス数グラフが爆発的に増えてビックリこきました。アクセスログ見たらそれっぽいURI叩かれまくってて感心してしまった。
>>970 Niktoは脆弱性診断ツール
良く知られている攻撃方法は一通りカバー
しているかと。
日本語の説明はあちこちにあるけど例えばコレとか
https://qiita.com/bezeklik/items/12643654dc0c45f4eb29 >>972 ありがとうございます!
完全にスレチになってしまうのでこの辺にしておきます
>>952 つまり、
txt_word.Text = str_test.TrimEnd('\r').TrimEnd('\n');
の右辺の最初の str_test.TrimEnd('\r') の部分で str_test の末尾に '\r' が
無いのでエラーが生じて例外が throw されていたという落ちですかね。
>>974 仕様を見てみたらそういうわけでもないようですね。
そもそも例外出たってフリーズはせんだろ 何のためのIDEだ
>>974 >>775 ほんと不思議な事象でした。
tyr catchでかこってもエラーには落ちてきませんでした。
ただ、時間がやたらかかるだけ
例外とエラーと処理に時間がかかるは全部別の事象 そら処理に時間がかかってるところにtry書いたって何の意味もないよ 一番不思議なのはそんな技術力でVSを疑う君だよ
改行されて文字が見えなくなってて、フリーズしたと思い込んでたんじゃない?
画像ファイルを相対アドレスで指定してもデザイナが勝手にカレントディレクトリをWindows直下だと思ってフォルダが無いって言ってるのって何とかならないの?
>>983 すまん、うっかりしてたわ
立てたのでよろしく
ふらっと C#,C♯,C#(初心者用) Part144
http://2chb.net/r/tech/1563258983/ VSにバグが有るだけじゃないんですかいな。 実際、手元でVS 2019で C++ を試していたら、メニュー・エディタが ハングアップしたりシングルコアでのCPUが100%になって一分以上待たされたり 何回もした。
多分vsのバグだと思う だけど、このスレッドでは初心者に問題がある、と押し付けるdqnがいるのです。
昔からMSはバグが多いことで知られていて、Win95でもすぐにおかしくなっていた。VSだけは割りと安定していたのだが、最近はVSもMS標準品質になっただけかもしれない。 別に Win95 時代じゃなくても、Officeだっておかしくなるし。 ページ番号がずれてめちゃくちゃに成って直せなく成ったりとか、表を編集中にキャレットが別のカラムに勝手に移って何度やっても思ったカラムに入力できないとか、そんなん物凄くあった。
>>986 昔のVC++のころのVSは、問題になるような重大バグは気付かなかったんだけど、今のVSはそんな重大バグがあるんだろうか。
遅いことだけは間違いない。自分の環境だと起動に何十秒(1分?)もかかる。
>>989 速いマシンっていうが、どの程度のマシンでどの程度の速度で起動する?
5秒以下になるか?
vs2010を2008R2で動かすと高確率で ハングして閉口したよ
>>939 こんな再現できないコード貼って他人が解決できるって発想が理解できない
ミニマムコード要求すらせずに相手する方もおかしい
>>982 C#じゃないOSの仕様で、Windows直下に設定したのはお前じゃね
>>984 たておつ
>>990 Corei7-8700CPU 3.20Ghz 3.19Ghz
48GB
G-GEAR eX.computer Gaming Service
ゲーミングマシン使ってるから早い。
なんだよ48GBって。 中途半端に買い足さないで男らしく64GBいけや
なんくせやな。 動画編集しながら、VS立ち上げながら、ゲームしても余裕っす もちろんVSごときサクサクっすわ
今どきシングルコアのPCで開発ってある? 5年前のPCでもそんなの無い気がすんだけど
-curl lud20250208182629ncaこのスレへの固定リンク: http://5chb.net/r/tech/1558002486/ ヒント: 5chスレのurlに http ://xxxx.5chb .net/xxxx のようにb を入れるだけでここでスレ保存、閲覧できます。TOPへ TOPへ
全掲示板一覧 この掲示板へ 人気スレ |
Youtube 動画
>50
>100
>200
>300
>500
>1000枚
新着画像 ↓「ふらっと C#,C♯,C#(初心者用) Part143 YouTube動画>2本 ->画像>2枚 」 を見た人も見ています:・ふらっと C#,C♯,C#(初心者用) Part141 ・ふらっと C#,C♯,C#(初心者用) Part144 ・ふらっと C#,C♯,C#(初心者用) Part138 ・ふらっと C#,C♯,C#(初心者用) Part128 [無断転載禁止] ・ふらっとC#,C♯,C#(初心者用) Part88 ・Webサイト制作初心者用質問スレ part249 ・ドラゴンズドグマオンライン初心者専用スレ Part1 ・Webサイト制作初心者用質問スレ part239 ・【初心者専用】ポケモンユナイト【Switch】 Part.3 ・タイトル:【FF14】初心者の館 Part374 ・【DFFAC/DFFNT】初心者スレ DISSIDIA FINAL FANTASY(ARCADE)/NT part10【まったり】 ・【初心者用】マイニング情報交換スレ3 ・FPS初心者ワイがBF1を300時間やったスコア ・パソコン初心者クリエイター用のパソコンほしい ・/ ´,_ゝ`\初心者のための富士山登山入門131m(ワッチョイなし) ・【目指せ】嘘PC用語辞典@PC初心者【1000】 ・【プロスピ】プロ野球スピリッツA初心者スレpart304 ・【DCS World】DCS 総合 Part.49【初心者歓迎】 ・【初心者】ダイエット質問・相談スレPart216 ・【初心者】ダイエットの質問・相談スレPart190 ・【初心者】ダイエットの質問・相談スレPart181 ・【初心者】 IQOS アイコス Part.12 【復活編】 ・【DCS World】DCS 総合 Part.48【初心者歓迎】 ・【DCS World】 DCS 総合 Part.35 【初心者歓迎】 ・【初心者】ダイエットの質問・相談スレPart179 ・【初心者】ダイエット質問・相談スレPart239 ・クロスバイク初心者質問スレ part10 ・/ ´,_ゝ`\初心者のための富士山登山入門126m(ワッチョイ無 [無断転載禁止] ・【初心者】ダイエット質問・相談スレPart237 ・Cakewalk by BandLab 初心者質問スレ Part 18 ・Cubaseシリーズ 初心者質問スレ Part23 ・【DCS World】 新DCS 総合 Part.1 【初心者歓迎】 ・初心者イラスト練習日記part14 ・【FFRK】FINAL FANTASY Record Keeper 初心者質問16 ・UWSC初心者用スレ2 ・【OCG】初心者・復帰組交流スレ Part42 ・【プロスピ】プロ野球スピリッツA初心者スレpart118 ・【MTGA】Magic The Gathering Arena 初心者スレ 148 ・【プロスピ】プロ野球スピリッツA初心者スレpart165 ・【プロスピ】プロ野球スピリッツA初心者スレ part45 ・【DCS World】DCS 総合 Part.71 【初心者歓迎】 ・プロ野球スピリッツA初心者スレpart61 ・【プロスピ】プロ野球スピリッツA初心者スレ part53 ・CW欧文 初心者の会 Part.4 ・クロスバイク初心者質問スレ Part51 ・【初心者】洗車~ワックスがけ情報【大歓迎】Part141 ・【プロスピ】プロ野球スピリッツA初心者スレ part46 ・プロ野球スピリッツA初心者スレpart1172 ・【プロスピ】プロ野球スピリッツA初心者スレ part49 ・初心者イラスト練習日記part11 ・MacOSX86初心者スレッド Part6 ・クロスバイク初心者質問スレpart35 ・【プロスピ】プロ野球スピリッツA初心者スレpart122 ・クロスバイク初心者質問スレ part9 ・【プロスピ】プロ野球スピリッツA初心者スレ part54 ・【プロスピ】プロ野球スピリッツA初心者スレpart64 ・【初心者】ダイエット質問・相談スレPart229 ・【初心者】ダイエット質問・相談スレPart202 ・【プロスピ】プロ野球スピリッツA初心者スレpart93 ・【プロスピ】プロ野球スピリッツA初心者スレpart74 ・【プロスピ】プロ野球スピリッツA初心者スレpart93 ・クロスバイク初心者質問スレ Part49 ・【プロスピ】プロ野球スピリッツA初心者スレpart94 ・クロスバイク初心者質問スレpart25 ・【OCG】初心者・復帰組交流スレ Part37 ・【初心者向け】マインドフルネス Part 1
04:26:29 up 26 days, 5:30, 0 users, load average: 12.12, 48.30, 56.23
in 1.686136007309 sec
@0.059225082397461@0b7 on 020818