Lab. of Voynich Code
2023年オーストラリア・インドネシア    金環皆既日食のたくらみ
光球面とコロナの明るさの比用システム
UMPCを使った制御:フォーム部分2
2021.04.10: Update/ Source & video

フォームアプリの実際

 フォームアプリにしてみて…  
 実際にデジタル一眼を制御するコンソールアプリは"TimeTable.txt"のあるC2, Cmax, C3の時刻を読み込んで実行しますが、コンソールアプリでは正しい時刻を読み込んでいるかを確かめることが出来ます。システムクロックも大きく表示されるので使い良いのではないかな?と。スタートもワンタッチ(クリック)なので、ダブルクリックよりイイか。
 まあ兎も角、下の様なフォームを作り、時刻を表示し、TimeTable.txtを時刻にして表示し、ボタンクリックでコンソールアプリを作ることが出来ました。本当はフルにフォームアプリで実現したいのですが、なんちゃってでやっているプロうグラミングで、実力は無く、まあ色々あるのです。
 本当はフォームアプリだけで稼働するようにしたいですが、そのトライアルはうまく行くかどうか?

フォームの実際

実際の駆動はこんな感じ


 USBケーブルでPCとデジタル一眼(ココではNikon Z6、本番ではZ6IIにしたい)を接続
 ちなみに音が出ます!

 Startのワンタッチで動作を開始しました。
 UMPCはドン・キホーテの情熱価格商品・NANOTEを使う事にしました。
 理由は
  1. キーボードがあるのでTimeTable.txtをいざという時直せる
  2. タッチパネル
  3. USB3.0なので、撮影後画像データのバックアップを素早くとれる
  4. 新鮮なバッテリなので安心して長時間使える
  5. この手のものとしては安かった(約2.2万円)
  6. まずまず軽い540g
  7. 充電をモバイルバッテリと同じUSB電源から行えるので軽量化に貢献
 と言ったことがあります。
   1:  using System;
   2:  using System.Collections.Generic;
   3:  using System.ComponentModel;
   4:  using System.Data;
   5:  using System.Drawing;
   6:  using System.Linq;
   7:  using System.Text;
   8:  using System.Threading.Tasks;
   9:  using System.Windows.Forms;
  10:  using System.Diagnostics;
  11:  using System.IO;
  12:  using System.Collections;
  13:   
  14:   
  15:  namespace EclipseCaptor
  16:  {
  17:      public partial class Form1 : Form
  18:      {
  19:          public Form1()
  20:          {
  21:              InitializeComponent();
  22:          }
  23:   
  24:          private void Form1_Load(object sender, EventArgs e)
  25:          {
  26:              timer1.Start();
  27:              Clock.Text = DateTime.Now.ToLongTimeString();
  28:          }
  29:   
  30:          private void timer1_Tick(object sender, EventArgs e)
  31:          {
  32:               DateTime now = DateTime.Now;
  33:              Clock.Text = now.ToLongTimeString();
  34:   
  35:   
  36:              string line = "";
  37:   
  38:              ArrayList al = new ArrayList();
  39:   
  40:              using (StreamReader sr = new StreamReader(
  41:                      "TimeTable.txt", Encoding.GetEncoding("Shift_JIS")))
  42:              {
  43:                  while ((line = sr.ReadLine()) != null)
  44:                  {
  45:                      al.Add(line);
  46:                  }
  47:              }
  48:   
  49:              C2.Text = "C2 "+al[0].ToString().Substring(0, 2) + ":" + 
  50:                  al[0].ToString().Substring(2, 2) + ":" + al[0].ToString().Substring(4, 2);
  51:              Cmax.Text = "Cmax " + al[1].ToString().Substring(0, 2) + ":" + 
  52:                  al[1].ToString().Substring(2, 2) + ":" + al[1].ToString().Substring(4, 2);
  53:              C3.Text = "C3 " + al[2].ToString().Substring(0, 2) + ":" 
  54:                  + al[2].ToString().Substring(2, 2) + ":" + al[2].ToString().Substring(4, 2);
  55:   
  56:              
  57:              for (int i = 0; i < al.Count; i++)
  58:              {
  59:                  Console.WriteLine(al[i]);
  60:              }
  61:          }
  62:   
  63:          private void button1_Click(object sender, EventArgs e)
  64:          {
  65:              Task task = Task.Run(() =>
  66:              {
  67:                  Process.Start("demo_continuouscapture.exe");
  68:              });
  69:          }
  70:   
  71:          
  72:      }
  73:  }
inserted by FC2 system