目的
「VBマイグレーション」と呼ばれる、旧世代のVB6
で作成された業務アプリケーションをVB.net
やc#
といった現役の環境に移行するソリューション.
VB6
がサポート終了して10年以上たったです。
VB6
の「開発環境」はすでにサポートが終了しておりリスキーです。
VB6のころのチャート?
VB6
がバリバリ現役だった頃は、有料のソフトをかうっていうことにあまり抵抗感なかったので、NI
のコンポネントワークス(いまはメジャメントスタジオ?)っていうのを買ってました。そのなかに
CWGraph
っていうのがあり、これをフォームに貼り付けると、ハッピーでした。
どうせならc#
にしたら?
VB.net
へのマイグレーションがすぐに思いつくことです。わたくしも、
WinXP-OS
vs2005
VB.net
ZedGraph
という環境で、マイグレーション
(リファクタリング)していたこともあります。このころには、なるべくOSS
でいろいろなことをやりたい。そう思うようになりまして、その中で白羽の矢が立ったのが、ZedGraph
というチャート機能です。
マイグレーションができたコードと、まだ着手できてないコードがあります。
いつまでもXPじゃなかろ?
いつまでXP
使ってるの?ネットに接続しないから、いい?そんなかんじで最近目覚めてきまして、以下のような環境で、コーディングしなおそうか?そのように思っております。
c#
vscode
.net6
visual studio 2022
という組み合わせです。
ZedGraph
がいまでも使えるかどうか不明です。MSChart
ってdeprecateされたのですか?
いろいろとネット検索していると、
ScottPlot
ってのがのっていました。
vs2022
を起動しました。そのあと、nuget
でScottPlot
ってのをadd package
しました。ver.5もあるみたいですが、ここではver. 4しか選べません。そのあと、
新規に winforms
つくって、ScottPlotWinForms
をnuget
してからフォームにグラフをはりつけた上で、Form1.cs
に下のようなコードをかいたら, うごくようになりました。
(この場合、versionが4なので、命令系統がver.5と異なる)
namespace WinFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
double[] dataX = new double[] { 1, 2, 3, 4, 5 };
double[] dataY = new double[] { 1, 4, 9, 16, 25 };
formsPlot1.Plot.AddScatter(dataX, dataY);
formsPlot1.Refresh();
}
}
}
VS2022
は、ツールボックスをだしてくるのに苦労しますね。私は、control+Alt+Xでおこないました。
結果について: 下のようなスクショです。
こんなかんじで今後も変換したい
こんなかんじで今後も変換したいです。つぎの大きな障壁は、外部機器との通信ですね。SerialPort
は.net6
でも現役なので、ここは一安心ですね
備忘録
ちなみに、vscode
でnuget
. これは備忘録です。