ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月29日(金) 06:36

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 7 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2006年9月01日(金) 02:17 
オフライン

登録日時: 2005年6月02日(木) 00:12
記事: 24
お住まい: 愛知県岡崎市
Vistaになると操作感が変わるらしいですね。登場する前に
ひとつ世界規模のプログラミング交流戦をやりませんか?
引用:
課題
通常マウスの1番目と2番目のボタンでクリックする
[WIN]スタート
これを3番目と4番目のボタンでクリックする
[オリジナル]スタート
このスタートメニューを作る

ルール
・オープンソース
・外部ライブラリ使用可能
・ActiveBasicかPureBasicでメインソースを書くこと
・チーム製作可

呼びかけ
・ActiveBasicフォーラム
・PureBasicフォーラム(Japan,English)
・PureBasic日本ユーザー会(Mixi)

期限
・2006/11/31
・ソースと実行EXEなど一式、説明文
・中途半端になった場合は イメージをPDFなどにして提出

賞品(最高をUSD100ドル前後)
質問や提案はこちらへ - 第一回プログラミングコンテスト(AB&PB)
http://forum.oryaaaaa.com/viewtopic.php?p=421

世界へ呼びかけます。開発期間が最高3ヶ月あるので
おそらく海外から何人か参加します。
http://www.purebasic.fr/english/viewtopic.php?t=23477


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2006年9月01日(金) 03:51 
オフライン

登録日時: 2005年6月02日(木) 00:12
記事: 24
お住まい: 愛知県岡崎市
なんにもヒントが無いと難しいと思うので、手順

AB苦手なんです
コード:
;GetAsyncKeyState
;http://msdn.microsoft.com/library/ja/jp ... frame=true
Repeat
  GetCursorPos_(mouse.POINT) 
  Debug mouse\x 
  Debug mouse\y
  Delay(500)
  If GetAsyncKeyState_(5) > 0
    Debug "CLICK"
  EndIf 
ForEver
スタートにマウスを移動して、3番目4番目のマウスをクリックする
のを検知する方法ですが、GetCurosrPosのAPIを使って位置を取得
それから GetAsncKeyStateのAPIを使って、どのボタンが押された
か調べます。通常、仮想キーコード表をみると3番4番は無いです。
しかしMSDNでGetAsncKeyStateのAPIを調べると、それは物理的
な位置を示しているという説明の通り、4は真ん中、5は戻る、6は
進むというリザーブされている番号になります。これを検知したとき
オリジナルメニューが表示されるようにします。

お詫び (英語板)
交流戦を直訳で Exchange としてしまい、英語環境で使えないという
書き込みが多数ありました。実際は Frendly Matchの間違いです。
辞書で"親善試合"で調べるべきでした。申し訳ありません。


最後に編集したユーザー Oryaaaaa [ 2006年9月01日(金) 04:17 ], 累計 1 回

通報する
ページトップ
 記事の件名:
投稿記事Posted: 2006年9月01日(金) 04:04 
オフライン

登録日時: 2005年7月25日(月) 13:27
記事: 893
お住まい: 埼玉県東松山市
ABに直に書き直すとこんな具合ですか?<<サンプルコード
コード:
'GetAsyncKeyState 
'http://msdn.microsoft.com/library/ja/jp ... ystate.asp?
#console'ABとPBではDebugコマンドの動作が違うので代用するためのもの
Dim frame As BOOL
Dim mouse As POINTAPI
frame=true 
Do
    GetCursorPos(mouse) 
    Print mouse.x
    Print mouse.y
    'Delay(500) 'すみません、こいつの定義、わかりません。
    If GetAsyncKeyState(5) > 0 then
        'ここらへんに自前スタートメニューの描画関数とか置くんだろうと思います。
        Print "CLICK"
    End If 
Loop

_________________
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2006年9月01日(金) 04:22 
オフライン

登録日時: 2005年6月02日(木) 00:12
記事: 24
お住まい: 愛知県岡崎市
そそ、そんな感じです。誤訳ミスしたとはいえ、ABやりたい人
世界に多いと実感しました。たった数時間だったのに・・・

Delay(500) 500ミリ秒停止すると言う意味です。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2006年9月01日(金) 18:26 
オフライン

登録日時: 2005年7月25日(月) 13:27
記事: 893
お住まい: 埼玉県東松山市
すると
コード:
'http://msdn.microsoft.com/library/ja/jp ... ystate.asp? 
#console'ABとPBではDebugコマンドの動作が違うので代用するためのもの 
Dim frame As BOOL 
Dim mouse As POINTAPI 
frame=true 
Do 
    GetCursorPos(mouse) 
    Print mouse.x 
    Print mouse.y 
    Sleep(500)
    If GetAsyncKeyState(5) > 0 then
        Print "CLICK" 
    End If 
Loop
こんな具合か。

_________________
Website→http://web1.nazca.co.jp/himajinn13sei/top.html
ここ以外の場所では「暇人13世」というHNを主として使用。

に署名を書き換えて欲しいと言われたので暇だしやってみるテスト。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2006年9月01日(金) 18:59 
オフライン

登録日時: 2005年5月31日(火) 17:14
記事: 231
お住まい: 茨城県
面白そうな企画ですね。私もできたら参加してみたいと思います。
要はオリジナルのスタートメニュー作成ということですよね?

ところで他言語のWindowsでActiveBasicで生成したexeファイルは動くのでしょうか?


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2006年9月04日(月) 22:34 
オフライン

登録日時: 2005年5月31日(火) 17:14
記事: 231
お住まい: 茨城県
自己レスです。英語のWindows XPで動作確認してみたところ、設定を変更すれば使えました。後から気がつきましたが、http://www.purebasic.fr/english/viewtopic.php?t=23477に起動方法が書かれてましたね。
ちなみにVer5 CP1だと、この設定を適用するとエディタの方が起動しなくなります。
もっと英語を話せれば、ABの英語版に協力できるんですがね~。私の今の英語力では無理なので残念です。


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 7 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[10人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean