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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2015, 14:29   #11
geb2010
Пользователь
 
Регистрация: 15.10.2012
Сообщений: 25
По умолчанию

Каким образом можно перегнать данные без визуальных компонентов?

в примере 80000, а может быть до 200000

Последний раз редактировалось Stilet; 20.01.2015 в 14:32.
geb2010 вне форума Ответить с цитированием
Старый 20.01.2015, 14:35   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Каким образом можно перегнать данные без визуальных компонентов?
Что такое визуальные компоненты ты знаешь? Label, Memo и т.д.
короче говоря создавай переменку типа Array of тип поля. Сразу через SetLength() задавай ей размерность до цикла, и в цикле переписывай в массив данные. В цикле не должно быть никакого вывода на экран.
Однако выигрыш в скорости будет невелик, поэтому так никто не делает, а если и делают, то такие программы становятся сущим адом для пользователей.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.01.2015, 14:52   #13
geb2010
Пользователь
 
Регистрация: 15.10.2012
Сообщений: 25
По умолчанию

Если не использовать ADOTable, то как обратиться к файлу, в котором данные в формате *.DBF, чтобы читать в ARRAY? У меня на экран при чтении ничего и не выводится.

Последний раз редактировалось geb2010; 20.01.2015 в 14:56.
geb2010 вне форума Ответить с цитированием
Старый 20.01.2015, 15:04   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
чтобы читать в ARRAY?
Пффф...
Давай ты всетки обьяснишь зачем тебе читать в массив. Иначе мне просто нечего сказать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.01.2015, 15:16   #15
geb2010
Пользователь
 
Регистрация: 15.10.2012
Сообщений: 25
По умолчанию

В массив читать для того , чтобы потом строить графики, сравнивать их с другими графиками в одном масштабе, проводить анализ и так далее... Много чего все не опишешь, что начальство придумает. В этом файле содержаться данные технологического процесса от разных датчиков за один месяц.

Последний раз редактировалось geb2010; 20.01.2015 в 15:20.
geb2010 вне форума Ответить с цитированием
Старый 20.01.2015, 15:33   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Мда... Тогда ответ один - скорости высокой не ожидай.
Все что ты описал делается без каких либо дополнительных массивов, но судя по всему ты пойдешь своим путем - массивным, поэтому делай как уже у тебя готово и не парься.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.01.2015, 15:57   #17
geb2010
Пользователь
 
Регистрация: 15.10.2012
Сообщений: 25
По умолчанию

Ну почему, предложи свой путь решения, я буду очень тебе признателен
geb2010 вне форума Ответить с цитированием
Старый 20.01.2015, 16:01   #18
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Чтобы предложить путь нужно знать ТЗ.
когда я обрабатывал данные снятые датчиком с обточки колесной пары (а это порядка миллиона точек) я не делал никаких циклов и по четко поставленному заданию использовал СУБД, которая сама аналитику и высчитывала.
Ты подробности опиши как можно подробнее. Что. Зачем. Когда. Откуда и куда. Ничего же не известно кроме того что у тебя есть DBF ник, откуда ты что-то хочешь получить. Для чего и почему остается только догадываться.
По факту при надлежащих индексах СУБД одним запросом может дать тебе нужный результат, а ты циклы решил городить для перемещения данных.
Запросами надо решать эту проблему, или писать свой компонент, который из DBF сумеет сразу весь файл считать в память.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.01.2015, 16:20   #19
geb2010
Пользователь
 
Регистрация: 15.10.2012
Сообщений: 25
По умолчанию

На оборудовании стоят датчики, которые опрашиваются контролером, с которого данные передаются на компьютер и программа записывает их в DBF файлы.
Все это сделано сторонней организацией, ни какой документации на оборудование нет, кроме как посмотреть текущие графики в программе на компе. Одновременный просмотр за несколько месяцев программа не позволяет и тем более провести анализ. Поэтому и возникла необходимость написать свою программу, которая позволяла все это сделать. Построение графиков и анализ уже написаны и все работает, но загрузка файлов в программу медленная и в основном из-за функции ADOTable.Next, наверно эта функция не просто увеличивает индекс, а производит поиск с начала файла. Думаю так потому, что в начале идет быстрое считывание (примерно тысяч до 10) , а потом все медленнее и последние записи (при 200000) считываются где-то за 5-10 секунд. Думал, что есть способ как-то иначе считывать данные файла в массив, поэтому и написал в форум.
Эти файлы не принадлежат одной СУБД, просто отдельные файлы.
geb2010 вне форума Ответить с цитированием
Старый 20.01.2015, 16:29   #20
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
наверно эта функция не просто увеличивает индекс, а производит поиск с начала файла.
Ошибаешься.
Цитата:
Эти файлы не принадлежат одной СУБД, просто отдельные файлы.
А они и не должны кому-то принадлежать.
Однако мы на заводе такие вещи решали с помошью FoxPro, который и был выбран в качестве СУБД для обработки DBF файлов.
Создавались индексы для ускорения работы (например нахождения точек для стачивания), а потом запросом за миллисекунду подбирались данные.
Никакого цикла тут не надо, тебе нужно все делать запросами.
В винде кстати есть провайдер для работы с DBF через Query.
Опять таки описанная тобой информация вообще ни о чем не говорит что нужно делать с данными. Поэтому и ответ такой.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ADOTable связи MrMorozko БД в Delphi 1 04.05.2011 09:36
Вопрос по ADOTable Sanakan Помощь студентам 1 28.03.2010 12:35
AdoTable Artruman БД в Delphi 4 03.04.2009 02:07
AdoTable Mishina БД в Delphi 2 15.06.2008 06:35
Как копировать данные из ADOTable в ADOTable? mauar БД в Delphi 1 10.05.2008 16:05