回文作成支援プログラム

Similar documents
回文作成支援プログラム

回文作成支援プログラム

回文作成支援プログラム

ルーレットプログラム

回文作成支援プログラム

画像閲覧プログラム

草競馬プログラム

ブロック パニック

万年暦プログラム

ファイル操作

相性占いプログラム

C#の基本

ICONファイルフォーマット

占領双六ゲーム

NotifyIconコントロール

通信対戦プログラム

万年暦プログラム

相性占いプログラム

sinfI2005_VBA.doc

相性占いプログラム

インベーダープログラム

VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの

チャットプログラム

Userコントロール

プログラミング実習I

C#の基本2 ~プログラムの制御構造~

画像閲覧プログラム

データアダプタ概要

プロセス間通信

わにわにパニックプログラム

占領双六ゲーム

VB実用⑦ エクセル操作Ⅰ

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

ExcelVBA

VB.NET解説

3D回転体プログラム

ブロック崩し風テニス

PowerPoint プレゼンテーション

Java講座

Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値

構造体

モグラ叩きプログラム

グラフィックス

Visual Studio2008 C# で JAN13 バーコードイメージを作成 xbase 言語をご利用の現場でバーコードの出力が必要なことが多々あります xbase 言語製品によっては 標準でバーコード描画機能が付加されているものもあるようで す C# では バーコードフォントを利用したりバー

Microsoft Word - VB.doc

PowerPoint プレゼンテーション

ファイル操作-バイナリファイル

スライド 1

ファイル監視

ウィンドウ操作 応用

ListViewコントロール

正規表現応用

万年暦プログラム

MS-ExcelVBA 基礎 (Visual Basic for Application)

神経衰弱ゲーム

テキストファイルの入出力1

VB実用Ⅲ⑩ フリーデータベースⅡ

万年暦プログラム

64bit環境で32bitコンポーネントの利用

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

グラフィックス 目次

スレッド操作 タイマー

3D回転体プログラム

PowerPoint プレゼンテーション

パラパラ漫画

正規表現概要

チャットプログラム

グラフィックス 目次

プレポスト【問題】

ハッシュテーブル

スロットプログラム

JavaプログラミングⅠ

JavaプログラミングⅠ

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが

データベースプログラミング

マルチメディア・音声

通信対戦プログラム

神経衰弱ゲーム

Transcription:

電光掲示板プログラム C# 2005 1 プログラムの概要 掲示文を入力し 表示開始ボタンをクリックすると 入力した掲示文が 上部の表示域に 右から左へ流れる様に表示される 亦 表示停止ボタンをクリックすると 掲示文の動きが停止する 終了ボタンをクリックすると タイマーを停止し プログラムをメモリから消去して終了する 今回の課題項目 クラスレベルでグローバルな単純変数の宣言 (private) Windows フォームコントロールの利用 (Box Label Button Panel Timer) プロパティの値の取得と設定 ( Enabled) イベントの利用 (Click Tick) アプリケーションの終了 (Application.Exit メソッド ) VisualBasic 関数の利用 (Microsoft.VisualBasic.Strings.StrConv Space) 演算子 ( 代入演算子 = 比較演算子!= == 結合演算子 +) 制御構造構文 ( 条件分岐 if ( ~ ) ) 今回の重点項目 変数の適用範囲 ( スコープ : フォームモジュールレベル ) if 文に依る条件分岐 ( if ( ~ ) else ) 文字列操作 ( 文字列操作関数 ) タイマー処理 ( 一定時間間隔でのイベントの発生 ) 今回の応用項目 文字列の流れる方向を逆方向に仕たり 行き来したりする様にする 常にキャレットが入力文字列の末尾に在り 入力が行い易い様にする -1-

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 ボタンをクリックすれば 参照の追加が完了する -2-

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

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

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.; 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.!= "" ) A!= B // テキストボックスの内容を変数 s に代入 s = Strings.StrConv(Strings.Space(10), VbStrConv.Wide, 0) + txtsrc.; lbldisp. = s; // 文章 ( 変数 s の値 ) をラベルに表示 tmrbbs.enabled = true; // タイマの有効化 // タイマが一定間隔で行う処理 private void tmrbbs_tick( object sender, EventArgs e ) s = s.substring(1) + s.substring(0, 1); // 先頭の1 文字を末尾に移動 lbldisp. = 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( ); -5- ネームスペース ( 名前空間 ) の使用を宣言して居る 此の部分は エディタが 自動的に記述して下れる Microsoft.VisualBasic 名前空間を追加して居る 此処で宣言した変数は同じフォームクラス内の総てのサブプロシージャで値の参照と設定を行う事が出来る クラスを生成する為のコンストラクタで有る 此の部分は エディタが 自動的に記述して下れる 条件判定に 比較演算子を使用し : A と B は等しくない Strings.StrConv は 名前空間 Microsoft.VisualBasic に属するので 名前空間の使用を宣言して居ない場合は 名前空間で修飾する必要が有る 文字列を左回転させるには 文字列の 2 文字目から最後迄の部分の後ろに左端の 1 文字を結合する 条件判定に 比較演算子を使用して居る A == B : AはBと等しい アプリケーションを終了する場合 使用したタイマーは無効にして終了する事が望ましい Application.Exit メソッドは アプリケーションを強制的に終了する手段を提供する 猶 フォームが 1 個丈の場合は this.close でも終了出来る

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

if 文に依る条件分岐 書式 論理式の条件判断を行うステートメント 単一ステートメント形式 1 if ( 論理式 ) 論理式が真の場合の処理 ; 単一ステートメント形式 2 if ( 論理式 ) 論理式が真の場合の処理 ; else 論理式が偽の場合の処理 ; 複数ステートメント形式 1 if ( 論理式 ) 論理式が真の場合の処理 ; 複数ステートメント形式 2 if ( 論理式 ) 論理式が真の場合の処理 ; 偽 (False) else 論理式真 (True) 論理式が偽の場合の処理 ; 複数ステートメント形式 3 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 つの条件式の値に依り 複数の処理の孰れかを実行させるには Select Case ステートメントの方が適して居る -7-

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) とは異なり 文字列型の型記号 ($) を付記して戻り値の型を明示的に指定する必要は無い 但し 従来通りの型記号を付記した記述も 問題無く動作する -8-

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.>= 以上 算術演算子と論理演算子では 複数の演算子が使用されて居る場合には 頭に付けた番号の順序で演算が行われる ( 上に書かれて居る演算子程優先順位が高い ) -9-

基本的なデータ型 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 型で変数を宣言する -10-