ページ 11

If~ について

Posted: 2007年7月10日(火) 20:07
by Susisu

コード: 全て選択


Sub MainWnd_CommandButton1_Click()
Dim hEdit1 As Long
Dim hEdit2 As Long
Dim Answer As String

hEdit1=GetDlgItem(hMainWnd, EditBox1)
hEdit2=GetDlgItem(hMainWnd, EditBox2)

If hEdit1="a" Then
Answer="x"

Else If hEdit1="b" Then
Answer="y"

Else
Answer="z"

End If
	SetWindowText(hEdit2,Answer)
End Sub
このようにすると全てElse~の条件処理になり、zしか表示されません。
どなたか教えていただけませんか?

Else Ifじゃだめです

Posted: 2007年7月10日(火) 20:13
by Kaz
条件分岐に余分なスペースが入ってますよ
× Else If
○ ElseIf

直りません

Posted: 2007年7月10日(火) 20:30
by Susisu
直りません。
やはりzが表示されてしまいます。

あ、よくみたら

Posted: 2007年7月10日(火) 20:43
by Kaz
条件がおかしいです。
正しくはこうかな?

Posted: 2007年7月10日(火) 20:56
by 雷電

コード: 全て選択

dwLength = GetWindowTextLength(hEdit1) 
GetWindowText(hEdit1, EditString, dwLength + 1) 
取得の部分って、Stringだけど領域確保はいらないんですか

もしいるならば、こうすべきです。

なるほど!

Posted: 2007年7月10日(火) 21:28
by Kaz
いつもString型でアクセス違反がでてて、なぜかな?
って思ってたんですがZeroStringを忘れてたんですね!

雷電さんありがとうございます!

ありがとうございます

Posted: 2007年7月11日(水) 20:40
by Susisu
ありがとうございます!
正常に動作するようになりました!