标签: ini

匹配INI区块

我正在使用正则表达式来尝试匹配INI文件中的节块.我正在使用正则表达式手册中给出的配方,但它似乎对我不起作用.

这是我正在使用的代码:

final BufferedReader in = new BufferedReader(
    new FileReader(file));
String s;
String s2 = "";
while((s = in.readLine())!= null)
    s2 += s + System.getProperty("line.separator");
in.close();

final String regex = "^\\[[^\\]\r\n]+](?:\r?\n(?:[^\r\n].*)?)*";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
String sectionBlock = null;
final Matcher regexMatcher = pattern.matcher(s2);
if (regexMatcher.find()) {
    sectionBlock = regexMatcher.group();
}
Run Code Online (Sandbox Code Playgroud)

以下是我的输入文件的内容:

[Section 2]
Key 2.0=Value 2.0
Key 2.2=Value 2.2
Key 2.1=Value 2.1

[Section 1]
Key 1.1=Value 1.1
Key 1.0=Value 1.0
Key 1.2=Value 1.2

[Section 0] …
Run Code Online (Sandbox Code Playgroud)

java regex ini

0
推荐指数
1
解决办法
1609
查看次数

如何同时从两个程序写入单个xml文件?

在使用旧的INI文件多年后,我们最近开始使用XML文件.

我的同事发现了一些使用System.Xml.XmlDocument.Save的CodeProject示例代码.当两个程序试图同时写入同一个文件时,我们会遇到异常.

System.IO.IOException:进程无法访问文件'C:\ Test.xml',因为它正由另一个进程使用.

事后看来这很明显,但我们没有预料到它,因为通过Win32 API访问INI文件没有这个限制.我假设Win32调用完成了一些仲裁,它们的工作级别高于XmlDocument.Save方法.

我希望.Net库中某处有更高级别的XML例程,它们与Win32函数类似,但不知道从哪里开始查找.

或者我们可以设置文件访问权限以允许多个程序写入同一个文件?

时间很短(就像几乎所有软件项目一样),如果我们无法快速找到解决方案,我们就必须抓住我们的鼻子并回到INI文件中.

c# xml ini

0
推荐指数
1
解决办法
2457
查看次数

重置Ini文件按钮delphi

我想为我的delphi程序创建一个重置按钮.在我的程序中,有时会有一些Ini.pathexe中创建的文件.我现在要做的是创建一个按钮或标签,让我点击它以及何时点击它.它删除了我的pathexe中的所有.Ini文件

我怎么能这样做?

另外我想知道如何做一点'你确定吗?' 弹出,但这是一个小细节.

delphi ini delete-file

0
推荐指数
1
解决办法
1400
查看次数

向 .ini 文件值添加引号 PHP

我有一个 .ini 文件,如下所示:

[playlist]
numberofentries=2
File1=http://87.230.82.17:80
Title1=(#1 - 365/1400) Example Title
Length1=-1
File2=http://87.230.56.25:80
Title2=(#2 - 370/1400) Example Title
Length1=-1
Version=2 
Run Code Online (Sandbox Code Playgroud)

我想知道如何以编程方式读取此文件,在文件和标题值周围添加引号,然后再次在 PHP 中保存此文件。

我将非常感谢任何帮助。

php quotes ini

0
推荐指数
1
解决办法
5963
查看次数

如何将INI文件条目读入哈希表?

如何将INI文件中的条目添加到哈希表?

我的INI文件看起来像这样......

[Channel 0]
Input = 0
Output = 0
CirUpdateRate = 10000 Hz
CirSourceFile = ..\..\MAT\mymodel.mat
CirControlFile = mymodel_0_S1_T4.sim

[Channel 1]
Input = 1
Output = 1
CirUpdateRate = 10000 Hz
CirSourceFile = ..\..\MAT\mymodel.mat
CirControlFile = mymodel_1_S1_T4.sim
Run Code Online (Sandbox Code Playgroud)

如何将每个变量和值插入哈希表.

我将能够区分或访问变量输入[通道0]输入在`[ 频道1 ]?

perl hash ini

0
推荐指数
1
解决办法
473
查看次数

编辑ini文件

我找到了一些与编辑ini文件的某个部分完美配合的代码,但它只选择了我要编辑的第一行实例.我知道我可以手动输入我想要开始编辑的代码中的所有索引,但是知道事情如何随着时间的推移而改变,可能会对ini文件进行更改,然后索引也会发生变化.有人能解释一下这个问题吗?

const string FileName = "File.ini";
string file= File.ReadAllText(FileName);

const string Pattern = @"pattern = (?<Number>)";

Match match = Regex.Match(config, Pattern, RegexOptions.IgnoreCase);

if (match.Success)
{
    int index = match.Groups["Number"].Index;

    string newText= **********;
    file = file.Remove(index, 21);
    file = file.Insert(index, newText);

    File.WriteAllText(FileName, file);
}  
Run Code Online (Sandbox Code Playgroud)

.net c# ini file edit

0
推荐指数
1
解决办法
793
查看次数

获得与inifile中不同的价值

我在windows目录的win.ini文件中放置了一个自定义条目,在自定义[Login]部分下名为LoginCount,并在每次加载主视图时递增.在Form Create事件中,我访问win.ini并检查其值,如果达到1000,我会显示一条消息.但是发生了一件非常奇怪的事情.达到1000后,我手动将其值设置为0.但它仍然显示1000.我检查了路径,以防应用程序引用系统中的某个其他win.ini文件,但它是C:\ Windows\win.ini .这是代码:

procedure TfMain.FormCreate(Sender: TObject);
  var
     winIni: TIniFile; 
     windir_buf: array [0 .. 144] of Char;
     WINDIR: string;
     loginCount: integer;
  begin
   GetWindowsDirectory(windir_buf, sizeof(windir_buf));
   WINDIR := StrPas(windir_buf) + '\';

   ShowMessage(WINDIR+'win.ini');//Shows C:\Windows\win.ini

   winIni := TIniFile.Create(WINDIR + 'Win.ini');
   loginCount := winIni.ReadInteger('Login', 'LoginCount', 1);
   ShowMessage(IntToStr(loginCount));//Shows 1000 although it's 0 in the actual file.
  end;
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?

delphi ini file

0
推荐指数
1
解决办法
116
查看次数

Delphi多个.ini文件操作

最近,我遇到了一个小问题,在尝试读取.ini文件时会导致访问冲突.

我的问题是,我可以在同一个程序中加载多个.ini文件(例如settings.ini和data.ini)吗?例如,我有两个ini文件,我写入并读取.

这是一个缩短的proc,它写入数据:

//writing to file uninstall.ini
try
  ini := TIniFile.Create(edPath.Text + '\Uninstall.ini');
  ini.WriteString('Uninstall', 'qfProgramName', Label4.Caption);
  ini.WriteString('Uninstall', 'qfUninstPath', edPath.Text);
finally
  ini.Free;
end;
Run Code Online (Sandbox Code Playgroud)

然后,有这个代码(在相同的程序中)

configini := configini.Create(ExtractFilePath(Application.ExeName) + '\quickfix.ini');
sectionsCount := getMaxSectionIndex(ExtractFilePath(Application.ExeName) + '\quickfix.ini');

startmenuLoc := GetProperDir(_STARTMENU);
desktopLoc := GetProperDir(_DESKTOP);
for I := 1 to sectionsCount do begin
  currentSection := 'qfShortcut_' + IntToStr(I);
  shortcutFile := configini.ReadString(currentSection, 'qfShTarget', '');
  shortcutDesc := configini.ReadString(currentSection, 'qfShDescription', '');
  shortcutFullPath := installPath + '\' + shortcutFile;
  shortcutDest := configini.ReadString(currentSection, 'qfShPath', '');
  displayName := configini.ReadString(currentSection, 'qfDisplayName', '');

  showmessage(startmenuLoc …
Run Code Online (Sandbox Code Playgroud)

delphi ini

0
推荐指数
1
解决办法
561
查看次数

配置文件INI?XML?其他?

我目前在一个学区工作,我们正在尝试为我们的工具包创建一个 C# exe。我们是 C# 新手,正在学习它,但由于它的灵活性而希望使用它。C# 工具包将用于自动设置新的或重新映像的计算机,其中包含我们选择的设置、程序、Regedit 更改和首选项。

我们有一个在 powershell 中硬编码的工作版本,我们正在将其转移到 c#。

我们当前面临的问题是如何使用设置/配置文件(例如 ini 或 xml)从函数和变量中提取通用信息并填充它们。这样我们就可以创建我们可以选择并运行的通用配置文件。例如:

[Server]
IP=172.1.0.10
Port=9999
PathToCSV=\\c:\Files.csv
[Client]
RestartComputerAfterScript=1
Install.Browser.Firefox=1
Install.Browser.Chrome=1
Install.Java=0
Install.PrinterLogic=1
SysConfig.TempLoc=d:\TEMP
Run Code Online (Sandbox Code Playgroud)

该 ini 文件将从我们的 C# GUI 中选择并填充:

  1. 使用值 1 运行脚本后计算机将重新启动
  2. Firefox 将使用值 1 安装
  3. 使用值 0 等将不会安装Java。

我们最终还将尝试传递其他变量,例如注册表路径和值等。

有人对我们如何使用 INI 有建议,或者对创建构建配置文件有更好的建议吗?

我研究过的资源:INI: https ://www.codeproject.com/Articles/1966/An-INI-file-handling-class-using-C

c# xml ini function

0
推荐指数
1
解决办法
5339
查看次数

解析qt中的ini文件

我正在使用自定义的INI解析器,其参数是表单名称,父窗口小部件.语法如下所示:

int width = w->findchild("form_name","section_to_be_accessed_name").toInt();
Run Code Online (Sandbox Code Playgroud)

我的语法可能有点不对,因为我现在没有代码.我想添加INI文件第2页中提到的一些标签.这些图像的属性在ini文件本身中提到.即使是绝对的道路等.

我尝试了多种组合,但它不起作用.任何人都可以给我一个相同的语法吗?这里的回报值应该是多少?一个标签,我已经在Qt设计器中创建了标签.让我们说吧label1.但是有很多标签.请告诉我.

ini qt parsing label

-1
推荐指数
1
解决办法
9029
查看次数

我试图写入Delphi中的ini文件,但我一直在收到错误

这是我写入ini文件的代码.

 Ini := TIniFile.Create(ChangeFileExt('StudentALevelMathsTracker.exe','.ini')) ;
 try
   Ini.WriteString('Settings', 'FilePath', edtFilePath.text);
   Ini.UpdateFile;
 finally
   Ini.Free;
 end;
Run Code Online (Sandbox Code Playgroud)

但是,当我运行这个时,我得到一个错误说

项目ALevelMathsTracker.exe引发了异常类EIniFileException,并显示消息"无法写入studentALevelMathsTracker.ini"

这是我在网络上的问题还是我的代码?

delphi ini

-1
推荐指数
1
解决办法
3635
查看次数

尝试从C ++中的ini文件读取

因此,我决定承担一种新的爱好,因为我无力建造PC,到目前为止,我还是试图创建一个基于控制台的简单程序,该程序从ini文件中读取信息,但是似乎根本无法读取它,并且而是仅输出默认值。和随机整数。

char* ReadINI(const char* sSection, const char* sSub, const char* sDefaultValue)
{
    char* sResult = new char[255];
    memset(szResult, 0x00, 255);
    GetPrivateProfileString(  sSection, sSub, sDefaultValue, sResult, 255, ".\\config.ini");
    return sResult;
}

int s_width = (int)ReadINI("CONFIGURATION", "WIN_WIDTH", 0);
int s_height = (int)ReadINI("CONFIGURATION", "WIN_HEIGHT", 0);
const char* value = ReadINI("CONFIGURATION", "WIN_NAME", "null");
Run Code Online (Sandbox Code Playgroud)

这是我作为调试方式的输出,因此用户知道该应用程序已正确读取那里的设置。

std::cout << "Width: " << s_width << "\n"; // Displays random integer
std::cout << "Height: " << s_height << "\n"; // Displays random integer
std::cout << "Name: " << value …
Run Code Online (Sandbox Code Playgroud)

c++ winapi ini

-1
推荐指数
1
解决办法
1037
查看次数

在线程中读取INI文件而不占用CPU时间

如何.ini在不消耗大量CPU时间的情况下读取线程中的文件?该线程将在运行时运行,这意味着true而没有延迟.

搜索.ini上的值的代码是:

var
  Leitura : TIniFile;
begin
  Result  := False;
  Leitura := TIniFile.Create('File.ini');

  if Leitura.ValueExists('KEY', ValueToSearch) then Result := True;

  Leitura.Free;
Run Code Online (Sandbox Code Playgroud)

但由于此函数在无限循环中运行,因此消耗CPU时间,我需要解决这个问题.

delphi ini multithreading

-5
推荐指数
1
解决办法
201
查看次数

标签 统计

ini ×13

delphi ×5

c# ×3

file ×2

xml ×2

.net ×1

c++ ×1

delete-file ×1

edit ×1

function ×1

hash ×1

java ×1

label ×1

multithreading ×1

parsing ×1

perl ×1

php ×1

qt ×1

quotes ×1

regex ×1

winapi ×1