Автор | Сообщение |
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:....
|
|
|
Ответов - 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 ничего сказать не могу.
|
|
|
gfilatov2002
|
| moderator
|
Пост N: 1173
Зарегистрирован: 11.02.10
|
|
Отправлено: 24.08.17 12:19. Заголовок: Alex_Cher пишет: Ве..
Alex_Cher пишет: Эта ошибка будет исправлена в августовской сборке Минигуи
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5483
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.08.17 17:20. Заголовок: У себя в Tsbrowse на..
У себя в Tsbrowse наверху окна вывожу - язык раскладки клавиатуры (RUS/LAT) При смене языка раскладки остаётся старый язык, пока не нажмешь любую клавишу, тогда язык меняется на правильный. Как сделать чтобы при смене раскладки языка - показ языка отрабатывал сразу ?
|
|
|
Dima
|
| |
Пост N: 6538
Зарегистрирован: 17.05.05
|
|
Отправлено: 26.08.17 17:26. Заголовок: Andrey Ни кто не да..
Andrey Ни кто не даст ответа не видя как ты выводишь эту самую раскладку.
|
|
|
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 Не всегда показывает смену языка клавиатуры !!! Как сделать, чтобы смена языка отображалась правильно ?
|
|
|
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. Повесить показ в потоке
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5485
Зарегистрирован: 12.09.06
|
|
Отправлено: 27.08.17 19:15. Заголовок: Dima пишет: Вариант..
Dima пишет: Этот не сработал.... Такая же фигня, меняешь язык - остаётся старый, пока не нажмёшь любую клавишу... 2 - не хочется загружать Tsbrowse сторонними процессами, уменьшать быстродействие 3-вообще экзотика, нафига в простом Tsbrowse отдельный поток.
|
|
|
Dima
|
| |
Пост N: 6541
Зарегистрирован: 17.05.05
|
|
Отправлено: 27.08.17 21:21. Заголовок: Andrey Стандартного..
Andrey Стандартного вывода от OS не хватает ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5487
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.08.17 10:27. Заголовок: Dima пишет: Стандар..
Dima пишет: цитата: | Стандартного вывода от OS не хватает ? |
| Да юзера пристали... Вот и сделал им... А не работает.
|
|
|
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
|
|
|
Dima
|
| |
Пост N: 6543
Зарегистрирован: 17.05.05
|
|
Отправлено: 28.08.17 13:24. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | // Вывод подсказки с использованием внутреннего цикла TBrowse oBrw:bEvents := { |a,b| MyEventBrowse(a,b) } |
| Мерцать надпись не будет ?
|
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5488
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.08.17 14:29. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Да, это возможно сделать средствами самого TSBrowse. |
| Заработало !!! И не мерцает... А как насчёт других вопросов (1,2 и 3) ?
|
|
|
Петр
|
| постоянный участник
|
Пост N: 1549
Зарегистрирован: 09.10.06
|
|
Отправлено: 28.08.17 14:47. Заголовок: Andrey пишет: А как..
Andrey пишет: цитата: | А как насчёт других вопросов (1,2 и 3) |
| А где эти вопросы прозвучали? Были 3 варианта от Dima и ваше резюме Andrey пишет:
|
|
|
Dima
|
| |
Пост N: 6544
Зарегистрирован: 17.05.05
|
|
Отправлено: 28.08.17 14:50. Заголовок: Петр пишет: А где э..
Петр пишет: цитата: | А где эти вопросы прозвучали? |
| Думаю только в его голове
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5489
Зарегистрирован: 12.09.06
|
|
Отправлено: 28.08.17 14:53. Заголовок: Dima пишет: Думаю т..
Dima пишет: цитата: | Думаю только в его голове |
| Я проект Tsb_config2 Григорию на прошлой неделе отослал...
|
|
|
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 строку Как исправить ?
|
|
|
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 )
|
|
|
Dima
|
| |
Пост N: 6545
Зарегистрирован: 17.05.05
|
|
Отправлено: 28.08.17 18:57. Заголовок: Andrey пишет: Нет н..
Andrey пишет: цитата: | Нет надписи по команде - WAIT WINDOW "Подождите, создаю тестовую базу...." NOWAIT |
| Если сделаешь микро-пример я проверю у себя. Впрочем где то это я уже видел в твоих примерах "Подождите, создаю тестовую базу...." и у меня работало. PS Win-7
|
|
|
Петр
|
| постоянный участник
|
Пост 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), что там может отрабатывать?
|
|
|
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 ) } ;
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|