Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / InGrid / 25 сообщений из 33, страница 1 из 2
03.07.2009, 17:33
    #36072785
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
Помоготе плиз!
Использую для инкрементного поиска по гриду класс InGrid, прост в использовании. Но все было ок!, когда записей в таблице было 10-15 тыс, сейчас их 22 тыс. и поиск стал тормозить.
Подскажите как можно модифицировать этот класс, что-бы ускорить поиск.
...
Рейтинг: 0 / 0
03.07.2009, 22:31
    #36073101
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
Глянул мельком. Мне кажетсяв этой модификации класса отключен поиск по индексу (SEEK). По индексу поиск должен быть значительно быстрее. Попробуйте прикрутить SEEK, оригинальный класс лежал в решениях на Foxclub'е.
...
Рейтинг: 0 / 0
06.07.2009, 09:56
    #36074408
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
DagГлянул мельком. Мне кажетсяв этой модификации класса отключен поиск по индексу (SEEK). По индексу поиск должен быть значительно быстрее. Попробуйте прикрутить SEEK, оригинальный класс лежал в решениях на Foxclub'е.
Seek в этом класе не используеться, это я сам пытался, но не знаю как заменить LOCATE cSearchFor $ cSearchIn на SEEK.
...
Рейтинг: 0 / 0
06.07.2009, 10:32
    #36074473
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
Выдрал из работающего приложения. Попробуй разобраться.
...
Рейтинг: 0 / 0
06.07.2009, 10:36
    #36074479
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
Dag,
спасибо попробую
...
Рейтинг: 0 / 0
06.07.2009, 10:55
    #36074528
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
Dag,
требует base.vcx
...
Рейтинг: 0 / 0
06.07.2009, 11:19
    #36074604
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
В базовых классах нет ничего интересного. Просто копия с фокспрошных. Сбрасываю программный код.
...
Рейтинг: 0 / 0
06.07.2009, 11:19
    #36074607
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
...
Рейтинг: 0 / 0
06.07.2009, 12:22
    #36074821
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
Dag,
Все хорошо, но если есть поле ОАО "ЕКЛМН" и я не помню ОАО, ООО, ЗАО, ЧП, я набираю просто ЕКЛМН, поиск уже не производиться, и это есть не хорошо.
...
Рейтинг: 0 / 0
06.07.2009, 15:02
    #36075334
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
Да, есть такой недостаток. В этих случаях у меня есть колонка краткого наименования - ЕКЛМН ОАО.
Если нужен поиск с произвольного места - то теряем скорость. Нет совершенства в этом мире.
...
Рейтинг: 0 / 0
06.07.2009, 15:27
    #36075403
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
Dag,
Спасибо
...
Рейтинг: 0 / 0
07.07.2009, 10:42
    #36076786
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
Нашел в нете для VB такую вещь, помогите пожалуйста переделать под фокс для грида
авторСовет 59. Быстрый поиск строки в Combo Box

Для быстрого поиска нужной строки в списке, в частности в элементе управления Combo Box, можно использовать функцию API SendMessage() (вариант для 16-разрядных приложений), обеспечивающую более эффективное выполнение программы, чем аналогичный код на VB. Для этого можно, например, прибегнуть к процедуре CBFindString:

Declare Function SendMessage Lib "User" _
(ByVal hWnd As Integer, ByVal wMsg As Integer, _
ByVal wParam As Integer, lParam As Any) As Long

Sub CBFindString(ctlEdit As Control, sSearch As String)
Dim lPos As Long
Const CB_FINDSTRING = &H40C
lPos = SendMessage(ctlEdit.hWnd, CB_FINDSTRING, 0, ByVal sSearch)
If lPos >=0 Then ctlEdit.ListIndex = lPos
End Sub
...
Рейтинг: 0 / 0
07.07.2009, 11:01
    #36076857
Sergey Sizov.
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
RickitikiНашел в нете для VB такую вещь, помогите пожалуйста переделать под фокс для гридаЕрундой занимаетесь. Хотите прикрутить собаке пятую ногу. В фоксе в контролах не надо ничего искать. Искать надо в данных, то есть в таблицах/курсорах. Тем более, что контролы в фоксе совершенно не виндовые и им невозможно послать сообщение.
...
Рейтинг: 0 / 0
07.07.2009, 11:20
    #36076932
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
Sergey Sizov.,
Спасибо. просто не знаю как выбраться с ситуации.
Может ищу не в том направлении.
Задача: Есть таблица заказчиков (порядка 20 тис. записей), находиться она на сервере. Если человек работает на сервере то никаких проблем, но есть еще 5 рабочих мест, и вот на этих рабочих местах поиск тормозит. Думал сначала создавать локальную копию таблицы, но проблема в обновлении таблицы (редактирование, удаление и добавление записей).
...
Рейтинг: 0 / 0
07.07.2009, 11:36
    #36076990
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
авторно проблема в обновлении таблицы (редактирование, удаление и добавление записей).

смотрим в сторону курсорадаптера
и построителя условий запроса.
...
Рейтинг: 0 / 0
07.07.2009, 13:23
    #36077274
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
прошелмимо,
создал КАД, запустил, все хорошо, запустил на второй машине - отлично. на первой машине меняю значения. На второй машине, значения старые, хотя таблица обновилась.
Че делать?
...
Рейтинг: 0 / 0
07.07.2009, 13:30
    #36077289
InGrid
Rickitikiпрошелмимо,
создал КАД, запустил, все хорошо, запустил на второй машине - отлично. на первой машине меняю значения. На второй машине, значения старые, хотя таблица обновилась.
Че делать?Обновлять второй машине. Если, конечно, второй машине нужны свежайшие данные.
...
Рейтинг: 0 / 0
07.07.2009, 13:36
    #36077314
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
проходящий.,
как узнать когда обновлять, через час, 2, минуту, секунды? постоянно тоже не хочется.
...
Рейтинг: 0 / 0
07.07.2009, 13:40
    #36077331
InGrid
Rickitikiпроходящий.,
как узнать когда обновлять, через час, 2, минуту, секунды? постоянно тоже не хочется.А этот вопрос должен решаться на стадии проектирования как часть проблемы синхронизации работы многих пользователей при заданном бизнесом времени свежести данных.
...
Рейтинг: 0 / 0
07.07.2009, 13:41
    #36077335
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
1 машина заносит клиента, вторая ищет такого клиента-его нет, и начинает заносить второй раз того же клиента, таблица выростет в десятки раз (дубляжи). как дать програмно понять что исходная таблица изменилась и сделать апдейт.
...
Рейтинг: 0 / 0
07.07.2009, 13:44
    #36077350
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
проходящий.Rickitikiпроходящий.,
как узнать когда обновлять, через час, 2, минуту, секунды? постоянно тоже не хочется.А этот вопрос должен решаться на стадии проектирования как часть проблемы синхронизации работы многих пользователей при заданном бизнесом времени свежести данных.

Данные могут изменяться каждую минуту, а на второй день - ни разу (может не изменяться месяцами), все зависит от клиентов, новый, старый.
Может есть че почитать по этому поводу? Или дельный совет.
...
Рейтинг: 0 / 0
07.07.2009, 14:30
    #36077504
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
авторЧе делать?

авторкак дать програмно понять что

если второй сидит до тех пор пока уже кто-то внес данные,
то при попытке сохранить изменения ему нужно покричать,
что пока он сидел - данные уже обновлены другим пользователем
и спросить что нужно сделать, то-ли откатиться до изменений
другого пользователя, то-ли заменить данные внессенные им значениями
...
Рейтинг: 0 / 0
07.07.2009, 14:33
    #36077513
прошелмимо
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
авторкак узнать когда обновлять

определенным образом организовать хранение данных,
либо пользоваться серверами, которые имеют
интегрированные в них средства проверки версионности(актуальности)
...
Рейтинг: 0 / 0
07.07.2009, 14:38
    #36077522
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
прошелмимо,
кричать с одного этажа на другой, проблема
...
Рейтинг: 0 / 0
07.07.2009, 15:15
    #36077633
Dag
Dag
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
InGrid
>>Rickitiki кричать с одного этажа на другой, проблема

Жгешь напалмом! Кричать нужно через программу. Например завести таблицу, в которой выставлять флаги об необходимости обновления для параллельных компов и проверяить ее по таймеру-при необходимости обновляться.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / InGrid / 25 сообщений из 33, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]