abwiki @ ウィキ (ActiveBasic非公式wiki)内検索 / 「mciSendString」で検索した結果

検索 :
  • mciSendString
    mciSendString関数 mciSendString(lpszCommand As BytePtr, _ lpszReturnString As BytePtr, _ cchReturn As DWord, _ hwndCallback As DWord, _ ) As DWord MCI(メディアコントロールインターフェイス)デバイスへ、コマンド文字列を送信します。
  • MCI
    ...ndCommand mciSendString mciSetYieldProc 構造体 MCI_BREAK_PARMS MCI_DGV_CAPTURE_PARMS MCI_DGV_COPY_PARMS MCI_DGV_CUE_PARMS MCI_DGV_CUT_PARMS MCI_DGV_DELETE_PARMS MCI_DGV_FREEZE_PARMS MCI_DGV_INFO_PARMS MCI_DGV_LIST_PARMS MCI_DGV_LOAD_PARMS MCI_DGV_MONITOR_PARMS MCI_DGV_OPEN_PARMS MCI_DGV_PASTE_PARMS MCI_DGV_PAUSE_PARMS MCI_DGV_PLAY_PARMS MCI_DGV_PUT_PARMS MCI_DGV_QUALITY_PARMS MCI_DGV_RECORD_PARMS...
  • mciSendCommand
    mciSendCommand(マッキ・センド・コマンド)とはMCI要するに 音楽や動画の再生、録音装置に命令する関数である。 流れとしては デバイスを開く 再生や録音の命令 デバイスを閉じる の3セット。←当たり前か この関数は エラー番号 mciSendCommand(デバイス, コマンド, フラグ, 構造体) という書き方で、 コマンドやフラグ、構造体はMCIのページに書いてある通り。
  • うらない
    #N88BASIC#include api_mmsys.sbp Dim kuji[4] = ["大吉","基地","凶","大凶"] As *ByteDim Dim I$ As StringDim c As DWordRandomizePrint "お み く じ"Print "今日の運勢は……"BGM("C \Windows\media\onestop.mid")'占い結果によって曲が変わって楽しいc = Int(Rnd()*4)Color 6-cSleep(1500)Print MakeStr(kuji[c])Color 7,0Sleep(3000)Input "リターンキーを押してください", I$BGM(NULL...
  • ステップ30 「MCIコマンドで音楽ファイルを再生する」
    今回はMCIコマンドを使って、WAVE、MIDI、MP3等の音楽ファイルを再生することができる簡易プレーヤーを作ってみます。 MCIコマンドって何? "Multimedia Control Interface" のことです。ようは、音楽ファイルをオープンしたり、再生、停止したりする、サウンド関連のコマンドのことです。 mciSendCommand関数を使用すれば、MCI_OPEN、MCI_PLAY、MCI_STOPなどのMCIコマンドを送ることができます。 mciSendCommand ( _ mciId As Long, _ MCIデバイスのID uMsg As Long, _ コマンド(MCI_OPEN、MCI_PLAY、MCI_STOPなど…) dwParam1 As L...
  • String$
    名称 |String$ 読み |ストリングドル、ストラングルホールド、ケンスケ、ストリングダラー等 定義 |String$(num As Long, buf As String) As String 説明 |bufに指定された文字列をnum回連結したものを返します。 戻り値 |文字列が返ります。 参照 |
  • マルチメディア
    MCIによる、お手軽サウンドプレイヤー 公式サイトで毎日のようにABのバグフィックスが行われていた頃…公式にMCIを使った解説があった。 AB4.24のサンプルにCDPlayerがあるが、これもMCIを使ったもの。 MCIでmpegやavi、waveやmidiなどを簡単に再生することができるので、エロゲー制作にはもってこいだ。 ただしMCIには問題があって、再生終了などのメッセージを受け取るにはウインドウハンドルが必要なことだ。 つまり、コンソールアプリ、N88アプリでは、扱えないということになってしまうような気がする。 その回避方法は、ダミーウインドウを作り、そいつにメッセージを送らせるようにする。 ダミーと言ってもウインドウ。見えないだけ。 そこで登場するのがサブクラス化だ。 ウインドウプロシージャを横取りするものである。 #N88BASIC #i...
  • ZeroString
    名称 |ZeroString 読み |ゼロストリング 定義 |ZeroString(length As DWord) As String 説明 |文字コード0を指定したバイト数だけ並べたString型データを取得します。 戻り値 |String型データの先頭ポインタがBytePtr型で返ります。 参照 |
  • String型
    String型とは文字列を保持、編集するための型である。 文字列は要は配列のことである。
  • コンボボックス
    コンボボックスはエディットボックスとリストボックスを組み合わせたコントロール ユーザーにアイテム選択をさせるために使う 標準ではエディットボックス脇のボタンを押すことによってリストが表示されるドロップダウンタイプになっている [edit] コンボボックスのスタイル † RADで設定できるスタイルについて 無効(使用不可)~タブストップ 他と同じなので省略 タイプ コンボボックスの種類 ドロップダウン、ドロップダウンリスト、デフォルトの3種類 デフォルトはエディットボックスにリストボックス付けただけの代物。別々に作った方が良いと思う ドロップダウンはコントロール右側の▼を押すとリストボックスが表示されるタイプ。空白部分はエディットボックスで編集可能 ドロップダウンリストはドロップダウンと大体同じだがエディットボックス部分は編集できない オーナー描画~文字列あ...
  • リファレンス
    ActiveBasicの仕様、命令、関数のリファレンス ※書き方 I.標準関数 データ型変換関数 CDbl CInt CSng ポインタ関連の関数 GetDouble GetSingle GetDWord GetWord GetByte StrPtr 数学関数 Abs Atn Cos Exp Fix Int Log Rnd Sgn Sin Sqr Tan HIBYTE HIWORD LOBYTE LOWORD MAKELONG MAKEWORD 文字列関数 Asc Chr$ Date$ Hex$ Inkey$ Input$ InStr Left$ Len MakeStr Mid$ Oct$ Right$ Space$ Str$ String$ Time$ Val ZeroString ファイル関連の関数 _splitpath Eof Loc Lof メモリ関連の関数 ma...
  • Base64 エンコード
    文字列を入力しBASE64にエンコードしてみるテスト。 #N88BASICFunction Base64Enc(src As *Byte, dst As *Byte) As LongDim Base64Tbl = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" As *ByteDim i As Long, j As Long, n As Long, t As LongDim p As *Bytep = calloc((lstrlen(src)\3+1)*3+1)lstrcpy(p, src)While p[i]t = (p[i] 16) or (p[i+1] 8) or (p[i+2] 0)i=i+3For n=3 To 0 Step -1dst[j] = Base64T...
  • ABのヘルプを充実させよう!
    ABのヘルプに全文検索をつける ABのヘルプはchm形式ですが、chm形式の醍醐味である全文検索がありません… どうして無いの?という話ですが、Compile full-text search infomationにチェックを入れて ABのヘルプをリコンパイルしてみると必ずヘルプコンパイラが落ちます。 これはヘルプコンパイラのバグでもあるんですが、ABのヘルプにも問題があって、 落ちる場所であるPages\Command\Window.htmとPages\API\Window\Window\CreateWindowEx.htmのソースを見ると次のように書かれている箇所があります。 コントロールのテキスト中のアンパサント「 」文字を、 htmlでは&を&としなければいけませんのでこれを修正します。 はい。これでCompile full-...
  • データー圧縮
    データー圧縮 Function Encode(src As *Byte, srclen As DWord, dst As *Byte) As DWord Dim i As DWord, j As DWord, k As DWord While i srclen dst[j] = src[i] k = 0 While src[i] = dst[j] If k = 255 Or i srclen Then Exit While k=k+1 i=i+1 Wend j=j+1 dst[j] = k j=j+1 Wend Encode = j End Function Function Decode(src As *Byte, srclen As DWord, dst As *Byte) As DWord Dim i As DWord, j As DWord, k As DWo...
  • 文字コードの変換
    UTF82SJIS http //blog.goo.ne.jp/xmldtp/e/7eaeeb3dabfe975dbc57f73aefb1c059からコピペ #N88BASIC Function utf8ToSjis(utf8 As *Byte) As *Byte Dim utf16 As *Word Dim wlen As Long Dim sjis As *Byte utf8ToSjis = NULL If utf8 = NULL Then Exit Function End If ============================== UTF8=>UTF16変換 ============================== まずは、wlenの長さをとる wlen = MultiByteToWideChar(CP_UTF8, 0, utf...
  • N88BASICとの互換性
    N88BASIC互換性について PC8801とかのようにOSなんてものがROM-BASICとゴチャ混ぜ状態だったころのようなあの時代には戻れません。 以下にABのN88BASIC互換性のポイントを挙げる ダイレクトモードは無い 各種コマンドは無い。SAVE,LOAD,LIST,RUNはもちろんAUTO,KEYも無い。 READ,DATA関連は無い 変数はDimで明記しなければならない ON 〇〇 GOTO/GOSUB関連も存在しない SCREEN 3,0,0,1 CONSOLE ,,0,1 DEFINT A-Z CLS 3←CLSしか無い テキスト、グラフィックの重ね合わせはできない。 BEEP(0) BEEP(1)でブザーを作ることはできない。 関数は大文字小文字を区別する(ABSはAbs、ASCはAscとなる) このようなワケで、N88BASICのプログラムを移植す...
  • 印刷
    印刷 ローカルプリンタと カレントフォルダに"test.bmp"が必要。 '印刷テストDeclare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (lpApplicationName As BytePtr, lpKeyName As BytePtr, lpDefault As BytePtr, lpReturnedString As BytePtr, nSize As Long, lpFileName As BytePtr) As LongDeclare Function SetDIBitsToDevice Lib "gdi32" (hdc As Long,XDest As ...
  • htmlhelp
    'htmlhelp.sbp'05/05/10'06/09/10 最後まで書いた' Commands to pass to HtmlHelp()Const HH_DISPLAY_TOPIC = H0000Const HH_HELP_FINDER = H0000 ' WinHelp equivalentConst HH_DISPLAY_TOC = H0001 Const HH_DISPLAY_INDEX = H0002 Const HH_DISPLAY_SEARCH = H0003 Const HH_SET_WIN_TYPE = H0004Const HH_GET_WIN_TYPE = H0005Con...
  • InStr
    名称 |InStr 読み |インストリ、インスター?、インストリング等 定義 |InStr(StartPos As Long, buf1 As String, buf2 As String) As Long 説明 |buf1のStartPos文字目からbuf2の文字列を検索します。 戻り値 |一致する文字列が見つかったときは、buf1 内の文字列の位置が返ります。見つからなかったときは、0 が返ります。 参照 |
  • ファイル圧縮してみよう
    Common Archivers Library からCAB32.DLL 開発者 SDK v0.98をダウソしましゅ。 展開して、cab32.dllを、システムホルダに投入します。 ABのプロジェクトでウインドウにリストボックス(ID=ListBox1)とボタン(ID=CommandButton1) だけの画面を作ります。このとき、MainWndの拡張スタイルでドラッグ&ドロップを許可にします。 イカのコードをコピペします。終わり。 ----------------------------------------------------------------------------- イベント プロシージャ --------------------------------------------------------------------...
  • StrPtr
    名称 |StrPtr 読み |ストリポインタ 定義 |StrPtr(buf As *Byte) As *Byte 説明 |この関数はString型変数の文字列内容を取得する際に利用します。VarPtrと意味が似ていますが、VarPtrを利用して取得するString型変数のアドレスは文字列へのポインタを格納するための符号無し32ビット値になります。 戻り値 |String型データの先頭ポインタがBytePtr型で返ります。 参照 |MakeStr
  • 宣教師と人食い人
    /***********************************************************cannibals.c -- 宣教師と人食い人***********************************************************/#N88BASICDeclare Function sprintf CDECL Lib"msvcrt"(buffer As *Byte, ...) As LongConst M = 3 /* 宣教師の数 */Const C = 3 /* 人食い人の数 */Const B = 2 /* ボートの定員 */Dim np As Long, solution As LongDim mb[ELM((B+1)*(B+2)/2)] As Byte, cb[ELM((B+1)*(B+2)/2)] A...
  • INIファイル
    #N88BASICDeclare Function GetPrivateProfileInt Lib "kernel32" Alias "GetPrivateProfileIntA" _ ( lpApplicationName As BytePtr, _ lpKeyName As BytePtr, _ nDefault As Long, _ lpFileName As BytePtr) As LongDeclare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" _ ( lpApplicationName As BytePtr, _ lpKeyName As VoidPtr, _ lp...
  • Str$
    名称 |Str$ 読み |ストリドル、ストラゴス、ストリングエン等 定義 |Str$(dbl As Double) As String 説明 |dblに指定された実数を文字列に変換します。 String$と間違えないように注意しましょう。 戻り値 |文字列が返ります。 参照 |Hex$,Oct$
  • リストボックス
    リストボックスはコントロールが所有するアイテムを一覧の中から選択できるコントロール [edit] リストボックスのスタイル † RADで設定できるスタイルについて 無効(使用不可)~タブストップ 他と同じなので省略 選択 一度に選択できるアイテムの数 選択無し、単一選択、複数選択。拡張はよくわからん オーナー描画 加筆plz ソート リストボックスに追加された文字列が自動的にソートされる これをチェックして無い場合は終端に文字列が追加される 複数列 アイテムを追加していって下端を超えた時に次の列の一番上にアイテムが追加される これを指定していると垂直スクロールバーは動作しない 通知 クリックイベントやダブルクリックイベントを親ウィンドウに通知する チェックされていないとRADのイベント処理でクリックを検出できない 水平スクロールバー 複数列の...
  • 文字列
    ここではAB4.24の文字列に付いての独自研究を紹介します。 あくまでstring.sbpといくつかの実験プログラムによって調べただけですので、 実際のところは開発者にお聞きください。 文字列型の構造 ABの文字列は次のように成っています。 文字列の大きさ(4バイト) 文字列データ(*Byte型) そして文字列データの先頭アドレスをString型は持っています。 下のプログは文字列を入力し、その文字列データと長さに分解する例です。 #N88BASIC Dim a As String Dim i As DWord Dim z[345] As Byte Input a wsprintf(z, "%u", a) i=Val(z) Print MakeStr(i);"の長さ=";GetDWord(i-4) _S...
  • ステップ11 「テキスト エディタを作る」
    Sub MainWnd_IDM_OPEN_MenuClick()の Dim buffer As StringをDim buffer As *Byteに、 buffer=ZeroString(dwFileSize)をbuffer=malloc(dwFileSize)に それぞれ変更。 今回は、必要最小限の機能がついたテキスト エディタを製作します。 必要最小限の機能ってどんなものがあるの? 開く、保存 だけです(キッパリ)。しかし、これではさすがに寂しすぎるので、コピー&ペーストなどの編集メニューまでをこのページで解説することにします。 さっそく作ろう! ノーマル ウィンドウ ベースのプロジェクト(プロジェクト名を "TextEditor" とします)を作成し、メニューの作成(IDは "MainMenu")...
  • 新メモリ最適化ツール In AB
    1999年、CompJapanを名乗るVBプログラマー中学生の遺作。それが新メモリ最適化ツール。 VBで作られたもので後にソースが公開された。 CompJapan自慢のASテクノロジと共にABにコア部分を移植してみた。 #N88BASICDim Aaaa As Single '最適化のタイマー関係の変数Dim Bbbb As Single 'For..Next構文にしようする変数Dim Kkkk As Long'なんでもDim Jjjj As String '最適化中のログ(log.dat)に使用する変数Dim Hhhh As DWord'ウインドウハンドルDim Llll As Long'最適化レベルDim Qqqq As String'ユーザー入力Dim Cccc As LongMmmm()Sub M...
  • AVIファイルの操作
    #N88BASICDeclare Sub AVIFileInit Lib "avifil32" ()Declare Sub AVIFileExit Lib "avifil32" ()Declare Function AVIFileOpen Lib "avifil32" Alias "AVIFileOpenA" (ppfile As **DWord, szFile As *Byte, mode As Long, pclsidHandler As VoidPtr) As LongDeclare Function AVIFileRelease Lib "avifil32" (pfile As *DWord) As LongDeclare Function AVIFileInfo Lib "...
  • 計算ゲーム
    #N88BASICDim a As Long, b As Long, c As LongDim i As Long, q As LongDim seikai As LongDim qq As StringRandomize Print "計算ゲーム"*LLPrint "1 足し算"Print "2 引き算"Print "3 掛け算"Print "4 割り算"Input iseikai = 0Select Case iCase 1Gosub *TASIZANCase 2Gosub *HIKIZANCase 3Gosub *KAKEZANCase 4Gosub *WARIZANEnd SelectPrint "正解率=";seikai * 100 / 10; "%&...
  • mpglib.dllを使ったmp3再生
    前回は素のwaveファイルお再生しました。 これを使えばほかのものでも応用ができます。 今回はmp3をやります。 mp3はデコーダやプレイやがあって今さらですけど、 ABでもできるんですよ。 今回使うのは定番のmpglib.dllです。 mpglib.dllのある場所http //mpesch3.de1.cc/misc.html こいつはABから使うことを想定していないしドキュメントも不親切です だから元となったmpg123というライブラリも調べてみるといいかもしれませんね。 まずこのDLLは3つの関数しかないので、簡単ですけど、便利な昨日がないので 自分で作ります。 ID3V2も自力で読み飛ばさないといけません。 abmpglib.abp Const AUDIOBUFSIZE = 16384Const SBLIMIT ...
  • クラスを作ってみよう
    N88BASICしか知らない人にとってABを初めて触ったときは手も足も出ないというのが本音でしょう。 ABは構造化というものがサポートされているからです。 構造化はN88BASICのプログよりわかりやすいという人もいますが、実際は逆です。 構造化(関数に分割すること)は上から順に読むことができず、かのGotoよりもたちが悪いです。 またClassはその上を行く難解で複雑でカオスで信者とかアンチとかが入り交じっている世界です。 ブログなどでオブジェクト指向とはなんて語ると、どこからともなく変な人が現れて荒らされてしまいます。 さてここではオブジェクト指向よりもクラスの作り方、使い方を説明します。 なおABのヘルプには必要なことが書いてなかったり、どうでもいいことに冗長な説明があったりして使いにくいのですが、 クラスに関してはそこそこまとまっているので、是非、是非、...
  • ステップ28 「メモリ監視ツールを作る②(設定をレジストリに保存)」
    前回と同じ修正が必要。 またこのサンプルを実行するとレギストリに永遠に値が残るのでこれは重大な問題だと癒える。 前回に引き続き、メモリ監視ツールに、オプション項目を付け足してみます。 今回作成するプログラムのサンプルファイルを置いておきますので、参考にしたい方はどうぞ☆ SystemWatcher2.zip(プロジェクトに必要なファイルがすべて入っています) オプション項目って何をするの? 更新間隔の設定 最前面表示のオン/オフ 今回は、上記の2点と、それら設定項目のレジストリへの保存を試みます。 レジストリ操作 ① RegOpenKeyEx関数でレジストリキーをオープン ② RegQueryValueEx関数で値を読み込む / RegSetValueEx関数で値をセットする ③ RegCloseKey関数でレジストリキーを閉じる ...
  • じゃんけんゲーム
    乱数にXorShiftを使ったじゃんけんゲーム。 Dim XorSeed[3] As DWord'乱数初期化Sub sxor128() As DWordDim s As DWordDim n As DWords = GetTickCount()For n=0 To 3s = 1812433253 * (s Xor (s 30)) + nXorSeed[n] = sNextEnd Sub'乱数発生Function xor128() As DWordDim t As DWordt = (XorSeed[0] Xor (XorSeed[0] 11))XorSeed[0] = XorSeed[1] XorSeed[1] = XorSeed[2] XorSeed[2] = XorSeed[3]XorSeed[3] = (XorSeed[3] Xor (Xor...
  • 2分探索木
    探索に用いる2分木 各ノードにデータと2個のポインタを持ち、ポインタleftでつながる子孫のデータは自分より小さく、ポインタrightでつながる子孫のデータは自分より大きい。 データの検索は根(ルート)より始め、そのデータより小さいないし大きい場合にポインタleftないしrightをたどる。左右の釣り合いの取れた2分木の場合、N個のデータから検索する時間は O(log2(N)) 程度であるが、最悪の場合は O(N) 程度まで低下する。 原著ではノードの削除関数はdelete()関数ですが、予約語のためremove()としました #N88BASICTypeDef keytype = Byte' 探索のキーの型Type node' 木のノードleft As *node' 左側へのポインタright As *node' 右側へ...
  • 簡易nslookup
    Dim wd As WSADATADim host As *HOSTENTDim addr As DWordDim i$ As StringDim s[555] As ByteWSAStartup( MAKEWORD(2,0), wd)Print "簡易nslookup"While 1Print "ホストまたはIPアドレスを入力してください。"Print "やめるときはexitと打ってください"Input i$If i$="exit" Then Exit Whilelstrcpy(s, StrPtr(i$))If IPorHost(s)=IP Thenaddr=inet_addr(s)host=gethostbyaddr(VarPtr(addr), SizeOf(DWord), AF_INET)Elsehos...
  • コンストラクタ、デストラクタ
    前回は簡単なクラスをつくってみますた。ファイルを読み込むだけのABFILEクラスです。 でもおこんなものなーんの役にもたちゃしねえわけです。 さて今回お話するのはコンストラクタとデストラクタです。 コンストラクタを笑うものはデストラクタに泣くという格言があるくらい重要なパートです。 こいつを理解するとオブジェクト指向なんて小難しいことは知らなくて構いません。 そもそもABでオブジェクト指向しようなんてのが土台無理な話なのです。 ABは大規模いや中規模開発すら大変なクソ言語です。 正直ファイルの分割なんてあって無いようなものだしスコープに対する静的オブジェクトも作れないし。 他の言語でつくられたモジュールとの連携も多大な制約を受け、 もしオブジェクト指向を勉強したいなら他の言語でやってくれ。と声を大にして言いたい。 ABなんぞホビーで使う言語であり、それに特化してい...
  • ステップ10 「プログレスバーとタイマー処理」
    型変換の警告が出るが公式の解説でOK プログレスバーとは、インストール画面などでよく見かけますね。処理の進行具合を示すメーターのようなものです。今回は、タイマー処理とプログレスバーを組み合わせ、カウントプログラムを作ってみます。 早速、新規プロジェクトを作るわけですが、注意点が1つ。プログレスバーはコモンコントロールの部類に入り、新規プロジェクト ダイアログの2つ目の画面(プロジェクト オプションが設定できるところ)で、「コモンコントロールを使用する(api_commctrl.sbp)」にチェックを入れておかなければなりません。その点を踏まえ、プロジェクトを作成してみましょう(プロジェクト名は "TimeCount" とします)。 ちなみに、プロジェクト オプションは、プロジェクト作成後、メニューの「表示」→「プロジェクト オプション」からも変...
  • MakeStr
    名称 |MakeStr 読み |メークストリ、メイクスター、メイクストリング等 定義 |MakeStr(pBuf As BytePtr) As String 説明 |Cっぽい文字列をABの文字列に変換します。 戻り値 |文字列が返ります。 参照 |StrPtr
  • ステップ27 「メモリ監視ツールを作る①」
    公式のものは4.24でもコンパイル可能であるが、メモリが4GBとかだと値がおかしくなるし、新しいOSにも対応していないので 次のように修正が必要。 ' ----------------------------------------------------------------------------' イベント プロシージャ' ----------------------------------------------------------------------------' このファイルには、ウィンドウ [MainWnd] に関するイベントをコーディングします。' ウィンドウ ハンドル hMainWnd' メモ - 以下の領域を、変数、構造体、定数、関数を宣言するための、' グローバル領...
  • FFT (高速Fourier変換)
    Const PI =3.14159265358979323846/* 関数 fft()の下請けとして三角関数表を作る.*/Sub make_sintbl(n As Long, sintbl As *Single)Dim i As Long, n2 As Long, n4 As Long, n8 As LongDim c As Double, s As Double, dc As Double, ds As Double, t As Doublen2 = n / 2 n4 = n / 4 n8 = n / 8t = Sin(PI / n)dc = 2 * t * t ds = Sqr(dc * (2 - dc))t = 2 * dc c = sintbl[n4] = 1 sintbl[0] = 0 s = sintbl[0]For i = 0 To n4-1 s...
  • マニフェスト埋め込み(XPスタイルへの変更)
    AB 4.24.00 でコンパイル&正常に実行できることを確認しています。 このソースで埋め込み実験をする場合は、どうでもよいプログラムにアイコンなどのリソースを追加してから対して行ってください。 このソースを使ったことで実行ファイルが壊れても責任は負えません。 Declare Function BeginUpdateResource Lib "kernel32" Alias "BeginUpdateResourceA" (pFileName As String, bDeleteExistingResources As Long) As HANDLEDeclare Funct...
  • マルチプルインスタンス
    マルチプルインスタンスとは 疑りぶかいあなたのためのオブジェクト指向再入門 を100回読んでください。 要するにオブジェクトをいっぱい作ることが出来るわけです。 例えばウインドウを操作するWINDOWSUKIクラスを作ればウインドウが3つあればこのクラスを3つ宣言すれば良いのです。 ドラクエの戦闘システムなら戦うキャラクラスを作ればそれで参加する人数分宣言すればいいわけなんですが、 うまく作らないとあとあと大変な事になります。 Class AKB48Privatename As String'名前hp As Long'HPpp As Long'攻撃力Public'コンストラクタSub AKB48(aname As String, ahp As Long, app As Long)name = anamehp = ahppp = ...
  • スクリーンセーバーを作る必要性
    MinGWのパブリックドメインのソース を ABに変換する 途中まで…あとはまかせた Const DLG_SCRNSAVECONFIGURE= 2003Const idsIsPassword=1000Const idsIniFile=1001Const idsScreenSaver=1002Const idsPassword=1003Const idsDifferentPW=1004Const idsChangePW=1005Const idsBadOldPW=1006Const idsAppName=1007Const idsNoHelpMemory=1008Const idsHelpFile=1009Const idsDefKeyword=1010Const IDS_DESCRIPTION =1Const ID_APP =100Const WS_GT =WS_GROUP or...
  • gogo.sbp
    Const ME_NOERR = 0 return normally;正常終了 Const ME_EMPTYSTREAM = 1 stream becomes empty;ストリームが最後に達した Const ME_HALTED = 2 stopped by user;(ユーザーの手により)中断された Const ME_INTERNALERROR = 10 internal error; 内部エラー Const ME_PARAMERROR = 11 parameters error;設定でパラメーターエラー Const ME_NOFPU = 12 no FPU;FPUを装着していない!! Const ME_INFILE_NOFOUND = 13 can t ope...
  • スタティックテキストの文字を変える
    メインウインドウにはったスタティックテキスト(ラベル)の文字を変える。 ボタンが押されたときに文字列を変えるなどの応用が可 Sub MainWnd_CommandButton1_Click()Dim hlabel1 As HWNDhlabel1=GetDlgItem(hMainWnd,Static1)SetWindowText(hlabel1,"hello")End Sub 以下のプロシージャを使っても同等。 Sub LabelText(hlbl As HWND,str As String)SetWindowText(hlbl,str)End Sub SetDlgItemTextを使ってもいいかもね。 Sub MainWnd_CommandButton1_Click()SetDlgItemText(hMainWnd,Static1,"h...
  • FAQ
    FAQ(Frequently Asked Questions)よくある質問と答え 全般的なこと Q どこからダウンロードできるの? |A 公式サイトが死んでいる場合は vector からでも。 Q 利用にお金はかかりますか? |A いいえ。ABは無料です。 Q 商用利用してもいいの? |A 誰も止めはしない。 Q 関数や命令、文法の仕様は無いの? |A すべて作者の頭の中に入っていますよ。 Q ActiveBasicはActiveBasicで作ってるの? |A CかC++で作っているらしい。 Q ActiveBasicのプログラミングコンテスト無いの? |A RADツールに関すること Q RADツールで[x]の無いウインドウをテストしたのですが…閉じ方が分かりません。 |A A...
  • ID3V1を取得
    #N88BASIC Dim id3genre[256] = [ _ "Blues", "Classic Rock", "Country", "Dance", "Disco", "Funk", "Grunge", "Hip-Hop", "Jazz", "Metal", "New Age", "Oldies", _ "Other", "Pop", "R B", "Rap", "Reggae", "Rock", "Tec...
  • 暗号化
    #N88BASIC データを暗号化 Function EnC(in As *Byte, out As *Byte, l As Long) As Long Dim Cind As Long out[0] = in[0] For Cind = 1 To l-1 out[Cind] = in[Cind]-in[Cind-1] Next End Function データを複合化 Function DeC(in As *Byte, out As *Byte, l As Long) As Long Dim Cind As Long out[0] = in[0] For Cind = 1 To l-1 out[Cind] = in[Cind]+out[Cind-1] Next End Function Function Show(in...
  • インターネット
    ABのサンプルにWinsockを使ったものが紹介されているので、ここではwininetを使ったものでも。 wininetはとても簡単で、ファイル操作と同じ感覚で使うことができる。 InternetOpenでNetを開く、 InternetOpenUrlでurlにつなぐ InternetReadFileで読み込む InternetCloseHandleで終了 HttpQueryInfoはサイズやタイプ、更新日時などの情報を得る 以下サンプル #console Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA"(lpszCallerName As BytePtr,dwAccessType As Long,_ lpszProxyName...
  • @wiki全体から「mciSendString」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索