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

検索 :
  • MkDir
    名称 |MkDir 読み |まきでぃあ 定義 |MkDir dir$ 説明 |ディレクトリーを作成。 参照 |
  • リファレンス
    ...ll Locate MkDir Randomize III.構文 If Goto GoSub~Return For~Next While~Wend Do~Loop Select Case Declare Sub Function Macro Dim Const Enum Let Set〇〇 Type TypeDef With Class~End Class IV.Win32API MCI GDI user32 V.仕様、ヨタ話 基本型 宣言と定義 コマンドライン オプション 行番号 コメント プリプロセッサ 複文 アスキーコード表 バグ、不具合 N88BASICとの互換性 歴史 演算子については基本的な演算子には何があって、どう使うの?を参照のこと。 Win32APIは MSDNライブラリ が詳しい。
  • ChDir
    名称 |ChDir 読み |ちゃでぃあ 定義 |ChDir dir$ 説明 |カレントディレクトリを変更。 参照 |
  • DirectX
    DirectX(ディレクテックス)とは、WinG(ウイング)とかGameSDK(ゲームエスディケー)を先祖に持つマルチメディアを扱うAPI。 OpenGLがグラフィック専用なのにDirectXは何でも扱える最強のライブラリ。 ABではDirectXのごく一部の機能を簡単に扱えるABDXが存在する。
  • DirectSound
    DirectXの音声担当。
  • DirectShowでDVD再生
    ABにはこの関連するDirectshow定義ファイルが無い。 自分で頑張って宣言するかC++とかで楽をするか 自分で宣言する場合、継承の継承の継承の継承みたいになってて途中で秋田。 頑張って下さいね!!!!
  • 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のプログラムを移植す...
  • GDI
    Windowsのグラフィクス全般を扱うサブシステムで、その内容は比較的広範囲で難易度は高め。 Windowsではすべてのグラフィクスはデバイスコンテキストというハンドル(ポインタ) によって示されるメモリー領域にアクセスする。 このデバイスコンテキストは、デバイスに依存しない形でデータを保存している。 データタイプが汎用的で特定のグラフィクスデバイスに依存しないが、やや抽象的で 実体がないデータだ。これをDIBといい、デバイス非依存ビットマップという。 通常、ウインドウズ上でグラフィクスを扱う時は、このDIBを扱っている事になる。 これに対し、DDBというものがある。これはデバイス依存ビットマップと呼ぶ。 データの構造がディスプレイデバイスに強く依存したもので、ウインドウズでは、 これらのDDB,DIBというレイヤーを通してグラフィクスを扱っている。 ...
  • デレクトリの再帰検索を行う
    /*デレクトリの再帰検索を行うdir → 検索ディレクトリfukasa → 最大深さ。0ならサブディレクトリを検索しないcallback_func → 検索結果のファイル、フォルダの名前を返す関数のアドレス返り血 なし*/Sub hxtree(dir As *Byte, fukasa As DWord, callback_func As *Sub(p As *Byte))Dim wfd As WIN32_FIND_DATADim hF As HANDLEDim noah[428] As Bytewsprintf(noah, "%s\*.*", dir)hF = FindFirstFile(noah, wfd)DoIf lstrcmp(".", wfd.cFileName) = 0 or lstrcmp("..", wfd.cFil...
  • UMLって何?
    UMLとはフローチャートの簡単にいえばクラス版です。 クラスを作るとき、オブジェクトを作るときにどうしよっかなーってのを絵で表すものです。 ABはホビー用言語なのであまり考えることはないですが、UMLの『クラス図』は読めるようになっておくと 他の人のプログを移植するときに役立つかもしれません。 とりあえずここでは簡単なクラスを作ってそれをクラス図で表わしてみます。 今回は「指定したフォルダからファイルを探して、それぞれ指定したフォルダ以下に拡張子ごとに別のフォルダ振り分ける」処理を考えます。 ここで作業する人を考えます。 1人目は指定したフォルダからファイルを探す人。 2人目は指定したフォルダ以下にそれぞれ拡張子ごとに別のフォルダ振り分ける人。 1人目はフォルダを指定する動作と、ファイルを見つける動作が必要です。 2人目はフォルダを指定する動作と、ファ...
  • コンボボックス
    コンボボックスはエディットボックスとリストボックスを組み合わせたコントロール ユーザーにアイテム選択をさせるために使う 標準ではエディットボックス脇のボタンを押すことによってリストが表示されるドロップダウンタイプになっている [edit] コンボボックスのスタイル † RADで設定できるスタイルについて 無効(使用不可)~タブストップ 他と同じなので省略 タイプ コンボボックスの種類 ドロップダウン、ドロップダウンリスト、デフォルトの3種類 デフォルトはエディットボックスにリストボックス付けただけの代物。別々に作った方が良いと思う ドロップダウンはコントロール右側の▼を押すとリストボックスが表示されるタイプ。空白部分はエディットボックスで編集可能 ドロップダウンリストはドロップダウンと大体同じだがエディットボックス部分は編集できない オーナー描画~文字列あ...
  • 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-...
  • リストボックス
    リストボックスはコントロールが所有するアイテムを一覧の中から選択できるコントロール [edit] リストボックスのスタイル † RADで設定できるスタイルについて 無効(使用不可)~タブストップ 他と同じなので省略 選択 一度に選択できるアイテムの数 選択無し、単一選択、複数選択。拡張はよくわからん オーナー描画 加筆plz ソート リストボックスに追加された文字列が自動的にソートされる これをチェックして無い場合は終端に文字列が追加される 複数列 アイテムを追加していって下端を超えた時に次の列の一番上にアイテムが追加される これを指定していると垂直スクロールバーは動作しない 通知 クリックイベントやダブルクリックイベントを親ウィンドウに通知する チェックされていないとRADのイベント処理でクリックを検出できない 水平スクロールバー 複数列の...
  • サウンド
    windowsでのサウンド再生 MCI WaveOut DirectSound ABでは、公式サイトにMCIプレイヤーの説明があるため、 クソアプリが量産された。
  • _splitpath
    名称 |_splitpath 読み |スピリットパス 定義 |_splitpath(path As BytePtr,drive As BytePtr,dir As BytePtr,fname As BytePtr,ext As BytePtr) 説明 |フルパスを分解します。 戻り値 |なし 参照 |
  • エラー
    エラーとは、コンパイルに支障をきたすような間違いのこと。 たとえば、Undefined line number、とかDirect statement onlyとかのこと。 警告とはコンパイルは出来る(文法上間違いはない)が、意図しない結果になる可能性があるもの。
  • サンプル
    ABのサンプルは難しい! 初心者向けじゃないよね。明らかに。 まず、15game.abpで挫折。 Print Usingって何?ヘルプにねーぞ。 他のサンプルはAPI使いまくってるしDirectXだのソケットだとか難解すぎて手に負えないし。 もうやめたってなる。
  • ランタイム
    ランタイム(Run-Time)とは実行時のこと。 10 TIME$ RUN 00 12 00 OK ■ 実行時に必要なDLLとかをランタイムライブラリと呼ぶ。 ランタイムライブラリはよく使う機能をDLLに格納しているため、これを使うアプリを複数起草すればするほど効率が上がる。 よってVBは偉かったのだけどPCに疎い人たちからはVBは遅いだの出来損ないだの散々悪口を言われた。 でも.NETだってDirectXだってランタイムだよ。
  • ABの初期設定
    ABの初期設定 ABの開発元 activebasic.com からAB4.24のZIPでダウンロードします。 画面左のメニューの下に「AB4をダウンロード」というのがあるのでそこからいけるはずです。 展開したらそれで終わり。ごちゃごちゃ入っていますがプロジェクトエディタ(ProjectEditor.exe)を使うのが一般的だと思われ魔手。 初めてプロジェクトエディタちゃんを起動すると関連付けを設定するように促されます。通常はそのままの設定でいいでしょう。 Includeフォルダ 関数とかの宣言 Runtimeフォルダ ABDX(ActiveBasic with DirectX library)のランタイム Samplesフォルダ サンプルアプリ SubOperationフォルダ テンプレートとか UserSettingフォルダ ProjectEditorの設...
  • GDIでお絵かき
    プロジェクトエディターにてウインドウを作成。 プロジェクト名 = hiraiGDI '-----------------------------------------------------------------------------' イベント プロシージャ'-----------------------------------------------------------------------------' このファイルには、ウィンドウ [MainWnd] に関するイベントをコーディングします。' ウィンドウ ハンドル hMainWnd' TODO この位置にグローバルな変数、構造体、定数、関数を定義します。Const ToRad(x) = (x * 3.14/180)Class HIRAIGDIPriv...
  • ActiveBasicってなぁに?
    ActiveBasic(あくてぃぶべーしっく、えーびー)とは、プログラミング言語のひとつである。 その文法はVisualBasicを意識したような感じでもあり、 一方でC(C++ではない)を意識したような、中途半端な感じがしないことも無い。 Win32APIとDirectXに対応し、付属のRADツールを使うことで、簡単にベースとなるアプリケーションを作ることができる。 でもそれをカスタマイズしていくには七難八苦の苦行が待っている。 実行速度は遅い。本当にコンパイルしたのかと問い詰めたくなるほど遅い。一方でファイルサイズは小さい。 ランタイム不要。だがこっそりmsvcrt.dllが必要。なぜかstrstr関数を宣言している。 歴史も参照
  • N88BASIC互換モードでドラッグドロップを受け付ける
    #N88BASIC'自分のウインドウハンドルを取得Dim hwnd As HWNDhwnd = GetForegroundWindow()DragAcceptFiles(hwnd, TRUE)'どrを受け入れる'ウインドウプロシージャのサブクラス化Dim default_wndproc As *Function(a As Long, s As Long, d As Long, f As Long) As Longdefault_wndproc = GetWindowLong(hwnd, GWL_WNDPROC)SetWindowLong(hwnd, GWL_WNDPROC, AddressOf(Subclass1))'俺のプロシジャーFunction Subclass1(a As Long, s As Long, d As Long, f As Lo...
  • 応用
    実践的なプログラミング、コンピュータ理論(仕組み)、アルゴリズムなど 何か要望ある?(あったら作ってね的な) アルゴリズム関連 暗号化 最適化 2進数に変換してみる Base64 エンコード DCT(離散コサイン変換) 基数変換 画像の回転 ビットカウント xorshift システム関連 ファイル圧縮してみよう htmlhelp 文字コードの変換 マルチスレッド デッドロック ダイアログボックスをリソースから読み出してみよう プログレスバー ステータスバー ウインドウの列挙 CPU使用率の取得と表示 GDIでお絵かき 壁紙チェンジャー スクリーンセーバーを作る必要性 メモリ上の機械語プログラム タイマー ラーメンタイマー デジタル時計 HDD温度を調べる メッセージフック レジストリをいじってみたい INIファイル コマンドライン引数 クリップボード マニフェスト埋め込み(XPスタ...
  • Dim
    名称 |Dim 読み |ディム 文法 |Dim varname [ [subscripts] ] [= initvalue] [As type] ,... 説明 |変数を宣言する。 基本型を参照のこと。 昔のN88BASICのように配列を宣言するためのものではない 名前変えればいいのにね。Varとか。
  • ステップ16 「RPGのマップ移動機能を作る①」
    今回はスプライト処理をはじめとするテクニックを利用し、マップ、および主人公の描画をRPGライクに行います。 なお、今回からの解説は、First Seed Materialで公開されているRPG用素材を利用させていただきます。 今回作成するプログラムのサンプルファイルを置いておきますので、参考にしたい方はどうぞ☆ Fantasy.zip(プロジェクトに必要なファイルがすべて入っています) このステップの要点は、スプライト処理です。ビットマップのマスク処理などといったほうが、親しみがあるかもしれません。具体的には、ビットマップに対して以下のような演算をさせ、画面に出力します。 = AND OR これを動かすとなると少し大変なので、まずは右上にあるような画面を作ってみることにしましょう。 ノーマル ウィンドウ ベースの新規プロジェクトを作成し...
  • Circle
    名称 |Circle 読み |さーくる 定義 |Circle(x, y),r [,color] [,start] [,end] [,aspect] [,f] [,color2] 説明 |円を描く。#N88BASICの時にのみ有効。 座標(x,y)に半径rの大きさの円をcolorで描く。 start、endは描写の開始角度、終了角度をラジアンで指示。負の値だと扇形にする。 aspectは扁平率で1以上はy軸に対して、1未満はx軸に対する比率となる。 fは塗りつぶし、color2は塗りつぶしの色を設定する。 参照 |
  • ステップ17 「RPGのマップ移動機能を作る②」
    前回やった、草原マップ、主人公キャラの描画に引き続き、今回はキー操作に反応し、キャラが自由に歩き回れるようにするプログラムを作成していきます。 今回作成するプログラムのサンプルファイルを置いておきますので、参考にしたい方はどうぞ☆ Fantasy2.zip(プロジェクトに必要なファイルがすべて入っています) 今回も、First Seed Materialで公開されているRPG用素材を利用させていただきます。 前回作成したプログラムがある方は、MainWnd.sub のプログラムを変更するだけで実現できます。このページのプログラムリストは、前回からの変更点を太字で示してあるので、それを参考に改良してみて下さい。 新規にプログラムを作成する方は、まずはプロジェクトを作成しておきましょう。新規作成→プロジェクトで、"Fantasy" などという名前のプロ...
  • 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...
  • 歴史
    太古 ABは1999年にバージョン1がリリースされたらしい。 そして2.62まではインタプリタとして機能していた。 この時代はよくHSPと比較されていたが、当然AB2に勝ち目はなかった。 Ver3 AB3の正式版リリースは2003年7月。 ついにABはコンパイラを持つようになった。 ここからしばらくの間、ABは絶頂期を迎える。 当時も無料でexeを吐く処理系はあったが、ABのように国産でIDEの環境なんてなかったはずなの。 こんな美味しい環境を使わないアホはいないということで、きっとユーザーも増えたはずだ。 このころ登場した一部のヘヴィーユーザーは未だに語りぐさとなっている。 山本氏がカンパを始めたのもこのころである。 この時代はよくVBと比較されていたが、当然AB3に勝ち目はなかった。 Ver4 バージョン3で勘違いしたのが悪夢の始まりである…。 A...
  • クイックソート
    整列アルゴリズムのひとつ。 C.A.R.Horeにより開発された(The Computer Journal, 5 10-15, 1962)整列法で、分割統治法の一種。平均的には最も早くO(nlogn)程度の実行時間であるが、最悪の場合はO(n^2)にまで落ちる。安定ではない。 クイックソートのアルゴリズムは、以下のとおり。 適当な値xを選ぶ(この時、x未満の要素数とx以下の要素数を同程度にする) x未満の要素を前半に、x以上の要素を後半に集める 前半の要素数が2以上であれば前半をクイックソートする 後半の要素数が2以上であれば後半をクイックソートする このように配列を約二分割して、自分自身を再帰的に整列する(分割統治)。しかしながら、うまく二分割できない場合(例えば、一方に1個、もう一方に残り全て)は実行時間がn^2に比例する。よって、実行速度は入力デー...
  • 綺麗な花火
    N88BASICでグラフィック命令を覚えたら 最初に作るのが花火 '綺麗な花火#N88BASICCONST PI = 3.1416Const BASE = 380Dim x As Long, y As LongDim yy As Long, r As LongDim c As Long, k As DoubleDim p As LongDim ax As Long, ay As LongRandomizeCls 3Line(0,BASE)-(640,BASE)*LLLx = 70+Rnd()*500yy = 50+Rnd()*50'For y=BASE-2 To yy Step -1Circle(x,y),2,7Sleep(5)Circle(x,y),2,0Nextp = Rnd() * 4Select Case pCase 0For r=10 To 50 St...
  • プラグイン/ニュース
    ニュース @wikiのwikiモードでは #news(興味のある単語) と入力することで、あるキーワードに関連するニュース一覧を表示することができます 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_174_ja.html たとえば、#news(wiki)と入力すると以下のように表示されます。 ウィキペディアを作ったiMacが箱付きで競売に登場。予想落札価格は約96万円!(ギズモード・ジャパン) - Yahoo!ニュース - Yahoo!ニュース メトロイド ドレッド攻略Wiki - Gamerch(ゲーマチ) ツムツム攻略Wiki|ゲームエイト - Game8[ゲームエイト] 【グランサガ】リセマラ当たりランキング - グランサガ攻略wiki - Gamerch(ゲーマチ) アイプラ攻略Wiki|アイドリー...
  • マージソート
    整列アルゴリズムのひとつ。 実行時間はO(nlogn)程度であり、安定な整列法である。また、クイックソートと異なり、どのようなデータに対しても高速であるが、データと同程度の作業用記憶領域を必要とする。 下記プログラムでは、マージソートが安定であることを示すために整列データに整列に使用するキー欄(key)以外に情報欄(info)を持たせている。さらに高速にするには、11行目を if If first - last 10 Then とし、44行目で Else simplesort などと挿入ソートなどに切り替えればよい。 プログラミング掲示板「ソートロジック大会」なども参照のこと マージ 整列したデータをまとめてひとつの整列したデータにすることをマージ(併合)という。整列した大きなデータを更新する際は、追加分のデータを整列した後に整列済みのデータにマージするほうが圧...
  • GDIでメインウインドウに線を書く
    基本はウインドウのHDCのハンドルを得てGDIのLine文で線を書く。 Sub MainWnd_CommandButton1_Click()Dim dc As HDCDim p As POINTAPIdc=GetDC(hMainWnd)MoveToEx(dc,0,0,p)LineTo(dc,100,100)End Sub しかし、画面の再描画時に線は消えてしまう。 再描画のときに画面を消えなくする一つの方法は、ウインドウのPAINTイベント が発生した時に線をかくようにすること。 Sub MainWnd_Paint(hDC As HDC)Dim dc1 As HDCDim pa As POINTAPIdc1=GetDC(hMainWnd)MoveToEx(dc1,0,100,pa)LineTo(dc1,100,100)End Sub
  • 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...
  • 円を描く
    ABにはCircle命令がありますがあまり使い勝手がよくないです。 だから自分でつくるのがいいです。 #N88BASICSub Circle2(cx,cy,r,c)Dim giantsteps, x,ygiantsteps = 1/rFor y=-1 To 1.01 Step giantstepsFor x=-1 To 1.01 Step giantstepsIf x*x+y*y 1-giantsteps And x*x+y*y 1+giantsteps Then Pset(cx+r*x, cx-r*y),cNextNextEnd SubSub Circle3(cx,cy,r,c)Dim t,giantsteps,x,ygiantsteps=(_System_PI+_System_PI)/100.01For t=0 To 2*3.15 Step giantstepsx = cx+r...
  • 3次方程式
    /***********************************************************cardano.c -- 3次方程式***********************************************************/#N88BASICCONST PI = 3.14159265358979323846264 /* 円周率 */#define CHECKDeclare Function acos CDECL Lib"msvcrt"(x As Double) As DoubleDeclare Function fabs CDECL Lib"msvcrt"(x As Double) As DoubleFunction cuberoot(x As Double) As DoubleDim s, pr...
  • ステップ18 「RPGのマップ移動機能を作る③」
    前回の解説で主人公キャラが自由に動け回れるようになったので、今回は任意のマップを描けるようにしてみます。 マップ図にマップチップを割り当てるという、非常にシンプルな細工をするわけですが、マップチップの種類が非常に多いため、数字攻めになってしまうかもしれませんが、根気良くがんばりましょう。 今回作成するプログラムのサンプルファイルを置いておきますので、参考にしたい方はどうぞ☆ Fantasy3.zip(プロジェクトに必要なファイルがすべて入っています) 今回も、ステップ17「RPGのマップ移動機能を作る②」で掲載したプログラムの変更点を太字で表しているので、参考にして下さい。 また、以下のようなマップの配置図(25*20)をCSV形式で用意しておく必要があります。プロジェクトが保存されているディレクトリに "map.csv" というファイル...
  • 線形合同法
    /***********************************************************crnd.c -- 線形合同法***********************************************************/Dim seed = 1 As DWord/* 任意 */Sub init_rnd(x As DWord)seed = xEnd SubFunction irnd() As DWordseed = seed * 1566083941 As DWord + 1irnd = seedEnd FunctionFunction rnd() As Double /* 0 = rnd() 1 */rnd = (1 / 4294967296) * irnd() As DoubleEnd Function/**************...
  • ステップ27 「メモリ監視ツールを作る①」
    公式のものは4.24でもコンパイル可能であるが、メモリが4GBとかだと値がおかしくなるし、新しいOSにも対応していないので 次のように修正が必要。 ' ----------------------------------------------------------------------------' イベント プロシージャ' ----------------------------------------------------------------------------' このファイルには、ウィンドウ [MainWnd] に関するイベントをコーディングします。' ウィンドウ ハンドル hMainWnd' メモ - 以下の領域を、変数、構造体、定数、関数を宣言するための、' グローバル領...
  • ステップ14 「DLLを作る」
    Basic言語でDLLを作るだって?冗談言うなよ! それが、ActiveBasicでは自然な形で作れてしまいます。ネイティブ コードにコンパイルされるため、DLLプログラムとして要求されるだけの実行速度、プログラム サイズが期待できます。 作り方はとてもシンプル 通常のEXEプログラムと違う点は以下の2つだけ。 ① プロジェクト作成時に「DLL」を選択する ② エクスポートする関数には "Export" 指定をする ①は画面の説明に従うだけなので解説の必要はありませんね。②に関してですが、今までは関数を定義するというと、 Sub func1(parm...) ... End Sub Function func2(oarm...) As Long ... End Sub という感じに定義するのに対し、エ...
  • 文字列に保存された数式を計算する
    DLLライブラリをだうんろーど http //www.vector.co.jp/soft/win95/prog/se136814.html #consoleDeclare Function Kaiseki cdecl Lib "epmath" (mojiretu As BytePtr, err As WordPtr) As DoubleDeclare Function Kaiseki_VB Lib "epmath" Alias "_Kaiseki_VB@8" (mojiretu As BytePtr, err As WordPtr) As DoubleDim bstr(31) As ByteDim i As Wordlstrcpy(bstr,"1+2*5")print Kaiseki(bstr,VarP...
  • ファイルを扱う
    旧来の方法を模した(open,close,inputなどを使う)方法と、APIを使う方法がある。 旧来の方法 昔のBASICを知っている人はこれを使いたいと思うだろうが、実は互換性に乏しい。 エラーが起きたときに適切に処理する方法が用意されていないので注意が必要。 シーケンシャル これで書き込み。 open "test.dat" For output As #1write #1, "test",1,"a"close #1 test.datはこのようになる。 test,1,a[cr][lf] 読み込むときは、型をあわせて Dim a$,b$,c$,i,j,kopen "test.dat" For input As #1input #1, a$,i,c$close #1 とやればok。...
  • メモリ上の機械語プログラム
    参考→http //www.activebasic.com/forum/viewtopic.php?t=308 Function SetAsm(asm As *Byte, codesize As Long) As VoidPtrSetAsm=VirtualAlloc(NULL, codesize, MEM_COMMIT, PAGE_EXECUTE_READWRITE) '追加memcpy(SetAsm,asm,codesize)End FunctionSub FreeAsm(func As VoidPtr)VirtualFree(func, 0, MEM_DECOMMIT or MEM_RELEASE) '追加End Sub'機械語コード(_stdcall)Dim asm[ELM(40)]=[ h55, h8B, hEC, h51, h8B, ...
  • ラーメンタイマー
    プロジェクトエディターで簡単なラーメンタイマーを作ってみつ。 タイマー処理とGDIを使っている。 プロジェクト HiraiRamenTimar コモンコントロールを使用するにチェックを入れる。 次のコントロールを貼り付ける。 エディットボックス ID=EditBox1 ボタン ID=CommandButton1 プログレスバー ID=ProgressBar1 '-----------------------------------------------------------------------------' イベント プロシージャ'-----------------------------------------------------------------------------' このファイルには、ウィンドウ [...
  • ステップ12 「N88BASICスタイルで行こう!(一休み?)」
    回までのページをちゃんと読んでくれた皆さん、少しお疲れのようですので、今回は幼少に戻った気分で、N88BASIC遊びをしてみます。 このページでは、技術的なことは忘れて、「あの頃」のプログラムをふんだんに使って懐かしむことにしましょう。思い出がない方も「元祖N88BASICはこんなもんだったんだ~」と頭の隅にでも入れておきましょう(私もその一人なのですが…)。このページに関しては、最新技術を無視し、時代に逆らった内容だということをお断りし、内容に入っていきます。 ということで、ここからは以下に示す2つの条件を除き、N88BASIC互換以外の命令語、関数は使いません!(命令語の詳細情報は、ヘルプファイルをご覧下さい) 条件1 ご存知の通り、ActiveBasicはWindowsプログラミング用に開発されているので、そのままではDOSみたいな画面は出てきませんし、Print...
  • ステップ28 「メモリ監視ツールを作る②(設定をレジストリに保存)」
    前回と同じ修正が必要。 またこのサンプルを実行するとレギストリに永遠に値が残るのでこれは重大な問題だと癒える。 前回に引き続き、メモリ監視ツールに、オプション項目を付け足してみます。 今回作成するプログラムのサンプルファイルを置いておきますので、参考にしたい方はどうぞ☆ SystemWatcher2.zip(プロジェクトに必要なファイルがすべて入っています) オプション項目って何をするの? 更新間隔の設定 最前面表示のオン/オフ 今回は、上記の2点と、それら設定項目のレジストリへの保存を試みます。 レジストリ操作 ① RegOpenKeyEx関数でレジストリキーをオープン ② RegQueryValueEx関数で値を読み込む / RegSetValueEx関数で値をセットする ③ RegCloseKey関数でレジストリキーを閉じる ...
  • リストビューを使う
    基本は、(api_comctl.sbp)コモンコントロールのヘッダに関数と構造体が定義されているのでそれを使う。 しかし、構造体が面倒なので、hira s AB Sample CodesのListView関数をコピペする。 http //f27.aaa.livedoor.jp/~hira/mirror/absample1.htm#ListView 使い方 Win32プロジェクトを新規作成。”コモンコントロールを使用する”、を必ずちぇっく。 メインウインドウににボタンとリストビューコントロールを貼る。リストビューは表示プロパティを"リスト" に設定。 hira s AB Sample CodesのListView関数をコピペするかincludeファイルに書く。 ボタンにイベントハンドらを追加して完成。 Sub MainW...
  • 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...
  • コンパイルするとAviraが反応する
    概要 |コンパイルしたプログラムがTR/Crypt.XPACK.Gen等のトロイと認識される。 原因 |誤認識だと思われます。 対処法 | Avira社に報告 する。
  • @wiki全体から「MkDir」で調べる

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