単純な電卓

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: 単純な電卓

by konisi » 2006年1月22日(日) 20:29

過去に暇だったので作った電卓を引っ張り出してみるテスト。

http://web1.nazca.co.jp/hp/himajinn13sei/11.zip

プレ画像→http://web1.nazca.co.jp/hp/himajinn13sei/11.jpg

暇潰しに作った割には複雑な構造してますがヘルプに載ってる関数が殆んどだったと思うので読もうと思えば読めると思います。

そして皆様すみません。<<宣伝にほぼ等しい行為について

by イグトランス » 2006年1月20日(金) 22:25

GetDlgItemIntとは逆のSetDlgItemIntもありますよ。

Declare Function SetDlgItemInt Lib "user32.dll" (hDlg As HWND, nIDDlgItem As Long, uValue As DWord, bSinged As Long) As Long

SetDlgItemInt(hMainWnd, Static1, (buf + buff) As DWord, TRUE)

by M.S. » 2006年1月20日(金) 20:28

> 上のコードでできました。

ありがとうございました。

by Toshi » 2006年1月19日(木) 20:03

これは文字列を数値とみなして、それらを加算した値を文字列として表示するということでしょうか?

この場合 buf と buff は、それぞれがポインタとみなされますので、
SetWindowText にはそれらのポインタ同士を加算した値がポインタとして渡されてしまいます。

意図した動作にするには、まず GetDlgItemInt でそれぞれの文字列を
数値として取得し、それらを加算した値を文字列にしてから
SetWindowText へ渡します。

単純な電卓

by M.S. » 2006年1月19日(木) 19:04

大分前にも電卓の投稿をしましたが、AB4 でコンパイルして起動させてみると、
正しく機能しなくなったので、また新しく作ろうと思いやってみたのですが、
うまくいかないので、質問させていただきます。

コード: 全て選択

dim buf[225] as Byte
dim buff[225] as Byte

GetDlgItemText(hMainWnd,EditBox1,buf,225)
GetDlgItemText(hMainWnd,EditBox2,buff,225)

SetWindowText(GetDlgItem(hMainWnd,Static1),buf+buff)
上記のコード(足し算用)でやってみると、なにも Static1 に表示されませんでした。

どこがいけないのか教えて下さい。

ページトップ