ファイル操作

Size: px
Start display at page:

Download "ファイル操作"

Transcription

1 ファイル操作 TextFieldParser オブジェクト ストリームの読込と書込 Microsoft.VisualBasic.FileIO 名前空間の TextFieldParser オブジェクトは 構造化テキストファイルの解析に使用するメソッドとプロパティを備えたオブジェクトで有る テキストファイルを TextFieldParser で解析するのは テキストファイルを反復処理するのと同じで有り ReadFields メソッドでテキストのフィールドを抽出するのは 文字列を分割するのと同じで有る TextFieldParser では デリミタ ( 区切記号 ) で区切られたファイルと固定幅のファイルの 2 種類のファイルを解析する事が出来る Delimiters プロパティや HasFieldsEnclosedInQuotes プロパティ等の一部のプロパティは デリミタで区切られたファイルで而巳有効で有り FieldWidths プロパティは 固定幅のファイルで而巳有効で有る TextFieldParser クラスの新しいインスタンスを生成するコンストラクタには 下記の 8 種類のオーバーロードが有る オーバーロード TextFieldParser(path) TextFieldParser(path, defaultencoding) TextFieldParser(path, defaultencoding, detectencoding) TextFieldParser(stream) TextFieldParser(stream, defaultencoding) TextFieldParser(stream, defaultencoding, detectencoding) TextFieldParser(stream, defaultencoding, detectencoding, leaveopen) TextFieldParser(reader) コンストラクタの引数は 下記の通りで有る 引数 型 解説 path String 解析されるファイルの絶対パス defaultencoding Encoding エンコーディングをファイルから特定出来ない場合に使用される文字エンコーディング ( 既定値は UTF8) detectencoding Boolean ファイルの先頭でバイト順マークを探すか何うかを指定 ( 既定値は True) stream Stream 解析されるストリーム leaveopen Boolean TextFieldParser オブジェクトを閉じる時に stream を開いた儘にするか何うかを指定 ( 既定値は False) reader TextReader 解析される TextReader ストリーム defaultencoding パラメータが指定されて居る場合 其れが 既定のエンコーディングと仕て使用される 亦 detectencoding パラメータが True の場合 ファイルやストリームの最初の 3 バイトを調べてエンコーディングを検出する ファイルが適切なバイト順マークで始まって居る場合は UTF-8 リトルエンディアン Unicode ビッグエンディアン Unicode の各テキストが自動的に認識されるが 其れ以外の場合は defaultencoding で指定されたエンコーディングが使用される 特定のカルチャ設定で文字セットをコンパイルし 同じ文字を別のカルチャ設定で取得する場合 文字を解釈出来ずに 例外がスローされる可能性が有る -1-

2 TextFieldParser オブジェクトのプロパティは 下記の通りで有る プロパティ 型 解説 CommentTokens String パーサーは指定されたコメントトークンで始まる行をスキップする Delimiters String テキストファイルの区切記号を指定する ( 区切記号入りファイルに対して而巳有効 ) EndOfData Boolean 現在のカーソル位置とファイルの末尾との間に空白行とコメント行しかない場合に True を返す ErrorLine String 直前に MalformedLineException を発生させた行を返す ( 既定値は "" ) ErrorLineNumber Long 直前に MalformedLineException を発生させた行番号を返す ( 既定値は-1) FieldWidths Integer テキストファイルの各列の幅を表す ( 固定幅のファイルに対して而巳有効 ) HasFieldsEnclosedInQuotes Boolean フィールドを二重引用符で囲む事が出来る場合に True を返す ( 区切記号入りファイルに対して而巳有効で 既定値は True) LineNumber Integer 現在の行番号を返すか 解析可能な文字が無く成った場合には -1 を返す TextFieldType FieldType 区切記号入りか固定幅のファイルの種類を表す ( 既定値は Delimited) TrimWhiteSpace Boolean フィールド値の前後の空白を切り取るか何うかを指定する TextFieldParser オブジェクトのメソッドは 下記の通りで有る メソッド Close PeekChars ReadFields ReadLine ReadToEnd SetDelimiters SetFieldWidths 解説基に成るストリームを閉じる 指定された数の文字を カーソルを進めずに読み取る 現在の行に有る総てのフィールドを読み込み 其れを文字列の配列と仕て返して カーソルを次の行に進める 現在の行を String 型で返し カーソルを次の行に進める ストリームの残りを読み取り 其れを String 型で返す リーダーの区切記号に指定された値を設定し フィールドの種類に Delimited を設定する リーダーの区切記号に指定された値を設定し field type に FixedWidth を設定する TextFieldParser オブジェクトを使用すると ログファイルやレガシデータベース情報等 区切文字や幅に応じて複数列に区切られたテキストから成る巨大なファイルの解析や処理が出来る テキストファイルを TextFieldParser で解析するのは テキストファイルを反復処理するのと同じで有り 解析メソッドでテキストのフィールドを抽出するのは 区切文字の付いた文字列を文字列操作メソッドでトークン化するのと同じで有る 様々な種類のテキストファイルの解析 テキストファイルは コンマやタブ等の文字で可変幅のフィールドに区切られて居る場合が有る 下記の例の様に TextFieldType と区切記号を定義する 下記の例では SetDelimiters メソッドを使用して タブ区切りのテキストファイルを定義して居る (Tr は TextFieldParser のインスタンス ) -2-

3 Tr.SetDelimiters(vbTab) Tr.SetDelimiters(vbTab); Visual Basic C# C# で使用する場合は Microsoft.VisualBasic の参照を追加する必要が有る 亦 テキストファイルに依っては 固定幅のフィールドを持つ場合も有る 其の場合には 下記の例の様に TextFieldType を FixedWidth と定義し 各フィールドの幅を定義する必要が有る 下記の例では SetFieldWidths メソッドを使用して テキストの列を定義して居る 最初は幅が 5 文字 其の次は 10 文字 其の次は 11 文字 其の次は可変幅で有る Tr.SetFieldWidths(5, 10, 11, -1) Tr.SetFieldWidths(5, 10, 11, -1); Visual Basic C# 書式を定義すれば ファイルをループし ReadFields メソッドを使用して 各行を順番に処理する フィールドが指定の書式に一致しない場合には MalformedLineException 例外がスローされる 此の例外がスローされた時には ErrorLine プロパティと ErrorLineNumber プロパティに 例外の原因に成ったテキストと 其のテキストの行番号が格納される コンマ区切りのテキストファイルの読込 TextFieldParser オブジェクトを使用すると ログ等の構造化されたテキストファイルを簡単に効率良く解析する事が出来る 区切記号が使用されたファイルと固定幅のテキストフィールドを持つファイルの孰れで有るかは TextFieldType プロパティで定義する Imports Microsoft.VisualBasic.FileIO Visual Basic Public Class TextFieldParseTest ' ボタン ( カンマ区切 ) がクリックされた時の処理 Private Sub btncomma_click(byval sender As System.Object, ByVal e As System.EventArgs) _ Handles btncomma.click ' ファイル名の設定 Dim F As String = Application.StartupPath If Not F.EndsWith(" ") Then F &= " " F &= "test.csv" ' TextFieldParser のインスタンス生成 Using Tr As TextFieldParser = New TextFieldParser(F, System.Text.Encoding.Default) ' TextField の型と区切記号を定義 Tr.TextFieldType = FieldType.Delimited Tr.SetDelimiters(",") ' カンマ区切 ( タブ区切の場合は Tr.SetDelimiters(vbTab)) ' 各行のループ -3-

4 Dim S( ) As String dgvdisp.rows.clear( ) Do Until Tr.EndOfData Try S = Tr.ReadFields( ) Dim R As DataGridViewRow = New DataGridViewRow( ) R.CreateCells(dgvDisp) For I As Integer = 0 To (S.Length - 1) R.Cells(I).Value = S(I) Next dgvdisp.rows.add(r) Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException MessageBox.Show(ex.LineNumber.ToString( ) & " 行目の書式が異常です!") Catch ex As Exception MessageBox.Show(" 予期せぬ例外が発生!") End Try Loop Tr.Close( ) End Using End Sub End Class C# // Microsoft.VisualBasic の参照を追加する事 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.FileIO; namespace TextFieldParseTest public partial class TextFieldParseTest : Form public TextFieldParseTest( ) InitializeComponent( ); // ボタン ( カンマ区切 ) がクリックされた時の処理 private void btncomma_click(object sender, EventArgs e) -4-

5 // ファイル名の設定 string f = Application.StartupPath; if(! f.endswith(@" ")) f "; f += "test.csv"; // TextFieldParser のインスタンス生成 using (TextFieldParser tr = new TextFieldParser(f, System.Text.Encoding.Default)) // TextField の型と区切記号を定義 tr.textfieldtype = FieldType.Delimited; tr.setdelimiters(","); // カンマ区切 ( タブ区切の場合は Tr.SetDelimiters(" t")) // 各行のループ string[] s; dgvdisp.rows.clear( ); while (!tr.endofdata) try s = tr.readfields( ); DataGridViewRow r = new DataGridViewRow( ); r.createcells(dgvdisp); for (int i = 0; i < s.length; i++) r.cells[i].value = s[i]; dgvdisp.rows.add(r); catch (Microsoft.VisualBasic.FileIO.MalformedLineException ex) MessageBox.Show(ex.LineNumber.ToString( ) + " 行目の書式が異常です!"); catch (Exception ex) MessageBox.Show(" 予期せぬ例外が発生! n" + ex.message); 固定幅のテキストファイルの読込 TextFieldParser オブジェクトを使用すると ログ等の構造化されたテキストファイルを簡単に効率良く解析する事が出来る 区切記号が使用されたファイルと固定幅のテキストフィールドを持つファイルの孰れで有るかは TextFieldType プロパティで定義する 固定幅のファイル内で 可変幅のフィールドを指定するには フィールド幅を -1 と仕て定義する -5-

6 Imports Microsoft.VisualBasic.FileIO Visual Basic Public Class TextFieldParseTest ' ボタン ( 固定長 ) がクリックされた時の処理 Private Sub btnfixed_click(byval sender As System.Object, ByVal e As System.EventArgs) _ Handles btnfixed.click ' ファイル名の設定 Dim F As String = Application.StartupPath If Not F.EndsWith(" ") Then F &= " " F &= "test.fix" ' TextFieldParser のインスタンス生成 Using Tr As TextFieldParser = New TextFieldParser(F, System.Text.Encoding.Default) ' TextField の型とフィールド幅を定義 Tr.TextFieldType = FieldType.FixedWidth Tr.SetFieldWidths(3, 4, -1) ' 3 文字 4 文字 可変長 ' 各行のループ Dim S( ) As String dgvdisp.rows.clear( ) Do Until Tr.EndOfData Try S = Tr.ReadFields( ) Dim R As DataGridViewRow = New DataGridViewRow( ) R.CreateCells(dgvDisp) For I As Integer = 0 To (S.Length - 1) R.Cells(I).Value = S(I) Next dgvdisp.rows.add(r) Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException MessageBox.Show(ex.LineNumber.ToString( ) & " 行目の書式が異常です!") Catch ex As Exception MessageBox.Show(" 予期せぬ例外が発生!") End Try Loop Tr.Close( ) End Using End Sub End Class C# // Microsoft.VisualBasic の参照を追加する事 using System; -6-

7 using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Microsoft.VisualBasic.FileIO; namespace TextFieldParseTest public partial class TextFieldParseTest : Form public TextFieldParseTest( ) InitializeComponent( ); // ボタン ( 固定長 ) がクリックされた時の処理 private void btnfixed_click(object sender, EventArgs e) // ファイル名の設定 string f = Application.StartupPath; if (!f.endswith(@" ")) f "; f += "test.fix"; // TextFieldParser のインスタンス生成 using (TextFieldParser tr = new TextFieldParser(f, System.Text.Encoding.Default)) // TextField の型とフィールド幅を定義 tr.textfieldtype = FieldType.FixedWidth; tr.setfieldwidths(5, 5, -1); // 5 文字 5 文字 可変長 // 各行のループ string[] s; dgvdisp.rows.clear( ); while (!tr.endofdata) try s = tr.readfields( ); DataGridViewRow r = new DataGridViewRow( ); r.createcells(dgvdisp); for (int i = 0; i < s.length; i++) r.cells[i].value = s[i]; dgvdisp.rows.add(r); catch (Microsoft.VisualBasic.FileIO.MalformedLineException ex) -7-

8 MessageBox.Show(ex.LineNumber.ToString( ) + " 行目の書式が異常です!"); catch (Exception ex) MessageBox.Show(" 予期せぬ例外が発生! n" + ex.message); フィールド幅の指定は 文字数で有り 全角と半角を問わず 1 文字と数える 複数の書式を持つファイルの解析 TextFieldParser オブジェクトの PeekChars メソッドを使用すると 各フィールドを読み込む前に書式の検証を行う事が出来る 此れに依り フィールドに対して複数の書式を定義して 適切に対応する事も出来る TextFieldParser オブジェクトを使用すると ログ等の構造化されたテキストファイルを簡単に効率良く解析する事が出来る PeekChars メソッドを使用して ファイルを解析する時に 各行の書式を判断する事に依り 複数の書式を持つファイルを処理する事が出来る 下記のコード例では 通常 3 項目 (5 文字 5 文字 可変長 ) のデータで 少数の 2 項目 (5 文字 可変長 ) のデータ ( 行頭に * が付いて居る ) が含まれる場合を処理して居る Imports Microsoft.VisualBasic.FileIO Visual Basic Public Class TextFieldParseTest ' ボタン ( 複合書式 ) がクリックされた時の処理 Private Sub btnmulti_click(byval sender As System.Object, ByVal e As System.EventArgs) _ Handles btnmulti.click ' ファイル名の設定 Dim F As String = Application.StartupPath If Not F.EndsWith(" ") Then F &= " " F &= "test.mix" ' 標準の書式と例外時の書式の定義 Dim StdFrm( ) As Integer = 5, 5, -1 Dim ErrFrm( ) As Integer = 5, -1 ' TextFieldParser のインスタンス生成 Using Tr As TextFieldParser = New TextFieldParser(F, System.Text.Encoding.Default) ' TextField の型とフィールド幅を定義 -8-

9 Tr.TextFieldType = FieldType.FixedWidth Tr.FieldWidths = StdFrm ' 各行のループ Dim S( ), C As String dgvdisp.rows.clear( ) Do Until Tr.EndOfData Try C = Tr.PeekChars(1) If C = "*" Then Tr.SetFieldWidths(ErrFrm) S = Tr.ReadFields() Tr.SetFieldWidths(StdFrm) Else S = Tr.ReadFields( ) End If Dim R As DataGridViewRow = New DataGridViewRow( ) R.CreateCells(dgvDisp) For I As Integer = 0 To (S.Length - 1) R.Cells(I).Value = S(I) Next dgvdisp.rows.add(r) Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException MessageBox.Show(ex.LineNumber.ToString() & " 行目の書式が異常です!") Catch ex As Exception MessageBox.Show(" 予期せぬ例外が発生!") End Try Loop Tr.Close( ) End Using End Sub End Class C# // Microsoft.VisualBasic の参照を追加する事 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.FileIO; namespace TextFieldParseTest -9-

10 public partial class TextFieldParseTest : Form public TextFieldParseTest( ) InitializeComponent( ); // ボタン ( 複合書式 ) がクリックされた時の処理 private void btnmulti_click(object sender, EventArgs e) // ファイル名の設定 string f = Application.StartupPath; if (!f.endswith(@" ")) f "; f += "test.mix"; // 標準の書式と例外時の書式の定義 int[] StdFrm = 5, 5, -1 ; int[] ErrFrm = 5, -1 ; // TextFieldParser のインスタンス生成 using (TextFieldParser tr = new TextFieldParser(f, System.Text.Encoding.Default)) // TextField の型とフィールド幅を定義 tr.textfieldtype = FieldType.FixedWidth; tr.fieldwidths = StdFrm; // 各行のループ string[] s; string c; dgvdisp.rows.clear( ); while (!tr.endofdata) try c = tr.peekchars(1); if (c == "*") tr.setfieldwidths(errfrm); s = tr.readfields( ); tr.setfieldwidths(stdfrm); else s = tr.readfields( ); DataGridViewRow r = new DataGridViewRow( ); r.createcells(dgvdisp); for (int i = 0; i < s.length; i++) -10-

11 r.cells[i].value = s[i]; dgvdisp.rows.add(r); catch (Microsoft.VisualBasic.FileIO.MalformedLineException ex) MessageBox.Show(ex.LineNumber.ToString( ) + " 行目の書式が異常です!"); catch (Exception ex) MessageBox.Show(" 予期せぬ例外が発生! n" + ex.message); -11-

ICONファイルフォーマット

ICONファイルフォーマット グラフィックス 画像フォーマットエンコーダパラメータ 様々なフォーマットで画像を保存 Bitmap クラスを用いる事でビットマップ JPEG GIF PNG 等様々なフォーマットの画像を読み込み操作する事が出来る 更に Bitmap クラスや Graphics コンテナを用いて描画処理等を施したイメージをファイルに保存する事も出来る 此の時 読み込めるフォーマット同様に保存するフォーマットを選択する事が出来る

More information

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

VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るので 此れを利用して音声認識を行うサンプルを紹介する 下記の様な Windows フォームアプリケーションを作成する エディタを起動すると

More information

プロセス間通信

プロセス間通信 プロセス間通信 プロセス間通信 (SendMessage) プロセス間通信とは 同一コンピューター上で起動して居るアプリケーション間でデータを受け渡し度い事は時々有る Framework には リモート処理 と謂う方法でデータの受け渡しを行なう方法が有る 此処では 此の方法では無く 従来の方法の API を使用したプロセス間通信を紹介する 此の方法は 送信側は API の SendMessage で送り

More information

データアダプタ概要

データアダプタ概要 データベース TableAdapter クエリを実行する方法 TableAdapter クエリは アプリケーションがデータベースに対して実行出来る SQL ステートメントやストアドプロシージャで TableAdapter で型指定されたメソッドと仕て公開される TableAdapter クエリは 所有るオブジェクトのメソッドと同様に 関連付けられたメソッドを呼び出す事に依り実行出来る TableAdapter

More information

ファイル監視

ファイル監視 ファイル操作 ファイルやディレクトリの監視 FileSystemWatcher クラス.NET Framework のクラスライブラリには ファイルやディレクトリの作成 変更 削除を監視する為の FileSystemWatcher クラスが System.IO 名前空間に用意されて居る ( 但し Windows 98/Me では利用出来ない ) 此れを利用すると 特定のディレクトリにファイルが作成された

More information

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

ファイル操作-バイナリファイル ファイル操作 バイナリ ファイルを読み書きする バイナリファイル ( 即ちテキストファイル以外のファイル ) を読み書きするには FileStream クラス (System.IO 名前空間 ) を利用する FileStream クラスはファイル用のストリームをサポートするクラスで有り Stream クラス (System.IO 名前空間 ) の派生クラスの 1 つで有る 基本的には コンストラクタで指定したファイルのストリームに対して

More information

ウィンドウ操作 応用

ウィンドウ操作 応用 Win32API 関数 ウィンドウ操作 ウィンドウ名でトップレベルウィンドウ ( 親を持たないウィンドウ ) のハンドルを取得 メモ帳や電卓等のウィンドウ名でトップレベルウィンドウ ( 親を持たないウィンドウ ) のハンドルを取得する方法を 下記に示す Visual Basic Imports System.Runtime.InteropServices Public Class WindowFromWindowName

More information

正規表現応用

正規表現応用 正規表現 正規表現を使って文字列が或る形式と一致するか調べる 指定された正規表現のパターンと一致する対象が入力文字列内で見付かるか何うかを調べるには Regex クラスの IsMatch メソッドを使用する 此処では IsMatch メソッドを使った例を幾つか紹介する 猶 正規表現のパターンと一致する個所を探し 見付かれば 其の箇所を抽出する方法は 正規表現を使って文字列を検索し 抽出する で紹介して居る

More information

スライド 1

スライド 1 C# の基本 ~ ファイル読み込み ~ 今回学ぶ事 今回はファイル読み書きに必要 BinaryReader クラスについて記載する ファイル参照ダイアログである OpenFileDialog クラスについても理解を深める また Bitmap クラスを用いた Bitmap ファイルの読み込み方法についても学ぶ フォーム作り まず label picturebox を配置する ツールボックスより左クリックで選択する

More information

グラフィックス

グラフィックス グラフィックス PictureBox の Image プロパティに関する良く有る勘違い PictureBox に画像を表示する方法と仕て PictureBox の Image プロパティを使う方法と Graphics の DrawImage メソッドを使う方法が有るが 此の 2 つの方法を混同し 正しく理解して居ない事が多い様で有る 例えば 下記に列挙する様な状況が 此れに該当する 1.PictureBox

More information

構造体

構造体 構造体 Byte 配列 構造体とコピーする方法 構造体とバイト配列の変換を行うには System.Runtime.InteropServices 名前空間をインポートして置くと便利で有る Imports System.Runtime.InteropServices using System.Runtime.InteropServices; 下記の 3 種類の構造体にバイト配列の値を格納した場合に付いて検証する

More information

VB.NET解説

VB.NET解説 Visual Basic.NET 印刷編 目次 印刷の概要... 2 印刷の流れ... 2 標準の Windows フォーム印刷ジョブの作成... 3 実行時に於ける Windows フォーム印刷オプションの変更... 3 Windows フォームに於ける接続されたプリンタの選択... 4 Windows フォームでのグラフィックスの印刷... 5 Windows フォームでのテキストの印刷...

More information

Microsoft Excel操作

Microsoft Excel操作 Microsoft Excel 操作 Excel ファイルにアクセス リフレクションを利用したレイトバインディングで Excel ファイルを操作 Visual Basic なら CreatObject 関数を使用して 暗黙の遅延バインディングを利用する事に依り 簡単にに実現出来る Excel の操作も C# で実現するには 少し面倒臭い事に成る 事前バインディングでも実装する事も出来るが 事前バインディングだと

More information

スレッド操作 タイマー

スレッド操作 タイマー スレッド操作 タイマー System.Windows.Forms.Timer Windows フォームの Timer は 一定の間隔でイベントを発生させるコンポーネントで有る 此のコンポーネントは Windows フォーム環境で使用する サーバー環境に適したタイマが必要な場合は 後述の System.Timers.Timer を使用する イベントの発生する間隔は ミリ秒単位で Interval プロパティで設定しする

More information

Userコントロール

Userコントロール User コントロール 初めてのユーザーコントロールの作成 作成したクラスは他のプログラムで再利用出来る為 同じコードを何度も繰り返し作成する必要が無い コントロールも 複数のプロジェクトで再利用出来るクラスで有る 同じユーザーインターフェイスを何度も繰り返してデザインすると謂う経験は 恐らく誰でも有る 例えば 姓と名を入力する為の TextBox コントロールを追加した後で 両方を組み合わせてフルネームを作成するコードを追加する等の作業で有る

More information

相性占いプログラム

相性占いプログラム 相性占いプログラム C# 2005 1 プログラムの概要 画面上で 男女夫々れの誕生日の月日と血液型をコンボボックスより選択した後 占うボタンをクリックする 相性とアドバイス & ポイントは 血液型と星座の位置に依り 予め或る占術法に基づき作成されたデータをファイルより読み込んで配列に記憶させ 誕生日と血液型に依り算出された評価値に該当するデータを表示する 猶 必要な入力が行われて居ない場合には 警告音を鳴らして

More information

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~ .NET プログラマー早期育成ドリル VB 編 付録文法早見表 本資料は UUM01W:.NET プログラマー早期育成ドリル VB 編コードリーディング もしくは UUM02W:.NET プログラマー早期育成ドリル VB 編コードライティング を ご購入頂いた方にのみ提供される資料です 資料内容の転載はご遠慮下さい VB プログラミング文法早見表 < 基本文法 > 名前空間の定義 Namespace

More information

NotifyIconコントロール

NotifyIconコントロール NotifyIcon コントロール システムトレイ ( タスクトレイ ) にアイコンを表示する.NET Framework 2.0 以降の場合は 後述の 2 を観て欲しい Outlook や MSN Messenger 等の様に Windows アプリケーションではシステムトレイ ( タスクトレイ ステータス領域等とも呼ばれる ) にアイコンを表示して アプリケーションの状態を示したり アプリケーションのフォームを表示したりする為のショートカットとして利用する事が出来る.NET

More information

ブロック パニック

ブロック パニック ブロックパニック VB 2005 9 プログラムの概要 壁が迫り来る不思議な空間のオリジナルゲーム ブロックパニック を作成する スタートボタンをクリックし上下左右の矢印キーで白猿を移動させる スペースキーを押すと 向いて居る方向の壁が後退する 左右の壁が合わさると ゲームは終了する 一般的に 実用プログラムに比較するとゲームプログラムは 高度なテクニックを要求される事が多い 此処では ゲームプログラムを作成する事に依り

More information

ルーレットプログラム

ルーレットプログラム ルーレットプログラム VB 2005 4 プログラムの概要 カジノの代表的なゲーム ルーレット を作成する 先ず GO! ボタンをクリックすると ルーレット盤上をボールが回転し 一定時間経過すると ボールが止まり 出目を表示するプログラムを作成する 出目を 1~16 大小 偶数奇数の内から予想して 予め設定した持ち点の範囲内で賭け点を決め 賭け点と出目に依り 1 点賭けの場合は 16 倍 其他は 2

More information

ListViewコントロール

ListViewコントロール ListView コントロール ListView コントロールへ項目を追加 本稿では.NET Framework の標準コントロールで有る ListView コントロール (System.Windows.Forms 名前空間 ) を活用する為に ListView コントロールにデータを追加する方法を紹介する ListView コントロールは データ項目をアイコン表示や詳細表示等に依り一覧表示する為の物で

More information

C#の基本

C#の基本 C# の基本 ~ 開発環境の使い方 ~ C# とは プログラミング言語のひとつであり C C++ Java 等に並ぶ代表的な言語の一つである 容易に GUI( グラフィックやボタンとの連携ができる ) プログラミングが可能である メモリ管理等の煩雑な操作が必要なく 比較的初心者向きの言語である C# の利点 C C++ に比べて メモリ管理が必要ない GUIが作りやすい Javaに比べて コードの制限が少ない

More information

印刷

印刷 印刷 Windows フォームに於ける印刷のサポート Windows フォームに於ける印刷では 主に ユーザーに依る印刷を可能にする為の PrintDocument コンポーネントと Windows オペレーティングシステムを常用して居るユーザーに見慣れたグラフィカルインターフェイスを提供する為の PrintPreviewDialog コントロール PrintDialog コンポーネント 及び PageSetupDialog

More information

ハッシュテーブル

ハッシュテーブル ハッシュテーブル ハッシュテーブル ( 連想配列 ) を使う ハッシュテーブルとは キー (key) と値 (value) のペアを保持して居るコレクションで有る 通常の配列がインデックス番号に依り各値 ( 各要素 ) にアクセス出来るのに比べて ハッシュテーブルでは インデックス番号の代わりにキーを用いて 其の各値にアクセスする事が出来る キーと 其のキーから連想される ( 対応付けられて居る )

More information

VB実用⑦ エクセル操作Ⅰ

VB実用⑦ エクセル操作Ⅰ VB でエクセル操作 Ⅰ VB 2005 7 プログラムの概要 事務処理に於いて Microsoft 社のスプレッドシートソフトで有るエクセルは データベースソフトで有るアクセスと共に 業界標準 (De Facto Standard) で有ると謂う事が出来る 此処では 其のエクセルを Visual Basic から操作する方法を 重点的に学ぶ 今回は Visual Basic でエクセルを利用する基本と成るオブジェクト生成と

More information

グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラ

グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラ C# & VB 1 グラフィックトレーニング 概要.NET のグラフィック描画は どんなことができるのでしょうか? グラフィックオブジェクトやグラフィック環境 概念を理解するためには クラスを使って馴れることが近道です 本 書に記載されているコードをカットアンドペーストして 一つ一つの機能を体験してください 前提 グラフィックを行うためには Visual Studio の基本操作や C# または VB

More information

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

C#の基本2 ~プログラムの制御構造~ C# の基本 2 ~ プログラムの制御構造 ~ 今回学ぶ事 プログラムの制御構造としての単岐選択処理 (If 文 ) 前判定繰り返し処理(for 文 ) について説明を行う また 整数型 (int 型 ) 等の組み込み型や配列型についても解説を行う 今回作るプログラム 入れた文字の平均 分散 標準偏差を表示するプログラム このプログラムでは calc ボタンを押すと計算を行う (value は整数に限る

More information

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

Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値 ( 此処では 10) を代入する丈でなく 2 の配列変数の宣言の様に ブレース { } の中にカンマ区切りで初期値のリストを記述し 配列の各要素に初期値を代入出来る様に成った

More information

相性占いプログラム

相性占いプログラム 相性占いプログラム VB 2005 1 プログラムの概要 画面上で 男女夫々れの誕生日の月日と血液型をコンボボックスより選択した後 占うボタンをクリックする 相性とアドバイス & ポイントは 血液型と星座の位置に依り 予め或る占術法に基づき作成されたデータをファイルより読み込んで配列に記憶させ 誕生日と血液型に依り算出された評価値に該当するデータを表示する 猶 必要な入力が行われて居ない場合には 警告音を鳴らして

More information

mySQLの利用

mySQLの利用 MySQL の利用 インストール インストール時に特に注意点は無い 本稿記述時のバージョンは 6.5.4 で有る (2017 年 11 月現在では 6.10.4 で https://dev.mysql.com/downloads/connector/net/6.10.html よりダウンロード出来る ) 参照設定 インストールが終了すれば Visual Studio で参照の設定を行う 参照の設定画面で

More information

DAOの利用

DAOの利用 DAO VB2005 で DAO を使用して Excel のデータを取得 Visual Basic 6.0 Dim DB As DAO.Database Dim RS As DAO.Recordset Dim xlfilename As String Dim xlsheetname As String xlfilename = Form1.StatusBar1.Panels(12) & Dir(Form1.StatusBar1.Panels(12)

More information

VFD256 サンプルプログラム

VFD256 サンプルプログラム VFD256 サンプルプログラム 目次 1 制御プログラム... 1 2.Net 用コントロール Vfd256 の使い方... 11 2.1 表示文字列の設定... 11 2.2 VFD256 書込み前のクリア処理... 11 2.3 書き出しモード... 11 2.4 表示モード... 12 2.5 表示... 13 2.6 クリア... 13 2.7 接続方法 ボーレートの設定... 13 2.8

More information

ブロック崩し風テニス

ブロック崩し風テニス ぱっくんフィッシング VB 2005 13 プログラムの概要 パーティゲームとして良く知られた釣りゲームです マウスで釣り糸を操作して 開閉する魚の口に餌を垂らし 魚が餌を咥えると 釣り上げ 籠の中に入れます 直ぐに口を開けて 海に逃れる魚 中々餌を離さず 籠に入らない魚と 色々なバリエーションが楽しめます 一般的に 実用プログラムに比較するとゲームプログラムは 高度なテクニックを要求される事が多い

More information

バスケットボール

バスケットボール バスケットボール きょうつうへんすうせんげん 共通の変数を宣言する ひょうじ 1. ソリューションエクスプローラで コードの表示をクリックする つぎひょうじところしたかこにゅうりょく 2. 次のコードが表示されるので 1の所に 下の囲いのコードを入力する Imports System.Runtime.InteropServices Public Class Basketball にゅうりょく 1 ここに入力する!

More information

相性占いプログラム

相性占いプログラム 相性占いプログラム VB1 プログラムの概要 画面上で 男女夫々れの誕生日の月日と血液型をコンボボックスより選択した後 占うボタンをクリックします 相性とアドバイス & ポイントは 血液型と星座の位置に依り 予め或る占術法に基づき作成されたデータをファイルより読み込んで配列に記憶させ 誕生日と血液型に依り算出された評価値に該当するデータを表示します 猶 必要な入力が行われて居ない場合には 警告音を鳴らして

More information

sinfI2005_VBA.doc

sinfI2005_VBA.doc sinfi2005_vba.doc MS-ExcelVBA 基礎 (Visual Basic for Application). 主な仕様一覧 () データ型 主なもの 型 型名 型宣言文字 長さ 内容 整数型 Integer % 2 バイト -32,768 32,767 長整数型 Long & 4 バイト -2,47,483,648 2,47,483,647 単精度浮動小数点数 Single 型!

More information

1.dll の配置場所配布時はプログラムの実行フォルダーへ配置 2. 開発環境での使用 プロジェクトのプロパティーで [USBPIO.dll] を参照追加してください 開発環境 dll ファイルの場所 VB.Net Express Edition 境プロジェクトのフォルダ \bin\release VB.Netebugビルドの場合プロジェクトのフォルダ \bin\debug VB.Net Releaseビルドの場合プロジェクトのフォルダ

More information

モグラ叩きプログラム

モグラ叩きプログラム プログラミングの有用性 VB 2005 1 醒めよ!! 遣り度い事を遣るには 先ず 遣らなければ成らない事を遣る! 現に 其の事に気付いて 日々 其の 遣らなければ成らない事 に邁進して居る人間が 居る 寧ろ 其れを愉しんでさえ居る者も居る 然して 着実に 世の中が必要とする技 術を身に付けて行って居る者が居る 併し 何が 遣らなければ成らない事 なのか解らない場合は 現実に対応出来る技術力 を持ち

More information

回文作成支援プログラム

回文作成支援プログラム 回文作成支援プログラム C# 2005 2 プログラムの概要 原文を 1 字入力する度に 其の回文が順次表示される 即ち AB と入力すると ABA と表示され ABC と入力すると ABCBA と表示される 亦 消去ボタンをクリックすると 原文 及び 回文を消去する事も出来る 終了ボタンをクリックすると プログラムをメモリから消去して終了する 今回の課題項目 単純変数の宣言 ( データ型変数名 ;)

More information

MS-ExcelVBA 基礎 (Visual Basic for Application)

MS-ExcelVBA 基礎 (Visual Basic for Application) MS-ExcelVBA 基礎 (Visual Basic for Application). 主な仕様一覧 () データ型 ( 主なもの ) 型型名型宣言文字長さ内容整数型 Integer % バイト -, ~, 長整数型 Long & バイト -,,, ~,,, 単精度浮動小数点数型倍精度浮動小数点数型 Single! バイト負値 : -.0E ~ -.0E- 正値 :.0E- ~.0E Double

More information

VB6互換のファイルの処理

VB6互換のファイルの処理 Visual Basic のランタイム関数を使用したファイルアクセス FileOpen 関数 ファイルを開いて入出力を行う FileOpen(FileNumber, FileName, Mode[, Access[, Share[, RecorLength]]]) 引数 FileNumber は必ず指定する 有効なファイル番号を指定する FreeFile 関数を使用して 使用可能な次のファイル番号を取得する事が出来る

More information

メール送信

メール送信 メール Visual Basic 2005 でのメール送信 1 System.Net.Mail 名前空間の MailMessage クラスと SmtpClient クラスを使用 メール送信機能の有るアプリケーションを作成する必要が有る場合が有る 其処で 此処では メールの送信機能を持つアプリケーション ( 図 1) の作成方法に付いて紹介する 図 1 Visual Basic 6.0 では Microsoft

More information

倉庫番

倉庫番 倉庫番 VB 2005 63 プログラムの概要 其の昔 一世を風靡し世界中に愛好家の居るパズルゲーム 倉庫番 で有る 荷物 ( 蛸 ) を押して ( 引く事は出来ない ) 所定の場所 ( 壺 ) に納める単純明快な物で有る 猶 一度クリアした面は 自由に再度プレイする事が出来るが 新たな面には 前の面をクリアしないと進む事は出来ない 一般的に 実用プログラムに比較するとゲームプログラムは 高度なテクニックを要求される事が多い

More information

Public Class Class4SingleCall Inherits MarshalByRefObject Public Sub New() End Sub Public Function OneProc(ByVal The As A SC) As A SC Dim The As New A SC The.answer = The.index * 2 + 1000 Return The End

More information

3軸加速度センサーモジュール MM-2860 書込み済みマイコンプログラム通信コマンド概要

3軸加速度センサーモジュール MM-2860 書込み済みマイコンプログラム通信コマンド概要 アプリケーションノートミニマイコン評価カード CT-298 3 軸加速度センサーモジュール MM-2860 書込み済みマイコンプログラム通信コマンド概要 1. 概要 CT-298 DIP SF9S08C 3 MM-2860 HC9S08QG8-XYZ2_v1.1 PC PC PC HC9S08QG8-XYZ2_v1.1 CodeWorrior http://www.freescale.co.jp/products/8bit/9s08qg.html

More information

シーケンシャルファイルの操作

シーケンシャルファイルの操作 ファイルの操作 Ⅰ VB 2005 4 今回の課題項目 ファイル概要 ファイルの種類 ( テキストファイル バイナリファイル ) テキストファイルのレコード形式 ( 可変長 固定長 XML CSV) ファイルアクセス ファイルアクセスの種類 ( シーケンシャル ランダム バイナリ ) シーケンシャルアクセス (Sequential Access) シーケンシャルアクセスの概要 シーケンシャルアクセスの特徴

More information

回文作成支援プログラム

回文作成支援プログラム 回文作成支援プログラム VB 2005 2 プログラムの概要 原文を 1 字入力する度に 其の回文が順次表示される 即ち AB と入力すると ABA と表示され ABC と入力すると ABCBA と表示される 亦 消去ボタンをクリックすると 原文 及び 回文を消去する事も出来る 終了ボタンをクリックすると プログラムをメモリから消去して終了する 今回の課題項目 単純変数の宣言 (Dim) Windows

More information

ADO.NETのアーキテクチャ

ADO.NETのアーキテクチャ データベース ADO.NET のアーキテクチャ 従来のデータ処理は 主に接続をベースとした 2 層モデルに基づいて居た 最近のデータ処理では 多階層アーキテクチャが多用される様に成った為 プログラマは 非接続型アプローチへと切り替えて アプリケーションに より優れたスケーラビリティを提供して居る ADO.NET のコンポーネント ADO.NET には データへのアクセスとデータの操作に使用出来るコンポーネントが

More information

エクセル詳細 アドイン

エクセル詳細 アドイン Microsoft Excel 詳細 アドイン Excel アドインの作成 Excel アドインを作成するには ブックを作成し コード ユーザー設定ツールバー 及び メニュー項目を追加して Excel アドインファイルとして保存する 1. 新しいブックを作成してコードを追加し ユーザー設定ツールバー 又は メニューバーを作成する 2.[ ファイル ] メニューの [ プロパティ ] をクリックする

More information

チャットプログラム

チャットプログラム チャット C# 2005 5 プログラムの概要 Winsock コントロールを使用すると リモートコンピュータに接続し データを交換出来る事を利用して チャット ( 通信雑談システム ) を作成する サーバー クライアント共に 背景色が黄色のテキストボックスに必要項目を入力し 設定ボタンをクリックすると 通信が確立し チャットを開始する事が出来る 送信用テキストボックスに送信文を入力して送信ボタンをクリックすると

More information

Javaプログラムの実行手順

Javaプログラムの実行手順 戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失

More information

チャットプログラム

チャットプログラム チャット VB 2005 5 プログラムの概要 Winsock コントロールを使用すると リモートコンピュータに接続し データを交換出来る事を利用して チャット ( 通信雑談システム ) を作成する サーバー クライアント共に 背景色が黄色のテキストボックスに必要項目を入力し 設定ボタンをクリックすると 通信が確立し チャットを開始する事が出来る 送信用テキストボックスに送信文を入力して送信ボタンをクリックすると

More information

画像閲覧プログラム

画像閲覧プログラム 画像閲覧プログラム C# 2005 3 プログラムの概要 連動するドライブリストボックス ディレクトリリストボックス ファイルリストボックスから画像ファイルを選択してクリックします ピクチャーボックスに選択した画像が実物大で表示される 此の時 画像が表示領域より大きい場合は 画像の大きさに応じてスクロールバーが表示される 此のスクロールバーを操作する事に依り 画像全体を見る事が出来る 終了ボタンをクリックすると

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション レッスン (1) あるワークシート中のあるセルを指定する Worksheets(" ワークシート名 ").Range(" セル ").Value ( 例 ) Worksheets(" データ収集 ").Range("A2").Value あるワークシートのセルから 別のワークシートのセルへ転記する Worksheets(" シート A").Range(" セル ").Value = Worksheets("

More information

通信対戦プログラム

通信対戦プログラム 通信対戦プログラム C# 2005 6 プログラムの概要 Winsock コントロールを使用すると リモートコンピュータに接続し データを交換出来る事を利用して 通信対戦ゲームを作成する ゲームに関する処理は 既に標準モジュールに グローバルなプロシージャとして 入力されて居るので 此れを追加して 使用する ( ファイル名は othello_mod.vb で有る ) 相手のアドレス (IP アドレス

More information

回文作成支援プログラム

回文作成支援プログラム 電光掲示板プログラム C# 2005 1 プログラムの概要 掲示文を入力し 表示開始ボタンをクリックすると 入力した掲示文が 上部の表示域に 右から左へ流れる様に表示される 亦 表示停止ボタンをクリックすると 掲示文の動きが停止する 終了ボタンをクリックすると タイマーを停止し プログラムをメモリから消去して終了する 今回の課題項目 クラスレベルでグローバルな単純変数の宣言 (private) Windows

More information

MVP for VB が語る C# 入門

MVP for VB が語る C# 入門 MVP for VB が語る C# 入門 2008.08.09 初音玲 自己紹介 Z80 アセンブラ 6809 アセンブラ F-BASIC N88-BASIC FORTRAN 77 COBOL LISP Turbo Pascal Prolog KABA C 言語 M シリーズ アセンブラ PL/I VB3.0~ PL/SQL T-SQL VB2005/2008 index Microsoft Visual

More information

回文作成支援プログラム

回文作成支援プログラム 回文作成支援プログラム VB1 プログラムの概要 原文を 1 字入力する度に 其の回文が順次表示される 即ち AB と入力すると ABA と表示され ABC と入力すると ABCBA と表示される 亦 消去ボタンをクリックすると 原文 及び 回文を消去する事も出来る 終了ボタンをクリックすると プログラムをメモリから消去して終了する 今回の課題項目 単純変数の宣言 (Dim) 標準コントロールの利用

More information

万年暦プログラム

万年暦プログラム 万年暦プログラム C# 2005 7 プログラムの概要 年月をテキストボックスで指定した後 表示ボタンをクリックして 指定した年月のカレンダーを表示する 画面上部のグループボックスでは 現在の年月日と時間をリアルタイムで表示する 此の場合 時間丈でなく 日付が変われば 日付もリアルタイムで変化する 指定した年月のカレンダーを表示するには 日付と時間を扱う組込関数を使用し 亦 日付と時間をリアルタイム表示するには

More information

3D回転体プログラム

3D回転体プログラム 3D 回転体プログラム C# 2005 4 プログラムの概要 入力画面で マウスを用いて 側面より見た平面図を描きます マウスの左ボタンをクリックする事で連続線を描き 右ボタンをクリックすると新しい線を描く事が出来る 側面図が完成すると 回転の基本角度を設定して 確定ボタンをクリックすると 平面図を立体図に座標変換する 各軸の回転角度を設定して 表示ボタンをクリックすると 立体図が表示される 各軸の回転角度を変更して

More information

Android Layout SDK プログラミング マニュアル

Android Layout SDK プログラミング マニュアル プログラミングマニュアル Version 1.3.0 用 更新履歴 年月日 バージョン 履歴 2014.09.08 1.2.0.0 新規 (Layout Utilities ユーザーズ ガイド ) 2016.08.16 1.3.0.0 モバイル端末用レイアウトで直線部品と矩形部品に対応 モバイル端末用レイアウトファイルを CLFX から XML へ変更 Layout Print Engine から

More information

API 連携方式 外部 DLL の呼び出し宣言 外部 DLL の呼び出し宣言のサンプルコード (Microsoft Visual C#.NET の場合 ) プログラムコードの先頭で using System.Runtime.InteropServices; が必要 クラスの内部に以下のような外部 D

API 連携方式 外部 DLL の呼び出し宣言 外部 DLL の呼び出し宣言のサンプルコード (Microsoft Visual C#.NET の場合 ) プログラムコードの先頭で using System.Runtime.InteropServices; が必要 クラスの内部に以下のような外部 D GS1-128 の描画 DLL について (ver. 2.2) 動作環境など動作環境 WindowsXP Windows Vista Windows7 Windows8/8.1 Windows10 上記 OS について すべて日本語版を対象としております 32bit アプリケーションから呼び出される必要があります 使用条件 プリンタの解像度 300dpi 以上 機能 バーコードの基本幅を 1 ドット単位で指定できる

More information

インベーダープログラム

インベーダープログラム インベーダーゲーム VB 2005 5 プログラムの概要 テレビゲームの流行の魁と成る懐かしのゲーム インベーダー を作成する 先ず FIGHT!! ボタンをクリックすると インベーダーが左右に移動し乍ら 降下して来るので 自機を左右のカーソルキーで移動させ スペースキーでミサイルを発射する インベーダーが 最終ライン迄 降下して 侵略される前に 総てのインベーダーを撃墜しなければ ゲームは終了する

More information

...Visual Studio 2015\Projects\MyHomePage 用サンプル \Database(Access2)\Database(Access2)\MainForm.cs 2 れを含めておかないと Database への更新がきかない oadp.fill(dtbl); dgvk

...Visual Studio 2015\Projects\MyHomePage 用サンプル \Database(Access2)\Database(Access2)\MainForm.cs 2 れを含めておかないと Database への更新がきかない oadp.fill(dtbl); dgvk ...Visual Studio 2015\Projects\MyHomePage 用サンプル \Database(Access2)\Database(Access2)\MainForm.cs 1 /* Database(Access) とやりとりするその 2 DataGridView による編集 */ 2015.9.21~9.23 仕様 DataGridView 上でデータのさまざまな直接編集が行えるようにする

More information