お世話になっております。
Visual Studio2017を使用しています。
標題の通り、ツールボックスの5つのtextboxに入力した文字と、IniFileの内容を読みこんで比較し、全く同じならOK、異なるならNGの表記を出すプログラムを作成したいです。
しかし、比較する際にIniFileの内容と同じ文字を入力したはずなのになぜかNGを通ってしまいます。
if (TextArray[j].Equals(IniFileData[i]))で誤っていると思われます。
比較する際にtextboxだと何か弊害があるのでしょうか。
ご回答よろしくお願いいたします。
C#
1public partial class Form1 : Form 2 { 3 //どこで作業しているかを格納する変数(プログラムフォルダ) 4 //staticを付けないと他のプロジェクトで使用できない 5 public static string AppDirectory = new string(new char[1024]); 6 //IniFile内容格納変数 7 public static string[] IniFileData = new string[30]; 8 9 public Form1() 10 { 11 InitializeComponent(); 12 } 13 14 //"Compare"ボタンをクリックして、入力した文字とIniファイル内容を比較する 15 private void Compare_Click(object sender, EventArgs e) 16 { 17 //比較カウント変数 18 int i = 0; 19 //テキスト比較変数 20 int j = 0; 21 //"IniFile.cs"ファイルを継承するため、変数を宣言する 22 IniFileRead Ini = new IniFileRead(); 23 TextBox[] TextArray = { Text1,Text2,Text3,Text4,Text5 }; 24 TextBox[] OKNG = { OKNG1, OKNG2, OKNG3, OKNG4, OKNG5 }; 25 26 try 27 { 28 //IniFile内容読み込み 29 Ini.ReadIniFile(); 30 31 WordCompare(i,TextArray, OKNG, j); 32 33 } 34 catch 35 { 36 //メッセージ表示 37 MessageBox.Show("Ini File読み込みエラー", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); 38 } 39 } 40 41 42 public void WordCompare(int i, TextBox[] TextArray, TextBox[] OKNG, int j) 43 { 44 for (i = 0; i < 25; i++) 45 { 46 if (TextArray[j].Equals(IniFileData[i])) 47 { 48 OKNG[j].ForeColor = Color.Blue; 49 50 OKNG[j].Text = "OK"; 51 52 i = 0; 53 j = j + 1; 54 } 55 56 else 57 { 58 OKNG[j].ForeColor = Color.Red; 59 60 OKNG[j].Text = "NG"; 61 } 62 } 63 } 64}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。