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 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
*оля*
сообщение 1.06.2010 21:01
Сообщение #2


Пионер
**

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

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


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

 Procedure AddRecord;
begin
Writeln('запись номер: ',FilePos(TFileOfTFileInfo)+1);
with Struct do
begin
Write('введите имя файла с программой ');
Readln(Name);
if not ( FileExists(name)) then
while not ( FileExists(name)) do begin
writeln(' Файл не существует. введите имя заново!');
readln(name);
end;
Write('введите дату (образец: 22.05.10) ');
Readln(CreationDate);
Write ('введите фамилию автора ');
ReadLn( Fio);
end;
Write(TFileOfTFileInfo,struct);
end;

// создание нового каталога ************************************

Procedure CreateRecordFile;
var
i,count:integer;
begin
Write('создание нового каталога! введите название ');
Readln(NameFile);
namefile:=namefile + '.txt';
Assign(TFileOfTFileInfo,NameFile);
Rewrite(TFileOfTFileInfo);
Writeln('File created: ',NameFile);
Write('введите количество записей ');
Readln(count);
for i:=1 to count do
AddRecord;
Writeln('записано!');
Close(TFileOfTFileInfo);
clrscr;
end;

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



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