|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.06.2010, 12:27 | #1 |
Регистрация: 15.06.2010
Сообщений: 7
|
Запись в конкретную строку, позицию....
Возможно, глупый вопрос, но как переписать в текстовом файле конкретную строку ???? То есть, нажимаем кнопку и в 5 строке вместо 0 появилась 1...
|
15.06.2010, 12:45 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
хм...
Два варианта: 1) Считать весь файл в память (в массив строк например) изменить в нем некий элемент, и опять записать этот массив в тот же файл, очистив его 2) Переписать в другой файл, а потом старый подменить новым.
I'm learning to live...
|
15.06.2010, 13:14 | #3 |
Регистрация: 15.06.2010
Сообщений: 7
|
А на прямую Delphi не умеет конкретную строку переписывать ????
|
15.06.2010, 13:19 | #4 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Что значит напрямую?
I'm learning to live...
|
15.06.2010, 15:45 | #5 |
Delphi, OpenGL API
Форумчанин
Регистрация: 29.03.2010
Сообщений: 152
|
Возможно вот так:
Код:
Последний раз редактировалось Miha85193; 16.06.2010 в 00:11. |
15.06.2010, 15:52 | #6 |
Форумчанин
Регистрация: 12.05.2010
Сообщений: 219
|
если верить этой ссылке
http://www.kurslab.ru/sprav_filepos.html "напрямую" сделать это с текстовым файлом нельзя. А вот с типизированным вроде как можно. У вас именно текстовый или вам принципиально все равно? |
15.06.2010, 16:03 | #7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
DasModelka, вы знаете что файлы хранятся как бинарные?(вообще нет такого понятия как текстовый файл(я в плане хранения данных))
и при записи в опред позицию, будет переписаны данные те что были по данному указателю(файловому), а если то что пишете еще и длинее чем то что было на этой строке, то перезапишет и следующую строку. так что думайте, дело не в Делфи, а в том что вы не знаете как ведется работа с файлами, ОС за вас все делать не должна(учитывая что ОС не знает как вы открываете файл...как текстовый...или типизированный...или нетипизированный). вам предложили варианты. Snejnaya, с типизированным можно, так как один элемент типизированного файла занимает строго N байт. то при перезаписи элемента ничего другого не собьется, но чтоб вставить элемент, все равно нужно копировать данные(хотя бы те которые которые идут после вставляемого элемента) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 15.06.2010 в 16:07. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как вставить строку в таблицу excel при этом все остальные сдвинуть на позицию в низ, сохранив их формат. | anchorte | Общие вопросы Delphi | 2 | 06.04.2010 15:31 |
Как вставить диапазон в конкретную строку листа Excel со сдвигом вниз имеющихся? | malor | Microsoft Office Excel | 3 | 17.01.2010 17:48 |
Вставить запись в нужную строку и колонку | Inbox | БД в Delphi | 1 | 19.02.2009 19:50 |
Запись в одну строку | Terran | Общие вопросы Delphi | 2 | 08.05.2008 23:35 |
Вывести конкретную строку из файла | Captain Nemo | Общие вопросы Delphi | 9 | 15.05.2007 03:44 |