ふらっと C#,C♯,C#(初心者用) Part158 at TECH
[2ch|▼Menu]
[前50を表示]
600:デフォルトの名無しさん (ワッチョイ 677c-bsHd)
23/05/24 06:48:02.27 dEtAkKea0.net
夜中からBUILD眠い

601:デフォルトの名無しさん (ワッチョイ 6f5f-GCa2)
23/05/25 23:41:52.29 HnExcI2y0.net
よく聞かれることかもしれませんが、教えてください。

私はいま、VisualC#の本を見ながら勉強しています。自分で作ったソフトのウィンドウが表示されて
ボタンをクリックしたら「こんにちは」とメッセージが出てるのを見て喜んでるレベルです。
夢は仕事で使うシステム(Windowsソフト)を作ってパートさんたちの仕事を楽にすることです。
今やっている本を買う前に買ってしまった「C#入門」的な本がいくつかあるんですが、それを
見ると、私が勉強しいるのとはまったく別の技術のように見えます。
VisualがつかないC#って、本当に文字で記述するための文法や構文の解説ばかりのようで、
ウィンドウやコマンドボタンの作り方ひとつ解説してないみたいです。

お聞きしたいのですが、VisualのつかないC#を習得した人って、どんなものを作るようになるのでしょうか?
また、ただのC#を学んだ人って、私のようなVisualC#だけを学んでいる人のことが幼稚な低レベルに
見えてるんじゃないかという気がするのですが、それでも小さい企業にあるWindowsパソコンで使う業務システム
を作るにはVisualの方がずっと楽で有利だと思うんです。

いかがでしょうか?

602:デフォルトの名無しさん
23/05/25 23:48:35.78 8mbdG19r0.net
VisualのつかないC#とはいったい...
c++とC#なら別物だぞ

603:デフォルトの名無しさん
23/05/25 23:51:32.00 MENdj7XW0.net
よく分からん感情がにじみ出ていて真の質問が分かりづらいのでもう一回まとめ直してください

604:デフォルトの名無しさん
23/05/26 00:00:07.73 MvHB7l4o0.net
VisualC#の本を読んで勉強してるけど、Windowsアプリの作り方を勉強してるつもり。
C#の入門書も見たことあるけど、プログラム文の書き方のようなことで終始していて、
ウィンドウの作り方やボタンの設置のしかたすら解説されていないみたい。ぜんぜん違う。
Visualが付かない方の本でC#を勉強した人って、何が作れるようになるの?
Visualが付く方のC#だとwindowsアプリが作れて使い道が多そうなんだけど。

これが質問の主旨です。

605:デフォルトの名無しさん
23/05/26 00:09:36.83 V/JNO+4j0.net
VC++というかMSVCっていうとMicrosoftによる実装って意味合いもあるが
Visual C#というと殆ど開発環境を指してしか言わないと思うんだけど
別にフォームデザイナーがなくとも自動でコード生成してるだけだから
コードだけ書いてもGUIアプリは作れるし、他のIDEでも良い
かたや開発環境を前提としたアプリの作り方
かたや言語仕様の解説みたいな感じじゃないのか

606:デフォルトの名無しさん
23/05/26 00:10:18.48 muRHf0j+0.net
まずVisual C#というのがVisual Studioのものすごく古いバージョンなんだわ

607:デフォルトの名無しさん
23/05/26 00:11:06.11 W5uHLn8jM.net
意味が分からない人が多くて困るな
C#は言語そのものでVisualと言ってるのはGUI付きと言うことを言ってるんだろ
>>595
別のようだけどそれは基本的には同じものです
入門の仕方は様々ある
ざっくりとたとえると英語で言えば文法の本と日常会話の本に当たります
文法の方にはhelloは書いてなくて日常会話の方には未来完了とか書いてないでしょ?
表示技術はあなたの言うvisualで学べるけど文法の方やライブラリなどの使い方は学べない
文法を学ぶのにいちいちウィンドウを出していたら手間がかかる
アプリの作り方をある程度学んだら言語自体+ライブラリの使い方だけ学んでも問題はないのです

608:デフォルトの名無しさん
23/05/26 00:12:52.83 muRHf0j+0.net
意味が分かる人が言ってることに草生える

609:デフォルトの名無しさん
23/05/26 00:18:27.28 W5uHLn8jM.net
>>598
windwos上で使ってる一般の人は両方とも勉強します
基本的にはwindows上でしかGUIは提供されていないけどライブラリやwebサービスはGUIがなくても書けるし需要はある
GUIで出来ることは表層だけで中の処理は言語仕様やライブラリを知らないといけない
本格的にGUIを勉強しようと思っても今はそれ向けの本がほぼないので自習になる

610:デフォルトの名無しさん
23/05/26 00:19:15.41 A9A3Khm00.net
書籍だと割と最近出たのでもタイトルにVisual C#って付いてるのがいくつかあるね

611:デフォルトの名無しさん
23/05/26 00:19:40.32 W5uHLn8jM.net
>>602
絶望的に頭がわるいでしゅーと言う主張は情けなくてみっともねえwwwwwwwwwwwww

612:デフォルトの名無しさん
23/05/26 00:22:15.78 W5uHLn8jM.net
基本的に何かで一通りアプリの作り方を学んだら
C#の言語仕様についてしっかりその文字だけの本を読んで勉強することになる

613:デフォルトの名無しさん
23/05/26 00:22:55.79 VY0JKlLq0.net
アプリっつっても、デスクトップアプリ、コンソールアプリ、Webアプリなどあるからな
他にも、サービスとか、WebAPIとか、ライブラリとか
何を作るかで、使うライブラリやフレームワークが変わってくるし

614:デフォルトの名無しさん
23/05/26 00:23:25.62 muRHf0j+0.net
>>605
こんな感じの頭いかれてるやつだってことを素人にもわかりやすく伝える親切さまであったか

615:デフォルトの名無しさん
23/05/26 00:24:06.06 W5uHLn8jM.net
>>608
>「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

616:デフォルトの名無しさん
23/05/26 00:27:48.77 muRHf0j+0.net
そういう問題じゃねえよw
頭いかれてるやつが優しく教えるスレってどんな地獄だw

617:デフォルトの名無しさん
23/05/26 00:28:46.96 W5uHLn8jM.net
ID:muRHf0j+0が一番頭いかれてる
揚げ足取りか初心者相手にくだらないレスして悦に入ってるクソ人間

618:デフォルトの名無しさん
23/05/26 00:32:07.63 A9A3Khm00.net
>>598
GUI(ウィンドウやボタン等がある)アプリを作るには、C#の文法と、GUI(ウィンドウ等)の作り方の両方を覚える必要がある
どっちを先に覚えるかの違いでしかないよ
(GUI無しのアプリは使い道が限られるけど、文法を学習するのに向いてる)

619:デフォルトの名無しさん
23/05/26 00:35:39.02 W5uHLn8jM.net
今出てる本だけではGUIについてしっかりと学べる本はほぼないと思う
大体がWindowsフォームについてでWPFやUWPについて学べる本は少ない

620:デフォルトの名無しさん
23/05/26 00:35:42.24 muRHf0j+0.net
>>605 これを自分で見直して頭いかれてると思えないメンタルよw



622:デフォルトの名無しさん
23/05/26 00:36:14.97 MvHB7l4o0.net
>>603
ご回答ありがとうございました!
外国語の学習の比喩でなんとなく理解できた気がします。
理屈から入る人ととにかく外人と話したがる人がいるけど、けっきょくマスターするには
どっちの学習も必要になるという感じなんですね。
私の質問に回答してくださったせいで、あなたを小馬鹿する人が現われてしまったようで
本当に申し訳ないです。
ありがとうごさいました。

623:デフォルトの名無しさん
23/05/26 00:36:43.99 W5uHLn8jM.net
>>614
一個でもまともな回答レスが書けるか?
自分のレス見返してみw

624:デフォルトの名無しさん
23/05/26 00:38:53.91 MvHB7l4o0.net
>>612
GUIなしのアプリって、素人にもイメージしやすいものですとどんなのがありますか?
GUIアプリの中で一部の機能を担う部品(ライブラリっていうの?)みたいなイメージでしょうか?

625:デフォルトの名無しさん
23/05/26 00:41:07.66 W5uHLn8jM.net
C#のコンパイラ

626:デフォルトの名無しさん
23/05/26 00:41:42.15 muRHf0j+0.net
>>616
お前のまともなレスどれ?w
例の小馬鹿にされたやつ?w

627:デフォルトの名無しさん
23/05/26 01:23:01.30 c1jHvuSF0.net
ウィンドウだしマウス使えるじゃんって突っ込みなしならコマンドプロンプトとか?

628:デフォルトの名無しさん (ワッチョイ 6b2d-cUXk)
23/05/26 01:29:21.24 A9A3Khm00.net
>>617
GUI無しのアプリは素人が使うことはほぼ無いから、分かりやすい例を挙げるのは難しいな…。
小さなツール類が多いけど、そう言われてもピンとこないよね。

> GUIアプリの中で一部の機能を担う部品(ライブラリっていうの?)みたいなイメージ
GUI無しのアプリは単体でも使えるけど、GUIアプリから呼び出して使うこともあるよ。
ライブラリはそれだけでは動作しないのでアプリとはちょっと違う。

629:デフォルトの名無しさん (ワッチョイ 6b2d-cUXk)
23/05/26 01:31:58.89 A9A3Khm00.net
>>620
果たして、コマンドプロンプトは通じるのだろうか

630:デフォルトの名無しさん
23/05/26 05:17:04.99 llcbKXvOa.net
例えば、ウェブ開発のバックエンドは、Ruby on Rails。
OS(Linux, サーバー)とのやり取り。
ファイル操作、テキスト処理、データベース処理などで表示部分なし
一方、フロントは表示部分で、HTML, CSS, JavaScript
Railsの給料が高いのは、1人でバック/フロントの両方を作るから。
これをフルスタックエンジニアと言う
これを複数人で分けて作る場合は、
意思疎通・打ち合わせコストが掛かるので面倒

631:デフォルトの名無しさん (ワッチョイ 03e5-FIIW)
23/05/26 09:07:00.86 We9CfcI80.net
>>620
>>622
PowerShellでもおk?

632:デフォルトの名無しさん
23/05/26 12:03:03.90 ESB2ogqid.net
powershellはC#コードも埋め込みできて、ある意味最高の環境と言えるけど
どちらにも習熟してる必要がある
C#学習には遠回り

633:デフォルトの名無しさん (ワッチョイ 635f-T+0c)
23/05/26 13:27:28.71 qCbIeycU0.net
起動がおっそいんだよね。Pwershellは

634:デフォルトの名無しさん
23/05/26 14:43:40.75 VY0JKlLq0.net
ワイのマシンだとサックサクやが

635:デフォルトの名無しさん
23/05/26 16:09:35.41 H1TABfb/0.net
powershellはダブルクリックで動かないから使いにくい

636:デフォルトの名無しさん
23/05/26 19:54:48.14 muRHf0j+0.net
>>628
動くようにできるぞ
ダブルクリックで動くようにしたらお前らがまたトロイにひっかかって大騒ぎするからデフォではできなくしてるだけだ

637:デフォルトの名無しさん
23/05/26 20:34:46.49 u2vLXVTG0.net
今コピーツールを作ってるんだが、Powershellと連動させたら需要あるかね?
みんなPowershellで何をやってるんだ?

638:デフォルトの名無しさん
23/05/26 20:48:28.57 u2vLXVTG0.net
javaには戻れないからC#の案件が増えてくれるのを期待するのみ。
エラーがどこに出てるかさっぱりわからんかったJavaは。
今でも動かないコードあるし、何が何だかさっぱり分からない。
その点C#はMicrosoft様が一括でやってくれるので俺でもできた。
javaやるくらいならKotlinやるよ。
面倒くさすぎ

639:デフォルトの名無しさん (スッップ Sdea-6Vlr)
23/05/26 21:17:54.23 TqdGfdUid.net
馬鹿には無理なだけだぞ

640:デフォルトの名無しさん (ワッチョイ 7bac-MKim)
23/05/26 21:33:51.93 te4x+q3p0.net
まあJavaよりKotlinC#って気持ちは同意

641:デフォルトの名無しさん (ワッチョイ 0ade-FIIW)
23/05/26 22:20:09.88 H1TABfb/0.net
>>629
人に渡すときの事考えるとやっぱりちょっと
ダブルクリックしたら警告する程度でよかたのに

642:デフォルトの名無しさん
23/05/26 23:24:33.59 G1kfSu5s0.net
Kotlinは好き

643:デフォルトの名無しさん
23/05/26 23:56:40.58 wgfazHWx0.net
>>634
restrictedを指定したバッチファイルと一緒に配布すればいいよ。

644:デフォルトの名無しさん (ワッチョイ 9f2f-AKtI)
23/05/27 03:35:48.04 OwhwG7LR0.net
Javaの検査例外とはいったい何だったのか

もうちょっとあれが正常進化しなかったのかなぁ

645:デフォルトの名無しさん
23/05/27 08:52:14.00 6hc4zw7M0.net
>>634
人に渡すならC#でいんじゃね

646:デフォルトの名無しさん
23/05/27 08:55:45.91 6hc4zw7M0.net
>>637
リスコフの置換原則を強制するためのものだけど土方にはそんな強制不要だし検査例外だけじゃ強制できないから中途半端で使いにくくなるだけなんだよね

647:デフォルトの名無しさん
23/05/27 13:23:39.47 huktXfN70.net
>>636
ちょっとなんだかなあって感じするけど、それがベストか
>>638
テキストエディタとかで簡単に修正できたほうがいいかなって

648:デフォルトの名無しさん
23/05/27 16:16:22.11 A4bXwFD8M.net
>>617
自動化とかのコンテキストで、GUI無しの業務App増えてきたよ

649:デフォルトの名無しさん
23/05/27 17:17:59.98 luIlnn62r.net
コンテキストの使い方間違ってないか?

650:デフォルトの名無しさん
23/05/27 19:10:08.90 A4bXwFD8M.net
>>642
コンテキスト=文脈ってことで指摘を受けること無いと思うんだけど、なにか癇に障った?

651:デフォルトの名無しさん
23/05/27 19:14:06.41 4YJ0U8GR0.net
>>642
問題なく伝わる使い方だよ(「文脈」を指す表現)

652:デフォルトの名無しさん
23/05/27 19:39:01.46 1jtsLrYta.net
URLリンク(kotobank.jp)
文脈
> ある単語や句や文に対して,その前後の単語や句や文が及ぼす意味的規定力。

653:デフォルトの名無しさん
23/05/27 19:43:24.60 1jtsLrYta.net
ウェブ開発のコンテキストでAPIはウェブAPIを指す
Windowsネイティブアプリ開発のコンテキストでAPIはWin32APIを指す
↑こういう使い方は「コンテキスト」の使い方として正しい
>>641のコンテキストは俺も見たことない使い方だから説明要るんじゃね

654:デフォルトの名無しさん
23/05/27 19:44:03.03 luIlnn62r.net
>>643-644
コンテキスト言いたいだけやろ
要らんやん

655:デフォルトの名無しさん
23/05/27 19:51:45.58 t60D5gLTM.net
状況や流れで変わる何かが合って
その時の状況や流れが コンテキスト にあたる
全く同じことをしていても解釈が違うのはコンテキスト依存だから

656:デフォルトの名無しさん
23/05/27 19:57:36.16 gMKf+OGS0.net
どんどんアホみたいな方向に話が展開していく
This is the bikeshedding

657:デフォルトの名無しさん
23/05/27 19:58:22.03 t60D5gLTM.net
正直なところ今回の用法ではあまりマッチしてるようには感じない
とりあえずそれが何かとの勘違いだとして何と勘違いしたのかを考えてみよう

658:デフォルトの名無しさん
23/05/27 20:05:30.51 luIlnn62r.net
なんだよ自動化のコンテキストって
夜間バッチかな、メッセージングかな、FAかな
どうせコンテキスト使うならコンテキスト境界を明確にしろっつうの

659:デフォルトの名無しさん
23/05/27 20:15:18.43 t60D5gLTM.net
セグメントあたりかな?
カテゴリー、ジャンルやフィールドとかそういうのの狭い分野とかそういう事を言いたいんじゃないかと

660:デフォルトの名無しさん
23/05/27 20:29:32.13 1lF7S9LF0.net
>>651
イマドキ自動化って言われたらRPAやろ
まあ無能には分からんか

661:デフォルトの名無しさん
23/05/27 20:40:46.31 mBQrOHHnr.net
コンテキストの使い方としては問題ないだろうけど、その言葉を選ぶことが場にそぐわないというか
匿名掲示板の会話の中で使うと浮く言葉だという感覚は多少あるかな

662:デフォルトの名無しさん
23/05/27 20:50:51.87 1lF7S9LF0.net
なんでもいいけどプログラムの話しろよ無能ども

663:デフォルトの名無しさん
23/05/27 20:57:34.82 Iuy4wHgO0.net
くっだらなね。

664:デフォルトの名無しさん
23/05/27 20:59:33.78 luIlnn62r.net
>>653
元レスからの文脈を辿ればRPAは出てこねんだわ

665:デフォルトの名無しさん
23/05/27 21:04:07.97 t60D5gLTM.net
void Say(string text){
Console.WriteLine(text);
]

void Display(string text){
Console.WriteLine(text);
]
みたいのがあって中身が同じだけど別になってるのはコンテキストが違うから
コンテキスト無視してvoid Print()なんかにまとめちゃってからやっぱセリフは水色表示しましょうとなると修正が大変
と無理やりプログラムに絡める

666:デフォルトの名無しさん
23/05/27 21:22:29.54 FRBwBfHVd.net
>>653
馬鹿ってバッチ処理とか知らんのかね

667:デフォルトの名無しさん
23/05/27 21:24:53.37 1lF7S9LF0.net
>>659
今時って言ってるやん
馬鹿って理解できないのかねw

668:デフォルトの名無しさん
23/05/27 21:25:19.63 1lF7S9LF0.net
>>657
それってお前が馬鹿なだけやろ?

669:デフォルトの名無しさん
23/05/27 21:27:26.31 FRBwBfHVd.net
>>660
こういう馬鹿が夜間で終わらないバッチ処理を作って訴訟になる

670:デフォルトの名無しさん
23/05/27 21:32:00.54 1lF7S9LF0.net
>>662
アホすぎw

671:デフォルトの名無しさん
23/05/27 21:35:35.76 t60D5gLTM.net
処理内容が同一でもコンテキストが同一とは限らない
処理内容が同一でもコンテキストが異なれば処理内容は同一であり続けるとは限らない
処理内容が同一でもコンテキストとして違いがあるのであればメソッドは別々にするのが望ましい

672:デフォルトの名無しさん
23/05/27 21:40:14.44 /3dI5F000.net
>>661
じゃあRPAと絡めたGUIなしアプリの具体例を出してみろよ

673:デフォルトの名無しさん (ワッチョイ 6b5f-tyRn)
23/05/27 22:45:19.23 4YJ0U8GR0.net
>>651
それらが元々GUIを備えていると本気で思っているのか?w

674:デフォルトの名無しさん (ワッチョイ 9f01-d/9P)
23/05/27 22:57:22.60 A+Fg27pW0.net
「文脈」の使い方が間違ってるよね

675:デフォルトの名無しさん (ワッチョイ ab07-8jEt)
23/05/27 23:16:21.54 6hc4zw7M0.net
「文脈」は死語なんじゃね
前後の文読まないやつが大増殖してもう慣れたわ

676:デフォルトの名無しさん
23/05/27 23:49:42.44 jeBcG8q10.net
「死後」の意味も判ってない模様

677:デフォルトの名無しさん
23/05/28 00:12:05.41 oxdpIcYI0.net
マの板でアメリカがデフォルトの危機言われて
頭ん中??????????????ってなる人たち?

678:デフォルトの名無しさん
23/05/28 01:01:41.22 rmgfnmD+a.net
>>669
突然関係ない話をしてどうした?

679:デフォルトの名無しさん (ワッチョイ 0f10-S+HU)
23/05/28 06:52:03.18 7NA4xXcX0.net
なんか急に賑やかになってると思ったらお前らww

680:デフォルトの名無しさん
23/05/28 11:02:05.14 LhRRD0FE0.net
ちょっと聞きたいんだがさらに一歩難いアルゴリズムについてね
本屋に基礎的なアルゴリズムを開設してる本はいっぱいあるし理解できるけど
海外の学者が書いた超分厚い専門書的なもんはマジでわからん
最適化とか巡回セールスマンとか群論とかトポロジーとかそのレベルも理解必要なんですかね?
C#できます!基本的なアルゴリズム理解できます!だけはちょい恥ずい
皆さんC#の言語仕様詳しいけど俺はさらに上を行ってるって自信を持てるには言語使用だけで
十分なんですかね?やっぱアルゴリズムも欲しがるべき?

681:デフォルトの名無しさん
23/05/28 11:06:53.24 7NA4xXcX0.net
そのへんの業務アプリ開発のコーダーくらいなら要らないんじゃね

682:デフォルトの名無しさん
23/05/28 11:15:47.39 eP2DgR+S0.net
要らんよね。
どこで使うんだろ

683:デフォルトの名無しさん
23/05/28 11:19:53.53 pYaNr1fI0.net
ゲーム開発とか

684:デフォルトの名無しさん
23/05/28 11:25:22.80 1uqhjo5xa.net
>>673
それは本当に専門書なのか?
割と基礎の部類に入るからQiitaでもいくつも記事あると思うぞ
土方には必要のない知識だけど使えるようになっておけば収入が高い職場に行けるかもしれんからやっておいて損はない

685:デフォルトの名無しさん
23/05/28 11:55:29.61 MoCGpZK6M.net
実際にコードが書けなくても必要な時にそのパターンに当てはまると知っているだけ良い
たまに概念などを興味本位で知る程度で十分
キーワードを知ってるだけで強い
自分が大学で最初に習ったアルゴリズムはソート
複数のソートの手法を学ぶ
それで計算量などの基礎的概念を刻み込む
それが出来るなら最適化についての段階は踏める
じゃあ数式を見てコードに落とせるかと言えば無理だと思う
そこから本気出すかライブラリ探すかになる

686:デフォルトの名無しさん
23/05/28 12:04:46.44 9AZMVk0MM.net
一般的なソートや検索のアルゴリズムは本屋にある基礎的なアルゴリズム解説本でカバーされてるやろ
今広く一般的に使われてるソート関数で使われてる細かい最適化の中身まではカバーされてないけど

687:デフォルトの名無しさん
23/05/28 12:07:38.06 1uqhjo5xa.net
ていうか自信の持ち方がいびつな気がするな
作ったアプリで自信持てば?
C#ならUnityでストア販売できるだろ
売上見てニヤつけよ

688:デフォルトの名無しさん
23/05/28 12:19:40.75 MoCGpZK6M.net
知りたいときに知りたいことを学べばいい
ライブラリで済むなら勉強することもないかもしれない
大学でオペレーションズリサーチの講義を取った
そこでは問題の概念について軽く学んで後はずっと確率などの微積分を行う
コードなどは一切書かないし手順すら学ばない
試験も同じで計算や数式を証明したりする
一般的なコーディングにはほぼ意味がないけど何かの問題解決するためには必要な人には必要
大体の人には無縁
難しい本だけど大学の教科書の内容ですら半年かけて講師に教わって学ぶ内容なので本を開いてぱっと理解できなくても何も問題ない
そういうものだと

689:デフォルトの名無しさん
23/05/28 12:24:36.31 MoCGpZK6M.net
1950~1970ごろにそういったサイエンスが花開いて多数の天才たちが研究し確立した手法を
今後追いで勉強してる
急ぐことはない

690:デフォルトの名無しさん
23/05/28 12:29:49.04 pYaNr1fI0.net
業務アプリではまず使わん
ソートも探索もコレクションクラスのメソッドを使うだけ
黎明期ならまだしも今はPCの性能が上がって最適化の性能差もほとんど問題にならない
リアルタイムゲームとか機械学習系では使うだろうけど

691:デフォルトの名無しさん
23/05/28 12:46:59.48 1uqhjo5xa.net
>>683
トポロジカルソートはタスクの優先順位を決めるのに使うだろ
ライブラリにあるか?

692:デフォルトの名無しさん
23/05/28 12:49:42.09 uUhZbJL9a.net
トロピカルフルーツ?

693:デフォルトの名無しさん
23/05/28 12:52:11.08 1uqhjo5xa.net
群論というのは0個以上の要素を扱う時に使う
JSのfilterやmapやreduceはそのカテゴリに入る
何でもかんでもforでやってたら複雑になりすぎるし逆に何でもかんでもreduce使っても複雑になりすぎる
こういう時に汎用的に使える関数を作れたら生産性上がるぞ

694:デフォルトの名無しさん
23/05/28 12:58:01.84 o9dc7/1oa.net
初歩的な質問ですみません。
アドバイスを頂きたいです。
ある通信機器から10分間隔で指定のデータを取得し、そのデータをファイルに記述するプログラ厶をサービスアプリで作成しました。
追加の要件としてユーザーからの操作でデータ収集を停止/再開させる機能が必要になりました。
操作用のボタンが必要になるのですが、サービスアプリではGUIを持てないと認識しているのでフォームアプリで作成し直す必要があると考えています。
停止が押されていない間はデータ収集を継続したいのですが、フォームアプリだとユーザーが画面を落とす(×ボタン押下)可能性が考えられます。
画面を落とした時、つまりフォームが立ち上がっていないときでも収集処理をすることは可能でしょうか?
調べるとBackgroundWo


695:rkerなどは出てくるのですが、これは少し意味合いが違っているように感じており、似たような例を見つけられませんでした…。



696:デフォルトの名無しさん
23/05/28 13:00:11.07 pYaNr1fI0.net
サービスなら止めたり再開するAPIあるやろ

697:デフォルトの名無しさん
23/05/28 13:00:59.13 1uqhjo5xa.net
本体はサービスで作ってUI専用のフォームアプリから名前付きパイプでシグナル送ればいんじゃね

698:デフォルトの名無しさん
23/05/28 13:03:52.90 1uqhjo5xa.net
>>688
そういやそうか
URLリンク(learn.microsoft.com)

699:デフォルトの名無しさん
23/05/28 13:48:09.53 7NA4xXcX0.net
>>689のようなプロセス間通信制御でもいいし
どうしてもフォームアプリで統合したいなら、×ボタン無効化したり
FormClosingイベント拾って閉じるのキャンセルして代わりにHideするようにしたりすればいいんじゃない?

700:デフォルトの名無しさん (ワッチョイ 9f80-FA6k)
23/05/28 14:06:11.06 pYaNr1fI0.net
PowerShellに、Suspend-Service とかRestart-Serviceとか、そのまんまのサービス系のコマンドがいろいろある

701:デフォルトの名無しさん
23/05/28 14:46:33.46 urnIPGLqM.net
>>687 です
回答ありがとうございます
FormClosingイベントでウィンドウを閉じたように見せるだけ、というのもあるんですね
試せる環境が今手元に無いのですが、Hideで隠した状態で、ユーザーが再度フォームを立ち上げた場合は、隠したものと新たに起動した2つのフォームが動いている状態になるんでしょうか?

>>692
なるほど、このコマンドのバッチファイルを作っておいてユーザーにはそれをダブルクリックして停止/再開をしてもらうのが手軽かもしれません

702:デフォルトの名無しさん
23/05/28 14:53:07.28 E8Oz4qmg0.net
scコマンドに停止/再開の引数付けたショートカット作ってもいいぞ

703:デフォルトの名無しさん
23/05/28 15:07:22.90 LhRRD0FE0.net
>>677
最適化と組み合わせ論だっけ?
めちゃくちゃ分厚くて数式だらけだった気がする
全然わからん
あーいうのが読めなくて自信喪失してる最中

704:デフォルトの名無しさん
23/05/28 16:08:43.34 19IHwxiC0.net
>>687
バックグラウンドデーモンを誰が停止・開始制御するかという命題では?
プレビリッジ権限の認証問題がシステム課題であって、APIやパイプラインなどというアクイジションのテクニックなんか些細な問題。
UMLユースケースを書き、SOLID原則のSRP遵守でUSERを明確にし、必要に応じてFACARDやFACTORYで入り口を切り分ける事。
この場合は、認証問題がキモ。 ボタンがどうのこうのではない。

705:デフォルトの名無しさん (ワッチョイ 9f79-dfVX)
23/05/28 16:29:16.20 pV4wEcmO0.net
サービスを稼動させたまま外部から設定を変更したい
サービスとの通信は>>689のように名前付きパイプでいいが、操作用UIとは完全に切り離した方がいい
今時のタスクトレイに常駐するタイプのサービスはほぼそうなってるはず
どちらにしろプロセスは別々になるが>>>691みたいな考え方で作るとUI側に余計な権限が残ってしまう恐れがある

706:デフォルトの名無しさん
23/05/28 16:34:24.11 pYaNr1fI0.net
だいぶ拗らせてるな

707:デフォルトの名無しさん
23/05/28 17:57:25.94 vErPSHdQM.net
拗らせ風のレスはわざでしょ
もともとサービスのスタート・ストップをどうやるつもりだったのかは重要なポイントだと思うよ
最初から必要そうな機能が”追加要件”扱いなのもちょっと臭う

708:デフォルトの名無しさん
23/05/28 18:13:01.32 7NA4xXcX0.net
まぁ、追加要件で重要なのが出て来るのよくあることじゃし(白目

709:デフォルトの名無しさん
23/05/28 18:21:31.64 FaN+2ocOa.net
>>695
組合せ最適化問題じゃね?
多分ナップサック問題が最初の方に出てきただろ
そういうのはだいたい動的計画法で解く
AtCoderのD問題の定番だから洋書なんて読まなくても競プロしてりゃすぐ覚えるぞ

710:デフォルトの名無しさん
23/05/28 18:23:17.88 FaN+2ocOa.net
「EDPC」を検索すれば日本人の書いた記事や動画が山ほど見つかると思う

711:デフォルトの名無しさん
23/05/28 18:46:26.18 EBgEX/XFM.net
>>697
知識が足りなくてきちんと理解出来ていないのですがUIは停止/再開のフラグを投げるだけの機能に限定し、現状収集機能を持っているサービス側とは完全に分けるべきという認識で合っていますか?
元々はこういった機能は必要ないとのことで作り始めたんですが、製造現場としてはデータを出したくないタイミングがあると要望が出たので重要な機能ですが後付けになりました…

712:デフォルトの名無しさん
23/05/28 18:57:13.01 3dp1E4GEd.net
こういう馬鹿に作らせるなよ

713:デフォルトの名無しさん (ワッチョイ dfbd-/RYi)
23/05/28 20:39:40.10 Tc1TIXcj0.net
せっかくサービスアプリケーションにして安定稼働できているなら、
わざわざGUIアプリケーション化せずに、
GUIアプリケーションから名前付きパイプでサービスに指示するだけのほうがいい。

最近Cで非同期の名前付きパイプクライアントを書いて、
C#で非同期の名前付きパイプサーバーを書いたら、
C#のほうがあっという間に書けて感動した。
(Cのほうも非同期ファイルI/Oのコードを元に作ったからすぐできたけど)

714:デフォルトの名無しさん (ワッチョイ 9f79-dfVX)
23/05/28 20:55:11.64 pV4wEcmO0.net
>>703
>>687はデータ収集の停止や再開だけで、サービスを停止させたいとは書いてないからそれを前提で回答してるけど
サービス停止の影響範囲によってはサービスとの通信すら不要かもしれない。けどそれを知ってるのは本人だけなんだよ
要件を洗い直した方がいいよ

715:デフォルトの名無しさん (ワッチョイ 9f79-dfVX)
23/05/28 21:08:37.51 pV4wEcmO0.net
サービスアプリはVista以降は別のセッションで動くから、それをGUIから制御したい場合は
制御用のプロセスを生成してサービスとのプロセス間通信手段を確立する必要があるわけよ
ただし要件によっては既存のサービスの停止や再開と状態の参照程度で済むからそれ用のGUIなんて1日もあれば作れるでしょうよ

716:デフォルトの名無しさん
23/05/29 06:57:21.51 NVp4lIGp0.net
初心者の質問するスレなのにしれっとプロが質問するのはなんだかなあ
バカは初心者じゃなくても質問していいという判断なのか

717:デフォルトの名無しさん
23/05/29 08:35:53.55 4b7YEgmx0.net
プロの初心者も居るには居るけどな

718:デフォルトの名無しさん
23/05/29 08:43:49.19 n96cT9XUa.net
金もらってるやつが初心者名乗るのは流石に草
せめて研修中なら名乗ってもいい

719:デフォルトの名無しさん
23/05/29 08:45:57.08 n96cT9XUa.net
入団1年目のプロ野球選手でも今年入社したばかりのアナウンサーでも初心者じゃなく新人だろうに

720:デフォルトの名無しさん
23/05/29 08:56:42.77 4b7YEgmx0.net
それまでC#触ったこともないけど都合上C#に転向しなきゃいけなくなったらC#は初心者だろw

721:デフォルトの名無しさん
23/05/29 08:58:41.25 4b7YEgmx0.net
それともあれか、スレタイの初心者はプログラム初心者の意味だったんか?
テンプレにはそんなこと一言も書かれてないけどな

722:デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
23/05/29 09:30:39.19 n96cT9XUa.net
触ったこともないかどうかは関係ない
言葉の定義とかじゃなくプロが初心者を名乗るなってことだよ
Stack Overflow行けよ

723:デフォルトの名無しさん (ワッチョイ 9f80-FA6k)
23/05/29 09:31:59.20 gG8bkLfQ0.net
またしょうもない事で揉めてるな
ここの自称プロは

724:デフォルトの名無しさん (アウアウウー Sa8f-8jEt)
23/05/29 09:32:15.97 n96cT9XUa.net
プロというのはそれで飯食ってるやつのことだろ?
初心者を言い訳にできるはずがないだろ

725:デフォルトの名無しさん (ワッチョイ bb33-A/tE)
23/05/29 09:53:25.00 2+KQpLGd0.net
万年掲示板初心者だらけだな

726:デフォルトの名無しさん (ワッチョイ 9f80-FA6k)
23/05/29 09:59:38.52 gG8bkLfQ0.net
プログラマーのプロをプロフェッショナルのプロと勘違いしてそう

727:デフォルトの名無しさん (ワッチョイ 9fde-S+HU)
23/05/29 10:02:54.60 5glDYifC0.net
セミプロのプロ

728:デフォルトの名無しさん
23/05/29 10:12:58.22 4b7YEgmx0.net
文脈がどうのコンテキストがどうのと言葉の定義に拘った癖に言葉の定義とかじゃないとか言い出すの草

729:デフォルトの名無しさん
23/05/29 10:35:34.40 n96cT9XUa.net
辞書的な言葉の定義じゃなくコンテキストで意味が決まってるからなw
コンテキストを知らないやつと話すのは説明が長くなってしんどいなw

730:デフォルトの名無しさん
23/05/29 11:25:09.12 cZZAOa7Fd.net
金もらってたらプロならこの業界プロで初心者は普通に存在するだろう
野球選手なんぞを引き合いに出すのが的外れ

731:デフォルトの名無しさん
23/05/29 11:52:08.40 n96cT9XUa.net
コンテキストが理解できないやつのためにまとめると、プロなら初心者を言い訳にせずStack Overflowに書けよって話だぞ?w

732:デフォルトの名無しさん
23/05/29 12:04:27.26 cZZAOa7Fd.net
初心者ならここで質問してもいいだろうって話
金もらってるかどうかは無関係

733:デフォルトの名無しさん
23/05/29 19:11:00.49 az14uG3b0.net
バーコードリーダーから取得したバーコードデータをフォームアプリの
テキストボックスに入力して、バーコードデータを読み終わったら
処理をするプログラムを作りたいのですが、
バーコードデータの読み込み終了を知るにはどうしたら良いでしょうか。
一文字読み取るごとに終端文字列を判定すれば出来るのかなと思うのですが、
王道のやり方があったらお教え頂きたいです。

734:デフォルトの名無しさん
23/05/29 19:13:13.18 M6W/ObnYd.net
また馬鹿が来た

735:デフォルトの名無しさん
23/05/29 19:19:07.19 6va+z9rTp.net
API仕様嫁としかw

736:デフォルトの名無しさん
23/05/29 19:20:31.50 NVp4lIGp0.net
これでプロなんだぜ

737:デフォルトの名無しさん
23/05/29 19:41:24.70 cWs/PGXpa.net
>>727
キーボードとして認識されるタイプじゃね

738:デフォルトの名無しさん
23/05/29 19:44:52.37 a35GfSoK0.net
>>725
バーコードリーダー付属の設定用紙(なければ公式サイトからダウンロード)で
スキャンデータの末尾にCRLFを付与する設定にすればOK
メーカーによってはアプリで設定するものもあるのでマニュアル読んでね

739:デフォルトの名無しさん
23/05/29 19:50:57.54 JR9OEd1l0.net
時期的に新人さんのOJTの課題かな

740:デフォルトの名無しさん (スプッッ Sdbf-HzZj)
23/05/29 20:23:23.15 x2JUK8cad.net
先頭に別の制御コードを付加して、それを検出してテキストボックスにフォーカス当てるなんてのもよくある

741:デフォルトの名無しさん
23/05/29 21:44:45.49 az14uG3b0.net
バーコードの者ですが、キーボードのように動作してスキャンデータの末尾にCRLFが
付加されるタイプです。
テキストボックスのチェンジイベントごとにテキストボックスの文字を監視すれば
良いかなと思ってるのですが、世間にはもっとスマートなやり方があるのかと思い
聞いてみたのです。
初心者なので、C#相談室には行かず、ふらっと C#の方に来たのですが。。。

742:デフォルトの名無しさん
23/05/29 21:46:51.88 nfi+BvtEp.net
素朴な疑問なんだけど、なんでテキストボックスで受けようとした?

743:デフォルトの名無しさん (ワッチョイ efda-eDe+)
23/05/29 21:52:13.37 4g+5lQrq0.net
>>733
HIDとして認識されるバーコードリーダは、言い換えれば単なるキーボード入力でしかないので王道は無い。
(この場合、本物のキーボードをガチャガチャおしながらバーコード読み取るとか意地悪されると思うので、指定桁数とか見て頑張るしかない)

ドライバをインストールして使うようなバーコードリーダならSDKに従えとしか言えない。

744:デフォルトの名無しさん (スプッッ Sdbf-HzZj)
23/05/29 21:53:29.62 x2JUK8cad.net
>>733
文字を監視するよりキーダウンかキープレスあたりのイベントでキーコードを監視するのがベターかな
文字として表れない制御コードも検知できるから

745:デフォルトの名無しさん (ササクッテロラ Spcf-hD65)
23/05/29 21:56:22.76 DONu3V9Bp.net
そのテキストボックスにフォーカスしてないと読み取りが正しく入力出来ないとか、馬鹿な仕様だなぁ

746:デフォルトの名無しさん (ワッチョイ 7b78-S+HU)
23/05/29 22:07:01.27 a35GfSoK0.net
>>737
他にどんな方法があるの?

747:デフォルトの名無しさん
23/05/29 22:21:48.60 smYbWQE70.net
また頭でっかちがバカバカ言ってるん?

748:デフォルトの名無しさん
23/05/29 22:25:34.30 4b7YEgmx0.net
バーコードの入力をテキストボックスで受ける業務システムなんてごまんとあるがねぇ

749:デフォルトの名無しさん
23/05/29 22:44:21.98 AkAnX1XDd.net
>>733
C#以前の問題だろ
他へ行けよ

750:デフォルトの名無しさん
23/05/29 22:45:14.75 az14uG3b0.net
逆にキーボードのように動くバーコードリーダーのデータをテキストボックス以外で
入力する方法ってあるのでしょうか。

751:デフォルトの名無しさん
23/05/29 22:58:50.24 M6W/ObnYd.net
こんなのが作る業務システムって…

752:デフォルトの名無しさん
23/05/29 23:16:04.08 aYNq1fNY0.net
質問に答えずにバカにするだけの住人wwwwwwwww
あ、ワイのことね。

753:デフォルトの名無しさん
23/05/29 23:23:42.86 vDJtnbWH0.net
むしろテキストボックスしかキーボード入力出来ないと思ってる方が不思議だわ
キーフックとか色々あるだろw

754:デフォルトの名無しさん
23/05/30 06:51:07.31 J/GTXBvW0.net
場合によりけりだろ

755:デフォルトの名無しさん (ワッチョイ ef42-S+HU)
23/05/30 07:31:00.41 supAgpDx0.net
>>742
あまり詳しいわけじゃないが、グルーバルキーフックで行けるんじゃね?
URLリンク(aonasuzutsuki.hatenablog.jp)

756:デフォルトの名無しさん
23/05/30 07:53:38.18 bfEjfZ0jr.net
>>743
仕事できない癖に一丁前に文句だけ言うタイプ

757:デフォルトの名無しさん (ワッチョイ bba5-EoPE)
23/05/30 09:32:04.16 5jyHeOoZ0.net
>>745
キーボードの入力とバーコードリーダーの入力をどうやって区別するの?

758:デフォルトの名無しさん
23/05/30 10:18:37.15 lEu3ICMm0.net
バーコード・QRリーダーにシリアルモード無いの? あれば、シリアルで処理すべし。

759:デフォルトの名無しさん
23/05/30 10:22:34.36 4h93jK/S0.net
RawInputというハードウェアを区別して入力を識別できる仕組みがある
URLリンク(learn.microsoft.com)
でもバーコード読み取りながらキーボード操作するなんて普通はやらないし
大体はEnterが入力されたらtextboxの文字数をチェックして
想定外の文字数が入力されてたらエラーで再度読み取りを促すとかで済ませてそう

760:デフォルトの名無しさん
23/05/30 10:39:12.21 fRxDhXvsp.net
>>749
安いバーコードリーダー使ってる奴は運用でカバーするしか無いだろw
許容出来ないならプロジェクト自体が破綻してるって事さw

761:デフォルトの名無しさん
23/05/30 10:42:26.90 Myxtqo5cp.net
>>751
こんなのがあるんだぁ
でも初心者スレにゃ敷居が高いかなw

762:デフォルトの名無しさん
23/05/30 10:49:12.86 bfEjfZ0jr.net
ふらっとC♯で質問をバカにすんなよ
C#相談室に来ちまうだろ
気に入らんならスルーしろ

763:デフォルトの名無しさん
23/05/30 10:59:18.28 S+eBT5oEp.net
>>754
むしろ引き取ってくれw

764:デフォルトの名無しさん (ワッチョイ ebe5-S+HU)
23/05/30 11:37:11.46 4ZtLJnCc0.net
>>750
頭でっかちはだいたいこうやって視野狭窄する

765:デフォルトの名無しさん (ワッチョイ ab07-8jEt)
23/05/30 19:47:16.20 58WJoE530.net
そもそも画像そのまま送ってPCで処理するのが一番手間かからないんだがな

766:デフォルトの名無しさん
23/05/30 20:53:22.26 XqwYghOK0.net
>>751
業務システムは実際そんなもん
テキストボックスで受けてチェックデジットでチェックして~とかぐらい

767:デフォルトの名無しさん
23/05/30 20:59:58.77 F+V5WuV6p.net
>>758
そのノリで顧客が直に使うアプリを作ると最悪なユーザビリティのモノになるんだよなぁ
使い方レクチャーしなきゃダメなアプリってまるでマイナポータルみたいw

768:デフォルトの名無しさん
23/05/30 21:09:46.60 1rcYEXOM0.net
他にキーボード入力無ければ普通にKeyDownで処理すりゃいいんじゃね
つか、最近のリーダーなら終端文字列設定可能になってるのが多いと思うけどな

769:デフォルトの名無しさん
23/05/30 21:33:48.29 VFhOrU+Nd.net
最近( ´,_ゝ`)プッ

770:デフォルトの名無しさん
23/05/30 22:43:21.58 /80DjIsi0.net
>>751
バーコードリーダーを複数台繋げられないかと考えていたところなので興味深い。

771:デフォルトの名無しさん
23/05/30 22:51:53.77 aqCv98Mpa.net
なんだかんだで考えてあげるお前ら優しいね(*´ω`*)

772:デフォルトの名無しさん
23/05/31 06:26:02.95 bZhrN1mv0.net
バーコードの者ですが
・1文字入力される度に終端文字を評価して終端文字が来たらコードを確定するやり方は王道
・テキストボックス以外にキーをホックする事もできる
ということが分かりました
世間一般とは外れたやり方をしないで済みそうです
ありがとうございます

773:デフォルトの名無しさん
23/05/31 08:26:16.71 r9qRlQV50.net
ハゲは辛いよな

774:デフォルトの名無しさん
23/05/31 09:03:04.25 w6ivfughr.net
いっそのことスキンにすればいいのにな

775:デフォルトの名無しさん
23/05/31 19:26:15.32 5lDwRBwp0.net
また髪の話してる

776:デフォルトの名無しさん
23/06/01 03:00:02.61 toxSQWi90.net
Visal Studio for Mac2022で自動保存の設定の場所を探してるんですが
見つかりません
ユーザー設定の中にありますか?

777:デフォルトの名無しさん
23/06/01 07:54:17.29 LS3jNsYU0.net
visalはしらんがVSなら本スレいけ

778:デフォルトの名無しさん (ワッチョイ 0fbb-wRkZ)
23/06/01 12:50:37.21 6cGVvbbd0.net
完全に自動保存の代わりになるわけじゃないけど、ないのはHot Exitで代替しろってことなんじゃないのかな?

779:デフォルトの名無しさん
23/06/01 20:34:08.33 +dVQvBYt0.net
>>769
命令すんなよ?!

780:国名です
23/06/02 13:19:54.33 WyoC2q620.net
近くにやばい人がいた(ガチ)

781:デフォルトの名無しさん
23/06/02 13:59:45.66 XtwEbodRa.net
ヤバい人などめずらしくもない

782:デフォルトの名無しさん
23/06/09 10:06:48.95 MbL8YIrlp.net
俺ヤバ的に解釈すると、気になる子って事かな?

783:デフォルトの名無しさん
23/06/10 21:21:30.66 FuXZUb160.net
何故か急にBitmap.SetPixelが機能しなくなったんですが原因わかりません。
正方形範囲を青色で縫ってpictureboxに反映させるだけの超シンプルなコードです。
デバッグツール使うと青に塗った後Bitmap.GetPixelで色が反映されてるのは確認取れたんです。
でpictureboxにもちゃんとbitmap指定しました。でもpictureboxは何も変更されません。
適当な新規プロジェクト立てて全く同じコード書いたら普通に機能しました。
ひょっとすればプロジェクトが壊れたなんてことあります?

784:デフォルトの名無しさん
23/06/10 21:33:22.64 zUCBB0zf0.net
バージョン管理してないんか?
動いてたとこまで戻して差分確認すりゃいいじゃん
してないなら知らん

785:デフォルトの名無しさん
23/06/10 23:19:53.45 JneWu8RjM.net
xとyがどこかで入れ替わったとかそういうレベルの質問ではないよね
なんとなく原因がわかる気がするけどまあRefreshの話なんだろうね多分

786:デフォルトの名無しさん
23/06/10 23:24:58.55 JneWu8RjM.net
ググってもジャストミートする良いページが見つからないんだけど
c# picturebox refreshで出てくるのはドボンのページだからそれでいいのかな?

787:デフォルトの名無しさん
23/06/10 23:31:04.78 JneWu8RjM.net
一度目に指定するとそれは即反映される
二度目以降はリフレッシュさせないと反映されない
表示されてる画像をSetPixelしただけで毎回全部書き換えてたらとんでもなく重くなるでしょう
表示のタイミングはこちらで決められますと言うこと

788:デフォルトの名無しさん
23/06/10 23:50:06.20 JneWu8RjM.net
ところがwindowが重なったりした後に前に出すと新しい画面に書き換わったりしてる
これはwindowsがアプリのwindowの画像が無効になったので再描画しなさいと命令を出してるため
元から表示されてる画像は表示されていただけでアプリ内で保存されていない
それで新しい画像を表示するしかなくなる


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

144日前に更新/265 KB
担当:undef