BEST logo логотип компании БЭСТ - программы для бизнеса ПРОДАЖИ
+7 (991) 312-04-37
trade@bestnet.ru
ПОДДЕРЖКА
+7 (495) 775-66-76
consult@bestnet.ru
СКАЧАТЬ
Обновления
Дистрибутивы
Авторизация

Логин:
Пароль:
Забыли свой пароль?
Регистрация
ВАШ ВОПРОС

Доступ к Личному кабинету закрыт!
Как получить доступ?


Главная  / Поддержка  / Форум  / Публичные форумы  / Программирование приложений  / Цвет для AChoice(), работает ли View()!!?

Форум

Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Цвет для AChoice(), работает ли View()!!?
 
Каким образом задать цвет для функции AChoice()?
Я сколько ни бился вообще не получается....
Интересно вообще как SetColor работает, есть подозрения, что немного не так как описано в хелпе по 5му бесту..

И Вопрос по View() (описана в хелпе для Б-4). Она у меня вообще не работает. При попытке её использование получаю ошибку. C++ Library Runtime error, что-то в этом духе...
Она работает? Есть ли вместо нее что-нибудь другое!?
Изменено: Саак Шахламджян - 21.11.2008 15:28:05
 
1. С Цветами прошу быть очень аккуратно.
Это не везде просто. И боольшинство комбинаций цвета Вам будут недоступны.
Вместо achoice() рекомендую

Код
FUNCTION GraBoxMenu(acTitle, aItem, aLogic, anItem, lF9, lFixedFont)


2. Про VIEW() рекомендую забыть. Ее предназначение в БЭСТ-4 бяло для организации консольной печати.
В БЭСТ-5 мы работем через FastReport
 
Цитата
nordk пишет:
1. С Цветами прошу быть очень аккуратно.
Это не везде просто. И боольшинство комбинаций цвета Вам будут недоступны.
Вместо achoice() рекомендую





Код

FUNCTION GraBoxMenu(acTitle, aItem, aLogic, anItem, lF9, lFixedFont)

2. Про VIEW() рекомендую забыть. Ее предназначение в БЭСТ-4 бяло для организации консольной печати.
В БЭСТ-5 мы работем через FastReport


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

Проще говоря мне нужен InitList() [или QBrowse] для массива строк. Есть что-либо подобное!???
Изменено: Саак Шахламджян - 21.11.2008 16:00:08
 
Нет это не achoice.
 
Цитата
nordk пишет:
Нет это не achoice.

А что тогда!? Дайте, тогда такую!!!
Меня, собственно aChoice() не устроил по причине того, что нельзя цвета задать. Сейчас приглядевшись понял, что массив, подаваемый на вход нельзя изменять....
Очень нужна функция, подобная InitList или QBrowse, но не для текущей раб области, а для массива.

Можно было бы конечно воспользоваться и InitList, сделать какую-нибудь таблицу текущей, а в блоки кода вывода данных записать что-то вроде:
Код
AAD(aMyArrayWithStrings,Space(60))
nArrayLen:=Len(aMyArrayWithStrings)
....
aMyArrayWithStrings[(IIF((nArrayLen-RecNo())>0,REcNo(),nArrayLen)]

+еще обрабатывать кнопки вверх и вних.
Но мне кажется, это извращение.... Должно быть что-то попроще.
Изменено: Саак Шахламджян - 21.11.2008 17:30:10
 
сделайте лучше временный файл и через Инитлист.
Там окна строятся через tbrowse-объект....
Каждый раздел - отдельное окно которое переключается
посредством WSELECT()
Наработанный годами механизм.
 
Цитата
nordk пишет:
сделайте лучше временный файл и через Инитлист.

Да есть у меня уже такое!!!
Не хочу!!! Хочу в опер памяти!!!
Извращений, как описал выше делать очень не хочется, это же маразм просто!!!
Неужели никак нельзя?

Есть еще
@...PROMT, но там тоже цвета не меняются и с элементами добавлять не пробовал....
 
Цитата
Саак Шахламджян пишет:
Не хочу!!! Хочу в опер памяти!!!

А в углу постоять? :-)
Кстати, нет никакой гарантии, что определённый Вами массив будет лежать в оперативной памяти. Он вполне может засвопиться на жёсткий диск.
На самом деле, Константин прав. Писать в tmpbase-> не сложнее, чем выполнять addd().
Готовых возможностей у InitList гораздо больше. Сделайте один раз рыбу InitList со всеми параметрами и вставляйте её при необходимости, открывая только те возможности, которые Вам нужны в конкретном месте в конкретное время.
С уважением, Новиков Алексей.
 
Цвета будут только те, что позволяет БЭСт.
Для начала лучше про цвета вообще забыть...
Дальше посмотрим с цветами. Это очень и очень непросто.
Не все комбинации не будут работать.
По крайней мере фон - только фон БЭСТа. ("/B")
ВОзьмитесь за изучение tbrowse и через него делайте.
Вы просто пытаетесь все нахрапом как-то сделать.
Инитлист прекрасно через блоки кода многие вещи позволяет. Тем более если у Вас уже есть временный файл.
 
Цитата
Алексей Новиков пишет:

А в углу постоять? :-)
Кстати, нет никакой гарантии, что определённый Вами массив будет лежать в оперативной памяти. Он вполне может засвопиться на жёсткий диск.
На самом деле, Константин прав. Писать в tmpbase-> не сложнее, чем выполнять addd().
Готовых возможностей у InitList гораздо больше. Сделайте один раз рыбу InitList со всеми параметрами и вставляйте её при необходимости, открывая только те возможности, которые Вам нужны в конкретном месте в конкретное время.

Во-первых, там будет относительно немного записей....
Во-вторых такое уже реализовано разработчиками и смотриться довольно неплохо (не внешне) .
Ну, и самое главное, интересно сделать по-другому. InitList и временный файл, я таких меню уже с десяток наклепал.
 
Цитата
nordk пишет:
Цвета будут только те, что позволяет БЭСт.
Для начала лучше про цвета вообще забыть...
Дальше посмотрим с цветами. Это очень и очень непросто.
Не все комбинации не будут работать.
По крайней мере фон - только фон БЭСТа. ("/B")
ВОзьмитесь за изучение tbrowse и через него делайте.
Вы просто пытаетесь все нахрапом как-то сделать.
Инитлист прекрасно через блоки кода многие вещи позволяет. Тем более если у Вас уже есть временный файл.

InitList - это ТОЛЬКО работа с БД и все. tbrowse как я понял тоже самое, что и Qbrowse и точно также работа ТОЛЬКО с таблицами.
 
tbrowse как видите НЕ ТОЛЬКО.
И накладные в БЭСТе тому подтверждение.
Но я Вам советую для задачи подобного типа не возится с массивом.
 
Цитата
nordk пишет:
tbrowse как видите НЕ ТОЛЬКО.
И накладные в БЭСТе тому подтверждение.
Но я Вам советую для задачи подобного типа не возится с массивом.

О TBrowse довольно скудно написано в хелпе. С отладчиком и под микроскопом не изучал. Если есть более подробная информация о TBrowse, не откажусь от ссылок на неё!!!
 
Так залез в исходники, кажется, там должно быть все что мне требуется. Если будет иначе, отпишусь...
Там же и объекты заказов...
 
Удачи !

Что касается цветности.
Вот такой примерчик откомпилируйте как плагин в кнопке спецфункция в любом реестре на базе "старых" окон. Возможно это даст Вам нужную информацию.

Код
        ALTD()
        @ 2, 20 SAY "RED" COLOR "R+/w"
        @ 3, 20 SAY "GREEN" COLOR "G/w"
        SETBACKGROUNDEXTATTRIBUTES(2,20, 3,26, CHR(254))

        SayAndWait("OK")
    RETURN NIL
 
Цитата
nordk пишет:
Удачи !

Что касается цветности.
Вот такой примерчик откомпилируйте как плагин в кнопке спецфункция в любом реестре на базе "старых" окон. Возможно это даст Вам нужную информацию.





Код


        ALTD()
        @ 2, 20 SAY "RED" COLOR "R+/w"
        @ 3, 20 SAY "GREEN" COLOR "G/w"
        SETBACKGROUNDEXTATTRIBUTES(2,20, 3,26, CHR(254))

        SayAndWait("OK")
    RETURN NIL


Обязательно попробую. К стати я, похоже был не прав насчет временного файла. Разработчики его используют при создании\редактировании заказов, но он xml формата похоже. Ну, во всяком случае на такие мысли натолкнула запись вида:
Код
::cTempFile := TEMPFILE(m->B6_TMP_PATH,"xml")


в исходниках. Хотелось бы все же докапаться до истины я так и не начал еще ничего делать.
Изменено: Саак Шахламджян - 02.12.2008 17:25:36
 
У нас есть вариант экспорта строк в XML формате....
Эта строчка скорее всего к этому имеет отношение
 
Цитата
nordk пишет:
У нас есть вариант экспорта строк в XML формате....
Эта строчка скорее всего к этому имеет отношение

Ясно, в общем, надо детальнее поковырять исходный код...

А Вопрос с тем каким образом формируется список у разработчиков остается:
в памяти\или временный файл...
 
В БЭСТ-4 это был массив.
В БЭСТ-5 возможно перевели на временный файл, хотя принцип остался тотже - класс tbrowse
 
Цитата
Саак Шахламджян пишет:

А Вопрос с тем каким образом формируется список у разработчиков остается:
в памяти\или временный файл...


Поковырялся я недавно "поближе" с этим вопросом. Верменный файл не используется...

Цитата
nordk пишет:
В БЭСТ-4 это был массив.
В БЭСТ-5 возможно перевели на временный файл, хотя принцип остался тотже - класс tbrowse

А нельзя ли поподробнее. А то, в общем-то, довльно скудноватая информация в хелпе.

Напомню суть дела.
При создании/редактировании заказов строки этого заказа должны где-либо храниться. Они могут быть в памяти, а могут быть во временном файле.
Для отображения этих самых строк используется QBROWSE (или initList, хотя скорее первое), других средств, как я понимаю, нет.
А теперь, Внимание Вопрос, уважаемые знатоки :smile: ...
Каким образом "запихать" массив в QBrowse или InitList?

P.S. Я пытался найти временный файл где могли бы храниться эти строки, но не нашёл. А искал я тщательно...
Изменено: Саак Шахламджян - 03.02.2009 09:01:51
 
Отвечаю еще раз.
1.В стандартном заказе БЭСТа не InitList и не QBROWSE
2.Если QBROWSE или InitList - то только временный файл
(массив сразу до свидания)

ИТОГ:
1.Делаете свой временный фалй и по нему QBROWSE
2.Попытки повторить механизм БЭСТа через массив прекратить
 
Цитата
nordk пишет:
2.Попытки повторить механизм БЭСТа через массив прекратить


Никак не пойму почему Вы такой противник этого решения? :)
Или там все как-то слишком сложно устроено?
 
Я Вам писал.
Открываете описание класса TBROWSE
И если Вам это просто и понятно, то я не возражаю.
Его средствами Вы достигнете желаемого.
Думаю что через InitList или QBROWSE это будет быстрее.
Задачка Ваша не такая глобальная чтобы возводить
плагином такие механизмы - это мое мнение.
Страницы: 1
Читают тему (гостей: 1)