10章:ファイルのサイズダウンプログラム

    作成2017.05.20

  1. ファイルのサイズダウンプログラムの使用目的
     Hantek 6022BE PC USB 2CH デジタルオシロスコープを使用して信号波形データを保存した場合、保存間隔Δtが小さく、データ数が多くなりすぎて、EXCELの表計算機能が使いにくい場合がありました。
     本プログラムは、ピックアップ間隔毎にデータをピックアップしてデータ数を減少して、 EXCELの表計算機能を使いやすくするための補助プログラムです。

     以下にHantek 6022BE PC USB 2CH デジタルオシロスコープの時間設定と時間間隔Δtとデータ数の関係を示します。
    NoTime/divΔtデータ数
    110ms1us523264
    25ms1us523264
    32ms1us130048
    41ms1us130048
    5500us1us130048
    6200us1us130048
    7100us1us130048
    850us1us130048
    920us0.25us130048
    1010us0.125us130048
    115us0.0625us130048
    122us0.02us1016
    131us0.01us1016
     上記の表から、Time/div時間設定5us以上でデータ数が約13万以上となり EXCELの表計算機能が使いにくくなることがわかります。


  2. サイズダウンプログラムのダウンロード
     完成プログラムは「10-1.zip」ファイルをダウンロードしてください。
    [10-1.zip]をダウンロードする。


    解凍すると、ファイル「Sizedown.exe」とフォルダー「Sizedown」があります。
    ファイル「Sizedown.exe」が実行ファイルです。
    フォルダー「Sizedown」がソースファイルプロジェクトです。


  3. 操作方法
    (1)「Sizedown.exe」をダブルクリックで起動します。



    (2)「ピックアップ間隔」と「開始オフセット」を設定します。
    * 「ピックアップ間隔」毎に行が選択されます。(100を指定すると、100行毎にピックアップします。)
    * 「開始オフセット」でピックアップを開始する行を指定します。(5を指定すると、6行目からピックアップします。)
    (3)「処理開始」ボタンを押します。
    (4)オープンファイルダイアログが表示されるので、サイズダウンしたいファイルを選択します。



    (5)「開く」ボタンを押すと処理が実行されます。
    (6)処理が完了すると名前を付けて保存ダイアログが表示されます。
    (7)保存ファイル名を入力します。



    (8)「保存」ボタンを押すと処理後ファイルが保存されます。



    (9)「×」ボタンを押して終了します。


  4. ソースファイル
    (1)「Visual Studio Community 2015」で作成しました。
    (2)新しいプロジェクトでVisuall C# Windowsフォームアプリケーションを指定しました。
    (3)Form1.csデザインは以下のようにしました。



    (4)Form1.csコードは以下のようにしました。
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.IO;
    
    namespace Sizedown
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                int N = 0;
                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    label1.Text = openFileDialog1.FileName;
                    String OutText = "";
    
                    StreamReader sr = new StreamReader(openFileDialog1.FileName, Encoding.GetEncoding("Shift_JIS"));
                    try
                    {
                        while (sr.EndOfStream == false)
                        {
                            string line = sr.ReadLine();
    
                            if((N- Convert.ToInt32(textBox3.Text)) % Convert.ToInt32(textBox2.Text) == 0)
                            {
                                OutText += line + "\r\n";
                            }
                            N++;
                        }
                    }
                    finally
                    {
                        textBox1.Text = N.ToString()+"行でした!!\r\n";
                        sr.Close();
                        if (saveFileDialog1.ShowDialog() == DialogResult.OK)
                        {
                            using (StreamWriter outfile = new StreamWriter(saveFileDialog1.FileName))
                            {
                                outfile.Write(OutText);
                            }
                        }
                    }
                }
    
            }
        }
    }
    


  5. ファイルのサイズダウンプログラムまとめ
    (1)ファイルのサイズダウンプログラムは、 Hantek 6022BE PC USB 2CH デジタルオシロスコープでの保存ファイルを処理する関係で作成しました。
    (2) 「Visual Studio Community 2015」 Visuall C# Windowsフォームアプリケーションで比較的容易に作成できました。
    (3) Form1.csコードはシンプルです。




トップページに戻る。