• 検索結果がありません。

回文作成支援プログラム

N/A
N/A
Protected

Academic year: 2021

シェア "回文作成支援プログラム"

Copied!
10
0
0

読み込み中.... (全文を見る)

全文

(1)

プログラムの概要

掲示文を入力し、表示開始ボタンをクリック すると、入力した掲示文が、上部の表示域に、 右から左へ流れる様に表示される。 亦、表示停止ボタンをクリックすると、掲示 文の動きが停止する。 終了ボタンをクリックすると、タイマーを停 止し、プログラムをメモリから消去して終了 する。

電光掲示板プログラム

C# 2005 ① □ クラスレベルでグローバルな単純変数の宣言(private) □ Windows フォームコントロールの利用(TextBox、Label、Button、Panel、Timer) □ プロパティの値の取得と設定(Text、Enabled) □ イベントの利用(Click、Tick) □ アプリケーションの終了(Application.Exit メソッド) □ VisualBasic 関数の利用(Microsoft.VisualBasic.Strings.StrConv、Space) □ 演算子(代入演算子=、比較演算子!=、==、結合演算子+) □ 制御構造構文(条件分岐 if ( ~ ) { … } ) 今回の課題項目 □ 変数の適用範囲(スコープ:フォームモジュールレベル) □ if 文に依る条件分岐( if ( ~ ) { … } else { … } ) □ 文字列操作(文字列操作関数) □ タイマー処理(一定時間間隔でのイベントの発生) 今回の重点項目 □ 文字列の流れる方向を逆方向に仕たり、行き来したりする様にする。 □ 常にキャレットが入力文字列の末尾に在り、入力が行い易い様にする。 今回の応用項目

(2)

■ C#から Visual Basic の関数を使用 ■

Visual Basic は、C#を含む Visual Studio 2005 言語と同様に、.NET Framework と仕て統一されたク ラスライブラリを利用したプログラミングが可能で有るが、一方で、.NET Framework には『Visual Basic ランタイムライブラリ』が用意されて居り、Visual Basic に固有の関数を、従来通り、利用する 事が出来る。

此等の関数は、既存のVisual Basic プログラム資産を.NET 以降でも活かす様に用意された物と思われ るが、其の実体はMicrosoft.VisualBasic.dll と謂うアセンブリファイルで提供されて居り、C#から観れ ば、此れは1 つのクラスライブラリで有り、C#からも、其等を呼び出して利用する事が出来る。此の中 には、C#から利用する価値の有る便利な関数も幾つか含まれて居る。

名前空間 :Microsoft.VisualBasic モジュール :Interaction

アセンブリ :Microsoft.Visual Basic .NET ランタイム (Microsoft.VisualBasic.dll 内)

Visual Basic に固有の関数を使用するには、先ず、アセンブリの参照設定を行う必要が有る。参照設定 は、プログラムをコンパイル、又は、ビルドする際に必要と成る。猶、Visual Studio 2005 では、参照 設定を行う事に依り、其のアセンブリに含まれるクラスに対してインテリセンスが有効と成る。 Visual Studio 2005 でアセンブリの参照設定を行うには、メニューバーの『プロジェクト』で『参照の 追加』クリックして、ダイアログを開き、『.NET』タブで『Microsoft.Visual Basic』と謂う名前のコン ポーネントを選択して、『OK』ボタンをクリックすれば、参照の追加が完了する。

(3)

■ オブジェクト・プロパティ一覧 ■ コントロールの種類 プロパティ プロパティの設定値 フォーム Name keijiban Text 電光掲示板 BackColor Black FormBorderStyle Fixed3D パネル Name pnlBack BackgroundImage back.gif ラベル1 Name lblTitle AutoSize False Text 電光掲示板プログラム Font MS明朝、太字、14 ForeColor 255, 255, 192(薄黄) ラベル2 Name lblDisp AutoSize False Text 空白 Font MS明朝、太字、16 ForeColor Red BackColor Transparent ラベル3 Name lblSrc AutoSize False Text 掲示文 Font MS明朝、太字、14 ForeColor 255, 255, 192(薄黄) タイマー Name tmrBBS ボタン1 パネル ラベル1 ラベル2 ラベル3 テキストボックス ボタン2 ボタン3 タイマー

(4)

コントロールの種類 プロパティ プロパティの設定値 テキストボックス Name txtSrc Text 空白 Font MS明朝、標準、14 ImeMode Hiragana BorderStyle FixedSingle ボタン1 Name btnStart Text 表示開始 Font MS明朝、太字、12 BackColor 255, 255, 192(薄黄) ボタン2 Name btnStop Text 表示停止 Font MS明朝、太字、12 BackColor 255, 255, 192(薄黄) ボタン3 Name btnFinish Text 終了 Font MS明朝、太字、12 BackColor 255, 255, 192(薄黄) ラベル テキストを表示するコントロール。此のテキストは、ユーザーが直接入力したり変更したりす る事は出来ない。 テキストボックス テキストの入力や表示を行うコントロール。此のテキストボックスは、ユーザーが直接入力し たり変更したりする事が出来る。 ボタン ユーザーが選択したコマンド(命令)や操作を実行するコントロール。OKボタンや実行ボタ ン等、処理の開始や中断・終了の合図に用いられ、最も良く利用されるコントロールで有る。 パネル 他のコントロールをグループ化する為のコンテナと成るコントロールで有る。通常は、機能別 にフォームを細分化する為に使用する。亦、BackgroundImage プロパティを設定すると、コ ントロールの背景にイメージが表示される。 タイマー 一定の時間間隔でイベントが発生する様にするコントロール。一定時間毎にプログラムを実行 したい時に使用する。此のコントロールは、実行時には表示されない。 例えば、フォームの StartPosition プロパティを、規定値で有る WindowsDefaultLocation から CenterScreen に変更すると、実行時に、フォームがディスプレイの中央に表示される。此の様に色々 なプロパティを、変更して観て、其の効果を、確認して欲しい。此の際、元の値を覚えて置くと、 仮令、予期せぬ状態に成った場合でも、元の値に戻せば良い丈なので、安心して、色々と試して観 て欲しい。

(5)

■ プログラムリスト ■ using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Microsoft.VisualBasic; namespace keijiban {

public partial class keijiban : Form { private string s; public keijiban( ) { InitializeComponent( ); } // ボタン(表示開始)がクリックされた時の処理

private void btnStart_Click( object sender, EventArgs e ) {

if ( txtSrc.Text != "" ) {

// テキストボックスの内容を変数 s に代入

s = Strings.StrConv(Strings.Space(10), VbStrConv.Wide, 0) + txtSrc.Text; lblDisp.Text = s; // 文章(変数 s の値)をラベルに表示

tmrBBS.Enabled = true; // タイマの有効化 }

}

// タイマが一定間隔で行う処理

private void tmrBBS_Tick( object sender, EventArgs e ) {

s = s.Substring(1) + s.Substring(0, 1); // 先頭の1文字を末尾に移動 lblDisp.Text = s; // 文章(変数 s の値)をラベルに表示

}

// ボタン(表示停止)がクリックされた時の処理

private void btnStop_Click( object sender, EventArgs e ) { if ( tmrBBS.Enabled == true ) { tmrBBS.Enabled = false; // タイマの無効化 } } // ボタン(終了)がクリックされた時の処理

private void btnFinish_Click( object sender, EventArgs e ) { if ( tmrBBS.Enabled == true ) { tmrBBS.Enabled = false; // タイマの無効化 } Application.Exit( ); } アプリケーションを終了する場 合、使用したタイマーは無効にし て終了する事が望ましい。 Application.Exit メソッドは、ア プリケーションを強制的に終了す る手段を提供する。 Strings.StrConv は 、 名 前 空 間 Microsoft.VisualBasic に 属 す る ので、名前空間の使用を宣言して 居ない場合は、名前空間で修飾す る必要が有る。 ネームスペース(名前空間)の使 用を宣言して居る。 此の部分は、エディタが、自動的 に記述して下れる。 クラスを生成する為のコンストラ クタで有る。 此の部分は、エディタが、自動的 に記述して下れる。 此処で宣言した変数は同じフォー ムクラス内の総てのサブプロシー ジャで値の参照と設定を行う事が 出来る。 条件判定に、比較演算子を使用し て居る。 A != B : AとBは等しくない 文字列を左回転させるには、文字 列の2文字目から最後迄の部分の 後ろに左端の1文字を結合する。 条件判定に、比較演算子を使用し て居る。 A == B : AはBと等しい Microsoft.VisualBasic 名 前 空 間 を追加して居る。

(6)

変数(variable)とは 変数とは、プログラムの実行中に変更出来る特定の型のデータを入れる名前付きの場所を謂 う。通常、適切な名前を付けて宣言し、数値、文字列、其他のデータを代入(格納)したり 演算に使用する。 コンピュータのメモリ(記憶装置)は、夫々の場所を示すアドレス(番地)が割り当てられ て居る。アドレスは、実装されたメモリ空間の特定の場所を指し示す数値で有り、メモリに 記憶(保存)されたデータは、其のアドレスに依り参照される。 併し、BASIC や C 等の高級言語では、データの記憶場所と変数名が自動的に関連付けられ る為、データが記憶されたアドレスを覚えて置く必要は無く、データを、其の内容を連想し 易い名前で参照する事が出来る。 変数とは、データを入れて置く為の箱の様な物で、其の箱を区別する為に、内容が解り易い 名前(変数名)を付けて居ると考えると良い。 変数は、使用する前に、必ず、下記の書式で宣言する必要が有る。 データ型 変数名 [, 変数名 … ]; 同じデータ型の変数は、カンマ( , )で区切り、幾つでも記述する事が出来る。 代入文 左辺の変数やオブジェクトのプロパティに、右辺の式の値を代入する。 下記の様な式を代入文と呼ぶ。此処で使用して居る=(イコール)は、数学の等号の様に左 辺と右辺が等しいと謂う意味では無く、右辺の計算式の値を左辺の変数等に代入すると謂う 意味で有る。 X=10 = 10 A=X+Y = + 此の代入文の右辺には数値、変数、式を記述する事が出来るが、右辺には1個の変数、又は オブジェクトのプロパティしか記述する事が出来ない。例えば、X+Y=Aと謂う様な記述 は出来ない。 定 義 解 説 機 能 解 説 X A X 10 Y 20 左辺の値(10)を代入 左辺の値(10+20)を代入

(7)

if 文に依る条件分岐 論理式の条件判断を行うステートメント 単一ステートメント形式① if ( 論理式 ) 論理式が真の場合の処理; 単一ステートメント形式② if ( 論理式 ) 論理式が真の場合の処理; else 論理式が偽の場合の処理; 複数ステートメント形式① if ( 論理式 ) { 論理式が真の場合の処理; } 複数ステートメント形式② if ( 論理式 ) { 論理式が真の場合の処理; } else { 論理式が偽の場合の処理; } 複数ステートメント形式③ if ( 論理式1) { 論理式1が真の場合の処理; } else if ( 論理式2 ) { 論理式2が真の場合の処理; } else { 論理式1と論理式2が偽の場合の処理; } 論理式の条件に依りプログラムの実行を制御する。即ち、論理式が真(true)ならば論理式 に続くブロックの処理が実行され、偽(false)ならば else 以下のブロックの処理が実行さ れる。但し、else 節が無い場合には、if 構文の最後の } の次のコードが実行される。 通常、論理式(条件式)には比較式を指定するが、真(true)か偽(false)の孰れかに評価出来る式で 有れば、何んな式でも指定する事が出来る。但し、論理式が、真(true)か偽(false)の孰れかに評価 されない場合は、エラーが発生する。 単一ステートメント形式は、短く簡単な条件判断を行う時に使用する。亦、複数ステートメント形式は 単一ステートメント形式の構文に比べ、より構造化された柔軟な記述が出来、コードの読み易さや保守 性が向上し、デバッグも行い易く成る。 単一ステートメント形式の場合は、コードブロックを示すブレス( { } )を省略する事が出来るが、記 述しても構わない。寧ろ、不要な混乱を避ける為に、記述する事を推奨する。

Else 節と ElseIf 節はどちらも必要に応じて定義する。亦、ブロック形式では、ElseIf 節は幾つ指定し ても構わない。但し、Else 節の後ろには ElseIf 節を指定する事は出来ない。亦、1つの条件式の値に 機 能 書 式 解 説 論理式 真の場合の処理 偽の場合の処理 真(True) 偽(False)

(8)

StrConv メソッドに依る文字列の変換

指定通りに変換された文字列を返すメソッド

Microsoft.VisualBasic.Strings.StrConv(Str, Conversion, LocaleID) 平仮名・片仮名、全角・半角等の相互変換を行う。 Str には、変換する文字列型の式を指定し、必ず指定する。 Conversion には、変換方法を示す下記の VbStrConv 列挙型メンバを指定し、必ず指定する。 列挙体メンバ 説明 VbStrConv.None 無変換 VbStrConv.LinguisticCasing 言語学的な大文字小文字の区別規則を使用 *** VbStrConv.UpperCase 文字列を大文字に変換 VbStrConv.LowerCase 文字列を小文字に変換 VbStrConv.ProperCase 文字列内の各語の最初の文字を大文字に変換 VbStrConv.Wide * 文字列内の半角文字を全角文字に変換 VbStrConv.Narrow * 文字列内の全角文字を半角文字に変換 VbStrConv.Katakana ** 文字列内のひらがなをカタカナに変換 VbStrConv.Hiragana ** 文字列内のカタカナをひらがなに変換 VbStrConv.SimplifiedChinese * 中国語の繁体字を簡体字に変換 VbStrConv.TraditionalChinese * 中国語の簡体字を繁体字に変換 * アジアロケールに適用される。 ** 日本而巳に適用される。 *** VbStrConv.UpperCase と VbStrConv.LowerCase で有効

LocaleID には、システム LocaleID 値と異なる場合の LocaleID 値を指定し、省略する事が出来る。

Space メソッドに依る空白文字列の生成 指定した数の空白文字から成る文字列を返すメソッド Space( Number ) 指定した数の空白文字を並べた文字列を返す。 Number には、文字を幾つ並べるかを指定し、必ず指定する。 Space メソッドは、出力の書式指定や固定長文字列のデータのクリアを行うのに便利で有る。 機 能 書 式 解 説 機 能 書 式 解 説

上記の関数は、Microsoft.VisualBasic 名前空間に属す Strings オブジェクトのメソッドで有る。using ディレクテ ィブで名前空間を指定して居ない場合、Microsoft.VisualBasic.Strings.StrConv の様に、メソッドを完全修飾する 必要が有る。

亦、此等の関数は、孰れもString 型の値を返す為、旧バージョン(6.0)とは異なり、文字列型の型記号($)を付 記して戻り値の型を明示的に指定する必要は無い。但し、従来通りの型記号を付記した記述も、問題無く動作する。

(9)

Application.Exit メソッドに依るプログラムの終了 プログラムの実行を終了させるメソッド Application.Exit( ); 総てのアプリケーションウィンドウを閉じる。 Exit メソッドは全スレッドで実行中のメッセージループを総て停止し、アプリケーションのウィンドウ を総て閉じる。 但し、Exit メソッドは、フォーム毎に FormClosing イベントを発生させるが、イベントがキャンセル されると、此のメソッドは、以降の処理をせずに制御を戻す為、此のメソッドに依り、アプリケーショ ンが強制的に終了されるとは限らない。 猶、マニュアルに依ると、Application.Exit メソッドでアプリケーションを終了する場合、Form.Closed イベントとForm.Closing イベントは発生しない。此等のイベントの孰れかに実行する必要がある検証 コードが有る場合は、Exit メソッドを呼び出す前に、開いて居る各フォームに対して Form.Close メソ ッドを個別に呼び出す必要が有る、と謂う記述も有る。 Form.Close メソッドに依るプログラムの終了 (参考) フォームを閉じるメソッド Object.Close( ) オブジェクト内で作成された総てのリソースを閉じ、フォームを破棄する。 閉じるフォームが、アプリケーションのスタートアップフォームで有る場合は、アプリケーションが終 了する。其の為、プログラムを強制的に終了する場合に、使用する事が出来る。 特定の条件が満たされて居る場合は、Close でフォームが破棄されない。例えば、フォームがマルチド キュメントインターフェイス(MDI)アプリケーションの一部と仕て使用され、更に、其のフォームが 非表示にされて居る場合が、此れに相当する。 機 能 書 式 解 説 算術演算子 比較演算子 論理演算子 1.- 負数 1.== 等しい 1.! 否定 2.*、/ 乗算と除算 2.!= 等しくない 2.& 論理積 3./ 整数除算 3.< より小さい 3.| 論理和 4.% 剰余 4.> より大きい 4.~ 排他的論理和 5.+、- 加算と減算 5.<= 以下 6.>= 以上 算術演算子と論理演算子では、複数の演算子が使用されて居る場合には、頭に付けた番号の順序で 演算が行われる(上に書かれて居る演算子程優先順位が高い)。 機 能 書 式 解 説

(10)

基本的なデータ型 C# 2005 の基本的なデータ型を、下記に示す。 型 範囲 サイズ sbyte -128 ~ 127 符号付き8 ビット整数 byte 0 ~ 255 符号なし8 ビット整数 short -32,768 ~ 32,767 符号付き16 ビット整数 ushort 0 ~ 65,535 符号なし16 ビット整数 int -2,147,483,648 ~ 2,147,483,647 符号付き32 ビット整数 uint 0 ~ 4,294,967,295 符号なし32 ビット整数 long -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 符号付き64 ビット整数 ulong 0 ~ 18,446,744,073,709,551,615 符号なし64 ビット整数 float ±1.5e − 45 ~ ±3.4e38 7 桁

double ±5.0e − 324 ~ ±1.7e308 15 ~ 16 桁 decimal ±1.0×10e − 28 ~ ±7.9×10e28 有効桁数28 ~ 29 char U+0000 ~ U+ffff Unicode 16 ビット文字 string 0 個 ~ 約 20 億個の Unicode 文字(可変長) プラットフォームに依存

bool true 又は false プラットフォームに依存

object オブジェクト型の変数には任意の型を格納可能 32 又は 64 ビット

※ C#では、日付型と謂うデータ型は無い。日付型の変数を使用する場合は、DateTime クラスを使用 する事に成る。

整数型は、小数部分の無い数丈を表すデータ型で、下記の物が有る。

符号付き整数型は、sbyte 型、short 型、int 型、long 型で有る。小数値ではなく、整数が常に変数に格 納されて居る場合、此等の型の孰れかと仕て変数を宣言する。

符号無し整数型は、byte 型、ushort 型、uint 型、ulong 型で有る。変数にバイナリデータや状態が不 明のデータが含まれる場合は、此等の型の孰れかと仕て変数を宣言する。 非整数型のデータ型は、整数部分と小数部分の両方を含む数値を表す型で、下記の物が有る。 非整数型の数値データ型は、decimal 型(128 ビットの固定小数点)、float 型(32 ビットの単精度浮動 小数点型)、double 型(64 ビットの倍精度浮動小数点数型)で有る。此等の型は、総て符号付きで有る。 変数に小数が含まれる可能性が有る場合には、此等の型の孰れかと仕て変数を宣言する。 亦、C#には、出力する文字や表示する文字を処理する文字データ型が用意されて居る。char 型(文字 型)は 1 文字、string 型(文字列型)は不特定数の文字を格納する。孰れの型も Unicode 文字を処理 する。 常に1 文字しか格納しない変数の場合は char 型を、格納する文字数が不定の場合は string 型で変数を 宣言する。

参照

関連したドキュメント

画像の参照時に ACDSee Pro によってファイルがカタログ化され、ファイル プロパティと メタデータが自動的に ACDSee

指標名 指標説明 現 状 目標値 備 考.

業種 事業場規模 機械設備・有害物質の種 類起因物 災害の種類事故の型 建設業のみ 工事の種類 災害の種類 被害者数 発生要因物 発生要因人

目標 目標/ 目標 目標 / / /指標( 指標( 指標(KPI 指標( KPI KPI KPI)、実施スケジュール )、実施スケジュール )、実施スケジュール )、実施スケジュールの の の の設定

具体的には、2018(平成 30)年 4 月に国から示された相談支援専門員が受け持つ標準件

平成 支援法 へのき 制度改 ービス 児支援 供する 対する 環境整 設等が ービス また 及び市 類ごと 義務付 計画的 の見込 く障害 障害児 な量の るよう

この標準設計基準に定めのない場合は,技術基準その他の関係法令等に

要請 支援 要請 支援 派遣 支援 設置 要請 要請