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

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

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

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





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

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


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

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


Гость






Цитата
вопрос - как организовать прямой доступ к этому файлу?
Ответ: Открыть файл Reset-ом и переместиться к нужной компоненте через Seek. Ключевые слова у тебя уже есть, теперь можно идти в поиск, уж о чем-о чем, а о файлах тем было немерено. Ищи и пробуй. Что не получится - спрашивай...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





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

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


Цитата(volvo @ 7.06.2010 20:02) *

Ответ: Открыть файл Reset-ом и переместиться к нужной компоненте через Seek.


то что seek это понятно...откуда мне узнать на какой из компанет нужная информация находится?
в общих чертах:
выводится на экран информация о магазинах, а фамилия директора берётся из справочного файла(типизированный файл с прямым доступом)
в эту процедуру поиска фамиилии забирается код магазина и вот по этому коду нужно найти фамилию.

Или мне нужно создать цикл где seek(...,i) и он рано или поздно придёт на нужное...так?

Добавлено через 13 мин.
Function FindFIO(a:integer):string;
var x: ...;(тот же тип что и file)
begin
reset(file)
read(file,x)
for i:=0 to filesize(file) do
begin
seek(file,i);
if x.kod=a then FindFIO:=x.fio {kod - код магазина, fio ФИО директора}
end;
end;


так чтоли?



М
Тэги!!
Lapp

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


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Цитата(xproo100x @ 7.06.2010 20:20) *
то что seek это понятно...откуда мне узнать на какой из компанет нужная информация находится?
Искусство подменять первоначальный вопрос совсем другим.. norespect.gif На твой вопрос тебе был дан точный и исчерпывающий ответ.

Цитата(xproo100x @ 7.06.2010 20:20) *
так чтоли?
А где у тебя чтение? Оператор seek ничего не читает, он только позиционирут указатель на запись с данным номером. И, как уже сказал Client, если поиск идет подряд, то незачем использовать seek.

function FindFIO(code: integer): string;
var
x: tx;
f: file of tx;
begin
FindFIO:='';
Assign(f,'db.dat');
Reset(f);
while not EoF do begin
Read(f,x);
with x do if kod=code then begin
FindFIO:=FIO;
break
end
end;
Close(f)
end;


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

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


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 





- Текстовая версия 29.04.2024 17:23
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name