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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2015, 23:38   #1
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию Динамическая структура записи массива записей...:D

Привет! Ребят, в общем у меня есть задача, написать программу для хранения и поиска информации о клиентах, критерии поиска описаны в пользовательском типе (других, кроме текстовых файлов не знаю) (не обязательно там, главное решить задачу, это моя курсовая)

Код:

type
  zap=record
  kod_klienta:Integer; //код клиента
  names:string[50];    //имя клиента
  zapis:array[0..999] of string[255]; //динамическая структура поискового //запроса
  end;

var
  f:file of zap;
  w:zap;
Вот как раз zapis и должна заполнятся, заполняю из Tedit по кнопке,

в общем на скрине 1 и 2 разница видна, столб2 и столб3-это элементы массива zapis[0],zapis[1];

вопрос, как организовать поиск и заполнение по этим динамическим структурам, lenght(zapis)-возвратит 999?, т.к. массив не динамический
Изображения
Тип файла: png пр1.png (39.9 Кб, 40 просмотров)
Тип файла: jpg пр2.jpg (16.1 Кб, 114 просмотров)
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 07.01.2015, 22:58   #2
NIKOLAYY2
Форумчанин
 
Регистрация: 23.12.2014
Сообщений: 220
По умолчанию

Ну а сама суть проблемы в чем? По кнопке "Добавить критерий" запись в таблицу сделать (что это у тебя там StringGrid я понял?) сохранить таблицу или поиск по нужным столбцам или колонкам организовать?
NIKOLAYY2 вне форума Ответить с цитированием
Старый 07.01.2015, 23:15   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Что мешает в той записи хранить к-во использованных элементов массива? А вообще структура будь здоров в части array[0..999] of string[255]. Это что, на полном серьёзе?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.01.2015, 12:28   #4
NIKOLAYY2
Форумчанин
 
Регистрация: 23.12.2014
Сообщений: 220
По умолчанию

Аватар А зачем он написал?
Код:
 zapis:array[0..999] of string[255];
Можно было бы и просто:
Код:
zapis:array[0..999] of string;
Или он память экономит?
NIKOLAYY2 вне форума Ответить с цитированием
Старый 08.01.2015, 12:33   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Видимо типизированный файл предполагается, а там просто String не получится. А ТС предложил бы с простейшей СУБД работать, а если уж типизированный файл, то их два, во втором эти самые пресловутые поисковые запросы с идешкой клиента и не в виде массива, а каждый в отдельной записи. Кстати, а что это - поисковый запрос?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.01.2015, 17:07   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Аватар
Видимо типизированный файл предполагается
не предполагается, а именно используется:
Цитата:
Код:
var
  f:file of zap;
поэтому,
Цитата:
Можно было бы и просто:
Код:
zapis:array[0..999] of string;
нельзя (в Delphi тип String - это указатель на область памяти, поэтому его нельзя использовать для типизированного файла, будет ошибка при компиляции.

Алексей_2012, а вообще, выделение памяти в файле под ТЫСЯЧУ строк явно говорит о том, что структуру Вы продумали плохо. Даже если в поле запись Вам ничего не надо записывать, в файле эта часть структуры займёт 250 кб (255000 байт).
Не сильно расточительно?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.01.2015, 17:53   #7
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

Цитата:
Сообщение от Алексей_2012 Посмотреть сообщение
как организовать поиск и заполнение по этим динамическим структурам, lenght(zapis)-возвратит 999?, т.к. массив не динамический
Ведь сам же и отвечаешь на свой вопрос:
"как организовать поиск и заполнение по этим динамическим структурам"
а "массив не динамический"

Что мешает сделать его динамическим?
И записывать zap по частям:
сохраняешь kod_klienta
сохраняешь names
сохраняешь N (кол-во строк)
сохраняешь zapis[0]
сохраняешь zapis[1]
сохраняешь zapis[..]
сохраняешь zapis[N-1]

При этом можно использовать простой текстовый файл

Добавлено ----------------------------------------------------------------------------------------------------------------------------------------------------
Ну а если уж отвечать в лоб
Цитата:
как организовать поиск и заполнение по этим динамическим структурам
то добавь к zap поле Count: Word
Если честно, на трояк с минусом сгодится

Последний раз редактировалось Sibedir; 08.01.2015 в 18:38.
Sibedir вне форума Ответить с цитированием
Старый 08.01.2015, 18:32   #8
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Вы делаете базу данных?
Так вперед, раздел "Delphi и базы данных" в книге Флёнова "Библия Delphi".
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическая структура JoberLord Общие вопросы C/C++ 2 25.05.2013 09:28
динамическая структура Тимурка Помощь студентам 0 20.04.2011 17:37
Динамическая структура. triasoft Фриланс 5 02.06.2010 01:47
Динамическая структура Nitriyc Помощь студентам 0 18.12.2009 17:51
динамическая структура o4arova6ka90 Помощь студентам 0 17.10.2009 14:05