using System; using System.Drawing; using Arp.Prova.ImageLibrary; using Arp.Prova.CsvLib; using Arp.Prova.PlayLib; //Windowsのライブラリ using System.IO; using System.Windows.Forms; //このサンプルコードは、CSVファイルから行列を指定して値を取得するサンプルコードです。 //1行目をヘッダとする場合と、ヘッダとしない場合の2パターンを実装しています。 public class CodeClass { public static int CodeStart() { // 変数を宣言 string value = string.Empty; // PC個別設定ファイル(csv)読込む // 実行ファイル(exe)の一つ上の階層のSetting.csvファイルを指定 string sFilePath = Path.Combine(Path.GetDirectoryName(Application.StartupPath), "Setting.csv"); PlayLib.TestLog("sFilePath:" + sFilePath); //「Setting.csv」から行列を指定して値を取得 try { /************ 1行目をヘッダとして扱う場合 ******************/ // CSVファイルの1行目をヘッダ行として扱う場合 // デフォルトでは1行目をヘッダ行として扱うため、下記コードは省略可能 CsvLib.EnableUseHeader(); //「Setting.csv」の項目2の3行目(ヘッダを含めると4行目)を取得 // 1行目はヘッダの為、行数に1行目はカウントしません value = CsvLib.GetField(sFilePath, 3, 2); //値の取得に成功したか if(!String.IsNullOrEmpty(value)) { //取得した値 PlayLib.TestLog("ヘッダを設定した場合の項目2の3行目:" + value); } else { //値の取得に失敗した場合、エラーログを出力し終了 PlayLib.TestLogError("ヘッダを設定した場合の項目2の3行目は値が空でした。"); return -1; } /************ 1行目をヘッダとしない場合 ******************/ // CSVファイルの1行目をヘッダ行として扱わない場合 CsvLib.DisableUseHeader(); //「Setting.csv」の項目2の3行目(ヘッダを含めると4行目)を取得 // 1行目をヘッダとしないため、行数は1行目からカウントします value = CsvLib.GetField(sFilePath, 4, 2); //値の取得に成功したか if(!String.IsNullOrEmpty(value)) { //取得した値 PlayLib.TestLog("ヘッダを設定しなかった場合の項目2の3行目:" + value); } else { //値の取得に失敗した場合、エラーログを出力し終了 PlayLib.TestLogError("ヘッダを設定しなかった場合の項目2の3行目は値が空でした。"); return -1; } } catch { //値の取得に失敗した場合、エラーログを出力し終了 PlayLib.TestLogError("「" + sFilePath + "」からの読み込みに失敗しました"); return -1; } return 0; } }