C# で MyClock Ver 0.10 を作る (1/2)

プログラム電卓のためのC#プログラミング
e-Gadget

<MyClock トップへ戻る>


2017/01/31

初めて作る C# プログラム - MyClock


MyClock Ver 0.10を作る (1/2)

仕 様
  • フォントが大きい
  • 時計は半透明で常に前画面表示


MyClock プロジェクトを作る

初めての C# なので、分かる範囲で手順とポイントを記録しておきます。

1. Visual Studio Community 2015 を起動

起動時に、管理者権限にするかそうでないかの選択肢があります。取り敢えず管理者権限で起動します。


2. 初めてのソリューションとプロジェクトの作成

 新しいプロジェクト作成の方法

新しいプロジェクト作成には複数の方法があります。
  • スタートページにある「新しいプロジェクト ...」のリンクをクリック
  • ツールバーの左から3詰めの"新しいプロジェクト"ボタンをクリック
  • メニューで、[ファイル] - [新規作成] - [プロジェクト] を選ぶ

ひな形プロジェクトを選ぶ

[テンプレート] - [Visual C#] - [Windows]  から「Windowsフォームアプリケーション」を選択

「名前(N):」と「ソリューション(M):」に MyClock と入力し、「場所(L):」に適切に入力します。
なお、「場所(L):」で設定したフォルダの下に、ソリューションに指定した名前のフォルダが自動的に作られ、その下に必要なファイルが自動生成されます。

バージョン管理を分かり易くするために、新規プロジェクトを作る前に MyClockフォルダを作っておき、さらにその下に例えば MyClock0100 とバージョンが分かるフォルダも作っておき、このフォルダを「場所(L):」に指定しています。

 <MyClock>
  <MyClock0100> ← [場所(L):」に入力したフォルダ

[OK] をクリックすると、ひな形のプロジェクトが作成されます。自動作成だけで合計 92KB のファイルが数多く生成されます。

 <MyClock>
  <MyClock0100> ← [場所(L):」に入力したフォルダ
   <MyClock>
    MyClock.sln
    <vs.>
    <MyClock>
     App.config
     MyClock.csproj
     Form1.cs
     Form1Designer.cs
     Program.cs
     <bin>
      <Debug>
       MyClock.exe.config
       MyClock.vshost.exe
       MyClock.vshost.exe.config
       MyClock.vshost.exe.manifest
      <obj>
       <Debug>
        MyClock.csproj.FileListAbsolute.txt
        DesignTimeResolveAssemblyReference.cache
        TemporaryGeneratedFile_xxxxxxxx_xxxx_xxxx_xxxx_xxxxxxxxxxxx.cs
        TemporaryGeneratedFile_yyyyyyyy_yyyy_yyyy_yyyy_yyyyyyyyyyyy.cs
        TemporaryGeneratedFile_zzzzzzzz_zzzz_zzzz_zzzz_zzzzzzzzzzzz.cs
        <TempPE>
      <Properties>
       AssemblyIngo.cs
       Resource.Designer.cs
       Resource.resx
       Setttings.Designer.cs
       Settings.settings

そして、フォームデザイナーが開いて、デフォルトの (素の) フォームが現れます。

初めてのフォームデザイナー 


 初めてビルドしてみる

メニューバーの下に「Debug」「Any CPU」とあります。この状態で、メニューで、[ビルド(B)] - [ソリューションのビルド] を選び、ビルドを実行します。すると、出力ウィンドウで

1>------ ビルド開始: プロジェクト:MyClock, 構成:Debug Any CPU ------

と表示され、その後すぐに

1>------ ビルド開始: プロジェクト:MyCloxk, 構成:Debug Any CPU ------
1> MyClock -> C:\MyData\MySource\VS2015\Projects\C#\MyClock\MyClock0100\MyClock\MyClock\bin\Debug\MyClock.exe

と1行追加表示されます。デバッグモードでビルドした実行ファイル名とパスが表示されます。

ここで、
1> MyClock -> C:\MyData\MySource\VS2015\Projects\C#\MyClock\MyClock0100\
は「場所(L):」で設定したパスで、

その下の MyClock フォルダがソリューション MyClock のフォルダ、
さらにその下にある 同じ名前の MyClock フォルダが プロジェクト MyClock のフォルダです。

そして、実行ファイル MyClock.exe は プロジェクトフォルダの下の bin\Debug フォルダに作成されていることが分かります。リリースモードでビルドすると、bin\Release フォルダ内にファイルが出力されます。

ビルドが終わると、出力は以下のようになります。

1>------ ビルド開始: プロジェクト:MyCloxk, 構成:Debug Any CPU ------
1> MyClock -> C:\MyData\MySource\VS2015\Projects\C#\MyClock\MyClock0100\MyClock\MyClock\bin\Debug\MyCloxk.exe
========== ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ ==========


1 正常終了 となっているのでビルドエラーが無かったことが分かります。


デバッグモードで実行してみる

方法は複数あります。
  • [F5]キーを押す
  • ツールバーの[ 開始]ボタンを押す
  • メニューで、[デバッグ] - [デバッグの開始] を選ぶ
ソースファイルが変更された状態でデバッグを始めると、先にビルドが行われてからデバッグが始まります。従って [F5] を覚えておけば、キーを押すだけでビルドとデバッグ開始になるので便利です。

素のMyClock 
素のウィンドウが既にできています。最小化ボタン、最大化ボタン、中止ボタン、システムメニューを出すアイコン、プログラムのタイトル Form1 が備わっていて、いっちょ前にウィンドウの陰までできています。これは Windows 10 で実行した時の画像です。Windows 7 や 8 ではその環境でのデフォルトのウィンドウになる筈です。

1行もコードを書かずに、取り敢えずここまでは自動的に作ってくれますが、昔の VC++ 6 でも変わりなく驚くことでもありません。実はVisual Studio 2015 での開発の段取りは、基本は以前の Visual Studio 6 と同じような感じですので、経験があれば必要なものは探して使えると思います。

ここで、MyClock ソリューションと、その中に含まれる MyClock プロジェクトが作成されたことになります。このソリューションの中に 新しいプロジェクトを作って含めることができます。


 namespace、class そして Form

私には Namespace (名前空間) は新しい概念で、クラスやメンバー は MFC (Microsoft Foundation Class) で馴染みがあり、Form は Visal Basic で出てきました。

C# は、これらが混じった感じですね。C++ で記述できる Visual Basic とでも言えそうな感じです。

画面右にあるソリューションエクスプローラで、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;

namespace MyClock // これがプロジェクトMyClock
{
  public partial class Form1 : Form // ここで Form1 ウィンドウに必要な処理を書く
  {
    public Form1() // Form1 の最初の処理として初期化している
    {
      InitializeComponent();
    }
  }
}

ここで、using は、VC++ の include のような感じで、予め準備されているライブラリからデフォルトで必要なものが列挙されていて、今後必要に応じて追加することになります。

public Form()
{

}

は、この先頭の位置に記述しておかないと、開発環境がエラーを出します(実際悩みました)。Form1 のインスタンス生成で最初の1回だけ行われる処理のようです。

さらに分かることとしては、

using System.Windows.Forms;

で、関連づけられた Forms に 基底クラスの Form の定義があって、それをサブクラス化して Form1 クラスが作られています。

仮に、以下のように class Form1 の中で、public な静的文字列変数 m_variable を宣言しておきます。

namespace MyClock
{
 public partial class Form1 : Form
 {
  public Form1() 
  {
   InitializeComponent();
  }

  public static string m_variable; // 静的文字列変数
 }
}

この変数へ、class Form1 の外の例えば class Form2 からアクセスするには、

Form2 の中では、

(namespace).(class).m_variable

つまり

Form1.Form1.m_variable

と記述する必要があります。スコープを考えると名前空間がクラスの上位にあるわけです。

そして、Form2 の中で、一例として

public string m_var = Form1.Form1.m_variable;

と橋渡しをしておけば、タイプ数の少ない m_var を使えて便利です。

なお、Visual Studio では正しく記述すれば、クラス名を Form1 と色分けして表示してくれるので、目安になって便利です。


Form名 = クラス名

今、名前空間とプロジェクト名が、MyClock になっています。フォーム名とクラス名は自動生成された Form1 のままです。

これを適切な名前に変更します。時間を表示させるので、Display としましょう。フォーム名とクラス名を変更するために、全て手で変更するのは大変なので、自動変更の機能を使います。但しプログラムが込み入ってくると自動生成も完璧ではないと心配される (どこまで信用して良いか分からない)ので、自動生成された直後に名称変更を自動で行わせることにします。

ちょっと脱線しますが、ここで自動作成された主なファイルは、以下です。
  • Form1.cs
  • Form1.Designer.cs
  • Program.cs
主にコーディングするのが Form1.cs です。

Form1.Designer.cs は開発環境の機能を使って自動でコードに落としてくれるものです。部品をフォームへドラッグ&ドロップで追加したり、フォームや部品のプロパティを変更したり、イベントハンドラのテンプレート作成などがコーディングせずに行えます。そして、その結果がこのファイルと Form1.cs の両方に反映されます。

Form1.Designer.cs は宣言や定義が書き込まれ、Form1.cs にはテンプレートが書き込まれます。このテンプレートの中に具体的にコーディングしてアプリを作ってゆきます。

一旦作成したイベントハンドラが不要になった場合は、Form1.cs と Form1.Designer.cs の両方で関連する部分だけを慎重に削除しないと、Visual Studio が混乱して面倒なことになります。

Program.cs には WinMain() 関数が書かれていてます。これはアプリが起動した時に最初に実行されるもので、終了時にもここへ戻ってきて必要な処理を行います。アプリが起動してからフォームのインスタンスを生成する前に必要な処理はここにコーディングします。

話を元に戻して、フォーム名とクラス名を実際に Display に変更します。

ソリューションエクスプローラで、Form1.cs で右クリックして[名前の変更] を選ぶと、Form1.cs が反転するので、そこで Display.cs となるように変更します。すると以下のメッセージボックスが現れます。

リファレンス 

ここで [はい]をクリックすると、自動で名称変更してくれます。他の関連ファイル名も変更され、主要ファイル名は以下のようになりました。
  • Display.cs
  • Display.Designer.cs
  • Program.cs
これら3つのファイル内に記述されている内容では、フォーム名とクラス名が Form1 から Display に変更されています。自動処理に任せるとフォーム名とクラス名が同じになります。どうしてもこれらを違う名前にする必要性が無い限り、この作法に従うことにします。

上記以外のファイル名も変更されているのは、ソリューションエクスプローラで確認できます。
Ver1.00ソリューションエクスプローラ 

Display.cs [デザイン] で表示されるフォームのタイトルバーは、まだ Form1 となっています。これはフォーム名やクラス名とも無関係で、単にフォームのテキスト (Display.Text) の設定が Form1 のままになっているためです。これは、フォームのプロパティで変更できます。プログラム中で変更するには Text プロパティを使って、

Display.Text = "変更する文字列";

とします。タイトルバーに表示するテキストをアプリの状況に応じて動的に変更したい時に使えます。

今回は、フォームのテキストを Form1 から MyClock に変更してみます。Display.cs[デザイン]を表示して、フォームをクリックすると、Displayフォームのプロパティ一覧が(右下に)表示されるので、そこで Text というキーを探して、Form1 から MyClock に変更します。この変更は Display.Designer.cs に自動的に反映されます。

全てのファイルが変更されたので、[F5] を押して、ビルドとデバッグモードでの実行を行います。
なお、ビルドする際に変更されたファイルは上書き保存されます。

Displayフォーム 
これで下準備終了です。


3. デジタル時計の部品を追加

時刻を表示するために、ラベルとタイマーの2つの部品を導入します。ラベルは 12:34:56 といった文字列を表示するための部品、タイマーは現在の時刻を取得するための部品です。

そして、タイマーで1秒ことに時刻と取得し、その結果をラベルに表示するように仕上げてゆきます。

ところで、Windows アプリは、四角い領域を視覚的に表示したウィンドウから構成されるのが基本です。タイトルバー付きのウィンドウ (C# や VB ではフォームという) であれ、ボタンであれ、文字列入力用のエディットボックス (C# や VB ではテキストボックスと言う) だろうと、全てウィンドウであって、味付けが違うだけです。

フォームに貼り付ける部品には、他にもメニューバーやツールバーなどがあります。タイマーも視覚効果は無いけれど部品の1つです。


部品の登録

Visual Studio (の左) にツールボックスがあり、そこには様々な部品が準備されています。これをウィンドウにドラッグ&ドロップすることで、これらのサブクラス化、インスタンス生成、宣言や定義などの初期的なコードが自動的に追記されます。

今回は、時間表示用に ラベル(コモンコントロール)とタイマー (コンポーネント) を使うことにします。

左にあるツールボックスをクリックて一旦ピン止めし、ラベルとタイマーをドラッグ&ドロップするとこんな感じになります。

部品登録 

フォーム内に label1 があり、フォーム外の下に timer1 があります。

この段階で、Display.cs と Program.cs は変更されず、
DisplayDesigner.cs では多くのコードが自動生成されているのが分かります。

namespace MyClock
{
 partial class Display
 {
  /// <summary>  /// 必要なデザイナー変数です。
  /// </summary>

  private System.ComponentModel.IContainer components = null;

  /// <summary>  /// 使用中のリソースをすべてクリーンアップします。
  /// </summary>
  /// <param name="disposing">マネージ リソースを破棄する場合は true を指定し、その他の場合は false を指定します。
  protected override void Dispose(bool disposing)
  {
   if (disposing && (components != null))
   {
    components.Dispose();
   }
   base.Dispose(disposing);
  }

  #region Windows フォーム デザイナーで生成されたコード

  /// <summary>  /// デザイナー サポートに必要なメソッドです。このメソッドの内容を
  /// コード エディターで変更しないでください。
  /// </summary>

  private void InitializeComponent()
  {
   this.components = new System.ComponentModel.Container();
   this.label1 = new System.Windows.Forms.Label();
   this.timer1 = new System.Windows.Forms.Timer(this.components);
   this.SuspendLayout();
   //
   // label1
   //
   this.label1.AutoSize = true;
   this.label1.Location = new System.Drawing.Point(101, 64);
   this.label1.Name = "label1";
   this.label1.Size = new System.Drawing.Size(35, 12);
   this.label1.TabIndex = 0;
   this.label1.Text = "label1";
   //
   // Display
   //
   this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
   this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
   this.ClientSize = new System.Drawing.Size(284, 261);
   this.Controls.Add(this.label1);
   this.Name = "Display";
   this.Text = "MyClock";
   this.ResumeLayout(false);
   this.PerformLayout();

  }

  #endregion

  private System.Windows.Forms.Label label1;
  private System.Windows.Forms.Timer timer1;
 }
}

ここでは、上の方でアプリケーション終了時に各部品を解放する処理、それ以下で追加した部品の定義とデフォルトのプロパティの設定が記述されています。


ラベルとフォームのプロパティ設定

ラベルとフォームのプロパティを設定して、以下のような外観にします。

Ver1.00外観作成 

先ずはラベルの設定:
ラベルをクリックすると(右下に)ラベルのプロパティが表示されるので、そこで以下のように変更しますます。
  1. デザイン - (Name) を currentTime
  2. 配置 - Dock を Fill
  3. 表示 - Font を MS UI Gothic のまま 36pt、太文字
  4. 表示 - Text を 12:34:56
  5. 配置 - Size は 192, 48 (マウスで大きさを調整するとこのくらいになる)
Text を 12:34:56 とすることで実際に時刻が表示された時のラベルのサイズを調整できます。
Doc を Fill にすることで、ラベルがフォームにうまく張り付きます。


次は、フォームの設定:
フォームのタイトルバーをクリックすると(右下に)フォームのプロパティを表示されるので、そこで以下のように変更します。
  1. ウィンドウ スタイル - Opacity を 50%
  2. ウィンドウ スタイル - TopMost を True
  3. デザイン - (Name) は Display になっている筈
  4. 表示 - FormBoderStyle を FixedToolWindow
  5. 表示 - Text は MyClock になっている筈
  6. 配置 - Size は 207, 85 (マウスで大きさを調整するとこのくらいになる)
Opacity 50% で半透明になり、TopMost True で最前面に表示されます。

では、[F5] を押して、ビルドとデバッグモードでアプリを実行をすると、

Ver1.00外観 

こんな感じで、アプリが起動します。半透明で最前面表示になっていることを確認します。

右上の[X]ボタンをクリックすれば終了。なおデバッグモードで実行している時は、
  • [デバッグの停止]ボタンを押すか、
  • メニューで [デバッグ(D)] - [デバッグの停止] を選ぶ
ことで、アプリを強制的に終了できます。

これで外観ができたので、時刻を表示する機能を作ります。


タイマーの設定

タイマーは 1 Tick が 1 ms (ミリ秒) です。1秒ごとに数字が変わるデジタル時計を作るのでタイマーの間隔 (Interval) は 1000 ms になります。そこで、タイマーの名前を secTimer に変更します。すると、タイマークラスの名前が自動的に secTimerに変更されます。

実際の作業は、ドラッグ&ドロップした timer1 をクリックして、(右下にある) timer1 のプロパティを変更することです。
  1. デザイン - (Name) を secTimer
  2. 動作 - Enabled を True  (これを忘れるとタイマーは動作しない)
  3. 動作 - Interval を 1000
フォーム、ラベルそしてタイマーのプロパティの設定を変更した結果は、全て DisplayDesigner.cs に反映されています。チョット眺めてみると、それぞれのクラスとメソッド(関数)の使い方のヒントが得られて大いに参考になると思います。但し、くれぐれも不用意な編集・変更には注意しましょう。


 現在の時刻を表示させる方法

ここまで一切コーディングせずに進めてきましたが、これ以降は実際にコードを書く必要があります。

Windowsプログラミングでは、発生したイベントを捕らえて、そこで必要な処理を記述するのが基本です。これは、ある単独の処理がCPUを占有しないための方策です。そうしないとマルチタスク処理が破綻してしまいます。

イベントを捕らえて必要な処理を行う部分をイベントハンドラと呼びます。

今回は、タイマーイベントが 1000 ms (=1秒) ごとに発生するのを利用します。タイマーイベントハンドラを作り、その中で現在の時刻をラベルに渡すようにコーディングするだけです。


タイマーイベントハンドラの作成

既に、secTimer という名前 (クラス名) でタイマーを作りました。

secTimerコントロール  

secTimer コントロールを、マウスの左ボタンでダブルクリックします。すると、自動的にイベントハンドラのテンプレートを作成し、それを表示してくれます。

タイマーイベントハンドラのテンプレート 



現在の時刻をラベルに渡す

コモンコントロールという視覚的に機能する部品は、データを受け取って表示する機能があります。

例えば、文字列を受け取れるコントロールに文字列を渡すには、以下のようにコーデイングします。

(コントロールのクラス名).Text = "文字列";

今回は currentTime と名前をつけたラベルコントロールに時刻の文字列を表示させるので、

currentTime.Text = (現在時刻の文字列);

とすれば良いわけです。currentTime クラスはラベルの基本クラスから全ての機能を引き継いでいて、Text プロパティも引き継いでいます。上の作業で自動的に作成された MyClockDesinger.cs には、この引き継ぎに必要なコードとプロパティ設定のコードが含まれています。

具体的には、

//
// currentTime
//

の下に currentTime に必要な処理が書かれています。


さて (現在時刻の文字列)を取得するには、DateTime クラスを利用します。DateTime クラスには Now というプロパティがあって、現在時刻を取得してくれます。さらに Now に対して ToSring() 関数も使えるようになっていて、これは時刻を書式に従って文字列に変換してくれます。つまり、

DateTime.Now.ToString("HH:mm:ss");

と書けば、現在時刻の文字列を返します。

従って、

currentTime.Text = DateTime.Now.ToString("HH:mm:ss");

の1行で、ラベルに現在時刻が渡されます。

Private void secTimer_Tick(object sender, EventArgs e)
{
  currentTimer.Text = DateTime.Now.ToString("HH:mm:ss");
}

それでは、[F5] を押して、ビルド後にデバッグモードで実行してみます。一応時計として動作しますが、起動直後の一瞬だけ以下の表示になります。

Ver1.00外観 

起動直後は、タイマーイベントハンドラが働かないのが原因です。


フォームの描画

タイマーイベントが発生する時(1秒ごと)に現在時刻の表示を行うようにコーディングしました。それ以外のタイミングでは時刻を表示しません。そしてフォームが表示されると同時にタイマーイベントが発生する保証はありません。

そこで、MyClock を起動し、そのフォームが描画されるタイミングで時刻表示をさせれば、問題が解決しそうです。フォームの描画はメッセージ を受け取ることで動作するのが Windows プログラムの基本なので、フォームを描画するイベントを捕らえて、現在時刻をラベル currentTime に渡せば良さそうです。

C# で最初に自動で作成されるソースコードには、フォーム描画のイベントハンドラが自動作成されていないので、自分で作る必要があります。タイマーイベントハンドラを作ったのと同様に、マウス操作だけでフォーム描画するイベントハンドラのテンプレートが作れます。

MyClockのフォーム (Display) のデザイナー画面を開きます。
  • ソリューションエクスプローラで Display.cs をダブルクリックするか、
  • ソリューションエクスプローラで Display.cs を右クリック - [ビューデザイナー(D)] を選ぶ
MyClock.cs 

ビューデザイナーを開く
 


Display.cs [デザイン] (フォームデザイナー) が開いたら、タイトルバーあたりをダブルクリックします。


Displayビューデザイナ 

すると、イベントハンドラのテンプレートが自動作成され、そのコードが表示されます。

フォームイベントハンドラ 

今自動作成されたイベントハンドラの中に

currentTime.Text = DateTime.Now.ToString("HH:mm:ss");

をコーディングすれば、フォーム描画時に現在の時刻が表示されます。

private void Display_Load(object sender, EventArgs e)
{
 currentTime.Text = DateTime.Now.ToString("HH:mm:ss");
}

では、[F5] を押して、ビルドと実行をします。

MyClock2

フォームが表示された直後から正しく時刻を表示されていることが確認できます。


コードの重複を避ける

取り敢えず機能面では完成ですが、少し気になることがあります。Display.cs のコードを眺めてください。

フォーム描画イベントハンドラ完成


ラベル currentTime に現在時刻を渡すコード

currentTime.Text = DateTime.Now.ToString("HH:mm:ss");

が、そのまま2カ所に記述されています。機能追加やプログラムの複雑化に備えて、関数に置き換えることにします。時刻を表示する関数なので、DisplayTime() とします。

DislayTime() の中に、この1行のコードを入れます。

Display_cs完成

念のため [F5] を押して動作確認します。


 MyClock Ver 0.10 を作る (2/2)







応援クリックをお願いします。励みになるので...


人気ブログランキングへ


FC2ブログランキングへ



    

keywords: プログラム関数電卓、Windowsプログラミング

リンク集 | ブログ内マップ

関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

楽屋裏 - カシオ グラフ関数電卓 fx-CG50 が2017年春登場

楽 屋 裏
e-Gadget


2017/01/16
続報 (1) 2017/01/21


2017年春に、カシオから北米向けにグラフ関数電卓 PRIZM fx-CG50 が発売予定とのアナウンスがあったと、sentaro様 から情報を頂きました

カシオアメリカの発表

・学生の数学教育向けを強調
・3Dグラフ機能の強化
・カタログ機能の進化
・教科書スタイルのディスプレイ
・より直線的 (tapered, クサビ型?) な筐体デザイン
・メーカー希望小売価格 99.99 ドル (実売はもっと安いだろう)

なんだか詳細はさっぱり分からない表現が多いですね。

これを受けて、カシオフリーク達はアドイン機能が無くなるのではないかと、おおいに心配しています。
そして、Casio Basic は相変わらず遅いまま、との推測もあります。

CHEMETECH の記事
 Universal Casio Forum の記事
 cordwalr US の記事

但し、アドインが無くなるとは公式には発表されていません。カタログ機能との言及がありますが、fx-9860GII や fx-CG10/20 では、Casio Basic のコマンドを一覧する機能なので、Casio Basic は搭載されるでしょうが、アドインが無くなるという話では無いかも知れません...

海外のコミュニティーで、アドイン無くすな!とこれだけ声が大きいのを、カシオ殿は是非冷静にくみ取って頂きたいと思います。アドインがあるから、これだけ普及したという考えもあります。

一方で、今後の携帯プログラミングは、ニンテンドー3DS  の一人勝ちとなるのでしょうか?
強力で高速な BASIC (プチコン) が使えるので、プログラム電卓でのプログラミング が出来なくなれば、これからは 3DS へ民族の大移動があるかも知れませんね。

いずれにせよ、しばらくは注目です!



=== 続報 (1) [2017/01/21] ===

その後、CHEMETECH で外観や画面の画像が出てきました。

CHEMETECH の記事

元ネタは CASIO の学校向け計算機のページ のようです。
fx-JP900 と似た外装で、角の丸い長方形です。これが Tapered (直線的) と言われたものなんですね。

画面のサンプルもありました

残念ながら、メニュー画面がありません。Add-In があるかどうかすぐ分かるんですけど...

但し、上の画面のサンプル のコメントに以下の記述がありました。
Those new main menu icons tell me (real) add-in support is most likely gone.
(それらの新しいアイコンメニューアイコンから、(本当の)アドインサポートは、ほぼ無くなったようだ。)

う~む、そうなんだろうか?





応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ





keywords: プログラム関数電卓、fx-5800P、データリンク

リンク集 | ブログ内マップ
関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

番外編 - Dell Inspiron 11-3148 (2in1) の特徴と不具合解消(Dellのサポート)

番外編
e-Gadget

追記修正 2016/02/01
情報更新 2016/08/21
追加更新 2016/11/05
追加更新 2016/11/11
追記修正 2017/01/09

Inspiron 3148_1 
新しくノートPC、Dell Inspiron 11-3148 を買いました。自分のためのメモも兼ねて書き留めておきます。

New Inspiron 11 3000シリーズ 2-in-1 (3148)

最近の Dell に言えることですが、デザイン、コスト、ハードウェア性能のバランスの良い設計です。なので 2台続けてDell 製品を購入しました。



Dell のパソコンとサポートについて
Dell はサポートが良くないという風評があるので、過去の Dell 製品については特段の追加サポート契約をしていません。ネットで最近のDellのサポートが良くなっていると書いているケースが散見されたので、今回は3年間のサポート契約をフルに付けてみました。そして、Dell のサポートを利用してみたところ、良い印象を持ったので、それについてもメモを残します。一言でいえば、真摯な対応です。丁寧なフォローのメールや電話をしてくれるのは、他社のテクニカルサポートと比べても平均的には遜色無く、場合によっては Dell の対応がより親切かも知れません。たまたま良い担当者に出会えた可能性も高いですが、しかしそういう個人が属する組織の改善も進んでいるとも思われます。Dellのテクニカルサポートは大きく変わってきていると強調しておきます。

今回購入したPCは不具合なしとは言えず、テクニカルサポートの協力で解決してゆきます。前回購入した Dell Inspiron 11-3137 では不具合は全く無かったので、外れを引いてしまったのかも知れません。

私自身が納得して問題解決できれば問題ありません。その場合はテクニカルサポート(有償のプロサポート契約) のレベルについて書きます。

一言付け加えると、テクニカルサポート以外のオプション販売などは、担当が中国系の日本語でのコミュニケーションが難しく、話の進め方が全く日本人に合わないので、レベルはとても低いと言えます。私自身は結果的にたいした問題にならなかったのですが、配達遅延などでの悪い経験はネットに溢れています。

私自身が理解し納得して問題が修正できれば、それで何の問題も感じません。その際にはテクニカルサポートが大変重要になってきます。それらを総合して、次も Dell 品を買うかどうか? 多分買うでしょうね(^^;

私の感覚に近い論評:
『DELLのサポート』悪い評判、悪評は本当なのか? [2017/01/09 追記]
DELL (デル) 方式のBTO解説 [2017/01/09 追記]
何故DELLやSONYは悪評や口コミが多く富士通や東芝は少ないの [2017/01/09 追記]

マニュアル類のありか:
マニュアル類のダウンロード [2017/01/09 追記]



目 次

1. Inspiron 11-3148 と周辺機器 / アクセサリ

2. Inspiron 11-3148 の特徴や不具合解消
3. Dell のサポート



Dell Inspiron 11-3148 と周辺機器 / アクセサリ

主なスペック
  • CPU: Core i3 4030U
  • ディスプレイ: 11.6インチ LCDタッチディスプレイ (1366 x 768)
  • OS: Windows10 Home 64bit 日本語
  • RAM: 4GB DDR3L 1600MHz (4GB x1)
  • Graphics: Intel HD Graphics 4400
  • HDD: 500GB (SATA, 5400rpm)
  • USB: 3ポート(このクラスで3ポートは貴重、但し USB3 は1ポートで、USB2 x2 の仕様、仕方ないか)
  • ビデオ出力: HDMI (さすがにアナログは無い)
  • イーサネット: 有線接続用 RJ45コネクタは無い。USB-LANアダプタを別途購入※1
  • サイズ: 19mm (薄い) x 300mm x 201mm (11.6 インチディスプレイ機としてはやや大きめ)
  • 重量: 1.4 Kg (モバイルとして持ち歩く限界かも...)
購入時オプションソフト
  • Microsoft Office Hoome & Business Premium (これには Office365 の1年間サブスクリプションも付いてくる)
3年保証
  • コンプリートケア/アクシデンタルダメージ: 火災、盗難、落下、水没等への保証(無償あり)
  • 翌営業日出張修理: 16:00までだと翌日に来てくれる
  • IT・プロサポート: 24時間年中無休の電話受付、法人向けサービスの個人版のような感じか?
リカバリー
リカバリーメディアは付属しておらず、購入後に Dell のサイトの説明を参考に 16GB USBドライブ※3をリカバリメディアとして作成する。

ディスプレイをクルリと回すとタブレットになるので、なにやら面白そうです。まだタブレットとして使ってないけど...もしタブレットとして使う場合は、液晶画面が汚れるので、お掃除用クロスで有名なトレシーを大きめサイズで購入して※4、自分で切って使うことにしました。

ゲームやコンパイルをガシガシ行わないのなら、2台目PCとして十分割り切れるスペックでしょう。
Inspiron 3148_1 Inspieon 3148_2 

なお今回は、上記のように3年保証の契約をしてみました。3年は使おうと思っています。
そこで、外装が痛まないように持ち歩き用のパソコンケースを買いました※2


目次に戻る

=====

ちなみに、Inspiron 11-3148 用に購入した周辺機器やアクセサリ類について...

※1: Anker 製 USB-LANアダプタ:
Giga-Ethernet (1000bps)に対応して USB3に繋げるタイプ。実際に950bps以上は出るので十分な速度です。

価格がリーズナブルで、アルミ筐体なので放熱性が良さそうで、アルミ筐体の色合いが今回のパソコンに合っているので選びました。

Windows 10では、USBに挿すだけで使え、事前にデバイスドライバのインストール作業が不要でした。あまり馴染みのないメーカー名かも知れませんが、たまたま充電器や外付けバッテリーで知っていたので購入してみました。実際に問題なく使えます。ちなみに Windows 8.1 機で試したところ、Win10と同様に挿すだけで使えました。


※2: Inspiron 11-3148 にピッタリのケース:
少し寸法に余裕があると思って購入したのですが、衝撃吸収のウレタン材がケースの縁で曲がってPCを包み込むようになるので、実際にはピッタリサイズでした。この価格でなければ買うことは無かったかも知れません。

なお、Dell オンラインのPCアクセサリのページでは、同じものがアクセサリーとして良心価格で販売されていました。どうりでぴったりサイズなわけです。運良くAmazonで安く購入できました。

Dell オンラインでの情報;
ELECOM Ultrabook用ZEROSHOCKケース#ZSB-IBUB02BK
製造元番号 ZSB-IBUB02BK
パーツ番号 A8003660
本日時点では、¥1,648



※3: 16GB USBドライブ:
リカバリー専用メデイア(回復ドライブ)用として購入しました。

USB2 なので遅いのですが、そもそもリカバリーメディア作成作業自体に1時間以上かかり、書き込み時間による遅さではないので、これで十分と考え、むしろ小さいことを重視して選びました。かなり安い価格ですが、ネットでの評判を参考にして決めました。

リカバリメデイアの作成については、Dell サポートを利用して Dell の該当説明のページを教えてもらいました。自力でこの情報にたどり着くのは少々骨が折れます。せっかく豊富なコンテンツがあるのに、欲しい情報に届きにくい Web の作りは、チョットもったいないと思います。

但し、これだけに依存するのは危険なので、昔から愛用している Acronis True Image でドライブ丸ごとのイメージバックアップも併用しています。逆に言えば、トラブル時には先ず True Image で回復を行います。定期的にイメージバックアップを行っているので、実際に使っている環境に戻せます。万一それで問題があれば、このUSBで向上出荷状態へ回復する作戦です。

[2016/08/21] 追記:
Inspiron 11 3148 では無くて、Inspiron 11 3137 でWindows が起動しなくなった際に使用したところ、このUSB ドライブが起動ドライブとして正しく認識されて使えることが確認されました。一方、他のUSBドライブ(ブータブルとして販売されいるもの)では起動ドライブとして認識されなかった。回復ドライブやリカバリーメディアとしてこのSanDiskのUSBドライブは使えることを改めて確認できました。



※4:拭き取り用クロス、トレシー - Lサイズ:
コスパの良い大きめサイズを購入。

それを液晶の表示部分のサイズに合わせて切って、液晶を閉じる時にキーボードの上に置いて挟むようにして使っています。

混雑した電車やバスで鞄をおされて、ノートPCの液晶が割れた経験がありますが、そんな場合の緩衝材の役割も果たす程度の厚みがあります(厚すぎるとヒンジに力がかかって良くないですが、そんなことが無い程度の厚さです)。

以前から使っている Inspiron 11-3137 用にも同様に切って使っています。この切り方だとノートPC4台分程度に使えます。

[2016/08/21] 追記:
何度も洗濯して使っていて、性能が劣化せず継続的に使えることが確認できています。



※5:格安ACアダプタ - Dell 製再生品:
ACアダプタ
このACアダプタのページへ
元々、小型軽量なので旅行などに持ち歩くのは苦になりませんが、会社や学校にもう1つあれば持ち歩かずに済みます。

そこで、色々と探していたら、お膝元のデルオンラインで、激安ACアダプタを発見!

但し、電源ケーブルは別売りですが、このサイトで電源ケーブルのみの注文ができません。電源ケーブルは秋葉原などで買うと確実に安いでしょう。しかし手間や交通費が追加で必要なのは盲点だったりします。一度チャットか電話でDellに相談して、¥500程度なら一緒に追加購入すると良いかも知れません。以下の画面からチャットや電話ができます。担当の営業部には日本語会話で問題のある人があるようで、チャットの方が記録が残るので良いと思います。
ACアダプタの紹介


目次に戻る




Inspiron 11-3148 の特徴や不具合解消

今回購入した Inspiron 11-3148 に関して、気がついたこと、気になったことを列挙します。
Inspiron 3148_3 
Inspiron 11-3148 製品紹介ページ


届いた製品の箱を開ける

以前 Dell のノートPC、Inspiron 11-3137 を買った時は、製品の入った化粧箱がさらに発送用の段ボール箱に入った状態で届きました。今回は、製品の化粧箱に外に極めて重要な付属品※3納品書送り状を貼り付けた状態で、届きました。
※3: これについては、以下で紹介。

箱を開けてみると、パソコン本体、ACアダプタ、AC電源コードに、クイックスタートガイドという紙を折りたたんだもの、そして安全および認可機関に関する情報というペラペラの紙を折りたたんだものが入っているだけ。極めてシンプルなのは、Dell らしい。環境に配慮したという名目での合理的なコストカットですね。だから困るかといえば、初めてパソコンを使う人でなければ、まぁわかると思うので、2台目以降を購入するには問題ないでしょう。

目次に戻る



クイックスタートガイドに従ってWindows 10 をセットアップ

添付された唯一まともな印刷物「クイックスタートガイド」に従って、PCの電源を入れ、OS のセットアップを行います。
面倒でもマイクロソフトアカウントに登録しましょう。一番厄介なのは、以前登録したことがあるものの、登録したメールアドレスとパスワードを完全に忘れているケースです。メールアドレスさえ覚えていればなんとかなるのですが...(コレ私のこと(^^;)

目次に戻る



重要な付属品が配送外箱に貼り付けてある

パソコンが届いて、先ず箱を開けて気づいたことがあります。一緒に購入したはずの Microsoft Office を登録して使うためのプロダクトキーやライセンスキーが書かれたものがどこにもない....

届いた配送用の箱(これが製品の化粧箱そのものでした)に送り状と納品書が透明の袋に入って貼り付けてあるので、それを取り出してみると、納品書一緒に「付属品在中」と書かれた緩衝材付き封筒が混ざっていました。この封筒にOfficeを登録するための目的の情報が書かれた厚紙が入っていました。

うっかり外箱と一緒に捨ててしまう可能性もあり(私ならやってしまいそう...)、これは危ないと思います。とてもアメリカンなやり方で Dell らしいとも言えますが、ここは改善が必要ではないでしょうか?

目次に戻る


筐体が歪んでいて、平らな机の上に置くとガタつく [解決]

筐体の裏蓋が正しく組み立てられていない可能性を疑い、開けて様子をみようとネジを緩めたら、複数あるネジの一部だけきつく閉められていて、他は緩いことがわかりました。これでは歪むのも理解できるし、早急に対処しなければ歪みが貯まってしまって修正できなくなります。そこで、念のためにテクニカルサポートにこのことを話したら、この機種の分解の経験はありますか?と聞かれますので、そこで 「ハイ!」と答えるのがお約束のようです。それならオーナーズマニュアルの記載に従って慎重に作業してください、但し何かあれば保証の対象外となります...はいそれは当然ですよね。このあたりのグレーでアメリカンな感じは好きです。

== [2017/01/09 追記] ==  
このオーナーズマニュアルは、図解だけで分かり易く書かれていて凄い。オンサイト修理の技術者向けの資料の可能性を知ったので納得です。
==========

全てのネジを同じトルクで締めて良いかどうか分かりませんが、どうせ相手はプラスチックのタップなので、締め過ぎは御法度。同じトルクで軽めに締め直したところ、筐体はちゃんと平らになりました。

組み立て工程でのトルク管理に抜けがあったのが原因だと推測しています。...というか中国工場でトルク管理はされていないでしょう。


目次に戻る


お勧め最初の作業

最初の作業として、スタートメニューにある「デルのヘルプとサポート」のメニューをクリックしましょう。

そして 製品登録を行いましょう。スタートメニューから Dell の下にあるメニューで 「の商品登録」 という妙な日本語のメニューをクリックして、製品登録を行います。この時、Dell のマイアカウントを作ることで、ユーザーの個人情報と購入製品個体との紐付けが行われ、それに基づき必要な情報へのアクセスやサポートを受けます。特にサービスタグは、PC個体を特定するために必ず必要な情報で、これを使ってアプリやドライバを正しくアップデートしたり、サポートを受けやすくなります。

スタートメニューにある、「デルのヘルプとサポート」というアイコンをクリックすると、ユーティリティーが起動して、以下の4つのメニュー項目が現れます。それを一つづつ上から見ながら、作業を進めるのが良いでしょう。
  • 保証: 購入時に契約したサポート内容が一覧で説明されている。
  • SupportAssist : このユーティリティをインストールすると、Dell のホームページと連携して、必要な情報へアクセスできる。
  • マニュアル: ここでやっとマニュアルにお目にかかる。Dell が優れている点の1つがオーナーズマニュアル。パソコンの分解の方法、部品の取り替え方の手順が一通り書かれている。ここまで詳しいものは国産のPCでお目にかかったことがない。
  • ドライバ: ここから、ホームページの製品サポートページへジャンプして、最新のドライバへのアップデートが行える。購入直後でも3種類のドライバアップデートがあったので、先ずはこれを行うのが良いだろう。
ここまでくると、後は SupportAssist を起動するだけで、そこから必要な情報にアクセスできます。これは意外に便利です。パソコンが起動しなくなった時に備えるためのリカバリドライブの作成(HDDを工場出荷状態に戻すための準備)も、SupportAssist を起点に必要なWebページへ誘導され、そこからからできます。これもやっておく方が良いでしょう。今回のPCは、16GBのUSBドライブ(OS起動ができるもの)に必要なデータを書き込む作業を要求されました。工場出荷状態に戻すには、このUSBドライブからシステム起動して工場出荷状態にリカバリーすることになります。非常に時間がかかるので時間の余裕のある時に作っておくのが良いと思います。

また、SupportAssist のシステム情報では、極めて詳細な情報が得られ、ハードウェアやソフトウェアの極めて詳細なテストが行えます。

[2016/02/01 追記]
SupportAssist を起動して「通知」をクリックすると「SupportAssist を登録してください」という趣旨のメッセージが現れることがあります。ここで登録をしておくことをお勧めします。登録すると、メールが送られてきて、そこには SupportAssist のダウンロードページへのリンクがあります。このリンクから SupportAssist のアップデートができます。この2月に入ってからSupportAssist がアップデートされ、動作が非常に軽くなり、保存したシステム情報の日本語 (ダブルバイト文字の言語)の文字化けが解消されています。重要なアップデートです。

目次に戻る


タッチパッドの性能が向上している

先ず最初に感じたのは、タッチパッドの性能向上です。二本指で上下左右に動かすと上下左右にスクロールできるジェスチャー機能は、現在使っている Inspiron 11-3137 (Windows8.1搭載機) よりも遙かにスムーズです。また、タッチパッドの上に手のひらが来るとその影響でマウスカーソルが飛ぶ現象が、かなり軽減されています。飛行機や新幹線のテーブルのような狭いところで使うにはマウスでなくてタッチパッドを利用する必要がありますが、タッチパッドだけでもかなりの便利に使えます。マウスを繋いで使う場合でもタッチパッドをオフにせずに使えていて、PCを起動するたびにモビリティーセンターからタッチパッドをオフにする手間が省けます。

目次に戻る


バッテリー駆動時間は悪くない

購入時のデフォルトの省電力設定で、フル充電でバッテリー駆動に切り替え、初期設定のDellの電源オプションにすれば5時間30分ほど使え、バッテリー節約機能にすれば7時間程度は使えます。ACアダプタは比較的軽くて小型の部類で、持ち歩く場合も助かります。

目次に戻る


音が思ったよりも良い [2016/01/16 追記]

ステレオサウンドが、この手のノートPCとしては悪くありません。タッチパッドの左右の位置にスピーカーの磁石があって、ケーブルのコネクタが吸い付けられます。うっかりこのあたりに外付けHDDを置かない方が良いでしょう。
[2016/11/05 修正] タッチパッドの左右にある磁石は、ディスプレイを閉じたときに蓋の対応する位置にある磁石と吸い付くようになっていてます。

目次に戻る


HDDアクセス表示が無い - 白色LEDの謎

Inspiron 11-3148 は、Officeを使ったりネットアクセスしたり、動画を見る程度では、あまりストレスもなく(サクサクとはいかないが)使えますが、それでもしばらく反応が無い時に HDDアクセス表示があれば、状況が分かります。これまで10台以上のPCを使ってきていて、HDDアクセス表示は有って当たり前な存在でしたが、このPCには有りません。不便です。

右手前に1個だけ表示LED(白色)があります。これがHDDアクセス表示かと思ったものの、バッテリーの状態を示すだけのものです。こんなのは不要で、必要なものが有りません。

ダウンロードした「inspiron-11-3148-laptop_Reference Guide.pdf」(やっと探してダウンロードした)には以下の説明があります。

<白色LEDの動作>
  • 単色の白:  電源アダプタに接続されており、バッテリーを充電中です。
  • 無地の黄色: バッテリーの充電が低またはクリティカルです。
  • オフ: 電源アダプタに接続されており、バッテリーがフル充電されている、または電源アダプタに接続されていません。
このPCは、2in1 つまりタブレットとしても使う前提だと考えると、普通はHDDを搭載しないタブレットではHDDアクセス表示は無くて、電源状態をLEDで表示するのは自然です。SSD搭載が標準で、500GB HDD はオプション的な位置づけなのでしょう。理解はしましたが、やはり納得できないですね。HDD搭載の場合はアクセス状態の表示をファームウェアで切り替えることはできそうだから、是非ともファームのバージョンアップで対応してもらいたいものです。

目次に戻る


バッテリー充電管理が無い?

バッテリー充電を80%程度に留めておくと、繰り返し充電による劣化を低減できるとよく言われており、実際にバッテリーを満充電せずに80%程度で止めるための充電管理ユーティリティが食い込まれている製品も多く見られます。おそらく Panasonic の Let's Note がこれを採用した最初ではないかと思いますが、今では多くのノートPCで採用されています。現在使っている Dell Inspiron 11-3137 でもこのユーティリティが提供されており、モビリティーセンターで設定のON/OFF ができます。さらに、電源接続で使う場合の満充電(温度の高い状態で満充電を繰り返すと劣化が早まる)への対策ユーティリティまであります。


ところが、今回購入した Inspiron 11-3148 にはこの機能が見当たりらず、残念です。3年も使えばバッテリーはかなりへたってくると思うので、サポート契約の範囲内でバッテリー交換費用がどの程度抑えられるのか確認してみようと思います。

[2016/01/28 追記]
バッテリーの保証期間は1年なので、3年サポート期間内でも1年を過ぎれば交換バッテリーは有償です。自分で交換すればバッテリー費用のみ、交換作業を依頼すれば作業費用は必要になります。

[2016/01/30 追記]
BIOS(このPCにはUEFIが搭載されているが、Dell はBIOSと呼ぶ)のメニューで Advance タブの下に項目"Battery Charge Configuration"があることを発見!これには4つの選択肢があって、その1つに"Custom"があって、 充電開始と充電終了の充電%を設定できるようになっています。とりあえず、充電開始50%、充電終了85% と設定して使ってみています。
既に使っている Dell Inspiron 11-3137 では、モビリティーセンターから呼び出せる Dell QuickSet の1機能として、バッテリー充電を80%で止めることで、バッテリー劣化を抑制するようになっていて、2年半以上使ってバッテリ劣化が確実に抑制されていることを経験しています。そこで、テクニカルサポートに相談したところ、情報が上がってきていないので確認するとのことです。

50%で充電開始、85%で充電ストップに設定してみて使っていると、タスクバーの通知領域のバッテリーアイコンにカーソルを持ってきて現れる表示を見ると、84%と85%を行ったり来たりし、「電源に接続:充電しています」と表示されるのが、気になります。本当に84%と85%を行ったり来たりして充電回数が異常に増加しれば却って劣化を早めます。そこで、テクニカルサポートからの回答に時間がかかるなら、さしあたりデフォルト設定の Adaptive に戻しておこうと思います。


目次に戻る


デル拡張バッテリ駆動時間オプションで設定できない [解決]

コントロールパネルから電源オプションを開くと、左ペインのメニューの下から2つめに「デル拡張バッテリ駆動時間オプション」という項目があります。

電源オプション 

「デル拡張バッテリ駆動時間オプション」をクリックすると、デフォルトで次のダイアログが現れ「デル拡張バッテリ駆動時間の有効化」にチェックが入っていました。

バッテリメーター 

電源オプションで「バッテリーメーターに表示されるプラン」で「Dell」「省電力」の2項目がありますが、電源に繋ぐと自動的に「Dell」に切り替わり、バッテリー駆動にすると自動的に「省電力」に切り替わります。これは、Windows10の「省電力機能」とは異なり、Dell の拡張機能です。

さて、ここで[設定]アイコンがグレイアウト(無効化)されていて、どうやっても設定ができない問題を発見。テクニカルサポートセンタのアドバイスで、先ず QuickSet を入れ替えてみたが問題解消せず、次にアドバイスされた BIOS の入れ替えで問題が解消しました。


「AC電源アダプタのタイプを特定できません」警告 [解決]

ACアダプタ警告 

購入当初から、このような警告がたまに現れました。PC本体へACアダプタケーブルのプラグを刺し直したら解消されたので、刺し方が悪いのだろうと思っていました。ところが、ACアダプタで電源に繋いで使っている時にいきなりこの警告が現れることが何回かあり、プラグはしっかり刺さっていることを確認したので、これは不具合だろうということで、デルテクニカルサポートに相談しながら解決することにしました。

BIOS(実際のファームウェアはUEFIですがデルではBIOSと呼んでいます)レベルでACアダプタによる給電かどうかを検出していて、アプリケーションレベルとの通信ができなくなるとこの警告が現れるようです。

追加購入したACアダプタを使っても同じ警告が現れ、ACアダプタ本体と電源ケーブルの組み合わせを変えても症状が消えません。そこで、テクニカルサポートのアドバイスで BIOSを入れ替えてみました。今のところこの警告が現れないので一旦問題解決としていますが、しばらく様子を見てみます。

[2016/08/21] 更新:
SupportAssist アプリを導入していて、何らかの更新情報があったり不具合が検出されると、プッシュ情報としてアイコンの i マークが付加されるので分かります。それにはドライバ更新の通知があり、そのたびにドライバを更新しているうちに、この問題が全く発生しなくなった。メーカーでは問題を把握して解決したと理解しています。問題は解決しました。
 
 
目次に戻る


SupportAssist から保存したシステム情報が文字化けする問題 [解決]  [2016/01/30 追加]

購入時には、SupportAssist で得たシステム情報を保存すると、htmlファイルが作成されるが、これが文字化けして読めませんでした。
テクニカルサポートに問い合わせると、この問題はダブルバイト文字に対応していない不具合として認識されているが、修正されるかどうか分からない、ことでした。アメリカ企業らしい対応と言えますね。

ところが、修正の見通しなし、との連絡をサポートから受けて1週間も経たないうちに SupportAssist を開いて、色々と使っているうちに、なにやら意味不明な通知があり、覗いてみると SupportAssist のアップデートでした。アップデート後起動すると、ウィンドウデザインが少し変更され、上部のタイトルバーに言語選択のプルダウンメニューが追加されていています。ひょっとしてと思い、日本語に戻して情報を保存してみると、ハイ!文字化けが解消されているではありませんか!

やることはやってくれるのに、コミットせず日本の顧客をイライラさせる、典型的なアメリカンな姿勢ですね。間に入っている日本のサポート部隊は大変です。それでも真摯に対応してくれるので、Dell のサポート部隊は確実にサービス向上していると思います。でも技術なり本国が対応しなければ、どーにもならないのですから...

[2016/02/01 追記]
今回、偶然に SupportAssist のアップデートが出来たのですが、意図的にアップデートするにはどうしたら良いのか、調べてみました。以前から使っていた Inspiron 3137 にインストールしている SupportAssist も古いバージョンのためシステムの情報を保存して作成される html ファイルを開くと文字化けするので、これもなんとかしたいわけです。

SupportAssist の登録を行うと、登録終了通知のメールが来ます。そのメールには、幾つかのリンクがあり、そのなかに PCおよびタブレット向けSupportAssist というリンクがあるので、それをクリック。そこから、PCおよびタブレット向けSupportAssist のダウンロード をクリックしてダウンロードした実行ファイルを走らせると、古いバージョンのアンインストールと新しいバージョンのインストールが完了しました。

バージョンアップインストーラがダウンロードできるページは、
Dellホームページ > サポート > 製品サポート > サポートライブラリ > デルダウンロードセンター > PCおよびタブレット向け SupprtAssist 
といった感じでリンクが繋がっています。

アップデートした SupportAssist は、それまで非常にモッサリして嫌になるほど動作が重かったのが改善されています。起動が速くなり、情報更新が素早く始まり、各ページへの移行も軽くなっています。


目次に戻る


特定のキーを押しても反応しなくなった [解決] [2016/11/11 追加]

[0] [-] [P] [@] [;] [:] [/] キーを押しても反応しなくなった。反応しなくなった当初は、そのキーを連打すると回復したものの、そのうち連打で回復しなくなった。しかししばらくPCを使っていると回復することもあった。P を入力する代わりに「ふぉん」と入力して PHONE に変換して P の入力の代わりにするなど、面倒ながらなんとか入力しました。

PCをシャットダウンし、[Fn] キーと電源ボタンを同時に押して起動し、診断メニューからハードウェア診断を起動してテストしましたが異常なし。次に再起動して、DELLのマークが表示される時に[F2]キーを連打して BIOS設定を起動し、パスワード設定のところでキー入力を試すと、全く同じキーが入力できないので、キーボードが物理的に問題があることが分かりました。

この問題は、Inspironではあまり発生しないが、少ないながらも発生しているとのことでしたが、フレキケーブルとコネクタの接続が問題なのか、キーボード自体の問題なのかは不明のようです。

そこで、DELLのサポートに連絡をとったところ、技術者が来てキーボードの無償交換作業を行ってくれました。これで問題は解消。
キーボードはパームレストカバー(筐体)と一体になっていて、それを交換する必要があります。、そのためには裏のカバーを外し、液晶パネルを取り外し、マザーボードたHDDなど全てを取り外し、新しいパームレストカバーに全てを組み付けなおします。

タッチパッドは交換しないので、パームレストカバーにあいた四角い穴にタッチパットを組み付けます。ところが新しいパームレストカバーの穴が少し大きすぎて、タッチパッドの周囲の隙間が偏って、孔の中央に来ない問題が発生しました。これでは埃やゴミが容易に入り込みやすいので、改善を依頼したところ、パームレストカバーにタッチパッドがと正しく収まるタッチパッドをまとめて、再度交換してくれることになり、日を改めて対応してもらった結果問題は解消しました。タッチパッドはネジ止めするので微妙な位置決めができす、位置の合うロットの部品に交換する必要がありました。

なお、約1年間使用したタッチパッドは、クリックボタン機能のある領域以外の色が赤みを帯びた色に変色していました。機能的には問題は無いのですが、新品に変えてもらい見た目も元に戻りました。

目次に戻る



Dellのサポート


Dell は初心者には優しくない?

Dell のサポートは最悪だと、よく聞いていました。ところが、今回 Dell のテクニカルサポートを受けてみて、サポート品質は向上しているとハッキリ言えます。

Dell のテクニカルサポートは、チャットが使えるのが良いと思います。そして、必要に応じて電話やメールでのサポートに切り替えてくれるのも、大きな利点です。チャットやメールでのサポートならホームページの豊富なコンテンツへのURL をもらって、それをクリックするだけなので、非常に便利です。

ちまたで言われるようなインドや中国のサポートセンタの「日本語ができる外国人」による、コミュミニケーション不能なサポートを覚悟したのですが、テクニカルサポートは、日本人によるネイティブ日本語での対応でした。宮崎にサポートセンタがあるとも聞いています。現在のところ、レベルにはバラつきが感じられましたが、対応の姿勢は間違いなく感じの良いものです。

但し、営業まではサポート品質の向上が行き届いていないようです。営業部で私の対応をしてくれたのは、日本語が話せる中国系の人でした。いきなり「デル カイシャ(会社)でございます」と言うので、一瞬何を言っているのか分からなかったのですが、Dell Inc の直訳をやらかしているのだと思います。普通に意思疎通が難しい経験をしました。但し、すべきことはキチンとやってくれましたので結果オーライです。こちらからの問い合わせの場合は、やりとりの記録が残せるチャットが安心で良いと思います。

[2017/01/09 修正]
結論から言えば、自分のPCの症状を他人に伝えられる程度の人なら、Dell のサポートは問題ないので、コストパフォーマンスに優れている Dell はお勧めです。そうでない人や、親身に相談に乗ってくれる人が身近に居ない場合は Dell に手を出さない方が良いと思います。

目次に戻る


Dell のテクニカルサポート(プロサポート)を利用してみた

3年保証にも入っていることだし、色々と疑問や不具合らしいものもあるので、Dell のサポートを初めて利用しようと、Dell のホームページでサポートについて調べてみると、チャットでサポートしてくれるのを見つけたので、早速ログインしました。殆ど待たされることなく、担当者が応答。名前を見ると日本人。

Norton Intternet Security などのサポートでは、中国系の人にしかお目にかかったことが無く、Dell も噂では外国人が対応すると聞いていたので、日本人が出てくれてチョットびっくり。とても丁寧なサポートでした。そのうち電話サポートに移行したいとのことで、電話を頂いたら間違い無くネイティブの日本語でした。

Dellのテクニカルサポートは、過去の評判と違っていて、レベルが向上していることを強調しておきます。

敢えて言うならば、ユーザー登録と「デルのヘルプとサポート」が完了して、SupportAssist のインストールと登録までは、印刷した丁寧なマニュアルを準備すべきだと思います。私が販売窓口なら、間違いなくそうするでしょう。これだけで、世間の評価は大きく変わって行くはずです。実にもったいないと思います。

[2017/01/09 追記]
キー不良でプロサポートに問い合わせ、結果的にオンサイト修理で解決したのですが、約束の日時に来てくれて、目の前で話をしながら修理をするのは良いものです。交換部品は約束の日時の前日に時間指定で送られてきます。
なお、キーボード交換は、Inspiron 11 3148 の場合非常に込み入って難易度の高い分解が必要でしたので、オンサイト修理の価値があります。
後日、その作業中のミスかも知れない不具合が見つかったのですが、本当に作業ミスかどうかは確定的でなく可能性が考えられる程度だったのに、再びオンサイト修理での対応により部品交換してくれました。全て無償でしたが、予め契約していた有償のプロサポートは価値があると思います。


目次に戻る




今後、気付いたことや更新内容があれば、随時追加します。




応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ


keywords: Windows8.1環境移行

リンク集 | ブログ内マップ
関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

番外編 - True Image でHDDの復帰をした

番外編
e-Gadget

2017/01/09

Windowsが起動しなくなったので、予め保存してあった HDD丸ごとイメージバックアップを使って、復帰作業を行いました。

PCは、Inspiron 11 3148  (Windows 10) です。

2006年版の True Image 8 から Acronis True Image を使っていて、今はWindows 10 対応した 2016 版を使っています。HDD丸ごとイメージバックアップは万一に備えてのことなので、これまで滅多にHDD を丸ごと復帰させることはなく、特に Windows 10 ではまだ一度も復帰させたことがありません。

バックアップが正しく作成されていなかったり、復帰で何か間違った操作をすればとても面倒なことになります。なので、不安でかなりドキドキしながら復帰しました。

うまく復帰できたのですが、今後ドキドキしないために、手順のメモを残します。



イメージバックアップの作成

一度完全バックアップを作っておくと、それに対して変化した分を継ぎ足しバックアップできて、時間とディスクスペースの節約になります。
True Image 2016 では、この継ぎ足しバックアップの方法については、多くのスキームを選べるようになっています。私は、今のところ増分バックアップを採用し、詳細をカスタマイズした設定て使っています。

継ぎ足しバックアップの利点は、何世代ものバックアップを履歴とともに限られたディスクスペースに保存できることだと思います。

面白いのは、一旦作ったバックアップファイルはエクスプローラで開くことが出来て、ファイル1個単位で取り出すことができるのが便利です。無くしてしまった必要なファイルをエクスプローラで選んでコピーができます。

マニュアルを読んでも何だかわからない場合は、チャットサポートがあるので便利です。チャットでサポートを始めて、その後電話サポートに切り替えてくれることもあり、Team Viewer を使ってサポートからの遠隔操作で対処することも可能です。

従って、本当に正しくバックアップが作れているかどうか不安がある場合は、サポートと連絡をとって疑問や不安を予め解消しておくと良いと思います。


復帰方法の選択

イメージ復帰は3通りあります。それぞれには、予め必要な準備があります。

1) Windows上からの復帰

マニュアルを読むと、細かな設定が可能であることから Windows上からの復帰を推奨しています。
HDD丸ごと復帰などは頻繁に行う作業でないので、細かな設定を全て理解して覚えておくことが出来ないかも知れません。この機会にマニュアルを細かく読んで、おおよそ全体を理解できたのですが忘れてしまう自信があります(^^;

Windows 回復ドライブからの復帰に必要なデータが書き込まれている特殊パーティションの復帰など、利用価値は有ると思います。
今回は、Windowsが起動しなくなったので、この選択肢は使えません。


2) レスキューメディアからの復帰

Windowsが起動しなくなった時のために、予めレスキューメディアを準備しておく必要があります。

True Imageのほぼ全ての機能を含んでPC起動が出来るメディアを CD か USB で作っておきます。復帰が必要な時にはこれらメディアを接続し BIOS (UEFI) でこれらメディアをブートドライブとして設定して、PCを起動すると Linux 版 True Image が起動します。

私は、SanDisk Cruzer Fit (16GB, USB2) でレスキューメディアを作ってあります。非常に小さいので無す恐れもありますが、持ち運びに殆ど支障が無いので、この USB ドライブを使うことにしました。



今回は、この方法を使いませんでした。理由は以下に書きます。


3) スタートアップ リカバリ マネージャからの復帰

PCの HDD に True Imageを起動するパーティションを作っておけるので、レスキューメディアすら不要です。

Windows上で True Imageを起動し、「ツール」をクリックして選び、さらに「その他のツール」をクリックすると、その "他のツール"のフォルダが表示されます。ここで "Activate Acronis Startup Recovery Manager" のショートカットからこの機能を起動して、Linux 版 True Image に必要なパーティションを作成できます。

こうしておけば、PCを再起動する時に、UEFI 起動の直後に、以下のように表示され、

Starting UEFI Loader(x64)(v.1.1.42)...
Press F11 for Acronis Startup Recovery Manager...

ここで、[F11] を押すと True Image が起動するので、そこから HDD丸ごと復帰ができます。復帰だけでなく Linux 版 True Image の他の機能も使えます。

BIOS (UEFI) でBootable Drive の設定の必要もなく、トラブル時にレスキューメディアが手元に無い可能性もあるので、Windows が起動できなくなった時は、私はこの復帰方法が一番良いと思います。

そこで、今回はこの方法を採用しました。



スタートアップ リカバリーマネージャからの HDD丸ごと復帰

PCの再起動時に [F11] を押すと True Image が起動します。

最初に表示される画面です。

Start 

"復元する" - "ディスク" をクリックすると、

Select File 1 

「アーカイブの選択」に移ります。ここで [参照] をクリックして、

Select File 2 

復帰させたいバックアップファイルを選んで [OK] クリック。

Select File 3 

これで、「アーカイブの選択」が終わり、[次へ(N)] をクリック。

左側に、復帰の準備状況の手順が表示されるので、少し安心!

復元方法 

「復元方法」の選択画面で、"ディスクまたはパーティション全体を復元する" を選んで [次へ(N)] をクリック、

復元対象 

「復元対象」設定画面で、全てにチェックを入れ、[次へ(N)] をクリック。

パーティション1-1の設定 

「パーティション1-1の設定」画面で、EFI システムパーティションの内容を確認して、そのまま [次へ(N)] をクリック。

すると、以下の表示でかなり待たされます。不安になりますが...

パーティション1-1の設定でのお待ちください 

やっと 「パーティションCの設定」 画面に推移しました。

パティションCの設定 

Windows システムのインストールパーティションの内容を確認して、[次へ (N)] をクリック、

また待たされますが、辛抱強く待ちます。

パーティション1-4の設定 

リカバリーパティション(工場出荷状態のディスクイメージを格納した回復パーティション、914MB))の内容を確認して、[次へ(N)] をクリック、

パティション1-5の設定 

もう一度、リカバリパーティション(Winidows 回復ツールを含んだ回復パーティション、11.22MB)の内容を確認して、[次へ(N)] クリック、

MBR設定 

「ディスク1のMBR」画面で、MBRの復元先ディスクに 内蔵 HDD 設定します。
ディスク1 にカーソルを合わせて、[次へ(N)] をクリック。

「ディスクシグネチャを復元」にクリックを入れ忘れたが、結果的に問題なし。

完了 

「完了」画面で、復元設定内容を確認します。

[実行(E)] をクリックすると、、復元が始まります。
ドキドキしながら作業を見守ります。

Recovering 

500GB のHDD復帰作業は2時間くらいかかりました。

Finish 

エラーメッセージもなく、無事に作業が終わったようです...

右上の [X] ボタンを押すと、このアプリが終了して、PCの起動が始まります。

無事に Windows が起動しました。

ところが、再帰起動すると 「F11 キーで スタートアップ リカバリ マネージャーを起動する表示が出ません。

そこで、Windows上で True Image 2016 を起動して、その中から Acronis Startup Recovery Manager を起動して、一旦無効化した後、サイド有効化しました。これで、問題は解消し、[F11] でスタートアップ リカバリー マネージャ の起動を確認しました。



True Image 2016 の活用

今回は、とあるアプリケションをインストールして試用した後、アンインストールした結果、Windowsが起動しなくなりました。

True Image 2016 には、Try&Decide という機能があって、これを先に起動してからインストールすると良さそうです。次回はこれを活用してみようと思います。



True Image 2016 のスタートアップ設定

私は、HDD丸ごとバックアップを不定期に行っていて、クラウドへのバックアップは行わないし、ファイル / フォルダのバックアップもわざわざTrue Image では行いません。必要と思う時に HDD 丸ごとイメージバックアップを行うだけです。

オリジナルのインストールでは、スタートアップに何か登録され、「クラウドの契約を更新しろ」だとか、最新バージョンの案内など、私には不必要なプッシュ情報が表示されます。無駄な動作にバックグランドで CPU パワーを無断で使われるのは好きでありません。

そこで、タスクマネージャで表示される3つのサービス(上から3つ)を全て無効にしています。

TruImage 不要なスタートアップ 

今回の復元でも問題がなかったので、これらの無効化での悪影響はなさそうです。

なお、Acronis のサポートに、これらのサービスの役割について問い合わせたところ、「製品を正常に使うために有効化してください」と言った意味の無い回答がありました。公式には無効化して良いと言ってはダメと教育されている可能性大です。

一応、詳細動作についての公式回答が無かったことはメモしておきます。






応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ


keywords: Dell Inspiron 3148、 Windows10、外部ストレージ

リンク集 | ブログ内マップ
関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

番外編 - 外付け HDD、USBメモリ、SDカードを調べてみた

番外編
e-Gadget

2017/01/07

年末に手持ちの各種外部ストレージの速度比較をしてみました。

それまで、ストレージの速度については、USB2 より USB3 接続が速いだろう、程度にしか考えていなくて、特に気にしていませんでした。ところが実際に測定してみると興味深いことが分かったので、上の記事を書きました。

その結果をグラフにしてみると、傾向がよく分かるので、ここでまとめてみようと思います。

年末の大掃除で、USB Flash Memory で Princeton の激安 8GB USB3 メモリ (Xiao Tuen3, PFU-XT3S//8GK) が出てきたので、ここではそれも追加します。これは数年前にヨドバシカメラで 確か980円で安売りしていたもので、一時期メインで使っていたものです。

これらストレージの速度測定結果をグラフにしてみると、ちょっとした傾向が見えます。最新の状況と合わせて調べてみました。


外付けHDD

HDD Speed Comaprison 

グラフにすると分かり易いですね。
  • シーケンシャルアクセスとランダムアクセスがこんなに違うという実感が得られます。

5機種のうち、1機種のみが USB2 インターフェースです。一応 USB3 ポートに接続して測定した結果です。
USB2 HDD を USB3 ポートに繋ぐと明らかに速くなることは、年末の測定結果から分かっています。
  • USB2 よりも USB3 が圧倒的に速いことが実感できます。

たまたま私が持っている上記の HDD のなかで、Western Digital の Elements 25A2 (2TB USB3) がトップの成績なので、以下のストレージ別比較の代表選手としておきます。






USB3 メモリ

USB3 Speed Comparison 

シーケンシャルアクセスがランダムアクセスよりも圧倒的に速いことは分かりますが、製品によって傾向が異なります。チップの種類や特性の違いが出ています。

シーケンシャルアクセスについては、
  • 青の SanDisk Ultra Fit (128GB) や オレンジの Kingston DataTraveler (64GB) に対して、グレーの激安USB3メモリ Princeton PFU-XT3S (8GB) は、シーケンシャルリードでは明らかにが意外に検討しています。
  • しかし、激安USB3メモリは、シーケンシャルライトで意外に健闘しています。

ランダムアクセスでも、
  • グレーのPrinceton激安USB3メモリが書き込み性能で意外に健闘しています。ランダムライトはオレンジの Kingston DataTraveler (16GB) より比較として明らかに速い結果です。

全体のバランスを考えると、Kingston DataTraveler も悪くありませんが、私の好みで SanDisk Ultra Fit (128GB) をトップにします。並行輸入品ですが価格もお手頃です。





USB2 メモリ

USB2 Speed Comparison 

これらは、USB3 ポートに繋いで測定したものです。

USB2 メモリは、USB3 メモリよりも圧倒的に遅いものの、価格面ではかなり遊離なので、緊急時のブートドライブとして使うか、各種ソフトを入れたポータブルドライブとして使っています。

上記にはかなり古いものも含まれているので、チップ性能が向上した最近のものに軍配が上がると思います。中でも、性能トップを SanDisk Cruzer Fit (16GB) とします。5年保証付きで¥1,000 を切るのもポイントが高いと思います。






HDD、USB3 メモリ、USB2 メモリ、SDカードの比較

Storage Speed Comparison 

それぞれの代表選手に 今使っている SD カード (SDHC) を含めて比較した結果です。




速度でいえば、HDD と USB3 メモリは優劣が付けられませんが、HDD は、ギガバイト当たりのコストが圧倒的に有利で、ストレージ容量も圧倒的に多くなっています。

ちなみに、10TB の 3.5 インチHDD が登場しています。
世界最大容量・10TBのハードディスクついに発売、気になるお値段は?

この記事で、HGST製とありますが、Western Digital に買収されたので今は WD製です。

ちなみに、この記事を書いている時点で、最大容量が 10TB、Amazon では 4万円程度から入手できます。窒素に比べて熱伝導度が高く分子量の小さい(つまり軽くて、内部機構の抵抗を小さくできる)ヘリウムガスが封止されていてるようです。2年前(2014年) に 6TB の HDD が登場した時もヘリウム封止でした。

ヘリウムは全ての気体の中で最も漏れやすいので、封止が破れることが耐久性を左右するのでしょうから、内蔵HDDとして使う想定だと思います。技術の進歩により、持ち運びできる外付け HDD (2.5インチ) で 10TB が登場するのが楽しみです。




面白いのは、USB メモリも大容量化していて、現在は Kingston 製の最大 1TB のUSBメモリが発売されています。Amazonでも非常に高価ですが、いずれ指数関数的に価格が下がるでしょう。



そして、もうすぐ 2017年2月に Kingston から 2TB の USBメモリが発売予定です。
2TBのUSBメモリー、何に使う?…Kingstonが「DataTraveler Ultimate Generation Terabyte」を発表

SSD も 2TB 版が登場しており、確実に HDD からフラッシュメモリへの置き換えは進むのでしょう。当面は容量の面で HDD が有利ではありますが...

面白いことに、HDD メーカーの Western Digital が フラッシュメモリメーカーの SanDisk を買収したことも、HDD からフラッシュメモリへの世代交代を懸念してのことだと思います。


SDカードは、SD、SDHC そして SDXC の規格があって、これらSDカードの規格では、SDXC は最大 2TB ですが、SanDisk / WD が 1TB の SDXC のプロトタイプを発表しています。

現時点では、Samsung の 256GB SDXC が最大のようで、Amazonでは 200GB だと相対的にかなり安くなっています。 



SDXC カードは、カメラなどとのデータ保存&PCへの転送用といった用途があって、USB2 並の 転送速度よりもサイズが重要なのでしょう。



個人的には、最高速や最高容量のストレージを欲しいとは思わず、量産性が確保されて値段がこなれたものを使う主義だが、年末の速度測定をきかっけに調べてみた結果、業界動向なども分かり、今後は選定にある程度意識する気になりました。






応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ


keywords: Dell Inspiron 3148、 Windows10、外部ストレージ

リンク集 | ブログ内マップ
関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

Casio Basic の勧め

.
2017年01月04日 改訂

Casio Basic は、最近の カシオ 製プログラム電卓(プログラム関数電卓やグラフ関数電卓)に搭載されているプログラミング言語で、意外に高機能なので実用的なプログラムが作れます。科学技術計算目的以外にも実用的なプログラムを作れます。私自身、技術計算以外のために作った自作プログラムをほぼ毎日使い、技術計算プログラムはたまに使う程度です。

カシオのプログラム電卓で新世代 Casio Basic を勧めたくなるには、幾つかの理由があります。

新世代 Casio Basic でのプログラミングは敷居が低いこと、初心者にも覚えやすいこと、プログラミング経験者はスグに使えること、Casio Basic が意外に使えることなどが、その理由に挙げられます。


目 次
  1. プログラミングは特殊技能なのか?
  2. 新世代 Casio Basic とは?
  3. Casio Basic 搭載機種の選定
  4. Casio Basic の習得は容易
  5. fx-5800P の勧め
  6. Casio Basic を勧める背景
  7. fx-5800P の利点と弱点
  8. Casio Basic の使いこなし


プログラミングは特殊技能なのか?

プログラミングは、理系や文系、男女差、年齢や経験などとは無関係に習得可能なことはよく知られており、IT企業ではごく普通に文系出身のSEやプログラマが活躍しています。特に Casio Basic は覚えることが少なく、簡単なので、誰でも電卓プログラミングが出来ると思います。

参考:
<トップへ戻る>

新世代 Casio Basic とは?

実際にCasio Basic を使いながら、取扱説明書には記載のない機能や仕様が分かってくると、以下に挙げる4機種に搭載されている Casio Basic が意外によくできていることが明かになってきました。

1) fx-CG20      (カラーグラフ関数電卓)
2) fx-FD10 pro   (プログラム関数電卓 - 土木測量向け)

3) fx-9860GII   (グラフ関数電卓)
4) fx-9860G   (OS 2.0 以降、グラフ関数電卓) 
5) fx-5800P      (プログラム関数電卓)


これらに搭載されている言語は、私は 新世代 Casio Basic と呼び、それ以前の言語と区別しています。

新世代 Casio Basic は、簡単に言えば、Getkey コマンドと 柔軟な Locate コマンドがあり、条件判定は基本的に 0 で偽、0 以外で真で、その上で構造化プログラミングの考え方でプログラミング出来きます。
  • Getkey[AC] キー以外の全てのキーに異なるキーコードが割り当てられ、押したキーをリアルタイムで判定できるコマンド。
  • Locate: パラメータに、即値以外に変数、式、コマンドを指定して位置を柔軟に指定して出力するコマンド。
  • 条件判定を 0 で偽、0 以外で真とできること
  • 構造化プログラミングGoto に頼らずにプログラムの制御を記述し、可読性の高いブロック構造作れるプログラミングの方法。
プログラミング経験者(特にPCでのプログラミング経験者)なら、新世代 Casio Basic は違和感なく使えます。

旧来の命令
新世代 Casio Basic には、以前のプログラム電卓に搭載されていた旧来の命令も搭載されています。カシオによれは従来のユーザーの利便性を考慮して旧来の命令を残しているとのことです。最近、この旧来の命令を使いこなして、どの程度のプログラムを作れるのか色々と試して、それを反映させたエントリーを Casio Basic入門38から連載を始めています。使いこなしを検討してみると、確かに一定レベルの実用プログラムを比較的楽に作れることが分かります。

旧来の命令は表記はシンプルでも、多彩な機能を持っています。プログラミング経験の少ない人でも簡単に使えて便利です。しかし、旧来の命令が機能が多彩であることが、逆にプログラミングの自由度を減らしているとも言えます。この旧来の命令では実現できないプログラムを作るには、Casio Basic の構造化Basic を積極的に使えばよいのです。旧来の多彩な命令と Basic コマンドを併せて使いこなすことで、自由度が高く、実用的なプログラミングが可能になります。

<トップへ戻る>

Casio Basic 搭載機種の選定

上記製品の中でも、特に fx-5800P は最も安価であり、さらにハードウェアとソフトウェアのバランスが良いため、実用に最も適していると思うので、私は愛用しています。fx-9860GII も Casio Basic プログラミングを楽しむために使っていますが、日常には実用性の高い fx-5800P を多用しています。fx-CG20 も入手してみると fx-9860GII の Casio Basicの移植性が高いことは確認済みです (グラフィックスの一部コマンドやカラー対応の部分に手を入れる必要があります)。

fx-CG20、fx-9860GII、fx-5800P について簡単にまとめています;

- fx-CG20: fx-CG20 の概要

- fx-9860GII: fx-9860GII USB POWER GRAPHIC 2

- fx-5800P: 本記事は主に fx-5800Pの勧め になっています

- Casio Basic - 機種間の互換性

- Casio プログラム電卓の価格動向


fx-CG20 と fx-9860GII は、グラフィックス機能があり、高機能、高価格の製品(実売9千円台~2.5万円程度)で、これらの中で比較的安価な fx-9860GII は、処理速度が速い点が魅力です。さらに、fx-9860GII は Casio SDK (Casio 純正の開発環境)を使えば、パソコン上で C言語を使ってプログラムを作り、それを電卓に転送して Add-in プログラムとして利用できます。C言語で作った Add-in プログラムは、Casio Basicに比べてかなり高速動作し、Casio Basic では無理な処理も可能です。

fx-5800P
グラフィックス機能の無い fx-5800Pは、処理速度が相対的に低いものの、価格が圧倒的に安く(実売6~8千円程度)、関数電卓としてもプログラム電卓としてもバランスが取れた使いやすい機種です。

fx-5800P には プログラムリストを 通常の電卓モード (Comp モード) で呼び出して使えますが、fx-9860GII ではプログラムリストを表示するには一旦プログラムモードに入る必要があります。Casio Basicで作ったプログラムを日常的に使う場合は fx-5800P の方が利便性が高いことは、使ってみて分かります。fx-5800P と fx-9860GII を実際に使い比べてみると、日常使いには、バランスの良い fx-5800P が優れていると思います。

fx-9860GII
但し、プログラムの高速性やグラフィックス処理を重要と考えるなら、fx-9860GII も選択肢に入れるべきです。もし使いたい Add-in プログラムがあれば fx-9860GII が正しい選択肢となります。
例えば、当ブログで紹介している C.Basic (Casio Basic の上位互換、開発中) は fx-9860GII のアドインとして提供しているので、これが使いたいなら fx-9860GII がお勧めです。

fx-FD10 Pro
fx-FD10 Pro は、屋外使用を想定した堅牢な作りが特徴です。私自身が実機を持っていないので、取扱説明書から得られる内容から判断すると、上記の fx-5800P の使いやすさを備えていますが、実売1万6千円以上するが、Add-in プログラムが使えず Casio Basic のみが使えるので、fx-5800P と fx-9860GII の間にある機種だと感じます。従って、Casio Basic を使うのであれば、敢えて fx-FD10 Pro を選ぶよりも fx-5800P にするか、Casio Basic の上位互換の C.Basic が使える fx-9860GII を選択すべきだと思います。

fx-CG20 / CG10
fx-CG20 / CG10 は、カラー液晶が特徴で、内蔵の関数計算も高速化されています。但し、主に液晶への表示やメモリアクセス処理速度が fx-9860GII よりも遅く、Casio Basic プログラムの処理速度は fx-9860GII よりも遅くなります。さらに、オーバークロック・ツールを用いると fx-9860GII が fx-CG20 / CG10 の5倍以上高速になります。高精細カラー液晶の表示が必要だと考えるなら fx-CG20 / CG10 が良いのですが、それ以外の私なりの評価は、総合的に fx-9860GII の方が優れていると思います。

<トップへ戻る>

Casio Basic の習得は容易

過去にPCでプログラミング経験があれば、Casio Basic はスグに使えると思います。私自身も過去にPCでのプログラミング経験があり、fx-5800P を買ってすぐにプログラミングができました。但し細かなところは取扱説明書に書かれていないので、自分で色々と調べました。その結果が当ブログです。

プログラミング経験があれは、当ブログの「Casio Basic コマンドリファレンス」、「Casio Basic入門」、「逆引き Casio Basic」を参考にすれば、すぐに使いこなせると思います。[2017/01/03 追記修正]

これからプログラミングをやってみようと思われる方の場合、新世代 Casio Basic を覚えることはPCで使う Basic 習得に有効だと思います。上で紹介した機種の中で特に fx-5800P は、ハードウェア的には最も非力ですが、最も安価で入手しやすく、さらに使いやすいので、学習用に向いています。僭越ながら、当ブログの Casio Basic 入門をほぼ理解できれば、Visual Basic の習得の敷居はかなり下がると思います。

Casio Basic のコマンドは、殆どが他のBasic と同じなので、覚えたことが将来無駄になりません。さらに必要最小限度の機能まで絞り込まれているので、覚えることが少いことが初心者向きの理由です。この点をもう少し説明してみます。

一般にプログラムを作る際、実現したい機能には無数の方法があります。無数の方法から適切な方法を選び出すことが、プログラミングの主な作業になるのですが、それは初級者には逆に習得の妨げとなります。Casio Basic は機能が少ないので、選択肢が限られます。従って、プログラミングの方法の選択で悩むことなく、必要なことを覚えやすいと言えます。色々なプログラムを作れば、効果的な反復学習になるわけです。

またコマンドが絞り込まれているので、アルゴリズムの工夫や計算式の応用で対応することになり、これも学習に向いていると考える理由の1つです。

機能が限定されていても、実用的なプログラムやゲームが作れることは、当ブログで紹介しています。実際にこれらのプログラムを作りながら、新世代 Casio Basic の良さに気付いたのです。実際に使ってみないと分からないものです。

<トップへ戻る>

fx-5800P の勧め

電卓でプログラミングを始めてみようと思う方には、私は fx-5800P を勧めます。

1.関数電卓としての fx-5800P
fx-5800Pは、関数電卓として見た場合、十分な機能を実現しています。プログラム機能の無い fx-995ES とほぼ同等の機能と操作性が有り、fx-5800P は高機能関数電卓と位置づけられます。カシオの関数電卓は電源を切ると、計算履歴もメモリの内容も全て消去されます。一方 fx-5800P は電源を切っても全てメモリに保存されたままです。これが関数電卓として fx-5800P を推奨する最大の理由です。

2.携帯型コンピュータとしての fx-5800P
携帯型コンピュータとして見た場合、手軽に実用プログラムを作れるので、パソコンでは真似のできない圧倒的な携帯性が最大の利点です。搭載されている Casio Basic は、ちょっとしたアクションゲームも作れます。実際に、fx-5800P のハードウェアの能力と Casio Basic の機能を確かめる目的で、「もぐら叩き」を作ってみました。結構遊べることが分ったので、冒頭で 『意外に良くできている』 と書きました。

3.Casio Basic
fx-5800Pに搭載されているCasio Basicは、グラフ関数電卓 fx-9860GII や fx-CG20 さらに 土木測量向けプログラム電卓 fx-FD10 pro に搭載されている Casio Basic と比べて、グラフィック機能や文字列処理、外部との通信機能を使うコマンドが省略されていますが、それ以外の機能は同じです。そして、fx-5800Pで作った Caso Basic プログラムは、上位機種への移植性が高いことは確認済みです。

<トップへ戻る>

Casio Basic を勧める背景

新世代 Casio Basic 搭載のプログラム電卓を勧めるには、いくつかの背景があります。

1. パソコンと同様な機能を求めない
パソコンでできることはパソコンでやれば良い。それをわざわざ電卓でプログラムを作る必要はありません。


2. サッと取り出し、パッと使える
必要な場所で、必要なタイミングで、上着やかばんのポケットからサッと出して、スグ使うのはパソコンでは絶対に出来ません。プログラムを作るだけで自分専用のオリジナル関数電卓が手に入ります。今や電卓は誰でも1台は持っている文房具です。プログラムを書くことで自分専用の機能にカスタマイズした文房具が手に入ります。


3. プログラムを簡単に作れる
ゲーム繰返し技術計算金融計算その他お金の計算単位や年月の換算時差計算 など作っておくと便利なプログラムが多くあります。自分に必要なプログラムを予め作っておくと、プログラム電卓のメリットは絶大です。

関数電卓の各種関数キーが[SHIFT]キーなどと併用しないと使えない(裏機能などと言われます)のは、2ステップキータッチが必要で効率が悪いとの評価基準があります(関数電卓マニアの部屋)。学生への関数電卓選びのガイダンスとしては、教育的配慮を斟酌すれば、私も100%同意するところです。しかし、この主張を金科玉条の如く受け売りする気になれないのも正直なところです。

実際に何度もキーを叩いて繰り返し計算を行う際には、プログラムを作ったり、数式記憶機能を使えば良いわけです。

道具は相応しい目的で正しく使えば良い。幸なことにfxー5800Pは、今や新品でも6000円程度で買えるので、2000円から3000円で関数電卓を買う変わりに、プログラム関数電卓を買うメリットを十分に感じる人は非常に多く居るはずです。ここでは、簡単なプログラミング・スキルがあれば良く、幸いなことにBasicを搭載しています。


4. 上位機へのプログラム互換性
高価で高機能なグラフ関数電卓や土木測量専業電卓への移植性が高いことは重要です。

fx-5800Pのハードウェア仕様に依存した部分を除けば、互換性、移植性が高いので、1からプログラムを作り直す手間はありません。上位機種を入手して、そこへfx-5800P のプログラムを容易に移植できるのは、Casio Basicの大きな利点です。

なお、カシオのグラフ電卓には、C、Lua、Python といった言語の開発環境(公式や非公式を含む)もあり、Casio Basic のプログラムを移植せずに別の言語でプログラミングする選択肢もあります。

fx-5800P の Casio Basicプログラムの fx-9860GII や fx-CG20 への移植をいくつか行いましたが、機種のハードウェアに依存するコマンド (GetkeyLocate)、旧来の命令 (出力命令 ◢ 、" "、入力命令 ? など) の動作の違いに適切に対処し、配列変数を行列やリストに置き換えれば、他の Basic コマンド類は互換性があります。


5. グラフ機能の優先度は低い
パソコンでできることはパソコンを利用する...と考えれば、プログラム電卓にグラフ機能は必ずしも必要ではないと思います。グラフィックスを利用したプログラムを電卓で使いたい場合は fx-9860GII のようなグラフ関数電卓を利用でき、Windows プログラミングよりは Casio Basic の方がプログラミングは遙かに楽です。

ゲームではなく、実用面からグラフ描画機能が欲しいと言う場合もあるでしょう。例えば、実験をしながらグラフを書くのは大変重要なことです。しかしそのために、プログラム電卓でわざわざプログラムを書く必要はあるでしょうか?
パソコンでエクセルを使えば、簡単にグラフを書けます。報告書、レポート、論文を書くのに最近ではエクセルのグラフが普通に使われているわけで、それなら最初からエクセルを使えば良いと思います。

私は、実用を強く意識して fx-5800P を使っていますが、グラフ機能がことさら必要だと思うことは殆どありません。本当に必要なら fx-9860GII などのグラフ関数電卓で、ブラフ表示をプログラミング可能です。しかし、正直に言えば グラフ機能の無い fx-5800P で十分に実用的なプログラムを作って、利用できます。

敢えて言えば、適材適所でしょう。そして Casio Basic 搭載機のなかでも fx-5800P は、プログラム利用の利便性が高く、小型軽量で、グラフ関数電卓よりもプログラム入力が格段に楽で、電池の持ちも長く、ハードウェアとソフトウェアのバランスが良いことは間違いありません。処理速度の遅い fx-5800P でも工夫次第で実用プログラムを作成できるので、プログラミング自体も楽しくなってきます。当ブログでは、その工夫について多く取り上げています。


6. 最も簡単にプログラミングできる携帯機器
Casio Basicを使うのなら、電卓本体のみでプログラミングできるので、いつでもどこでもプログラムを作れます。そして自分だけの付加機能を、恐らく最も簡単に追加できる携帯機器がプログラム電卓です。オリジナルプログラムを作りそれを使う楽しみと利便性があります。

<トップへ戻る>

fx-5800P の利点と弱点

fx-5800P は、新世代Casio Basic を搭載している点に最大の価値があり、同時に関数電卓としても使いやすい点が評価できます。関数電卓としてみた場合は、グラフ関数電卓 fx-9860GII よりも fx-5800P の方が必要な機能へのアクセスが速いので、使いやすいでしょう。しかしプログラミング時の使いやすさの点では fx-5800P が最も優れています。

fx-5800P のもう1つの利点は価格で、他の機種に比べて圧倒的に安価です。

要するに fx-5800P は、非常にバランスの良い製品と言えます。

fx-5800P に対する唯一にして最大の弱点は、プログラムコードのバックアップややりとりをパソコンとの間で行えるPCリンク機能が用意されていない点にあります。少なくとも fx-5800P 同志のプログラムデータのやりとりはできるので、外付けの3Pin - USB アダプタと対応ソフトウェアを発売して頂ければ実現するはずです。カシオ製でなく、サードパーティーでも良いのです。

PCとリンクしてプログラムを転送する機能の実現は、是非ともお願いしたい。

私の場合は仕事などで実用プログラムを作って、毎日のように使っていますので、電子データのバックアップ機能がどうしても欲しくなり、2台目の fx-5800p と専用通信ケーブル (SB-62)を購入しバックアップしています。なお、グラフ関数電卓を購入すれは、通信ケーブル(SB-62)は付属しているので、fx-5800P のために新たに購入する必要はありません。

<トップへ戻る>

Casio Basic の使いこなし

fx-5800P 搭載の Casio Basic は、使いこなしてみて初めてその価値が分かると思います。PCで一定以上のプログラミング経験があれば、この新世代 Casio Basicが構造化BASIC であることがすぐに分かると思います。カシオ自身がこの Casio Basic に関する情報発信を殆ど行っていないので、当ブログでは Casio Basic の使いこなしについて、異なる3つの切り口で紹介しています。

CasioBasic入門 / 目次
じっくりと読みながらプログラムを入力して Casio Basicの使いこなしやプログラムの作り方を修得する。題材のプログラムは、ある程度の完成度があり、実用的に使えるレベルになっている(と思う...)。

CasioBasic コマンドリファレンス 目次
Casio Basic のコマンドや命令を、出来るだけ詳しく調べた結果に基づいて解説している(抜けが無いことを祈るばかり...)。

逆引き Casio Basic 目次
Casio Basic で何か実現したいこと、やりたいことに対して、ピンポイントで実現方法、サンプルプログラム、考え方を紹介している(思いついたことから順次拡充中...)。

<トップへ戻る>



応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ

  

keywords: fx-5800PCasioBasicプログラム関数電卓

リンク集 | ブログ内マップ
関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

fx-5800P【ゲーム】:もぐら叩き~まとめ~

fx-5800Pでもぐら叩き
e-Gadget


fx-5800P で作る「もぐら叩き」ゲームのまとめ
コード修正 2014/03/20
fx-FD10 proに関する記述追加 2014/09/28
コード誤記修正 2016/05/12
  fx-CG20 に関する記述修正 2017/01/04
 


普通のプログラム作成の記事と異なり、多少冗長な内容になっており、(1)~(8)で、徐々にプログラムを作ってゆく様子を複数の記事で紹介した。


最終的なプログラムは、本ページの一番下に掲載した。


一連の連載は開発ストーリーになっている。

fx-5800P【ゲーム】:もぐら叩き(1)

fx-5800P【ゲーム】:もぐら叩き(2)

fx-5800P【ゲーム】:もぐら叩き(3)

fx-5800P【ゲーム】:もぐら叩き(4)

fx-5800P【ゲーム】:もぐら叩き(5)

fx-5800P【ゲーム】:もぐら叩き(6)

fx-5800P【ゲーム】:もぐら叩き(7)

fx-5800P【ゲーム】:もぐら叩き(8)



fx-5800P に搭載されているプログラミング言語は、Casio Basic というカシオの味付けをした BASIC言語 だ。

特に、もぐら叩きのようなゲームを作る際に特に重要かつ必要なものは、以下の機能だろう。
1) 広い表示画面
2) Getkeyコマンドによる、リアルタイムキー入力監視機能
3) Locateコマンドによる、柔軟な表示機能


さらに、昔のプログラム電卓に搭載されていた BASIC と異なり、構造化 BASICである点も特筆できる。昔のプログラム電卓やポケコンに搭載されていた BASIC は行番号と GOTO コマンドでプログラムの流れを作っていたが、現在の Casio Basic は Goto コマンドを使わずに制御構造を作れるので、ブロック構造による 構造化プログラミングができるようになっている。

これらの機能が、fx-5800P を魅力的にしている。


CASIOの電卓の中で、上記を満たすプログラミング言語を搭載されているのは、私が入手しているマニュアルを調べる限り、下記の4機種程度で、比較的限られている。

・fx-9860G: グラフ関数電卓(生産終了)
 取扱説明書

・fx-9860G II: グラフ関数電卓(現行品)
 メーカーサイト / 取扱説明書

・fx-CG20 / fx-CG10: グラフ関数電卓(現行品)
 メーカーサイト / 取扱説明書

・fx-FD10 pro 土木測量向けプログラム関数電卓 (現行品)
 メーカーサイト / 取扱説明書

・fx-5800P: プログラム関数電卓(現行品)
 メーカーサイト / 取扱説明書


fx-FD10 pro fx-FD10 pro


fx-9860GIIfx-9860G II 
fx-CG20fx-CG20 

fx-5800P-3fx-5800P 


上で紹介した機種には、新世代の CASIO BASIC が搭載されている。fx-5800Pが最も機能制限されていて、他はfx-5800Pのほぼ上位互換となっている。

完全互換でないのには理由がある。電卓の機種が異なると、ハードウェアの違いからキー配置が異なる。従って、Getkeyで得られるキーコードが異なるため、ソースレベルでの互換性は無い。これを除けば fx-5800Pのプログラムからの移植性は比較的高いと(旧来の命令の互換性については、少し注意が必要だ⇒こちらを参照)。

上で紹介したもの以外の、過去のグラフ関数電卓や、プログラム関数電卓では、上記の3つの条件を同時に満たすものは無い。グラフ機能の無いプログラム関数電卓としては、2006年発売の fx-5800P が唯一上記3つの条件を満たす。しかし、fx-72F、fx-71F 、fx-3600P、fx-3950Pなどはプログラム機能が十分でないので 魅力的な新世代 Casio Basic を搭載していないので、推奨機種から除外する。

fx-9860GII、fx-CG20、fx-FD10 Pro は、1万円以上の価格だ。

一方で、fx-5800P は 6千円台前半 (2017/01/01時点の Amazon価格) と格段に手軽な価格だ。この価格で、上記3つの条件を満たす言語を搭載しているのだから、改めて魅力的なマシンと言える。

※ 興味があれば、最近のCasio プログラム電卓の価格動向 を参照ください。


当初は、fx-5800P のような電卓で、遊べるアクションゲームを作れるとは思っていなかった。いきさつは、以下の記事に書いた。

fx-5800P【ゲーム】:もぐら叩き(1)

たまたま、Goto~Lbl コマンドで、カウントタイマーを作ってみると、意外に速いことから、実際に遊べるレベルのアクションゲームを作れるかどうかを試したくなったのが、もぐら叩きを作り始めた動機だった。

パソコンで作るゲームと異なり、最初にゲーム仕様を作るのではなく、機能を追加した時にゲームとしてのスピード感を損なわないように探りつつ、様子を見ながらゲーム仕様を作っていった。実際に私自身が考えたり試したりした事柄を、時系列で実況中継風に書いた結果、冗長な記事となってしまった。

その結果、そこそこの出来映えとなったと思っている。

実力の有る方なら、一気にスイスイとプログラムを作れるのだろうが、そこは私のスキルレベルに読者の皆さんを付き合わせてしまった。


できあがったゲームは、バリバリのゲーマーには物足りないのだが、普段からあまりゲームで遊ばない人間(=私)には、少しすつスキルアップして、得点が増えてゆくのが愉しい。


ご興味の有る方は、是非一度プログラムを入力して、遊んでみて欲しい。


もぐら叩きが意外にうまくいったので、最近はシューティングゲームができないものか?と、色々と動きのあるルーチンを作って遊んでみている。ひょっとしたら、何かシューティングゲームができるのかも知れない。

電卓の遅い処理速度、完全シングルタスク、広いといっても16×4 しかない画面で、動きやロジックを試しながら、遊べそうなゲームを模索してみようと思っている。


おしまい( ^o^)ノ



以下は、プログラムコード: [2016/05/15 誤記修正]

もぐら叩き: Wack -a-Mole by やす(Krtyski)

Wack-a-Mole_src 





応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ


keywords: fx-5800Pfx-CG20fx-9860G IIゲーム、プログラミングもぐら叩きプログラム関数電卓

リンク集 | ブログ内マップ

関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

Casio Basic: ◢ (出力命令)

Casio Basic
コマンドリファレンス

Casio fx-5800P、fx-9860GII、fx-CG20 で確認をとっています。Casio fx-FD10 Pro では互換性はあると考えられますが、実機で確認していないので「可能性」としてご覧ください。
最終更新 2017/01/03

fx-5800P / fx-9860GII / fx-CG20
◢ (出力命令)

◆概 要: プログラムを一時停止し、数字、文字列、式や関数の計算結果、コマンドの戻り値を出力する。

◆書 式: [出力内容]◢


出力命令 ◢ は、CasioBasic 独特のコマンド。

この出力命令は、プログラムを一時停止して出力を行い、[EXE] で一時停止を解除する一連の動作を行う。
プログラムの一時停止をせずに出力したい場合は、"   " (文字列出力)、や Locateコマンドを用いる。

※ 出力命令 でプログラムが一時停止した時の画面出力が、fx-9860GII と fx-5800P で違いがある。
・ fx-9860GII / fx-CG20現在の内部カーソル行に - DISP - (右から8桁使用) が上書き表示される。
 [EXE] キーを押せば - DSIP - 表示は消える。

・ fx-5800P: 画面最上部のステータス表示部に  DISP  アイコンが表示され、プログラム実行画面には特に何も表示されない。

(参考) " "  命令に関連した内部カーソル行について ⇒ Casio Basic コマンドリファレンス - " " (出力命令)






変数Aに5が代入されている時、
A◢
と記述すると、画面に5が表示される。


5→A◢
と記述すると、画面に5が表示される。


Aに1234が、Bに5678が代入されている時、
AxB◢
と記述すると、画面に 7006652 と表示される。


"OUTPUT TEST"◢
と記述すると、画面に OUTPUT TEST が表示される。


fx-9860GII / fx-CG20 での - DISP - 表示について
一時停止する時表示される - DISP - は、右から8桁を使用して、右橋に表示される。表示される行は、現在の内部カーソル行になる。内部カーソル行は プログラム起動後の出力命令 "  "  の実行回数で決まる。起動直後および "  " が実行されない時は1行目、1回実行されるたびに改行されて1つ下の行になる。" " が6回実行されると内部カーソル行が7行目になり、それ以降は " " が何回実行されても内部カーソル行は7行目のままとなる。

現在のカーソル行が1行目のの時、

Locate 1,1, "LINE"

を実行すると、LINE と表示されるが、

Locate 1,1,"LINE"◢

を実行すると、LINE の表示の上に、ー DISP ーが上書きされるので、LINE の表示が消える。

従って、"" を利用して内供カーソル行を所定の位置にしてから Locate コマンドを使うか、" " を一切使わずに内部カーソル行を1行目に固定した上で、Locate コマンドを2行目以下で使うように、プログラム上で考慮すると良い。

"":"":"":"":"":""
Locate X,Y,"LINE"


とすると、最初に "" を6回実行することで内部カーソル行を7行目にしいる。その後 Locate コマンドでの表示では、Y は 1~6 の範囲で使えば、- DISP - に表示を妨害されない。

(参考) ⇒ fx-9860GII への移植 - ピタゴラス数





応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ


keywords: fx-5800PCasioBasic出力命令プログラミング入門プログラム関数電卓

リンク集 | ブログ内マップ
関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

Casio Basic: ⇒命令(条件ジャンプ)

Casio Basic
コマンドリファレンス

Casio fx-5800P、fx-9860GII、fx-CG20 で確認をとっています。Casio fx-FD10 Pro では互換性はあると考えられますが、実機で確認していないので「可能性」としてご覧ください。
最終更新 2017/01/03

fx-5800P / fx-9860GII / fx-CG20
⇒命令 (条件ジャンプ)

◆概 要: 条件ジャンプを行う。

◆書 式: [条件][処理]


⇒命令は、CasioBasic特有の命令。

[条件]「真」の場合は[処理]を実行、そうでない場合([条件]「偽」の場合)は[処理]を飛ばして(ジャンプして)、次へ進む。

[条件]⇒[処理]まで は、改行なしで1行に書かないとエラーとなる。さらに⇒の前後にスペースが入ると、これもエラーになる。



If 文との類似性

[条件][処理]

は、

If [条件]
Then [処理]
IfEnd


と同等です。


複数条件分岐への応用

CasioBasicには、switch~case (C言語)やSelect~Case (VisualBasic)のような多条件分岐コマンドが用意されていません。
しかし、⇒命令を工夫すると、複数条件分岐処理ができます。この記法の利点は、Fall Through (フォールスルー)が実現できる点にあります。

[2014/02/23 補足] If Else と言う記法を使えば、複数条件分岐をスッキリと書くことができます。
CasioBasicコマンドリファレンス If文 参照>

Lbl 0
"N"?→N
N=1⇒Goto 1
N=2⇒Goto 2
N=3⇒Goto 3

N=4⇒Goto 4
Goto Z

Lbl 1
[処理1]
      例えば Locate 1,2,"ONE  " (スペース2個)
(Goto 0)

Lbl 2

[処理2]      例えば Locate 1,2,"TWO  " (スペース2個)
(Goto 0)

Lbl 3
[処理3]
      例えば Locate 1,2,"THREE" (スペースなし)
(Goto 0)

Lbl 4
[処理4]
      例えば Locate 1,2,"FOUR " (スペース1個)
(Goto 0)

Lbl Z


この記法には、重要な注意点があります。

※ 重要な注意点: 赤文字で示した Goto Z Lbl Z は絶対に省略しないこと!
※ 応用上の注意点: (Goto 0) は省略可能です。但し必要な時のみ省略すること。

この記法には、Goto を正しく使うことが条件で、1つ利点があります。青文字出示した (Goto 0) を省略すると Else If の記法では実現しない機能が得られます(Fall Through、フォールスルーが可能になります)。

(Goto 0) を省略すると、下のラベルの処理を連続して行えます。ラベルの並び順を工夫することで処理の効率化が可能になります。

柔軟で有名なC言語での以下のような記法と同等なことがCasioBasicで実現できるわけです。そのため、敢えて Goto を使った記法を紹介しています。

switch (E) {
    case 4:
        [処理4]
        break;
    case 3:

        [処理3]  // フォールスルー
    case 2:
        [処理2]
        break;
    case 1:
        [処理1]
        break;
}


ここで、break; は Goto 0 に相当します。Eが3の時、case 3: へジャンプし、ここには break; が無いので、続いて case 2 の処理を実行します。

これを CasioBasicの上の記法を用いると以下のようになります。

Lbl 0
E=4⇒Goto 4
E=3⇒Goto 3
E=2⇒Goto 2
E=1⇒Goto 1
Goto Z


Lbl 4
[処理4]
Goto 0

Lbl 3

[処理3]

Lbl 2
[処理2]
Goto 0

Lbl 1
[処理1]
Goto 0


Lbl Z


[2014/12/14 修正: (Goto Z) を (Goto 0) に変更]



If文と⇒命令の処理速度比較

If ~Then~IfEndを使った以下のプログラムの処理時間は21秒。
0→L:0→H
1000→C
Lbl 0
Ic C>500
Then Isz H
IfEnd

Dsz C
Goto 0
"DONE"


⇒命令を使った以下のプログラムの処理時間は20秒
0→L:0→H
1000→C
Lbl 0
C>500⇒Isz H
Dsz C
Goto 0
"DONE"



命令は If 文よりも僅かに処理速度が速く、表記が分かりやすいので利用価値の高い命令です。


一方、Elseを用いたIf文では、事情が少し異なります。
If ~Then~Else~IfEndを使った以下のプログラムの処理時間は28.5秒。
0→L:0→H
1000→C
Lbl 0
Ic C>500
Then Isz H
Else Isz L
IfEnd

Dsz C
Goto 0
"DONE"


⇒命令を使った以下のプログラムの処理時間は32秒
0→L:0→H
1000→C
Lbl 0
C>500⇒Isz H
C≦500≦Isz L

Dsz C
Goto 0
"DONE"


従って、2者択一の条件分岐は、If文を使った方が速いことが分かります。

fx-5800P の場合、処理速度の絶対値が変動するようなので、相対比較しか出来ません。



応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ


keywords: fx-5800PCasioBasic命令プログラミング入門プログラム関数電卓

リンク集 | ブログ内マップ
関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

Casio Basic: Locate

Casio Basic
コマンドリファレンス

Casio fx-5800P、fx-9860GII、fx-CG20 で確認をとっています。Casio fx-FD10 Pro では互換性はあると考えられますが、実機で確認していないので「可能性」としてご覧ください。
最終更新 2017/01/03 更新

fx-5800P / fx-9860GII / fx-CG20
Locate

◆概 要:
数字や文字を画面内の指定した座標に出力する。

◆書 式: Locate [x 座標],[y 座標],[出力内容]

◆引 数:
[x 座標] (左端からの1から始まる桁数)
  fx-5800P: 1 ~ 16 のいずれかの整数値。
   - これ以外の数値を設定するとエラーになる。
   - 正数、変数、式、この範囲の正数を返す関数やコマンドも設定可能。
  fx-9860GII / fx-CG20: 1 ~ 21 のいずれかの整数値。
   - これ意義亜の数値を設定するとエラーになる。
   - 正数、変数、式、この範囲の正数を返す関数やコマンドを設定可能。
   ※ 画面の左上が原点(1,1) 、x座標は右へ行くほど大きくなる。

[y 座標] (上端からの1から始まる行数)
  fx-5800P: 1 ~ 4 のいずれかの整数値。
   - これ以外の数値を設定するとエラーになる。
   - 正数、変数、式、この範囲の正数を返す関数やコマンドを設定可能。
  fx-9860GII / fx-CG20: 1 ~ 7 のいずれかの整数値。
   - これ以外の数値を設定するとエラーになる。
   - 正数、変数、式、この範囲の正数を返す関数やコマンドを設定可能。
   ※ 画面の左上が原点(1,1)、y座標は下へ行くほど大きくなる。

[出力内容]: 数値、変数、式、文字、文字列、値を返す関数やコマンドを設定可能。
    文字および文字列は "   "で括る

◆戻り値: なし



ENGモードが On になっている時は、Locate による表示で、空白が付加されることがあるので、要注意です。
 ⇒ Casio Basic コマンドリファレンス: EngOn / EngOff / Eng





応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ


keywords: fx-5800PCasioBasicLocateプログラミング入門プログラム関数電卓

リンク集 | ブログ内マップ
関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

最新記事
最新コメント
カテゴリ
C# (3)
検索フォーム
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

Author:やす (Krtyski)
since Oct 30, 2013


プログラム関数電卓は、プログラムを作り・使ってナンボ!

実際に触って気づいたこと、自作プログラム、電卓プログラミングについて書いています

おもしろい・役に立つならクリックしてください。励みになります。

人気ブログランキングへ


FC2ブログランキングへ


写真: 「4駆で泥んこ遊び@オックスフォード郊外」

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

RSSリンクの表示
最新トラックバック
ブロとも申請フォーム

この人とブロともになる

QRコード
QR