Главная
Новый форум
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Обсуждение написание модуля на харборе УРОК5

 
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4
View previous topic :: View next topic  
Author Message
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 11 Oct 2005 11:17    Post subject: Обсуждение написание модуля на харборе УРОК5 Reply with quote

Задачей данной темы является научиться в режиме
ввода/корректировки использовать перебор данных из
существующего массива посредством клавиши "пробел"
Back to top
View user's profile Send private message Send e-mail
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 11 Oct 2005 11:52    Post subject: Reply with quote

В нашем примере при вводе/корректировке третьим параметром стоит наименование услуг.
Давайте на примере предположим что у нас есть всего 3 услуги и мы будем выбирать их из массива
- Услуги системного инженера
- Услуги по программированию
- Услуги консультанта
- Услуги по терминальной связи

Создадим массив

Code:
aType:={{'1','Услуги системного инженера'}, ;
              {'2','Услуги по программированию'},;
              {'3','Услуги консультанта       '},      ;
              {'4','Услуги по терминальной св.'}}
Back to top
View user's profile Send private message Send e-mail
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 11 Oct 2005 12:02    Post subject: Reply with quote

Теперь исправим наш массив справочника

Code:
aRef:={,,{|x|RotateAndReader(x,m->aType)},,,,"partners"}


С учетом того что у нас не совсем стандартный справочник нам нужно задействовать еще 18 элемент функции InitList

Code:
aGetBlock:={,,{|x|RotateBlock(x,m->aType,"aIn[3]")}}


И соответственно подправить нашу итоговую строчку

Code:
work->(Initlist(nTop,nBot,cColHead,aBlockCols,cCurProc,;
_aHeads,aRef,aPic,aWhen,,;
nUniMode,bDel,,,,;
,,aGetBlock,,,;
,,cFindMacro,,,  ;
,,,,aHotKey))


Вот так шаг за шагом получаем очень даже "навороченный" экран работы


ВНИМАНИЕ !!! Данное описание для демонстрации подключения клавиши пробел. Вопросы будут.... нашу задачку после такого вмешательства предстоит улучшать
Back to top
View user's profile Send private message Send e-mail
Марина



Joined: 27 Aug 2002
Posts: 501
Location: Кондрина Марина Александровна
Occupation: ОАО БКО программист
Interests: Боровичи Новгородской обл

PostPosted: 11 Oct 2005 14:05    Post subject: Reply with quote

Поясните, пожалуйста, кто такой m->, почему именно m

Я попробовала убрать этот m->. Тогда перебор вариантов услуг получается, но на экран выводится и в файл записывается номер варианта напимер '2' вместо значения.
В случае редактирования не новой записи на ввод подается первый вариант из aType, а не тот, который уже имеется в этой записи.
Back to top
View user's profile Send private message
Светлана



Joined: 22 Jul 2002
Posts: 416
Location: Эпштейн Светлана

Interests: Бердск, Новосибирская обл

PostPosted: 12 Oct 2005 10:37    Post subject: Reply with quote

А можно еще рассказать про 19,20 и 24 параметры InitList? Они управляют цветом данных. Хочется чтобы не только работало, но и было красиво...
Back to top
View user's profile Send private message Send e-mail
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 12 Oct 2005 11:50    Post subject: Reply with quote

Марина wrote:
Поясните, пожалуйста, кто такой m->, почему именно m

Я попробовала убрать этот m->. Тогда перебор вариантов услуг получается, но на экран выводится и в файл записывается номер варианта напимер '2' вместо значения.
В случае редактирования не новой записи на ввод подается первый вариант из aType, а не тот, который уже имеется в этой записи.


Я брал пример из рабочей программы - а там у меня внутри функции и желательно сказать было что в памяти есть массив вот и использовал m-> , в нашем примере это действительно совсем не нужно было... (но и мешать не должно) - что касается всего остального, то действительно так - я же писал что это показать как перебор сделать, вечером распишу как дальше улучшить все правиль
Back to top
View user's profile Send private message Send e-mail
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 12 Oct 2005 11:52    Post subject: Reply with quote

Светлана wrote:
А можно еще рассказать про 19,20 и 24 параметры InitList? Они управляют цветом данных. Хочется чтобы не только работало, но и было красиво...


Обязательно распишу...
Извините за медлительность - днем еще и другие вопросы нужно реша
Back to top
View user's profile Send private message Send e-mail
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 12 Oct 2005 22:13    Post subject: Reply with quote

Марина wrote:
Поясните, пожалуйста, кто такой m->, почему именно m

Я попробовала убрать этот m->. Тогда перебор вариантов услуг получается, но на экран выводится и в файл записывается номер варианта напимер '2' вместо значения.
В случае редактирования не новой записи на ввод подается первый вариант из aType, а не тот, который уже имеется в этой записи.



1. Для того чтобы все работало нам с Вами надо добавить поле в базу TYPE C 1 0 и дальше при выводе на экране можно тогда в массиве блоков кода вместе {{||FIELD->NAME},....}
написать {{|| IF(!EMPTY(FIELD->TYPE),aType[VAL(FIELD->TYPE),2],SPACE(25))}....}

Поле NAME в этом случае будет не нужно - если по нему не нужен фрагментный поиск

2. Для того чтобы подставляло нужное надо использовать параметр 26
Туда надо прописать
bPreGet:={|x,y,z|aIn[x]:=FIELD->VID}
Back to top
View user's profile Send private message Send e-mail
Светлана



Joined: 22 Jul 2002
Posts: 416
Location: Эпштейн Светлана

Interests: Бердск, Новосибирская обл

PostPosted: 18 Oct 2005 09:59    Post subject: Reply with quote

Ау!!! А продолжение будет? Только вошли во вкус...
Back to top
View user's profile Send private message Send e-mail
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 18 Oct 2005 13:09    Post subject: Reply with quote

Обязательно будет - простыть уже нельзя
Back to top
View user's profile Send private message Send e-mail
itman



Joined: 05 Apr 2002
Posts: 1247
Location: Ильин Е.Ю.
Occupation: Cio
Interests: Кинель

PostPosted: 20 Oct 2005 15:48    Post subject: Reply with quote

Хотелось бы осветить вопрос отметки строк (ins / + / - )в initlist.
Back to top
View user's profile Send private message Send e-mail
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 20 Oct 2005 16:18    Post subject: Reply with quote

План перенес как раз сегодня на вечер, так что скоро будет
Back to top
View user's profile Send private message Send e-mail
Светлана



Joined: 22 Jul 2002
Posts: 416
Location: Эпштейн Светлана

Interests: Бердск, Новосибирская обл

PostPosted: 20 Oct 2005 17:29    Post subject: Reply with quote

И еще про цвет обещали... про 19,20 и 24 параметры InitList?
Back to top
View user's profile Send private message Send e-mail
nordk



Joined: 27 Jun 2005
Posts: 1000
Location: Горбунов Константин
Occupation: БЭСТ-Партнер
Interests: СПб

PostPosted: 20 Oct 2005 18:43    Post subject: Reply with quote

Все помню
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view     Forum Index -> Программирование в БЭСТ-4 All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © phpBB Group

Rambler
Rambler's Top100 Рейтинг@Mail.ru