0
ファイル内の文字列がすべての場合は機能します。ファイルに文字列が含まれていない場合は、メッセージが必要です。 MessageBoxが表示されないか、無限ループで表示されます。私は偽/真実を試みたが、うまくいかなかった。解析CSV =ファイルに文字列が含まれていません。
TextFieldParser sprawdz = new TextFieldParser("C:\\wykaz_druk.csv");
string currentLine;
string searchcsv = textBox_SPR_SEARCH.Text;
sprawdz.TextFieldType = FieldType.Delimited;
sprawdz.Delimiters = new string[] { ";" };
sprawdz.TrimWhiteSpace = true;
bool check = false;
do
{
currentLine = sprawdz.ReadLine();
if (currentLine != null)
{
check = true;
string file = currentLine;
string serial = file.Split(';')[2].Trim();
string adresip = file.Split(';')[3].Trim();
if (adresip == searchcsv || serial == searchcsv)
{
textBox2.Text = serial;
textBox4.Text = adresip;
}
}
} while (currentLine != null);
if (check == false)
{
MessageBox.Show("Error");
}
/他の場合、私も試したが、それはまだ動作しません:
check = true;
を間違った場所に:
TextFieldParser sprawdz = new TextFieldParser("C:\\wykaz_druk.csv");
string currentLine;
string searchcsv = textBox_SPR_SEARCH.Text;
sprawdz.TextFieldType = FieldType.Delimited;
sprawdz.Delimiters = new string[] { ";" };
sprawdz.TrimWhiteSpace = true;
while (!sprawdz.EndOfData)
{
currentLine = sprawdz.ReadLine();
if (currentLine != null)
{
string file = currentLine;
string serial = file.Split(';')[2].Trim();
string adresip = file.Split(';')[3].Trim();
if (adresip == searchcsv || serial == searchcsv)
{
textBox2.Text = serial;
textBox4.Text = adresip;
}
}
else
{
MessageBox.Show("Error");
break;
}
}
はこれを見ています:https://stackoverflow.com/questions/910873/how-can-i-determine-if-a-file-is- binary-or-c-text-in-c – Marco
ファイルが文字列ではないと言うと、バイナリファイルのようですか?もしそうなら、ストリームを使うべきです – Sparrow
@Sparrow No. "string searchcsv = textBox_SPR_SEARCH.Text"がCSVファイルであれば動作します。問題がある私が探しているものがファイルにない場合。 – Hoshie