IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> вывод записей
*оля*
сообщение 1.06.2010 8:27
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 125
Пол: Женский

Репутация: -  1  +


помогите, пожалуйста, преобразовать процедуру:

 // просмотр записей

procedure VivodRec;
begin
read(TFileOfTFileInfo, info);
With info do
begin
Write('запись номер ', FilePos(TFileOfTFileInfo), ' ');
writeln( name,' -- ', fio,' -- ', CreationDate);
end;
end;
//****************************************************
procedure VivodAllRecord;
begin
writeln('введите имя каталога');
read(Name);
if not ( FileExists(name)) then
while not ( FileExists(name)) do begin
writeln(' каталог с таким именем не существует. введите имя заново!');
readln(name);
end;
Assign(TFileOfTFileInfo,Name);
Reset(TFileOfTFileInfo);
Seek(TFileOfTFileInfo, 0);
writeln('*** каталог', name, '***');
while (not Eof(TFileOfTFileInfo)) do
VivodRec;
close(TFileOfTFileInfo);
end;

.


в этой процедуре выводятся сразу все записи, а как сделать, чтобы они выводились,допустим, первая 10ка, при нажатии клавиши - следующая 10ка, а если записей больше нет, то при нажатии клавиши снова возвращались к первой десятке?

Сообщение отредактировано: *оля* - 1.06.2010 8:29
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 1.06.2010 21:26
Сообщение #2


Гость






Чтобы удалить с сохранением порядка следования других записей - надо последовательно начиная с Rn+1 (где n - удаляемая запись) вручную передвигать все записи на одну "назад" (ближе к началу файла), а потом, когда будет последняя запись перемещена на место предпоследней - "отрезать" одну запись через Truncate... По-моему на форуме были примеры удаления записей из середины файла...

P.S. Например, здесь: Record
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.07.2025 9:41
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"