VB.NET 2005では、
VB.NETにはコントロール配列は存在しないらしいので、それに類似した処理をどう行うかを教えていただきたいのです。
電卓の数字0~9までのボタンをクリックした時
どうすればよいのでしょうか?
作成中のコードです。
Option Explicit On
Public Class frmMain
Dim dData1 As Double, dData2 As Double '数値記憶用
Dim SuuFlag As Boolean '数字キー用
Dim EFlag As Boolean '演算キー用
Dim Enzan As Integer '演算種類記憶用(+:0,-:1,*:2,/:3,4:=)
Const NONE = -1
Const TASU = 0
Const HIKU = 1
Const KAKERU = 2
Const WARU = 3
Const EQU = 4
Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
dData1 = 0 '数値記憶用変数の初期化
dData2 = 0
Enzan = NONE '演算種類初期値
SuuFlag = False
EFlag = False
End Sub
Private Sub cmd_Click(ByVal Index As Integer)
'0が1文字だけ、または、演算キーを押した後の時
If txtDisplay.Text = "0" Or SuuFlag = False Then
txtDisplay.Text = "" '0を消す
dData2 = 0
End If
If Index <= 9 Then '0 - 9 数字
txtDisplay.Text = txtDisplay.Text & Trim(Str(Index))
ElseIf Index = 10 Then '.小数点
If txtDisplay.Text = "" Then '最初が小数点
txtDisplay.Text = "0."
ElseIf InStr(txtDisplay.Text, ".") = 0 Then '小数点無し
txtDisplay.Text = txtDisplay.Text & "."
End If
End If
SuuFlag = True
End Sub
End Class
数字のオブジェクト名は
1=cmd1
2=cmd2
3=cmd3
0=cmd0 ~といった感じです。
この先、数字を表示させるには
いったいどうすればよいのでしょうか。
大変申し訳ないのですが、回答お願いいたします。
VB.NETのVBで電卓を作成しているのですが、
コントロール配置に類似したものがうまくできず
先に進むことができません。
数字の0~9を押したときに、テキストボックスに
表示できるようにするには、どうすればよいのでしょうか?
コードは
Private Sub cmd_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _
Handles cmd1.Click, cmd2.Click, cmd3.Click, _
cmd4.Click,cmd5.Click, cmd6.Click, _
cmd7.Click, cmd8.Click,cmd9.Click, _
cmd0.Click
Dim btn As Button = CType(sender, Button)
Dim No As String = CType(btn.Tag, String)
txtDisplay.Text = No
Select Case cmd.Name 'ボタン名を参照
Case "cmd1" : No = "1"
Case "cmd2" : No = "2"
Case "cmd3" : No = "3"
Case "cmd4" : No = "4"
Case "cmd5" : No = "5"
Case "cmd6" : No = "6"
Case "cmd7" : No = "7"
Case "cmd8" : No = "8"
Case "cmd9" : No = "9"
Case "cmd0" : No = "0"
End Select
End Sub
です。
Handles cmd1.Click, cmd2.Click, cmd3.Click, _
cmd4.Click,cmd5.Click, cmd6.Click, _
cmd7.Click, cmd8.Click,cmd9.Click, _
cmd0.Click
のclickの部分が、青線のエラーがでます。
〔内容は、指定されているシグネチャが違います。〕
また、Select Case cmd.Name 'ボタン名を参照
のcmdがcmdは宣言されていません。とのエラーがでました。
長々となっていまい大変失礼しました。
どのようにすれば、数字キーをクリックしたときに
テキストに表示されるようになるのでしょうか?
VB.NETでの質問です。
電卓の数字0~9までのボタンをクリックした時
ラベルに表示されません。
作成したコードは
Private Sub cmd_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _
Handles cmd1.Click, cmd2.Click, cmd3.Click, _
cmd4.Click,cmd5.Click, cmd6.Click, _
cmd.Click, cmd8.Click,cmd9.Click, _
cmd0.Click
Dim cmd As Button
Dim No As String
cmd = CType(sender, Button) 'イベント発生元のボタン情報を取得
Select Case cmd.Name 'ボタン名を参照
Case "cmd1" : No = "1"
Case "cmd2" : No = "2"
Case "cmd3" : No = "3"
Case "cmd4" : No = "4"
Case "cmd5" : No = "5"
Case "cmd6" : No = "6"
Case "cmd7" : No = "7"
Case "cmd8" : No = "8"
Case "cmd9" : No = "9"
Case "cmd0" : No = "0"
End Select
End Sub
エラーは
cmd.clickで指定されているメゾットで表示できません。
cmdは宣言されていません。
ということでした。
どうすれば、電卓の数字をクリックしたときに、
ラベルに表示できますか?
よろしければ添削お願いいたします。
助言でも結構ですので、申し訳ありませんが
よろしくお願いします。
おはようございます
http://www.newcanyon.com/i/tips.html
のルールで相性を占うプログラムをここで何度か質問させていただきまして、組み、無事できた!と思ったのですが、実行すると誤った数値が戻ってきます
いったいどこが間違っているんでしょうか?
ぜひヒントを出していただけると助かります
※ん・記号などの文字は6として計算します
入力フォームは
あなたの名前 <INPUT TYPE=text NAME=myname Value="" SIZE=20>
相手の名前 <INPUT TYPE=text NAME=yourname Value="" SIZE=20>
から成り
Receive.aspは
NAME1=Request.Form("myname")
NAME2=Request.Form("yourname")
NAME=NAME1&NAME2
Dim i,p
p=Len(NAME)
Dim Suji(100)
For i=1 to p
Suji(i)=Mid(NAME,i,1)
Select Case Suji(i)
Case Suji(i)="あ","か","が"…
Suji(i)=1
Case Suji(i)="い","き","ぎ"…
Suji(i)=2
以下ウ、エ、オの段が続く
Case Else
Suji(i)=6
End Select
Next
Dim m,j,k,n,nows
m=Len(NAME)
n=Len(NAME)
For k=1 to n-1
For j=1 to m-1
Suji(j)=Suji(j)+Suji(j+1)
nows=k
If Suji(j)>=10 Then
Suji(j) = Suji(j) mod 10
End If
Next
Next
Aisho=Suji(j-1)&Suji(j)
Response.Write S1 & "相性は" & aisho & "%です"
%>
たとえば、myname=あ yourname=い なら26%が戻ってきます。
selectのところが違うんでしょうか…
おはようございます
http://www.newcanyon.com/i/tips.html
のルールで相性を占うプログラムをここで何度か質問させていただきまして、組み、無事できた!と思ったのですが、実行すると誤った数値が戻ってきます
いったいどこが間違っているんでしょうか?
ぜひヒントを出していただけると助かります
※ん・記号などの文字は6として計算します
入力フォームは
あなたの名前 <INPUT TYPE=text NAME=myname Value="" SIZE=20>
相手の名前 <INPUT TYPE=text NAME=yourname Value="" SIZE=20>
から成り
Receive.aspは
NAME1=Request.Form("myname")
NAME2=Request.Form("yourname")
NAME=NAME1&NAME2
Dim i,p
p=Len(NAME)
Dim Suji(100)
For i=1 to p
Suji(i)=Mid(NAME,i,1)
Select Case Suji(i)
Case Suji(i)="あ","か","が"…
Suji(i)=1
Case Suji(i)="い","き","ぎ"…
Suji(i)=2
以下ウ、エ、オの段が続く
Case Else
Suji(i)=6
End Select
Next
Dim m,j,k,n,nows
m=Len(NAME)
n=Len(NAME)
For k=1 to n-1
For j=1 to m-1
Suji(j)=Suji(j)+Suji(j+1)
nows=k
If Suji(j)>=10 Then
Suji(j) = Suji(j) mod 10
End If
Next
Next
Aisho=Suji(j-1)&Suji(j)
Response.Write S1 & "相性は" & aisho & "%です"
%>
たとえば、myname=あ yourname=い なら26%が戻ってきます。
selectのところが違うんでしょうか…