ICONファイルフォーマット

Size: px
Start display at page:

Download "ICONファイルフォーマット"

Transcription

1 グラフィックス エンコーダパラメータを指定した画像の保存 概要 Image クラスの Save メソッドには イメージコーデック情報とエンコーダパラメータを指定して画像を保存するオーバーロードが有る 此れを利用すると 様々な画像形式で色々のオプションを指定して画像を保存する事が出来る Public Sub Save ( _ filename As String, _ encoder As ImageCodecInfo, _ encoderparams As EncoderParameters _ ) public void Save ( string filename, ImageCodecInfo encoder, EncoderParameters encoderparams ) パラメータは 下記の通りで有る パラメータ filename encoder encoderparams 意味此の Image の保存先ファイルの名前を格納して居る文字列此の Image の ImageCodecInfo 此の Image に使用する EncoderParameters 元画像に上書き保存した場合 イメージの作成元と同じファイルにイメージを保存する事は許可されない為 ExternalException 例外がスローされる ImageCodecInfo クラス ImageCodecInfo クラスには インストールされたイメージコーデックに関する総ての関連情報を検索する為の必要なストレージメンバとメソッドが用意されて居る 必要なイメージコーデック情報を取得する方法は MSDN に有用なメソッド ( ファンクション ) が記載されて居るので 此れを下記に示す ' MimeType で指定された ImageCodecInfo を探して返すメソッド (MSDN より ) Private Shared Function GetEncoderInfo(ByVal MineType As String) _ As System.Drawing.Imaging.ImageCodecInfo -1-

2 ' GDI+ に組み込まれたイメージエンコーダに関する情報を総て取得 Dim Encs( ) As System.Drawing.Imaging.ImageCodecInfo = _ System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders( ) ' 指定された MimeType を探して見付かれば返す Dim Enc As System.Drawing.Imaging.ImageCodecInfo For Each Enc In Encs If Enc.MimeType = MineType Then Return Enc End If Next Return Nothing End Function // MimeType で指定された ImageCodecInfo を探して返すメソッド (MSDN より ) private static ImageCodecInfo GetEncoderInfo(String mimetype) // GDI+ に組み込まれたイメージエンコーダに関する情報を総て取得 ImageCodecInfo[] encoders; encoders = ImageCodecInfo.GetImageEncoders(); // 指定された MimeType を探して見付かれば返す for(int i = 0; i < encoders.length; ++i) if(encoders[i].mimetype == mimetype) return encoders[i]; return null; Image クラスの Save メソッドの第 2 引数 encoder に指定するイメージコーデック情報を取得するコードは 下記の通りで有る Dim Ici As System.Drawing.Imaging.ImageCodecInfo Ici = GetEncoderInfo("image/png") System.Drawing.Imaging.ImageCodecInfo ici; ici = GetEncoderInfo("image/png"); 猶 上記では PNG 形式のイメージコーデック情報を指定して居る 使用して居るコンピュータで使用する事の出来る画像形式の一覧は 下記のコードで確認する事が出来る ( 下記では lstmime と謂う名前の ListBox コントロールに出力して居る ) ' MIME 一覧の表示 Dim Encs() As System.Drawing.Imaging.ImageCodecInfo = _ System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders() Dim Enc As System.Drawing.Imaging.ImageCodecInfo -2-

3 For Each Enc In Encs lstmime.items.add(enc.mimetype) Next ImageCodecInfo[] encoders; encoders = ImageCodecInfo.GetImageEncoders(); for(int i = 0; i < encoders.length; ++i) lstmime.items.add(encoders[i].mimetype); Encoder クラス Encoder オブジェクトは System.Drawing.Imaging 名前空間に属し 画像を保存する際に イメージコーデック情報と組み合わせて 様々なオプションを指定する為のエンコーダパラメータを生成するクラスで有る イメージエンコーダにパラメータを渡すと 其のパラメータは EncoderParameter オブジェクト内でカプセル化される EncoderParameter オブジェクトのプライベートフィールドに パラメータカテゴリを指定する GUID が有る イメージエンコーダが設定されて居る GDI+ は 下記のカテゴリに属するパラメータを受け取る カテゴリ ChrominanceTable 彩度テーブル (64Bit データ?) ColorDepth 色深度 Compression 圧縮 LuminanceTable 輝度テーブル (64Bit データ?) Quality 品質 RenderMethod レンダリングメソッド SaveFlag フラグ保存 ScanMethod スキャンメソッド Transformation 変換 Version バージョン 意味 下記に 色深度用のエンコーダを生成するコードを示す 猶 品質用のエンコーダを生成する場合は 下記の ColorDepth を Quality とすれば良い 此れは Image クラスの Save メソッドの第 3 引数 encoderparams に指定するエンコーダパラメータを生成するのに必要で有る ' 色深度用のエンコーダの生成 Dim Enc As System.Drawing.Imaging.Encoder Enc = System.Drawing.Imaging.Encoder.ColorDepth // 色深度用のエンコーダの生成 System.Drawing.Imaging.Encoder enc; enc = System.Drawing.Imaging.Encoder.ColorDepth; -3-

4 EncoderParameters クラス EncoderParameters クラスは EncoderParameter オブジェクトの配列をカプセル化 ( 保持 ) するクラスで有る EncoderParameters クラスのインスタンスは 格納する EncoderParameter オブジェクトの数丈の要素を確保する必要が有る 例えば 色深度丈を指定する場合は 1 個の要素 色深度と品質を指定する場合は 2 個の要素が必要と成る 下記に 1 個の要素を持つ EncoderParameters クラスのインスタンスを生成するコードを示す ' エンコーダパラメータの生成 Dim Eps As System.Drawing.Imaging.EncoderParameters Eps = New System.Drawing.Imaging.EncoderParameters(1) // エンコーダパラメータの生成 System.Drawing.Imaging.EncoderParameters eps; eps = new System.Drawing.Imaging.EncoderParameters(1); EncoderParameter クラス EncoderParameter クラスは 値の配列をイメージエンコーダに渡す為のクラスで有る 猶 EncoderParameter オブジェクトを使用して 特定のイメージエンコーダの特定のパラメータがサポートする値のリストを受け取る事も出来る 色深度 下記に 色深度を指定するパラメータを生成するコードを示す コンストラクタの第 2 引数は 1 ピクセル当りのビット数で有る ' 色深度を指定するパラメータの生成 ( エンコーダは ColorDepth) Dim Ep As System.Drawing.Imaging.EncoderParameter Ep = New System.Drawing.Imaging.EncoderParameter(Enc, 24) // 色深度を指定するパラメータの生成 ( エンコーダは ColorDepth) System.Drawing.Imaging.EncoderParameter ep; ep = new System.Drawing.Imaging.EncoderParameter(Enc, 24); 有効な値は 1( モノクロ ) 8(256 色 ) 16( ハイカラー ) 24( フルカラー ) 32( ツルーカラー ) で有る 此等は TIFF エンコーダに対して有効で有る 此のパラメータは image/tiff に対して有効で有り 他の形式 (image/bmp image/giff image/jpeg image/png) に対しては エラーは発生しないが 無効で有る 実際には TIFF で 1( モノクロ ) 8(256 色 ) 16( ハイカラー ) では エラーが発生する -4-

5 圧縮 下記に 圧縮方法を指定するパラメータを生成するコードを示す コンストラクタの第 2 引数は System.Drawing.Imaging.EncoderValue 列挙体の値で有る ' 圧縮方法を指定するパラメータの生成 ( エンコーダは Compression) Dim Ep As System.Drawing.Imaging.EncoderParameter Ep = New System.Drawing.Imaging.EncoderParameter(Enc, _ System.Drawing.Imaging.EncoderValue.CompressionLZW) // 圧縮方法を指定するパラメータの生成 ( エンコーダは Compression) System.Drawing.Imaging.EncoderParameter ep; ep = new System.Drawing.Imaging.EncoderParameter(Enc, System.Drawing.Imaging.EncoderValue.CompressionLZW)); 圧縮カテゴリに関する System.Drawing.Imaging.EncoderValue 列挙体の値を 下記に示す 此等は TIFF エンコーダに対して有効で有る メンバ名 CompressionCCITT3 CompressionCCITT4 CompressionLZW CompressionNone CompressionRle CCITT3 圧縮スキームを指定 CCITT4 圧縮スキームを指定 LZW 圧縮スキームを指定無圧縮を指定 RLE 圧縮スキームを指定 説明 此のパラメータは image/tiff に対して有効で有り 他の形式 (image/bmp image/giff image/jpeg image/png) に対しては エラーは発生しないが ( 下記参照 ) 無効で有る フルカラー (24 ビット色深度 ) の BMP 画像 (120,054 バイト ) を 色々な画像形式に圧縮を施した結果を 下記の表に示す ( はエラーが発生 ) 画像形式 LZW CCITT3 CCITT4 Rle None bmp 120, , , ,054 jpeg 4,398 4,398 4,398 4,398 4,398 gif 3,264 3,264 3,264 3,264 3,264 tiff 9, ,284 png 5,671 5,671 5,671 5,671 5,671 上表からも解る様に 実際には TIFF 形式で LZW 圧縮の場合丈が有効で有る様で有る 品質 下記に 品質を指定するパラメータを生成するコードを示す コンストラクタの第 2 引数は 品質を表す 0 ~ 100 の範囲の値で有る 低い数値を指定する程 圧縮率が高く成り イメージの品質は低下する 品質は 0 で最低 100 で最高に成る 此等は JPEG エンコーダに対して有効で有る ' 品質を指定するパラメータの生成 ( エンコーダは Quality) -5-

6 Dim Ep As System.Drawing.Imaging.EncoderParameter Ep = New System.Drawing.Imaging.EncoderParameter(Enc, 50) // 品質を指定するパラメータの生成 ( エンコーダは Quality) System.Drawing.Imaging.EncoderParameter ep; ep = new System.Drawing.Imaging.EncoderParameter(Enc, 50); 此のパラメータは image/jpeg に対して有効で有り 他の形式 (image/bmp image/giff image/tiff image/png) に対しては エラーは発生しないが 無効で有る 変換 下記に 変換方法を指定するパラメータを生成するコードを示す コンストラクタの第 2 引数は System.Drawing.Imaging.EncoderValue 列挙体の値で有る ' 変換方法を指定するパラメータの生成 ( エンコーダは Transformation) Dim Ep As System.Drawing.Imaging.EncoderParameter Ep = New System.Drawing.Imaging.EncoderParameter(Enc, _ System.Drawing.Imaging.EncoderValue. TransformRotate90) // 変換方法を指定するパラメータの生成 ( エンコーダは Transformation) System.Drawing.Imaging.EncoderParameter ep; ep = new System.Drawing.Imaging.EncoderParameter(Enc, System.Drawing.Imaging.EncoderValue. TransformRotate90)); 変換カテゴリに関する System.Drawing.Imaging.EncoderValue 列挙体の値を 下記に示す 此等は JPEG エンコーダに対して有効で有る メンバ名 TransformFlipHorizontal TransformFlipVertical TransformRotate180 TransformRotate270 TransformRotate90 説明イメージが ( 垂直軸の周りで ) 水平方向に反転されるイメージが ( 水平軸の周りで ) 垂直方向に反転されるイメージが其の中心を軸に 180 度回転するイメージが其の中心を軸に 時計回りに 270 度回転するイメージが其の中心を軸に 時計回りに 90 度回転する 此のパラメータは image/jpeg に対して有効で有り 他の形式 (image/bmp image/giff image/tiff image/png) に対しては エラーは発生しないが 無効で有る 亦 変換元と成る画像は JPEG 形式で無ければ成らない 更に 一度変換して保存すると 元画像にも何等かの変更が加えられる様で 続けて変換保存するとエラーが発生する 此の場合は 元画像の再読込が必要で有る クロミナンス ルミナンス 下記に クロミナンスとルミナンスを指定するパラメータを生成するコードを示す コンストラクタの第 2 引数は Short 型の 64 個の要素を持つ配列で有る -6-

7 ' クロミナンスを指定するパラメータの生成 ( エンコーダ Enc1 は ChrominanceTable) ' ルミナンスを指定するパラメータの生成 ( エンコーダ Enc2 は LuminanceTable) Dim D1(63) As Short : D1(0) = Short.Parse(txtChrominance.Text) Dim D2(63) As Short : D2(0) = Short.Parse(txtLuminance.Text) For I As Integer = 1 To (D1.Length - 1) : D1(I) = D1(0) : Next For I As Integer = 1 To (D1.Length - 1) : D2(I) = D2(0) : Next Dim Ep1 As System.Drawing.Imaging.EncoderParameter Ep1 = New System.Drawing.Imaging.EncoderParameter(Enc1, D1) Dim Ep2 As System.Drawing.Imaging.EncoderParameter Ep2 = New System.Drawing.Imaging.EncoderParameter(Enc2, D2) // クロミナンスを指定するパラメータの生成 ( エンコーダ enc1 は ChrominanceTable) // ルミナンスを指定するパラメータの生成 ( エンコーダ enc2 は LuminanceTable) short[] d1 = new short[64]; d1[0] = Short.Parse(txtChrominance.Text); short[] d2 = new short[64]; d2[0] = Short.Parse(txtLuminance.Text); for(int i = 1; i < d1.length; i++) d1[i] = d1[0]; for(int i = 1; i < d2.length; i++) d2[i] = d2[0]; System.Drawing.Imaging.EncoderParameter ep1; ep1 = new System.Drawing.Imaging.EncoderParameter(enc1, d1); System.Drawing.Imaging.EncoderParameter ep2; ep2 = New System.Drawing.Imaging.EncoderParameter(enc2, d2) 実際には クロミナンスとルミナンスのテーブルデータは 下記の様なデータで有る LuminanceTable ChrominanceTable 此のパラメータは image/jpegf に対して有効で有り 他の形式 (image/bmp image/giff image/tiff image/png) に対しては エラーは発生しないが 無効で有る 亦 画像がクロミナンスかルミナンスの孰れかのテーブルを持つ場合 両方のテーブルを設定する必要が有る 猶 変換元と成る画像は JPEG 形式で無くても良いが 一度変換して保存すると 元画像にも何等かの変更が加えられる様で 続けて変換保存するとエラーが発生する 此の場合は 元画像の再読込が必要で有る -7-

8 フラグ保存 此のパラメータを使用すると 複数の形式の異なる画像を単一の画像に保存する事が出来る フラグ保存カテゴリに関する System.Drawing.Imaging.EncoderValue 列挙体の値を 下記に示す 此等は TIFF エンコーダに対して有効で有る メンバ名 説明 Flush 複数フレームのファイルやストリームを閉じる FrameDimensionPage フレームをイメージのページディメンションに追加する FrameDimensionResolution GDI+ バージョン 1.0 では使用されない FrameDimensionTime GDI+ バージョン 1.0 では使用されない LastFrame 複数フレームイメージ内の最後のフレーム MultiFrame イメージに複数のフレーム ( ページ ) が有る 此の使用法に付いては MSDN の Encoder.SaveFlag フィールドの項に BMP ファイル JPEG ファイル PNG ファイルから Bitmap オブジェクトを作成し 総てのイメージを 複数フレームを持つ単一の TIFF ファイルに保存するコード例が 記載されて居る エンコーダパラメータへの追加 個々に設定した EncoderParameter オブジェクトをエンコーダパラメータに追加するコードを 下記に示す ' EncoderParameter オブジェクトを最初の要素に追加 Eps.Param(0) = Ep // EncoderParameter オブジェクトを最初の要素に追加 eps.param[0] = ep; 画像の保存 下記に イメージコーデック情報とエンコーダパラメータを指定して画像を保存するコードを示す Dim Bm As Bitmap = New Bitmap("c: img sample.bmp") Bm.Save("c: img sample.tiff" Ici, Eps) Bitmap bm = new Bitmap(@"c: img sample.bmp"); bm.save(@"c: img sample.tiff" ici, eps); -8-

9 System.Drawing.Imaging.EncoderValue 列挙体 総ての System.Drawing.Imaging.EncoderValue 列挙体の値を 下記に示す メンバ名 説明 ColorTypeCMYK GDI+ バージョン 1.0 では使用されない ColorTypeYCCK GDI+ バージョン 1.0 では使用されない CompressionCCITT3 CCITT3 圧縮スキーム ( 圧縮カテゴリ TIFF エンコーダ ) CompressionCCITT4 CCITT4 圧縮スキーム ( 圧縮カテゴリ TIFF エンコーダ ) CompressionLZW LZW 圧縮スキーム ( 圧縮カテゴリ TIFF エンコーダ ) CompressionNone 無圧縮 ( 圧縮カテゴリ TIFF エンコーダ ) CompressionRle RLE 圧縮スキーム ( 圧縮カテゴリ TIFF エンコーダ ) Flush 複数フレームのファイルやストリームを閉じる ( フラグ保存カテゴリ TIFF エンコーダ ) FrameDimensionPage フレームをイメージのページディメンションに追加する ( フラグ保存 カテゴリ TIFF エンコーダ ) FrameDimensionResolution GDI+ バージョン 1.0 では使用されない FrameDimensionTime GDI+ バージョン 1.0 では使用されない LastFrame 複数フレームイメージ内の最後のフレーム ( フラグ保存カテゴリ TIFF エンコーダ MultiFrame イメージに複数のフレーム ( ページ ) が有る ( フラグ保存カテゴリ TIFF エンコーダ ) RenderNonProgressive GDI+ バージョン 1.0 では使用されない RenderProgressive GDI+ バージョン 1.0 では使用されない ScanMethodInterlaced GDI+ バージョン 1.0 では使用されない ScanMethodNonInterlaced GDI+ バージョン 1.0 では使用されない TransformFlipHorizontal イメージが ( 垂直軸の周りで ) 水平方向に反転される ( 変換カテゴリ JPEG エンコーダ ) TransformFlipVertical イメージが ( 水平軸の周りで ) 垂直方向に反転される ( 変換カテゴリ JPEG エンコーダ ) TransformRotate180 イメージが其の中心を軸に 180 度回転する ( 変換カテゴリ JPEG エ ンコーダ ) TransformRotate270 イメージが其の中心を軸に 時計回りに 270 度回転する ( 変換カテゴ リ JPEG エンコーダ ) TransformRotate90 イメージが其の中心を軸に 時計回りに 90 度回転する ( 変換カテゴ リ JPEG エンコーダ ) VersionGif87 GDI+ バージョン 1.0 では使用されない VersionGif89 GDI+ バージョン 1.0 では使用されない -9-

10 メタデータの取得 概要 イメージファイルの中には メタデータが含まれて居る物が有り 此のデータを読み取る事に依り 其のイメージの特徴を確認する事が出来る デジタルカメラで撮影したイメージファイルには 此の様なメタデータが含まれて居る事が有り 撮影に使用したカメラのメーカーやモデル 撮影日時等を知る事が出来る 亦 クロミナンスやルミナンスのテーブルの取得も可能で有る GDI+ は 個々のメタデータを PropertyItem オブジェクトに格納する Image オブジェクトの PropertyItems プロパティを取得する事で ファイルから総てのメタデータを取得する事が出来る PropertyItems プロパティは PropertyItem オブジェクトの配列を返すコレクションで有る PropertyItem オブジェクトには Id Value Len Type と謂う 4 個のプロパティが有る Id( 識別子 ) メタデータ項目を識別するタグで有る Id に割り当てる事の出来る値の一部を 下表に示す ID(16 進値 ) 010F 機器のメーカー 0110 機器のモデル 0131 機器の名称 0132 撮影日時 0320 イメージのタイトル 5090 輝度テーブル 5091 クロミナンステーブル 829A Exif 露光時間 9003 撮影日時 9004 撮影日時 説明 Type( 型 ) 格納されて居る値のデータ型で有る Type プロパティの値で示される形式を 下表に示す 数値説明 1 Byte 2 ASCII 形式でエンコードされた Byte 配列 3 16 ビット整数 (Int16) 4 32 ビット整数 (Int32) 5 有理数を表す 2 つの Byte 配列 6 未使用 7 未定義 8 未使用 9 SLong 10 SRational -10-

11 Len( バイト数 ) 格納されて居る値の長さ ( バイト単位 ) で有る Value( 値 ) 格納されて居る値の Byte 配列で有る 値の形式は Type プロパティに依り決定される 例えば Type が 3(Int32) で有れば Byte 配列 2 要素で 1 個のデータと成る コード例 指定した画像ファイルからメタデータを取得して 表示するコード例を 下記に示す ボタン (btngetinfomation) をクリックすると ファイルを開くダイアログ (dlgopen) が表示されるので 画像ファイルを指定すると メタデータの項目がリストボックス (lstinfo) に一覧表示される 亦 リストボックスの項目を選択すると テキストボックス (txtinfo) に 其の詳細が表示される Public Class EncoderInfomation Private Msg() As String ' ボタン ( 取得 ) がクリックされた時の処理 Private Sub btngetinfomation_click(byval sender As System.Object, _ ByVal e As System.EventArgs) Handles btngetinfomation.click If dlgopen.showdialog() = Windows.Forms.DialogResult.OK Then Dim Fn As String = dlgopen.filename Dim Bm As Bitmap = New Bitmap(Fn) Dim P() As System.Drawing.Imaging.PropertyItem = Bm.PropertyItems Dim D() As Byte Dim S As String = "" Dim L As Integer ReDim Msg(P.Length - 1) For I As Integer = 0 To (P.Length - 1) L = P(I).Len S = "Property Item " & I.ToString().PadLeft(2) & ", " S &= " ID : " & P(I).Id.ToString("X").PadLeft(4) & "H, " Select Case P(I).Type Case 1 : S &= " TYPE : 1.Byte, " : Msg(I) = GetOther(P(I)) Case 2 : S &= " TYPE : 2.Byte 配列, " : Msg(I) = GetText(P(I)) Case 3 : S &= " TYPE : 3.Int16, " : Msg(I) = GetInt16(P(I)) Case 4 : S &= " TYPE : 4.Int32, " : Msg(I) = GetInt32(P(I)) Case 5 : S &= " TYPE : 5.Byte 配列, " : Msg(I) = GetOther(P(I)) Case 6 : S &= " TYPE : 6. 未使用, " : Msg(I) = GetOther(P(I)) Case 7 : S &= " TYPE : 7. 未定義, " : Msg(I) = GetOther(P(I)) Case 8 : S &= " TYPE : 8. 未使用, " : Msg(I) = GetOther(P(I)) Case 9 : S &= " TYPE : 9.SLong, " : Msg(I) = GetOther(P(I)) -11-

12 Case 10 : S &= " TYPE : 10.SRational, " : Msg(I) = GetOther(P(I)) End Select S &= " LENGTH : " & L.ToString().PadLeft(5) & " bytes" lstinfo.items.add(s) Next End If End Sub ' リストボックス ( 情報 ) の選択項目が変化した時の処理 Private Sub lstinfo_selectedindexchanged(byval sender As System.Object, _ ByVal e As System.EventArgs) Handles lstinfo.selectedindexchanged txtinfo.text = Msg(lstInfo.SelectedIndex) End Sub ' Byte 配列 (ASCII エンコーディング ) の値を文字列に変換するジェネラルプロシージャ Private Function GetText(ByVal P As System.Drawing.Imaging.PropertyItem) As String Dim D() As Byte = P.Value Return System.Text.Encoding.ASCII.GetString(D) End Function ' Int16 の値を文字列に変換するジェネラルプロシージャ Private Function GetInt16(ByVal P As System.Drawing.Imaging.PropertyItem) As String Dim D() As Byte = P.Value Dim N As Integer = 0 Dim S As String = "" For I As Integer = 0 To (D.Length - 1) Step 2 N = D(I) + D(I + 1) * 256 S &= (N.ToString() & " ") Next Return S.Trim() End Function ' Int32 の値を文字列に変換するジェネラルプロシージャ Private Function GetInt32(ByVal P As System.Drawing.Imaging.PropertyItem) As String Dim D() As Byte = P.Value Dim N As Integer = 0 Dim S As String = "" For I As Integer = 0 To (D.Length - 1) Step 4 N = D(I) + D(I + 1) * D(I + 2) * D(I + 3) * S &= (N.ToString() & " ") Next Return S.Trim() End Function ' 其他の値を文字列に変換するジェネラルプロシージャ Private Function GetOther(ByVal P As System.Drawing.Imaging.PropertyItem) As String Dim D() As Byte = P.Value -12-

13 Dim N As Integer = 0 Dim S As String = "" For I As Integer = 0 To (D.Length - 1) Step 2 N = D(I) S &= (N.ToString("X").PadLeft(2, "0") & " ") Next Return S.Trim() End Function End Class using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace EncoderInfomation public partial class EncoderInfomation : Form private string[] msg; public EncoderInfomation() InitializeComponent(); // ボタン ( 取得 ) がクリックされた時の処理 private void btngetinfomation_click(object sender, EventArgs e) if (dlgopen.showdialog() == DialogResult.OK) string fn = dlgopen.filename; Bitmap bm = new Bitmap(fn); System.Drawing.Imaging.PropertyItem[] p = bm.propertyitems; string s = ""; int l; msg = new string[p.length]; lstinfo.items.clear(); for (int i = 0; i < p.length; i++) l = p[i].len; s = "Property Item " + i.tostring().padleft(2) + ", "; s += " ID : " + p[i].id.tostring("x").padleft(4) + "H, "; -13-

14 switch (p[i].type) case 1: s += " TYPE : 1.Byte, "; msg[i] = GetOther(p[i]); break; case 2: s += " TYPE : 2.Byte 配列, "; msg[i] = GetText(p[i]); break; case 3: s += " TYPE : 3.Int16, "; msg[i] = GetInt16(p[i]); break; case 4: s += " TYPE : 4.Int32, "; msg[i] = GetInt32(p[i]); break; case 5: s += " TYPE : 5.Byte 配列, "; msg[i] = GetOther(p[i]); break; case 6: s += " TYPE : 6. 未使用, "; msg[i] = GetOther(p[i]); break; case 7: s += " TYPE : 7. 未定義, "; msg[i] = GetOther(p[i]); break; case 8: s += " TYPE : 8. 未使用, "; msg[i] = GetOther(p[i]); break; case 9: s += " TYPE : 9.SLong, "; msg[i] = GetOther(p[i]); break; case 10: s += " TYPE : 10.SRational, "; msg[i] = GetOther(p[i]); break; s += " LENGTH : " + l.tostring().padleft(5) + " bytes"; lstinfo.items.add(s); // リストボックス ( 情報 ) の選択項目が変化した時の処理 private void lstinfo_selectedindexchanged(object sender, EventArgs e) txtinfo.text = msg[lstinfo.selectedindex]; // Byte 配列 (ASCII エンコーディング ) の値を文字列に変換するジェネラルプロシージャ private string GetText(System.Drawing.Imaging.PropertyItem p) byte[] d = p.value; return System.Text.Encoding.ASCII.GetString(d); // Int16 の値を文字列に変換するジェネラルプロシージャ private string GetInt16(System.Drawing.Imaging.PropertyItem p) byte[] d = p.value; int n = 0; string s = ""; for (int i = 0; i < d.length; i+=2) n = d[i] + d[i + 1] * 256; s += (n.tostring() + " "); return s.trim(); // Int32 の値を文字列に変換するジェネラルプロシージャ private string GetInt32(System.Drawing.Imaging.PropertyItem p) -14-

15 byte[] d = p.value; int n = 0; string s = ""; for (int i = 0; i < d.length; i += 4) n = d[i] + d[i + 1] * d[i + 2] * d[i + 3] * ; s += (n.tostring() + " "); return s.trim(); // 其他の値を文字列に変換するジェネラルプロシージャ private string GetOther(System.Drawing.Imaging.PropertyItem p) byte[] d = p.value; int n = 0; string s = ""; for (int i = 0; i < d.length; i += 2) n = d[i]; s += (n.tostring("x").padleft(2, '0') + " "); return s.trim(); 下記のコード例は MSDN に記載されて居る物で有る 参考 ファイル FakePhoto.jpg からメタデータの 7 個の部分を読み取って表示するコード例を 下記に示す リスト内の 2 番目の ( インデックス 1) プロパティ項目には Id 0x010F( 機器のメーカー ) と Type 2 (ASCII 形式でエンコードされたバイト配列 ) が指定されて居る 此のコード例は 此のプロパティ項目の値を表示する ' Image オブジェクトの生成 Dim image As Bitmap = New Bitmap("c: FakePhoto.jpg") ' イメージから PropertyItems プロパティを取得 Dim propitems As PropertyItem() = image.propertyitems ' 表示用の設定 Dim font As New Font("Arial", 12) Dim blackbrush As New SolidBrush(Color.Black) Dim X As Integer = 0 Dim Y As Integer = 0-15-

16 ' 各 PropertyItem の ID とデータ型と長さを表示 Dim count As Integer = 0 Dim propitem As PropertyItem For Each propitem In propitems e.graphics.drawstring( "Property Item " & count.tostring(), _ font, blackbrush, X, Y) Y += font.height e.graphics.drawstring( " font, blackbrush, X, Y) Y += font.height e.graphics.drawstring( " font, blackbrush, X, Y) Y += font.height e.graphics.drawstring( " font, blackbrush, X, Y) Y += font.height id: 0x" & propitem.id.tostring("x"), _ type: " & propitem.type.tostring(), _ length: " & propitem.len.tostring() & " bytes", _ count += 1 Next propitem ' 2 番目のプロパティを文字列に変換して表示 Dim encoding As New System.Text.ASCIIEncoding() Dim manufacturer As String = encoding.getstring(propitems(1).value) e.graphics.drawstring( "The equipment make is " & manufacturer & ".", _ font, blackbrush, X, Y) // Image オブジェクトの生成 Image image = new Bitmap("c: FakePhoto.jpg"); // イメージから PropertyItems プロパティを取得 PropertyItem[] propitems = image.propertyitems; // 表示用の設定 Font font = new Font("Arial", 12); SolidBrush blackbrush = new SolidBrush(Color.Black); int X = 0; int Y = 0; / / 各 PropertyItem の ID とデータ型と長さを表示 int count = 0; foreach (PropertyItem propitem in propitems) -16-

17 e.graphics.drawstring( "Property Item " + count.tostring(), font, blackbrush, X, Y); Y += font.height; e.graphics.drawstring( " font, blackbrush, X, Y); Y += font.height; e.graphics.drawstring( " font, blackbrush, X, Y); Y += font.height; e.graphics.drawstring( " font, blackbrush, X, Y); Y += font.height; id: 0x" + propitem.id.tostring("x"), type: " + propitem.type.tostring(), length: " + propitem.len.tostring() + " bytes", count++; // 2 番目のプロパティを文字列に変換して表示 System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding(); string manufacturer = encoding.getstring(propitems[1].value); e.graphics.drawstring( "The equipment make is " + manufacturer + ".", font, blackbrush, X, Y); -17-

ICONファイルフォーマット

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

More information

プロセス間通信

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

More information

ファイル操作

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

More information

構造体

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

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

グラフィックス

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

More information

スライド 1

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

More information

正規表現応用

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

More information

ListViewコントロール

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

More information

ウィンドウ操作 応用

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

More information

ファイル監視

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

More information

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

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

More information

データアダプタ概要

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

More information

VB.NET解説

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

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

プラグイン

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

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

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

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

More information

ハッシュテーブル

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

More information

スレッド操作 タイマー

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

More information

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

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

More information

Microsoft Excel操作

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

More information

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

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

More information

ブロック パニック

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

More information

Userコントロール

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

More information

NotifyIconコントロール

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

More information

C#の基本

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

More information

コードページ

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

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

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

More information

構造体

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

More information

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

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

More information

文書閲覧プログラム

文書閲覧プログラム 文書閲覧プログラム C# 2005 4 プログラムの概要 標準的な Windows のを使用して ユーザーに違和感を与えず 文書ファイルを指定し 画面に表示する 亦 ファイルへの保存も可能で有る メニューバーより ファイル をクリックしてドロップダウンメニューを表示し 其の中の項目から 開く を選択して ファイルを開く ダイアログボックスを表示し ファイルを選択する 同じダイアログボックスで 終了

More information

Prog2_12th

Prog2_12th 2018 年 12 月 13 日 ( 木 ) 実施クラスの継承オブジェクト指向プログラミングの基本的な属性として, 親クラスのメンバを再利用, 拡張, または変更する子クラスを定義することが出来る メンバの再利用を継承と呼び, 継承元となるクラスを基底クラスと呼ぶ また, 基底クラスのメンバを継承するクラスを, 派生クラスと呼ぶ なお, メンバの中でコンストラクタは継承されない C# 言語では,Java

More information

VB実用⑦ エクセル操作Ⅰ

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

More information

チア ダンス

チア ダンス チアダンス きょうつうへんすうこうぞうたいせんげん 共通の変数や構造体を宣言する せんたくひょうじ 1. ソリューションエクスプローラで CheerDance.vb を選択し コードの表示をクリックする 2. 次のコードが表示されるので 1の所に 下の囲いのコードを入力する Imports System.IO Public Class frmmain 1 ここに入力する! End Class Private

More information

印刷

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

More information

ルーレットプログラム

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

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

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

Case 0 sqlcmdi.parameters("?tencode").value = Iidata(0) sqlcmdi.parameters("?tenname").value = Iidata(1) 内容を追加します sqlcmdi.executenonquery() Case Else

Case 0 sqlcmdi.parameters(?tencode).value = Iidata(0) sqlcmdi.parameters(?tenname).value = Iidata(1) 内容を追加します sqlcmdi.executenonquery() Case Else Imports MySql.Data.MySqlClient Imports System.IO Public Class Form1 中間省略 Private Sub コマンドテストCToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles コマンドテストCToolStripMenuItem.Click

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

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

クリッピング領域

クリッピング領域 グラフィックス 領域の利用 GDI+ での領域 領域は 出力デバイスのディスプレイ範囲の一部です 単純な領域 ( 単一の四角形 ) と複雑な領域 ( 複数の多角形と閉じた曲線の組み合わせ ) があります 四角形から構築された領域とパスから構築された領域を次の図に示します 領域の使用 領域は クリッピングとヒットテストに使用されることがよくあります クリッピングでは ディスプレイ範囲の特定の領域 (

More information

12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある インターネットアドレス

12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある   インターネットアドレス Java 独習第 3 版 12.1 インターネットアドレス 12.2 サーバーソケットとソケット 2006 年 7 月 5 日 ( 水 ) 南慶典 12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある www.mycompany.com

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

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

More information

GS1-128 の描画 DLL について (ver. 2.3) 動作環境など動作環境 WindowsXP Windows Vista Windows7 Windows8/8.1 Windows10 上記 OS について すべて日本語版を対象としております 32bit アプリケーションから呼び出される

GS1-128 の描画 DLL について (ver. 2.3) 動作環境など動作環境 WindowsXP Windows Vista Windows7 Windows8/8.1 Windows10 上記 OS について すべて日本語版を対象としております 32bit アプリケーションから呼び出される GS1-128 の描画 DLL について (ver. 2.3) 動作環境など動作環境 WindowsXP Windows Vista Windows7 Windows8/8.1 Windows10 上記 OS について すべて日本語版を対象としております 32bit アプリケーションから呼び出される必要があります 使用条件 プリンタの解像度 300dpi 以上 機能 バーコードの基本幅を 1 ドット単位で指定できる

More information

相性占いプログラム

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

More information

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

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

More information

モグラ叩きプログラム

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

More information

Prog2_2nd

Prog2_2nd 2018 年 10 月 4 日 ( 木 ) 実施 C# プログラムの基礎 基本構造 1) クラス Visual C# のプログラムの基本単位をクラスと呼ぶ Windows フォームアプリケーションを作 成する際, プロジェクトを作成すると生成されるファイルのうち,Form1.cs を例にとれば, その クラス名は Form1 である クラスは class キーワードを用いて宣言する Form1.cs

More information

メール送信

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

More information

回文作成支援プログラム

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

More information

万年暦プログラム

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

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

データベース1

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

More information

画像閲覧プログラム

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

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

インベーダープログラム

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

More information

データベース1

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

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 1 05 テキストフゔルからの入力 と 別のフォームを開く をいっぺんにやる星座を描く 1 今回作成するゕプリケーションの概要 座標の記入されているテキストフゔイルを読み込んで 表示ただし 表示するのは別のウィンドウ ( フォーム ) 行われる動作 [1] 座標の記入されているテキストフゔルを指定する [2] テキストフゔルで読み込んだ内容をテキストボックスにそのまま表示する [3] Draw ボタンをクリックすると別のウゖンドウが開く

More information

基本情報STEP UP演習Java対策

基本情報STEP UP演習Java対策 トレーニング編 1. 予約語 extends アクセスレベル class サブクラス名 extends スーパクラス名 { (1) スーパクラス ( 既存のクラス ) を拡張して, サブクラス ( 新しいクラス ) を定義する場合に extends を利用する (2) extends の後ろには, スーパクラスの名前を一つだけ指定できる (3) サブクラスからインスタンスを生成すると, スーパクラスに定義されたインスタンス変数やメソッドがこのインスタンス内部に引き継がれる

More information

3D回転体プログラム

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

More information

画像閲覧プログラム

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

More information

ブロック崩し風テニス

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

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

回文作成支援プログラム

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

More information

VB.NET解説

VB.NET解説 Visual Basic.NET データベース編 目次 ADO.NET の概要... 2 ADO.NET と ADO... 2 ADO.NET の仕組み... 4 ADO.NET の特徴... 7 データアクセスの基本... 8 Windows アプリケーションの開発手順... 8 データ接続の作成... 9 データアダプタとコネクションの作成...10 データセットの作成...14 データアクセスの利用...21

More information

PowerPoint プレゼンテーション

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

More information

Javaプログラムの実行手順

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

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

万年暦プログラム

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

More information

データベースⅠ

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

More information

Msako技術資料 

Msako技術資料  2015/06/29 MsakoAPI プログラミングガイド ( 改訂第 5 版 ) この資料は Msako 4.1.1 MsakoAPI 1.8 以降に適応する Visual Studio のツールボックスに MsakoAPI を加える プログラムに MsakoTranceiver を組み込む Msako と接続する Msako の基本情報を取得する Msako のパラメータを取得 設定する 動体検知のイベントを処理する

More information

(Microsoft Word \203v\203\215\203O\203\211\203~\203\223\203O)

(Microsoft Word \203v\203\215\203O\203\211\203~\203\223\203O) 21113 Visual Basic を利用したフリーソフト開発 要旨 各自でフリーソフトを作成 インターネット上に公開することを目的とし Visual Basic2008 2010 を使い簡単なアプリの作成に成功した 1. 目的情報化が進んだ現代において 社会に出ていくためにはパソコンの一つや二つ 軽く扱えなければならない さらに 資源の乏しい日本においては今後 情報技術の発展することが望ましいと考える

More information

3D回転体プログラム

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

More information

占領双六ゲーム

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

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 1 02 グラフゖックで簡単な図形を描く図形描画プログラム 1 今回作成するゕプリケーションの概要 ボタンをクリックすると図形を描くプログラム 行われる動作 [1] ボタンをクリック [2] そのボタンに対する図形を描く これを使用者とコンピュータの関係で描くと [ 使用者 コンピュータ ] ボタンをクリック [ 使用者 コンピュータ ] 図形を描画して見せる 使用者がコンピュータにすること ボタンをクリック

More information

CONTEC DIOプロバイダ ユーザーズガイド

CONTEC DIOプロバイダ ユーザーズガイド DIO プロバイダユーザーズガイド - 1 - DIO プロバイダ CONTEC DIO ボード Version 1.1.2 ユーザーズガイド July 17, 2012 備考 ORiN2SDK2.0.14 以降, このプロバイダは CONTEC 社の API-DIO(WDM) を使用しています. 以前 までの API-DIO(98PC) を使用する場合は,DIO98 プロバイダを使用してください.

More information

回文作成支援プログラム

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

More information

占領双六ゲーム

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

More information

ドライブは安全運転で in 滋賀♪

ドライブは安全運転で in 滋賀♪ 烏賊セーバー VB 2005 71 プログラムの概要 可愛い烏賊が 画面を泳ぐスクリーンセーバーで有る 烏賊の数 背景 ( 黒一色かデスクトップ画面 ) を設定する事が出来る 背景が 黒一色の場合は 単に烏賊が 左右から現れては 反対側に泳いで行く丈だが デスクトップ画面の場合は 徐々に背景が烏賊の形に塗り潰されて行く スクリーンセーバーの本来の目的は ディスプレイの焼き付きを防止する事で有るが 現在では

More information

回文作成支援プログラム

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

More information

VB実用③ アクセス操作Ⅰ

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

More information

Microsoft Word 練習問題の解答.doc

Microsoft Word 練習問題の解答.doc 演習問題解答 練習 1.1 Label1.Text = Val(Label1.Text) + 2 練習 1.2 コントロールの追加 Private Sub Button2_Click( 省略 ) Handles Button2.Click Label1.Text = Val(Label1.Text) - 2 練習 2.1 TextBox3.Text = Val(TextBox1.Text) * Val(TextBox2.Text)

More information

倉庫番

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

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

草競馬プログラム

草競馬プログラム 草競馬プログラム C# 2005 5 プログラムの概要 6 頭の馬の内 一着でゴールする馬を予想してテキストボックスに 1 から 6 の数値を入力してスタートボタンをクリックする 馬は 乱数を利用して 右から左に 1 枡宛移動する 一定の時間間隔で乱数を発生させて該当する馬を 1 枡左に移動させるにはタイマーオブジェクトを使用する 1 頭の馬がゴールに達すると 予想が的中したか何うか判定を行い あたり

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

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

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

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

More information

デジタル表現論・第6回

デジタル表現論・第6回 デジタル表現論 第 6 回 劉雪峰 ( リュウシュウフォン ) 2016 年 5 月 16 日 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 6 回 2016 年 5 月 16 日 1 / 16 本日の目標 Java プログラミングの基礎配列 ( 復習 関数の値を配列に格納する ) 文字列ファイルの書き込み 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 6 回 2016 年

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 基本 Java プログラミング演習 第 13 回 担当 : 植村 今後の予定 7/15 第 13 回 今回 7/22 第 14 回 小テスト ( クラス ) 7/29 第 15 回 総まとめテスト レポート提出 期末テストの時間割に Java のテストの欄がありますが無視してください 再テストはまた別途連絡いたします 2 CHAPTER 11 はじめてのクラス前回の復習 クラスクラスを構成する要素

More information

パラパラ漫画

パラパラ漫画 パラパラ漫画 C# 2005 3 プログラムの概要 10 枚のピクチャーボックスの夫々れに マウスを左クリックしてドラッグする事に依り 連続線を引き 自由な絵を描く 此の場合 マウスを右クリックする事に依り 新たな線を描き始める事が出来る 描画の対象と成る各ピクチャーボックスは 戻るボタン又は 進むボタンをクリックする事に依り 変更する事が出来る 10 枚の絵を描き終われば ( 途中での再生も可 )

More information

キー操作

キー操作 キー操作 VB 2005 9 今回の課題項目 キーセンス キーボードイベントへの応答 低レベルのキーボードハンドラの作成 (KeyPress KeyDown Keyp) KeyPress イベント KeyDown イベントと KeyUp イベント Shift Ctrl Alt のキー状態の検出 フォームレベルのキーボードハンドラの作成 遠隔キー入力 (SendKeys ステートメント ) 遠隔キー入力

More information

バスケットボール

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

More information

Prog1_15th

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

More information

回文作成支援プログラム

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

More information

With sqlda sqlda に SelectCommand を追加.SelectCommand = New MySqlCommand() With.SelectCommand.CommandType = CommandType.Text.CommandText = "select * from

With sqlda sqlda に SelectCommand を追加.SelectCommand = New MySqlCommand() With.SelectCommand.CommandType = CommandType.Text.CommandText = select * from Imports MySql.Data.MySqlClient Public Class Form1 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Label3.Text = "MySQL のデータ表示と更新のテストを行います メニューから行いたい処理を選択して実行してください

More information