【QBASIC互換!?】FreeBasic【GPL】 2 [無断転載禁止]©2ch.net (435レス)
【QBASIC互換!?】FreeBasic【GPL】 2 [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/tech/1482549747/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
187: デフォルトの名無しさん [] 2017/09/30(土) 06:57:11.47 ID:0ZNFHa8Z 360互換機を使っていたころ、コマンド行の解釈は専用の内部タスクがあった。 表に出ることはないタスクなので、名称は覚えていない。システムを示す、コマンドの表題の末尾に「$」が記載されていたことを覚えている。 >>186 に書いた通り、領域の確保ができない場合に、分割する必要がある。 「自分で考えるよりも、誰かがやった歴史通りにまねをできるように」と学ぶのが、義務教育の社会科の中の一分野「歴史」。 分割するのに、360の歴史に従って、コマンドラインの解釈を分割することにした。 FBのコマンドラインに準じて、Fun SwitchFileRead2()系統を作成した(前スレ参照)が、これらは全部廃棄。 360に準じて作成し、今回QBに移植したFun SwitchFileRead()系統を復活させた。 前者はコマンドラインを順次解釈しているに対して、後者は前置詞・語・後置詞、修飾語の区切りが規定されているので、汎用化しやすい。 前者は、とうしてもスイッチの解釈が各ユーザー(プログラム)専用になってしまう。 後者は汎用性があるので、無意味なスイッチでも通過してしまうという欠点を持つが、主プログラムで使わないスイッチを読み飛ばしてしまうことで対応可能。 別タスクにして、チルドレン(GW(QBの前のバージョン)用語)で芋づる起動することを前提の Shell 命令 http://makoto-watanabe.main.jp/freebasic/PgShell.html を使うことになる。タスク間の連絡を何にするか、迷ったところで、ハンチ等システムを復活させることにした。 http://mevius.5ch.net/test/read.cgi/tech/1482549747/187
188: デフォルトの名無しさん [] 2017/09/30(土) 07:13:23.29 ID:0ZNFHa8Z ハンチ等システム、内部構造は、TARファイルやISHファイルに類似したもので、 Unpack(語句の後ろに未使用の領域がある)データファイル、固定長文字列を単位としたランダムファイルとほぼみなせる。 それで、RANDOMファイルをつらつら眺めるに http://makoto-watanabe.main.jp/freebasic/PgRandom.html#start 'C:\tool\FreeBASIC\examples\files\random.bas 'C:\tool\FreeBASIC\examples\files\records.bas セクターの定義が Type命令を使うように替わった。TYPE命令で文字列を定義すると、文字列の区切りにヌル文字(&H00)が挿入される。 QBでは、セクター番号を示すらしい2バイトが挿入された。 ということで、末尾に &h0D, &h0Aを挿入して、テキストエディターで直接編集する、パンチカード等にふさわしい手法が使えない。 かといって、Binaryでやったらば、分量が増えて分割した意味がなくなってしまう、Taka01J..Bas は50KB程度しかないファイルだから。 バイナリエディタ、Stirling.exeで見やすくするために、16バイトの倍数に分割して、先頭と末尾に記号を置いて、、等の作業を始めた。 http://mevius.5ch.net/test/read.cgi/tech/1482549747/188
189: デフォルトの名無しさん [] 2017/09/30(土) 07:25:12.70 ID:0ZNFHa8Z >>186 の後に色々書いたらば、拒否されたので、用語だけ。 エディターボックスの内容が変わったことを示すルーチン Case EN_CHANGE '内容が変わる直前 Case EN_UPDATE '内容が変わった直後 Select Case LoWord(wParam) Case IDC_EDT1 GetDlgItemText(hWin, IDC_EDT1, @buff, SizeOf(buff)) Buff = "変更 :" + Buff SetDlgItemText(hWin, IDC_STC2, @Buff) End Select Case EN_MAXTEXT '挿入時にスペースを使い切った。 End Select Case WM_SIZE と、Case WM_SIZE の並びに挿入する。 http://mevius.5ch.net/test/read.cgi/tech/1482549747/189
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.022s