Автор | Сообщение |
|
| |
Пост N: 1915
Зарегистрирован: 17.05.05
|
|
Отправлено: 29.12.10 16:01. Заголовок: ON CHANGE (GET)
#include "FiveWin.ch" function Main() LOCAL oDlg, oGet LOCAL cCad := " " DEFINE DIALOG oDlg @ 1,6 GET oGet VAR cCad OF oDlg SIZE 60, 10 on change test(ccad) ACTIVATE DIALOG oDlg CENTERED return nil //------------------------------------------------------------------------// Func test(ccad) msginfo(ccad) return nil Вводим в Get какой символ , но при первом нажатии в функции TEST , пусто. Почему ? Вводим еще символ и только тогда в TEST видим первый введенный символ , без второго
|
|
|
Ответов - 29
, стр:
1
2
All
[только новые]
|
|
|
| Администратор
|
Пост N: 1746
Зарегистрирован: 23.05.05
|
|
Отправлено: 29.12.10 16:18. Заголовок: Введенный символ еще..
Введенный символ еще в буфере ввода, и не сразу попадает в переменную ccad Если испольщовать on change, тогда так: on change test(oGet) Func test(oGet) msginfo(oGet:oGet:buffer) return nil или вызывать oGet:Assign() для присваивания зачения буфера ввода переменной или вместо on change вызывать valid
|
|
|
|
| |
Пост N: 56
Зарегистрирован: 17.06.10
|
|
Отправлено: 29.12.10 16:23. Заголовок: oGet:Changed:{|..
oGet:Changed:{||oGet:Assign(), Test(cCad)} - первое нажатие в бефере Но проще так: private oDlg - для окон всегда так .......................... @ 1,6 GET oGet VAR cCad OF oDlg SIZE 60, 10 on change test() .......................... Func test msginfo(oDlg:aControls[1]:cText() return nil
|
|
|
|
| |
Пост N: 1916
Зарегистрирован: 17.05.05
|
|
Отправлено: 29.12.10 16:45. Заголовок: Pasha fil Спасибо !..
Pasha fil Спасибо !
|
|
|
|
| |
Пост N: 1927
Зарегистрирован: 17.05.05
|
|
Отправлено: 31.12.10 17:15. Заголовок: И снова GET :) Get п..
И снова GET :) Get получает фокус ввода ogts:bGotFocus := { || oGts:Gohome()} и не пашет Get теряет фокус ввод ogts:bLostFocus := { || oGts:SelectAll()} и не пашет Куда копать и что я делаю не так ? PS Get лежит в Диалоге NOWAIT
|
|
|
|
| |
Пост N: 59
Зарегистрирован: 17.06.10
|
|
Отправлено: 31.12.10 17:45. Заголовок: Что значит "не п..
Что значит "не пашет" ? Какой эффект должен быть достигнут ? Ежели надо переместиться в начало GET'a моно написать так: ogts:bGotFocus := { || oGts:PostMsg(WM_KEYDOWN, VK_HOME)} или ogts:bGotFocus := { || oGts:SetPos(1)}
|
|
|
|
| |
Пост N: 1928
Зарегистрирован: 17.05.05
|
|
Отправлено: 31.12.10 17:57. Заголовок: fil пишет: ogts:bGo..
fil пишет: цитата: | ogts:bGotFocus := { || oGts:SetPos(1)} |
| В том и дело что курсор оказывается в том месте где я ткнул мышкой и совсем не в первой позиции , почему и спросил fil пишет: цитата: | ogts:bGotFocus := { || oGts:PostMsg(WM_KEYDOWN, VK_HOME)} |
| То же самое только все слева от курсора получается выделенным , но курсор именно там где я ткнул мышкой а не "ДОМА" Ситуация следующая. Первый раз попали в GET , курсор на 1 позиции .......побродили в бровсе не закрывая GET и затем в него возвращаемся и на первую позицию не попадаем даже если в bGotFocus прописано встать на 1 позицию. Где засада ?
|
|
|
|
| |
Пост N: 60
Зарегистрирован: 17.06.10
|
|
Отправлено: 31.12.10 18:20. Заголовок: Ага, я тебе в личку ..
Ага, я тебе в личку напиcал
|
|
|
|
| |
Пост N: 1929
Зарегистрирован: 17.05.05
|
|
Отправлено: 31.12.10 18:38. Заголовок: fil пишет: Ага, я т..
fil пишет: цитата: | Ага, я тебе в личку напиcал |
| Получил , спасибо. Честно говоря такой костыль вызвал удивление. И вот так во многих местах в FW до которых добрались мои рученки , везде нужен какой то коcтыль. Почему код ogts:bGotFocus := { || oGts:SetPos(1)} не срабатывает ясно наверное только господину Линаресу , либо я не так понимаю как это работает (молчу уже про систему координат в окне и в диалоге и разницу в масштабе в 2 раза ......это что то и наверное живет только в FW ) Можешь внести ясность ?
|
|
|
|
| |
Пост N: 61
Зарегистрирован: 17.06.10
|
|
Отправлено: 31.12.10 18:51. Заголовок: Не, не могу. Интуити..
Не, не могу. Интуитивно я понимаю, что надо делать так или иначе, а вот обяснить.. это к ММК
|
|
|
|
| |
Пост N: 1930
Зарегистрирован: 17.05.05
|
|
Отправлено: 31.12.10 18:55. Заголовок: fil пишет: а вот об..
fil пишет: цитата: | а вот обяснить.. это к ММК |
| Он не особо любит такие мелкие вопросы и весьма вероятно уведет разговор в другое русло и на вопрос ответа не будет
|
|
|
|
| постоянный участник
|
Пост N: 37
Зарегистрирован: 29.05.10
|
|
Отправлено: 31.12.10 20:36. Заголовок: Dima пишет: Он не о..
Dima пишет: цитата: | Он не особо любит такие мелкие вопросы и весьма вероятно уведет разговор в другое русло и на вопрос ответа не будет |
| А вопрос не мелкий. Т.к. он сильно напоминает анекдот про японскую лесопилку , которую наши мужики все же ломом добили.. Если речь идет о GET нормальной ориентации , то можно покопать , а если ты по прежнему пытаешься "доработать" xBrows всовывая ему свой GET то это к Линарису :))) У меня есть к тебе предложение. Сделай простенький примерчик с диалогом без NOWAIT и GETом тогда будет проще что-то понять и посоветовать. Давйте лучше поздравим друг друга с Новым Годом! :))
|
|
|
|
|
| |
Пост N: 1931
Зарегистрирован: 17.05.05
|
|
Отправлено: 31.12.10 21:47. Заголовок: ММК пишет: Давйте л..
ММК пишет: цитата: | Давйте лучше поздравим друг друга с Новым Годом! :)) |
| Я знал что ты уведешь тему в другое русло С наступающим Новым годом тебя дружище !!! ПС ММК пишет: цитата: | а если ты по прежнему пытаешься "доработать" xBrows всовывая ему свой GET то это к Линарису :))) |
| Я и не пытался это сделать. Речь идет про обычный поиск в бровсе с помощью Get , который живет в NOWAIT диалоге. Не вижу в этом ни чего не обычного. Ведь без NOWAIT , для того что бы переключится в бровс , диалог нужно закрыть.
|
|
|
|
| Администратор
|
Пост N: 1753
Зарегистрирован: 23.05.05
|
|
Отправлено: 31.12.10 22:57. Заголовок: Dima пишет: Речь ид..
Dima пишет: цитата: | Речь идет про обычный поиск в бровсе с помощью Get |
| Я вижу, что, несмотря на накрытый стол и водку в холодильнике, заседание продолжается :) Вставлю и свои 5 копеек. Я для поиска в бровсе обычно вставляю get в панель кнопок oBar. Иногда для бровса делаю переключение режима редакции/поиска. Если включен режим поиска - при наборе с клавиатуры выполняется поиск в активной колонке. Строку поиска при этом отображаю в oMsgBar
|
|
|
|
| |
Пост N: 1933
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.01.11 00:35. Заголовок: Pasha Спасибо за ид..
Pasha Спасибо за идею.
|
|
|
|
| |
Пост N: 1967
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.01.11 16:05. Заголовок: Есть кучка числовых ..
Есть кучка числовых GET в диалоге. В Picture везде присутствует "@Z" , тем не менее при нулевых значениях нолики все равно рисуются. Как это исправить ?
|
|
|
|
| |
Пост N: 69
Зарегистрирован: 17.06.10
|
|
Отправлено: 09.01.11 16:33. Заголовок: Я писал свою обработ..
Я писал свою обработку для цифрового GET'a, но наверное можно после иициализации изобразить oDlg:aControls[nn]:cText(space(нужное число)).
|
|
|
|
| |
Пост N: 1968
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.01.11 18:04. Заголовок: fil Попробую. Спаси..
fil Попробую. Спасибо.
|
|
|
|
| |
Пост N: 70
Зарегистрирован: 17.06.10
|
|
Отправлено: 09.01.11 18:21. Заголовок: Или наоборот - делае..
Или наоборот - делаем GET с PICTURE "X" и переменной в виде строки, а на bGotFocus прописываем туда PICTURE "99.99.99..."
|
|
|
|
| |
Пост N: 1969
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.01.11 18:22. Заголовок: Что то застрял на ро..
Что то застрял на ровном месте , в Clipper это все делалось довольно просто. local ons:=0 local ons1:=0 local ons2:=0 @ 52,150 get ogts var ons picture "@Z@K 999999.999" ; // первый of odlz ; size 130,27 ; on change (ogts:assign(),if(ons==0,eval({||ons1:=0,ons2:=0}),""),; ogts1:assign(),ogts2:assign(),ogts1:refresh(),ogts2:refresh()) @ 82,150 get ogts1 var ons1 picture "@Z@K 9999" ; // второй when if(ons>0 .or. ons2>0,.f.,.t.) ; of odlz ; size 130,27 @ 112,150 get ogts2 var ons2 picture "@Z@K 9999.9" ; // третий when if(ons>0 .or. ons1>0,.f.,.t.) ; of odlz ; size 130,27 В первом GET ввожу цифру больше нуля , но второй и третий GET внешне остаются доступными Вроде в ON CHANGE первого GET все верно написал.
|
|
|
|
| |
Пост N: 71
Зарегистрирован: 17.06.10
|
|
Отправлено: 09.01.11 18:34. Заголовок: А незя так написать ..
А незя так написать on change if(empty(oGts), (oGts1:cText(0), oGts2:cText(0)),"") и ничего рефрешить не надо и вобще лучше пользовать aControls а не конкретные имена
|
|
|
|
| |
Пост N: 1970
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.01.11 18:46. Заголовок: fil пишет: if(empty..
fil пишет: Видать это не то же самое что ONS==0 , не пашет в общем. За подход с cText() , спасибо , учту !!! А что по вопросу WHEN второго и третьего GET ?
|
|
|
|
|
| |
Пост N: 72
Зарегистрирован: 17.06.10
|
|
Отправлено: 09.01.11 18:54. Заголовок: Напиши так iif(val(..
Напиши так iif(val(oDlg:aControls[1]:cText())==0, (oDlg:aControls[2]:cText(0), oDlg:aControls[2]:Disable(), oDlg:aControls[3]:cText(0), oDlg:aControls[3]:Disable() ), (oDlg:aControls[2]:Enable(), oDlg:aControls[3]:Enable()) )
|
|
|
|
| |
Пост N: 1971
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.01.11 19:25. Заголовок: fil Начинаю входить..
fil Начинаю входить во вкус ООП Спасибо.
|
|
|
|
| |
Пост N: 1973
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.01.11 20:47. Заголовок: А вообще крайне не у..
А вообще крайне не удобно конечно что функция форматирования @Z Picture для GET работает не так , как в Clipper :) Придется ёрзать способ с подменой Picture и символьными переменными....раз нет других идей :)
|
|
|
|
| |
Пост N: 74
Зарегистрирован: 17.06.10
|
|
Отправлено: 09.01.11 20:55. Заголовок: В свое время у меня ..
В свое время у меня тож не получилось, к томуже потребовали, чтоб усе как в Excel.. Пришлось делать свое
|
|
|
|
| |
Пост N: 1974
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.01.11 20:59. Заголовок: fil пишет: В свое в..
fil пишет: цитата: | В свое время у меня тож не получилось |
| А что говорят по этому поводу на форуме у Линареса ? Долго там копался и не нашел пока что.......
|
|
|
|
| |
Пост N: 75
Зарегистрирован: 17.06.10
|
|
Отправлено: 09.01.11 21:14. Заголовок: Dima пишет: А что ..
Dima пишет: цитата: | А что говорят по этому поводу на форуме у Линареса ? Долго там копался и не нашел пока что....... |
| Научился Вроде как они там довольно уверенно picture функциями пользуются. @Z я, правда, не нашел. Но эт надо все njgs picture get листать
|
|
|
|
| |
Пост N: 1975
Зарегистрирован: 17.05.05
|
|
Отправлено: 09.01.11 21:47. Заголовок: fil пишет: Научился..
fil пишет: В начале я там ищу а потом если ответа не нахожу , спрашиваю тут.
|
|
|
|
| |
Пост N: 1978
Зарегистрирован: 17.05.05
|
|
Отправлено: 10.01.11 17:06. Заголовок: Dima пишет: А вообщ..
Dima пишет: цитата: | А вообще крайне не удобно конечно что функция форматирования @Z Picture для GET работает не так , как в Clipper :) |
| Ладно , как там Павел говорил , берем кувалду и напильник и правим ;) Отыгрался цветами (написал не большую функцию) , которую как клин пришлось вставлять в Bchange,blostfocus,bgotfocus и тд и тп Для 3-х моих числовых GET , она такова Func Cvet(og,og1,og2) // типа аналог @Z og:setcolor(if(val(og:ctext())==0 .and. !og:lfocused,CLR_WHITE,CLR_BLACK),CLR_WHITE) og1:setcolor(if(val(og1:ctext())==0 .and. !og1:lfocused,CLR_WHITE,CLR_BLACK),CLR_WHITE) og2:setcolor(if(val(og2:ctext())==0 .and. !og2:lfocused,CLR_WHITE,CLR_BLACK),CLR_WHITE) return nil
|
|
|
Ответов - 29
, стр:
1
2
All
[только новые]
|
|