Witam,
VS2010Pro. W pliku plik.rtf podmieniam w wielu miejscach teksty. I działa ok.
Ale aby skrócić czas przetwarzania chciałem zastosować zmienną logiczną b1, dzięki czemu po dokonaniu zmiany w kolejnych liniach pliku dana zmienna nie będzie już szukana i czas miał się skrócić.
Problem jest ważny, bo jeśli rtf ma 1000 linii i przy podmianie jednego tekstu zajmuje 0,5 sekundy to przy np 100 podmianach czas może wynieść 50 sekund, a to już jest MASAKRA dla czekającego na wygenerowanie pliku.
Niestety po dopisaniu instrukcji
b1 = false;
w ogóle nie wykonuje się zmiana tekstu dla zmienna_1.
Dlaczego i jak to zmienić?
bool b1 = true;
StringBuilder strBui = new StringBuilder();
using (StreamReader sr = new StreamReader(plikRtf)
{
string line = "";
while ((line = sr.ReadLine()) != null)
{
strBui.AppendLine(line);
if (b1)
{
strBui.Replace("<ZMIENNA_1>", zmienna_1);
b1 = false; // to podstawienie nie daje efektu
}
strBui.Replace("<ZMIENNA_2>", zmienna_2);
strBui.Replace("<ZMIENNA_3>", zmienna_3);
strBui.Replace("<ZMIENNA_4>", zmienna_4);
}
}
Bardzo proszę o pomoc, szacun dla wszystkich i oczywiście pozdrowienia dla somekinda i ktosia.:-)
mm