LoginSignup
0
0

More than 1 year has passed since last update.

VB6からc#への変換について

Posted at

目的

「VBマイグレーション」と呼ばれる、旧世代のVB6で作成された業務アプリケーションをVB.netc#といった現役の環境に移行するソリューション.

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を起動しました。そのあと、nugetScottPlotってのをadd packageしました。ver.5もあるみたいですが、ここではver. 4しか選べません。そのあと、

新規に winformsつくって、ScottPlotWinFormsnugetしてからフォームにグラフをはりつけた上で、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でおこないました。

結果について: 下のようなスクショです。

screenshot.jpg

こんなかんじで今後も変換したい

こんなかんじで今後も変換したいです。つぎの大きな障壁は、外部機器との通信ですね。SerialPort.net6でも現役なので、ここは一安心ですね

備忘録

ちなみに、vscodenuget. これは備忘録です。

0
0
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
0
0