如何从Installshield中的文本文件中获取特定字符串

时间:2017-06-10 07:04:42

标签: installshield

我想要做的是我想阅读"修订版(REV_057)"来自文本文件。 文本文件包含许多硬件ID,如

 PCI\VEN_8086&DEV_3B56&SUBSYS_304A103C&REV_057
 PCI\VEN_8086&DEV_3B56&SUBSYS_304A103C
 PCI\VEN_8086&DEV_3B56&CC_040300 

 szDevID1 = "PCI\VEN_8086&DEV_3B56&SUBSYS_304A103C&";
 OpenFileMode(FILE_MODE_NORMAL); 
 OpenFile(FileHandle,TempDir, "sample.txt"); 
 while(GetLine(FileHandle, ReturnLine) = 0) 

     if( ReturnLine % szDevID1 ) then
            lsTokens = ListCreate (STRINGLIST); 
            StrGetTokens (lsToken, svReturnLine, "&");
            ListSetIndex (lsToken, LISTLAST);
            ListCurrentString (lsTokens, szsample); 
              MessageBox(":FINAL: szsample " + szsample, INFORMATION);
              /*  ISSUE: Iam expecting szsample as REV_057 */
           endif;
        endwhile;       

上面的代码有什么问题。

1 个答案:

答案 0 :(得分:0)

我没有运行它,但看起来问题就在这里:脚本正在迭代ReturnLine,但是你要拆分的字符串变量叫svReturnLine。纠正它,然后再试一次。让我知道。

此外,请确保您在使用ListDestroy后销毁列表并使用CloseFile

关闭文件