スレ立てるまでもない質問はここで 160匹目

■ このスレッドは過去ログ倉庫に格納されています
2022/05/10(火) 14:24:35.29ID:+9FnNLoT
この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。

次スレは>>980が立てること

【前スレ】
スレ立てるまでもない質問はここで 159匹目
https://mevius.5ch.net/test/read.cgi/tech/1644673480/
2022/07/25(月) 18:00:04.51ID:AXHgFxoO
メーカーの老害にはmacは使いこなせないからだよ
2022/07/25(月) 18:37:43.52ID:nPMjx1b5
macは時代を30年ほど間違えてないか?って値段だろ
LinuxかFreeBSDでえーやん?
2022/07/25(月) 18:40:12.32ID:YKvWEWzT
下請け丸投げしかできないメーカーのゴミ社員はwindowsでエクセルしか使えないからだよ
2022/07/25(月) 18:50:14.35ID:XGvRm+qF
ハード屋さんが使ってたロジアナがWinXPで動いててビックリしたわ
491デフォルトの名無しさん
垢版 |
2022/07/25(月) 18:57:37.62ID:GOtCNvAE
macは高級感だけで金払う馬鹿を鴨にする戦略だから
2022/07/25(月) 19:02:31.32ID:2PhM5qDH
>>485
利益に繋がっているとは言いがたいのがポイントだなw
493デフォルトの名無しさん
垢版 |
2022/07/25(月) 21:11:33.38ID:GOtCNvAE
ケンタウィルスは絶滅汁
2022/07/25(月) 21:38:03.55ID:dV4kzGF1
>>486
EDAはWindows優勢だけどMCUやFPGAの開発ツールはLinux版も同時リリースされてない?
2022/07/25(月) 22:21:56.73ID:nPMjx1b5
RDBだとまぁOracleがトップ、次点がPostgreSQL, SQL Server、その下はMySQL
どういう訳かはしらないけどDB2は一回しか経験ない
フリーのPostgreSQLとかMySQLを使ってたのはバリ一部上場だし、もうあまり有料無料は関係なさそうかな
2022/07/25(月) 22:29:55.68ID:dV4kzGF1
そう言えばソニーセミコンのソフト開発系?はLinuxメインかもね
Spresenseの開発環境はLinuxファーストだったような
497デフォルトの名無しさん
垢版 |
2022/07/25(月) 22:32:31.07ID:oUQ2GGC1
・日立、週休3日で給与維持 生産性向上へ働き方改革 時間から成果へ転換
・日立、最低勤務時間を撤廃 「週休3日」も可能に
・2022年の新入社員、79.8%がテレワーク オフィスの必要性は?
・日立、富士通、NEC…「ジョブ型雇用」を大企業が続々導入する理由
・日立やNECが導入へ 「週休3日」は人材獲得の切り札
・リクルートグループ、週休「約3日」に。4月から年間休日を145日に増加へ
・カルビー/国内社員3900人を対象に副業解禁
・介護職の週休3日制をサポート 宮城県、難しい3連休も可能に
2022/07/25(月) 22:54:07.13ID:gTrk2zFk
AWS IoT で良い。
ただし、AWSの12資格には、IoTの資格がないけど

Windows をサーバーで使うことはない。
クライアント・操作側で使うだけ

今は、クラウドのすべてのシステムがDocker だから、
DockerはLinux だけの技術だから、Linuxを使わざるを得ない
2022/07/25(月) 23:05:15.21ID:dV4kzGF1
ちょっと前に発売された音ゲーがWindows環境よりProton環境の方が遅延が少なくて快適なんてオチがあった
2022/07/25(月) 23:24:47.38ID:N/8RfmxG
500
501デフォルトの名無しさん
垢版 |
2022/07/26(火) 00:42:45.75ID:7eeTS5R1
>>498
あわしろを召喚しちまうからLinuxの話題はやめとけ。
2022/07/26(火) 10:40:36.03ID:72WDY9Tv
みなさんは変数名はきっちり英単語にして付けてます? それとも日本語ローマ字的なものもOKでやってます?
2022/07/26(火) 11:00:10.77ID:b/a9cbVb
>>472
なるほどね、同意しましょう
2022/07/26(火) 11:55:16.39ID:EFLNvNJ6
サーバを所有するという概念が十年スパンの長期的にはオワコンになると思うな

DockerにしろVMにしろ仮想環境ソリューションは今だけで、将来的にはLambdaのような疎結合な計算機資源に移行すると思う
モノシリックが過ぎるよ仮想環境とかVPC
無くなるという意味じゃなく、三十年後くらいには完全に基盤として隠蔽されてマネージドがメインストリームになるという
ただLightsailみたいなサーバは多重化とか関係ないからアプリケーションとして残る
2022/07/26(火) 12:03:39.48ID:ZN4y9/Yq
IT後進国のジャップランド以外ではな
506デフォルトの名無しさん
垢版 |
2022/07/26(火) 12:13:37.87ID:DIb0h0GI
>>502
普段は英単語だけど、たまにnaikei(内径)とか使っちゃう
507デフォルトの名無しさん
垢版 |
2022/07/26(火) 17:58:19.46ID:gc9s0ohk
モノシリックωωω
2022/07/26(火) 22:55:38.11ID:5qP0bzbL
テキストボックスとラベルを比較したいんだけどこれじゃうまくいかないのでどうすればいいか教えてください
ボタン押しても10点しか出ない
Dim inp1 As String

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles http://Button1.Click
inp1 = TextBox1.Text
Label1.Text = CStr(Int(Rnd() * 99))
Label2.Text = "得点"
If "inp1" = Label1.Text Then
Label2.Text = "100点"
ElseIf "inp1" > Label1.Text Then
Label2.Text = "10点"
ElseIf "inp1" < Label1.Text Then
Label2.Text = "5点"

End If
509デフォルトの名無しさん
垢版 |
2022/07/26(火) 22:58:00.90ID:5qP0bzbL
>>508
visalstudioです
2022/07/26(火) 23:13:19.30ID:SFGiBpCo
>>508
inp1と"inp1"の違いはわかりますか?
前者は変数であり、後者は文字列リテラルです。
2022/07/26(火) 23:15:05.41ID:tkxwNYDd
AWS Lambda でも、Ruby などの他に、Docker も使える

こんなに流行っているPHP は、デフォルトで用意されていない。
プロ用の言語とは、みなされていない
512デフォルトの名無しさん
垢版 |
2022/07/26(火) 23:31:05.10ID:MJpCL8rD
>>510
すみませんよくわかりません
" "を消すことで点数は出るようになったのですが
textboxに何も入力出来ずにボタンを押すと今度は5点が出るようになってしまいました

また数値の差(textboxとlabelの差が10以内ならAを表示20より上ならBを表示)などはどうすればいいのでしょうか
2022/07/26(火) 23:31:14.00ID:khPn0eWd
>>511みたいなRubyガイジは消えてねw
Rubyなんてもう仕事では使われなくなっている訳だがw
2022/07/26(火) 23:45:37.56ID:SFGiBpCo
>>512
イベント駆動、制御構造、文字列と数値の違いもわかってないみたいだから、前の単元を見直して再勉強して下さい。
2022/07/26(火) 23:52:00.61ID:EFLNvNJ6
>>512
次は文字列から数値に変換してから比較
VBだと思うが文字列比較してるから大小比較には使えない

入力できない件はTextコントロールのEnableプロパティがFalseにでもなってるんだろ
2022/07/26(火) 23:53:31.94ID:SFGiBpCo
数値の差は引き算と絶対値を使えば得られる。
その前に文字列を数値に変換する必要がある。
517デフォルトの名無しさん
垢版 |
2022/07/27(水) 00:18:54.56ID:nNmP47B2
>>515
>>516
数値の変換はinp1=Val(textbox.text)で正しいのでしょうかそれともIf Val(inp1) = Label1.Text Then でも大丈夫ですか?
あとtext boxに何も入力出来ずにではなくしずにでしたすみません
2022/07/27(水) 00:25:27.19ID:LZk+uw73
変数には型があって、As Stringと書いた変数は文字列型になる。数値を文字列型の変数に代入することはできない。
式にも型がある。
2022/07/27(水) 00:31:01.68ID:LZk+uw73
文字列型と数値型の比較は、、、やらん方がいいな。
520デフォルトの名無しさん
垢版 |
2022/07/27(水) 00:35:28.64ID:RpXAKi4d
>>518
Dim inp1 As integer
にするということですか?
2022/07/27(水) 00:38:41.47ID:LZk+uw73
Label1.Textは文字列型だね。
522デフォルトの名無しさん
垢版 |
2022/07/27(水) 00:50:16.57ID:L+cMx9Xr
>>521
すみませんわからないので
>>508のどこが間違っているか具体的に教えてくれませんか?
2022/07/27(水) 00:52:50.73ID:LZk+uw73
>>522
何がしたいのかさっぱりわからん。
日本語でプログラムを書いてくだされ。
2022/07/27(水) 00:56:01.02ID:LZk+uw73
Label1は何に使うのか
TextBox1は何に使うのか
525デフォルトの名無しさん
垢版 |
2022/07/27(水) 00:58:25.68ID:vjLtCyiu
>>523
>>508に書いてある通りtextboxに入力された数値とlabelに出るランダムな数値を比較してlabel2に表示させたいです
2022/07/27(水) 01:06:32.36ID:LZk+uw73
ランダムな数値をValue1に代入する。
Label1にValue1を文字列にしたものを格納する。
TextBox1の文字列を数値にしたものを変数Value2に代入する。
Value1とValue2を比較する。
Value1 > Value2なら「大きいです」という文字列を(以下略)
2022/07/27(水) 01:13:48.04ID:LZk+uw73
Value1, Value2という2つの変数が必要。
ランダムな数字を表示するのはいつ? ボタンを押したとき?
2022/07/27(水) 01:18:20.56ID:LZk+uw73
複数回比較するので、変数に代入せずに変換する式をそのまま書くのは冗長。
529デフォルトの名無しさん
垢版 |
2022/07/27(水) 01:20:57.98ID:MwlsM79e
>>526
cstrではダメということですか?
2022/07/27(水) 01:22:57.37ID:LZk+uw73
>>529
文字列比較と数値比較は、少し違うんだな~、これが。

"124" > "1234"
531デフォルトの名無しさん
垢版 |
2022/07/27(水) 01:23:03.27ID:dBfhXkJs
>>527
ボタンを押した時です
532デフォルトの名無しさん
垢版 |
2022/07/27(水) 01:28:33.91ID:8iD3kOwS
今の状態ではlabelもtextboxも変数にはなっていないということですか?
2022/07/27(水) 01:29:37.99ID:LZk+uw73
日本の情報教育では、出題者の意図を推し測るのが義務化されているので、問題がLabel2への格納を暗に要求しているのであれば、そのように書かなければならない。

問題文はどうなってる?
2022/07/27(水) 01:31:05.90ID:LZk+uw73
フォームでLabel1を配置したのであれば、Label1.Textは文字列変数として使える。
535デフォルトの名無しさん
垢版 |
2022/07/27(水) 01:33:27.91ID:9eouHVow
>>533
スロットを使って2桁の整数を作る
・ 入力欄に 99 以下の整数を入力して、「判定」ボタンを押すと、入力された数値とスロット
の数値を比較して、その差によって以下に示すような点数が表示されるゲーム
・ 「判定」ボタンと「終了」ボタン、数値の入力欄、スロット表示欄、得点表示欄の5つは必
ずつけること。
・ 入力欄とスロット、得点のクリアボタンを作る(クリアの状態は自由に設定して OK)
・ コードには、意図が伝わるようにコメントを書き入れる
<点数と条件>
・ 2 つの数値が一致したら、100 点をフォーム上に表示
・ 一致していないが、2 つの数値の差が 10 以内だったら 10 点をフォーム上に表示 ・ 2 つの数値の差が 10 より大きく 20 より小さかったら5点をフォーム上に表示 ・ 2 つの数値の差が 20 以上だったら 0 点をフォーム上に表示
こんな感じです
2022/07/27(水) 01:35:03.65ID:D3U44Pck
リテラルとカフェラテ
おいしいのはネスカフェ
537デフォルトの名無しさん
垢版 |
2022/07/27(水) 01:38:13.06ID:fjgr5dHm
>>534
その文字列変数を数値に代入してから比較するということですか?
2022/07/27(水) 01:39:32.12ID:LZk+uw73
わかってないようだが、VBでは日本語変数名・日本語コントロール名が使えるはずだ。

まず、フォームに何を配置する?
ボタン、ラベル、テキストボックスの三種のコントロールが使える。

ユーザーはラベルには入力できない。
ユーザーはテキストボックスに文字列を入力できる。
2022/07/27(水) 01:42:52.40ID:LZk+uw73
「判定」ボタン、
「終了」ボタン、
「数値入力」テキストボックス、
「スロット表示」ラベル、
「得点表示」ラベル。
これでいこう。
540デフォルトの名無しさん
垢版 |
2022/07/27(水) 01:43:55.82ID:YSkUdWVs
>>539
それは既に配置しています
2022/07/27(水) 01:49:59.36ID:LZk+uw73
Dim 値1 As Integer
Dim 値2 As Integer
Dim 差分 As Integer
値1 = Int(Rnd()*99)
スロット表示.Text = CStr(値1)
値2 = Val(数値入力.Text)
差分 = Abs(値1 - 値2)
2022/07/27(水) 01:51:03.95ID:LZk+uw73
スロットっていうことは、タイマー使ってクルクル回した方がいいのか?
2022/07/27(水) 01:58:07.37ID:LZk+uw73
フォームにタイマーを配置。

フォームが初期化されるときに0.33秒間隔のタイマーを起動。
タイマーイベントが発生したら、スロットの文字列をランダムな数字で更新。
2022/07/27(水) 01:59:20.33ID:LZk+uw73
判定ボタンを押したらタイマーを停止。
終了ボタンを押したらフォームを閉じる。
2022/07/27(水) 02:00:55.62ID:LZk+uw73
待てよ、スロットは規則正しく動かすべきか、それともランダムに変えるべきか。
546デフォルトの名無しさん
垢版 |
2022/07/27(水) 02:02:44.06ID:qI+Uo5vp
>>541
 Dim inp1 As Integer
Dim inp2 As Integer
Dim inp3 As Integer

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

  inp1 = Label1.Text
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
inp1 = CStr(Int(Rnd() * 99))

ということで大丈夫ですか?
2022/07/27(水) 02:05:27.70ID:LZk+uw73
>>546
それならinp1は整数でTextBox1.Textは文字列となる。
整数変数に文字列を代入するのはおかしい。
2022/07/27(水) 02:10:07.62ID:LZk+uw73
>>546
代入文は順序が大事。ランダムな値を求めるのが先。
549デフォルトの名無しさん
垢版 |
2022/07/27(水) 02:10:38.30ID:kUpgZ120
>>547
この状態だとinp2 = Val(TextBox1.Text) は
>>541の値2とは書いてあることは同じではないのですか?
550デフォルトの名無しさん
垢版 |
2022/07/27(水) 02:12:35.54ID:kUpgZ120
>>548
つまり

Label1.Text = CStr(Int(Rnd() * 99))
inp1 = Label1.Text
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
ということですか?
2022/07/27(水) 02:13:43.00ID:LZk+uw73
>>550

> inp1 = Label1.Text

文字列を整数変数に代入できない。
552デフォルトの名無しさん
垢版 |
2022/07/27(水) 02:16:20.29ID:kUpgZ120
>>551
なので>>541みたく分けないといけないということですか?
2022/07/27(水) 02:17:47.50ID:LZk+uw73
>>552
文字列を整数にしたものを返す関数があるから、それを使う。
2022/07/27(水) 02:20:59.51ID:LZk+uw73
スロットマシンのような動作を期待しているのであれば、タイマーを使ってクルクル回す必要がある。なんなら音を出して、カジノのような演出も必要かも知れない。
出題者の意図をよく理解するんだ。
555デフォルトの名無しさん
垢版 |
2022/07/27(水) 02:22:17.13ID:kUpgZ120
>>553
inp1 = Label1.Text
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
inp1 = CStr(Int(Rnd() * 99))
それがこの状態だとまだ出来ていませんか?
その関数はintとはまた別なのですか?
556デフォルトの名無しさん
垢版 |
2022/07/27(水) 02:23:41.61ID:kUpgZ120
>>554
基礎レベルなので多分それは大丈夫だと思います
2022/07/27(水) 02:24:32.42ID:LZk+uw73
inp1 = Label1.Text
の左辺は整数変数。右辺は文字列。
型の不一致。

inp1 = CStr(Int(Rnd() * 99))
の左辺は整数変数。右辺はCStrの値なので文字列。
型の不一致。
2022/07/27(水) 02:26:47.85ID:LZk+uw73
CIntかValを使えば文字列を数値に変換できる。
2022/07/27(水) 02:29:56.55ID:LZk+uw73
あとはいくつかのIf文で差を比較し、場合分けして得点表示.Text に適当な文字列を代入すればいい。
560デフォルトの名無しさん
垢版 |
2022/07/27(水) 02:32:21.15ID:hUPssU1v
>>558
inp1 = Val(Int(Rnd() * 99))
Label1.Text = CStr(inp1)
inp2 = Val(TextBox1.Text)
inp3 = Val(inp1 - inp2)
こういうことですか?
2022/07/27(水) 02:33:05.88ID:LZk+uw73
絶対値を求める関数はAbs
562デフォルトの名無しさん
垢版 |
2022/07/27(水) 02:36:13.30ID:hUPssU1v
>>561
Absは宣言されていないと出てしまいます
2022/07/27(水) 02:37:16.50ID:LZk+uw73
System.Math.Abs
564デフォルトの名無しさん
垢版 |
2022/07/27(水) 02:41:06.00ID:QfftK3Ne
>>563
すみませんそれだけ書かれてもよくわかりません
2022/07/27(水) 02:41:25.80ID:LZk+uw73
廃止予定のVB.netを教材に使うなんて学校はひどいことをしますなあ。
2022/07/27(水) 02:43:48.59ID:LZk+uw73
inp3 = System.Math.Abs(inp1 - inp2)
567デフォルトの名無しさん
垢版 |
2022/07/27(水) 02:46:02.40ID:mBvV44nn
>>566
ありがとうございます
568デフォルトの名無しさん
垢版 |
2022/07/27(水) 02:48:16.34ID:mBvV44nn
これで前提条件は完成ということで大丈夫なのでしょうか?
2022/07/27(水) 02:51:54.76ID:LZk+uw73
>>568
実行してみてエラーが出ない。
そして、二分間画面をにらみつけて、間違いが見つからなければ次に進めばいい。
570デフォルトの名無しさん
垢版 |
2022/07/27(水) 02:57:24.54ID:AEbD6U5/
>>569
エラーは出ませんでした
If inp2 = inp1 Then
Label2.Text = "100点"
ElseIf inp1 > inp2 Then
Label2.Text = "10点"
ElseIf inp1 < inp2 Then
Label2.Text = "5点"

End If
下はこのようなコードなのですがtextboxに何も入力せずにボタンを押すと10点と出てしまいます
また比較の段階ではinpは既にvalで数値化しているのでvalをつけなくても問題ないという認識で間違っていないでしょうか?
2022/07/27(水) 02:58:18.78ID:LZk+uw73
※実行結果が間違いかどうか判定するのは、初心者なら自分自身だが、上級者はテストを自動化できる。
2022/07/27(水) 03:01:09.00ID:LZk+uw73
テキストボックスに何も入れない、ということは.Textが空文字列になる。空文字列をValに渡すとどうなるか?

空文字列かどうか判定する必要があるかも知れない。
2022/07/27(水) 03:02:49.33ID:LZk+uw73
数値化しているものを数値化するとは意味をなさない。
2022/07/27(水) 03:05:17.77ID:LZk+uw73
2つの数値の差がinp3だろ?
575デフォルトの名無しさん
垢版 |
2022/07/27(水) 03:10:08.15ID:jODmrfct
>>574
はい
2022/07/27(水) 03:11:42.49ID:LZk+uw73
>>575
もう一度、判定条件を読み直し。
577デフォルトの名無しさん
垢版 |
2022/07/27(水) 03:11:50.99ID:jODmrfct
自動でデバッグが必要ということもわかるのですが
まず 一致していないが、2 つの数値の差が 10 以内だったら 10 点をフォーム上に表示 ・ 2 つの数値の差が 10 より大きく 20 より小さかったら5点をフォーム上に表示 ・ 2 つの数値の差が 20 以上だったら 0 点をフォーム上に表示
が上手く書けなくて困っています
2022/07/27(水) 03:13:29.52ID:LZk+uw73
そういうときに便利な「数直線」。
数直線を紙に書いて、場合分けを考える。
2022/07/27(水) 03:15:18.50ID:LZk+uw73
絶対値は常にゼロより大きいのでカンタンだね。
2022/07/27(水) 03:17:08.97ID:LZk+uw73
*絶対値は常にゼロ以上なのでカンタンだね。
2022/07/27(水) 03:19:32.96ID:LZk+uw73
If文に複数の条件式を指定したい場合は、AndかOrを使って条件式をつなげる。
582デフォルトの名無しさん
垢版 |
2022/07/27(水) 03:19:51.93ID:yKrJTn5K
>>580
正直遠回しに言われても理解できないので
どこを直したらいいのか直接的に教えてもらえませんか?
If inp2 = inp1 Then
Label2.Text = "100点"
ElseIf inp1 <> inp2 And inp3 = 10 Then
Label2.Text = "10点"
ElseIf inp1 <> inp2 Then
Label2.Text = "5点"
ElseIf inp1 <> inp2 Then
Label2.Text = "0点"
583デフォルトの名無しさん
垢版 |
2022/07/27(水) 03:20:32.16ID:yKrJTn5K
>>581
それはわかります
2022/07/27(水) 03:25:42.03ID:LZk+uw73
答えだけ教えたら勉強にならないでしょう。

2 つの数値の差が 10 以内だったら 10 点をフォーム上に表示

ElseIf Inp3 <= 10 Then
10 点をフォーム上に表示。

2 つの数値の差が 10 より大きく 20 より小さかったら5点をフォーム上に表示

ElseIf 10 < Inp3 And Inp3 < 20 Then
5点をフォーム上に表示

2 つの数値の差が 20 以上だったら 0 点をフォーム上に表示

ElseIf 20 <= Inp3 Then
0 点をフォーム上に表示
2022/07/27(水) 03:27:25.65ID:LZk+uw73
最後に
End If
2022/07/27(水) 03:29:58.17ID:LZk+uw73
フォームに表示が共通しているから、数値の差から得点を返す関数を作れば、コードが合理的になる。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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