Socketクラス

Size: px
Start display at page:

Download "Socketクラス"

Transcription

1 正規表現 正規表現の基本 此処では.NET Framework の正規表現に付いて基本を極く簡単に ( 主に正規表現パターンに付いて ) 説明する 猶.NET Framework の正規表現は Perl5 の正規表現に対応する様にデザインされて居ると謂う事なので Perl の正規表現を理解して居れば問題無い 猶 正規表現テストツール (RegexTest.exe) を使って正規表現のテストを行う事が出来るので 役に立てゝ欲しい 正規表現で何が出来るか 正規表現は 文字列を検索する為に使用する 正規表現を使うと 可成り複雑な検索が可能で有る 正規表現を利用する主なケースには以下の様な物が挙げられる 文字列内に指定されたパターンと一致する部分が有るか調べる 例えば 入力された文字列が電子メールアドレスと仕て適当か調べる等 文字列から指定されたパターンと一致する部分を検索 抽出する 例えば 文字列内に有る URL の部分を総て抜き出す等 文字列から指定されたパターンと一致する部分を探して別の文字列に置換する 例えば 文字列内に有る URL にリンク (<a> タグ ) を付けたり HTML のタグを削除する等 補足 : 此等以外にも 文字列を分割して配列にする場合にも使用出来る 此の場合は Regex.Split メソッドを使用する パターンは何の様に書けば良いか 斯んな文字列が出て来る部分を探して と謂う事を指定するには 其れを表現したパターンを書く必要が有る 適切なパターンを書ける様に成る事が 正規表現を勉強する最大の目標と成るで有ろう パターンは ファイルの検索等で使用される * や? 等のワイルドカードを理解して居るならば 此れと同じ様な物だと思って結構で有る 例えば 文字列から或る郵便番号と一致する部分を探し度いとする 其の郵便番号が決まって居り で有るならば パターンは の儘で良い 但し 此の様に探し度い文字列が決まって居るならば 正規表現を使う意味が無い 決まった郵便番号ではなく 郵便番号形式の文字列を探し度い 詰まり 何等かの数字が 3 個続き ダッシュ ( - ) が挟まり 亦 数字が 4 個続く文字列 を探し度いと謂う事で有れば 正規表現が役に立つ 此の様な場合 書く可きパターンは d d d- d d d d と成る ( 別の書き方も出来る ) 詰まり d は 何等かの数字 1 文字 を意味する 此の様に正規表現のパターンでは 等の特定の文字列が特別な意味を持って居る 此の様な特別な意味を持つ文字を メタ文字 ( メタキャラクタ ) と呼ぶ -1-

2 簡単な例.NET で正規表現を扱うには Regex クラスを使用する 以下に Regex クラスを使って文字列の検査 抽出 置換を行う簡単な例を示す 更に詳しい例に付いては 正規表現を使って文字列が或る形式と一致するか調べる 正規表現を使って文字列を検索し抽出する 正規表現を使って文字列を置換する を参照され度い ' TextBox1 に郵便番号形式の文字列が含まれて居るか調べる If System.Text.RegularExpressions.Regex.IsMatch( _ TextBox1.Text, " d d d- d d d d") Then Console.WriteLine(" 郵便番号が含まれて居る ") End If ' TextBox1 内の郵便番号形式の文字列を総て抽出する Dim mc As System.Text.RegularExpressions.MatchCollection = _ System.Text.RegularExpressions.Regex.Matches( TextBox1.Text, " d d d- d d d d") For Each m As System.Text.RegularExpressions.Match In mc Console.WriteLine(m.Value) Next ' TextBox1 内の郵便番号形式の文字列の "-" を削除して で囲む TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( _ TextBox1.Text, "( d d d)-( d d d d)", " $1$2 ") // TextBox1 に郵便番号形式の文字列が含まれて居るか調べる if d d d- d d d d")) Console.WriteLine(" 郵便番号が含まれて居る "); // TextBox1 内の郵便番号形式の文字列を総て抽出する System.Text.RegularExpressions.MatchCollection mc = d d d- d d d d"); foreach (System.Text.RegularExpressions.Match m in mc) Console.WriteLine(m.Value); // TextBox1 内の郵便番号形式の文字列の "-" を削除して で囲む TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( d d d)-( d d d d)", " $1$2 "); メタ文字一覧 以下に良く使われるメタ文字と其の意味を紹介する 詳しくは MSDN の 正規表現言語要素 を参照され度い -2-

3 或る 1 文字を表す文字 ( アトム ) 文字説明使用例.( ピリオド ) s d w 改行文字 ( n) 以外の任意の一文字 ( 但し [ ] 内ではピリオド文字 ) 空白文字 改行文字 タブ文字 半角 / 全角スペース文字等 [ f n r t v x85 pz] と同じ ( 因みに S は s 以外の文字を表す ) 0 から 9 までの数字 全角を含む pnd と同じ ( 因みに D は d 以外の文字を表す ) 単語に使用される文字 アルファベット 数字 アンダーバー (_) ひらがな カタカナ 漢字等 [ pll plu plt plo pnd ppc plm] と同じ ( 因みに W は w 以外の文字を表す ) r キャリッジリターン ( u000d と同じ ) n ラインフィールド ( 改行文字 u000a と同じ ) t タブ ( u0009 と同じ ) 文字の前に を付けると 其の文字 メタ文字の機能を無効にする時に使う ( 或る文字列内のメタ文字を総て でエスケープするには Regex.Escape メソッドを使うと良い ) [ ] [ ] 内のどれか 1 文字 ([abc] ならば a か b か c) [^ ] [ - ] [^] 内の文字以外の 1 文字 ([^abc] ならば a か b か c 以外の文字 ) 連続した文字範囲の 1 文字 ([0-9] ならば数字 1 文字 [a-za-z] ならばアルファベット 1 文字 ) u 桁の 16 進数で表される Unicode 文字 x00 2 桁の 16 進数で表される ASCII 文字. 内に任意の 1 文字が有る箇所にマッチ Visual sbasic Visual と Basic の間に空白文字が 1 文字有る箇所にマッチ VB d VB の後に数字が 1 文字有る箇所にマッチ w 内に単語に使用される文字が 1 文字が有る箇所にマッチ r n Windows の改行文字 (CRLF) にマッチ r n Windows の改行文字 (CRLF) にマッチ n t 改行文字 ( n) の後にタブが続く箇所にマッチ DOBON.NET DOBON.NET にマッチ VB[2456] VB の後に 2 か 4 か 5 か 6 が続く箇所にマッチ [^ ] 内に 以外の 1 文字が有る箇所にマッチ VB[24-6] VB の後に 2 か 4 か 5 か 6 が続く箇所にマッチ [ uff61- uff9f] 半角カナ文字の 1 文字にマッチ [ x20- x7f] 半角英数記号文字 ( 0x20 ~ 0x7F) の 1 文字にマッチ 文字列内の位置を表す文字 ( アトミックゼロ幅アサーション アンカー 位置指定子 ) 此処で紹介するメタ文字は 文字列内の位置を表現した物で有る 文字とマッチする訳では無い -3-

4 ^ $ b 文字説明使用例 ^ d 文字列の先頭先頭に有る数字 1 文字にマッチ 文字列の末尾 ( 但し 文字列の末尾が n の時は 其の前と一致 末尾が n でも末尾で一致させるには z を使う ) 単語の境界 ( w と W の間 ) と一致 ( 但し [ ] 内ではバックスペース文字 因みに B は b 以外の境界を表す ) d$ 末尾に有る数字 1 文字にマッチ bvb b VB が単語と仕て現れる箇所にマッチ 文字の繰り返しを表す文字 ( 量指定子 ) 此処で紹介する量指定子は 文字 ( 又は グループ ) の繰り返しを表現する物で有る 最長マッチと最短マッチの違いは非常に重要だが 此れに付いては後述する 文字説明使用例 <[^>]*> * 直前の文字が 0 回以上繰り返す <> で囲まれた箇所にマッチ + 直前の文字が 1 回以上繰り返す? 直前の文字が 0 回 又は 1 回繰り返す n,m n n, *? 直前の文字が n 回以上 m 回以下繰り返す 直前の文字が n 回繰り返す 直前の文字が n 回以上繰り返す 最短マッチで 0 回以上の繰り返し (? は * +? の後に付けて最短マッチを表す事が出来る 最短マッチと最長マッチに付いては 後述 ) <[^>]+> <> 内に 1 文字以上有る箇所にマッチ -? d+ マイナスが付いた数字 或るいは付かない数字にマッチ d2,6 数字が 2 文字以上 6 文字以下続いて居る箇所にマッチ d6 数字が 6 文字続いて居る箇所にマッチ d8, 数字が 8 文字以上続いて居る箇所にマッチ <.*?> <> で囲まれた箇所にマッチ 選択 グループ化等を表す文字 此処で紹介するグループ化を使用する主なケースと仕ては 論理和に依る選択を行う場合や 前方参照 ( 後述 ) や Match.Groups プロパティでの抽出を行い度い場合等が挙げられる.NET Framework にはグループに名前 ( 或るいは番号 ) を付ける事が出来ると謂う特徴が有る グループに名前を付けても付けなくても グループには 1 から連番で番号が付けられる ( 番号 0 はパターン全体で有る ) 此処では先読み 後読みアサーションも紹介して居るが 此等は少し高度で有る 従って 初心者は 此等を無視しても良いが 知って置くと可成り役に立つ -4-

5 因みに 後読みアサーションのパターンとマッチする文字列は固定長でなければ成らないとするエンジンが多いが.NET Framework では此の様な制限が無い 文字 説明 使用例 リンゴ りんご 林檎 で区切られた文字列の孰れか ( 論理和 ) リンゴ又はりんご又は林檎にマッチ ( ) グループ化する箇所 山田 ( 太郎 花子 ) 山田太郎又は山田花子にマッチ (?<name> ) グループに名前 ( 或るいは番号 ) を付ける ( 因みに < > の代わりに ' で括る事も出来る ) (?: ) キャプチャしないグループ (?= ) (?! ) (?<= ) (?<! ) 直後に此のパターンが現れる事を確認する ( ゼロ幅の肯定的先読みアサーション ) 直後に此のパターンが現れない事を確認する ( ゼロ幅の否定的先読みアサーション ) 直前に此のパターンが現れる事を確認する ( ゼロ幅の肯定的後読みアサーション ) 直前に此のパターンが現れない事を確認する ( ゼロ幅の否定的後読みアサーション ) VB(?<ver> d) VB の後に数字が有る箇所にマッチし 数字を "ver" と謂うグループ名でキャプチャ山田 (?: 太郎 花子 ) 山田太郎又は山田花子にマッチするが 太郎又は花子をキャプチャしない d+(?=%) 後ろに % が続く数字の連続にマッチ 但し % はマッチした箇所に含まれないし グループと仕てキャプチャもされない d+(?!%) 後ろに % が来ない数字の連続にマッチ (?<= ) d+ に続く数字の連続にマッチ 但し はマッチした箇所に含まれないし グループと仕てキャプチャもされない (?<! ) d+ 前に がない数字の連続にマッチ 前方参照 ( 後方参照 ) を表す文字 グループ化してキャプチャした文字列を後から参照する事が出来る 此れが前方参照 ( 後方参照 ) で有る 此れに依り キャプチャした文字列をパターンに埋め込む様な事が出来る 文字 説明 使用例 number 番号が number のグループと一致した文字列 <(H d)>.*?</ 1> <H> タグで囲まれた箇所にマッチ k<name> 名前が name のグループと一致した文字列 ( 因みに < > の代わりに ' で括る事も出来る ) <(?<tag>h d)>.*?</ k<tag>> <H> タグで囲まれた箇所にマッチ -5-

6 置換パターンで使用出来る特殊文字 前方参照 ( 後方参照 ) と同じ様に置換パターン内で以下の様な特殊文字を使用する事が出来る 前方参照と似て居る為 使用例は省略する 使用例は 正規表現を使って文字列を置換する を参照され度い 文字 $number $name $& 説明番号が number のグループと一致した文字列名前が name のグループと一致した文字列パターン全体と一致した文字列 良く使われるオプション オプションを指定する事も出来る オプションを指定するとメタ文字の意味が多少変わる物も有る.NET ではオプションを指定するのに RegexOptions 列挙体を使用する ( インラインで使用する方法も有るが 此処では紹介しない ) 以下に良く使われる重要なオプションを示す RegexOptions 列挙体のメンバ IgnoreCase Singleline Multiline ECMAScript 説明 大文字と小文字を区別しない.( ピリオド ) の意味を変更し n を含めた総ての文字と一致する様にする ^ と $ の意味を変更し 文字列全体の先頭と末尾丈でなく 行の先頭と末尾にも一致する様にする 具体的には ^ は n の後 $ は n の前 ( 改行文字が r n で有ったと仕ても ) にも一致する様に成る ^ と $ の代わりに A と Z を使用すると Multiline の影響を受けずに文字列全体の先頭と末尾に一致させる事が出来る ECMAScript 準拠の動作とする 此の事で 一部のメタ文字の意味が変更される 例えば w は [a-za-z_0-9] と同じに s は [^ f n r t v] と同じに d は [0-9] と同じに成る CultureInvariant 言語の違いを無視する Compiled 正規表現をコンパイルして実行速度を上げる ( 但し 起動時間は長く成る ) 最長マッチと最短マッチ 最長マッチと最短マッチの違いは非常に重要なので 此処で説明して置く 例えば 鈎括弧 ( ) で囲まれた文字列を抽出する為に次の様なパターン ( コード ) を書いたとする Dim mc As System.Text.RegularExpressions.MatchCollection = _ System.Text.RegularExpressions.Regex.Matches( TextBox1.Text, ".* ") System.Text.RegularExpressions.MatchCollection mc = "); -6-

7 此の様なパターンでは 鈎括弧が複数有った場合 問題が起こる 例えば TextBox1 に " あ い う " と入力されて居るならば マッチする文字列は " あ い う " の 1 つ丈で有る " あ " " い " " う " の 3 か所にマッチする様にするには パターンを ".*? " と書き換える 詰まり "*" の後ろに "?" を付けて 最短マッチにする "?" を付けないと最長マッチに成るので 一致する箇所が最も長く成る様な方法で検索が行われる 因みに上記の様な例で有れば 最短マッチにしなくても " [^ ]* " と書けば 粗同じ事が出来る 参考.NET Framework の正規表現 正規表現言語要素 -7-

8 正規表現を使って文字列が或る形式と一致するか調べる 指定された正規表現のパターンと一致する対象が入力文字列内で見付かるか何うかを調べるには Regex クラスの IsMatch メソッドを使用する 此処では IsMatch メソッドを使った例を幾つか紹介する 猶 正規表現のパターンと一致する個所を探し 見付かれば 其の箇所を抽出する方法は 正規表現を使って文字列を検索し 抽出する で紹介して居る 郵便番号か調べる 次の例では TextBox1 に入力された文字列が郵便番号形式か ( " 数字 3 文字 "-" 数字 4 文字 " 形式に成って居るか ) 調べて居る RegexOptions.ECMAScript を指定して居るのは d が半角の数字丈にマッチする様にする為で有る ' 郵便番号形式か調べる ' パターンは " d3- d4" とも書ける If System.Text.RegularExpressions.Regex.IsMatch( _ TextBox1.Text, "^ d d d- d d d d$", _ System.Text.RegularExpressions.RegexOptions.ECMAScript) Then Console.WriteLine(" 郵便番号です ") End If // 郵便番号形式か調べる // パターンは " d3- d4" とも書ける if (System.Text.RegularExpressions.Regex.IsMatch( d d d- d d d d$", System.Text.RegularExpressions.RegexOptions.ECMAScript)) Console.WriteLine(" 郵便番号です "); 半角カナ文字が含まれて居るか調べる 次の例では TextBox1 に入力された文字列内に半角カナ文字 (Halfwidth CJK punctuation と Halfwidth Katakana variants) が有るか調べて居る 上記の例では静的メソッドの IsMatch を使用したが 此処ではインスタンスメソッドを使用して居る ' 正規表現パターンを指定して Regex オブジェクトを作成 Dim r As New System.Text.RegularExpressions.Regex("[ uff61- uff9f]") ' 半角カナ文字が含まれて居るか調べる If r.ismatch(textbox1.text) Then Console.WriteLine(" 半角カナ文字が含まれて居る ") End If -8-

9 // 正規表現パターンを指定して Regex オブジェクトを作成 System.Text.RegularExpressions.Regex r = new uff61- uff9f]"); // 半角カナ文字が含まれて居るか調べる if (r.ismatch(textbox1.text)) Console.WriteLine(" 半角カナ文字が含まれて居る "); メールアドレスか調べる 次の例では TextBox1 に入力された文字列がメールアドレス形式か調べて居る 猶 MSDN の 方法 : 文字列が有効な電子メール形式で有るか何うかを検証する では別のパターンが紹介されて居る ' メールアドレス形式か調べる If System.Text.RegularExpressions.Regex.IsMatch( _ TextBox1.Text, "^[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]2,4$", _ System.Text.RegularExpressions.RegexOptions.IgnoreCase) Then Console.WriteLine(" メールアドレスの様です ") End If // メールアドレス形式か調べる if (System.Text.RegularExpressions.Regex.IsMatch( System.Text.RegularExpressions.RegexOptions.IgnoreCase)) Console.WriteLine(" メールアドレスの様です "); URL か調べる 次の例では TextBox1 に入力された文字列が URL(HTTP) 形式か調べて居る 猶 此の正規表現パターンは Perl メモ で紹介されて居る物で有る ' URL 形式か調べる If System.Text.RegularExpressions.Regex.IsMatch( _ TextBox1.Text, "^s?https?://[-_.!~*'()a-za-z0-9;/?:@&=+$,%#]+$") Then Console.WriteLine("URL の様です ") End If // URL 形式か調べる if (System.Text.RegularExpressions.Regex.IsMatch( Console.WriteLine("URL の様です "); -9-

10 電話番号か調べる 次の例では TextBox1 に入力された文字列が ( 日本国内の ) 電話番号形式かを大雑把に調べて居る ' 電話番号形式か調べる If System.Text.RegularExpressions.Regex.IsMatch( _ TextBox1.Text, "^0 d1,4- d1,4- d4$") Then Console.WriteLine(" 電話番号の様です ") End If // 電話番号形式か調べる if (System.Text.RegularExpressions.Regex.IsMatch( d1,4- d1,4- d4$")) Console.WriteLine(" 電話番号の様です "); -10-

11 正規表現を使って文字列を検索し抽出する 正規表現を使用して文字列の検索し 検索された文字列を取得するには Regex クラスと Match メソッド ( 又は Matchs メソッド ) を使用する 一致した要素は Match オブジェクトと仕て返される メールアドレスを抽出する 次の例では TextBox1 に入力された文字列からメールアドレス形式の文字列を総て検索し 表示する ' Regex オブジェクトを作成 Dim r As New System.Text.RegularExpressions.Regex( _ " b[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]2,4 b", _ System.Text.RegularExpressions.RegexOptions.IgnoreCase) ' TextBox1.Text 内で正規表現と一致する対象を 1 つ検索 Dim m As System.Text.RegularExpressions.Match = r.match(textbox1.text) ' 次の様に一致する対象を総て検索する事も出来る ' Dim mc As System.Text.RegularExpressions.MatchCollection = r.matches(textbox1.text) While m.success ' 一致した対象が見付かった時キャプチャした部分文字列を表示 Console.WriteLine(m.Value) ' 次に一致する対象を検索 m = m.nextmatch() End While // Regex オブジェクトを作成 System.Text.RegularExpressions.Regex r = new b[a-z0-9._%+-]+@[a-z0-9.-]+.[a-z]2,4 b", System.Text.RegularExpressions.RegexOptions.IgnoreCase); // TextBox1.Text 内で正規表現と一致する対象を 1 つ検索 System.Text.RegularExpressions.Match m = r.match(textbox1.text); // 次の様に一致する対象を総て検索する事も出来る // System.Text.RegularExpressions.MatchCollection mc = r.matches(textbox1.text); while (m.success) // 一致した対象が見付かった時キャプチャした部分文字列を表示 Console.WriteLine(m.Value); // 次に一致する対象を検索 m = m.nextmatch(); -11-

12 HTML 内の <H> タグを抽出する 次にグループ化の例を示す 正規表現でグループ化を指定するには (?<( 数字又は名前 )>) の様にする 正規表現に一致したグループは Match クラスの Groups プロパティで取得出来る 猶 MSDN には HREFS のスキャン と謂う例や URL 情報の抽出 と謂う例が紹介されて居る 以下に TextBox1 に入力された文字列を検索して HTML の H タグ (H1 H2 H3...) と其の部分のテキストを抽出する例を示す 先程の例では Match メソッドを使用したが 今回は Matches メソッドを使用して観る 勿論 先程と同じ様に Match メソッドを使用しても構わない ' 正規表現パターンとオプションを指定して Regex オブジェクトを作成 Dim r As New System.Text.RegularExpressions.Regex( _ "<(h[1-6]) b[^>]*>(.*?)</ 1>", _ System.Text.RegularExpressions.RegexOptions.IgnoreCase Or _ System.Text.RegularExpressions.RegexOptions.Singleline) ' TextBox1.Text 内で正規表現と一致する対象を総て検索 Dim mc As System.Text.RegularExpressions.MatchCollection = r.matches(textbox1.text) For Each m As System.Text.RegularExpressions.Match In mc ' 正規表現に一致したグループの文字列を表示 Console.WriteLine(" タグ :" + m.groups(1).value + vbcrlf + _ " タグ内の文字列 :" + m.groups(2).value) Next // 正規表現パターンとオプションを指定して Regex オブジェクトを作成 System.Text.RegularExpressions.Regex r = new b[^>]*>(.*?)</ 1>", System.Text.RegularExpressions.RegexOptions.IgnoreCase System.Text.RegularExpressions.RegexOptions.Singleline); // TextBox1.Text 内で正規表現と一致する対象を総て検索 System.Text.RegularExpressions.MatchCollection mc = r.matches(textbox1.text); foreach (System.Text.RegularExpressions.Match m in mc) // 正規表現に一致したグループと位置を表示 Console.WriteLine(" タグ :" + m.groups[1].value + " n タグ内の文字列 :" + m.groups[2].value + " n タグの位置 :" + m.groups[1].index); HTML 内のリンクを抽出する 下の例は TextBox1 に入力された文字列を検索して <a href="...">...</a> でリンクされて居るリンク先 -12-

13 の URL とリンクされて居る文字列を総て調べ 結果を出力する物で有る 今迄の例ではインスタンスメソッドの Matches( 或るいは Match) を使用して居たが 今回は静的メソッドを使用して観る ' TextBox1.Text 内で正規表現と一致する対象を総て検索 Dim mc As System.Text.RegularExpressions.MatchCollection = _ System.Text.RegularExpressions.Regex.Matches( _ TextBox1.Text, _ "<a s+[^>]*href s*= s*(?:(?<quot>[""'])(?<url>.*?) k<quot> " + _ "(?<url>[^ s>]+))[^>]*>(?<text>.*?)</a>", _ System.Text.RegularExpressions.RegexOptions.IgnoreCase Or _ System.Text.RegularExpressions.RegexOptions.Singleline) For Each m As System.Text.RegularExpressions.Match In mc ' 正規表現に一致したグループを表示 Console.WriteLine("URL:0", m.groups("url").value) Console.WriteLine(" テキスト :0", m.groups("text").value) Next // TextBox1.Text 内で正規表現と一致する対象を総て検索 System.Text.RegularExpressions.MatchCollection mc = System.Text.RegularExpressions.Regex.Matches( s+[^>]*href s*= s*(?:(?<quot>[""'])(?<url>.*?) k<quot> " s>]+))[^>]*>(?<text>.*?)</a>", System.Text.RegularExpressions.RegexOptions.IgnoreCase System.Text.RegularExpressions.RegexOptions.Singleline); foreach (System.Text.RegularExpressions.Match m in mc) // 正規表現に一致したグループを表示 Console.WriteLine("URL:0", m.groups["url"].value); Console.WriteLine(" テキスト :0", m.groups["text"].value); 同じ番号 ( 名前 ) のグループが複数有る時 同じ番号のグループに複数の箇所が一致する場合が有る 例えば ( d)+ と謂うパターンで 123 を検索すると グループ 1 に の 3 つの文字が一致する 亦.NET Framework ではグループに名前や番号を付ける事が出来るので 同じ名前や番号のグループを複数作る事も出来る 此の様に同じ名前や番号のグループが複数有った場合 何う成るかに付いて簡単に説明する 此の様な場合 グループの値と仕ては最後に一致したグループの値が入る 併し キャプチャされた総ての値は グループの Captures コレクションに格納されて居る 具体的に何う成るか 例を示す 以下の例では パターンを ( d)+ とし 123 と謂う文字列を検索して居る -13-

14 Dim r As New System.Text.RegularExpressions.Regex("( d)+") Dim mc As System.Text.RegularExpressions.MatchCollection = r.matches("123") For Each m As System.Text.RegularExpressions.Match In mc For i As Integer = 0 To m.groups.count - 1 Console.WriteLine(" グループ 0:1", i, m.groups(i)) For l As Integer = 0 To m.groups(i).captures.count - 1 Console.WriteLine(" キャプチャ 0:1", l, m.groups(i).captures(l).value) Next Next Next System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex(@"( d)+"); System.Text.RegularExpressions.MatchCollection mc = r.matches("123"); foreach (System.Text.RegularExpressions.Match m in mc) for (int i = 0; i < m.groups.count; i++) Console.WriteLine(" グループ 0:1", i, m.groups[i]); for (int l = 0; l < m.groups[i].captures.count; l++) Console.WriteLine(" キャプチャ 0:1", l, m.groups[i].captures[l].value); 此のプログラムを実行すると 以下の様に表示される グループ 0:123 キャプチャ 0:123 グループ 1:3 キャプチャ 0:1 キャプチャ 1:2 キャプチャ 2:3 此の結果の様に グループ 1 には最後にキャプチャされた 3 が入るが グループ 1 の Captures にはキャプチャされた総ての結果が入って居る -14-

15 正規表現を使って文字列を置換する 正規表現を使って文字列の置換を行うには Regex クラスの Replace メソッドを使用する 此処では幾つかの具体例を紹介する MSDN にも 日付形式の変更 と謂う例が載って居るので 其方も参考にされ度い URL にリンクを付ける 次の例では TextBox1 に入力された文字列内の URL に自動的にリンク (<a> タグ ) を付けて TextBox1 に結果を表示して居る 猶 此の正規表現パターンは Perl メモ で紹介されて居る物で有る ' URL にリンクを付ける TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( _ TextBox1.Text, _ "s?https?://[-_.!~*'()a-za-z0-9;/?:@&=+$,%#]+", _ "<a href=""$&"">$&</a>") // URL にリンクを付ける TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( "<a href= "$& ">$&</a>"); 行末の空白文字を削除する 次の例では TextBox1 に入力された文字列から総ての行末の空白文字 ( 半角スペース 全角スペース タブ ) を削除して居る 先程の例では静的メソッドの Replace を使用したが 此処ではインスタンスメソッドを使用して観る ' パターンを指定して Regex オブジェクトを作成 Dim r As New System.Text.RegularExpressions.Regex("[ t]+(?= r? n $)") ' 行末の空白文字を削除 TextBox1.Text = r.replace(textbox1.text, "") // パターンを指定して Regex オブジェクトを作成 System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex(@"[ t]+(?= r? n $)"); // 行末の空白文字を削除 TextBox1.Text = r.replace(textbox1.text, ""); 因みに パターンを "[ t]+$" と仕て RegexOptions.Multiline オプションを付けたと仕ても 改行文字が " r n" ならば 行末の空白文字を削除する事は出来ない 何故ならば $ は n の前 r の後ろとマッチする為で有る -15-

16 行頭に引用記号を挿入する 次の例では TextBox1 に入力された文字列の行頭に < を挿入して居る パターンの ^ は 0 幅だが 置換に利用出来る ' 行頭に引用記号 "> " を挿入する TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( _ TextBox1.Text, "^", "> ", System.Text.RegularExpressions.RegexOptions.Multiline) // 行頭に引用記号 "> " を挿入する TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( TextBox1.Text, "^", "> ", System.Text.RegularExpressions.RegexOptions.Multiline); 連続する同じ行を削除する 次の例では TextBox1 に入力された文字列から連続する同じ行を削除して居る 詰まり 同じ内容の行が連続して居る場合 其れを 1 行丈にする ' 連続する同じ行を削除 TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( _ TextBox1.Text, "^(.*)( r? n 1)+$", "$1", _ System.Text.RegularExpressions.RegexOptions.Multiline) // 連続する同じ行を削除 TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( r? n 1)+$", "$1", System.Text.RegularExpressions.RegexOptions.Multiline); 日付のフォーマットを変更する 2000/10/22 の様に / で区切られて居る形式の日付を 2000 年 10 月 22 日 と変更する例を示す ' "2000/10/22" の様な形式を "2000 年 10 月 22 日 " の様に変換する TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( _ TextBox1.Text, _ "(?<year>(?: d d)? d d)/(?<month> d d?)/(?<day> d d?)", _ "$year 年 $month 月 $day 日 ") //"2000/10/22" の様な形式を "2000 年 10 月 22 日 " の様に変換する TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( d d)? d d)/(?<month> d d?)/(?<day> d d?)", "$year 年 $month 月 $day 日 "); -16-

17 MatchEvaluator デリゲートを使用する MatchEvaluator デリゲートを使用すれば 更に複雑な置換が可能で有る 次の例では 日付の部分を 1 日増やした日付と置換して居る ' Button1 の Click イベントハンドラ Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) _ Handles Button1.Click ' 日付の部分 ("2000/10/22" の様な形式 ) を 1 日増やす TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( _ TextBox1.Text, "(?<year>(?: d d)? d d)/(?<month> d d?)/(?<day> d d?)", _ New System.Text.RegularExpressions.MatchEvaluator(AddressOf IncrementDay)) End Sub ' MatchEvaluator デリゲートメソッド Private Shared Function IncrementDay( _ ByVal m As System.Text.RegularExpressions.Match) As String Dim dt As DateTime ' マッチした文字列を日時に変換 If DateTime.TryParse(m.Value, dt) Then Return dt.adddays(1).toshortdatestring() ' 1 日増やす Else Return m.value End If End Function // Button1 の Click イベントハンドラ private void Button1_Click(object sender, System.EventArgs e) // 日付の部分 ("2000/10/22" の様な形式 ) を 1 日増やす TextBox1.Text = System.Text.RegularExpressions.Regex.Replace( d d)? d d)/(?<month> d d?)/(?<day> d d?)", new System.Text.RegularExpressions.MatchEvaluator(IncrementDay)); // MatchEvaluator デリゲートメソッド private static string IncrementDay(System.Text.RegularExpressions.Match m) DateTime dt; // マッチした文字列を日時に変換 if (DateTime.TryParse(m.Value, out dt)) return dt.adddays(1).toshortdatestring(); // 1 日増やす else return m.value; -17-

正規表現応用

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

More information

正規表現概要

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

More information

正規表現

正規表現 正規表現 正規表現に依りタグを抽出するパターン 使用して居るプログラミング言語に関わらず 文字列内から HTML タグの部分を抽出したり削除したりする事が有る 其の際 正規表現を使用するが 場合に依っては 確実に HTML タグを判別出来ない場合が有る 結局 広く知れ渡って居る正規表現パターンが正確に判別出来るが 他のパターンも含めて数種類のパターンを検証して観る ( 正規表現の説明付きで ) 準備

More information

ICONファイルフォーマット

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

More information

このルールをそのまま正規表現として書くと 下記のようになります ^A[0-9]{2}00[0-9]{3}([0-9]{2})?$ ちょっと難しく見えるかもしれませんが 下記のような対応になっています 最初 固定 年度 固定 通番 ( 枝番 ) 最後 ルール "A" 数字 2 桁 0 を 2 桁 数字

このルールをそのまま正規表現として書くと 下記のようになります ^A[0-9]{2}00[0-9]{3}([0-9]{2})?$ ちょっと難しく見えるかもしれませんが 下記のような対応になっています 最初 固定 年度 固定 通番 ( 枝番 ) 最後 ルール A 数字 2 桁 0 を 2 桁 数字 正規表現について 作成日 : 2016/01/21 作成者 : 西村 正規表現? 正規表現 (Regular Expression Regex) というと難しいもののように感じますが 正規表現 というのは 文字のパターンを表したもの です ( 例 ) これはソエルで使用している見積書の番号です A1500033 この番号は 下記のルールで付けられています 固定 年度 固定 通番 ( 枝番 ) ルール

More information

グラフィックス

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

More information

正規表現詳細

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

More information

VB.NET解説

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

More information

Userコントロール

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

More information

ハッシュテーブル

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

More information

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

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

More information

ListViewコントロール

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

More information

ファイル操作

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

More information

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y  小幡智裕 Java Script プログラミング入門 3-6~3-7 茨城大学工学部情報工学科 08T4018Y 小幡智裕 3-6 組み込み関数 組み込み関数とは JavaScript の内部にあらかじめ用意されている関数のこと ユーザ定義の関数と同様に 関数名のみで呼び出すことができる 3-6-1 文字列を式として評価する関数 eval() 関数 引数 : string 式として評価する文字列 戻り値 :

More information

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

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

More information

プラグイン

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

More information

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

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

More information

プロセス間通信

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

More information

データアダプタ概要

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

More information

NotifyIconコントロール

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

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

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

ファイル監視

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

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

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

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

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

TEXTOS-S: 検索 置換 連立検索置換式を使って 資料をマークし または変形します マークと 変形を同時にすることも可能です 検索式にはリテラル ( 文字列そのもの ) ワイルドカード 正規表現が選択できます 上のテキストボックスに検索式を直接書き込むときは [Ctrl]+[Enter] を押

TEXTOS-S: 検索 置換 連立検索置換式を使って 資料をマークし または変形します マークと 変形を同時にすることも可能です 検索式にはリテラル ( 文字列そのもの ) ワイルドカード 正規表現が選択できます 上のテキストボックスに検索式を直接書き込むときは [Ctrl]+[Enter] を押 TEXTOS-S: 検索 置換 連立検索置換式を使って 資料をマークし または変形します マークと 変形を同時にすることも可能です 検索式にはリテラル ( 文字列そのもの ) ワイルドカード 正規表現が選択できます 上のテキストボックスに検索式を直接書き込むときは [Ctrl]+[Enter] を押してください 特殊な文字を書き込むときは Word 文書からコピーするか または Word 文書として保存した検索式をインポートします

More information

VB実用⑦ エクセル操作Ⅰ

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

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

モグラ叩きプログラム

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

More information

文字列操作と正規表現

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

More information

回文作成支援プログラム

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

More information

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太 ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : 095739 K 氏名 : 當銘孔太 1. UNIX における正規表現とは何か, 使い方の例を挙げて説明しなさい. 1.1 正規表現とは? 正規表現 ( 正則表現ともいう ) とは ある規則に基づいて文字列 ( 記号列 ) の集合を表す方法の 1 つです ファイル名表示で使うワイルドカードも正規表現の兄弟みたいなもの

More information

Microsoft Word - no103.docx

Microsoft Word - no103.docx 次は 数える例です ex19.c /* Zeller の公式によって 1 日の曜日の分布を求めるプログラム */ int year, month, c, y, m, wnumber, count[7] = {0, i; for(year = 2001; year

More information

ルーレットプログラム

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

More information

ブロック パニック

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

More information

データベースⅠ

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

More information

万年暦プログラム

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

More information

ExcelVBA

ExcelVBA EXCEL VBA REGLECASSE YU SATO 目次 はじめに 開発タブの表示 拡張子 VBEの起動と初期設定 モジュールの挿入 削除 プロジェクト モジュール プロシージャ 変数の宣言 (Dim) If~Then For~Next 応用 :If~ThenとFor~Next ボタンの作成 最後に Subプロシージャ 基本説明 セルの指定 (Range) 変数とデータ型 (String,Long)

More information

MS Office オートメーション

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

More information

回文作成支援プログラム

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

More information

メール送信

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

More information

Prog2_12th

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

More information

Microsoft Excel操作

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

More information

AQUOS ケータイ ユーザーガイド

AQUOS ケータイ ユーザーガイド 文字を入力する 本機の文字入力は ボタン操作で行います お買い上げ時の入力方 法 (S-Shoin) で説明します 変換候補を引用する ひらがなを入力 引用 連携 項目を選択 変換候補を選択 文字入力の基本操作 文字入力にはダイヤルボタンを利用します 1つのボタンには ボタンに表示されているような複数の文字が割り当てられており 押す回数によって表示される文字が変わります ダイヤルボタンに割り当てられた文字について詳しくは

More information

かんたん携帯9 ユーザーガイド

かんたん携帯9 ユーザーガイド 文字を入力する 本機の文字入力は ボタン操作で行います お買い上げ時の入力方法 (S-Shoin) で説明します 文字入力の基本操作 文字入力にはダイヤルボタンを利用します 1つのボタンには ボタンに表示されているような複数の文字が割り当てられており 押す回数によって表示される文字が変わります ダイヤルボタンに割り当てられた文字について詳しくは 文字入力用ボタン一覧 を参照してください 変換候補を引用する文字入力画面でひらがなを入力引用

More information

Prog2_4th

Prog2_4th 2018 年 10 月 18 日 ( 木 ) 実施 イベントハンドライベントハンドラとは Windows フォーム上のコントロールに対して クリックされた とか 文字列を変更された とかいったイベントを行った際に, それを受け取って処理を行うメソッドをイベントハンドラと呼ぶ 本日の課題第 3 回の授業では, フォームデザイナーで該当するコントロールをダブルクリックして, コードエディタに表示されたイベントハンドラの処理を記述したが,

More information

回文作成支援プログラム

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

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

相性占いプログラム

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

More information

文字入3-2 力3 文字入力について ひらがな 漢字 カタカナ 英数字 記号 絵文字などが入力できます ❶ ❷ ❸ ❶ 入力モード切替操作漢 : 漢字 ひらがな入力モード 1 カナ : カタカナ入力モード英 : 英字入力モード数 : 数字入力モード ❷ 全角 / 半角切替操作全 : 全角入力モード

文字入3-2 力3 文字入力について ひらがな 漢字 カタカナ 英数字 記号 絵文字などが入力できます ❶ ❷ ❸ ❶ 入力モード切替操作漢 : 漢字 ひらがな入力モード 1 カナ : カタカナ入力モード英 : 英字入力モード数 : 数字入力モード ❷ 全角 / 半角切替操作全 : 全角入力モード 文字入力 文字入力について... 3-2 文字の入力方法... 3-2 文字を入力する... 3-2 絵文字 / 記号を入力する... 3-3 その他の入力補助機能... 3-5 文字の変換機能... 3-5 変換機能を利用する... 3-5 英字 / 数字 / カタカナに変換する ( 英数カナ候補 )... 3-7 文字数で予測候補を絞り込む ( 文字数絞込み予測 )... 3-8 文字の編集...

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 2 回目 ようこそ Java へ 今日の講義で学ぶ内容 画面へのメッセージの表示 文字や文字列 数値を表現するリテラル 制御コードを表すエスケープシーケンス 画面出力の基本形 ソースファイル名 : クラス名.java class クラス名 System.out.println(" ここに出力したい文字列 1 行目 "); System.out.println(" ここに出力したい文字列

More information

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

64bit環境で32bitコンポーネントの利用 64bit 環境 64bit 環境で 32bit コンポーネントの利用 Windows 7 や 8 の出現で 愈々 64bit 環境も普及し始めて来た 64bit 環境に於いては 64bit 用に最適化された 64bit コンポーネントを使用するのが本筋で有ろうが 64bit 環境に於いても 32bit コンポーネントを使用し度い場合が有る 過去の遺物 ( レガシ ) と仕て切り捨てるのではなく 良い物は良い物と仕て有効利用すると謂う観点から

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

文字入3-2 力3 文字入力について ひらがな 漢字 カタカナ 英数字 記号 絵文字などが入力できます ダイヤルボタンの文字割り当てについて (ZP.17-12) ❶ ❷ ❸ ❶ 入力モード切替操作漢 : 漢字 ひらがな入力モード 1 カナ : カタカナ入力モード英 : 英字入力モード数 : 数字入

文字入3-2 力3 文字入力について ひらがな 漢字 カタカナ 英数字 記号 絵文字などが入力できます ダイヤルボタンの文字割り当てについて (ZP.17-12) ❶ ❷ ❸ ❶ 入力モード切替操作漢 : 漢字 ひらがな入力モード 1 カナ : カタカナ入力モード英 : 英字入力モード数 : 数字入 文字入力 文字入力について... 3-2 文字の入力方法... 3-2 文字を入力する... 3-2 絵文字 / 記号を入力する... 3-3 その他の入力補助機能... 3-5 文字の変換機能... 3-5 変換機能を利用する... 3-5 英字 / 数字 / カタカナに変換する ( 英数カナ候補 )... 3-7 文字数で予測候補を絞り込む ( 文字数絞込み予測 )... 3-8 文字の編集...

More information

メール受信

メール受信 メール.NET で POP サーバからメールを受信する方法 初めに.NET Framework 1.0 1.1 にはメールを送信する為の System.Web.Mail.SmtpMail クラスが用意されて居る.NET Framework 2.0 には System.Net.Mail.SmtpClient クラスが用意されて居る ( 猶 2.0 にも System.Web.Mail.SmtpMail

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

Prog2_15th

Prog2_15th 2019 年 7 月 25 日 ( 木 ) 実施メニューメニューバーとコンテクストメニュー Visual C# では, メニューはコントロールの一つとして扱われ, フォームアプリケーションの上部に配置されるメニューバーと, コントロール上でマウスを右クリックすると表示されるコンテクストメニューとに対応している これ等は選択するとメニューアイテムのリストが表示されるプルダウンメニューと呼ばれる形式に従う

More information

占領双六ゲーム

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

More information

(Microsoft Word - 01PowerPoint\217\343\213\211C\203p\203^\201[\203\223\222m\216\257\225\\\216\206.doc)

(Microsoft Word - 01PowerPoint\217\343\213\211C\203p\203^\201[\203\223\222m\216\257\225\\\216\206.doc) Microsoft PowerPoint プレゼンテーション技能認定試験 上級 2003 サンプル問題 知識試験 制限時間 30 分 受験会場 受験番号 氏 名 問題 1 次の文章は 作業環境について述べたものである を解答群 { } より選び その記号で答えよ にあてはまる適切なもの 設問 1. はルーラーの一部で 1 に示されるインデントマーカーは 設定するものである を { ア. 先頭行のインデントイ.

More information

文字入3-2 力3 文字入力について ひらがな 漢字 カタカナ 英数字 記号 絵文字などが入力できます 文字入力方式には モード1( かな方式 ) モード2(2タッチ方式 ) モード3( ニコタッチ方式 ) の3 種類があります 本書では モード1( かな方式 ) での入力例を中心に記載します モー

文字入3-2 力3 文字入力について ひらがな 漢字 カタカナ 英数字 記号 絵文字などが入力できます 文字入力方式には モード1( かな方式 ) モード2(2タッチ方式 ) モード3( ニコタッチ方式 ) の3 種類があります 本書では モード1( かな方式 ) での入力例を中心に記載します モー 文字入力 文字入力について... 3-2 文字の入力方法... 3-3 文字を入力する... 3-3 絵文字 / 記号を入力する... 3-4 定型文を利用する... 3-5 その他の入力補助機能... 3-5 文字の変換機能... 3-6 変換機能を利用する... 3-6 英字 / 数字 / カタカナに変換する ( 英数カナ候補 )... 3-7 文字の変換に関する機能... 3-8 文字の編集...

More information

ポインタ変数

ポインタ変数 プログラミング及び実習 5 馬青 1 文字処理 数値処理 : 整数 浮動小数点数 単一の文字は と ( シングルクォーテーション ) で囲んで表現される 文字のデータ型は char または int である int を用いたほうが ライブラリの関数の引数の型と一致する 以下は全部 int の使用に統一する 従って int ch; で文字変数を宣言しておくと ch= A ; のように ch に文字 A

More information

情報処理Ⅰ

情報処理Ⅰ Java フローチャート -1- フローチャート ( 流れ図 ) プログラムの処理手順 ( アルゴリズム ) を図示したもの 記号の種類は下記のとおり 端子記号 ( 開始 終了 ) 処理記号計算, 代入等 条件の判定 条件 No ループ処理 LOOP start Yes データの入力 出力 print など 定義済み処理処理名 end サンプルグログラム ( 大文字 小文字変換 ) 大文字を入力して下さい

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

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

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

More information

印刷

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

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

キー操作

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

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

3D回転体プログラム

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

More information

スレッド操作 タイマー

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

More information

VB実用① データベースⅠ

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

More information

ブロック崩し風テニス

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

More information

ポインタ変数

ポインタ変数 プログラミング及び実習 5 馬青 1 文字処理 数値処理 : 整数 浮動小数点数 単一の文字は と ( シングルクォーテーション ) で囲んで表現される 文字のデータ型は char または int である int を用いたほうが ライブラリの関数の引数の型と一致する 以下は全部 int の使用に統一する 従って int ch; で文字変数を宣言しておくと ch= A ; のように ch に文字 A

More information

グラフィックス 目次

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

More information

コードページ

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

More information

ICONファイルフォーマット

ICONファイルフォーマット グラフィックス エンコーダパラメータを指定した画像の保存 概要 Image クラスの Save メソッドには イメージコーデック情報とエンコーダパラメータを指定して画像を保存するオーバーロードが有る 此れを利用すると 様々な画像形式で色々のオプションを指定して画像を保存する事が出来る Public Sub Save ( _ filename As String, _ encoder As ImageCodecInfo,

More information

チャットプログラム

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

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

WebBrowserコントロール

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

More information

画像閲覧プログラム

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

More information

このうち ツールバーが表示されていないときは メニューバーから [ 表示 (V)] [ ツールバー (T)] の [ 標準のボタン (S)] [ アドレスバー (A)] と [ ツールバーを固定する (B)] をクリックしてチェックを付けておくとよい また ツールバーはユーザ ( 利用者 ) が変更

このうち ツールバーが表示されていないときは メニューバーから [ 表示 (V)] [ ツールバー (T)] の [ 標準のボタン (S)] [ アドレスバー (A)] と [ ツールバーを固定する (B)] をクリックしてチェックを付けておくとよい また ツールバーはユーザ ( 利用者 ) が変更 ファイル操作 アプリケーションソフトウェアなどで作成したデータはディスクにファイルとして保存される そのファイルに関してコピーや削除などの基本的な操作について実習する また ファイルを整理するためのフォルダの作成などの実習をする (A) ファイル名 ファイル名はデータなどのファイルをディスクに保存しておくときに付ける名前である データファイルはどんどん増えていくので 何のデータであるのかわかりやすいファイル名を付けるようにする

More information

チャットアプリ

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

More information

相性占いプログラム

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

More information

プログラミング実習I

プログラミング実習I プログラミング実習 I 03 変数と式 人間システム工学科井村誠孝 m.imura@kwansei.ac.jp 3.1 変数と型 変数とは p.60 C 言語のプログラム中で, 入力あるいは計算された数や文字を保持するには, 変数を使用する. 名前がついていて値を入れられる箱, というイメージ. 変数定義 : 変数は変数定義 ( 宣言 ) してからでないと使うことはできない. 代入 : 変数には値を代入できる.

More information

Web データ管理 JavaScript (1) (4 章 ) 2011/12/7( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/21

Web データ管理 JavaScript (1) (4 章 ) 2011/12/7( 水 ) 湘南工科大学講義資料 Web データ管理 (2011) 阿倍 1/21 Web データ管理 JavaScript (1) (4 章 ) 2011/12/7( 水 ) 1/21 演習室の PC のハードディスクには演習で作成したデータは保管できません 各 PC の ネットワーク接続 ショートカットからメディア情報センターのサーバーにアクセスしてください (Z ドライブとして使用できます ) 演習名 使用するフォルダ 演習 1 Z: Web データ管理 20111207 演習

More information

5.1. ホームページ登録 ホームページ URL を登録します ホームページ URL は基本契約で 1 個 (100MB) まで無料 2 個目以降は有料オプションサービス ( 月額 300 円 / 個 ) で追加登録が可能です (1) 左メニューの HP アカウント登録 リンクをクリックします (1

5.1. ホームページ登録 ホームページ URL を登録します ホームページ URL は基本契約で 1 個 (100MB) まで無料 2 個目以降は有料オプションサービス ( 月額 300 円 / 個 ) で追加登録が可能です (1) 左メニューの HP アカウント登録 リンクをクリックします (1 5. HP( ホームページ ) アカウント情報 ホームページアカウント情報では ホームページ URL の取得やパスワードの変更 ホームページ容量の追加 authid の設定など ホームページ URL に関する管理が行えます HP アカウント情報 にアクセスするには 世帯情報参照 画面で HP アカウント情報 のリンクをクリックします 新しくホームページ URL を取得する場合は 41 ページへ FTP

More information

ADO.NETのアーキテクチャ

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

More information

構造体

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

More information

講習No.1

講習No.1 プログラムはどこに保存され, どこで実行されるのか? 復習 ハードディスク キーボード Central Processing Unit 例えば i7, ARM, Cortex-A17 ディスプレイ 例えば 4G バイト メモリ プログラムは, ワープロ文章などと同様, ハードディスクなどにファイルとして保存されている. プログラムは, メモリ上に呼び出されて ( ロード ) 実行される. プログラムの作成

More information

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

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

More information

単語の比較とスペルチェック COMPARA Word のテキスト内にある単語を抽出し 異なり語のリストを作成するプログラムです また Word のテキスト内の単語 ( または単語リスト ) を 先に作成した単語リストと照合して その異同を確かめます フォーム 単語リスト単語集計同語検索異語検索同語リ

単語の比較とスペルチェック COMPARA Word のテキスト内にある単語を抽出し 異なり語のリストを作成するプログラムです また Word のテキスト内の単語 ( または単語リスト ) を 先に作成した単語リストと照合して その異同を確かめます フォーム 単語リスト単語集計同語検索異語検索同語リ 単語の比較とスペルチェック COMPARA Word のテキスト内にある単語を抽出し 異なり語のリストを作成するプログラムです また Word のテキスト内の単語 ( または単語リスト ) を 先に作成した単語リストと照合して その異同を確かめます フォーム 単語リスト単語集計同語検索異語検索同語リスト異語リスト和文大小文字区別新文書照合リスト実行 テキストまたはリストにある単語 ( 異なり語 )

More information

_unix_text_command.pptx

_unix_text_command.pptx Unix によるテキストファイル処理 2015/07/30 作業場所 以降の作業は 以下のディレクトリで行います ~/unix15/text/ cd コマンドを用いてディレクトリを移動し pwd コマンドを利用して カレントディレクトリが上記になっていることを確認してください 実習で使用するデータ 講習で使用するデータは以下のフォルダ内 ファイルがあることを確認してください ~/unix15/text/

More information

文字入3-2 力3 文字入力について ひらがな 漢字 カタカナ 英数字 記号 絵文字などが入力できます 文字入力方式には モード1( かな方式 ) モード2(2タッチ方式 ) モード3( ニコタッチ方式 ) の3 種類があります 本書では モード1( かな方式 ) での入力例を中心に記載します モー

文字入3-2 力3 文字入力について ひらがな 漢字 カタカナ 英数字 記号 絵文字などが入力できます 文字入力方式には モード1( かな方式 ) モード2(2タッチ方式 ) モード3( ニコタッチ方式 ) の3 種類があります 本書では モード1( かな方式 ) での入力例を中心に記載します モー 文字入力 文字入力について... 3-2 文字の入力方法... 3-3 文字を入力する... 3-3 絵文字 / 記号を入力する... 3-4 定型文を利用する... 3-5 その他の入力補助機能... 3-5 文字の変換機能... 3-6 変換機能を利用する... 3-6 英字 / 数字 / カタカナに変換する ( 英数カナ候補 )... 3-7 文字の変換に関する機能... 3-8 文字の編集...

More information

スライド 1

スライド 1 知識情報演習 Ⅲ( 後半第 3 回 ) 辻慶太 http://slis.sakura.ne.jp/cje3 1 索引付けの手順概要 ( 復習 ) (1) 索引語の抽出 文字バイグラム, 単語, フレーズなど (2) 不要語の削除 (3) 接辞処理 (4) 索引語の重み付け 検索手法 ( 検索モデル ) によっては不要例えば, 論理式によるブーリアンモデルでは不要 (5) 索引ファイルの編成 extract.prl

More information

Word2013基礎 基本操作

Word2013基礎 基本操作 OA ベーシック Word2013 基礎基本操作 1 / 8 Word2013 基礎基本操作 基本操作前編 (WORD 基本操作 ) Word の起動と終了 操作 Word を起動します 1[ スタート画面 ] で [Microsoft Word2013] のタイルをクリックします Word が起動します タスクバーには Word のボタンが表示されます 2[ 白紙の文書 ] をクリックします 新規文書が表示されます

More information

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

Visual Studio2008 C# で JAN13 バーコードイメージを作成 xbase 言語をご利用の現場でバーコードの出力が必要なことが多々あります xbase 言語製品によっては 標準でバーコード描画機能が付加されているものもあるようで す C# では バーコードフォントを利用したりバー Visual Studio2008 C# で JAN13 バーコードイメージを作成 xbase 言語をご利用の現場でバーコードの出力が必要なことが多々あります xbase 言語製品によっては 標準でバーコード描画機能が付加されているものもあるようで す C# では バーコードフォントを利用したりバーコード OCX や バーコード対応レ ポートツールが豊富にありますので それほど困ることは無いと思われます

More information

データベース1

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

More information

アセンブラ C# で作られたプログラムをデコンパイル デコンパイルとは 大雑把に言うと コンパイルされたプログラム (exe dll 等 ) から 元のコードを復元する行為の事で有る 特に C# や Java の様に中間言語に翻訳された状態でコンパイルされる様な言語の場合は元のコードに可成り忠実に復

アセンブラ C# で作られたプログラムをデコンパイル デコンパイルとは 大雑把に言うと コンパイルされたプログラム (exe dll 等 ) から 元のコードを復元する行為の事で有る 特に C# や Java の様に中間言語に翻訳された状態でコンパイルされる様な言語の場合は元のコードに可成り忠実に復 アセンブラ C# で作られたプログラムをデコンパイル デコンパイルとは 大雑把に言うと コンパイルされたプログラム (exe dll 等 ) から 元のコードを復元する行為の事で有る 特に C# や Java の様に中間言語に翻訳された状態でコンパイルされる様な言語の場合は元のコードに可成り忠実に復元される 本稿では C# に限らず.NET に関わる言語全般のデコンパイルをする方法を紹介する デコンパイルに依るリバースエンジニアリングが禁止されて居るアプリケーションには使用しない様にしなければ成らない

More information