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

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

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

> Типизированный файл с прямым доступом, как организовать прямой доступ в типизированном файле
xproo100x
сообщение 7.06.2010 18:44
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Мужской
Реальное имя: Павел

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


Ребята, очень нужна помощь, искал на сайте не нашёл, киньте ссылку если тема уже была создана ранее или помогите тут!
Суть такова...существует файл(типизированный) в определённом куске программы его нужно вывести на экран, точнее одну запись, вопрос - как организовать прямой доступ к этому файлу?
заранее благодарен!

Сообщение отредактировано: xproo100x - 7.06.2010 18:53
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Client
сообщение 7.06.2010 22:12
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 865
Пол: Мужской
Реальное имя: Вячеслав

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


ну раз надо найти, то придется по очереди перебирать, пока не найдешь. Лучше просто read, без seek
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
xproo100x
сообщение 8.06.2010 12:11
Сообщение #3





Группа: Пользователи
Сообщений: 4
Пол: Мужской
Реальное имя: Павел

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


Цитата(Client @ 7.06.2010 23:12) *

ну раз надо найти, то придется по очереди перебирать, пока не найдешь. Лучше просто read, без seek


просто перебирать это последовательный!а мне нужен прямой...как то через seek...

Добавлено через 8 мин.
Цитата(Lapp @ 8.06.2010 1:15) *


1.Если бы твой файл был упорядочен по кодам, то можно было бы применить дихотомию. Вот тогда seek бы сыграл.

2.P.S.
И не надо использовать зарезервированные слова (file) для названия переменных..


1.Сортировка есть в отдельной процедуре вот код...проблема в том как потом в функции это всё дело находить через seek, очень прошу помочь!


{$R-}
procedure sort;
type
list=array[1..1] of tplus;
MyList=^list;
var i,j,n: integer;
buf: tplus;
fplus: file of tplus;
mas: MyList;
ind: boolean;
begin
assign(fplus,'DOP.DAT');
reset(fplus);
n:=filesize(fplus);
getmem(mas,(n+1)*sizeof(TPlus));
i:=1;
while not eof(fplus) do
begin
read(fplus,mas^[i]);
inc(i);
end;
repeat
ind:=true;
for i:=1 to n-1 do
if mas^[i].kod>mas^[i+1].kod then
begin
buf:=mas^[i];
mas^[i]:=mas^[i+1];
mas^[i+1]:=buf;
ind:=false;
end;
until ind;
close(fplus);
rewrite(fplus);
for i:=1 to n do begin write(fplus,mas^[i]);

end;
close(fplus);
reset(fplus);
freemem(mas,(n+1)*sizeof(TPlus));
end;
{$R+}




2.Учёл, больше не буду

Сообщение отредактировано: xproo100x - 8.06.2010 12:26
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



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