On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение
Vlad04
постоянный участник


Пост N: 420
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 19.12.13 18:16. Заголовок: TsBrowse в Минигуи (продолжение)


TsBrows определяется в виде строки ПАРМЕТРОВ объекта и их значений
К примеру

 цитата:

DEFINE TBROWSE oBrw2 ;
AT 60,450 ;
ALIAS cAlias ;
OF Form1 ;
WIDTH 330 ;
HEIGHT 340 ;
FONT "Verdana" ;
SIZE 9 ;
ON DBLCLICK CopyRec();
ON GOTFOCUS fModelo_Hab(2) ;
AUTOFILTER ;
CELLED EDIT;
VALUE nRec;
GRID


Здесь я собрал параметры из разных tBrows
Можно или нет и какие парметры заменить
выражением ( и каким) ?
oBrw2:....
oBrw2:....



Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]


Alex_Cher





Пост N: 48
Зарегистрирован: 18.06.15
ссылка на сообщение  Отправлено: 24.08.17 08:07. Заголовок: Andrey пишет: Работ..


Andrey пишет:

 цитата:
Работает без ошибок с версии МиниГуи 17.07 и исправленной библиотеки tsbrowse.lib (в модуле h_tbrowse.prg)



Application: C:\MiniGUI\SAMPLES\MY_BASIC\Tsbrowse_7\Tsb_composite.exe
Date: 24.08.17 Time: 09:00:26
Time from start: 0 days 0 hours 0 mins 27 secs
Error BASE/1004 Метод не экспортирован: LAPPEND

Called from LAPPEND(0)
Called from TSBROWSE:EDITEXIT(4134)
Called from (b)TSBROWSE_EDIT(4003)
Called from TCOMBOBOX:LOSTFOCUS(212)
Called from TCOMBOBOX:COMMAND(964)
Called from TCONTROL:HANDLEEVENT(871)
Called from TCOMBOBOX:HANDLEEVENT(155)
Called from EVENTS(1675)
Called from DOMESSAGELOOP(0)
Called from _ACTIVATEWINDOW(1449)
Called from DOMETHOD(4729)
Called from FORMTABLE(161)
Called from (b)MAIN(45)
Called from _PROCESSINITPROCEDURE(1613)
Called from _ACTIVATEWINDOW(1437)
Called from MAIN(58)


Версии МиниГуи 17.07, на счет библиотеки tsbrowse.lib ничего сказать не могу.

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1173
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 24.08.17 12:19. Заголовок: Alex_Cher пишет: Ве..


Alex_Cher пишет:

 цитата:
Версии МиниГуи 17.07


Эта ошибка будет исправлена в августовской сборке Минигуи

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




Пост N: 5483
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.08.17 17:20. Заголовок: У себя в Tsbrowse на..


У себя в Tsbrowse наверху окна вывожу - язык раскладки клавиатуры (RUS/LAT)
При смене языка раскладки остаётся старый язык, пока не нажмешь любую клавишу, тогда язык меняется на правильный.
Как сделать чтобы при смене раскладки языка - показ языка отрабатывал сразу ?



Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6538
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 26.08.17 17:26. Заголовок: Andrey Ни кто не да..


Andrey
Ни кто не даст ответа не видя как ты выводишь эту самую раскладку.

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




Пост N: 5484
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.08.17 17:37. Заголовок: Понял. В Tsbrowse на..


Понял. В Tsbrowse назначаю свою обработку:
oBrw:bUserKeys := { |a,b,c| MyKeyEdit(a,b,c) }

Функция обработки:
STATIC FUNCTION MyKeyEdit( nKey, nFlag, oBrw ) 
LOCAL xRet := .T.
.......
IF !Alltrim(cStaticSearch) == Form_0.Text_Seek.Value
cStaticSearch := Form_0.Text_Seek.Value
ENDIF

DO CASE
CASE nKey == VK_ESCAPE
....
CASE nKey == VK_INSERT // [Ins] Добавить запись
...
CASE nKey == VK_DELETE // [Del] Удалить запись
....
CASE nKey == VK_BACK // Backspace
IF LEN(Form_0.Text_Seek.Value) > 0
cStaticSearch := LEFT(cStaticSearch,LEN(cStaticSearch)-1)
Form_0.Text_Seek.Value := cStaticSearch
RefreshBrowse()
ENDIF

CASE nKey > 47 .AND. nKey < 254
cStaticSearch := cStaticSearch + KeyToChar(nKey)
Form_0.Text_Seek.Value := cStaticSearch // показ вверху набранного ФИЛЬТРА по базе
RefreshBrowse()
xRet := .F.
Form_0.Label_KB.Value := '('+KB_LANG()+')'

CASE nKey == 16 .OR. nKey == 17 // Shift+Alt Shift+Ctrl
xRet := .F.
ENDCASE

Form_0.Label_KB.Value := '('+KB_LANG()+')' // вывод раскладки клавиатуры
Form_0.oBrw.SetFocus

RETURN xRet

Не всегда показывает смену языка клавиатуры !!!
Как сделать, чтобы смена языка отображалась правильно ?



Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6540
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 26.08.17 18:36. Заголовок: Варианты 1. STATIC F..


Варианты
1.
STATIC FUNCTION MyKeyEdit( nKey, nFlag, oBrw )
LOCAL xRet := .T.
Form_0.Label_KB.Value := '('+KB_LANG()+')' // вывод раскладки клавиатуры

2. Повесить показ на таймер

3. Повесить показ в потоке


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




Пост N: 5485
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 27.08.17 19:15. Заголовок: Dima пишет: Вариант..


Dima пишет:

 цитата:
Варианты
1.


Этот не сработал....
Такая же фигня, меняешь язык - остаётся старый, пока не нажмёшь любую клавишу...

2 - не хочется загружать Tsbrowse сторонними процессами, уменьшать быстродействие

3-вообще экзотика, нафига в простом Tsbrowse отдельный поток.


Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6541
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 27.08.17 21:21. Заголовок: Andrey Стандартного..


Andrey
Стандартного вывода от OS не хватает ?

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




Пост N: 5487
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.08.17 10:27. Заголовок: Dima пишет: Стандар..


Dima пишет:

 цитата:
Стандартного вывода от OS не хватает ?


Да юзера пристали... Вот и сделал им... А не работает.

Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1175
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 28.08.17 13:12. Заголовок: Andrey пишет: не хо..


Andrey пишет:

 цитата:
не хочется загружать Tsbrowse сторонними процессами,


Да, это возможно сделать средствами самого TSBrowse.

Надо добавить в функцию CreateBrw() такой обработчик:

 цитата:
// Вывод подсказки с использованием внутреннего цикла TBrowse
oBrw:bEvents := { |a,b| MyEventBrowse(a,b) }



и перенести вывод подсказки из функции MyKeyEdit() в функцию ниже:
//////////////////////////////////////////////////////////// 
STATIC FUNCTION MyEventBrowse(oBrw, nMsg)
oBrw:=nil
IF _IsControlDefined( "Label_KB", "Form_0" ) .and. !(nMsg==WM_PAINT)
Form_0.Label_KB.Value := '('+KB_LANG()+')'
ENDIF

RETURN 0


Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6543
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.08.17 13:24. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
// Вывод подсказки с использованием внутреннего цикла TBrowse
oBrw:bEvents := { |a,b| MyEventBrowse(a,b) }


Мерцать надпись не будет ?

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




Пост N: 5488
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.08.17 14:29. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Да, это возможно сделать средствами самого TSBrowse.



Заработало !!!
И не мерцает...

А как насчёт других вопросов (1,2 и 3) ?

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


Пост N: 1549
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 28.08.17 14:47. Заголовок: Andrey пишет: А как..


Andrey пишет:

 цитата:
А как насчёт других вопросов (1,2 и 3)


А где эти вопросы прозвучали?
Были 3 варианта от Dima
и ваше резюме
Andrey пишет:

 цитата:
нафига



Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6544
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.08.17 14:50. Заголовок: Петр пишет: А где э..


Петр пишет:

 цитата:
А где эти вопросы прозвучали?


Думаю только в его голове

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




Пост N: 5489
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.08.17 14:53. Заголовок: Dima пишет: Думаю т..


Dima пишет:

 цитата:
Думаю только в его голове


Я проект Tsb_config2 Григорию на прошлой неделе отослал...

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




Пост N: 5490
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.08.17 15:08. Заголовок: Сам проект - https:/..


Сам проект - https://cloud.mail.ru/public/H4Do/1tDRrPPff
Вопросы:
1) Модуль util_dbase.prg функция DbfCreateRecno()
Нет надписи по команде - WAIT WINDOW "Подождите, создаю тестовую базу...." NOWAIT
Что нужно сделать, чтобы надпись появилась ?

2) Модуль Form_operat.prg функция DimOperat()
Обработка колонки срабатывает ТОЛЬКО после первого ввода.
     oBrw:aColumns[nVal]:bPrevEdit := .....   
oBrw:aColumns[nVal]:bEditing := .....
oBrw:aColumns[nVal]:bEditEnd := .....

Как сделать, чтобы при первом вводе был показ подсказки ?

3) Модуль Tsb_Config.prg - нет отработки команды oBrw:nAt := 5
Например:
 FUNCTION RecnoInsert()  
..........
oBrw:GoTop() // первая запись базы
oBrw:nAt := 5

или при ПЕРВОМ показе бровса
  строка 364 -    oBrw:nAt := 5  // передвинуть МАРКЕР на 5 строку 

Как исправить ?



Спасибо: 0 
Профиль
gfilatov2002
moderator




Пост N: 1176
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 28.08.17 15:11. Заголовок: Andrey пишет: как н..


Andrey пишет:

 цитата:
как насчёт других вопросов (1,2 и 3) ?



 цитата:
Вопросы.
1) Нет надписи по команде - WAIT WINDOW "Подождите, создаю тестовую базу...." NOWAIT
Что нужно сделать, чтобы надпись появилась ?

Проверял под Win7 - нет такой проблемы...

 цитата:
2) Как сделать, чтобы при первом вводе был показ подсказки ?

Не знаю

 цитата:
3) нет отработки команды oBrw:nAt := 5

Попробуйте заменить на oBrw:GoPos( 5 )

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 6545
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 28.08.17 18:57. Заголовок: Andrey пишет: Нет н..


Andrey пишет:

 цитата:
Нет надписи по команде - WAIT WINDOW "Подождите, создаю тестовую базу...." NOWAIT


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

PS
Win-7

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


Пост N: 1550
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 28.08.17 19:52. Заголовок: Dima пишет: Впрочем..


Dima пишет:

 цитата:
Впрочем где то это я уже видел в твоих примерах "Подождите, создаю тестовую базу...." и у меня
работало.



Ну так в том проекте, что он выложил (пост 5490) есть такая штука и она работает - надпись есть (запускал на Win7 и WinXP).

Andrey пишет:

 цитата:
Модуль Tsb_Config.prg - нет отработки команды oBrw:nAt := 5



nAt обьявлено как DATA (VAR), что там может отрабатывать?



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




Пост N: 5491
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.08.17 23:21. Заголовок: Dima пишет: Если сд..


Dima пишет:

 цитата:
Если сделаешь микро-пример я проверю у себя.


Возьми готовый проект, ссылка выше. На микро-примерах, как правило ВСЁ работает !gfilatov2002 пишет:

gfilatov2002 пишет:

 цитата:
Проверял под Win7 - нет такой проблемы...



Значить это у меня под Win8.1 нет надписи !
Тогда можно не заморачиваться...

Петр пишет:

 цитата:
nAt обьявлено как DATA (VAR), что там может отрабатывать?


На других примерах это срабатывает.

gfilatov2002 пишет:

 цитата:
Попробуйте заменить на oBrw:GoPos( 5 )


НЕ ТО ! Мне нужна 1-я запись и положение курсора/маркера на 5+2 столбце ("Событие") ?

Нашёл как исправить:
     ON INIT { || IniGetPosWindow(), IniGetTbrowse(oBrw,aStatClr2Usl), oBrw:GoPos( 1,7 ) } ; 


Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 169
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет