public void findFunc(string path) { if (CopyForm.CheckReportFunctions) { string[] allLinesInFile = File.ReadAllLines(path); lFunctions = new List <Functions>(); foreach (var line in allLinesInFile) { bool call = call = callAndNotCallFuncOrBranch(line); while (call) { Functions function = new Functions(); string paternFind = "[0-9]{1,7}:[0-9]{1,7}"; Match match = new Regex(paternFind).Match(line); if (match.Success) { function.QidIn = match.Value; paternFind = "\\w+\\:{0,2}[\\w!=]+\\({1}[\\w\\s:;<>*,&]*\\){1}"; match = new Regex(paternFind).Match(line); if (match.Success) { function.NameFunction = match.Value; } else { paternFind = "\\w+\\:{2}\\w+\\:{2}\\w+"; match = new Regex(paternFind).Match(line); function.NameFunction = match.Value; } lFunctions.Add(function); break; } } } if (CopyForm.CheckReportFunctions & CopyForm.CheckExportInFileExcel) { workExcel = new WorkExcel(); workExcel.DisplayFunctions(lFunctions); } if (CopyForm.CheckReportFunctions & CopyForm.CheckSaveInFile) { NameFile = "akvs_dyn_thread_2.log"; foreach (var line in allLinesInFile) { bool call = callAndNotCallFuncOrBranch(line); while (call) { string paternFind = "[0-9]{1,7}:[0-9]{1,7}"; Match match = new Regex(paternFind).Match(line); if (match.Success) { File.AppendAllText(Path.Combine(PathFile, NameFile), match.Value + ":f:i\n", Encoding.ASCII); File.AppendAllText(Path.Combine(PathFile, NameFile), match.Value + ":f:o\n", Encoding.ASCII); break; } } } } } }
public void findLinkBranch(string path) { List <string> lBranchKey = new List <string> { "do", "if", "forrange", "while", "catch", "for" }; if (CopyForm.CheckReportBranchBranch) { string[] allLinesInFile = File.ReadAllLines(path); lLinkBranchBranch = new List <LinkBranchBranch>(); foreach (var line in allLinesInFile) { bool call = callAndNotCallFuncOrBranch(line); while (call) { LinkBranchBranch linkBranBran = new LinkBranchBranch(); string paternFind = "[0-9]{1,7}:[0-9]{1,7}"; Match match = new Regex(paternFind).Match(line); if (match.Success) { linkBranBran.QidOut = match.Value; paternFind = "\\w+\\:{0,2}[\\w!=]+\\({1}[\\w\\s:;<>*,&]*\\){1}"; match = new Regex(paternFind).Match(line); if (match.Success) { linkBranBran.NameBranchQidOut = match.Value; paternFind = "[0-9]{1,7}:[0-9]{1,7}"; match = new Regex(paternFind).Match(line); match = match.NextMatch().NextMatch().NextMatch(); if (match.Success) { linkBranBran.QidIn = match.Value; paternFind = "\\w+\\:{0,2}[\\w!=]+\\({1}[\\w\\s:;<>*,&]*\\){1}"; match = new Regex(paternFind).Match(line); match = match.NextMatch().NextMatch(); if (match.Success) { linkBranBran.NameBranchQidIn = match.Value; } else { foreach (var item2 in lBranchKey) { paternFind = item2; match = new Regex(paternFind).Match(line); if (!match.Success) { continue; } else { linkBranBran.NameBranchQidIn = match.Value; break; } } } } } else { foreach (var item1 in lBranchKey) { paternFind = item1; match = new Regex(paternFind).Match(line); if (!match.Success) { continue; } linkBranBran.NameBranchQidOut = match.Value; paternFind = "[0-9]{1,7}:[0-9]{1,7}"; match = new Regex(paternFind).Match(line); match = match.NextMatch().NextMatch().NextMatch(); if (match.Success) { linkBranBran.QidIn = match.Value; paternFind = "\\w+\\:{0,2}[\\w!=]+\\({1}[\\w\\s:;<>*,&]*\\){1}"; match = new Regex(paternFind).Match(line); match = match.NextMatch().NextMatch(); if (match.Success) { linkBranBran.NameBranchQidIn = match.Value; } else { foreach (var item2 in lBranchKey) { paternFind = item2; match = new Regex(paternFind).Match(line); if (!match.Success) { continue; } else { linkBranBran.NameBranchQidIn = match.Value; break; } } } } } } } lLinkBranchBranch.Add(linkBranBran); break; } } if (CopyForm.CheckReportBranchBranch & CopyForm.CheckExportInFileExcel) { workExcel = new WorkExcel(); workExcel.DisplayLinkBranchBranch(lLinkBranchBranch); } if (CopyForm.CheckReportBranchBranch & CopyForm.CheckSaveInFile) { NameFile = "akvs_dyn_thread_5.log"; List <NumberMarker> lNumbers = new List <NumberMarker>(); LinkFunctionsFunctions buildReport = new LinkFunctionsFunctions(); foreach (var line in allLinesInFile) { bool call = callAndNotCallFuncOrBranch(line); if (call) { NumberMarker number = new NumberMarker(); string paternFind = "[0-9]{1,7}:[0-9]{1,7}"; Match match = new Regex(paternFind).Match(line); if (match.Success) { number.QidIn = match.Value; match = match.NextMatch().NextMatch().NextMatch(); if (match.Success) { number.QidOut = match.Value; } } lNumbers.Add(number); } } recursing(lNumbers); } } }