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


Пост N: 558
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 10.05.16 11:38. Заголовок: Форма, BtnTextBox, TextBox и DatePicker


На форме есть объекты разные, речь идет о BtnTextBox, TextBox и DatePicker, т.е объектах , имеющих свойство Field.
1)Действительно, если это поле заполнить ссылкой на символьное поле, к примеру - dogovor->NR_DOG, то при открытии формы НОМЕР договора отображается.
Если поле числовое, к примеру - dogovor->SUMM , то при попытке открыть форму программа вываливается.

2) При закрытии формы, внесенные изменения никак в базе не сохраняются. Commit не помогает. Или нужно Replace выполнять ?

Форма строится в Дизайнере.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 38 , стр: 1 2 All [только новые]


администратор




Пост N: 956
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 10.05.16 11:57. Заголовок: Vlad04 пишет: Comm..


Vlad04 пишет:

 цитата:
Commit не помогает.


Commit тут не поможет , эти контролы не осуществляют прямое редактирование базы. Они всего лишь читают символьное поле в массив и дальше работа идет с массивом. Во всяком случае так Combo работает, думаю и другие контролы тоже так.
Чтобы сохранить изменения в базе нужно это делать самостоятельно , читая значение из контрола и выполняя Replace

Поправлюсь !
Выше это не списочные контролы , работают не с массивом а с простым значением которое читают из базы.
Для TextBox это символьное, для DatePicker - Data
В остальном все так
ЗЫ TextBox понимает числа если ему указать что он NUMERIC

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




Пост N: 942
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 10.05.16 12:39. Заголовок: Vlad04 пишет: объек..


Vlad04 пишет:

 цитата:
объектах , имеющих свойство Field.


Рекомендую для начала изучить базовый пример в папке samples\Basic\DATA_BOUND
Думаю, что после этого изучения, станет понятно, как работать с такими обьектами

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


Пост N: 559
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 10.05.16 19:28. Заголовок: gfilatov2002 Прим..


gfilatov2002

Пример изучил. Построил аналогичный в IDE DATA_BOUND, IDE,
сравнил.

1) Если поле NUMERIC, то в дизайнере DataType NUMERIC НЕ присваивается ! С Ошибкой вылетает

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


Пост N: 560
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 10.05.16 19:31. Заголовок: И ещё Win_1...


И ещё

 цитата:

Win_1.Text_1.Save
Win_1.Text_2.Save
Win_1.Text_3.Save
Win_1.Date_4.Save
Win_1.Check_5.Save
Win_1.Edit_6.Save


Наверно, можно как-то в цикле сделать по объектам

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




Пост N: 957
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 10.05.16 20:29. Заголовок: Vlad04 пишет: 1) Ес..


Vlad04 пишет:

 цитата:
1) Если поле NUMERIC, то в дизайнере DataType NUMERIC НЕ присваивается ! С Ошибкой вылетает


открыл в дизайнере пример TEXTBOX - все присваивается
http://shot.qip.ru/00QkpQ-2Myy9DUE8/


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


Пост N: 561
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 10.05.16 20:48. Заголовок: И даже в том пример..


И даже в том примере, что я выложил ?
Присваивается.Но если форму сохранить , а потом снова открыть , то тип поля CHARACTER
Компилируется, но при запуске вот такой лог

 цитата:

Error BASE/1100 Argument error: TRIM</p><BR>
Called from RTRIM(0)
Called from _SETVALUE(399)
Called from _DATATEXTBOXREFRESH(1069)
Called from _REFRESH(5246)
Called from _REFRESHDATACONTROLS(1466)
Called from _ACTIVATEWINDOW(1381)
Called from DOMETHOD(4654)
Called from MAIN(9)




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




Пост N: 958
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 10.05.16 20:53. Заголовок: Vlad04 пишет: Навер..


Vlad04 пишет:

 цитата:
Наверно, можно как-то в цикле сделать по объектам


Можно конечно, пару недель назад на форуме было "все контролы на форме" .
только нужно быть уверенным что все контролы на форме имеют метод Save

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




Пост N: 959
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 10.05.16 21:08. Заголовок: Vlad04 пишет: Присв..


Vlad04 пишет:

 цитата:
Присваивается.Но если форму сохранить , а потом снова открыть , то тип поля CHARACTER
К


Проверил - есть такой косяк в дизайнере
поскольку им не пользуюсь - не сразу сообразил как протетсть.
PS. не пользуюсь по причине жутких тормозов при редактировании большой формы и ее перемещении по экрану, настолько жутких ,
что невозможно пользоваться дизайнером.
Ситуация немного улучшается если в исходниках дизайнера закоментить прорисовку сетки, но все равно есть тормоза при перемещении формы - идет перезаполнение пропертей контролов. По уму все прорисовки надо выполнять один раз - при отпускании левой кнопки мыши , а не по событию MOVE окна. Еще давно попытался переделать, сразу не вышло , так и забросил дизайнер, все прописываю руками.


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


Пост N: 562
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 11.05.16 06:27. Заголовок: Проверил - есть так..



 цитата:
Проверил - есть такой косяк в дизайнере



Печально. В данном конкретном случае я это обойду.Насчет тормозов дизайнера- есть конечно, но для меня не критично.
Не надо создавать слишком сложные формы

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




Пост N: 943
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 11.05.16 11:20. Заголовок: Haz пишет: есть так..


Haz пишет:

 цитата:
есть такой косяк в дизайнере


Уже поправил код Ide с учетом Ваших замечаний, добавил также пример DATA_BOUND для проверки
Можно обновиться через меню Help->Update

Haz пишет:

 цитата:
все прописываю руками


Я также практически не использую дизайнер форм, но все же рекомендую посмотреть простую утилиту xForm, которая имеет очень компактный код и будет обновлена в следующей сборке

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


Пост N: 563
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 11.05.16 11:51. Заголовок: gfilatov2002 Огром..


gfilatov2002

Огромное спасибо за оперативность.



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




Пост N: 960
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 11.05.16 11:53. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
рекомендую посмотреть простую утилиту xForm,


Григорий , я ее смотрю постоянно , возможно со временем будет достойная замена дизайнеру. Идеи там заложены удобные.
Кстати в ней та же болячка присутствует - при таскании окна по экрану идет попытка постоянного рисования сетки, а процесс этот не быстрый
Хотя в xForm это прорисовка значительно быстрее, да и точки там отключаемые ))

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




Пост N: 944
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 11.05.16 11:59. Заголовок: Haz пишет: при таск..


Haz пишет:

 цитата:
при таскании окна по экрану идет попытка постоянного рисования сетки


Прорисовку сетки в этой утилите можно отменить (сейчас по нажатию кнопки, а в следующей версии это будет checkbutton)

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




Пост N: 961
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 11.05.16 12:03. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Прорисовку сетки в этой утилите можно отменить (сейчас по нажатию кнопки, а в следующей версии это будет checkbutton)


Да есть такое - забыл сразу написать

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




Пост N: 962
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 11.05.16 12:19. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
а в следующей версии это будет checkbutton)



Можно в настройки вынести шаг сетки ? На некоторых формах у меня 10 это много, использую 5

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




Пост N: 945
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 11.05.16 13:24. Заголовок: Haz пишет: Можно в ..


Haz пишет:

 цитата:
Можно в настройки вынести шаг сетки ?


Добавил два недокументированных параметра в файл настройки setup.ini:

 цитата:
VertDotsStep=5
HorzDotsStep=5



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




Пост N: 963
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 11.05.16 13:43. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
Добавил два недокументированных параметра в файл настройки setup.ini:


Может интересный инструмент получиться

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


Пост N: 564
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 11.05.16 21:07. Заголовок: xForm А примеры..



 цитата:
xForm



А примеры с xForm ?

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




Пост N: 964
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 11.05.16 22:17. Заголовок: Vlad04 пишет: А при..


Vlad04 пишет:

 цитата:
А примеры с xForm ?


А нету

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


Пост N: 565
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 12.05.16 06:45. Заголовок: Haz А нету Посмеял..


Haz

 цитата:
А нету


Посмеялся от души .
На мой взгляд у xForm, кроме тех, что вы указали есть следующие недостатки :
Формат сохранения данных формы не совсем удобный - вручную его редактировать сложно, легко ошибиться.


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




Пост N: 946
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 12.05.16 11:23. Заголовок: Vlad04 пишет: А при..


Vlad04 пишет:

 цитата:
А примеры с xForm ?


Добавил небольшой пример для тестирования xForm

Vlad04 пишет:

 цитата:
Формат сохранения данных формы не совсем удобный - вручную его редактировать сложно


Этот недостаток иногда может быть достоинством, поскольку редактирование формы будет осуществляться только средствами этой утилиты

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


Пост N: 566
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 14.05.16 18:45. Заголовок: Как правильно выраже..


Как правильно выражение

 цитата:

Win_1.Text_1.Save


записать через проперти

SetProperty( "Win_1", "Text_1",.....

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




Пост N: 984
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.05.16 18:52. Заголовок: Vlad04 пишет:Как пра..


Vlad04 пишет:
 цитата:
Как правильно ... записать


DoMethod("Win_1", "Text_1", "Save")

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


Пост N: 567
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 14.05.16 19:42. Заголовок: Ок Не понимаю я ещё..


Ок

Не понимаю я ещё это. Когда , что и почему

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




Пост N: 985
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 14.05.16 19:53. Заголовок: Vlad04 см. MiniGui...


Vlad04
см. MiniGui.chm в конце каждого описания есть PROPERTIES, EVENTS, METHOD

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


Пост N: 571
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 18.05.16 13:59. Заголовок: gfilatov2002 Добави..


gfilatov2002

 цитата:
Добавил небольшой пример для тестирования xForm



С созданием формы в утилите проблем нет. А как встроить эту форму в программу ?

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



Пост N: 15
Зарегистрирован: 22.09.13
ссылка на сообщение  Отправлено: 26.05.16 16:15. Заголовок: Ткните, пожалуйста н..


Ткните, пожалуйста носом в вышеупомянутую утилиту xForm!!! Где она обитает?
И в пример тоже...

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




Пост N: 5676
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 26.05.16 16:23. Заголовок: fokinal21 Лезем в C..


fokinal21
Лезем в C:\MiniGUI\Doc\ChangeLog.txt там поиск по XFORM и далее видим дорогу типа
C:\MiniGUI\UTILS\xForm\

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




Пост N: 989
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 26.05.16 18:14. Заголовок: Vlad04 пишет:С созда..


Vlad04 пишет:
 цитата:
С созданием формы в утилите проблем нет. А как встроить эту форму в программу ?


есть кнопочка 010101, которая создает myform.prg - из набранных контролов формы

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


Пост N: 581
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 31.05.16 09:43. Заголовок: Пример тот же. Контр..


Пример тот же.
Контрол DATEPICKER подключен к базе.
И если в базе поле не заполнено, он все равно кукую-то дату отображает(или текущую или предыдущей записи) .
Так же нельзя почистить дату , т.е просто сделать пустой.
Есть ли какие решения?

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




Пост N: 1000
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 31.05.16 11:12. Заголовок: Vlad04 пишет: ак же..


Vlad04 пишет:

 цитата:
ак же нельзя почистить дату , т.е просто сделать пустой.
Есть ли какие решения?



 
DEFINE DATEPICKER <ControlName>
[ ID <nId> ]
[ PARENT <ParentWindowName> ]
COL <nCol>
ROW <nRow>
[ VALUE <dValue> ]
[ FIELD <FieldName> ]
[ WIDTH <nWidth> ]
[ FONTNAME <cFontName> ]
[ FONTSIZE <nFontSize> ]
[ FONTBOLD < .T. | .F.> ]
[ FONTITALIC < .T. | .F.> ]
[ FONTUNDERLINE < .T. | .F.> ]
[ FONTSTRIKEOUT < .T. | .F.> ]
[ TOOLTIP <cToolTipText> ]
[ BACKCOLOR <anBackColor> ]
[ FONTCOLOR <anFontColor> ]
[ TITLEBACKCOLOR <anTitleBackColor> ]
[ TITLEFONTCOLOR <anTitleFontColor> ]
[ TRAILINGFONTCOLOR <trlFontColor> ]
[ RANGEMIN <dRangeMin> ]
[ RANGEMAX <dRangeMax> ]
[ SHOWNONE < .T. | .F.> ]
[ UPDOWN < .T. | .F.> ]
[ RIGHTALIGN < .T. | .F.> ]
[ DATEFORMAT <cDateFormat> ]
[ ONGOTFOCUS <OnGotFocusProcedure> | <bBlock> ]
[ ONCHANGE <OnChangeProcedure> | <bBlock> ]
[ ONLOSTFOCUS <OnLostFocusProcedure> | <bBlock> ]
[ ONENTER <OnEnterProcedure> | <bBlock> ]
[ HELPID <nHelpId> ]
[ INVISIBLE < .T. | .F.> ]
[ NOTABSTOP < .T. | .F.> ]

END DATEPICKER


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


Пост N: 582
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 31.05.16 11:43. Заголовок: Понятно, но не превы..


Понятно, но не превычно как-то

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


Пост N: 587
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 14.06.16 09:49. Заголовок: ComboBox Работает с..


ComboBox

Работает с Базой.

 цитата:

DEFINE COMBOBOX Combo_OSNOVANIE
ROW 400
COL 140
WIDTH 150
HEIGHT 100
ITEMS {" Устава"," от себя лично "}
FONTNAME 'Arial'
TOOLTIP "Основание, на котором руководит Организацией"
END COMBOBOX


Хотелось бы в базе сохранять значение ITEMS ( а не Value) и из базы считывать при открытии.
Свойства VALUESOURCE , ITEMSOURCE вроде бы не подходят

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


Пост N: 588
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 15.06.16 13:59. Заголовок: Домучил Combo. Може..


Домучил Combo.
Может и не все правильно - но работает с базой.
2 варианта
1-й в базе сохраняется Value
2-й - DisPlayValue
Combo


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


Пост N: 589
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 20.06.16 15:20. Заголовок: Menu Построено в ди..


Menu

Построено в дизайнере.
При загрузке программы для некоторых пользователей надо скрыть некоторые строки основного меню.
Но параметры, влияющие на меню, программа получает уже после загрузки.

Как нибудь можно переопределить некоторые элементы уже созданного меню?


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




Пост N: 4974
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.06.16 20:57. Заголовок: Vlad04 пишет: Как н..


Vlad04 пишет:

 цитата:
Как нибудь можно переопределить некоторые элементы уже созданного меню?


Поставь в ON INIT формы функцию, а в этой функции делай что хочешь:

SetProperty( ThisWindow.Name, "ЭлементМеню", "Enabled" , .F.) // блокировать объект
SetProperty( ThisWindow.Name, "ЭлементМеню", "Enabled" , .T.) // разблокировать объект


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


Пост N: 590
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 21.06.16 09:36. Заголовок: Немного не понятно к..


Немного не понятно как правильно писать?
Элемент меню у меня такой

 цитата:

DEFINE POPUP "Сервис"
MENUITEM "Индексы" ACTION {|| dbSelect('DBLIST'),CreaTBrows('dbList.UKS',0)}
MENUITEM "Пользователи" ACTION {|| dbSelect('USERLIST'),CreaTBrows('USERList.UKS',0)}
END POPUP


Я хочу заблокировать ВТОРУЮ строку - MENUITEM "Пользователи"

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




Пост N: 1007
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.06.16 10:01. Заголовок: Vlad04 Для управлен..


Vlad04
Для управления меню надо использовать свойство NAME
 
DEFINE MAIN MENU [ OF<ParentWindowName> ]

[ DEFINE ] [ MENU ] POPUP <cPopupCaption>
[ NAME <cPopupName> ]
[ IMAGE <cImage> ]
[ FONT <cFont> ]

MENUITEM <cItemCaption>
ACTION <ActionProcedureName> | <bBlock>
[ NAME <MenuItemName>]
[ IMAGE <cImageName> ]
[ CHECKMARK <cImage> ]
[ FONT <cFont> ]
[ CHECKED ]
[ DISABLED ]
[ MESSAGE <cMessage> ]
[ BREAKMENU ]
....
и управлять
#command ENABLE MENUITEM <control> OF <form>;
=> ;
_EnableMenuItem ( <"control"> , <"form"> )

#command DISABLE MENUITEM <control> OF <form>;
=> ;
_DisableMenuItem ( <"control"> , <"form"> )

#command CHECK MENUITEM <control> OF <form>;
=> ;
_CheckMenuItem ( <"control"> , <"form"> )

#command UNCHECK MENUITEM <control> OF <form>;
=> ;
_UnCheckMenuItem ( <"control"> , <"form"> )

где <control> значение NAME


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

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