|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.09.2011, 22:35 | #1 |
Форумчанин
Регистрация: 15.12.2010
Сообщений: 181
|
паскаль. Записи. Файлы.
Запрограммировать записную книжку.Поля:Имя,Фамилия, номер телефона. Организовать запись данных, удаление данных, поиск по фамилии, поиск номеру телефону.
Не могу организовать удаление. Сделал так что должно удалять с найденного элемента и до конца файла, но даже это не работает. Помогите идеями как сделать так что бы удалить только один элемент. Вот то что я сделал: Код:
|
12.09.2011, 23:06 | #2 |
Форумчанин
Регистрация: 08.01.2011
Сообщений: 226
|
разбираться лень, но то, что сходу увиделось - не закрываешь файл closefile(fBook) в процедуре удаления - изменения не сохраняются не диске.
|
13.09.2011, 00:19 | #3 |
Форумчанин
Регистрация: 15.12.2010
Сообщений: 181
|
Ну и на этом спасибо. Еще один момент! Если удалять последний элемент то он удаляется, а при удалении какого-то другого, не удаляется ничего.
|
13.09.2011, 00:42 | #4 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 388
|
У вас после нахождения удаляемого элемента, усекается файл на одну запись с конца. Необходимо "подтянуть" все последующие записи на одну позицию к началу или на место удаляемой записи - записать последнюю из файла, после чего усечь его длину
Код:
на неконкретные вопросы даю неконкретные ответы ...
Последний раз редактировалось Step_UA; 13.09.2011 в 01:23. |
13.09.2011, 08:41 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Step_UA, +1
Антон Лысенко, для общего развития рекомендую ознакомиться с темой: как удалить значение в типизированных файлах ну и отдельно ещё можно посмотреть эти два моих поста ТУТ и ТУТ. (правда, они повторяются, там все об одном и том же... ) |
13.09.2011, 10:22 | #6 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,883
|
В теле программы Меню рисуется только 1 раз, потом цикл чтения действий, после того как экран забьется разной инфой, вспомнить какой пункт меню какую команду выполняет - нельзя (на винХР правда можно будет промотать вверх), поставьте REPEAT выше (после Assign ) и будет меню каждый раз записываться (обычно большинство таких программ так и устроено)
Ещё в конце можно убрать "else" "readln;", ну и "5 :;" заодно - они лишние |
13.09.2011, 16:27 | #7 |
Форумчанин
Регистрация: 15.12.2010
Сообщений: 181
|
Учёл все замечания и сел за работу. Большое спасибо за помощь!)
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Паскаль. Файлы и записи | Xeon332 | Помощь студентам | 0 | 10.12.2010 19:03 |
Записи и файлы | locdoc | Помощь студентам | 3 | 05.12.2010 16:03 |
записи и файлы [Паскаль] | Narim | Помощь студентам | 0 | 04.12.2010 13:51 |
Файлы и записи | dusya9992 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 18.07.2010 13:29 |
Паскаль. Записи, Файлы. | B_A_N_D_E_R_A | Помощь студентам | 1 | 02.06.2009 16:53 |