• 検索結果がありません。

モグラ叩きプログラム

N/A
N/A
Protected

Academic year: 2021

シェア "モグラ叩きプログラム"

Copied!
8
0
0

読み込み中.... (全文を見る)

全文

(1)

醒めよ!!

遣り度い事を遣るには

先ず

遣らなければ成らない事を遣る!

現に、其の事に気付いて、日々、其の『遣らなければ成らない事』に邁進して居る人間が

居る。寧ろ、其れを愉しんでさえ居る者も居る。然して、着実に、世の中が必要とする技

術を身に付けて行って居る者が居る。

併し、何が『遣らなければ成らない事』なのか解らない場合は、現実に対応出来る技術力

を持ち、現在と未来を見通せる人間の話を聴き、其れが何なのかを知る事で有る。然して

直ぐに実行し、途中で投げ出さない事で有る。

プログラミングは、最早、殆どの分野に於いて欠かす事の出来ないコンピュータを、より

効果的に使い熟す為の技術で、広く其の技術が必要とされて居ると共に、コンピュータを

必要とする分野の総ての業種に於いて、今後、必須と成る技術で有る。即ち、誰もが自分

の業務を効率良く行う為に、知って置かなければ成らない技術と成るのは、世の中の流れ

に鑑みると、

『必然』で有る。

プログラミングの有用性

VB 2005 ①

(2)

基本的な Windows 操作さえ知って居れば、誰にでも出来るリネーム(名前の付け替え)作業でも、フ ァイル数が膨大だと、結構な時間を要する事に成る。 其処で、簡単なプログラムを組む事で、斯うした作業を、短時間で完了させる事が、此れからの実務に 於いて求められる。 此処では、プログラミングの有用性を知ると共に、此れからは、斯うした技術が、総ての分野に於いて 必須の物と成る事を自覚して欲しい。 プログラミングは、或る意味、時間的な制約に依り諦めて居た事を実現する『不可能を可能にする』道 具で有ると共に、其れ自体が、創作の歓びを伴う『愉しい物』でも有る。 其れを体感する為には、ゲーム製作が最適で有る。ゲームは、改良のアイディアが沸き易く、色々を手 を加える事に依り、プログラミング技術が向上する丈で無く、プログラミングが『愉しい物』でも有る 事を実感出来る筈で有る。 コントロールの種類 プロパティ プロパティの設定値 フォーム Name WakeUp StartPosition CenterScreen Text ウェイクアップ講座 - ファイルのリネーム ボタン Name btnStart Font MS明朝、太字、12 Text ファイル名変更 ボタン フォーム

(3)

Imports System.IO

Public Class WakeUp

' ボタン(ファイル名変更)がクリックされた時の処理

Private Sub btnStart _Click( ByVal sender As System.Object, _ ByVal e As System.EventArgs ) Handles btnStart.Click

' 起動パスの取得

Dim P As String = Application.StartupPath If Not P.EndsWith( "¥" ) Then P &= "¥" P &= "WakeUpData"

' ファイルの取得

Dim F ( ) As String = Directory.GetFiles( P ) ' ファイル名の変更 Dim S , D As String Dim C As Char For Each S In F D = Path.GetFileName( S ).Substring( 4, 3 ) C = D.Substring( 0, 1 ) Select Case C Case "a"c To "z"c

D = ( Convert.ToInt32( C ) – 87 ).ToString( "00" ) & D.Substring( 1, 2 ) Case Else

D = Integer.Parse( D ).ToString( "0000" ) End Select

D = P & "¥jpn_" & D & ".txt" File.Move( S, D ) Next ' メッセージの表示 MessageBox.Show( "ファイル名を変更しました。", "完了" ) End Sub End Class

デザイン画面で、ボタンをダ ブルクリックして、コード画 面を表示し、左記のコードを 入力する。 コーディング時の注意 Basic は、大文字と小文字を区別しない言語で有る。従って、コードは、大文字と小文字の孰れで 入力しても良いが、1 行分の入力が完了すると(他の行に移動すると)、其の語句が定義されて居る 形式に、自動的に変換される。 猶、Basic では、変数(上記の反転文字部分)は、慣習的に大文字を含める事が多いので、其の定 義(宣言)では、大文字で入力する。

(4)

名前空間のインポート(Imports 文) 名前空間(Name Space)をインポートする。 Imports [エイリアス名 =] 名前空間名 ※ 但し、ブラケット(鉤括弧)内は省略可能で有る(通常省略する)。 .NET Framework で提供される様々なクラスは、名前の衝突を避ける為、名前空間と謂うブ ロックで分類されて居る。従って、クラス名は、正式には、完全修飾名(名前空間名+クラ ス名)で指定しなければ成らない。 例えば、ディレクトリの情報や操作を提供するDirectory クラスや、ファイルやディレクト リのパス情報を提供するPath クラスは、System.IO 名前空間に属して居るので、正式には 下記の様に記述する必要が有る。 System.IO.Directory System.IO.Path 併し、名前空間をインポートして置けば、名前空間名を省略する事が出来る(但し、複数の 名前空間をインポートして、名前の衝突が起こる場合、即ち、同名のクラスやメソッド等が 有る場合には、明確に識別する為に、名前空間名も記述しなければ成らない)。 Application クラスの StartupPath プロパティ アプリケーションを開始した実行可能ファイルのパスを取得する。 String 型変数 = Application.StartupPath 取得したパス名にファイル名は含まれない。亦、通常は、パス名の末尾に¥記号(ディレク トリやファイルを区切る区切記号)は含まれない。併し、稀に¥記号が含まれる場合も有る ので、下記の様に、末尾の検証を行う事が望ましい。

Dim P As String = Application.StartupPath If Not P.EndsWith( "¥" ) Then P &= "¥"

上記の様に処理して置けば、孰れの場合も、後続のディレクトリやファイルと正しく結合す る事が出来る。 Directory クラスの GetFiles メソッド 指定したディレクトリに格納されて居るファイル名を返す。 String 型配列 = Directory.GetFiles( ディレクトリ名 ) 取得したファイル名には完全パスが含まれる。 Path クラスの GetFileName メソッド 指定したパス文字列のファイル名を返す。 String 型変数 = Path.GetFileName( パス文字列 ) 取得したファイル名には拡張子も含まれる。 機 能 解 説 書 式 機 能 解 説 書 式 機 能 解 説 書 式 機 能 解 説 書 式

(5)

File クラスの Move メソッド 指定したファイルを新しい場所に移動する。 File.Move( 移動するファイル名, ファイルの新しいパス ) ファイルの新しいパスに新しいファイル名を指定する事が出来るので、ファイルのリネーム に使用する事が出来る。 String クラスの Substring メソッド 文字列から部分文字列を返す。 String 型変数 = 文字列.Substring( 開始位置, 取得文字数 ) 開始位置は0 スタートのインデックスで指定する。 Convert クラスの ToInt32 メソッド 引数で指定したデータを32 ビット符号付き整数に変換する。 Integer 型変数 = Convert.ToInt32( 引数 ) 引数にChar 型データ(Unicode 文字)を指定した場合、其の文字の文字コードが得られる。 因みに、文字a の文字コードは 97 で有る。 Integer(Int32)クラスの Parse メソッド 引数で指定した文字列を32 ビット符号付き整数に変換する。 Integer 型変数 = Integer.Parse( 文字列 ) 引数に指定した文字列が、32 ビット符号付き整数に変換出来ない場合、例外が発生する。 Integer(Int32)クラスの ToString メソッド 32 ビット符号付き整数を文字列に変換する。

String 型変数 = Integer 型数値.ToString( 書式 )

書式を省略すると、標準の書式で文字列化される。0 プレースホルダを指定すると、指定し た桁数に満たない場合は、指定した桁数に成る様に0 を補充する。 機 能 解 説 書 式 機 能 解 説 書 式 機 能 解 説 書 式 機 能 解 説 書 式 機 能 解 説 書 式

(6)

代入文(Let 文) 左辺の変数やオブジェクトのプロパティに、右辺の式の値を代入する。 Let 変数名 = 式 ※ 但し、Let は省略可能で(通常省略する)、変数名 = 式と記述する事が出来る。 下記の様な式を代入文と呼ぶ。此処で使用して居る=(イコール)は、数学の等号の様に左 辺と右辺が等しいと謂う意味では無く、右辺の計算式の値を左辺の変数等に代入すると謂う 意味で有る。 X = 10 = 10 A = X + Y = + 此の代入文の右辺には数値、変数、式を記述する事が出来るが、右辺には1個の変数、又は オブジェクトのプロパティしか記述する事が出来ない。例えば、X + Y = A と謂う様な記述 は出来ない。猶、単独の変数や定数も、広い意味での式と看做される。 条件分岐(Select 文) 評価式の値に従い、複数のステートメントブロックの中の孰れかを実行するステートメント Select Case 評価式 Case 該当式1 評価式が該当式1に該当する場合の処理 Case 該当式2 評価式が該当式2に該当する場合の処理 … Case Else 上記孰れの該当式にも該当しない場合の処理 End Select 評価式の値に従い、複数のステートメントブロックの中の孰れかを実行する。Select 文では 評価式が1回だけ評価され、其の値と各Case 節の値が比較され、一致した場合、其の Case 節に対応するステートメントブロックが実行される。 該当式には、1個以上の値リストを指定する。複数の値を指定する場合には、値をカンマ(,)で区切 る。亦、キーワードIs と To を使用する事も出来る。 評価式が複数の該当式と一致した場合には、最初に一致したCase 節のステートメントブロックが実行 される。亦、孰れの該当式とも一致しない場合は、Else Case 節(省略可能)が実行される。 機 能 解 説 書 式 X A X 10 Y 20 左辺の値(10)を代入 左辺の値(10 + 20)を代入 機 能 書 式 解 説

(7)

ループ処理(For Each … Next 文) グループの各要素に対して一連のステートメントを繰り返し実行するステートメント For Each 要素 In グループ 一連の処理 Next 配列やコレクション(オブジェクトの集合)の各要素の総てに対して、一連のステートメン トを繰り返し実行する。 グループには、オブジェクトコレクションや配列、又は、其等を参照するオブジェクト変数を指定し、 要素には、コレクションや配列から各要素を取り出して格納する変数を指定する。 配列やグループのコレクションに要素が1つでも存在する場合、For Each...Next ループが始まる。一 旦、ループが開始されると、グループの最初の要素に対してステートメントが実行される。然して、グ ループの中に要素が有る限り、ループ内のステートメントは、各要素に対して実行を続ける。要素が無 く成れば、ループを終了し、Next ステートメントの次のステートメントに実行が移る。 ループから強制脱出する方法と仕て、ループ内の任意の位置に任意の数のExit For ステートメントを記 述する事が出来る。通常、Exit For ステートメントは、何等かの条件を評価した後で使用する。例えば If ... Then ... Else ステートメントを評価した後で、制御を Next ステートメントの次のステートメント に直ちに移動する場合に利用される。

For Each...Next ループは、入れ子構造(ネスティング)に出来る。即ち、For Each...Next ループの内 部に別のFor Each...Next ループを入れる事が出来る。但し、夫々れのループの要素を表わす変数には 一意の変数を指定する必要が有る。 文字列の結合(&演算子) 文字列を結合するする。 String 型変数 = 文字列 & 文字列 文字列と文字列を結合するには、&演算子を使用する。猶、+演算子でも、文字列の結合は 出来るが、文字列の結合と謂う意味では、&演算子を用いる事が望ましい。

例えば、"ABC" と "XYZ" と謂う文字列を&演算子で結合すると、"ABCXYZ" と謂う文字 列が生成される。猶、文字列は、ダブルコーテーションでクォートする。 機 能 書 式 解 説 機 能 解 説 書 式 ヘルプの利用 調べたい語句の上にキャレット(I カーソル)を当て、F1 キーを押すとヘルプが表示される。解ら ない語句が有ると、先ず、ヘルプで調べる癖を付けて欲しい。ヘルプには、意味や書式丈で無くコ ード例も記載されて居るので、此れに親しむ事が、上達への道で有る。

(8)

§ プログラミングは何故必要か §

から『コンピュータ、ソフトが無ければ只の箱』と謂われる様に、コンピュータはソフトウェア (プログラム)が無いと、何もする事が出来ません。コンピュータの電源を入れると、ユーザー がコンピュータを使用出来る状態に成りますが、此れはOS(オペレーティングシステム)と呼 ばれる基幹と成るプログラムが作動して居るからに他なりません。更に、其の時の使用目的に応じて 様々なアプリケーションを起動しますが、此れも亦、プログラムです。此の様に、コンピュータを利用 するには、プログラムが不可欠です。

§ プログラミングの将来性は §

在、職場や家庭等の多くの場所でコンピュータが利用されて居り、特に職場等では、業務を遂 行する上で、コンピュータは無くては成らない存在と成って居ます。最早、コンピュータの存 在無くしては、業務が停滞すると謂う状況に至って居ます。亦、普段何気無く使用して居る電 化製品等も、コンピュータで制御されて居る事が多く成って居ます。此の様に、最早コンピュータの無 い状態に戻る事が出来ない状況に於いて、其のコンピュータを作動させる為に必要なプログラムの製作 は、コンピュータ文化を維持する上で、必要にして不可欠な技術です。

§ プログラミングの基本は §

ンピュータは『人間が、其の歴史の中で、初めて作った目的の無い道具』と謂われる様に、コ ンピュータを使用する目的は、人に依り、千差万別です。此れは、コンピュータの利用範囲が 広い事を示すと共に、コンピュータ自体には使用目的が無い事を示して居ます。即ち、コンピ ュータは、其れを使用する人間が、使用目的を持たなければ成りません。コンピュータは、人間の作業 を補助する為の道具ですので、何の作業を何の様に補助させるのかを考える事が、プログラミングの第 一歩です。詰まり、実務だけで無く、娯楽を含めて、何が人間の役に立つのかを考える事からプログラ ミングは始まります。

§ プログラミングを学習するには §

ログラミングに限らず、何事も実践しなければ上達しません。兎に角、只管実践する事です。 実践してさえ居れば、必ず上達します。併し、『謂うは易し、行うは難し』と謂うのが現実で、 遂々怠けて仕舞うのが人間の性と謂う物です。特に、プログラミングは、世間で『特殊技能』 と認定されて居る技術で有るだけに、其の奥行きは深く、簡単に極められる物では無いだけに、挫折し 易いのも事実です。併し、同時に、日常、プログラムを作成する事を仕事と仕て居るプロのプログラマ ーが、余暇に自分の為のプログラムを作成すると謂う様に、『娯楽』と成り得る事も亦、事実です。実 践し続ける事が上達の為の唯一の秘訣で有る以上、実践し続ける為に、プログラミングを楽しむ事が必 要です。先ずは、『創り度いプログラム』、又は、『創らなければ成らないプログラム』を創れる様に成 りませう。然うすれば、更に『創り度いプログラム』や『創らなければ成らないプログラム』が現れて 来ます。其れを、一歩々々、着実に解決して行く事で、自然と『技術』は身に付きます。

参照

関連したドキュメント

If in the infinite dimensional case we have a family of holomorphic mappings which satisfies in some sense an approximate semigroup property (see Definition 1), and converges to

イヌワシは晩秋に繁殖行動を開始します。オスとメスが一緒に飛んだり、オス が波状飛行を繰り返します。その後、12月から

選定した理由

※1 The sum of the estimated ratios to regulatory concentration limits for primary seven nuclides (Cesium-137, Cesium-134, Cobalt-60, Antimony-125, Ruthenium-106, Strontium-90

「1 つでも、2 つでも、世界を変えるような 事柄について考えましょう。素晴らしいアイデ

ALPS 処理⽔の海洋放出にあたっての重要なポイントは、トリチウム、 62 核 種( ALPS 除去対象核種)及び炭素 14 の放射能濃度を希釈放出前にきちんと

それに対して現行民法では︑要素の錯誤が発生した場合には錯誤による無効を承認している︒ここでいう要素の錯

このような環境要素は一っの土地の構成要素になるが︑同時に他の上地をも流動し︑又は他の上地にあるそれらと