【C#】ファイルのコピー(Fileクラス)


 ファイルのコピー


ファイルのコピーをする場合は、Copyメソッドを使い、書式が2パターンあります。
下記処理のコピー元・コピー先はフルパスを指定し、コピー先はファイル名まで記載する必要があります。(フォルダのみは不可)

▽ 上書きをさせない場合
File.Copy(コピー元, コピー先);

▽ 上書き可否設定が可能な場合(true[上書き可])
File.Copy(コピー元, コピー先, true);

▽ 上書き可否設定が可能な場合(false[上書き不可])
File.Copy(コピー元, コピー先, false);

上書きが出来ない場合にコピー処理を実行すると下記のように「ファイル '・・・' は既に存在します。」というエラーが発生します。

  

全ての処理で言える事ですが、何かのメソッドを使用する場合は try ~ catch の例外処理を記述した方がスマートです。

▽ 例
try
{
  /* ファイルのコピー処理 */
  File.Copy(@"c:\test\test.txt", @"c:\test\test2.txt");
}
/* エラーが発生した場合 */
catch(Exception Error)
{
  /* エラー内容を出力 */
  MessageBox.Show(Error.ToString());
}
/* 後処理 */
finally
{
  /* 終了メッセージを出力 */
  MessageBox.Show("処理が終了しました");
}

カテゴリー: C#, システム開発 | コメントする

【C#】ファイルの存在チェック(Fileクラス)


 ファイルの存在チェック


ファイルの存在チェックを行う場合は、FileクラスのExistsメソッド System.IO.File.Exists(fileName) で行います。戻り値は True(存在) / False(不在) のため、if文 と組み合わせて使うのがポピュラーではないでしょうか。

尚、usingステートメントに System.IO が定義されていれば、わざわざ記述する必要はありません。

▽ 例
string strFileName = @"c:\test\test1.txt";

/* ファイルチェック */
if (!System.IO.File.Exists(strFileName))
{
  MessageBox.Show("ファイル(" + strFileName + ")が存在しませんので処理を中止します");
  return;
}

Fileクラスにはファイルの存在チェック以外にも様々なメソッドを用意しています。

カテゴリー: C#, システム開発 | コメントする

【C#】マウスポインタの変更


 マウスポインタの変更


マウスポインタを変更するには、this.Cursor = Cursors.~ を用います。
元に戻す時は、this.Cursor = Cursors.Default を用います。

変更可能なカーソルを一覧にしてみました。

ポインタ 種類 コード
AppStarting
this.Cursor = Cursors.AppStarting;
Arrow
this.Cursor = Cursors.Arrow;
Cross
this.Cursor = Cursors.Cross;
Hand
this.Cursor = Cursors.Hand;
Help
this.Cursor = Cursors.Help;
IBeam
this.Cursor = Cursors.IBeam;
No
this.Cursor = Cursors.No;
SizeAll
this.Cursor = Cursors.SizeAll;
SizeNESW
this.Cursor = Cursors.SizeNESW;
SizeNS
this.Cursor = Cursors.SizeNS;
SizeNWSE
this.Cursor = Cursors.SizeNWSE;
SizeWE
this.Cursor = Cursors.SizeWE;
UpArrow
this.Cursor = Cursors.UpArrow;
WaitCursor
this.Cursor = Cursors.WaitCursor;
カテゴリー: C#, システム開発 | コメントする

【ポケモンGO】大地の化身「グラードン」登場(2017/12/16~2018/1/15)



ポケットモンスター ルビー・サファイアの伝説ポケモン第一弾はグラードン!(公式サイト)

2017年12月16日 ~ 2018年1月15日の1ヶ月間登場し続けます。
グラードンのCPは今までの伝説ポケモンの中で最強で 50,000 を超えてきました!

8人で倒せたので、トレーナーのレベルにもよりますが 7人以上いれば倒せそうです。
(画像は13人でバトルした時のものですが・・・)



さて、肝心のゲットは・・・



固体値は満足できるものではありませんでしたが、何とか2戦目でゲットでした。的はホウオウ程近くありませんが、余り動かないので、ボールは比較的当てやすいです。


カテゴリー: ポケモンGO | コメントする

【C#】オープンファイルダイアログ-複数ファイル選択

ファイルを開く際、ダイアログを表示してファイルを選ばせる方法は「【C#】オープンファイルダイアログ-初期フォルダの設定」を参照下さい。

ここでは、下記ダイアログのように複数のファイルを選択可能にし、ファイル名を取得する方法を記載します。(デフォルトは1ファイルのみ)




 複数ファイル選択


複数ファイルの選択を可能にする場合には~.Multiselect = trueを用い、ダイアログを表示(ShowDialog)する前に記述します。

 ▽ 1ファイルのみ選択可能にする場合
OFD.Multiselect = false;

 ▽ 複数ファイルを選択可能にする場合
OFD.Multiselect = true;



 ファイル名の取得


ファイル名を取得するには、1ファイルの場合は~.FileNameを用い、複数ファイルの場合は~.FileNamesを用い、ファイルが選択された場合(~.ShowDialog() == DialogResult.OK)に記述します。

複数ファイルの場合に ~.FileName を使うと、先頭の1ファイルのみ取得できます。

 ▽ 1ファイルの場合
/* ダイアログを表示し「開く」場合 */
if (OFD.ShowDialog() == DialogResult.OK)
{
  /* ファイル名を表示する */
  MessageBox.Show(OFD.FileName);
}

 ▽ 複数ファイルの場合(1ファイルでも可)
/* ダイアログを表示し「開く」場合 */
if (OFD.ShowDialog() == DialogResult.OK)
{
  /* ファイル名を表示する */
  foreach ( string strFileName in OFD.FileNames )
  {
    MessageBox.Show(strFileName);
  }
}

一連の処理を通して記述すると下記となります。

/* インスタンスの初期化 */
OpenFileDialog OFD = new OpenFileDialog();

/* タイトルの設定 */
OFD.Title = "Excelファイルを選択してください";

/* 初期フォルダ:マイドキュメント */
OFD.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);

/* フィルター:Text、Excel */
OFD.Filter = "Text Files (*.txt)|*.txt|Excel File(*.xls;*.xlsx)|*.xls;*.xlsx";

/* フィルター初期値:Excel */
OFD.FilterIndex = 2;

/* ファイルの存在チェックをする */
OFD.CheckFileExists = true;

/* 複数ファイルを選択可 */
OFD.Multiselect = ture;

/* ダイアログを表示し「開く」場合 */
if (OFD.ShowDialog() == DialogResult.OK)
{
  /* ファイル名を表示する */
  foreach ( string strFileName in OFD.FileNames )
  {
    MessageBox.Show(strFileName);
  }
}

カテゴリー: C#, システム開発 | コメントする