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


Пост N: 407
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 05.12.13 11:47. Заголовок: Кто как делает


Любая программа - это много справочников. Хотелось бы создать универсальную простую форму с одним Brows для поиска и выбора значений из различных справочников. Не беру во внимание Комбобокс и ЛистБокс - это другой случай.

В консоле я так и делаю.Один Brows , ему передаю в качестве параметром : алиасы, колонки , поля и т.д.
А вот в Gui не получается. Описывать каждый справочник в программнике не хочется.
Кто как делает?

Спасибо

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


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




Пост N: 3135
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.12.13 11:56. Заголовок: Vlad04 пишет: Кто к..


Vlad04 пишет:

 цитата:
Кто как делает?


Я тоже над этим задумывался....
Наверно так же нужно делать - "Один Brows , ему передаю в качестве параметром : алиасы, колонки , поля и т.д. "
Но с Brows пока не работал...

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




Пост N: 529
Зарегистрирован: 11.02.10
ссылка на сообщение  Отправлено: 05.12.13 13:20. Заголовок: Vlad04 пишет: Один ..


Vlad04 пишет:

 цитата:
Один Brows , ему передаю в качестве параметром : алиасы, колонки , поля и т.д.


Если речь идет о библиотеке минигуи, то могу порекомендовать в качестве стартового примера универсальный просмотровщик/редактор из папки samples\Basic\BROWSE_8, в котором это делается таким образом:

 цитата:
Use (File) Shared New

nCamp := Fcount()
aEst := DBstruct()

aNomb := {'iif(deleted(),0,1)'} ; aJust := {0} ; aLong := {0} ; aFtype := {}

For i := 1 to nCamp
aadd(aNomb,aEst[i,1])
aadd(aFtype, aEst[i,2])
aadd(aJust,LtoN(aEst[i,2]=='N'))
aadd(aLong,Max(100,Min(160,aEst[i,3]*14)))
Next

CreaBrowse( Alias(), aNomb, aLong, aJust, aFtype )



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


Пост N: 408
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 06.12.13 07:45. Заголовок: Кое- что получилос..


Кое- что получилось.
http://files.mail.ru/7A65ECD6CA7F40CDA58BEC920DF2D73F

За основу взят BROWSE_8. Надо добавить навигацию по базе, поиск и т.д.

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




Пост N: 3141
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.12.13 15:45. Заголовок: Vlad04 пишет: Кое- ..


Vlad04 пишет:

 цитата:
Кое- что получилось.


Здорово.

Выкладываю свой пример (на базе Tsb_filter), может кому нужно.
http://files.mail.ru/18266882AACD47AEB6C1A0CC2AB4A4A8

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


Пост N: 410
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 06.12.13 18:17. Заголовок: Красивое оформление ..


Красивое оформление ! Но больше 4-х цветов не рекомендуют применять

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




Пост N: 3142
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.12.13 18:24. Заголовок: Vlad04 пишет: Но б..


Vlad04 пишет:

 цитата:
Но больше 4-х цветов не рекомендуют применять


Почему ?
Оформление нужно делать в любом случае. Чтобы программа запоминалось !



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




Пост N: 3143
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.12.13 15:16. Заголовок: gfilatov2002 пишет: ..


gfilatov2002 пишет:

 цитата:
могу порекомендовать в качестве стартового примера универсальный просмотровщик/редактор из папки samples\Basic\BROWSE_8


Вот вопрос про этот BROWSE:


В каком примере можно посмотреть использование полноцветных (24bit) иконок или bmp-файлов ?

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


Пост N: 140
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 09.12.13 18:59. Заголовок: Andrey пишет: Vlad0..


Andrey пишет:

 цитата:
Vlad04 пишет:

 цитата:
Но больше 4-х цветов не рекомендуют применять


Почему ?
Оформление нужно делать в любом случае. Чтобы программа запоминалось !


Очень здорово запустить яркую, восхитительно "раскрашенную " пр-му , получить удовольствия от картинки и ... забыть о ней на всю оставшеюся жизнь.
И совсем другое каждый день по несколько часов пялиться на агресивный набор ярких пятен Смысл уже до тошноты известен ,
а интересует только изменение информации и работа с ней. Вот поэтому так и советуют....

Vlad04 пишет:

 цитата:
В консоле я так и делаю.Один Brows , ему передаю в качестве параметром : алиасы, колонки , поля и т.д.
А вот в Gui не получается. Описывать каждый справочник в программнике не хочется.

Кто как делает?


Почему не получается? Можно , но описывать проще и удобнее.
Под виндой возможностей больше и информативность выше.
Различные заголовки ( а не имена полей ) , возможность использовать их как кнопки. Набор управления, фильтрация и т.д.
Поэтому такой вариант( передавать все при вызове ) для меня не очень удобноый.

Один и тот же справочники может иметь три варианта:
1. Чисто справочная информация. Добавляется управление (2) , видно по каким полям есть индексация и ее переключение (1),
фильтры, поиск, выгрузка в ворд(ексел) и т.д.




2. Справочник используется для заполнения каких-то форм




3. Непосредственная работа со справочником (редактирование )

Вот в соответствии с вышеизложенным при обращении к справочнику указываю какой справочник и его вид.
Вся обработка собраноа в отдельном модуле и все однотипно
Сначало описывается все общее- окно(диалог) , цвета, фонты и т.д. , а потом информация для справочников (базы, расположение, размеры окон)
Do case
case PrSp=1 //+++++++++++++++++++++++++
Select Pl
Dbgotop()
DEFAULT cTiti := "площадки"
L_poi:=.T.
_Y:=78
_X:=22
case PrSp=2 //+++++++++++++++++++++++++
Select Ce
Dbgotop()
DEFAULT cTiti := "цеха"
_Y:=78
_X:=22
L_poi:=.T.
...................
И дальше формирование бровсов с учетом разрешенных операций и необходимых действий (то,что задано при вызове).

В таком виде легко править, изменять и использовать одинаковые методы для всех справочников.



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


Пост N: 413
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 09.12.13 19:52. Заголовок: Спасибо, всем. Толк..



Спасибо, всем. Толкнули в нужную сторону.
Уже получается.
На первом этапе сделаю общий бровз по классификации ММК для


 цитата:
2. Справочник используется для заполнения каких-то форм


Это позволит значительно упростить и ускорить разработку.
А дальше увеличивать его функционал

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




Пост N: 3151
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.12.13 14:32. Заголовок: ММК пишет: В таком ..


ММК пишет:

 цитата:
В таком виде легко править, изменять и использовать одинаковые методы для всех справочников.


Это хорошо, когда задача одна ! А если несколько задач похожих ?
Я имею один универсальный exe-ник и к нему идет файл ini (настройки/обработки) этого ехе-ника.
ИНИ-ник управляет всеми меню, поведением программы. Файл зашифрован, чтобы чужие шаловливые ручки не лазили.

Вызов справочника в ини-файле:
Скрытый текст


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


ММК Красивые у тебя программы !
Я тоже так хочу... Но пока сижу на терминалки и осваиваю МиниГуи.
А фотографии сотрудников у тебя в базе сохраняются (тип картинки и база какая - fpt, blob ) ?
Просто такое же надо делать, из за этого и спрашиваю.


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


Пост N: 141
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 10.12.13 18:45. Заголовок: Andrey пишет: ММК п..


Andrey пишет:

 цитата:
ММК пишет:

 цитата:
В таком виде легко править, изменять и использовать одинаковые методы для всех справочников.


Это хорошо, когда задача одна ! А если несколько задач похожих ?



Имренно для этого это так и сделано

Andrey пишет:

 цитата:
Я имею один универсальный exe-ник и к нему идет файл ini (настройки/обработки) этого ехе-ника.
ИНИ-ник управляет всеми меню, поведением программы. Файл зашифрован, чтобы чужие шаловливые ручки не лазили.

Вызов справочника в ини-файле:


Посмотрел я , что Вы внесли в INI .Это только часть того, что нужно .
Если мне не изменяет память у меня в "кадровой" задаче где-то 60-70 справочников.
НЕ говоря о меню и всего остального...
Представляете , если все это впереть в INI ?!! Нет конечно... В INI все то , что требуется для настройки
задачи на конкретном рабочем месте, плюс набор необходимых констант. И , в соответствии с этим, доступ к нему открыт.

Что касается "шаловливых" ручек... exe-ник действительно универсальный и запускается он так -



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



Andrey пишет:

 цитата:
ММК Красивые у тебя программы !



Спасибо Андрей :))

Andrey пишет:

 цитата:
Я тоже так хочу... Но пока сижу на терминалки и осваиваю МиниГуи.



Ничего не хочу сказать по поводу МиниГуи , но если уж жизнь так сложилась и у Вас есть FW то поверьте это
серьезнее (пока во всяком случае) и хватит Вам на всю оставшеюся трудовую жизнь ( даже если Вы не "отжалеете" немного денег на свежую версию)

Andrey пишет:

 цитата:
А фотографии сотрудников у тебя в базе сохраняются (тип картинки и база какая - fpt, blob ) ?



Нет. Отдельная дер-я. При оформлении человека туда "ложится" его фото хоть на мыльничу снятое( тут-же) .Формат JPG ( можно и бмп , но они гораздо больше ) .
Имя фото- табельный номер.


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


Пост N: 414
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 11.12.13 09:27. Заголовок: ММК у меня в "..


ММК


 цитата:
у меня в "кадровой" задаче где-то 60-70 справочников.



И столько же условий "case" ?

 цитата:

Do case
case PrSp=1 //+++++++++++++++++++++++++
Select Pl
Dbgotop()


Судя по тому что все работает, значит не запутываешься.
В консоле у меня все сделано на макроподстановках. В MiniGui макроподстановки во многих случаях не срабатывают


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


Пост N: 142
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 11.12.13 10:07. Заголовок: Vlad04 пишет: И сто..


Vlad04 пишет:

 цитата:
И столько же условий "case" ?


Да
Vlad04 пишет:

 цитата:
Судя по тому что все работает, значит не запутываешься.


Гораздо проще ,чем с макроподстановками. Более прозрачно . Ведь при формировании бровса достаточно много индивидуальных вещей ( присущих данному справочнику, проверок... Проблемы были с TsBrows. К сожалению Manuel Mercado не смог в силу личных обстоятельст довести ее до ума.
Но с xBrows совсем другое дело :)

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




Пост N: 3080
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 11.12.13 10:12. Заголовок: Михаил, а в Белорусс..


Михаил, а в Белоруссии есть закон о защите ПД ? Я смотрю, в личной карточке есть фотка, а это уже биометрическая информация, по которой более строгие правила ее сбора. Я тоже у себя сначала фотку добавил, пока наш закон не почитал.

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


Пост N: 415
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 11.12.13 10:23. Заголовок: Ну а если на форме н..


Ну а если на форме несколько таблиц вывести ?

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


Пост N: 143
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 11.12.13 10:41. Заголовок: Pasha пишет: Михаил..


Pasha пишет:

 цитата:
Михаил, а в Белоруссии есть закон о защите ПД ? Я смотрю, в личной карточке есть фотка, а это уже биометрическая информация, по которой более строгие правила ее сбора. Я тоже у себя сначала фотку добавил, пока наш закон не почитал.


Фотка? Интересно..., но ведь в обменнике делают ксерокопию. Хотя нет :) Это на Украине.
А что паспортные данные или подробности личной жизни? Ведь это в картотеке все есть...
А по поводу закона не знаю. Может и есть , а может появиться задним числом :) Но сейчас основной интерес в том ,что бы собрать о каждом как можно больше информации.
Работа, банк.счет, покупки , интернет , телефон, поездки... Поэтому такой закон может проявиться только в определенной ситуации :)
А в карточке есть все , все личное дело . Жены , дети, контракты, назначения, воин. служба, отпуска и т.д. Стыковал с "зарплатой" для передачи информации в другие "организации" . Там то же куда-то передают...
При такой цепочке защита понятие более ,чем относительное :(


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




Пост N: 3081
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 11.12.13 10:49. Заголовок: Если такого закона н..


Если такого закона нет, то вам повезло. Одним головняком меньше.

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


Пост N: 144
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 11.12.13 12:21. Заголовок: Pasha пишет: Если т..


Pasha пишет:

 цитата:
Если такого закона нет, то вам повезло. Одним головняком меньше.


Не знаю .Просто не знаю :)) ( во всех смыслах :) )

Vlad04 пишет:

 цитата:
Ну а если на форме несколько таблиц вывести ?



Можно и несколько. И можно сделать так ,что изменение размеров любого бровса (мышкой)
автоматом будет менять положение остальных.


Т.к. техника у всех разная , то если задача такой вариант "строго" не требует делаю фолдеры (закладки).
Так можно сделать все "полнее"
Вот например ассортимент мороженого- в любой момент нажимаем на "состав" и все ,что надо видно .А попутно можно и распечатать :))








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


Пост N: 416
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 11.12.13 17:36. Заголовок: ММК Сейчас в fwh ..


ММК
Сейчас в fwh есть визуальный дизайнер - visualfw.exe. Вы его используете в работе ?

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




Пост N: 274
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.12.13 09:07. Заголовок: Vlad04 Еще более наг..


Vlad04
Еще более наглядный способ это написать класс окна с общим оформлением и поведением browse + контролов и наследовать от него для любого другого добавляя или меняя свойства и методы.
также можно поступить и для документов, например счет, ттн и т.д.
в дальнейшем, при изменении счета, вам надо наследовать от класса старого счета и внести новое поведение.
так можно поступать по всем документам и справочникам. case отпадет оперировать будете объектами окон.

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


Пост N: 417
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 12.12.13 10:55. Заголовок: Я про это думал. В ..


Я про это думал.
В теории вроде бы понятно,но опыта практического в этом нет.

Кто может выложите маленький пример - форма с каким нибудь контролом.

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




Пост N: 275
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 12.12.13 14:37. Заголовок: Vlad04 Держи: http:/..


Vlad04
Держи: http://gfile.ru/a2Eqw

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


Пост N: 418
Зарегистрирован: 13.10.05
ссылка на сообщение  Отправлено: 13.12.13 07:51. Заголовок: Круто! Но как говори..


Круто!
Но как говорит Андрей - "Это засада!"

Подход иной, разбираться и разбираться надо

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


Пост N: 146
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 13.12.13 12:25. Заголовок: Vlad04 пишет: Сейча..


Vlad04 пишет:

 цитата:
Сейчас в fwh есть визуальный дизайнер - visualfw.exe. Вы его используете в работе ?


Нет. Мне он без надобности :)

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


Пост N: 147
Зарегистрирован: 29.05.10
ссылка на сообщение  Отправлено: 13.12.13 12:26. Заголовок: Vlad04 пишет: Кто м..


Vlad04 пишет:

 цитата:
Кто может выложите маленький пример - форма с каким нибудь контролом.



#include "FiveWin.ch"
#include "xbrowse.ch"

function Main()

local oDlg, oBrw

DEFINE DIALOG oDlg SIZE 300, 200

@ 0, 0 XBROWSE oBrw OF oDlg ARRAY { { "one","two","three" } } AUTOCOLS

oBrw:CreateFromCode()
oBrw:bKeyDown = { || oDlg:SetText( Str( oBrw:nColSel ) ) }

ACTIVATE DIALOG oDlg CENTER ON INIT ( oDlg:oClient := oBrw, oDlg:Resize() )

return nil


По Enter перход на следующее поле ( twoo) и на заголовке 1 меняется на 2.
И т.д. :)


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




Пост N: 277
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.12.13 13:24. Заголовок: Vlad04 пишет:Круто! ..


Vlad04 пишет:
 цитата:
Круто!


Это не круто - это притягивание за уши MiniGui к объектному программированию. Круто (правильно) это hwg от alkresin, просто когда вышла 2.0 версия hb, версия hwg была 2004,2005 года и показалась брошенной, а MiniGui активно жила.

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




Пост N: 278
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.12.13 13:36. Заголовок: Vlad04 Только начал ..


Vlad04
Только начал набирать окно с более сложным алгоритмом Layout размещения контролов - может будет понятнее.
еще размещает без отступов между контролами, я еще в начале пути, но если будет полезно, то
держи: http://gfile.ru/a2BXD

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




Пост N: 3156
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 13.12.13 15:58. Заголовок: SergKis пишет: Это ..


SergKis пишет:

 цитата:
Это не круто - это притягивание за уши MiniGui к объектному программированию.


Так пример другой !
ММК пишет:

 цитата:
#include "FiveWin.ch"
#include "xbrowse.ch"



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




Пост N: 279
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 13.12.13 16:48. Заголовок: Andrey Круто! Но ка..


Andrey

 цитата:
Круто!
Но как говорит Андрей - "Это засада!"
Подход иной, разбираться и разбираться надо


относится к предыдущей статье, а не следующей, или я не так читаю ?
а пример MMK - использование объекта xbrowse, в MiniGui такой тоже есть tsbrowse называется и по поведению, мне кажется, они очень похожи, но глубоко в tsbrowse не вникал.

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

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