3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

同じソースをMind7とMind8とMind9βとでビルドできる環境をVSCodeで構築

Posted at

はじめに

諸般の流れからMind7とMind8、そしてMind9β、いずれでもビルドできる環境をVSCodeで構築してみようと思います。昨年はMind7とMind8用にタスクをそれぞれわけて設定しておりましたが、今回はもっとお手軽に同じソースを各バージョンのMindコンパイラで共通してビルドできる環境をVSCodeで構築してみます。Mind7とMind8、Mind9βで互換性があるソースであることが前提です。

前提条件

Windows11 Pro 22H2
VSCode(Visual Studo Code) 1.98.0
Mind Version 7.5 for Windows
Mind Version 8.07 for Windows
Mind Version 8.11 for Windows(9beta6)

VSCodeの拡張機能

mind-extension-preview 0.0.1

Mind各バージョンのインストールパス

下記のように各バージョンのMindがインストールされているとします。

Mind7

C:\mind7

Mind8

C:\pmind

Mind9β6

C:\mind9-beta\mind9-beta

VSCodeのプロジェクトフォルダ

Mindのソースコードファイルの格納パスとなります。
下記のように構成されているとします。

C:\developments\vscode\mind9

VSCodeの起動

コマンドプロンプトでこのフォルダをカレントフォルダとしてVSCodeを起動します。

C:\developments\vscode\mind9>code .

下図のような感じでVSCodeが起動します。
このとき、既定のターミナルはPowershellの場合が多いです。下図は実はこれからご説明する方法で3つのコマンドプロンプトを追加済の状態です。

vscodeallmind1.png

コマンドプロンプトターミナルを3つ開く

上図の右端の+記号をクリックすると下図のようなショートカットメニューが開きます。ここで「Command Prompt」をクリックします。

vscodeallmind2.png

これを3回繰り返してください。最初の図と同じ状態になります。

3つのコマンドプロンプトターミナルでusemindユーティリティを実行

それぞれのコマンドプロンプトターミナルで各バージョンのusemindユーティリティを実行します。下図はMind7の場合です。
vscodeallmind3.png

Mind7

Microsoft Windows [Version 10.0.22621.4317]
(c) Microsoft Corporation. All rights reserved.

C:\developments\vscode\mind9>c:\mind7\usemind
Mind7 developing ready.
C:\developments\vscode\mind9>

Mind8

Microsoft Windows [Version 10.0.22621.4317]
(c) Microsoft Corporation. All rights reserved.

C:\developments\vscode\mind9>c:\pmind\usemind
myfolder=pmind\
myfolder=pmind
newpath=[]
Mindの開発環境を設定しました。

c:\pmind>

Mind9 β6

Microsoft Windows [Version 10.0.22621.4317]
(c) Microsoft Corporation. All rights reserved.

C:\developments\vscode\mind9>c:\mind9-beta\mind9-beta\usemind
myfolder=-beta\
myfolder=-beta
newpath=[]
Mindの開発環境を設定しました。

c:\mind9-beta\mind9-beta>

Mind8と9のユーティリティはカレントディレクトリをインストールフォルダに移動しますので、ソースコードが格納されているプロジェクトフォルダへカレントディレクトリを戻しておいてください。

これでビルド準備完了です。

3つのコマンドプロンプトターミナルで各バージョンのMindコンパイラを実行

3つのコマンドプロンプトターミナルで各バージョンのMindコンパイラを実行します。ビルド結果はそれぞれ上書きされますので注意してください。実行する場合はビルドしたターミナルで対象アセンブリを実行します。

Mind7


C:\developments\vscode\mind9>mind testodbcc file
日本語プログラミング言語 Mind Version 7.5 for Windows
          Copyright(C) 1985-2004 Scripts Lab. Inc.
          Single user license.  Serial No:***********
コンパイル中 -...-
コンパイルエラー:ソース行の長さが158桁を越えており、処理できません。
  モジュール名:testodbcc.src

C:\developments\vscode\mind9>

このエラーは少し記憶がありますが、とりあえず無視します。コンパイルはできていますね。

Mind8

先に述べましたがユーティリティがカレントフォルダを移動させていますので、元に戻してからコンパイラ起動します。

c:\pmind>cd C:\developments\vscode\mind9

C:\developments\vscode\mind9>mind testodbcc file

日本語プログラミング言語 Mind Version 8.07 for Windows
          Copyright(C) 1985 Scripts Lab. Inc.
コンパイル中 .. 終了
Coping.. c:\pmind\bin\mindex.exe --> testodbcc.exe

C:\developments\vscode\mind9>

Mind9 β6

Mind9もユーティリティがカレントフォルダを移動させていますので、元に戻してからコンパイラ起動します。

c:\mind9-beta\mind9-beta>cd C:\developments\vscode\mind9

C:\developments\vscode\mind9>mind testodbcc file

日本語プログラミング言語 Mind Version 8.11 for Windows
          Copyright(C) 1985 Scripts Lab. Inc.
コンパイル中 .. 終了
Coping.. c:\mind9-beta\mind9-beta\bin\mindex.exe --> testodbcc.exe

C:\developments\vscode\mind9>

3つのコマンドプロンプトターミナルで各バージョンのMindアプリを実行

3つのコマンドプロンプトターミナルで各バージョンのMindアプリを実行します。エビデンスはMind9で他は割愛いたします。

繰り返しになりますがビルド結果(中間コードアセンブリ)はそれぞれ上書きされますので注意してください。実行する場合はビルドしたターミナルで、かつ別のバージョンのビルドを行っていない状態で対象アセンブリを実行します。

C:\developments\vscode\mind9>testodbcc
ODBCライブラリをロードする
ロード成功
関数アドレス群を取得
取得成功
DB接続 成功
|言語ID|言語名|よみがな|開発言語ID|開発言語名|
|1|Mind|まいんど|1|C|
|1|Mind|まいんど|8|Mind|
|1|Mind|まいんど|10|Tcl/Tk|
|7|Mind for Android|まいんどふぉーあんどろいど|3|Java|
23000 [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]制約 'PK_開発言語' の PRIMARY KEY 違反。オブ ジェクト 'dbo.開発言語' には重複するキーを挿入できません。重複するキーの値は (7, 3) です。
|言語ID|言語名|よみがな|開発言語ID|開発言語名|
|1|Mind|まいんど|1|C|
|1|Mind|まいんど|8|Mind|
|1|Mind|まいんど|10|Tcl/Tk|
|7|Mind for Android|まいんどふぉーあんどろいど|3|Java|
ODBCライブラリを破棄する

C:\developments\vscode\mind9>

おわりに

以上です。なにかの参考になれば幸いです。VSCodeでのMindソースコード編集もエクステンションのおかげでだいぶ楽になりました。みなさまもぜひお試しください。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?