当我的.ini文件';s的strvalue为null或为空
本文关键字:strvalue null ini 我的 文件 | 更新日期: 2023-09-27 18:21:39
我正在从.ini文件中读取一个strvalue。它的阅读和每件事都很好。但我想展示一些东西,比如当keyname和strvale不在的时候,我想展示一个消息框,比如"联系管理员"。
所以当我在form_load
上编码时。。每次加载带有消息框的表单时。哈哈。我不想改正。请帮帮我。
我的代码片段
private void Form1_Load(object sender, EventArgs e)
{
if (!System.IO.File.Exists(ini.ReadValue("Action", "User")))
{
MessageBox.Show("Contact Admin");
Environment.Exit(0);
}
else
{
//do something
}
}
我的.ini文件中的代码
[Action]
User=Company'Group
我正在寻找一些类似的东西,如果.ini [Action] filed is empty
,意思如下!!!
[Action]
User=
所以我需要在表单加载时显示一个消息框,然后我想退出。
我单独上了一节课来读和写.ini文件。.ini文件的代码段
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace MovedFiles
{
class INIFile
{
[DllImport("kernel32.dll")]
private static extern int WritePrivateProfileString(string ApplicationName, string KeyName, string StrValue, string FileName);
[DllImport("kernel32.dll")]
private static extern int GetPrivateProfileString(string ApplicationName, string KeyName, string DefaultValue, StringBuilder ReturnString, int nSize, string FileName);
private string fileName = string.Empty;
public INIFile(string _fileName)
{
fileName = _fileName;
}
private string DefaultSection = "SECTION1";
public INIFile(string _fileName, string _defaultSection)
{
fileName = _fileName;
DefaultSection = _defaultSection;
}
public void WriteValue(string SectionName, string KeyName, string KeyValue)
{
WritePrivateProfileString(SectionName, KeyName, KeyValue, fileName);
}
public string ReadValue(string SectionName, string KeyName)
{
StringBuilder szStr = new StringBuilder(255);
GetPrivateProfileString(SectionName, KeyName, "", szStr, 255, fileName);
return szStr.ToString().Trim();
}
public void WriteValue(string KeyName, string KeyValue)
{
WriteValue(DefaultSection, KeyName, KeyValue);
}
public string ReadValue(string KeyName)
{
return ReadValue(DefaultSection, KeyName);
}
}
}
一个问题是在非文件路径上使用System.IO.File.Exists()
。我不知道你用什么库来读取ini文件,我想它只是包装Win32调用。你可能正在寻找这样的东西:
if(!string.IsNullOrEmpty(ini.ReadValue("Action", "User")))
{
MessageBox.Show("Contact Admin.");
}
这假设您已经指定了文件,并在创建ini
变量时检查了该文件是否存在。
您应该这样检查。您正在检查文件是否存在,而不是值是否为null。
string strVal = ini.ReadValue("Action", "User");
if(string.IsNullOrEmpty(strVal)) //This will return true if the value is null or blank.
{
MessageBox.Show("Contact Admin."); //So the message will display only when value is not assinged.
}