| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Запись, чтение, поиск строки... Часть 2. |
| Автор: V.Turecky 19.8.2002, 22:15 | ||
Добрый день. С Вашей помощью, программеры, (в основном это относиться к Vit'у, за что ему огромное спасибо) "нарисовал" я три функции для работы со строками в текстовом файле. Вот они... У меня такой вопрос: как можно сделать так, чтобы функция записи строки записывала строку в конец текста, то есть записывала строку самой последней. И чтение происходило по всему файлу для поиска нужной нам строки. То же должно происходить и с удаление. В моем же выполнении все функции работают с нулевой, то есть с самой первой строкой.
|
| Автор: V.Turecky 20.8.2002, 00:56 |
| 1. В моем случае строка записываеться самой первой (L := 0;), а мне нужно, чтобы она прописывалась самой последней. //Запись строки в файл var Line: TStringList; L: integer; ..... L := 0; if not L = Line.IndexOf(Str) then Line.Insert(L,Str); Line.SaveToFile(FileName); 2. При поиске ищеться тоже первая строка (L:=0;). Как реализовать поиск строки по всему файлу. var Line: TStringList; L: integer; ......... L:=0; if L = Line.IndexOf(Str) then Form1.CheckBox1.Checked := True else Form1.CheckBox1.Checked := False; 3. При удаление тоже ищеться первая строка (L := 0;) и она же удаляеться. Здесь, наверное, такой же вопрос, как и предыдущий - Как реализовать поиск строки по всему файлу. var Line: TStringList; L: integer; ......... L := 0; if L = Line.IndexOf(Str) then Line.Delete(L); Line.SaveToFile(FileName); |
| Автор: Vit 20.8.2002, 02:43 | ||||||||
если через файл открытый как текст то: AssignFile(f, myfilename); Append(f); writeln(f, MyString); CloseFile(f); Если открыт через поток и TStingList то MyStringList.loadfromfile(MyFileName); MyStringList.add(Mystring); MyStringList.savetofile(MyFileName);
По моему уже отвечали на этот вопрос и здесь и на sources.ru
Метод TStrings - Delete
Обращение к любой строке: если t:TStringList то t[10] - это 11 строка методы Delete и Insert требуют номера строки - вставляешь туда номер и идёт вставка/удалени строк, а если надо исправить конкретную строку, то для изменения например 11й строки используешь "t[10]" - работаешь с ней как с обычной строкой. |