abwiki @ ウィキ (ActiveBasic非公式wiki)内検索 / 「カーソルが迷子になったとき」で検索した結果

検索 :
  • カーソルが迷子になったとき
    画面が広いとカーソルが迷子(どこにあるのかわからない状態)になることがよくある。 こういう時にお助けプログラムを作ってみよう。 CTRLキーを押すとカーソルを左上に持っていくコードだ。 単純な構造なのでABで作るにはもってこいだ。 このPGは改善の余地は大いにあるが。。。 プログラムは60秒で終了するようにしている。 Dim t As Longt = GetTickCount() + (60 * 1000)While (t GetTickCount())If GetAsyncKeyState(VK_CONTROL) And h8000 ThenSetCursorPos(0,0)End If Sleep(1)WendEnd
  • マウスストーカー
    マウスに画像が追従するやつ。 CreateイベントでSetTimerして DestroyイベントでKillTimerすればあとは Timerイベント内でカーソル位置にSetWindowPosすれば良い。 以下はプロジェクト名"jama"で作成。 '-----------------------------------------------------------------------------' イベント プロシージャ'-----------------------------------------------------------------------------' このファイルには、ウィンドウ [MainWnd] に関するイベントをコーディングします。' ウィンドウ ハンドル h...
  • ステップ6 「メニュー コントロールを使う①」
    大抵のアプリケーションなら備えているメニューコントロールはRADツールからも作成することができます。Windowsアプリケーションには欠かせないメニューコントロールは是非とも自由に操作できるようにしておきたいものです。 本題に入る前に、下地となるノーマル ウィンドウ ベースのプロジェクトを生成しておいて下さい(プロジェクト名を "MenuTest" とします)。 今回は、メニューコントロールを使って「終了」ボタンを作ってみます。項目が1つだけという非常に簡単なメニューです。 では、作成したプロジェクトが開かれた状態になったところで、早速メニューの作成をしていきましょう。プロジェクト ビューのMaterialタブを開くと、「メニュー」フォルダがありますね?(プロジェクトビューが表示されていない場合は、メニューの「表示」→「プロジェクト ビュー」にチェッ...
  • シェーカーソート
    整列アルゴリズムのひとつ。 改良交換法、双方向バブルソートとも呼ばれる。名前のとおりバブルソートの改良型である。バブルソートでは隣り合う2つのデータを順次比較するため、整列したデータでも比較する必要があった。そこで最後に比較した位置を記憶し、バブルソートの走査方向を逆転させることで、次回に比較整列する範囲を縮小させ、無駄な比較を減少させている。 プログラミング掲示板「ソートロジック大会」なども参照のこと TypeDef keytype = IntegerSub shakersort(n As Integer, a As *keytype)Dim i As Integer, j As Integer, k As IntegerDim x As keytypeDim left As Integer, right As Integer, tmp As Integerleft =...
  • アイコンエディタを使いこなそう
    ABには実は高機能アイコンエディタ搭載されています。 プロジェクトエディタの新規作成でアイコンを選択。 操作感はMSペイントと同じようなレヴェルで直感的にそうさできます。 右にあるのがツールボックス。非常に少ない 下にあるのがパレット。16色と透明だけ。潔い! ペンの太さは変えられません。 縁付き四角形は縁が前景色、内部が背景色になるんだけど、塗りつぶし四角形は前景色で塗りつぶすので、逆になるのでちょっと注意。 ツールの上にあるタイプ。これは複数フレームのアイコンを作ることができます。 こやってタイプを選んで 新しいアイコンを作ります。 新規作成でアイコンを作ったとき場合、保存するときにメニューの名前を付けて保存をするときだけはファイルタイプがProgram filesになっているので注意。
  • 素敵
    素晴らしい! という意味。 今まで10分かかる処理が1分でできるようになったとか、そんなときは 素敵なコードを書いたという。
  • BASIC
    BASIC(べいしっっく) 我が国では最もポピュラーとされていたホビー用プログラミング言語。 Beginner s All purpose Symbolic Instruction Code (初心者のためのすべて目的シンボリック命令コード) の略で、BASICの文字はすべて大文字で書く。 プログラミング初学者でも挫折しないように配慮されており、 FORTRANの子分として登場した。 1964年、米国ダートマス大学にてタイムシェアリングシステム"DTSS"(多人数が一台のマシンを 共有するもので、今で言うクラウド) 上の言語としてALGOLともう一つのユーザー言語として利用されるよう 設計されていた。 その後、マイクロコンピュータの発明によりパーソナルコンピュータが自作され、BASIC言語の移植が 盛んに行われるように...
  • 配列
    配列とは、添字付きの変数のこと。 例えば、オセロの盤を考えたとき Dim ban[9,9] As Long と宣言することで ban[0,0]-ban[9,9]までの変数を使える。 魅力1 配列を使うことで処理の見通しをよくすることができる。 Dim a1 As Long Dim a2 As Long ... Dim a100 As Long こんな感じで宣言すると、それぞれ代入するときも100行必要になってしまいますよね? Dim a[100] As Long For a[0]=1 To 100 a[a[0]]=a[0] Next 2行で済むなんて素敵ですよね! 魅力2 文字列を扱う Cとかの文字列はByte型配列を用意して、最後に0を入れることで文字列と呼んでいるにすぎないので、 a c t i v e B a S i c...
  • ステップ10 「プログレスバーとタイマー処理」
    型変換の警告が出るが公式の解説でOK プログレスバーとは、インストール画面などでよく見かけますね。処理の進行具合を示すメーターのようなものです。今回は、タイマー処理とプログレスバーを組み合わせ、カウントプログラムを作ってみます。 早速、新規プロジェクトを作るわけですが、注意点が1つ。プログレスバーはコモンコントロールの部類に入り、新規プロジェクト ダイアログの2つ目の画面(プロジェクト オプションが設定できるところ)で、「コモンコントロールを使用する(api_commctrl.sbp)」にチェックを入れておかなければなりません。その点を踏まえ、プロジェクトを作成してみましょう(プロジェクト名は "TimeCount" とします)。 ちなみに、プロジェクト オプションは、プロジェクト作成後、メニューの「表示」→「プロジェクト オプション」からも変...
  • InStr
    名称 |InStr 読み |インストリ、インスター?、インストリング等 定義 |InStr(StartPos As Long, buf1 As String, buf2 As String) As Long 説明 |buf1のStartPos文字目からbuf2の文字列を検索します。 戻り値 |一致する文字列が見つかったときは、buf1 内の文字列の位置が返ります。見つからなかったときは、0 が返ります。 参照 |
  • Goto
    名称 |Goto 読み |ごぉぉとぅ 文法 |Goto label 説明 |同一関数内のラベルか行番号に無条件ジャンプする。 同じラベルが複数あったときは先頭のものが使われるらしい。 ラベルは*を頭につけた文字。 *AAA *SDF *QAZXSW67 など 補足 |すべての制御構文はIfとGotoで代用できる。 For i=0 *FOR If i=10 Then *BREAK ~ Goto *FOR *BREAK While *WHILE ~ Goto *WHILE Select If i=0 Then Else If i=1 End If Gosub j=1 Goto *S1 *S1 If j=1 Then *S1 議論 |Gotoにまつわる議論 Goto不要論 スパゲッティソース Gotoのメリ...
  • コンピュータ
    電子計算機とも呼ばれる。 データを入手力したり、それを演算したり、保存もできる偉い子。 文句もあまり言わないが、たまに不機嫌になる。 人間と違って怒ったときは真っ青になることもある。 コンピュータを意のままに操る人をプログラマ、 そうでない人をインプッターという。
  • 支配
    支配(しはい)とは、特定のメモリ領域を名前で表現し、その名前でアクセスできることを言う。 例えば 変数の宣言 構造体やクラスのインスタンス化 などなど。 また、自動変数とそれを指すポインタがあったとき、このポインタは自動変数に支配されているという。 自動変数による支配は、ポインタそのものの生存期間が長いほど問題になりやすい。 { int a, *b; b = a; } 上記の場合ではa, *bともに寿命が同じであるため問題は起こりにくいが、 { int *b; { int a; b = a; } //何らかの処理 } この場合、aのスコープを抜けたあとに*bを使う可能せは0ではないため、アクセス違反などの問題が発生することがある。
  • ABによるアルゴリズム事典
    C言語による最新アルゴリズム事典 http //oku.edu.mie-u.ac.jp/~okumura/algo/をABに流用しようとしたプロジェクトがあった http //www.activebasic.com/aba/wiki.cgi ↑からサルベージしたもの 2次方程式 2分探索木 Bernoulli(ベルヌーイ)数 Bessel(ベッセル)関数 B木 Fibonacci(フィボナッチ)数列 Shellソート Ackermann (アッカーマン) 関数 面積 整数の積 ひも付き2分木 クイックソート コムソート シェーカーソート バブルソート ヒープソート マージソート ラディックス・ソート 幾何分布 逆三角関数 逆写像ソート 指数関数 正規分布累積関数 石取りゲーム2 石取りゲーム1 選択ソート 素因数分解 双曲線関数 挿入ソート 値の交換 分布数えソート 曜日 追加分...
  • Apple
    アップルとは、コンピューターやそれに関連するソフトを開発する世界的な会社。 一番偉い人はジョブスさん。 日本ではNECという会社がPC88シリーズを発売し、国内で圧倒的なシェアを獲得していた1980年代。 アップルはAppleIIというコンピュータで牙城を崩そうと奮戦した。 1990年代前半のNECのPC98時代にはMacintoshが軌道に乗り、 NECが死滅したWinows95以降のMS偏重時代にも一定のシェアを維持をした。 2001年WindowsがXPを発表。アップルは新しいUnixベースのMac OS Xを発表、これに対向した。 このことは、Unixが世界を支配したことを意味している。(WindowsNT系はPOSIX準拠) アップルは携帯音楽プレイヤーiPodの成功を皮切りに、iPhone,ipadとモバイル機器にも力を入れており、 とくにi...
  • コンストラクタ、デストラクタ
    前回は簡単なクラスをつくってみますた。ファイルを読み込むだけのABFILEクラスです。 でもおこんなものなーんの役にもたちゃしねえわけです。 さて今回お話するのはコンストラクタとデストラクタです。 コンストラクタを笑うものはデストラクタに泣くという格言があるくらい重要なパートです。 こいつを理解するとオブジェクト指向なんて小難しいことは知らなくて構いません。 そもそもABでオブジェクト指向しようなんてのが土台無理な話なのです。 ABは大規模いや中規模開発すら大変なクソ言語です。 正直ファイルの分割なんてあって無いようなものだしスコープに対する静的オブジェクトも作れないし。 他の言語でつくられたモジュールとの連携も多大な制約を受け、 もしオブジェクト指向を勉強したいなら他の言語でやってくれ。と声を大にして言いたい。 ABなんぞホビーで使う言語であり、それに特化してい...
  • Write
    名称 |Write 読み |らいと 定義 |Write [ファイル番号], データ[,...] 説明 |ファイル番号があればファイルに、なければコンソールかプロンプトにデータを書きだします。 Print命令と似ていますが、カンマやセミコロでデータを区切ったときに、空白の代わりにカンマを書きだします。 参照 |Open , Input , Print , Close
  • スレッド
    掲示板におけるスレッド スレッドとは。掲示板の構成要素のこと。トピックとも言われる。 スレッドは掲示板に特定のテーマを持つ小さな掲示板のようなものである。 扱う話題が多岐に渡る場合や人数の多い大きな掲示板では、話題が散漫になりがちで、議論が進行しなくなることがなくもない。 コンピュータにおけるスレッド スレッドとは、軽量プロセスと呼ばれる実行の主体。 スレッドとプロセスとマルチタスク WindowsなどのOSは、一つのCPUであっても同時に複数のソフトウエアが動作するように設計されている。 単一のCPUでも複数のソフトウエアを同時に利用可能なOSをマルチタスクOSと呼ぶ。 現在、一般的となったパーソナルコンピュータ用OSはマルチタスクOSである。 プログラムが実行される時、必ず一つのプロセスとしてコンピュータ上で実行される。OSからは 一つ...
  • オブジェクト指向入門
    歴史的には、オブジェクト指向言語の源流は、Simula。それらを参考にEiffelやSmalltalkが 作られ、C++やらなんやらが作られはった。 オブジェクト指向の能書きは、シミュレーションの際に扱うデータの抽象化にあるんや。 たとえばやなあ、ウインドウを抽象的に扱う場合、座標をx,yと個々に変数を扱うより、 ウインドウちうオブジェクトのx,yちう抽象データ型があったほうが取り扱いやすいちうわけや。 プログラム中、変数を無数に無作為に定義するよりも、座標やベクトルちう構造を持って いたほうが理解しやすいやろ。 例えば、 dim x1 as integer dim y1 as integer ... という変数が、無数にあるよりも、 type axis x1 as integer y1 as integer end type という構造体...
  • コールバック関数って何?
    コールバック関数は、事前に登録しておき、その後必要に応じて呼ばれる関数のことである。 通常、関数やプロシージャなどは、プログラム内のコードから呼び出され実行される。一例としてsin()、Math.sin() などの三角関数は、print sin(pi)などのようにプログラム内で記述が現れた際に実行される。 一般的な関数は、すべて手続きに従って呼び出され実行される。 これに対して、コールバック関数は通常の手続きの流れとは異なり、関数がプログラム内部の 主としたフロー内から呼ばれないものの事を指す。 コールバック関数は、与えられた関数名を予め登録しておき、主たる処理のフローとは個別に、 何らかの処理が必要になった場合に、システムによって呼び出される。 この仕組みは割り込みなどの仕組みに応用出来る。 コールバック関数は、言語上、明確に区別されるものではな...
  • ステップ17 「RPGのマップ移動機能を作る②」
    前回やった、草原マップ、主人公キャラの描画に引き続き、今回はキー操作に反応し、キャラが自由に歩き回れるようにするプログラムを作成していきます。 今回作成するプログラムのサンプルファイルを置いておきますので、参考にしたい方はどうぞ☆ Fantasy2.zip(プロジェクトに必要なファイルがすべて入っています) 今回も、First Seed Materialで公開されているRPG用素材を利用させていただきます。 前回作成したプログラムがある方は、MainWnd.sub のプログラムを変更するだけで実現できます。このページのプログラムリストは、前回からの変更点を太字で示してあるので、それを参考に改良してみて下さい。 新規にプログラムを作成する方は、まずはプロジェクトを作成しておきましょう。新規作成→プロジェクトで、"Fantasy" などという名前のプロ...
  • クラスを作ってみよう
    N88BASICしか知らない人にとってABを初めて触ったときは手も足も出ないというのが本音でしょう。 ABは構造化というものがサポートされているからです。 構造化はN88BASICのプログよりわかりやすいという人もいますが、実際は逆です。 構造化(関数に分割すること)は上から順に読むことができず、かのGotoよりもたちが悪いです。 またClassはその上を行く難解で複雑でカオスで信者とかアンチとかが入り交じっている世界です。 ブログなどでオブジェクト指向とはなんて語ると、どこからともなく変な人が現れて荒らされてしまいます。 さてここではオブジェクト指向よりもクラスの作り方、使い方を説明します。 なおABのヘルプには必要なことが書いてなかったり、どうでもいいことに冗長な説明があったりして使いにくいのですが、 クラスに関してはそこそこまとまっているので、是非、是非、...
  • クラウド
    クラウド・ストライフ (Cloud Strife) とはファイナルファンタジー(FF)7の主人公。 プロフィール 年齢:21歳(『ファイナルファンタジーVII』での年齢) 誕生日:8月11日 血液型:AB型 身長:173cm 出身地:ニブルヘイム (wikipediaより引用) あまり他人に心を開かず「興味ないね」などが口癖のクールな性格。 戦闘能力が高くなんでも屋をやっている。 世界を牛耳っている「新羅カンパニー」には私設軍隊があり、 その中で最もすぐれた「ソルジャー1st」に在籍していたセフィロスにあこがれ自身もその中にいたという。 ストーリーが進むと、クラウドも、自身の弱さや仲間の大切さを知るようになり、世界をかけた戦いに身を投じていく。 ストーリもスーパーファミコン(SFC)のころと比べ対象年齢を上に設定しており、成人ユーザーを引き寄せる...
  • 石取りゲーム2
    一山の石から交互に石を取り、最後に石を取ったものが勝ちである。 ルールは以下のとおり。 N個の石から交互に石を取る 一回に取れる石は、相手が直前に取った石数の2倍以内 最初に全ての石を取ってはならない 最後に石を取ったほうが勝ち パスはできない 例えば、最初に20個の石があったとすれば、先手が取れるのは1~19個である。 仮に3個とったとすれば、後手は2倍の6個までの石を取ることができる。 コンピューターの取る石数は Fibonacci(フィボナッチ)数列 (この数列に含まれている数をFibonacci数という)[1]を使って、以下のように定めている。 まず、残りの石数を下記方法を用いてFibonacci数の和として表す(ex N=20) 石数を超えない最大のFibonacci数を求める(ex 最大Fibonacci数=13) 上記Fibonacci数...
  • ステップ8 「構造体とファイルオープンダイアログ」
    今回は、RADツールとは離れ、構造体についての説明をします。扱うプログラムも、プロジェクトではなく、単体ファイル(*.abp)になるので、そのつもりで読んでいって下さい。 構造体 いくつかの変数を集めたものを、構造体と呼びます。1つのものに対して、複数のデータが存在するときに利用されます。構造体の定義方法、利用方法は下のようになります。 構造体の定義 Type 構造体名 メンバ変数1 As データ型1 メンバ変数2 As データ型2 メンバ変数3 As データ型3 ... End Type 構造体を利用するとき Dim a As 構造体名 a.メンバ変数1 = ... a.メンバ変数2 = ... 構造体の定義はType ~ End Type文を利用します。構造体の中に構造体を定義することも可能です。 Dim...
  • 条件分岐やループはどうやるの?
    条件分岐は、If文を使う。 If A 1 Then B=1 Else B=2 End If のようにして、上の場合だとAが1より大きければBに1を、さもなくばBに2を代入する。 Else節は省略できる。 If A 1 Then B=1 End If この場合、Aが1以下なら何も起こらない。 1行で書くこともできる。 If A 1 Then B=1 Else B=2 これは勿論Else節を省略できて If A 1 Then B=1 のように使うこともできる。 If A 1 Then If C 1 Then B=1 Else B=2 のように書くと、Elseは未完了の最後尾のIf文に引っ張られて、次のように解釈される。 If A 1 Then (If C 1 Then B=1 Else B=2)...
  • ステップ9 「ビットマップビューワを作る」
    今回は、メニューコントロールや「ファイルを開く」ダイアログボックス、ビットマップ用のAPI関数を活用し、ビットマップビューワの作成にチャレンジしてみます。 プロジェクトの作成 ノーマル ウィンドウ ベースのプロジェクト(プロジェクト名を "BmpViewer" とします)を作成し、メニューの作成(IDは "MainMenu")、メインウィンドウへのメニューの貼り付けを行っておきましょう。 "MainWnd" のプロパティ設定 まずは、ベースとなる "MainWnd" を開き、ウィンドウ プロパティの設定を行います。 背景色のボタンをクリックし、"NULL" に設定しておきます。 メニューを "なし" から "MainMenu&qu...
  • ステップ32 「アナログ時計を作る」
    公式で配布されているプロジェクトファイルはAB5であるため、AB5プロジェクトファイルをAB4で開くを参照。 秒針、短針、長針がついているアナログ時計を作ってみます。 今回作成するプログラムのサンプルファイルを置いておきますので、参考にしたい方はどうぞ☆ clock.zip(プロジェクトに必要なファイルがすべて入っています) 早速作ろう! "clock" などという名前で、ノーマルウィンドウベースのプロジェクトを新規作成します。 MainWndはいじるところがないので、次はメニュー(IDは "OptionMenu")を挿入し、以下のような構成になるよう、メニューアイテムをいれていきます。 キャプション ID 備考 dummy - ポップアップ 常に前面に表示( T) IDM_TOPMOST - ...
  • AB以外の開発環境
    フリーのもの ActivePerl |WinでPerlを使うならこれ。 StrawberryPerl |WinでPerlを使うものその2。 Digital Mars C, C++ and D Compilers |D言語。C/C++コンパイラもある。omf形式を吐くのでMS厨とは相性悪し。 FreeBASIC |マルチプラットホームかつオープンソースなBASICコンパイラ。インタプリタではない。 基本構文はQBasic互換であるがオブジェクト指向やポインタなど独特の言語拡張の導入は ActiveBasicと似ていてANSI非互換である。非常に多くのライブラリがある。 Ver1.0から64bit環境に対応。(フリーなBASICの64bit環境はActiveBASICとFreeBASICしかない) Smal...
  • 関数はどう作るの?
    値を返さない関数を作りたいときには、その関数名をFとしたとき Sub F (a As Long,b As Double) something・・・ ・ ・ ・ End Sub のように書く。ここでaだのbだのは引数の定義で、引数は0個でも良い。具体的には Sub F () something・・・ ・ ・ ・ End Sub のように書く。 関数の途中で関数を終了したいときにはExit Subを使う。 値を返す関数は、関数名をF、その戻り値の型をBとしたときに Function F (a As Long,b As Double) As B something・・・ ・ ・ ・ End Function のように書く。勿論引数の個数は0個でも良い...
  • ステップ18 「RPGのマップ移動機能を作る③」
    前回の解説で主人公キャラが自由に動け回れるようになったので、今回は任意のマップを描けるようにしてみます。 マップ図にマップチップを割り当てるという、非常にシンプルな細工をするわけですが、マップチップの種類が非常に多いため、数字攻めになってしまうかもしれませんが、根気良くがんばりましょう。 今回作成するプログラムのサンプルファイルを置いておきますので、参考にしたい方はどうぞ☆ Fantasy3.zip(プロジェクトに必要なファイルがすべて入っています) 今回も、ステップ17「RPGのマップ移動機能を作る②」で掲載したプログラムの変更点を太字で表しているので、参考にして下さい。 また、以下のようなマップの配置図(25*20)をCSV形式で用意しておく必要があります。プロジェクトが保存されているディレクトリに "map.csv" というファイル...
  • ステップ26 「ツールバーを使う③(ホットイメージ)」
    フラットツールバーにホットイメージ機能を付け加えます。ホットイメージとは、1つのボタンに対し、通常画像と浮き上がったときの画像を持たせる機能のことです。今回は、フルカラーのボタンイメージを採用するので、なかなかの見栄えになるかと思います。 今回作成するプログラムのサンプルファイルを置いておきますので、参考にしたい方はどうぞ☆ Toolbar3.zip(プロジェクトに必要なファイルがすべて入っています) 前回(ステップ25)のソースプログラムに変更を加える形で作業を進めていきます。前回からの変更箇所を太字で示しています。新規にプロジェクトを作成させる方は、プロジェクトオプションで「コモンコントロールを使用する」にチェックを入れておくのを忘れないようにしましょう。 チェックしておきたい関数は? コモンコントロールのイメージリスト機能を使用するため、Imag...
  • HTTPの初歩
    ちょっとABとは関係のないお話 [edit] HTTPについて † Hyper Text Transfer Protocolの略。Webブラウザとサーバがやりとりする際などに使われる通信プロトコル バージョンHTTP/1.0と1.1が存在する。ここでは一応1.1ベース ↑ [edit] 準備 † まずはソケットを使った通信を読んでsendとrecvを使えるようになって頂きたい ↑ [edit] 使い方 † 初めにsendでHTTPのリクエストを送信する。続いてrecvでサーバから返事を受け取る 以上 ↑ [edit] リクエストの基本構造 † <メソッド><HTTPバージョン>CRLF <ヘッダ>CRLF CRLF メソッドはGETとかHEADとかPUTとか。プログラムでいう所の関数名 ヘッダっていうのはメソッドの付加情報。...
  • 構造体って何だ?
    構造体ってのは、 たくさんの変数を1つの型として扱える夢のような機能のこと。 つかいかたは次の通り Type 構造体名 変数名 As 型名 ... End Type これが何になるのか? 構造体を使うことで、たくさんの変数をひとまとめにすることができる。 結果、わかりやすくなったり、プロジェクトエディタで使うときに補完してくれる。 構造体の定義にはTypeを使う Type AUDIOPLAYER メンバ変数の定義…Dimと同じ書き方。でもDimをつけたらダメ。 play As *Function(filename As *Byte) As DWord stop As *Function() As DWord status As *Function() As DWord End Type Dim vorbis As AUDIOPLAYER 構造体の...
  • データベースとは?
    データベースとは? データベースとは、コンピュータ上にて情報を格納して手早く適切に情報を検索、編集する 仕組みを持つシステム装置をいう。 データベースというもの自体は昔から存在していて別段、驚くものではない。 例えば、図書館における図書と蔵書検索などは、コンピュータが存在しない時代では、紙の カードによって管理されている。 貸し出しされた書籍の管理も、紙媒体のカードで行っていた。 具体的には、書籍検索の場合、蔵書目録はすべてカード化されていて、索引のインデクスは 適切にソートされ、昇順に並んでいる。 利用者は、カードが保存されたデッキからカードを探すため、題名や著者名から読みたい本を 検索する。 カードには棚のナンバーが記載されていて、利用者は検索後、読みたい本のカード内容から、 一意なユニークなIDナンバーを読み取り、ID札が置かれた本棚を検索して棚...
  • ゲーム機
    ゲーム機とは、ゲーム専用のコンピュータである。 ゲームとは本来、遊戯を意味していたが、ファミコンの登場により ゲームはテレビゲーム(VideoGame)を意味するようになった。 ゲーム機の構造は乱暴な話AT互換機と大差ない。 CPUがあってメモリがあって、 入力装置があって出力装置があって、 そんなものである。
  • AB実力テスト
    問1 自分の名前を入力し、それを出力するプログラムを作れ 問2 底辺、高さを入力し三角形の面積を計算し表示するプログラムを作れ 問3 変数a,b,c,をそれぞれ入力し、大きい順に表示するプログラムを作れ 問4 aの平方根を求めるには、まず√aの近似値x0を考えて次の式に従って計算する。 x = 0.5 * (x0 + a / x0) これで得られたxはx0よりも√aの近似値になっている。xをx0に代入しこの計算を繰り返せばさらに近い値が求まる。 aを入力させ√aを計算し表示するプログラムを作れ 問5 n,mを整数としkを配列とする。初期値としてmより小さいk[0]を与え次の計算を繰り返すことで乱数を得られる。 k[i+1] = (n * k[i]) mod m 乱数を100個作り表示するプログラムを作れ 問6 文字列s2の中の任意の文字に等しい文字をs1から除去する関数...
  • Makefile
    makefileの書き方 基本 ターゲット 依存ファイル コマンド コマンドの前にtabを忘れないこと。 マクロ 名前=文字 で定義。使うときは $(名前) とする。 cc=gcc files=a.c b.c test $(files) c.h $(cc) $(files) 依存 ターゲットを幾つか並べ、順番を大切にしたいとき。 a b コマンド1 b c コマンド2 コマンド2が実行され、コマンドが成功(戻り値が0)したときにコマンド1が実行される。 疑似ターゲット ファイルを冠しないターゲットのこと。 clean del *.obj みたいなの。
  • mp3プレーヤーを作ろう
    用意するもの VBMP3 ダウンロード ↑このページ中程にある、MP3再生用ライブラリVBMP3.dll改 をダウソする。 次に MP3Player_01.zip を落として解凍。この中にVBMP3.dllを入れる。 次に基本的な動作をするまでを作ってみよう MP3Player_02.zip VBMP3の中から必要な関数だけを抜き取ったのがABMP3.sbpだ。 まず、GUIな部分だが、ファイルはリストビューを使った。リストビューを使うためのクラスがListView.sbp。 目玉はVBMP3の機能であるスペアナだ。これを表示するにはGDIを使う。oekaki.sbpで実装。 これで簡単な再生、停止まではできるようになった。 http //www.vector.co.jp/soft/win95/prog/se246017.htm...
  • ビギナー
    Beginner歌:AKB48作詞:秋元康作曲:井上ヨシマサ In your position set! 昨日までの経験とか 知識なんか荷物なだけ 風はいつも通り過ぎて 後に何も残さないよ 新しい道を探せ! 他人(ひと)の地図を広げるな! 伏せた目を上げた時に 0(ゼロ)になるんだ 僕らは夢見てるか? 未来を信じているか? 怖いもの知らず 身の程知らず 無鉄砲なまま 今 僕らは夢見てるか? 子どものようにまっさらに… 支配された鎖は引きちぎろう Change your mind Change your mind 何も知らなくていい Beginner! 失敗して 恥をかいて 傷ついたこと トラウマになって あんな思い 2度と嫌だと 賢くなった大人たちよ チャレンジは馬鹿げたこと リスク 回避するように 愚...
  • DirectShowでDVD再生
    ABにはこの関連するDirectshow定義ファイルが無い。 自分で頑張って宣言するかC++とかで楽をするか 自分で宣言する場合、継承の継承の継承の継承みたいになってて途中で秋田。 頑張って下さいね!!!!
  • ステップ14 「DLLを作る」
    Basic言語でDLLを作るだって?冗談言うなよ! それが、ActiveBasicでは自然な形で作れてしまいます。ネイティブ コードにコンパイルされるため、DLLプログラムとして要求されるだけの実行速度、プログラム サイズが期待できます。 作り方はとてもシンプル 通常のEXEプログラムと違う点は以下の2つだけ。 ① プロジェクト作成時に「DLL」を選択する ② エクスポートする関数には "Export" 指定をする ①は画面の説明に従うだけなので解説の必要はありませんね。②に関してですが、今までは関数を定義するというと、 Sub func1(parm...) ... End Sub Function func2(oarm...) As Long ... End Sub という感じに定義するのに対し、エ...
  • 歴史
    太古 ABは1999年にバージョン1がリリースされたらしい。 そして2.62まではインタプリタとして機能していた。 この時代はよくHSPと比較されていたが、当然AB2に勝ち目はなかった。 Ver3 AB3の正式版リリースは2003年7月。 ついにABはコンパイラを持つようになった。 ここからしばらくの間、ABは絶頂期を迎える。 当時も無料でexeを吐く処理系はあったが、ABのように国産でIDEの環境なんてなかったはずなの。 こんな美味しい環境を使わないアホはいないということで、きっとユーザーも増えたはずだ。 このころ登場した一部のヘヴィーユーザーは未だに語りぐさとなっている。 山本氏がカンパを始めたのもこのころである。 この時代はよくVBと比較されていたが、当然AB3に勝ち目はなかった。 Ver4 バージョン3で勘違いしたのが悪夢の始まりである…。 A...
  • スパゲッティソース
    スパゲッティソースとは非常に読みにくいコードのこと。 Gotoを多用したり、変数や関数の識別子に意図の連想できない名前をつけたり、 モジュールが極端に長かったり、深いネストにしたり、 コメントが一切無かったりする。 スパゲッティソースには、ミートソース、カルボナーラソースなどがあるが、 私は明太子パスタが好きでした。 アーリオ・オーリオ!
  • 個人情報
    個人を認識可能な情報のこと。名前、住所、電話番号、メールアドレスなどなど。 個人情報はPCで管理されているケースが非常に多く、エクセルとかで誰でも簡単に大量に見ることができるようになっている。 しかし、それでは迷惑を被る人がいっぱい出てくることがあるため、 個人情報の保護に関する法律 とかが存在する。 ABではリストビューを使うなどすれば簡単に住所録を作成できる。 もし作るときは、データをファイルに保存するときは暗号化するとか少しは気を使ってみてはいかがだろうんか。
  • ステップ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...
  • スプラッシュウインドウ
    スプラッシュウインドウとは、起動の重いソフト、フォトショとかの 黄不動したときに出てくる画面のこと。 ABでこれを再現するには、メインウインドウが表示される前に DialogBoxでモーダルダイアログを読み出す。 このときモーダルダイアログはスタイルをポップアップ、枠なしにしておくと見た目がカッコいい。 処理がダイアログに移るので、 ダイアログ内でスレッドを立てスレッド内で初期化しつつ ダイアログに進捗を表示してやると体感速度が上がって楽しい。 サンプル
  • オーバーロード
    オーバーロード(overload)とは、関数、メソッド、クラスの演算子の多重定義のこと。 オーバーライド(override)とは違うので注意されたし。 同じ関数名で引数の形が違うもののこと。 呼び出したときは型の近いものが呼ばれる
  • ステップ20 「プロセス デバッガによるデバッグに挑戦」
    プログラミングはしてみたけど、いざ実行すると強制終了してしまう。なんでぇ~( _ ) この変数の値がちゃんとしてるか、MessageBoxでいちいちチェックするのって面倒… そこのあなた、こんなお悩み抱えていませんか?こんなときに登場するのが「プロセス デバッガ」。デバッグのやり方さえ覚えてしまえば、これらの問題はスマートに解決できます。 そもそも、デバッグって何? 「デバッグ」=「バグを取り除く」などという意味を持ちますが、一般的に、作ったプログラムに不具合はないかを、コードを一つ一つチェックしながら実行したり、任意のタイミングで変数の内容を表示しながら実行するといったことをしてチェックします。 論より証拠、実際にデバッギングを体験してみましょう。 まずは誰が見てもおかしいことに気付くプログラムをリリース コンパイル(F7キー)し、実行してみます。 Dim i...
  • スタティックテキストの文字を変える
    メインウインドウにはったスタティックテキスト(ラベル)の文字を変える。 ボタンが押されたときに文字列を変えるなどの応用が可 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...
  • @wiki全体から「カーソルが迷子になったとき」で調べる

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