我在使用 javascript 的 WinCC 统一中创建脚本,我有一些代码可以在文本文件中找到特定的 3 行并删除那里的值,它可以工作,但我也希望基本上删除整行,就好像你要按退格键一样当文本行上没有文本时。
编码
HMIRuntime.FileSystem.ReadFile(path, "utf8").then(
function(text) {
const lines = text.split('\n');
delete lines[noteNumber];
delete lines[noteNumber+1];
delete lines[noteNumber+2];
//HMIRuntime.Trace("lines:" +lines.join('\n'));
FileSystem.WriteFile(path, lines.join('\n'),"utf8" )
});
感谢您提供帮助。
我已经尝试过拼接,但现在读取 .txt 文件并将其数据写入 HMI 数组的部分没有更新,并且不再读取值。读取 .txt 文件的代码在这里
HMIRuntime.FileSystem.ReadFile(path, "utf8").then(
function(text) {
for (let i = 0; i < maxNoteNumber; i++) {
HMIRuntime.Trace("Trace Message"+ text.split('\n',i));
Tags('strDate[' + i + ']').Write(text.split('\n')[i*3]);
Tags('strName[' + i + ']').Write(text.split('\n')[i*3+1]);
Tags('strNote[' + i + ']').Write(text.split('\n')[i*3+2]);
}
}).catch(function(errorCode) {
HMIRuntime.Trace("read error:" + errorCode)
for (let i = 0; i <= maxNoteNumber; i++) {
Tags('strNote[' + i + ']').Write('\n')//emty overwrite
}
//create a emtpy file
HMIRuntime.FileSystem.WriteFile(path," ", 'utf8').then(
function() {
HMIRuntime.Trace('Write file finished sucessfully');
}).catch(function(errorCode) {
HMIRuntime.Trace('Write failed errorcode=' + errorCode);
});
});