![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 15.10.2012
Сообщений: 25
|
![]()
Каким образом можно перегнать данные без визуальных компонентов?
в примере 80000, а может быть до 200000 Последний раз редактировалось Stilet; 20.01.2015 в 14:32. |
![]() |
![]() |
![]() |
#12 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
короче говоря создавай переменку типа Array of тип поля. Сразу через SetLength() задавай ей размерность до цикла, и в цикле переписывай в массив данные. В цикле не должно быть никакого вывода на экран. Однако выигрыш в скорости будет невелик, поэтому так никто не делает, а если и делают, то такие программы становятся сущим адом для пользователей.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#13 |
Пользователь
Регистрация: 15.10.2012
Сообщений: 25
|
![]()
Если не использовать ADOTable, то как обратиться к файлу, в котором данные в формате *.DBF, чтобы читать в ARRAY? У меня на экран при чтении ничего и не выводится.
Последний раз редактировалось geb2010; 20.01.2015 в 14:56. |
![]() |
![]() |
![]() |
#14 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Давай ты всетки обьяснишь зачем тебе читать в массив. Иначе мне просто нечего сказать.
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#15 |
Пользователь
Регистрация: 15.10.2012
Сообщений: 25
|
![]()
В массив читать для того , чтобы потом строить графики, сравнивать их с другими графиками в одном масштабе, проводить анализ и так далее... Много чего все не опишешь, что начальство придумает. В этом файле содержаться данные технологического процесса от разных датчиков за один месяц.
Последний раз редактировалось geb2010; 20.01.2015 в 15:20. |
![]() |
![]() |
![]() |
#16 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Мда... Тогда ответ один - скорости высокой не ожидай.
Все что ты описал делается без каких либо дополнительных массивов, но судя по всему ты пойдешь своим путем - массивным, поэтому делай как уже у тебя готово и не парься.
I'm learning to live...
|
![]() |
![]() |
![]() |
#17 |
Пользователь
Регистрация: 15.10.2012
Сообщений: 25
|
![]()
Ну почему, предложи свой путь решения, я буду очень тебе признателен
|
![]() |
![]() |
![]() |
#18 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Чтобы предложить путь нужно знать ТЗ.
когда я обрабатывал данные снятые датчиком с обточки колесной пары (а это порядка миллиона точек) я не делал никаких циклов и по четко поставленному заданию использовал СУБД, которая сама аналитику и высчитывала. Ты подробности опиши как можно подробнее. Что. Зачем. Когда. Откуда и куда. Ничего же не известно кроме того что у тебя есть DBF ник, откуда ты что-то хочешь получить. Для чего и почему остается только догадываться. По факту при надлежащих индексах СУБД одним запросом может дать тебе нужный результат, а ты циклы решил городить для перемещения данных. Запросами надо решать эту проблему, или писать свой компонент, который из DBF сумеет сразу весь файл считать в память.
I'm learning to live...
|
![]() |
![]() |
![]() |
#19 |
Пользователь
Регистрация: 15.10.2012
Сообщений: 25
|
![]()
На оборудовании стоят датчики, которые опрашиваются контролером, с которого данные передаются на компьютер и программа записывает их в DBF файлы.
Все это сделано сторонней организацией, ни какой документации на оборудование нет, кроме как посмотреть текущие графики в программе на компе. Одновременный просмотр за несколько месяцев программа не позволяет и тем более провести анализ. Поэтому и возникла необходимость написать свою программу, которая позволяла все это сделать. Построение графиков и анализ уже написаны и все работает, но загрузка файлов в программу медленная и в основном из-за функции ADOTable.Next, наверно эта функция не просто увеличивает индекс, а производит поиск с начала файла. Думаю так потому, что в начале идет быстрое считывание (примерно тысяч до 10) , а потом все медленнее и последние записи (при 200000) считываются где-то за 5-10 секунд. Думал, что есть способ как-то иначе считывать данные файла в массив, поэтому и написал в форум. Эти файлы не принадлежат одной СУБД, просто отдельные файлы. |
![]() |
![]() |
![]() |
#20 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
Однако мы на заводе такие вещи решали с помошью FoxPro, который и был выбран в качестве СУБД для обработки DBF файлов. Создавались индексы для ускорения работы (например нахождения точек для стачивания), а потом запросом за миллисекунду подбирались данные. Никакого цикла тут не надо, тебе нужно все делать запросами. В винде кстати есть провайдер для работы с DBF через Query. Опять таки описанная тобой информация вообще ни о чем не говорит что нужно делать с данными. Поэтому и ответ такой.
I'm learning to live...
|
||
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
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 |