Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.07.2009, 13:40   #21
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

оп-с...
сорри...

Последний раз редактировалось Serge_Bliznykov; 25.07.2009 в 13:41. Причина: пока писал пример умные люди уже во всём сами разобрались... :))))
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.07.2009, 15:28   #22
diliana
Форумчанин
 
Аватар для diliana
 
Регистрация: 24.05.2009
Сообщений: 119
По умолчанию

Anatole
puporev

Спасибо большое ребята!
diliana вне форума Ответить с цитированием
Старый 29.07.2009, 18:51   #23
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

Вопрос по теме!!
Как прочитать часть из типизированного файла...
Что бы не грузить весь файл в О\П....а, только одну строку к примеру?
Doholyan вне форума Ответить с цитированием
Старый 29.07.2009, 19:10   #24
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Прочитать строку №5.
Код:
reset(f);
seek(f,4);//номера с ноля
read(f,a);
write(a);
puporev вне форума Ответить с цитированием
Старый 29.07.2009, 20:29   #25
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

[QUOTE=puporev;317154]Прочитать строку №5.
Код:
reset(f);
seek(f,4);//номера с ноля
read(f,a);
write(a);
[/QUOTE


Перемменная (а) к кокому типу должна относиться......не могу подобрать..."26 неверный тип переменной"?
Doholyan вне форума Ответить с цитированием
Старый 29.07.2009, 20:32   #26
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
Как прочитать часть из типизированного файла...
А какого типа файл, такого типа и переменная. Если это числовой , строковый или символьный файл, то вывод будет как написано, а если это например файл записей, или массивов, то вывод нужно писать конкретно для этого типа.
puporev вне форума Ответить с цитированием
Старый 29.07.2009, 20:57   #27
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

Цитата:
Сообщение от puporev Посмотреть сообщение
А какого типа файл, такого типа и переменная. Если это числовой , строковый или символьный файл, то вывод будет как написано, а если это например файл записей, или массивов, то вывод нужно писать конкретно для этого типа.

вот код:
program VVod;
type
MenR=record
Name:string;
Numer:byte;
tel:byte;
Pol:Char;
end;
Men=file of MenR;
var
stroka:menR;
in_f:file of MenR;
a:byte;
begin
assign(in_f,'F:\re');
rewrite(in_f);
write('€¬п '); {имя}
readLn(stroka.name);
write('Ќ®¬Ґа '); {номер}
readLn(stroka.Numer);
write('⥫Ґд®* '); {телефон}
readln(stroka.tel);
write('Џ®« '); {пол}
readLn(stroka.Pol);
write(in_f,stroka);
close(in_f);
reset(in_f);
seek(In_f,3);
read(in_f,a);
writeln(a:25);
readLn;
end.

Последний раз редактировалось Doholyan; 29.07.2009 в 21:00. Причина: Где пробелы? почему изменяеться растояние между строками??????
Doholyan вне форума Ответить с цитированием
Старый 29.07.2009, 21:23   #28
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

f:file of MenR; значит все что записывем в файл и читаем из него должно быть этого типа.
Код:
var a:MenR;
................
reset(in_f);
seek(In_f,3);
read(in_f,a);
writeln(a.Name,' ',a.Numer,' ',a.tel,' ',a.Pol);
puporev вне форума Ответить с цитированием
Старый 29.07.2009, 22:02   #29
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

program VVod;
type
MenR=record
Name:string;
Numer:byte;
tel:byte;
Pol:Char;
end;
Men=file of MenR;


var
stroka:menR;
in_f:file of MenR;
a:menR;


begin
assign(in_f,'F:\re');
rewrite(in_f);
write('name ');
readLn(stroka.name);
write('Numer ');
readLn(stroka.Numer);
write('telefon ');
readln(stroka.tel);
write('pol ');
readLn(stroka.Pol);
write(in_f,stroka);
close(in_f);

reset(in_f);
seek(In_f,1);
read(in_f,a); <-- здесь Ошибка диск читает ошибку100
writeln(a.name,a.numer,a.tel,a.pol) ;

readLn;
end.
Doholyan вне форума Ответить с цитированием
Старый 29.07.2009, 22:18   #30
Daramant
Форумчанин
 
Регистрация: 06.01.2009
Сообщений: 340
По умолчанию

Ошибка здесь:
seek(In_f,1);
Записи нумеруются с 0.
И у тебя всего 1 запись.
Надо:
Код:
reset(in_f);
seek(In_f,0); { индекс 0}
read(in_f,a);
writeln(a.name,a.numer,a.tel,a.pol) ;
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник".
Daramant вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка данных из файла JIK Помощь студентам 4 19.05.2013 12:17
Cортировка типизированного файла по 3м признакам Dremgor Помощь студентам 3 05.06.2009 14:10
загрузка данных из тестового файла gribog БД в Delphi 16 19.07.2007 15:06