Здравствуйте.
а именно выбрать определенную строку и переписать ее
В текстовом файле так сделать не получится. Если текстовый файл не очень большой, то можно загрузить его
в список TM_StringList, изменить нужную строку и затем сохранить список обратно в файл, например:
Создаем скрипт с типом "
Глобальный модуль":
interface
var
myList: TM_StringList; // объявляем список с именем myList
implementation
initialization // во время запуска проекта
myList := TM_StringList.Create; // создаём список
finalization // во время выключения проекта
FreeAndNil(myList); // !!! обязательно удаляем список
end.
Далее, в нужном скрипте используем список:
begin
myList.LoadFromFile('D:\Test.txt', fcpUTF8); // загружаем файл в список
myList[3] := 'Измененная строка'; // изменяем четвертую строку списка
myList.SaveToFile('D:\TestChange.txt', fcpUTF8); // сохряняем список во временный файл
DeleteFile('D:\Test.txt'); // удаляем исходный файл
RenameFile('D:\TestChange.txt', 'D:\Test.txt'); // переименовываем временный файл в исходный
end.
Если текстовый файл большой, то нужно использовать следующий способ:
1. Открыть исходный текстовый файл для чтения.
2. Создать временный текстовый файл для записи.
3. Построчно считывать строки исходного файла. Если считанная строка искомая, то изменить ее содержимое на нужное.
4. Записывать строки во временный файл.
5. Закрыть временный файл.
6. Закрыть исходный файл.
7. Удалить исходный файл.
8. Переименовать временный файл в исходный.