Запись в конец строки ? |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
Запись в конец строки ? |
unic |
10.03.2011 16:37
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 13 Пол: Мужской Репутация: -4 |
//
Сообщение отредактировано: unic - 11.03.2011 0:51 -------------------- |
Lapp |
10.03.2011 19:07
Сообщение
#2
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
никак не соображу каким образом можно записать в конец строки (текстового файла) . Задачка простая , считать-посчитать , но вот добавить в конец строки смутило. формат файла : <букофки> <букофки> <циферки> <сюда записать> Давай уточним. Ты имеешь текстовый файл, содержащий некоторое количество строк, и хочешь добавить фрагмент в конец некоторой строки (не обязательно последней)? Если так, то тебе придется перезаписать весь остаток файла, начиная с той строки, которую ты редактируешь. При этом возникнет проблема: если бы будешь писать в тот же файл, то ты будешь затирать то, что еще не прочитал. Поэтому ты либо прочти весь файл в какой-то буфер, либо (на практике лучше) пиши новый файл с другим названием (временный), а по окончании процесса сотри старый файл и переименуй новый. Например, тебе надо в 10-ю строку дописать 'asdf'. Это можно сделать как-то так: fn:= 'myfile.txt'; -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
unic |
10.03.2011 22:09
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 13 Пол: Мужской Репутация: -4 |
//
Сообщение отредактировано: unic - 11.03.2011 0:51 -------------------- |
Lapp |
10.03.2011 22:49
Сообщение
#4
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
выбрал другой путь - через массив типа string Можно и через массив (особенно, если массив динамический). Проблема только в том, что в общем случае файлы могут быть и больше имеющегося объема памяти.Цитата но когда файл прочитывается до конца , вылетает ошибка Я не настолько хорошо (а точнее, совсем не) знаком с PascalABC, чтоб указывать на ошибку.. Но в нормальных компиляторах все же требуется сначала выделить память под массив (SetLength), а потом уже им пользоваться. Если этого не сделать, то произойдет выход за границы массива и порча памяти, которая может привести к любым ошибкам - в частности, как то, что ты получаешь.собстно почему она возникает ? Вроде условия прописаны .. Но я не очень удивлюсь, если в PascalABC введена возможность автоматической аллокации, как в PHP типа. Уж уродовать язык, так уродовать до конца.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
volvo |
10.03.2011 23:04
Сообщение
#5
|
Гость |
Цитата собстно почему она возникает ? Потому что until c='#13'; и until c=#13; - это очень разные вещи... Ну, и не забывай, конечно, память под T выделять, а то ошибка будет другая... |
unic |
10.03.2011 23:31
Сообщение
#6
|
Новичок Группа: Пользователи Сообщений: 13 Пол: Мужской Репутация: -4 |
Всем огромное спасибо , нашел проблемы .
1) используя функцию setlength , я брал переменную i:=2 , тк отсчет в массивах начинается с 0 , получался массив размером 1 , эту же переменную использовал и при записи данных t[i] , те записывал во вторую ячейку , которой не существовало . 2) Избавился от while not eof(f) , оставив только repeat until eof(f); и еще раз спасибо что нашли время для ответов на мои глупые вопросы . Рабочая версия :
Текстовый файл: Цитата Вася Васильев 33 55 22 Иван иванов 67 22 88 Петр Петров 11 13 66 Сообщение отредактировано: unic - 11.03.2011 0:40 -------------------- |
Вячеслав Л. |
11.03.2011 12:43
Сообщение
#7
|
Бывалый Группа: Пользователи Сообщений: 227 Пол: Мужской Реальное имя: Вячеслав Репутация: 3 |
Надо ужимать время редактирования. Сколько можно читать ответы, не зная вопросов?
-------------------- Само знание есть сила
|
Lapp |
11.03.2011 16:07
Сообщение
#8
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Надо ужимать время редактирования. Сколько можно читать ответы, не зная вопросов? Уже ужато до полутора суток (если я правильно помню). Можно и больше ужать, но полицейские методы не всегда самые эффективные. Именно по этой причине я в последнее время стараюсь включать полную цитату в ответ (в этой теме она тоже есть). Совет: если тебе не нравятся действия пользователя - у тебя всегда есть право понизить ему репутацию. Не надо перекладывать это на админов. И не надо говорить, что это неэффективно. Это не менее эффективно, чем твой голос при выборе президента . Просьба: красить сообщения, не относящиеся к собственно теме, в серый цвет. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Вячеслав Л. |
12.03.2011 14:54
Сообщение
#9
|
Бывалый Группа: Пользователи Сообщений: 227 Пол: Мужской Реальное имя: Вячеслав Репутация: 3 |
Цитата если тебе не нравятся действия пользователя - у тебя всегда есть право понизить ему репутацию Хорошо. Я только боюсь, что unic все равно своего добился: содержимое его сообщений никто не увидит. А то, что он имеет репутацию 0, -1 или -10, ему наплевать на это, так что, боюсь, без "полицейских" мер все равно не обойтись.Цитата Это не менее эффективно, чем твой голос при выборе президента Такового не имею -------------------- Само знание есть сила
|
Unconnected |
12.03.2011 16:14
Сообщение
#10
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Можно отвечать только через сутки каждый раз) Вообще, не пойму, что за вредительство - боится, что одногруппники эту тему нагуглят? Даже если и так, то пусть лучше нагуглят, чем такое западло делать тем, кто ему помог
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
unic |
12.03.2011 16:29
Сообщение
#11
|
Новичок Группа: Пользователи Сообщений: 13 Пол: Мужской Репутация: -4 |
Удалил лишь по тому что считал свой вопрос уж больно глупым для данного форума . Да и в принципе задание я выполнил , код отписал здесь +текст файла+задание в заголовке, 2 раза поблагодарил людей которые выручили , собстно что еще требуется от меня ? Да и в чем вопрос , у вас IPB стоит , по-моему в два клика можно восстановить сообщение (покрайней мере в VB была такая функция) . А вот оскорблять - это вы уже граждане сами некрасиво поступаете
Сообщение отредактировано: unic - 12.03.2011 16:32 -------------------- |
Вячеслав Л. |
12.03.2011 17:06
Сообщение
#12
|
Бывалый Группа: Пользователи Сообщений: 227 Пол: Мужской Реальное имя: Вячеслав Репутация: 3 |
Цитата Удалил лишь по тому что считал свой вопрос уж больно глупым для данного форума Подумай, что произойдет с форумом, если каждый, кто посчитает свой вопрос глупым, удалит его?Цитата Да и в принципе задание я выполнил , код отписал здесь +текст файла+задание в заголовке, 2 раза поблагодарил людей которые выручили , собстно что еще требуется от меня ? Сдал сам, подумай о других. У кого-то будет такой же вопрос и человек сможет найти его через поисковик или через поиск по форуму. Возможно такое? Ты лишаешь людей этой возможности.Цитата Да и в чем вопрос , у вас IPB стоит , по-моему в два клика можно восстановить сообщение (покрайней мере в VB была такая функция) Зачем лишний раз дергать администратора, если можно просто оставить как было?Цитата А вот оскорблять - это вы уже граждане сами некрасиво поступаете +1 Unconnected, ты не прав.Может, отделить последние сообщения? -------------------- Само знание есть сила
|
Unconnected |
12.03.2011 17:19
Сообщение
#13
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Цитата Удалил лишь по тому что считал свой вопрос уж больно глупым для данного форума . Я считаю, это вранье. Ничего правдоподобнее придумать не мог? После разговора в теме ему вдруг внезапно показалось, что для ДАННОГО форума вопрос слишком глуп! Не захотел портить ветку глупыми вопросами, и всё стер.. не, надо было перенести на более "глупый" форум. -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
unic |
12.03.2011 19:41
Сообщение
#14
|
Новичок Группа: Пользователи Сообщений: 13 Пол: Мужской Репутация: -4 |
я здесь регистрировался только чтобы задать вопрос , мне как то с высокой колокольни на репутацию и на ваши слова , которые я сейчас расцениваю , как попытку устроить холивар на пустом месте . разговор закончен , нарушил правила форума - бан , в противном случае понижение репутации . Так зачем же организовывать бессмысленную болтовню , если мне и так понятно что на данном форуме не приветствуется удаление своих же постов ?! Не понимаю..
Сообщение отредактировано: unic - 12.03.2011 20:32 -------------------- |
Вячеслав Л. |
13.03.2011 15:59
Сообщение
#15
|
Бывалый Группа: Пользователи Сообщений: 227 Пол: Мужской Реальное имя: Вячеслав Репутация: 3 |
Цитата Так зачем же организовывать бессмысленную болтовню , если мне и так понятно что на данном форуме не приветствуется удаление своих же постов ?! К чему тогда был этот пост? Нельзя было просто извиниться? Надо было придумать причину: ... Удалил лишь по тому что считал свой вопрос уж больно глупым для данного форума ...?Цитата как попытку устроить холивар на пустом месте Ну, нам заняться нечем Цитата нарушил правила форума - бан Бан - крайняя мера, полностью согласен с администрацией. Если банить за каждое нарушение...-------------------- Само знание есть сила
|
Текстовая версия | 15.01.2025 5:38 |