private void GetQuery(string Query, ITweet[] Tweet, QueryCategory A, ref bool[] N, Tags tag) { int k; int l; int y; y = 0; for (int j = 0; j < jumlahtweetygdidapat; j++) { string queryX = Query; string querySearch; bool queryBool = false; k = 0; l = 0; int X = -1; List <int> q = new List <int>(); List <int> ql = new List <int>(); if (queryX != null) { string thequery = ""; while (k < queryX.Length) { bool qfound = false; while (queryX[k] == ' ' && k < queryX.Length) { k++; } int x = k; while (!qfound && k < queryX.Length) { if (queryX[k] == ',') { qfound = true; } k++; } if (qfound) { querySearch = queryX.Substring(x, k - x - 1); } else { querySearch = queryX.Substring(x, k - x); } if (tag.isKMP) { X = KMP.solve(Tweet[j].Text, querySearch); } else { X = Booyer.solve(Tweet[j].Text, querySearch); } thequery = querySearch; q.Add(X); ql.Add(querySearch.Length); if (X != -1) { queryBool = true; } l++; } if (queryBool) { N[j] = true; HasilTweet Ax = new HasilTweet(); foreach (int value in q) { Ax.StartMark.Add(value); } foreach (int value in ql) { Ax.QueryLength.Add(value); } Ax.TweetContent = Tweet[j]; A.Tweet.Add(Ax); A.num++; Ax.result = Ax.TweetContent.Text; foreach (int pos in Ax.StartMark) { if (pos != -1) { int i = Ax.StartMark.IndexOf(pos); string n = Ax.result.Substring(pos, Ax.QueryLength.ElementAt(i)); Ax.result = Ax.result.Replace(n, "<strong>" + n + "</strong>"); } } } } } }