powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / InGrid
25 сообщений из 33, страница 1 из 2
InGrid
    #36072785
Rickitiki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помоготе плиз!
Использую для инкрементного поиска по гриду класс InGrid, прост в использовании. Но все было ок!, когда записей в таблице было 10-15 тыс, сейчас их 22 тыс. и поиск стал тормозить.
Подскажите как можно модифицировать этот класс, что-бы ускорить поиск.
...
Рейтинг: 0 / 0
InGrid
    #36073101
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Глянул мельком. Мне кажетсяв этой модификации класса отключен поиск по индексу (SEEK). По индексу поиск должен быть значительно быстрее. Попробуйте прикрутить SEEK, оригинальный класс лежал в решениях на Foxclub'е.
...
Рейтинг: 0 / 0
InGrid
    #36074408
Rickitiki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DagГлянул мельком. Мне кажетсяв этой модификации класса отключен поиск по индексу (SEEK). По индексу поиск должен быть значительно быстрее. Попробуйте прикрутить SEEK, оригинальный класс лежал в решениях на Foxclub'е.
Seek в этом класе не используеться, это я сам пытался, но не знаю как заменить LOCATE cSearchFor $ cSearchIn на SEEK.
...
Рейтинг: 0 / 0
InGrid
    #36074473
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выдрал из работающего приложения. Попробуй разобраться.
...
Рейтинг: 0 / 0
InGrid
    #36074479
Rickitiki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dag,
спасибо попробую
...
Рейтинг: 0 / 0
InGrid
    #36074528
Rickitiki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dag,
требует base.vcx
...
Рейтинг: 0 / 0
InGrid
    #36074604
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В базовых классах нет ничего интересного. Просто копия с фокспрошных. Сбрасываю программный код.
...
Рейтинг: 0 / 0
InGrid
    #36074607
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
InGrid
    #36074821
Rickitiki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dag,
Все хорошо, но если есть поле ОАО "ЕКЛМН" и я не помню ОАО, ООО, ЗАО, ЧП, я набираю просто ЕКЛМН, поиск уже не производиться, и это есть не хорошо.
...
Рейтинг: 0 / 0
InGrid
    #36075334
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, есть такой недостаток. В этих случаях у меня есть колонка краткого наименования - ЕКЛМН ОАО.
Если нужен поиск с произвольного места - то теряем скорость. Нет совершенства в этом мире.
...
Рейтинг: 0 / 0
InGrid
    #36075403
Rickitiki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dag,
Спасибо
...
Рейтинг: 0 / 0
InGrid
    #36076786
Rickitiki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел в нете для 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
InGrid
    #36076857
Sergey Sizov.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
RickitikiНашел в нете для VB такую вещь, помогите пожалуйста переделать под фокс для гридаЕрундой занимаетесь. Хотите прикрутить собаке пятую ногу. В фоксе в контролах не надо ничего искать. Искать надо в данных, то есть в таблицах/курсорах. Тем более, что контролы в фоксе совершенно не виндовые и им невозможно послать сообщение.
...
Рейтинг: 0 / 0
InGrid
    #36076932
Rickitiki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergey Sizov.,
Спасибо. просто не знаю как выбраться с ситуации.
Может ищу не в том направлении.
Задача: Есть таблица заказчиков (порядка 20 тис. записей), находиться она на сервере. Если человек работает на сервере то никаких проблем, но есть еще 5 рабочих мест, и вот на этих рабочих местах поиск тормозит. Думал сначала создавать локальную копию таблицы, но проблема в обновлении таблицы (редактирование, удаление и добавление записей).
...
Рейтинг: 0 / 0
InGrid
    #36076990
прошелмимо
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторно проблема в обновлении таблицы (редактирование, удаление и добавление записей).

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

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

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

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

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

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


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