Автор | Сообщение |
|
| постоянный участник
|
Пост 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:....
| |
|
Ответов - 148
, стр:
1
2
3
4
5
6
7
8
All
[только новые]
|
|
|
| постоянный участник
|
Пост N: 468
Зарегистрирован: 17.02.12
|
|
Отправлено: 26.01.15 19:29. Заголовок: Andrey AEval(array(..
Andrey AEval(array(50), {|x,e| iif( (e)->( used() ), aAdd(a, (e)->( alias() )), nil) })
| |
|
|
| |
Пост N: 422
Зарегистрирован: 20.02.11
|
|
Отправлено: 26.01.15 20:37. Заголовок: SergKis пишет: Т.е...
пишет: цитата: | Т.е. АЛИАС по всей задачи ALIAS() = "" - убит !!! Кем ? |
| не убит, где-то сработал Select(0) вот и стал текущим пустой алиас. На 99% уверен что если твой RecLock() вызывать из алиасного выражения STREET->(RecLock()) то ошибка уйдет. Но это костыль, а не исправление ошибки. По уму надо найти "виновника"
| |
|
|
| постоянный участник
|
Пост N: 3932
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.01.15 21:00. Заголовок: Haz пишет: MYFIELDE..
Haz пишет: Да вот она, с терминалки перетащил, еще не вычищал... Скрытый текст STATIC FUNCTION MyFieldEdit(aCargo) // aCargo не используется, везде Static переменные LOCAL cTemp, cPoleTemp, cTemp2, aRet LOCAL cRunFun, tmp, cScr25, cFuncName, cT, cRetval, cTitle LOCAL nRet, nSRet, nPoleEdit, cPoleEdit LOCAL nCol := oBrw_1:nCell // колонка на которой стоит маркер LOCAL cPoleField := aPoleField[nCol] // поле БД на котором стоит маркер LOCAL cPolePict := aPolePict[nCol] // формат поля БД на котором стоит маркер LOCAL lEditField := .F. , nKey := oBrw_1:nFireKey LOCAL cTitleSpr := " " + aPoleName[nCol] // Справочник MsgDebug(oBrw_1:nLen, ALIAS(), oBrw_1:cAlias ) MsgDebug( "RLock()=", (oBrw_1:cAlias)->(RLock()) ) IF oBrw_1:nLen == 0 // для отладки, чтобы искать ошибки MyMESSAGE( 'Нет записей для редактирования ! ;;Переоткройте справочник ЗАНОВО !' ) RETURN .F. ENDIF // aFields[1] - первое поле справочника (Код) для сверки с == 0 IF FieldGet( FIELDNUM( aPoleField[1] ) ) == 0 // нет прав доступа к записи MyMESSAGE( 'Нельзя редактировать запись с КОДОМ = 0 !', 2 ) RETURN .F. ENDIF // aPoleDost, aPoleWrite - STATIC IF M->aOperator[ M->nSP_ENTER ] == "0" // нет прав доступа к записи MyMESSAGE( 'Нет прав доступа редактирования записи !', 2 ) ELSE IF aPoleDost[ nCol ] == "SF" IF Len( aPoleWrite[ nCol, 4 ] ) == 0 aPoleWrite[ nCol, 4 ] := aPoleWrite[ nCol, 3 ] + "2" ENDIF cTemp := AllTrim( aFiltPole[ nCol ] ) IF Len( cTemp ) > 0 nSRet := Sel_Dim( , , aPoleWrite[ nCol, 1 ], aPoleWrite[ nCol, 2 ], ; aPoleWrite[ nCol, 3 ], aPoleWrite[ nCol, 4 ], cTemp, "OPEN", cTitleSpr,.F. ) ELSE nSRet := Sel_Dim( , , aPoleWrite[ nCol, 1 ], aPoleWrite[ nCol, 2 ], ; aPoleWrite[ nCol, 3 ], aPoleWrite[ nCol, 4 ], "", ,cTitleSpr, .F. ) ENDIF IF nSRet > -1 //0 cTemp2 := aPoleWrite[ nCol, 2 ] // сетевой захват записи IF ( RecLock( LOCK_RETRY ) ) FIELDPUT(FIELDNUM(cTemp2), nSRet ) IF FIELDNUM( "KOPERAT" ) > 0 FIELDPUT(FIELDNUM("KOPERAT"), M->nOperat ) // кто изменил справочник ENDIF //DBCOMMIT() DBUnlock() ENDIF ENDIF ELSEIF aPoleDost[ nCol ] == "AS" IF Len( aPoleWrite[ nCol, 4 ] ) == 0 aPoleWrite[ nCol, 4 ] := aPoleWrite[ nCol, 3 ] + "2" ENDIF nSRet := Sel_Dim( , , aPoleWrite[ nCol, 1 ], aPoleWrite[ nCol, 2 ], ; aPoleWrite[ nCol, 3 ], aPoleWrite[ nCol, 4 ], "", ,cTitleSpr, .F. ) IF nSRet > -1 //0 cTemp2 := aPoleWrite[ nCol, 2 ] // сетевой захват записи IF ( RecLock( LOCK_RETRY ) ) FIELDPUT(FIELDNUM(cTemp2), nSRet ) IF FIELDNUM( "KOPERAT" ) > 0 FIELDPUT(FIELDNUM("KOPERAT"), M->nOperat ) // кто изменил справочник ENDIF //DBCOMMIT() DBUnlock() ENDIF ENDIF ELSEIF aPoleDost[ nCol ] == "S" IF Len( aPoleWrite[ nCol, 4 ] ) == 0 aPoleWrite[ nCol, 4 ] := aPoleWrite[ nCol, 3 ] + "2" ENDIF IF aFiltBase[ 1 ] == .T. IF aFiltBase[ 4 ] == "N" cTemp := aFiltBase[ 2 ] + " ==" + AllTrim( Str( aFiltBase[ 3 ] ) ) ELSE cTemp := aFiltBase[ 2 ] + " ==" + aFiltBase[ 3 ] ENDIF nSRet := Sel_Dim( , , aPoleWrite[ nCol, 1 ], aPoleWrite[ nCol, 2 ], ; aPoleWrite[ nCol, 3 ], aPoleWrite[ nCol, 4 ], cTemp, "OPEN",cTitleSpr,.F. ) ELSE nSRet := Sel_Dim( , , aPoleWrite[ nCol, 1 ], aPoleWrite[ nCol, 2 ], ; aPoleWrite[ nCol, 3 ], aPoleWrite[ nCol, 4 ], "", ,cTitleSpr,.F., ) ENDIF IF nSRet > -1 //0 cTemp2 := aPoleWrite[ nCol, 2 ] // сетевой захват записи IF ( RecLock( LOCK_RETRY ) ) FIELDPUT(FIELDNUM(cTemp2), nSRet ) IF FIELDNUM( "KOPERAT" ) > 0 FIELDPUT(FIELDNUM("KOPERAT"), M->nOperat ) // кто изменил справочник ENDIF //DBCOMMIT() DBUnlock() ENDIF ENDIF lEditField := .F. ELSEIF aPoleDost[ nCol ] == "T" IF Len( aPoleWrite[ nCol, 4 ] ) == 0 aPoleWrite[ nCol, 4 ] := aPoleWrite[ nCol, 3 ] + "2" ENDIF cPoleTemp := aFiltPole[ nCol ] IF FIELDNUM( cPoleTemp ) > 0 nSRet := FieldGet( FIELDNUM( cPoleTemp ) ) IF nSRet == 0 Message( 'полe "' + cPoleTemp + '" == 0', 5 ) ELSE cTemp := aFiltPole[ nCol ] + " == " + AllTrim( Str( tmp ) ) nSRet := SEL_DIM( , , aPoleWrite[ nCol, 1 ], aPoleWrite[ nCol, 2 ], ; aPoleWrite[ nCol, 3 ], aPoleWrite[ nCol, 4 ], cTemp, "OPEN", cTitleSpr,.F. ) IF nSRet > -1 //0 cTemp2 := aPoleWrite[ nCol, 2 ] // сетевой захват записи IF ( RecLock( LOCK_RETRY ) ) FIELDPUT(FIELDNUM(cTemp2), nSRet ) IF FIELDNUM( "KOPERAT" ) > 0 FIELDPUT(FIELDNUM("KOPERAT"), M->nOperat ) // кто изменил справочник ENDIF //DBCOMMIT() DBUnlock() ENDIF ENDIF ENDIF ELSE Message( 'Нет поля "' + cPoleTemp + '" в БД' + Alias(), 5 ) ENDIF lEditField := .F. ELSEIF aPoleDost[ nCol ] == "R" Message( "Нельзя редактировать поле", 2 ) lEditField := .F. ELSEIF aPoleDost[ nCol ] == "J" cRunFun := aPoleWrite[ nCol, 1 ] IF ( RecLock( LOCK_RETRY ) ) aRet := &cRunFun cTemp2 := aRet[ 1 ] nSRet := aRet[ 2 ] // сетевой захват записи FIELDPUT(FIELDNUM(cTemp2), nSRet ) IF FIELDNUM( "KOPERAT" ) > 0 FIELDPUT(FIELDNUM("KOPERAT"), M->nOperat ) // кто изменил справочник ENDIF //DBCommit() DBUnlock() ENDIF lEditField := .F. ELSE IF nCol == 1 // первое поле КОД // &cBrw:aColumns[1]:lEdit := .F. // Редактирование поля 1 всегда ЗАПРЕЩЕНО // нужно делать отдельный доступ для оператора 101 // т.к. в справочниках 1-е поле это КОД НАИМЕНОВАНИЯ IF oBrw_1:nFireKey == VK_F9 .AND. M->nOperat == 101 lEditField := .T. // Можно редактировать эту ячейку ! ELSE MyMessage( "Нельзя редактировать это поле !", 2 ) ENDIF ELSE cPoleEdit := FieldGet( FIELDNUM( cPoleField ) ) // обработка на ТИП ПОЛЯ // MsgDebug(nCol," > ", "обработка на ТИП ПОЛЯ", cPoleField) IF FIELDTYPE(FIELDNUM( cPoleField )) == "M" cTitle := aPoleWrite[ nCol, 1 ] cFuncName := aPoleWrite[ nCol, 2 ] cT := Type( cFuncName ) IF .NOT.( cT == 'UI' .OR. cT == 'UE' ) MyMessage( 'Функции '+cFuncName+' нет в EXE-файле !; Обратитесь к разработчику программы !', 1 ) cRetval := "" ELSE cRetval := &cFuncName ENDIF // сетевой захват записи IF ( RecLock( LOCK_RETRY ) ) IF VALTYPE(aPoleWrite[nCol,3]) # "A" MyMessage( 'Нет массива координат !; Обратитесь к разработчику программы !', 1 ) Edit_Memo(cTitle+cRetval ,'' , cPoleField, .T., ) ELSE Edit_Memo(cTitle+cRetval ,'' , cPoleField, .T., aPoleWrite[nCol,4] ,aPoleWrite[nCol,3] ) ENDIF cPoleEdit := FieldGet( FIELDNUM( cPoleField ) ) //DBCommit() DBUnlock() ENDIF ELSE //MsgDebug("Line23ed()", "Set CURSOR ON","@ y, x GET cPoleEdit PICTURE cPolePict","READ") lEditField := .T. // Можно редактировать эту ячейку ! ENDIF IF lEditField // сетевой захват записи IF ( RecLock( LOCK_RETRY ) ) FieldPut( FIELDNUM( cPoleField ), cPoleEdit ) IF FIELDNUM( "KOPERAT" ) > 0 FIELD->KOPERAT := M->nOperat ENDIF //DBCommit() DBUnlock() ENDIF ENDIF ENDIF // nCol == 1 // первое поле КОД ENDIF // aPoleDost[ nCol ] == "SF", "S" ..... ENDIF IF lEditField == .F. oBrw_1:Refresh() ENDIF DoMethod( 'Form_Spr',"oBrw_1", "SetFocus" ) RETURN lEditField
| Только до редактирования же НЕ ДОХОДИТ !!! Я колёсиком вверх-вниз и алиас уже слетает !!! Т.е. стоя на 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 записей....
| |
|
|
| постоянный участник
|
Пост N: 3933
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.01.15 21:28. Заголовок: Haz пишет: в bPrev..
Haz пишет: цитата: | в bPrevEdit тыкни MsgDebug( Alias() ) |
| Где поставить проверку ?
| |
|
|
| |
Пост N: 423
Зарегистрирован: 20.02.11
|
|
Отправлено: 26.01.15 21:54. Заголовок: Andrey пишет: Где п..
Andrey пишет: так уже поставил , выяснил что текущий алиас меняется . поставь первой строкой в MyFieldEdit dbSelectArea("STREET")
| |
|
|
| постоянный участник
|
Пост N: 3934
Зарегистрирован: 12.09.06
|
|
Отправлено: 26.01.15 23:08. Заголовок: Haz пишет: поставь ..
Haz пишет: цитата: | поставь первой строкой в MyFieldEdit dbSelectArea("STREET") |
| Понял, СПАСИБО БОЛЬШОЕ ! Только я через статик переменную это поставил в MyChangeBrowse() и в MyFieldEdit() IF LEN(ALIAS()) == 0 dbSelectArea( cStaticAliasMain ) ENDIF Спасибо БОЛЬШОЕ всем кто помогал !!!
| |
|
|
| |
Пост N: 424
Зарегистрирован: 20.02.11
|
|
Отправлено: 27.01.15 09:26. Заголовок: Andrey пишет: Тольк..
Andrey пишет: цитата: | Только я через статик переменную |
| а лучше так dbSelectArea( oBrw:cAlias ) ты ж бровс редактируешь а в нем алиас и так есть
| |
|
|
| постоянный участник
|
Пост N: 3939
Зарегистрирован: 12.09.06
|
|
Отправлено: 10.02.15 18:01. Заголовок: Опять :sm183: Как..
Опять Как создать колонку для показа/редактирования записей из массива ? Т.е. в базе содержится поле KGROUP и взамен его значения нужно показывать значение из массива MyDimGroup() ADD COLUMN TO oBrw9 HEADER CRLF + "Группа" SIZE 150 ; ALIGN DT_CENTER,DT_CENTER,DT_RIGHT ; DATA FieldWBlock( "KGROUP", Select() ) ; // как здесь определить ? EDITABLE oBrw9:aColumns[6]:bPrevEdit := { || MyDimGroup(), FALSE } // как здесь сделать вызов ? Если делаю напрямую, без oBrw9:aColumns[6]:bPrevEdit := .... ...... EDITABLE MyDimGroup() то справочник вызывается....
| |
|
|
| |
Пост N: 455
Зарегистрирован: 20.02.11
|
|
Отправлено: 10.02.15 18:29. Заголовок: Andrey пишет: Как с..
Andrey пишет: цитата: | Как создать колонку для показа/редактирования записей из массива |
| Вот стандартный из TSCOLUMN для понимания как работает Function ArrayWBlock( oBrw, nEle ) Return {|x| If(PCount() > 0, oBrw:aArray[ oBrw:nAt, nEle ] := x, oBrw:aArray[ oBrw:nAt, nEle ] ) } Вообще любой блок выборки записи упрощенно работает так 1. Если ему передают параметр - присваивает значение этого параметра ( запись) 2. Если не передают - читает ( выборка ) т.е. выборка должна быть типа aArray[ Ascan( aArray, (Alias())->KGROUP )] , при этом учитывать что если не найдет - будет вылет по ошибке aArray[ 0] ЗЫ. Пример условный т.к. не ясно что за массив ЗЫЫ Или опять тот же совет - смотреть как используется ::SetData() в исходниках tsBrowse - 100% твой случай
| |
|
|
| постоянный участник
|
Пост N: 3940
Зарегистрирован: 12.09.06
|
|
Отправлено: 10.02.15 18:40. Заголовок: Haz пишет: Пример у..
Haz пишет: цитата: | Пример условный т.к. не ясно что за массив |
| Приблизительно так: AADD( aDim, { 0 , "---" } ) AADD( aDim, { 1 , "Новичок" } ) AADD( aDim, { 2 , "Руководство" } ) AADD( aDim, { 3 , "Специалисты" } ) AADD( aDim, { 4 , "Опытные пользователи" } ) AADD( aDim, { 5 , "Администратор БД" } ) AADD( aDim, { 90, "Уволенные с фирмы" } ) AADD( aDim, { 99, "Удаленные записи" } ) FOR nI := 1 TO LEN(aDim) AADD( aCod, aDim[nI,1] ) AADD( aNum, aDim[nI,2] ) NEXT DATA FieldWBlock( "KGROUP", Select() ) ; // как здесь определить ?
| |
|
|
| |
Пост N: 456
Зарегистрирован: 20.02.11
|
|
Отправлено: 10.02.15 18:48. Заголовок: для колонки 1 по пол..
для колонки 1 по полю KGROUP примерно так oBrw:SetData( 1, ComboWBlock( oBrw, " KGROUP", 1, aArr ) ) в бровсе будет отображаться значение из массива только aArr := { aNom, aCod } нужно заменить на aArr := { aCod, aNom } все ж есть в примерах
| |
|
|
|
| постоянный участник
|
Пост N: 3941
Зарегистрирован: 12.09.06
|
|
Отправлено: 10.02.15 19:05. Заголовок: Haz пишет: все ж ес..
Haz пишет: Спасибо БОЛЬШОЕ ! Кое что не получалось.... А как назначить блок выбора из массива ? oBrw9:aColumns[6]:bPrevEdit := { || MyDimGroup(), FALSE } // как здесь сделать вызов ? Если делаю напрямую, без oBrw9:aColumns[6]:bPrevEdit := .... ...... EDITABLE MyDimGroup() то справочник вызывается....
| |
|
|
| |
Пост N: 457
Зарегистрирован: 20.02.11
|
|
Отправлено: 10.02.15 21:40. Заголовок: Andrey пишет: А как..
Andrey пишет: цитата: | А как назначить блок выбора из массива ? oBrw9:aColumns[6]:bPrevEdit := { || MyDimGroup(), FALSE } // как здесь сделать вызов ? |
| А какова цель этого ^^^ ? При чем тут блок выбора и :bPrevEdit ?
| |
|
|
| постоянный участник
|
Пост N: 3942
Зарегистрирован: 12.09.06
|
|
Отправлено: 10.02.15 23:40. Заголовок: Haz пишет: А какова..
Haz пишет: цитата: | А какова цель этого ^^^ ? |
| Хочу при нажатии на этой колонке, осуществлять выбор из справочника. Я не понимаю как делать отдельный выбор (вызов функции обработки) по колонке. Для мемо-поля (или другой отдельной функции) такой вариант проходит, а для выбора из ComboWBlock( oBrw, "KGROUP", 1, aArr ) почему то нет. Вот например эти функции нормально вызываются (по клавише ENTER): oBrw9:aColumns[4]:bPostEdit := {|| SeekLogin(), FALSE } // проверка после ввода oBrw9:aColumns[7]:bPrevEdit := { || SavePassword(), FALSE } // запись пароля А так не вызывается: (почему ? ) ADD COLUMN TO oBrw9 HEADER "Группа" ; ALIGN DT_CENTER,DT_CENTER,DT_RIGHT ; EDITABLE oBrw9:aColumns[6]:bPrevEdit := { || MyDimGroup(), FALSE } // вызов справочника Нужно делать только так (без блока): ...... EDITABLE MyDimGroup() Функция MyDimGroup() - переделана из примера \MiniGUI\SAMPLES\Advanced\Tsb_config Скрытый текст FUNCTION MyDimGroup() LOCAL nI, aDim := {}, aArr:={},aCod := {}, aNom := {} LOCAL cPCode := "KGROUP" // поле записи в базу LOCAL nVal := 6 // номер колонки в таблице AADD( aDim, { 0 , "---" } ) AADD( aDim, { 1 , "Новичок" } ) AADD( aDim, { 2 , "Руководство" } ) AADD( aDim, { 3 , "Специалисты" } ) AADD( aDim, { 4 , "Опытные пользователи" } ) AADD( aDim, { 5 , "Администратор БД" } ) AADD( aDim, { 90, "Уволенные с фирмы" } ) AADD( aDim, { 99, "Удаленные записи" } ) FOR nI := 1 TO LEN(aDim) AADD( aCod, aDim[nI,1] ) AADD( aNom, aDim[nI,2] ) NEXT aArr := { aNom, aCod } // показ справочника (вариант 1) // oBrw:SetData( nVal, ComboWBlock( oBrw, cAlias+"->"+cPName, nVal, aDim ) ) // показ справочника (вариант 2) oBrw9:SetData( nVal, NIL, aArr) oBrw9:aColumns[nVal]:lEdit := .t. // Редактирование поля nI разрешено // oBrw9:aColumns[nVal]:bEditing := { |uVar,oBrw| CreateHelpLabel(), oBrw9:aColumns[oBrw9:nCell]:oEdit:LButtonDown() } oBrw9:aColumns[nVal]:bEditing := { |uVar,oBrw| oBrw9:aColumns[oBrw9:nCell]:oEdit:LButtonDown() } oBrw9:aColumns[nVal]:bEditEnd := { |uVal,oBrw,lSave| SaveOp(uVal,lSave,cPCode) } RETURN .T.
|
| |
|
|
| |
Пост N: 458
Зарегистрирован: 20.02.11
|
|
Отправлено: 11.02.15 10:40. Заголовок: Andrey пишет: Функц..
Andrey пишет: цитата: | Функция MyDimGroup() - переделана из примера |
| С этого и надо было начинать ... (с исходника) Вот это тоже переделано от туда же -> oBrw9:aColumns[6]:bPrevEdit := { || MyDimGroup(), FALSE } Тогда какого художника там делает FALSE ? Читаем справку по TSBrowse из поставки Minigui ============== читаем ОТ сюда ======================== <bPrevEdit> ( OPTIONAL ) Code Block that will be evaluated before starting the bData editing. This Code Block combined with bPostEdit, will be of great help when need to update the variable used in the Footer of the column, without going through the entire database. It also conditions the editing during run time, if it returns a False value, then the cell editing does not take place. TSBrowse passes as parameter to this Block the value of the variable before editing. ============== читаем ДО сюда ======================== И осмысливаем почему редактирования не происходит Andrey пишет: цитата: | Для мемо-поля (или другой отдельной функции) такой вариант проходит,а для выбора из ComboWBlock( oBrw, "KGROUP", 1, aArr ) почему то нет. |
| Потому что там редактирование у тебя сделано не в самой ячейке а во внешней фунции, а непосредственного редактирования ячейки также не происходит. PS. месье знает толк в извращениях. Сначала сам себе создает проблему на ровном месте, а потом трахается с ней неделю и тже сам
| |
|
|
| постоянный участник
|
Пост N: 3957
Зарегистрирован: 12.09.06
|
|
Отправлено: 18.02.15 00:16. Заголовок: Всем привет ! Подска..
Всем привет ! Подскажите пожалуйста как сделать следующее: 1) Редактирование ячейки по формату (см.картинку) 2) При нажатие редактирования 8-строки сделать вызов отдельной функции, которая прописана в поле PICTURE ? Файл программы 2DBF.7z здесь - https://cloud.mail.ru/public/5d315f972a72/MiniGui-Error
| |
|
|
| |
Пост N: 4507
Зарегистрирован: 17.05.05
|
|
Отправлено: 18.02.15 10:08. Заголовок: picture "@R 9(99..
picture "@R 9(999) 999-999-99" picture "@R 999.999.999.999.999"
| |
|
|
| постоянный участник
|
Пост N: 3958
Зарегистрирован: 12.09.06
|
|
Отправлено: 18.02.15 11:28. Заголовок: Dima пишет: picture..
Dima пишет: цитата: | picture "@R 9(999) 999-999-99" picture "@R 999.999.999.999.999" |
| Не всё так просто. Если сразу добавить, то и отображаться так будет. А мне надо только при редактировании.
| |
|
|
| |
Пост N: 4508
Зарегистрирован: 17.05.05
|
|
Отправлено: 18.02.15 11:33. Заголовок: Andrey пишет: А мне..
Andrey пишет: цитата: | А мне надо только при редактировании. |
| proc main local a:=space(12) local b:=space(15) cls @ 10,10 get a picture "@R 9(999) 999-999-99" @ 11,10 get b picture "@R 999.999.999.999.999" read return
| |
|
|
| постоянный участник
|
Пост N: 3959
Зарегистрирован: 12.09.06
|
|
Отправлено: 18.02.15 11:50. Заголовок: Dima пишет: @ 10,10..
| |
|
Ответов - 148
, стр:
1
2
3
4
5
6
7
8
All
[только новые]
|
|
|