2017-06-10 2 views
0

Ce que j'essaie de faire, c'est que je veux lire la "Révision (REV_057)" du fichier texte. fichier texte contient beaucoup de matériel Id est commeComment extraire la chaîne particulière du fichier texte dans Installshield

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;  

ce qui est de la question dans le code ci-dessus.

Répondre

0

Je ne l'ai pas exécuté, mais semble que le problème est ici: Le script parcourt ReturnLine, mais la variable de chaîne que vous scindez s'appelle svReturnLine. Corrigez-le et réessayez. Faites le moi savoir.

Aussi, assurez-vous de détruire les listes après utilisation avec ListDestroy et fermer le fichier avec CloseFile