ページ 1 / 1
パスワードチェック
Posted: 2007年5月05日(土) 16:42
by HOLY
二度目訪問のHOLYです。
今回は、作者HPへの飛ばし方についての質問です。
僕のHPは、パスワードをかけて、会員しか入れなくしてあります。
それで、"作者HP"みたいなのを作りたいのですが・・・
まず、HPを表示させるタグは、
コード: 全て選択
Exec "http://~~~"
だと言うことが分かりました。
そこで質問なのですが、
エディットボックスにパスワードを入れ、もしパスワードが正しければ
Aのページ、違っていればBのページを表示させるには、どうすれば良いのでしょうか?
初歩的かもしれませんが、
コードのサンプルを御願いします。
後、"SendDlgItemMessage"を使うと、"*ByteからLongに強制変換されています。"
という警告が表示されます。
どのようにしたら、表示されなくなるのでしょうか?
こちらも初歩的ですが、御願いします・・・
※もし、ダブっていたら、すみません;
Posted: 2007年5月05日(土) 17:42
by konisi
一つ目はちょっとネットワーク系は苦手なので他の人に答えてもらうとして。
二つ目は、SendDlgItemMessage関数を、どんなパラメータで使おうとしたらそういう警告が出たか書かないと答えられません。
Posted: 2007年5月05日(土) 18:17
by HOLY
すみません・・・;
かなり初心者なので、「"パラメータ"って何?」
って感じなんです・・・((死
とりあえず、エラー内容は、
コード: 全て選択
Button.sbp(55) - [警告] "SendDlgItemMessage"の第5パラメータが、*ByteからLongに強制変換されています。
というのが、ボタンの数だけ増えていきます・・・
Re: パスワードチェック
Posted: 2007年5月05日(土) 18:41
by 7
> エディットボックスにパスワードを入れ、もしパスワードが正しければ
> Aのページ、違っていればBのページを表示させるには、どうすれば良いのでしょうか?
インターネットに接続して適正なパスワードどうかを判断するのは面倒そうですが、エディットボックスに入力されたパスワードをアプリケーション自身が判断することは簡単です。
コード: 全て選択
Dim hEdit As HWND
Dim lpStr As LPSTR, nLen As Long
Dim lpszPass="pass" As LPCSTR
hEdit=GetDlgItem(hMainWnd,EditBox1)
nLen=GetWindowTextLength(hEdit)+1
lpStr=malloc(nLen)
lpStr[GetWindowText(hEdit,lpStr,nLen)]=0
If lstrcmp(lpStr,lpszPass)=0 Then
MessageBox(hMainWnd,"パスワードは適正です。","NO",MB_OK)
Else
MessageBox(hMainWnd,"パスワードは不正です。","NO",MB_OK)
End If
free(lpStr)
入力されている文字列をlstrcmp()関数を使って適正かどうかを調べます。
SendDlgItemMessage()関数の第五引数にはLPARAM型を指定します。*Byte型はたぶん文字列を指定しているんですね。
型の変換を行うには
As 演算子を使って行います。
コード: 全て選択
SendDlgItemMessage(hMainWnd,CommandButton1,WM_SETTEXT,0,"ポチっとな" As LPARAM)
また、このエラーを表示したくない場合、プロジェクトオプションの「厳密な型チェックを行う」のチェックを外すと表示されないようになります。
ほんとにたびたび有難う御座います!!
Posted: 2007年5月05日(土) 18:49
by HOLY
7さんにkonisiさん!
有難う御座いました!!
知識があって、本当にうらやましいです(泣)
また、質問ができたら来ますね。
本当に有難う御座いました。