public void save_string(List <Save_message> mes, Save_tag tag, string s) { string simple_tag = tag.get_tag(0); int k = index_of_this_tag(simple_tag, mes); if (k == -1) { k = mes.Count; mes.Add(new Save_message(simple_tag, "")); } if (tag.tags_count() == 1) { mes[k].set_text(s); } else { Save_tag new_tag = new Save_tag(tag.get_tag(1)); for (int i = 2; i < tag.tags_count(); i++) { new_tag.add_tag(tag.get_tag(i)); } List <Save_message> tmp = string_to_save_message_list(mes[k].get_text()); save_string(tmp, new_tag, s); string d = ""; for (int i = 0; i < tmp.Count; i++) { d += tmp[i].full_text(); } mes[k].set_text(d); } }
public string read_save(Save_tag t) { string s = ""; List <Save_message> tmp = cache; for (int i = 0; i < (t.tags_count() - 1); i++) { int k = index_of_this_tag(t.get_tag(i), tmp); if (k != -1) { tmp = string_to_save_message_list(tmp[k].get_text()); } else { tmp = new List <Save_message>(); break; } } int r = index_of_this_tag(t.get_tag(t.tags_count() - 1), tmp); if (r != -1) { s = tmp[r].get_text(); } return(s); }