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


Пост 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 
ПрофильЦитата Ответить
Ответов - 148 , стр: 1 2 3 4 5 6 7 8 All [только новые]


постоянный участник




Пост N: 3974
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.02.15 20:56. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Поправил для следующей сборки...


Большое СПАСИБО !

А ПОКА - какой исходник можно самому подправить и к себе в проект поставить ?

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




Пост N: 725
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 19.02.15 21:59. Заголовок: Andrey пишет: какой..


Andrey пишет:

 цитата:
какой исходник можно самому подправить


Вот этот:
click here

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




Пост N: 3976
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.02.15 23:19. Заголовок: Спасибо БОЛЬШОЕ !!! ..


Спасибо БОЛЬШОЕ !!!

Работает....
2DBF-3.7z - https://cloud.mail.ru/public/5d315f972a72/MiniGui-Error

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




Пост N: 4023
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 02.03.15 20:02. Заголовок: У меня в задаче есть..


У меня в задаче есть меню с ДВУМЯ вкладками
Можно ли объект TBROWSE (созданный на 1-ой вкладке) скопировать на вторую вкладку ?
PAGE ' 1-я вкладка '

DEFINE TBROWSE oBrw8 ;
AT nHTabW,2 ;
WIDTH 510 HEIGHT GetClientHeight(hWnd)-(nHButt-1*2) - nHTabW -3 ;
ON CHANGE { || MyChangeBrowse8("oBrw8") } ;
ON GOTFOCUS MyChangeBrowse8("oBrw8") ;
BACKCOLOR aBackColor ;
SELECTOR .T. ;
CELL

END TBROWSE

END PAGE

PAGE ' 2-я вкладка '
..............

END PAGE



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




Пост N: 4026
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.03.15 17:29. Заголовок: Есть ли возможность ..


Есть ли возможность в МиниГуи копировать объект и располагать на другой форме ?
Может мой вопрос неправильный, так скажите пожалуйста...

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




Пост N: 4574
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.03.15 17:39. Заголовок: Drag and Drop что ли..


Drag and Drop что ли ?

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




Пост N: 4027
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.03.15 17:47. Заголовок: Dima пишет: Drag an..


Dima пишет:

 цитата:
Drag and Drop что ли ?


Нет в коде. Чтобы не писать дублирующий код - типа так:
PAGE ' 1-я вкладка '

DEFINE TBROWSE oBrw8 ;
AT nHTabW,2 ;
WIDTH 510 HEIGHT GetClientHeight(hWnd)-(nHButt-1*2) - nHTabW -3 ;
ON CHANGE { || MyChangeBrowse8("oBrw8") } ;
ON GOTFOCUS MyChangeBrowse8("oBrw8") ;
BACKCOLOR aBackColor ;
SELECTOR .T. ;
CELL

END TBROWSE


END PAGE

PAGE ' 2-я вкладка '
DEFINE TBROWSE oBrw7 ;
AT nHTabW,2 ;
WIDTH 510 HEIGHT GetClientHeight(hWnd)-(nHButt-1*2) - nHTabW -3 ;
ON CHANGE { || MyChangeBrowse8("oBrw7") } ;
ON GOTFOCUS MyChangeBrowse8("oBrw7") ;
BACKCOLOR aBackColor ;
SELECTOR .T. ;
CELL

END TBROWSE


END PAGE


Есть ли команды - скопировать объект и разместить на форме ?

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




Пост N: 488
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 03.03.15 17:54. Заголовок: Andrey пишет: Чтобы..


Andrey пишет:

 цитата:
Чтобы не писать дублирующий код


оформляй его в виде функции или процедуры один раз и вызывай сколько и где хош

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




Пост N: 4028
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.03.15 18:13. Заголовок: А как привязать этот..


А как привязать этот объект из функции на 1-ю и 2-у вкладку.

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




Пост N: 733
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 03.03.15 18:18. Заголовок: Andrey пишет: как п..


Andrey пишет:

 цитата:
как привязать этот объект из функции на 1-ю и 2-у вкладку


Посмотри рабочий пример ниже
Скрытый текст


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




Пост N: 4029
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.03.15 18:36. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Посмотри рабочий пример ниже


А сразу объект TBROWSE на 1-ю и вторую вкладку можно разместить ?
Без кнопочек открыть ?

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




Пост N: 734
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 03.03.15 18:53. Заголовок: Andrey пишет: А сра..


Andrey пишет:

 цитата:
А сразу объект TBROWSE на 1-ю и вторую вкладку


Да, по команде ниже

 цитата:

<Имя формы>.<Имя TAB>.addcontrol(<Имя TBROWSE>,<Номер вкладки TAB>,<Номер ряда>,<Номер колонки>)



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




Пост N: 4030
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 03.03.15 19:05. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Да, по команде ниже


Спасибо БОЛЬШОЕ ! Буду разбираться...

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




Пост N: 4068
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.03.15 11:16. Заголовок: Andrey пишет: Тольк..


Andrey пишет:

 цитата:
Только до редактирования же НЕ ДОХОДИТ !!! Я колёсиком вверх-вниз и алиас уже слетает !!!
Т.е. стоя на 5-7 записях в справочнике уже видно что база отвалилась !!!

Andrey пишет:

цитата:
Сделал новый тест в функции MyFieldEdit() до начала редактирования при слёте базы:

MsgDebug(oBrw_1:nLen, ALIAS(), oBrw_1:cAlias )
MsgDebug( "RLock()=", (oBrw_1:cAlias)->(RLock()) )

Т.е. колёсиком подергал вверх-вниз на 5 записях, функция MyChangeBrowse(cAlias) показывает 0/0
начинаю редактировать:
1. MsgDebug показывает 5, "", "STREET"
2. MsgDebug показывает "RLock()=" .T.

Т.е. АЛИАС по всей задачи ALIAS() = "" - убит !!! Кем ?
На экране таблица есть (в объекте) а все связи разорваны !

А вот еще облом, если записей много колёсиком-мышки нужно подергать вверх-вниз (просто на экране, не на всю длину) и то же вылетает .... 0/0 записей....



Возвращаюсь опять к предыдущей теме.
Теперь прога стала "сваливаться" на редактирование базы, то нормально редактирует, то нет. Закономерностей нет.
После некоторого анализа, дошло до меня....
После запуска программы, на главной форме я повесил таймер для перечитывания(открытие/закрытие) базы-журнала работающих в программе...
Может дело в этом ?


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




Пост N: 4069
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.03.15 11:21. Заголовок: Haz пишет: не убит,..


Haz пишет:

 цитата:
не убит, где-то сработал Select(0) вот и стал текущим пустой алиас. На 99% уверен что если твой RecLock() вызывать из алиасного выражения STREET->(RecLock()) то ошибка уйдет. Но это костыль, а не исправление ошибки. По уму надо найти "виновника"



Виновник найден !
Совсем мало прошло, чуть больше месяца....

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




Пост N: 627
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.05.15 09:54. Заголовок: Простая конструкция ..


Простая конструкция TsBrowse не включает корректировку (удаление работает) :
 
@ 10,10 TBROWSE oBrw5 ALIAS "Test" OF Form_1 ;
WIDTH 350 HEIGHT 380 CELLED;
HEADERS "Code","First","Last","Birth","Bio" ;
WIDTHS 50,150,150,100,200 ;
FIELDS Test->Code,Test->First,Test->Last,Test->Birth,Test->Bio ;
VALUE 1 ;
BACKCOLOR YELLOW ;
FONTCOLOR BLUE ;
LOCK ;
DELETE ;
EDITABLE

добавление доп. манипуляции исправляет ситуацию корректировки:
k := len(oBrw5:aColumns)
FOR i := 1 TO k
oBrw5:aColumns[ i ]:lEdit := ( i < k )
NEXT
но это лишние телодвижения ...
Отключение корректировки - результат не передачи в методе Default() параметра ::lEditable
h_tsbrowse.prg (line 1779)
::AddColumn( TSColumn():New( ::aHeaders[ nI ], bBlock, ::aFormatPic[nI], { ::nClrText, ::nClrPane, ;
::nClrHeadFore, ::nClrHeadBack, ::nClrFocuFore, ::nClrFocuBack }, ;
{aJustify[ nI ], 1}, ::aColSizes[ nI ],::lEditable, ; // здесь не задан параметр
ValType( Eval( ::bLine )[ nI ] ) == "B",,,,,,, ;
5,, {.F., .T.},, Self, cBlock ) )

это неточность или задумано специально ?


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




Пост N: 628
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.05.15 19:36. Заголовок: SergKis пишет:{aJust..


SergKis пишет:
 цитата:
{aJustify[ nI ], 1}, ::aColSizes[ nI ],::lEditable, ; // здесь не задан параметр


немного промахнулся в запятых, надо так:
 
::AddColumn( TSColumn():New( ::aHeaders[ nI ], bBlock, ::aFormatPic[nI], { ::nClrText, ::nClrPane, ;
::nClrHeadFore, ::nClrHeadBack, ::nClrFocuFore, ::nClrFocuBack }, ;
{aJustify[ nI ], 1}, ::aColSizes[ nI ],, ;
(::lEditable .or. ValType( Eval( ::bLine )[ nI ] ) == "B"),,,,,,, ;
5,, {.F., .T.},, Self, cBlock ) )

так работает

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




Пост N: 629
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 16.05.15 20:00. Заголовок: Продолжаю мучить про..


Продолжаю мучить простой вариант TsBrowse, добавил
 
@ 10,10 TBROWSE oBrw5 ALIAS "Test" OF Form_1 ;
WIDTH 350 HEIGHT 380 CELLED;
HEADERS "Code","First","Last","Birth","Bio" ;
WIDTHS 50,150,150,100,200 ;
FIELDS Test->Code,Test->First,Test->Last,Test->Birth,Test->Bio ;
VALUE 1 ;
BACKCOLOR YELLOW ;
FONTCOLOR BLUE ;
READONLY {.T.,.T.,.T.,.T.,.F.} ;
LOCK ;
DELETE ;
EDITABLE

и ... упс ... READONLY подвешен в воздухе, упоминается в Function _DefineTBrowse (...)
как HB_SYMBOL_UNUSED( readonly ) и все, т.е. вынесено из define ... "как трудно жить" (c),
перевести простой browse, на простой TBrowse


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




Пост N: 749
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 19.05.15 12:25. Заголовок: SergKis пишет: Прос..


SergKis пишет:

 цитата:
Простая конструкция TsBrowse не включает корректировку


Благодарю за помощь.
Уже включил это исправление в следующую сборку

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




Пост N: 630
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 19.05.15 19:05. Заголовок: SergKis пишет:переве..


SergKis пишет:
 цитата:
перевести простой browse, на простой TBrowse


победил так ( h_tsbrowse.prg):
 
Function _DefineTBrowse ( ... )
...
LOCAL i, j, k, n // BK 18.05.2015
...
if ValType(aColSel) != 'U' .and. ValType(aColSel) =='A'
IF ValType(aColSel[1]) =='A'
aColSel := aColSel[1]
endif
endif

IF valtype(uWhen) == 'B' // BK 18.05.2015
IF valtype(readonly) != 'A' //
readonly := eval(uWhen) //
ENDIF //
uWhen := Nil // иначе снятие
ENDIF //
IF valtype(valid) == 'B' //
valid := eval(valid) //
ENDIF // BK

if ( FontHandle := GetFontHandle( FontName ) ) != 0
...

oBrw := TSBrowse():New( ControlName, nRow, nCol, nWidth, nHeight,;
bFields, aHeaders, aWidths, ParentFormName,;
change , bDblClick, bRClick, fontname, fontsize, ;
hCursor, aTmpColor , aBmp, cMsg, update, uAlias, uWhen, value, cell,;
nStyle, bLClick, aFlds, aHeadClick, nLineStyle, lRePaint,;
Delete, aJust, lock, appendable, lEnum,;
lAutoSearch, uUserSearch, lAutoFilter, uUserFilter, aPicture, ;
lTransparent, uSelector, lEditable, lAutoCol, aColSel, tooltip)

IF ( k := len(oBrw:aColumns) ) > 0 // BK 18.05.2015
IF valtype(readonly) == 'A' // sets oCol:bWhen
n := Min(len(readonly), k) //
FOR i := 1 TO n //
j := readonly[ i ] //
IF valtype(j) == 'B' //
oBrw:aColumns[ i ]:bWhen := j //
ELSEIF j == NIL .or. ! empty(j) //
oBrw:aColumns[ i ]:bWhen := {||.T.} //
oBrw:aColumns[ i ]:cWhen := '{||.T.}' //
ELSE //
oBrw:aColumns[ i ]:bWhen := {||.F.} //
oBrw:aColumns[ i ]:cWhen := '{||.F.}' //
ENDIF //
NEXT //
ENDIF //
IF valtype(valid) == 'A' // sets oCol:bValid
n := Min(len(valid), k) //
FOR i := 1 TO n //
IF valtype(valid[ i ]) == 'B' //
oBrw:aColumns[ i ]:bValid := valid[ i ] //
ENDIF //
NEXT //
ENDIF //
ENDIF // BK
...
ControlHandle := oBrw:hWnd
IF ValType(gotfocus) != "U"
...
Работает:
@ 10,10 TBROWSE oBrw5 ALIAS "Test" OF Form_1 ;
WIDTH 350 HEIGHT 380 CELLED;
HEADERS "Code","First","Last","Birth","Bio" ;
WIDTHS 50,150,150,100,200 ;
FIELDS Test->Code,Test->First,Test->Last,Test->Birth,Test->Bio ;
VALUE 1 ;
BACKCOLOR YELLOW ;
FONTCOLOR BLUE ;
VALID {{|v,o| myValid(1, v, o)}, {|v,o| myValid(2, v, o)} } ;
READONLY {{|o| myROnly(1, o)},.T.,.T.,.T.,.F.} ;
LOCK ;
DELETE ;
EDITABLE

@ 10,10 TBROWSE oBrw5 ALIAS "Test" OF Form_1 ;
WIDTH 350 HEIGHT 380 CELLED;
HEADERS "Code","First","Last","Birth","Bio" ;
WIDTHS 50,150,150,100,200 ;
FIELDS Test->Code,Test->First,Test->Last,Test->Birth,Test->Bio ;
VALUE 1 ;
BACKCOLOR YELLOW ;
FONTCOLOR BLUE ;
WHEN {{|o| myWhen(1, o)}, {|o| myWhen(2, o)}, {|o| myWhen(3, o)}, {|o| myWhen(4, o)}, .F.} ;
VALID {{|v,o| myValid(1, v, o)}, {|v,o| myValid(2, v, o)}, , , } ;
LOCK ;
DELETE ;
EDITABLE


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

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