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

> Правила раздела!

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

> Простейшая БД, Курсовая
murphy
сообщение 16.11.2005 23:51
Сообщение #1


Пионер
**

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

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


Нужен совет.

Есть типизированый файл записей. Из него надо в память загнать записи (потом их еще сортировать надо будет и тд. ...).

Вопрос:
Как это лучше зделать?

З.Ы.
обычным массивом не хочеться blink.gif


--------------------
collect the infotrons and find Exit
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Romtek
сообщение 17.11.2005 0:34
Сообщение #2


Знаток
****

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

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


Считываешь записи как обычно, а вот динамический массив создать лучше так:
type
TInfo = record
Age: integer; { возраст }
Name: string [20];
end;
Tarr = array[0..0] of TInfo;

Var
Ptr: ^Tarr; {указатель на дин. массив}
Info: TInfo;
Nrec: integer;

...
Nrec := FileSize div SizeOf (TInfo); { узнаём кол-во записей в файле }

GetMem(Ptr, Nrec * SizeOf (TInfo));
...
{
считываем из файла, Ptr^[i] := Info; - считанную запись заносим в память
сортируем
записываем обратно или ещё куда-то
}
...
FreeMem(Ptr, Nrec * SizeOf (TInfo));
...

Как сортировать смотри в Как упорядочить данные по возрастанию?

Сообщение отредактировано: Romtek - 17.11.2005 0:39


--------------------
Romiras HomeLab- материалы и статьи по разработке ПО, моделирование алгоритмов, обработка и анализ информации, нейронные сети, машинное зрение и прочее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 



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