On-line: PSP, гостей 0. Всего: 1 [подробнее..]
АвторСообщение





Пост 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

Григорий, можете дать Янушу эту информацию?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 25 , стр: 1 2 All [только новые]


moderator




Пост N: 157
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 21.01.11 13:13. Заголовок: krutoff пишет: Режи..


krutoff пишет:

 цитата:
Режим ввода новой записи не работает!


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

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 140
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 21.01.11 14:39. Заголовок: Спасибо Григорий! Во..


Спасибо Григорий! Вот уж действительно хитрость!
Но когда надо сразу ввести много записей подряд -
такая хитрость, мне кажется, может раздражать.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 116
Зарегистрирован: 27.07.08
ссылка на сообщение  Отправлено: 22.01.11 11:34. Заголовок: Меня это тоже настор..


Меня это тоже насторожило. Спасибо за помощь. Но вот дело именно в том, что надо вводить сразу много записей и необходимость одновременно нажимать две клавиши очень даже раздражает. Как это обойти?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 126
Зарегистрирован: 12.06.06
ссылка на сообщение  Отправлено: 24.03.11 10:15. Заголовок: ввод новой записи


krutoff пишет:

 цитата:
Вот уж действительно хитрость!
Но когда надо сразу ввести много записей подряд -
такая хитрость, мне кажется, может раздражать.


Очень хотелось узнать - как Вы вышли из этой ситуации?!!



Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 157
Зарегистрирован: 17.10.05
ссылка на сообщение  Отправлено: 11.07.12 16:37. Заголовок: По состоянию на 11.0..


По состоянию на 11.07.2012 в h_tbrowse.prg
Закомментировал строчку 4049
//# _HMG_InteractiveCloseStarted := .F.

и проблема была исправлена( пока исправлена...)

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 132
Зарегистрирован: 12.06.06
ссылка на сообщение  Отправлено: 16.10.12 19:22. Заголовок: Запоминание memo-поля в Tsbrowse


Для примера - nSample = 6 из Advanced\TsBrowse\TsBtest.prg и в файле employee.dbf
последнее поле Notes сделать Memo. Информация вводится , но не сохраняется.
Помогите добиться правильного результата ?!!

Спасибо: 0 
ПрофильЦитата Ответить
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>

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 133
Зарегистрирован: 12.06.06
ссылка на сообщение  Отправлено: 18.10.12 17:05. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
...и успешно сохранил содержание поля ввода....


Спасибо !!! Все получилось!
Но, а если не нужно сохранять и пользователь по привычке нажимает Esc,
то - происходит что-то непонятное и все виснет ???


Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 421
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 19.10.12 17:59. Заголовок: i3t4j6 пишет: если ..


i3t4j6 пишет:

 цитата:
если не нужно сохранять и пользователь по привычке нажимает Esc


Поправил эту бяку для следующей сборки
Теперь при отказе от сохранения мемо надо будет нажимать клавишу <Tab>
Оказывается, нажатие Escape для окон типа Edit приводит к немедленному закрытию окна (так работает WinApi )

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 6
Зарегистрирован: 05.10.12
ссылка на сообщение  Отправлено: 16.11.12 10:12. Заголовок: в TSBrowse, есть ре..


в TSBrowse, есть редактирование текущей ячейки по кл ENTER или клику мышки, можно ли сделать свое
редактирование и что нужно применить

Спасибо: 0 
ПрофильЦитата Ответить



Пост 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.




Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 134
Зарегистрирован: 12.06.06
ссылка на сообщение  Отправлено: 28.12.12 12:54. Заголовок: ошибка при вводе !!!


Для примера - nSample = 2 из Advanced\TsBrowse\TsBtest.prg
При вводе любого символа - первый пропадает, а если активировать
поле ввода при помощи Enter, то тогда все нормально. В предыдущих
версиях было все в порядке, а впоследней 2.1.8 такое вот вылезло.

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 434
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 29.12.12 11:17. Заголовок: i3t4j6 пишет: В пре..


i3t4j6 пишет:

 цитата:
В предыдущих версиях было все в порядке, а впоследней 2.1.8 такое вот вылезло.


Спасибо за сообщение! Да, появилась такая проблемка именно в последней версии, но библиотека TsBrowse и Харбор тут ни при чем.
Надо искать, что было внесено в ядро Минигуи, что дало такой эффект...

Спасибо: 0 
ПрофильЦитата Ответить
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


затем пересобрать библиотеку, и все заработает нормально

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост 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



Спасибо: 0 
ПрофильЦитата Ответить



Пост 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) }

....


Спасибо: 0 
ПрофильЦитата Ответить
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) }


Отпишитесь, если помогло

Спасибо: 0 
ПрофильЦитата Ответить





Пост N: 41
Зарегистрирован: 13.06.12
ссылка на сообщение  Отправлено: 09.03.13 19:09. Заголовок: Не знаю всех зависим..


Не знаю всех зависимостей задачи. Поэтому попробуйте так:
1. Для "Лицевой" editable = .F.
2. При наступлении события, разрешающего изменение, устанавливаем editable для "лицевой" в .T.
3. В postedit для "лицевой" editable = .F.

PS. Колонка(и), которая(ые) могут разрешить редактирование "Лицевой" должна (ы) стоять левее.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 83
Зарегистрирован: 12.07.06
ссылка на сообщение  Отправлено: 10.03.13 04:45. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Для блокировки ввода с клавиатуры можно использовать пользовательский блок bUserKeys


Прошу прощения
Забыл написать в своем сообщении что зтот вариант тоже не помог,
ввод с клпвиатуры благополучно попадал в ячейку TBROWSE

Спасибо: 0 
ПрофильЦитата Ответить



Пост 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
...
Всё заработало

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 25 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 26
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет