ハッシュテーブル

Size: px
Start display at page:

Download "ハッシュテーブル"

Transcription

1 ハッシュテーブル ハッシュテーブル ( 連想配列 ) を使う ハッシュテーブルとは キー (key) と値 (value) のペアを保持して居るコレクションで有る 通常の配列がインデックス番号に依り各値 ( 各要素 ) にアクセス出来るのに比べて ハッシュテーブルでは インデックス番号の代わりにキーを用いて 其の各値にアクセスする事が出来る キーと 其のキーから連想される ( 対応付けられて居る ) 値のペアを保持して居る為 ハッシュテーブルは 連想配列 とも呼ばれる ハッシュテーブルの特長は 指定したキーから 其れに対応した値を高速に得られる事で有る.NET Framework のクラスライブラリでは ハッシュテーブルが Hashtable クラス (System.Collections 名前空間 ) で実装されて居る 本稿では 此の Hashtable クラスの基本的な利用方法に付いて纏める ハッシュテーブルへの項目の追加 ハッシュテーブルへの項目 ( キーと値のペア ) の追加は インデクサ (VB の場合は既定のプロパティとなって居る Item プロパティ ) か Add メソッドに依り行う Dim ht As Hashtable = New Hashtable ht( "japan" ) = " 日本 " ht.add( "china", " 中国 " ) Hashtable ht = new Hashtable( ); ht[ "japan" ] = " 日本 "; ht.add( "china", " 中国 " ); 指定したキーがハッシュテーブル ( 此の例では ht) に存在しない場合には 新しい要素と仕て登録される キーが既に存在する場合には インデクサでは 其のキーに対応する値が置き換えられるが Add メソッドでは例外が発生する 猶 此の例では キーと値の両方に文字列を用いて居るが 実際には Object 型のキーと値が指定可能で有る為 何の様なオブジェクトでも Hashtable オブジェクトに格納出来る ハッシュテーブル内の値の取得 ハッシュテーブル内の値の取得は 上記と同様にインデクサ (VB では Item プロパティ ) に依りキーを指定して行う ( 逆に 値からキーを直接取得する事は出来ない ) 今述べた様に ハッシュテーブルは要素を Object 型のオブジェクトと仕て保持して居る為 必要なら元の型に変換しなければ成らない Dim str As String = CType( ht( "japan" ), String ) string val = ( string )ht[ "japan" ]; 指定したキーがハッシュテーブルに存在しない場合には null(vb では Nothing) が返される -1-

2 総てのキーや値の列挙 ハッシュテーブルに格納されて居る総てのキー 或るいは 値は コレクションと仕て Keys プロパティ 或るいは Values プロパティからアクセス出来る 此の為 foreach ステートメント (VB では For Each...) 等を使って 総てのキーや値を列挙する事が出来る ( 記述例は下のサンプルプログラムを参照 ) キーや値の存在チェック 特定のキーや値がハッシュテーブルに格納されて居るか何うかは ContainsKey メソッド 或るいは ContainsValue メソッドを使用する 此の 2 つのメソッドは bool 型 (VB では Boolean 型 ) の値 (True か False) を返す ( 記述例は下のサンプルプログラムを参照 ) ハッシュテーブルを使ったサンプルプログラム 此処迄の解説を纏めたサンプルプログラム ( 版及び VB 版 ) を以下に示す Imports System Imports System.Collections Class HashTableSample Shared Sub Main( ) Dim ht As Hashtable = New Hashtable ' データの追加其の 1 ht( "japan" ) = " 日本 " ht( "america" ) = " アメリカ " ' データの追加其の 2 ht.add( "china", " 中国 " ) ht.add( "india", " インド " ) ' データの取得 Dim str As String = CType( ht( "japan" ), String ) Console.WriteLine( str ) ' 出力 : 日本 ' キー項目の列挙 For Each key As String In ht.keys Console.WriteLine("{ 0 : { 1 ", key, ht( key )) ' 出力例 : ' india : インド ' japan : 日本 ' america : アメリカ ' china : 中国 ' 値項目の列挙 For Each val As String In ht.values Console.WriteLine( val ) ' 出力例 : ' インド -2-

3 ' 日本 ' アメリカ ' 中国 ' キーの存在チェック If Not ht.containskey( "france" ) Then ht( "france" ) = " フランス " End If ' 値の存在チェック Console.WriteLine( ht.containsvalue( " アメリカ " )) ' 出力 :True ' エントリ ( キーと値 ) の列挙 For Each de As DictionaryEntry In ht Console.WriteLine("{ 0 : { 1 ", de.key, de.value ) ' 出力例 : ' india : インド ' japan : 日本 ' france : フランス ' america : アメリカ ' china : 中国 End Sub End Class using System; using System.Collections; public class test { static void Main( ) { Hashtable ht = new Hashtable( ); // データの追加其の 1 ht[ "japan" ] = " 日本 "; ht[ "america" ] = " アメリカ "; // データの追加其の 2 ht.add( "china", " 中国 " ); ht.add( "india", " インド " ); // データの取得 string val = ( string )ht[ "japan" ]; Console.WriteLine( val ); // 出力 : 日本 // キー項目の列挙 foreach ( string key in ht.keys) { Console.WriteLine("{ 0 : { 1 ", key, ht[ key ]); // 出力例 : // india : インド // japan : 日本 // america : アメリカ // china : 中国 -3-

4 // 値項目の列挙 foreach ( string value in ht.values) { Console.WriteLine( value ); // 出力例 : // インド // 日本 // アメリカ // 中国 // キーの存在チェック if (!ht.containskey( "france" )) { ht[ "france" ] = " フランス "; // 値の存在チェック Console.WriteLine( ht.containsvalue( " 日本 " )); // 出力例 :True // エントリ ( キーと値 ) の列挙 foreach ( DictionaryEntry de in ht) { Console.WriteLine("{ 0 : { 1 ", de.key, de.value ); // 出力例 : // india : インド // japan : 日本 // france : フランス // america : アメリカ // china : 中国 サンプルプログラムの最後では ハッシュテーブル内の要素 ( エントリ ) を列挙する方法も示して居る 此の場合には ハッシュテーブル内の各要素は DictionaryEntry 構造体 (System.Collections 名前空間 ) のオブジェクトと仕て取り扱われる 猶通常の配列等と異なり ハッシュテーブルでは格納した要素の順序は保持されない 此の為キーや値や要素を列挙した場合に 何の様な順で要素が取り出されるかは不定で有る 若し キーも値も文字列に限定する事が出来る場合には StringDictionary クラス (System.Collections.Specialized 名前空間 ) も便利に使える 此のクラスは Hashtable クラスをラップし メソッドやプロパティで扱う型を String 型に限定した物で有る -4-

5 ハッシュテーブル ( 連想配列 ) を使う (Dictionary クラス編 )[2.0] ハッシュテーブルとは キー (key) と値 (value) のペアを保持して居るコレクションで有る 通常の配列やリストがインデックス番号に依り各値 ( 各要素 ) にアクセス出来るのに比べて ハッシュテーブルでは インデックス番号の代わりにキーを用いて 其の各値にアクセスする事が出来る キーと 其のキーから連想される ( キーに対応付けられて居る ) 値のペアを保持して居る為 ハッシュテーブルは 連想配列 とも呼ばれる ハッシュテーブルの特長は 指定したキーから 其れに対応した値を高速に得られる事で有る.NET Framework 1.x のクラスライブラリでは ハッシュテーブルは Hashtable クラス (System.Collections 名前空間 ) で実装されて居たが.NET Framework 2.0 では Dictionary ジェネリッククラス (System.Collections.Generic 名前空間 ) が追加され より効率的 且つ 安全にハッシュテーブルを扱える様に成って居る 本稿では 此の Dictionary ジェネリッククラスの基本的な利用方法に付いて纏める ハッシュテーブルのインスタンス作成 Dictionary ジェネリッククラスは コレクションの要素と成るキーと値の型を型パラメータに依り指定してインスタンスを作成する 以下は キーも値も文字列の場合の記述例で有る Dim dict As New Dictionary( Of String, String ) Dictionary< string, string > dict = new Dictionary< string, string >( ); 此の場合には 以降のハッシュテーブル ( 此の例では dict) への操作で 文字列でないキーや値を扱うコードはコンパイルエラーと成る ハッシュテーブルへの項目の追加 ハッシュテーブルへの項目 ( キーと値のペア ) の追加は インデクサ (VB の場合は既定のプロパティと成って居る Item プロパティ ) か Add メソッドに依り行う dict( "japan" ) = " 日本 " dict( "america" ) = " アメリカ " dict.add( "china", " 中国 " ) dict.add( "india", " インド " ) dict[ "japan" ] = " 日本 "; dict[ "america" ] = " アメリカ "; dict.add( "china", " 中国 " ); dict.add( "india", " インド " ); 指定したキーがハッシュテーブルに存在しない場合には 新しい要素と仕て登録される キーが既に存在する場合には インデクサでは其のキーに対応する値が置き換えられるが Add メソッドでは例外が発生する -5-

6 ハッシュテーブル内の値の取得 ハッシュテーブル内の或るキーに対する値の取得は 上記と同様にインデクサに依りキーを指定して行う ( 逆に 値からキーを直接取得する事は出来ない ) Hashtable クラスでは取り出した値は Object 型と成る為 通常はキャストが必要と成るが Dictionary ジェネリッククラスではキャストは不要で有る Dim val As String = dict( "japan" ) strin g val = dict[ "japan" ]; 亦 Hashtable クラスでは 指定したキーがハッシュテーブルに存在しない場合には null(vb では Nothing) が返されるが Dictionary ジェネリッククラスでは例外が発生する 此の為 指定したキーが存在するか何うかをチェックし 若し存在すれば其の値を取得する TryGetValue メソッドが Dictionary ジェネリッククラスには追加されて居る ( 記述例は下のサンプルプログラムを参照 ) 総てのキーや値の列挙 ハッシュテーブルに格納されて居る総てのキー 或るいは 値は コレクションと仕て Keys プロパティ 或るいは Values プロパティから取得出来る 此の為 foreach ステートメント (VB では For Each...) 等を使って 総てのキーや値を列挙する事が出来る ( 記述例は下のサンプルプログラムを参照 ) キーや値の存在チェック 特定のキーや値を持つ項目がハッシュテーブルに格納されて居るか何うかを調べるには ContainsKey メソッド 或るいは ContainsValue メソッドを使用する 此の 2 つのメソッドは bool 型 (VB では Boolean 型 ) の値 (True か False) を返す ( 記述例は下のサンプルプログラムを参照 ) 個々の要素の列挙 ハッシュテーブル内の要素を列挙する場合には 各要素は KeyValuePair ジェネリック構造体 (System.Collections.Generic 名前空間 ) のオブジェクトと仕て扱われる 此の構造体は 2 つの型パラメータを持つが 其等は Dictionary ジェネリッククラスのインスタンス作成時に指定した物と同一と成る そして KeyValuePair ジェネリック構造体のオブジェクトからは Key 及び Value プロパティに依りキーと値を取得出来る ( 記述例は下のサンプルプログラムを参照 ) 猶 通常の配列等と異なり ハッシュテーブルでは格納した要素の順序は保持されない 此の為キーや値や要素を列挙した場合に 何の様な順で要素が取り出されるかは不定で有る ハッシュテーブルを使用したサンプルプログラム 此処迄の解説を纏めたサンプルプログラムを以下に示す Imports System Imports System.Collections.Generic Class DictionaryTest Shared Sub Main( ) -6-

7 Dim dict As New Dictionary( Of String, String ) ' 要素の追加其の 1 dict( "japan" ) = " 日本 " dict( "america" ) = " アメリカ " ' 要素の追加其の 2 dict.add( "china", " 中国 " ) dict.add( "india", " インド " ) ' 値の取得其の 1 Dim val As String = dict( "japan" ) Console.WriteLine( val ) ' 出力 : 日本 ' Dim sss As String = dict( "russia" ) ' 例外発生 ( キーが無い ) ' 値の取得其の 2 Dim value As String = "" If dict.trygetvalue( "america", value ) Then Console.WriteLine( value ) ' 出力 : アメリカ End If ' キーの列挙 For Each key As String In dict.keys Console.WriteLine("{ 0 : { 1 ", key, dict( key )) ' 出力例 : ' japan : 日本 ' america : アメリカ ' china : 中国 ' india : インド ' 値の列挙 For Each v As String in dict.values Console.WriteLine( v ) ' 出力例 : ' 日本 ' アメリカ ' 中国 ' インド ' キーの存在チェック If Not dict.containskey("france") Then dict( "france" ) = " フランス " End If ' 値の存在チェック Console.WriteLine( dict.containsvalue( " 日本 " )) ' 出力 :True ' 項目 ( キーと値 ) の列挙 For Each kvp As KeyValuePair( Of String, String ) In dict Console.WriteLine("{ 0 : {1", kvp.key, kvp.value ) -7-

8 ' 出力例 : ' japan : 日本 ' america : アメリカ ' china : 中国 ' india : インド ' france : フランス ' ソート済みのハッシュテーブルの利用 Dim sdict As New SortedDictionary( Of string, string )( dict ) For Each kvp As KeyValuePair( Of String, String ) In sdict Console.WriteLine("{ 0 : { 1 ", kvp.key, kvp.value ) ' 出力例 : ' america : アメリカ ' china : 中国 ' france : フランス ' india : インド ' japan : 日本 End Sub End Class using System; using System.Collections.Generic; class DictionaryTest { static void Main( ) { Dictionary< string, string > dict = new Dictionary< string, string >( ); // 要素の追加其の 1 dict[ "japan" ] = " 日本 "; dict[ "america" ] = " アメリカ "; // 要素の追加其の 2 dict.add( "china", " 中国 " ); dict.add( "india", " インド " ); // 値の取得其の 1 string val = dict[ "japan" ]; Console.WriteLine( val ); // 出力 : 日本 // string sss = dict[ "russia" ]; // 例外発生 ( キーが無い ) // 値の取得其の 2 string value = ""; if ( dict.trygetvalue( "america", out value )) { Console.WriteLine( value ); // 出力 : アメリカ // キーの列挙 foreach ( string key in dict.keys) { Console.WriteLine("{ 0 : { 1 ", key, dict[ key ]); -8-

9 // 出力例 : // japan : 日本 // america : アメリカ // china : 中国 // india : インド // 値の列挙 foreach ( string v in dict.values ) { Console.WriteLine( v ); // 出力例 : // 日本 // アメリカ // 中国 // インド // キーの存在チェック if (!dict.containskey( "france" )) { dict[ "france" ] = " フランス "; // 値の存在チェック Console.WriteLine( dict.containsvalue( " 日本 " )); // 出力 :True // 項目 ( キーと値 ) の列挙 foreach ( KeyValuePair< string, string > kvp in dict) { Console.WriteLine("{ 0 : { 1 ", kvp.key, kvp.value ); // 出力例 : の場合に同じ // ソート済みのハッシュテーブルの利用 SortedDictionary< string, string > sdict = new SortedDictionary< string, string >( dict ); foreach ( KeyValuePair< string, string > kvp in sdict ) { Console.WriteLine("{ 0 : { 1 ", kvp.key, kvp.value ); // 出力例 : の場合に同じ 因みに.NET Framework 2.0 のクラスライブラリには キーに依りコレクションの要素が自動的に並べ替えられる SortedDictionary ジェネリッククラス (System.Collections.Generic 名前空間 ) も用意されて居る 上記のサンプルプログラムの最後の部分では 既に存在するハッシュテーブルを基に此のクラスのインスタンスを作成し 其の全要素を列挙して居る 其の出力例から各項目はキーに依りソートされて居るのが分かる -9-

10 ハッシュテーブル (Dictionary クラス ) を値でソートする [2.0] 前述の ハッシュテーブル ( 連想配列 ) を使う (Dictionary クラス編 ) では Dictionary クラス (System.Collections.Generic 名前空間 ) の利用方法に付いて解説した 其処でも触れて居る様に ハッシュテーブルに格納した要素の順序は保持されない 併し ハッシュテーブルの要素のソート ( 並べ替え ) を行ってから 要素を順に処理し度い場合は良く有る 例えば テキスト内の単語と其の出現頻度をハッシュテーブルに依りカウントしてから 出現頻度の多い順に処理し度い様な場合で有る 前項の最後に有る様に SortedDictionary クラス (System.Collections.Generic 名前空間 ) を使えば コレクションの要素をキー (Key) の値でソートする事は出来る 併し 各キーに対する値 (Value) でのソート方法は標準では用意されて居らず 独自に実装する必要が有る 本稿では Dictionary< string, int > クラス (VB の場合には Dictionary( Of String, Integer ) クラス ) を 要素の値 ( 整数値 ) に依りソートする場合の実装に付いて紹介する List クラスを利用したソート 此処で紹介する方法は 総ての要素の追加が完了したハッシュテーブルの全要素を最初に List クラス (System.Collections.Generic 名前空間 ) にコピーしてから 各要素を其の値でソートする方法で有る 猶 ハッシュテーブルでは 各要素はキーと値のペアから成る KeyValuePair 構造体 (System.Collections.Generic 名前空間 ) のオブジェクトで表される 先ず ハッシュテーブルを List クラスのオブジェクトにコピーするには 次の様に List クラスのコンストラクタにハッシュテーブル (Dictionary オブジェクト ) を指定する丈で良い 此れに依り KeyValuePair オブジェクトを要素に持つリストが作成される Dim list As New List( Of KeyValuePair( Of String, Integer ))( dict ) List< KeyValuePair< string, int >> list = new List< KeyValuePair< string, int >>( dict ); 変数 dict は Dictionary( string, int ) クラス (VB の場合には Dictionary( Of String, Integer ) クラス ) のオブジェクト 次に List クラスの Sort メソッドを使用してリストのソートを行う 本稿では 要素の比較を行うメソッドを示すデリゲート (System 名前空間の Comparison デリゲート ) をパラメータに持つ Sort メソッドを利用して居る ' Value の大きい順にソート list.sort( AddressOf hikaku ) 省略 Function hikaku( _ ByVal kvp1 As KeyValuePair( Of String, Integer ), _ ByVal kvp2 As KeyValuePair( Of String, Integer )) As Integer Return kvp2.value - kvp1.value End Function -10-

11 // Value の大きい順にソート list.sort( hikaku ); 省略 int hikaku( KeyValuePair< string, int > kvp1, KeyValuePair< string, int > kvp2 ) { return kvp2.value - kvp1.value; 比較を行うメソッド ( 上記コードでは hikaku メソッド ) では メソッドのパラメータで与えられる 2 つの KeyValuePair オブジェクトに付いて 要素の値を示す Value プロパティに依り値の比較を行い 其の結果を 0 より大きい値 0 0 より小さい値の孰れかで返せば良い 以下に 此等を実装したサンプルプログラムを示す ハッシュテーブルを値でソートするサンプルプログラム のトップページの HTML を取得し 其の内容を単語に分割してから 単語毎の出現頻度をハッシュテーブルに依りカウントする 然して 値に依るソートを実装した sortbyvalue メソッドに依り List オブジェクトを得て 其の各要素を順に画面に出力する Imports System Imports System.Net Imports System.Text.RegularExpressions Imports System.Collections.Generic Class DictionarySortByValue Shared Sub makedict( ByVal dict As Dictionary( Of String, Integer )) Dim html As String ' HTML の取得 Using wc As New WebClient( ) html = wc.downloadstring( " ) End Using ' 単語に分割して 各単語の出現頻度をカウント For Each s As String In Regex.Split( html, " W" ) Dim word As String = s.trim( ) If Not word = "" Then If dict.containskey( word ) Then dict( word ) += 1 Else dict( word ) = 1 End If End If End Sub -11-

12 Shared Sub Main( ) Dim dict As New Dictionary( Of String, Integer ) makedict( dict ) Dim sorted As List( Of KeyValuePair( Of String, Integer )) = sortbyvalue( dict ) ' sorted.reverse( ) ' 逆順にする場合 For Each kvp As KeyValuePair( Of String, Integer ) In sorted Console.WriteLine( kvp.key & ":" & kvp.value ) ' 出力例 : ' a:542 ' td:394 ' 0:328 ' width:289 ' tr:284 ' End Sub Shared Function hikaku( _ ByVal kvp1 As KeyValuePair( Of String, Integer ), _ ByVal kvp2 As KeyValuePair( Of String, Integer )) As Integer ' Value の大きい順にソート Return kvp2.value - kvp1.value End Function Shared Function sortbyvalue( _ ByVal dict As Dictionary( Of String, Integer )) _ As List( Of KeyValuePair( Of String, Integer )) Dim list As New List( Of KeyValuePair( Of String, Integer ))( dict ) list.sort( AddressOf hikaku ) Return list End Function End Class using System; using System.Net; using System.Text.RegularExpressions; using System.Collections.Generic; class DictionarySortByValue { static void makedict( Dictionary< string, int > dict ) { string html; // HTML の取得 using ( WebClient wc = new WebClient( )) { html = wc.downloadstring( " ); // 単語に分割して 各単語の出現頻度をカウント foreach ( string s in Regex.Split( html, " W" )) { -12-

13 string word = s.trim( ); if ( word!= "" ) { if ( dict.containskey( word )) { dict[ word ]++; else { dict[ word ] = 1; static void Main( ) { Dictionary< string, int > dict = new Dictionary< string, int >( ); makedict( dict ); List< KeyValuePair< string, int >> sorted = sortbyvalue( dict ); // sorted.reverse( ); // 逆順にする場合 foreach ( KeyValuePair< string, int > kvp in sorted ) { Console.WriteLine( kvp.key + ":" + kvp.value ); // 出力例 : // a:542 // td:394 // 0:328 // width:289 // tr:284 // static List< KeyValuePair< string, int >> sortbyvalue( Dictionary< string, int > dict ) { List< KeyValuePair< string, int >> list = new List< KeyValuePair< string, int >>( dict ); // Value の大きい順にソート list.sort( delegate( KeyValuePair< string, int > kvp1, KeyValuePair< string, int > kvp2 ) { return kvp2.value - kvp1.value; ); return list; 猶 版では Sort メソッドのパラメータ部分に匿名メソッドを使用して居る 汎用的な sortbyvalue メソッド 上記サンプルプログラムの sortbyvalue メソッドでは キーが文字列 値が整数値の要素而巳しか扱えないが ジェネリックメソッドの仕組みを用いれば 此れをもう少し汎用的に記述出来る 以下に其の記述例を示して置く -13-

14 Shared Function hikaku( Of TKey, TValue As IComparable( Of TValue ))( _ ByVal kvp1 As KeyValuePair( Of TKey, TValue ), _ ByVal kvp2 As KeyValuePair( Of TKey, TValue )) As Integer Return kvp2.value.compareto(kvp1.value) End Function Shared Function sortbyvalue( Of TKey, TValue As IComparable( Of TValue ))( _ ByVal dict As Dictionary( Of TKey, TValue )) _ As List(Of KeyValuePair( Of TKey, TValue )) Dim list As New List( Of KeyValuePair( Of TKey, TValue ))( dict ) ' Value の大きい順にソート list.sort( AddressOf hikaku ) Return list End Function static List< KeyValuePair< TKey, TValue >> sortbyvalue< TKey, TValue >( IDictionary< TKey, TValue > dict ) where TValue: IComparable< TValue > { List< KeyValuePair< TKey, TValue >> list = new List< KeyValuePair< TKey, TValue >>( dict ); // Value の大きい順にソート list.sort( delegate( KeyValuePair< TKey, TValue > kvp1, KeyValuePair< TKey, TValue> kvp2 ) { return kvp2.value.compareto( kvp1.value ); ); return list; 此の sortbyvalue メソッドは 要素の値 (Value) の型が IComparable インターフェイス (System 名前空間 ) を実装して居る場合に利用出来る 文字列や基本的な数値型は此のインターフェイスを実装して居る -14-

15 1 つのキー文字列に対して複数の文字列値を保持 前述に ハッシュテーブル ( 連想配列 ) を使う で解説して居る様に ハッシュテーブル (Hashtable クラス ) では キーと値のペアをコレクションと仕て保持する事が出来る ハッシュテーブルの用途と仕ては 其のキーも値も文字列で有ると謂うケースが多いが 1 つのキー文字列に対して複数の文字列を保持し度い場合には 複数の文字列を 1 つの文字列と仕て連結するか ( 区切り文字が必要 ) 配列や ArrayList オブジェクト等に複数の文字列を格納し 其れをキーに対する値とする等しなければ成らない.NET Framework のクラスライブラリには 此の様な 1 つのキー文字列に対して複数の文字列値を保持する特殊なコレクションが NameValueCollection クラス (System.Collections.Specialized 名前空間 ) と仕て用意されて居る NameValueCollection クラスでは Hashtable クラスと同様に キーと値のペアをコレクションに追加する為に Add メソッドが使用出来るが 既にキーがコレクションに存在する場合には 其れに対する値に文字列が追加される事に成る (Hashtalbe クラスでは例外が発生する ) NameValueCollection nvc = new NameValueCollection( ); nvc.add( " キー 1", " 値 1-1" ); nvc.add( " キー 1", " 値 1-2" ); // nvc は キー 1 に対して 2 つの文字列を保持して居る同じキー文字列に対して複数の文字列値を追加出来る VB のコード例に付いては下記のサンプルプログラムを参照 然して NameValueCollection クラスでは コンマ (, ) で連結された 1 つの文字列か 文字列の配列と仕て コレクションから其の値を取り出す事が出来る NameValueCollection クラスの主要なプロパティやメソッドを使用したサンプルプログラムを以下に示す Imports System Imports System.Collections.Specialized Public Class NameAndValues Shared Sub Main Dim nvc As NameValueCollection = new NameValueCollection( ) ' キーと値の追加 nvc.add( " キー 1", " 値 1-1" ) nvc.add( " キー 1", " 値 1-2" ) nvc.add( " キー 2", " 値 2-1" ) ' キー文字列の取得 ' 総てのキー文字列の取得 Dim keys As String( ) = nvc.allkeys For Each s As String In keys Console.WriteLine( s ) -15-

16 ' 出力 : ' キー 1 ' キー 2 ' インデックス番号に依るキー文字列の取得 Console.WriteLine( nvc.getkey( 0 )) ' 出力 : キー 1 Console.WriteLine( nvc.getkey( 1 )) ' 出力 : キー 2 ' 或るキーの値を文字列配列と仕て取得 ' インデックス番号に依り指定したキーの総ての値を文字列配列と仕て取得 Dim values1 As String( ) = nvc.getvalues( 0 ) For Each s As String In values1 Console.WriteLine( s ) ' 出力 : ' 値 1-1 ' 値 1-2 ' キー文字列に依り指定したキーの総ての値を文字列配列と仕て取得 Dim values2 As String( ) = nvc.getvalues( " キー 1" ) For Each s As String In values2 Console.WriteLine( s ) ' 出力 : ' 値 1-1 ' 値 1-2 ' 或るキーの値をコンマ区切り文字列と仕て取得 ' インデックス番号に依り指定したキーの総ての値をコンマ区切りの文字列と仕て取得 Console.WriteLine( nvc( 0 )) ' 出力 : 値 1-1, 値 1-2 Console.WriteLine( nvc( 1 )) ' 出力 : 値 2-1 ' キー文字列に依り指定したキーの総ての値をコンマ区切りの文字列と仕て取得 Console.WriteLine( nvc( " キー 1" )) ' 出力 : 値 1-1, 値 1-2 Console.WriteLine( nvc( " キー 2" )) ' 出力 : 値 2-1 End Sub End Class using System; using System.Collections.Specialized; public class NameAndValues { static void Main( ) { NameValueCollection nvc = new NameValueCollection( ); // キーと値の追加 nvc.add( " キー 1", " 値 1-1" ); nvc.add( " キー 1", " 値 1-2" ); nvc.add( " キー 2", " 値 2-1" ); -16-

17 // キー文字列の取得 // 総てのキー文字列の取得 string[ ] keys = nvc.allkeys; foreach ( string s in keys ) { Console.WriteLine( s ); // 出力 : // キー 1 // キー 2 // インデックス番号に依るキー文字列の取得 Console.WriteLine( nvc.getkey( 0 )); // 出力 : キー 1 Console.WriteLine( nvc.getkey( 1 )); // 出力 : キー 2 // 或るキーに対する値を文字列配列と仕て取得 // インデックス番号に依り指定したキーの総ての値を文字列配列と仕て取得 string[ ] values1 = nvc.getvalues( 0 ); foreach ( string s in values1 ) { Console.WriteLine( s ); // 出力 : // 値 1-1 // 値 1-2 // キー文字列に依り指定したキーの総ての値を文字列配列と仕て取得 string[ ] values2 = nvc.getvalues( " キー 1" ); foreach ( string s in values2 ) { Console.WriteLine( s ); // 出力 : // 値 1-1 // 値 1-2 // 或るキーに対する値をコンマ区切り文字列と仕て取得 // インデックス番号に依り指定したキーの総ての値をコンマ区切りの文字列と仕て取得 Console.WriteLine( nvc[ 0 ]); // 出力 : 値 1-1, 値 1-2 Console.WriteLine( nvc[ 1 ]); // 出力 : 値 2-1 // キー文字列に依り指定したキーの総ての値をコンマ区切りの文字列と仕て取得 Console.WriteLine( nvc[ " キー 1" ]); // 出力 : 値 1-1, 値 1-2 Console.WriteLine( nvc[ " キー 2" ]); // 出力 : 値 2-1 猶 NameValueCollection クラスには コレクション内の値の設定 取得する為の Set メソッド Get メソッドが用意されて居るが 此等はインデクサ (VB の場合は既定のプロパティと成って居る Item プロパティ ) で代用出来る為 態々メソッドを使う必要は無い -17-

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

ICONファイルフォーマット

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

More information

正規表現応用

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

More information

プラグイン

プラグイン プラグイン プラグイン詳細 2 ~ プラグイン機能を持つテキストエディタの作成 ~ はじめに Adobe Photoshop や Becky! Internet Mail 等のアプリケーションでは プラグイン ( 又は アドイン エクステンション 等 ) と呼ばれるプログラムをインストールする事に依り 機能を拡張する事が出来る 此の記事では此の様なプラグイン機能を持ったアプリケーションの作り方を プラグイン対応のテキストエディタを作成する事に依り

More information

ListViewコントロール

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

More information

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

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

More information

構造体

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

More information

ファイル操作

ファイル操作 ファイル操作 TextFieldParser オブジェクト ストリームの読込と書込 Microsoft.VisualBasic.FileIO 名前空間の TextFieldParser オブジェクトは 構造化テキストファイルの解析に使用するメソッドとプロパティを備えたオブジェクトで有る テキストファイルを TextFieldParser で解析するのは テキストファイルを反復処理するのと同じで有り

More information

ファイル操作-インターネットキャッシュ

ファイル操作-インターネットキャッシュ ファイル操作 インターネット一時ファイルの保存場所 インターネットキャッシュ インターネット一時ファイルの保存場所は Internet Explorer の場合 下記の手順で確認する事が出来る 1.[ ツール ] [ インターネットオプション ] でインターネットオプション画面のダイアログを表示させる 2.[ 全般 ] タブで [ インターネット一時ファイル ] グループの [ 設定 ] をクリックすると

More information

NotifyIconコントロール

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

More information

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

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

More information

VB.NET解説

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

More information

ファイル監視

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

More information

データアダプタ概要

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

More information

プロセス間通信

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

More information

Userコントロール

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

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

正規表現詳細

正規表現詳細 正規表現 正規表現言語要素.NET Framework SDK には 包括的な正規表現ツールのセットが用意されて居り 其のツールを使用する事で文字列の作成 比較 修正を効率的に行う 亦 大量のテキストやデータを素早く解析し テキストパターンの検索 削除 置換を行う事が出来る 此処では 正規表現を定義する一連の文字 演算子 及び 構成体に付いて説明する 置換.NET Framework 2 置換構成体は

More information

グラフィックス

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

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

Microsoft Excel操作

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

More information

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

データベースプログラミング データセットとデータテーブル データセット (DataSet) とは何かに付いて 簡単に説明する データセットとは 典型的な.NET の Windows データベースアプリケーションでは データセットを通じてアプリケーションからデータベースにアクセスする データセットとは 簡単に謂うと データベースから取得したレコードをメモリ上に持つ為の入れ物で有る 例えば データベースからレコードを取得し 其れをグリッドコントロールに表示する様な

More information

ウィンドウ操作 応用

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

More information

VB実用⑦ エクセル操作Ⅰ

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

More information

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

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

More information

Prog1_15th

Prog1_15th 2017 年 7 月 27 日 ( 木 ) 実施 応用プログラム (3) キー検索 コレクションには, ハッシュテーブルと呼ばれるものがある これは, キー (key) と値 (value) とを組として保持しているものである 通常の配列が添字により各要素にアクセス出来るのに比べて, ハッシュテーブルではキーを用いて各値にアクセスすることが出来る キー及びそのキーから連想される値の組を保持していることから,

More information

ファイル操作

ファイル操作 配列クラス System.Array クラス System.Array クラス 配列の作成 操作 検索 及び 並替を行うメソッドを提供する 此れに依り 共通言語ランタイムの総ての配列の基本クラスとして機能する 名前空間 :System アセンブリ :mscorlib (mscorlib.dll 内 ) Array クラスは 配列をサポートする言語に依る各実装の基本クラスで有る 但し システムとコンパイラに限り

More information

構造体

構造体 構造体 構造体を取り扱うには System.Runtime.InteropServices 名前空間をインポートして置くと便利で有る Imports System.Runtime.InteropServices using System.Runtime.InteropServices; C# ユーザー定義型 (Type) と構造体 (Structure) 6.0 のユーザー定義型 (Type) を.NET

More information

モグラ叩きプログラム

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

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java ( 第 3 版 ) 6.7 変数の修飾子 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 Object クラスと Class クラス 6.7 変数の修飾子 (1/3) 変数宣言の直前に指定できる修飾子 全部で 7 種類ある キーワード final private protected public static transient volatile 意味定数として使える変数同じクラスのコードからしかアクセスできない変数サブクラスまたは同じパッケージ内のコードからしかアクセスできない変数他のクラスからアクセスできる変数インスタンス変数ではない変数クラスの永続的な状態の一部ではない変数不意に値が変更されることがある変数

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 配列とコレクション 配列の使い方 固定配列 動的配列 コレクションの使い方 今日の目的 固定配列の宣言例 プロシージャレベル Dim arybuf(0 To 5) As Long モジュールレベル Private arybuf(0 To 5) As Long Public arybuf(0 To 5) As Long 固定配列の宣言例 プロシージャレベル Dim arybuf(0 To 5) As

More information

データベース1

データベース1 データベース操作プログラム Ⅲ VB20 プログラムの概要 ACCESS 等のデータベースの操作に不慣れな者でも 簡単に使用する事が出来るようなデータベースアプリケーションを目指します 今回は データグリッドをクリックする事に依り 其のレコードのフィールドデータを個別にテキストボックスやコンボボックスに表示するを付加する 此の際 カテゴリ ID や著者 ID の様に人間に解り難いデータ形式では無く

More information

基礎計算機演習 実習課題No6

基礎計算機演習 実習課題No6 実習課題 No.6 課題は 3 題ある. 課題 6-1 時間内提出 次の実行例のように, 名簿を出力するプログラムをつくりたい. このプログラムでは, まず人数をたずね, 次にその人数分の名前を入力し, それを再びコンソールに出力する. なお, 空の名前が入力されても終了せずにその欄は空欄で出力するものとする. 注意とヒント この課題では,string 型の配列をまず宣言する. このとき, 配列の要素はちょうど名簿に入力する人数分だけを宣言すること

More information

GUIプログラムⅣ

GUIプログラムⅣ GUI プログラム Ⅳ 画像指定ウィンドウの生成 ファイル名 :awtimage.java import java.awt.*; import java.awt.event.*; public class awtimage extends Frame // コンポーネントクラスの宣言 Button btnbrowse; Label lblcaption7; TextField txtimage; //

More information

正規表現概要

正規表現概要 正規表現 正規表現の概要 此処では.NET Framework の正規表現に付いて 主に正規表現パターンに付いて 基本を極く簡単に説明する 猶.NET Framework の正規表現は Perl5 の正規表現に対応する様にデザインされて居るので Perl の正規表現を理解して居れば問題は無い ( 勿論 理解して居なくても問題は無い ) 正規表現で出来る事 正規表現は 文字列を検索する為に使用する 正規表現を使うと

More information

スレッド操作 タイマー

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

More information

占領双六ゲーム

占領双六ゲーム 占領双六ゲーム VB 2005 9 プログラムの概要 赤と青の 2 者が順番にサイコロを振り 出た目の数だけ駒を進めて行き 停止したマス目を自分の色に塗り潰して 自分の陣地に出来ると謂う 所有る陣取りゲームを作成する マス目は最初に其のマスに停止した方の陣地となり 既に孰れかの色に塗り潰されて居るマスに 後から別の駒が停止しても 陣地の占領者が変わる事は無い 総てのマス目が孰れかの色に塗り潰されゝばゲームは終了し

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

大容量情報検索論

大容量情報検索論 リスト構造 プログラミング演習 Ⅱ (9) 中村, 小松, 菊池 1. List 構造 配列 データが並んでいるデータ構造 静的 ( 配列長を後から変更できない ) リスト構造 次のデータを示す で構成される. 動的 ( 配列長を変更可能 ) 0 1 2 データ 次 データ 次 A[0] A[1] A[2] 10 30 データ 次 null 20 List クラスの例 ListNames.pde ListNames.pde

More information

ルーレットプログラム

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

More information

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

VB実用Ⅲ⑩ フリーデータベースⅡ MySQL の利用 MySQL の ODBC(MyODBC) テキストでは MySQL Connector/ODBC(mysql-connector-odbc-3.51.14-win32.msi) をインストールした場合に付いて解説して居るが 此処では MyODBC(MyODBC-3.51.10-x86-win-32bit.msi) をインストールし myodbc-3.51.06-conv_ujis.zip

More information

Delphi Generics.Collections

Delphi Generics.Collections Delphi Generics. Copyright(C) 2008 Embarcadero Technologies Delphi Generics.Collections 目次 Generics.Collections.TCollectionNo 1 Generics.Collections.TCollectionNo 3 Generics.Collections.TDictionary5 Generics.Collections.TDictionary.A

More information

XML(DOMガイド)

XML(DOMガイド) XML DOM ガイド 初心者の為の XML DOM ガイド イントロダクション 本稿は XML(eXtensible Markup Language) 形式のドキュメントからデータを受け取ろうと仕て居る Microsoft Visual Basic の開発者を対象と仕て居る 此処では XML ドキュメントから情報を取得し 其のデータを Visual Basic のソリューションに統合する方法を説明する

More information

JAVA入門

JAVA入門 JAVA 入門 3 配列とコレクション 配列 1. 配列とは? 簡単 JAVA 説明 11 配列 同じ型の値を複数まとめて記憶する という機能を持つもの ということですが イメージとしては 同じ型の入れ物を複数用意する というイメージです int int int 簡単 JAVA 説明 11 配列の準備 2. 配列の準備 行うことは次の 2 つです 1 配列の宣言 2 配列要素の確保 簡単 JAVA

More information

Socketクラス

Socketクラス 正規表現 正規表現の基本 此処では.NET Framework の正規表現に付いて基本を極く簡単に ( 主に正規表現パターンに付いて ) 説明する 猶.NET Framework の正規表現は Perl5 の正規表現に対応する様にデザインされて居ると謂う事なので Perl の正規表現を理解して居れば問題無い 猶 正規表現テストツール (RegexTest.exe) を使って正規表現のテストを行う事が出来るので

More information

プログラミング基礎I(再)

プログラミング基礎I(再) 山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全

More information

Javaプログラムの実行手順

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

More information

ブロック パニック

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

More information

相性占いプログラム

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

More information

JAVA入門

JAVA入門 JAVA 入門 3 配列とコレクション 配列 1. 配列とは? 簡単 JAVA 説明 11 配列 同じ型の値を複数まとめて記憶する という機能を持つもの ということですが イメージとしては 同じ型の入れ物を複数用意する というイメージです int int int 簡単 JAVA 説明 11 配列の準備 2. 配列の準備 行うことは次の 2 つです 1 配列の宣言 2 配列要素の確保 簡単 JAVA

More information

C 資料 電脳梁山泊烏賊塾 構造体 C++ の構造体 初めに 此処では Visual Studio 2017 を起動し 新しいプロジェクトで Visual C++ の Windows デスクトップを選択し Windows コンソールアプリケーションを作成する 定義と変数宣言 C++ に

C 資料 電脳梁山泊烏賊塾 構造体 C++ の構造体 初めに 此処では Visual Studio 2017 を起動し 新しいプロジェクトで Visual C++ の Windows デスクトップを選択し Windows コンソールアプリケーションを作成する 定義と変数宣言 C++ に 構造体 C++ の構造体 初めに 此処では Visual Studio 2017 を起動し 新しいプロジェクトで Visual C++ の Windows デスクトップを選択し Windows コンソールアプリケーションを作成する 定義と変数宣言 C++ に於いては 構造体を定義は下記の様に記述する ( 末尾のセミコロンを忘れない様に ) strust Point int x; int y; 上記の様に定義すれば

More information

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略       - LogisticaTRUCKServer-Ⅱ(SQLServer 版 ) 距離計算サーハ API.NET DLL WindowsForm サンフ ルフ ロク ラム - 1 - LogisticaTRUCKServer-Ⅱ 距離計算サーハ.NET DLL WindowsForm VisualBasic での利用方法 LogisticaTRUCKServer-Ⅱ 距離計算.NET DLLのサンプルプログラムの参照サンフ

More information

WebBrowserコントロール

WebBrowserコントロール WebBrowser コントロール Windows アプリケーションで Web ページを表示.NET Framework 2.0 では HTML 等の Web ページを Windows フォーム上に表示する為の WebBrowser コントロール (System.Windows.Forms 名前空間 ) が新たに追加されて居り 非常に手軽に Web ページの表示が出来る様に成って居る (.NET Framework

More information

インベーダープログラム

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

More information

相性占いプログラム

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

More information

Microsoft PowerPoint - ruby_instruction.ppt

Microsoft PowerPoint - ruby_instruction.ppt Ruby 入門 流れ Ruby の文法 画面に出力 キーボードから入力 数値 文字列 変数 配列 ハッシュ 制御構造 ( 分岐 繰り返しなど ) if while case for each 関数 クラス Ruby とは プログラミング言語 インタプリタ言語 オブジェクト指向 国産 ウェブアプリケーションフレームワーク RubyOnRails で注目 弊社での Web アプリケーション開発に利用 画面に出力

More information

Prog1_6th

Prog1_6th 2019 年 10 月 31 日 ( 木 ) 実施配列同種のデータ型を有する複数のデータ ( 要素 ) を番号付けして, ひとまとまりの対象として扱うものを配列と呼ぶ 要素 point[0] point[1] point[2] point[3] point[4] 配列 配列の取り扱いに関して, 次のような特徴がある 1. プログラム中で用いる配列変数 ( 配列の本体を参照する参照型の変数 ) は必ず宣言しておく

More information

C 資料 電脳梁山泊烏賊塾 キャスト C++ のキャスト 初めに 此処では Visual Studio 2017 を起動し 新しいプロジェクトで Visual C++ の Windows デスクトップを選択し Windows コンソールアプリケーションを作成する C++ でのキャスト

C 資料 電脳梁山泊烏賊塾 キャスト C++ のキャスト 初めに 此処では Visual Studio 2017 を起動し 新しいプロジェクトで Visual C++ の Windows デスクトップを選択し Windows コンソールアプリケーションを作成する C++ でのキャスト キャスト C++ のキャスト 初めに 此処では Visual Studio 2017 を起動し 新しいプロジェクトで Visual C++ の Windows デスクトップを選択し Windows コンソールアプリケーションを作成する C++ でのキャスト C++ では其のキャストを 3 種類に分類して居る 静的な普通の型変換 (static_cast) 先ずは 1 つ目は 静的な普通の型変換で有る

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション プロシージャ プロシージャの種類 Subプロシージャ Functionプロシージャ Propertyプロシージャ Sub プロシージャ Subステートメント~ステートメントで囲まれる 実行はするけど 値は返さない 途中で抜けたいときは Exit Sub を行なう Public Sub はマクロの実行候補に表示される Sub プロシージャの例 Public Sub TestSubProc() Call

More information

MISAO with WPF

MISAO with WPF System.AddIn を利用した アプリケーション拡張 - アドインの開発 - JZ5( 松江祐輔 )@ わんくま http://katamari.jp http://katamari.wankuma.com 2008/9/13 What s System.AddIn System.AddIn 名前空間 Visual Studio Orcus から利用可能 アプリケーションに拡張機能を提 供 なんかいろいろ特長が?

More information

回文作成支援プログラム

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

More information

JAVA とテンプレート

JAVA とテンプレート JAVA とテンプレート 序論 : コンテナ 他のクラスのオブジェクトを保存するものをコンテナ (Container) と呼ぶ 集合 リスト 表 コンテナに求められる機能 追加 削除 参照 要素の比較 並べ替え 要素のクラスが不明では 比較できない 要素が想定しているクラスのものかの判定 テンプレート以前の対応方法 コンテナ設計時に 保存されるクラスを特定してコンテナをコードする 保存されるクラスごとに作成しなければならない

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

Microsoft PowerPoint - Pro110111

Microsoft PowerPoint - Pro110111 本日の到達目標 : コレクション プログラミング III 及び実習 1. コレクションとは 2. コレクションの種類 3. 使用方法 第 13 回コレクション 1 2 配列 ( 第 3 回 10 月 13 日 ) 演習 2 ファイル Bubble1.java は, 交換ソート ( バブルソート ) のプログラム ( 途中 ) である. プログラムを完成させ, 正しく実行できることを確かめなさい. /edu/g/po3_09/bubble1.java

More information

プラグイン

プラグイン プラグイン プラグイン詳細 1 Adobe Photoshop や Becky! Internet Mail 等のアプリケーションでは プラグイン ( 又は アドイン エクステンション等 ) と呼ばれるプログラムをインストールする事に依り 機能を追加する事が出来る様に成って居る 此処では 此の様なプラグイン機能を持ったアプリケーションの作り方を考えて観る事にする 其れは インターフェイスを使用すると謂う方法で有る

More information

万年暦プログラム

万年暦プログラム 暦カルキュレータ VB8 プログラムの概要 テキストボックスで指定した年月日より オプションボタンで日付が選択されて居る場合は 何年 又は 何箇月 又は 何日 又は 何週後 又は 前の日付を求める 亦 オプションボタンで日数が選択されて居る場合は 更にテキストボックスで指定した年月日迄の日数を求める オプションボタンの選択状況に依り 入力欄の有効 無効を切り替えると共に コマンドボタンのキャプションを書き換えて

More information

MS Office オートメーション

MS Office オートメーション MS Office オートメーション Excel マクロのキックに依る印刷 Access では CSV や Excel 形式でのファイル保存が可能で有る 此れ利用して Excel のマクロを装備したシートに読み込んでマクロを実行し 印刷する方法を紹介する 一般的には, 単成るテキストファイルで有る CSV の方が Excel 形式ファイルより汎用性が有るが マクロで自動実行した時には が行頭に付いて居るセルを文字列型と仕て認識して仕舞うと謂う問題が発生する為

More information

3D回転体プログラム

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

More information

第 3 回 Java 講座 今回の内容 今週の Java 講座はコレクション 拡張 for 文, ガベージコレクションについて扱う. 今週の Java 講座は一番内容が薄いも のになるだろう. コレクション コレクションとは大きさが決まっていない配列だと考えればよい. コレクションには List 先

第 3 回 Java 講座 今回の内容 今週の Java 講座はコレクション 拡張 for 文, ガベージコレクションについて扱う. 今週の Java 講座は一番内容が薄いも のになるだろう. コレクション コレクションとは大きさが決まっていない配列だと考えればよい. コレクションには List 先 第 3 回 Java 講座 今回の内容 今週の Java 講座はコレクション 拡張 for 文, ガベージコレクションについて扱う. 今週の Java 講座は一番内容が薄いも のになるだろう. コレクション コレクションとは大きさが決まっていない配列だと考えればよい. コレクションには List 先頭の要素要素から最後までが直線的に直結している構造 Set 同じものは含まないという構造. 要素間につながりはない

More information

回文作成支援プログラム

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

More information

回文作成支援プログラム

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

More information

TestDesign for Web

TestDesign for Web 発行日 2012/6/21 発行元 株式会社アープ 本書は Web でのテスト自動化における Test Design の一連の操作方法まとめたものです Test Design のメニューの説明やより詳細な使い方については ユーザーズガイド を参照してください 目次 1. はじめに... 1 2. 環境構築... 2 2.1. Selenium のサイトについて... 2 2.2. Selenium

More information

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 文字列 文字列リテラル プログラムの中で文字列を表す方法は幾つか有るが 基本的な方法は下記の 2 種で有る 対象と成る文字の集まりをダブルクオーテーション ( " ) で囲うか シングルクオーテーション ( ' ) で囲う PYTHON3 "

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 文字列 文字列リテラル プログラムの中で文字列を表す方法は幾つか有るが 基本的な方法は下記の 2 種で有る 対象と成る文字の集まりをダブルクオーテーション (  ) で囲うか シングルクオーテーション ( ' ) で囲う PYTHON3 PYTHON 入門 文字列 文字列リテラル プログラムの中で文字列を表す方法は幾つか有るが 基本的な方法は下記の 2 種で有る 対象と成る文字の集まりをダブルクオーテーション ( " ) で囲うか シングルクオーテーション ( ' ) で囲う " 文字列 " ' 文字列 ' 他のプログラミング言語ではダブルクオーテーションとシングルクオーテーションで囲う場合では エスケープ処理等の扱いが異なる物が多いが

More information

データベースⅡ

データベースⅡ データベース操作プログラム Ⅱ VB 2005 9 プログラムの概要 オブジェクト型の変数宣言を行い コード上で データベースに接続し SQL を発行する 今回は オブジェクト型の変数宣言に依り データベースと接続する為のオブジェクト 及び 検索文を発行した際にデータを格納するオブジェクトを コード上で生成してデータベースに接続し 各レコードのフィールド情報を取得して 其れをコンボボックスの項目に追加する

More information

データベースⅠ

データベースⅠ データベース操作プログラム Ⅰ VB 2005 8 プログラムの概要 データベースプログラムを手軽に作成する方法としては Access のフォーム機能を用いる事が 先ず考えられます ウィザードも充実しており 操作を覚えれば簡単に作成する事が出来ます 其れでは VB でデータベースプログラムを作るメリットは何んでしょうか 1 つは Access のフォーム機能に比べ コントロールが充実している事 より自由なデザインが可能です

More information

文字列操作と正規表現

文字列操作と正規表現 文字列操作と正規表現 オブジェクト指向プログラミング特論 2018 年度只木進一 : 工学系研究科 2 文字列と文字列クラス 0 個以上の長さの文字の列 Java では String クラス 操作 文字列を作る 連結する 文字列中に文字列を探す 文字列中の文字列を置き換える 部分文字列を得る 3 String クラス 文字列を保持するクラス 文字列は定数であることに注意 比較に注意 == : オブジェクトとしての同等性

More information

デジタル表現論・第4回

デジタル表現論・第4回 デジタル表現論 第 4 回 劉雪峰 ( リュウシュウフォン ) 2016 年 5 月 2 日 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 4 回 2016 年 5 月 2 日 1 / 14 本日の目標 Java プログラミングの基礎 出力の復習 メソッドの定義と使用 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 4 回 2016 年 5 月 2 日 2 / 14 出力 Systemoutprint()

More information

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt) 独習 JAVA 第 3 版 8.4 例外とエラークラス 8.5 throws ステートメント 8.6 独自の例外 Throwable コンストラクタ catch ブロックには Throwable 型のパラメータが必ず 1 つなければならない Throwable コンストラクタ Throwable() Throwable( String message ) message には問題を通知する文字列のメッセージ

More information

GUIプログラムⅡ

GUIプログラムⅡ GUI プログラム Ⅱ 前回課題の制作例 ファイル名 :awtsave.java import java.awt.*; import java.awt.event.*; public class awtsave extends Frame // Button クラスの宣言 Button btnsave; Label lblcaption1, lblcaption2, lblcaption3; Label

More information

メール送信

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

More information

データベース1

データベース1 データベース操作プログラム Ⅱ VB9 プログラムの概要 オブジェクト型の変数宣言を行い コード上で データベースに接続し SQL を発行する 今回は オブジェクト型の変数宣言に依り データベースと接続する為のオブジェクト 及び 検索文を発行した際にデータを格納するオブジェクトを コード上で生成してデータベースに接続し 各レコードのフィールド情報を取得して 其れをコンボボックスの項目に追加する 此れに依り

More information

グラフィックス 目次

グラフィックス 目次 WPF チュートリアル Microsoft Expression Blend を使用してボタンを作成する 此のチュートリアルでは WPF のカスタマイズされたボタンを Microsoft Expression Blend を使用して作成する手順に付いて説明する Microsoft Expression Blend の具体的な動作は Extensible Application Markup Language(XAML)

More information

PowerPoint プレゼンテーション

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

More information

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問 Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問のメソッドを追加する public static void main(string[] args) {

More information

ブロック崩し風テニス

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

More information

データ型・コード記述規則

データ型・コード記述規則 配列 コード記述規則 VB 2005 2 今回の課題項目 配列 配列の概要 配列の宣言 配列の初期化 配列の配列 ( ジャグ配列 ) 配列クラス 複数の要素型の混在する配列 コレクション 配列と仕て使用されるコレクション 構造体 構造体の宣言 構造体の使用方法 列挙体 列挙体の宣言 列挙体の使用方法 演算子 演算子の種類 ( 代入 算術 文字列結合 ビットシフト 論理 比較 ) 比較演算子を使用する上での注意点

More information

コードページ

コードページ Encoding クラス 文字エンコーディングを表す 名前空間 :System.Text アセンブリ :mscorlib (mscorlib.dll 内 ) 解説 エンコーディングは Unicode 文字のセットをバイトシーケンスに変換するプロセスで有る デコードは 其の逆に成る エンコードされたバイトシーケンスを Unicode 文字のセットに変換するプロセスで有る Unicode Standard

More information

VB実用③ アクセス操作Ⅰ

VB実用③ アクセス操作Ⅰ VB でアクセス操作 Ⅰ VB 2005 3 プログラムの概要 此処では コントロールを使用しないで コードに依るデータベースへの接続とデータの取得の方法を学ぶ コントロールに依るデータベース接続は 簡単にデータベースを操作する事が出来ると謂う利点が有り 小規模な運用で有れば 充分な能力を発揮する 併し 中規模 大規模に成り 複雑な操作を必要とする様に成れば 力不足に成る可能性が高く成る 然う成れば

More information

ASP.NET 2.0 Provider Model 概要

ASP.NET 2.0 Provider Model 概要 ASP.NET 2.0 Provider Model 概要 Agenda ASP.NET 2.0 Provider Model とは カスタムプロバイダの実装 まとめ ASP.NET 2.0 Provider Model とは ASP.NET 2.0 のインフラストラクチャ データストアへのアクセスをアプリケーションロジックから分離 データストアの変更に柔軟に対応 Strategy パターン デザインパターンによる意識の共通化

More information

グラフィックス 目次

グラフィックス 目次 WPF チュートリアル WPF デザイナーに依るサイズ変更可能なアプリケーションの作成 Grid コンテナーコントロールと共に GridSplitter コントロールを使用する事に依り 実行時にユーザーに依ってサイズを変更出来るウィンドウレイアウトを作成出来る 例えば 領域に分割されて居る UI を持つアプリケーションで ユーザーが分割線をドラッグする事に依り より多くの内容を見る必要が有る領域を大きくする事が出来る

More information

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略   

LogisticaTRUCKServer-Ⅱ距離計算サーバ/Active-Xコントロール/クライアント 概略       - LogisticaTRUCKServer-Ⅱ(SQLServer 版 ) 距離計算サーハ API.NET DLL WebForms ASP.NET サンフ ルフ ロク ラム - 1 - LogisticaTRUCKServer-Ⅱ 距離計算サーハ.NET DLL WebForm ASP.NET VisualBasic での利用方法 LogisticaTRUCKServer-Ⅱ 距離計算.NET

More information

クラスⅠ

クラスⅠ クラス Ⅰ 今回の課題項目 クラスライブラリ ( 概要 クラス パッケージ ) クラスライブラリ ( クラスのインポート ) クラスライブラリ ( クラスのメンバ 静的メンバ インスタンスメンバ ) メソッドの種類 ( クラスライブラリのメソッド 自作のメソッド ) メソッドの構成 ( 戻り値 メソッド名 引数リスト メソッド本体 ) メソッドの定義 ( オーバーロード : 多重定義 ) メソッドの呼出

More information

万年暦プログラム

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

More information

Microsoft Word _VBAProg1.docx

Microsoft Word _VBAProg1.docx 1. VBA とマクロ 1.1 VBA とは VBA(Visual Basic for Applications) は 1997 年に Microsoft 社がマクロを作成するために開発された言語である Windows 対応のアプリケーションを開発するためのプログラミング言語 Visual Basic をもとにしているため 次のような特徴がある 1 VBA は Excel Word, Access,

More information

チャットアプリ

チャットアプリ チャットアプリ Socket クラスに依る TCP 非同期通信の方法 複数のクライアントが同時に接続出来る TCP を利用したクライアントサーバー型チャットアプリケーションを TcpClient と TcpListener クラスを使わずに Socket クラスを使って作る方法を紹介する 初めに 此処では 複数のクライアントが同時に接続出来る TCP を利用したクライアントサーバー型チャットアプリケーション

More information

Microsoft PowerPoint - prog03.ppt

Microsoft PowerPoint - prog03.ppt プログラミング言語 3 第 03 回 (2007 年 10 月 08 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/33 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 10 月 08 日分と書いてある部分が 本日の教材です

More information

スライド 1

スライド 1 R 流 Visual Studio 2008 C# の 驚異的な生産性を知る 2008 年 03 月 29 日 R 田中一郎 http://blogs.wankuma.com/rti/ Microsoft MVP for Development Tools - Visual C# アジェンダ はじめに コード比較 新機能の紹介 新機能の応用 まとめ はじめに つい先日発売した Visual Studio

More information

印刷

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

More information

基礎プログラミング2015

基礎プログラミング2015 応用プログラミング 第 5 回 テキスト入力処理 2017 年 10 月 18 日 ( 水 ) 第 7 章 テキスト入力処理 1 文字ずつの処理 (P.58) char 型などに入力する cin >> x や fin >> x はホワイトスペースが読み飛ばされる仕様 ホワイトスペース : スペース ( 空白 ), Tab( タブ ), 改行 // sample.cpp char ch; while(cin

More information

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版  

intra-mart Accel Platform — IM-Repository拡張プログラミングガイド   初版   Copyright 2018 NTT DATA INTRAMART CORPORATION 1 Top 目次 1. 改訂情報 2. はじめに 2.1. 本書の目的 2.2. 対象読者 2.3. サンプルコードについて 2.4. 本書の構成 3. 辞書項目 API 3.1. 最新バージョン 3.1.1. 最新バージョンの辞書を取得する 3.2. 辞書項目 3.2.1. 辞書項目を取得する 3.2.2.

More information