目的
「VBマイグレーション」と呼ばれる、旧世代のVB6で作成された業務アプリケーションをVB.netやc#といった現役の環境に移行するソリューション.
VB6がサポート終了して10年以上たったです。
VB6の「開発環境」はすでにサポートが終了しておりリスキーです。
VB6のころのチャート?
VB6がバリバリ現役だった頃は、有料のソフトをかうっていうことにあまり抵抗感なかったので、NI
のコンポネントワークス(いまはメジャメントスタジオ?)っていうのを買ってました。そのなかに
CWGraphっていうのがあり、これをフォームに貼り付けると、ハッピーでした。
どうせならc#にしたら?
VB.netへのマイグレーションがすぐに思いつくことです。わたくしも、
WinXP-OSvs2005VB.netZedGraph
という環境で、マイグレーション
(リファクタリング)していたこともあります。このころには、なるべくOSSでいろいろなことをやりたい。そう思うようになりまして、その中で白羽の矢が立ったのが、ZedGraphというチャート機能です。
マイグレーションができたコードと、まだ着手できてないコードがあります。
いつまでもXPじゃなかろ?
いつまでXP使ってるの?ネットに接続しないから、いい?そんなかんじで最近目覚めてきまして、以下のような環境で、コーディングしなおそうか?そのように思っております。
c#vscode.net6visual 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. これは備忘録です。
