Автор | Сообщение |
|
| |
Пост N: 139
Зарегистрирован: 17.10.05
|
|
Отправлено: 21.01.11 12:38. Заголовок: Снова TSBrowse
Режим ввода новой записи не работает! При вводе новой записи - Стрелка "Вниз" на последней записи происходит ввод только одной записи - а дальше (если есть индекс - выходит из режима ввода новой записи и позиционирует запись по индексу) - или, сколько не нажимай стрелку "Вниз" - ничего не происходит. Попробуйте на примере Sample2 отключить индекс или ввести в первое поле какой-нибудь код последний по индексу (например: mmmm) и дальше стрелка вниз уже не идет. Я проверил, что в этом случае работает блок (строка ~ 5120) h_tbrowse: If ! ::lHitBottom .and. ! ::lAppendMode .and. ::bChange != nil Eval( ::bChange, Self, ::oWnd:nLastKey ) EndIf Григорий, можете дать Янушу эту информацию?
|
|
|
Новых ответов нет
, стр:
1
2
All
[см. все]
|
|
|
| moderator
|
Пост N: 157
Зарегистрирован: 11.02.10
|
|
Отправлено: 21.01.11 13:13. Заголовок: krutoff пишет: Режи..
krutoff пишет: цитата: | Режим ввода новой записи не работает! |
| Спасибо за информацию, но этот режим теперь работает немного по-другому. Есть небольшая хитрость, по-видимому введенная автором библиотеки для блокировки нежелательного добавления пустых записей нерадивыми пользователями, которые любят много раз нажимать Стрелка "Вниз" на последней записи Для корректного добавления новой записи в этом режиме теперь требуется сначала нажать кнопку End, а уже затем Стрелка "Вниз". В таком случае всегда происходит добавление новой записи Вот такая хитрость
|
|
|
|
| |
Пост N: 140
Зарегистрирован: 17.10.05
|
|
Отправлено: 21.01.11 14:39. Заголовок: Спасибо Григорий! Во..
Спасибо Григорий! Вот уж действительно хитрость! Но когда надо сразу ввести много записей подряд - такая хитрость, мне кажется, может раздражать.
|
|
|
|
| постоянный участник
|
Пост N: 116
Зарегистрирован: 27.07.08
|
|
Отправлено: 22.01.11 11:34. Заголовок: Меня это тоже настор..
Меня это тоже насторожило. Спасибо за помощь. Но вот дело именно в том, что надо вводить сразу много записей и необходимость одновременно нажимать две клавиши очень даже раздражает. Как это обойти?
|
|
|
|
| |
Пост N: 126
Зарегистрирован: 12.06.06
|
|
Отправлено: 24.03.11 10:15. Заголовок: ввод новой записи
krutoff пишет: цитата: | Вот уж действительно хитрость! Но когда надо сразу ввести много записей подряд - такая хитрость, мне кажется, может раздражать. |
| Очень хотелось узнать - как Вы вышли из этой ситуации?!!
|
|
|
|
| |
Пост N: 157
Зарегистрирован: 17.10.05
|
|
Отправлено: 11.07.12 16:37. Заголовок: По состоянию на 11.0..
По состоянию на 11.07.2012 в h_tbrowse.prg Закомментировал строчку 4049 //# _HMG_InteractiveCloseStarted := .F. и проблема была исправлена( пока исправлена...)
|
|
|
|
| |
Пост N: 132
Зарегистрирован: 12.06.06
|
|
Отправлено: 16.10.12 19:22. Заголовок: Запоминание memo-поля в Tsbrowse
Для примера - nSample = 6 из Advanced\TsBrowse\TsBtest.prg и в файле employee.dbf последнее поле Notes сделать Memo. Информация вводится , но не сохраняется. Помогите добиться правильного результата ?!!
|
|
|
|
| moderator
|
Пост N: 420
Зарегистрирован: 11.02.10
|
|
Отправлено: 17.10.12 17:13. Заголовок: i3t4j6 пишет: Для п..
i3t4j6 пишет: цитата: | Для примера - nSample = 6 из Advanced\TsBrowse\TsBtest.prg и в файле employee.dbf последнее поле Notes сделать Memo. |
| Проделал предложенные выше действия и успешно сохранил содержание поля ввода в мемо-поле после нажатия комбинации клавиш <Ctrl>+<Enter>
|
|
|
|
| |
Пост N: 133
Зарегистрирован: 12.06.06
|
|
Отправлено: 18.10.12 17:05. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | ...и успешно сохранил содержание поля ввода.... |
| Спасибо !!! Все получилось! Но, а если не нужно сохранять и пользователь по привычке нажимает Esc, то - происходит что-то непонятное и все виснет ???
|
|
|
|
| moderator
|
Пост N: 421
Зарегистрирован: 11.02.10
|
|
Отправлено: 19.10.12 17:59. Заголовок: i3t4j6 пишет: если ..
i3t4j6 пишет: цитата: | если не нужно сохранять и пользователь по привычке нажимает Esc |
| Поправил эту бяку для следующей сборки Теперь при отказе от сохранения мемо надо будет нажимать клавишу < Tab> Оказывается, нажатие Escape для окон типа Edit приводит к немедленному закрытию окна (так работает WinApi )
|
|
|
|
| |
Пост N: 6
Зарегистрирован: 05.10.12
|
|
Отправлено: 16.11.12 10:12. Заголовок: в TSBrowse, есть ре..
в TSBrowse, есть редактирование текущей ячейки по кл ENTER или клику мышки, можно ли сделать свое редактирование и что нужно применить
|
|
|
|
| |
Пост N: 7
Зарегистрирован: 05.10.12
|
|
Отправлено: 04.12.12 10:36. Заголовок: прошу помощи в TSBrowse по ON CHA..
Добрый день! в TSBrowse по ON CHANGE вызывается функция, которая содержит SetProperty( ThisWindow.Name,"statusbar","item",1,Ltrim(Str(Recno())) ) Данные выводятся почему то в главном окне DEFINE WINDOWS FORM1 statusbar, а не в текущем DEFINE WINDOWS FORM2 statusbar ,где открыт TSBrowse. Но если просто войти в режим изменения текущей ячейки и выйти, то данные выводятся правильно в окне FORM2 ,то есть управление передалось в окно FORM2. Как сделать чтобы сразу при открытии управление передавалость Form2.
|
|
|
|
|
| |
Пост N: 134
Зарегистрирован: 12.06.06
|
|
Отправлено: 28.12.12 12:54. Заголовок: ошибка при вводе !!!
Для примера - nSample = 2 из Advanced\TsBrowse\TsBtest.prg При вводе любого символа - первый пропадает, а если активировать поле ввода при помощи Enter, то тогда все нормально. В предыдущих версиях было все в порядке, а впоследней 2.1.8 такое вот вылезло.
|
|
|
|
| moderator
|
Пост N: 434
Зарегистрирован: 11.02.10
|
|
Отправлено: 29.12.12 11:17. Заголовок: i3t4j6 пишет: В пре..
i3t4j6 пишет: цитата: | В предыдущих версиях было все в порядке, а впоследней 2.1.8 такое вот вылезло. |
| Спасибо за сообщение! Да, появилась такая проблемка именно в последней версии, но библиотека TsBrowse и Харбор тут ни при чем. Надо искать, что было внесено в ядро Минигуи, что дало такой эффект...
|
|
|
|
| moderator
|
Пост N: 435
Зарегистрирован: 11.02.10
|
|
Отправлено: 29.12.12 11:50. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Надо искать, что было внесено в ядро Минигуи |
| Ошибка локализована и исправлена Надо внести небольшое исправление в исходник h_events.prg, а именно дополнить проверку в следующем коде: цитата: | IF _HMG_aControlType == 'GETBOX' .AND. ! ISOBJECT( oGet ) _PushKey ( VK_HOME ) ENDIF |
| затем пересобрать библиотеку, и все заработает нормально
|
|
|
|
| постоянный участник
|
Пост N: 119
Зарегистрирован: 15.09.05
|
|
Отправлено: 07.01.13 15:28. Заголовок: Аналог внутренней переменной из терминального объекта Tbrowse :stable
Вопрос в TSBrowse есть аналог внутренней переменной из терминального объекта Tbrowse :stable Моя проблема состоит в том , что иногда при работе через сеть особенно , нужно дожидатся до стабилизации объекта, иначе редко но программа вылетает . вот пример кода после которого нужно ето: //------------------------------------------------ STATIC PROCEDURE _SEARCH( oBrw , AFIELDS , aBGNames ) LOCAL i := oBrw:nCell - 1, cFilter, cFlt, bFlt cFilter := InputBox( " Введете значение :" , "Фильтр по -> " + aBGNames[ i ], '' ) cFilter := UPPER( TRIM( cFilter ) ) cFlt := '{||[' + cFilter + '] $ upper( hb_valtostr(' + AFIELDS[ i ] + '))}' bFlt := IIF( EMPTY( cFilter ), { || .t. }, &( cFlt ) ) IF EMPTY( cFilter ) DbClearFilter() ELSE Dbsetfilter( bFlt ) ENDIF DBGoTop() oBrw:Reset() //Здесь RETURN
|
|
|
|
| |
Пост N: 82
Зарегистрирован: 12.07.06
|
|
Отправлено: 09.03.13 17:17. Заголовок: проблема с редактированием
Поделитесь решением, кто сталкивался с такой проблемой: Необходимо при работе решать вопрос о запрете или нет для пользователя редактировать некоторые поля. Я использовал для этого PREEDIT в описании колонки для TBROWSE. Все прекрастно рабоет при входе в редактирование по Enter'у или двойному клику миши. Но если начинать редактирование сразу вводом с клавиатуры любых данных, то никакого контроля из PREEDIT не происходит и данные пишутся в ячейку что не есть хорошо. Ниже привожу кусок кода: DEFINE TBROWSE Br1 AT 0,0 GRID ALIAS 'oplto' WIDTH wbr HEIGHT hbr ; ON CHANGE {|| oInf() } ... ADD COLUMN TO Br1 HEADER 'Лицевой' SIZE wls ; DATA FieldWBlock('ls', SELECT('oplto')) ; PREEDIT {|| IF(ltoRee,.T.,.F.)} ; POSTEDIT {|| opl()} ; EDITABLE ADD COLUMN TO Br1 HEADER '.....' SIZE woto ; DATA FieldWBlock('opl3', SELECT('oplto')) ; EDITABLE MOVE DT_MOVE_DOWN ; PREEDIT {|| IF(lFind .AND. ltoRee,.T.,.F.)} ; POSTEDIT {|| recTipl(3,toTip,Br1))} ; FOOTER {|| f_str(soto,12,2) } ....
|
|
|
|
| moderator
|
Пост N: 454
Зарегистрирован: 11.02.10
|
|
Отправлено: 09.03.13 18:31. Заголовок: alex_II пишет: если..
alex_II пишет: цитата: | если начинать редактирование сразу вводом с клавиатуры любых данных |
| Для блокировки ввода с клавиатуры можно использовать пользовательский блок bUserKeys цитата: | // blocking activation of edition by character key oBrw:bUserKeys := { |nKey,nFlags,oBrw| if(nKey>30 .and. nKey<255,.F.,nKey) } |
| Отпишитесь, если помогло
|
|
|
|
| |
Пост N: 41
Зарегистрирован: 13.06.12
|
|
Отправлено: 09.03.13 19:09. Заголовок: Не знаю всех зависим..
Не знаю всех зависимостей задачи. Поэтому попробуйте так: 1. Для "Лицевой" editable = .F. 2. При наступлении события, разрешающего изменение, устанавливаем editable для "лицевой" в .T. 3. В postedit для "лицевой" editable = .F. PS. Колонка(и), которая(ые) могут разрешить редактирование "Лицевой" должна (ы) стоять левее.
|
|
|
|
| |
Пост N: 83
Зарегистрирован: 12.07.06
|
|
Отправлено: 10.03.13 04:45. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Для блокировки ввода с клавиатуры можно использовать пользовательский блок bUserKeys |
| Прошу прощения Забыл написать в своем сообщении что зтот вариант тоже не помог, ввод с клпвиатуры благополучно попадал в ячейку TBROWSE
|
|
|
|
| |
Пост N: 84
Зарегистрирован: 12.07.06
|
|
Отправлено: 10.03.13 06:17. Заголовок: Панченко пишет: 1. ..
Панченко пишет: цитата: | 1. Для "Лицевой" editable = .F. 2. При наступлении события, разрешающего изменение, устанавливаем editable для "лицевой" в .T. 3. В postedit для "лицевой" editable = .F. |
| Спасибо за идею, но реализовать её получилось немного по другому В событии ON CHANGE для TBROWSE поставил процедуру анализа в которую поместил команды: ... IF lFnd .AND. ltoRee ENABLE EDIT oBr COLUMN 1 ENABLE EDIT oBr COLUMN 2 ENABLE EDIT oBr COLUMN 3 ENABLE EDIT oBr COLUMN 4 ENABLE EDIT oBr COLUMN 5 ELSE DISABLE EDIT oBr COLUMN 1 DISABLE EDIT oBr COLUMN 2 DISABLE EDIT oBr COLUMN 3 DISABLE EDIT oBr COLUMN 4 DISABLE EDIT oBr COLUMN 5 IF ltoRee ENABLE EDIT oBr COLUMN 2 ENDIF ENDIF ... Всё заработало
|
|
|
Новых ответов нет
, стр:
1
2
All
[см. все]
|
|