30352-1 (Разработка программного обеспечения), страница 4

2016-07-31СтудИзба

Описание файла

Документ из архива "Разработка программного обеспечения", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "30352-1"

Текст 4 страницы из документа "30352-1"

-клавишей ENTER осуществляется выбор того пункта меню, на котором стоит курсор;

-клавишей INSERT в интерактивном режиме можно переключить режим замещения / вставки букв с раздвижкой строки;

-клавиша ESC, как правило, выполняет возврат к предыдущей функции или меню (аналогично пункту ВЫХОД).

3.Описание использования функциональных возможностей программы.

После запуска открывается главное меню программы, состоящее из пунктов, управляющих дальнейшей работой:

-АТРИБУТЫ - при выборе этого пункта становиться активным окно с атрибутами и пользователь может настроить атрибуты по своему усмотрению:

- Имя комплекта : указывае название каталога для системы T-FLEX, в котором расположены файлы f4.grb, plata.grb, 2d.grb, необходимые для формирования элементов платы средствами пакета T-FLEX по результатам работы p-flex.

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

- Толщина платы : параметр, определяющий толщину платы (т.к. в PCAD нет понятия о толщине платы, то этот параметр определяется пользователем, по умолчанию = 0).

- Имя pdf - файла : в этом пункте пользователь может ввести название pdf- файла PCAD-а, который он хочет обработать с указанием пути к нему. Если при запуске программы был указано имя файла pdf, в виде ключа, то оно автоматически попадает в этот пункт. При наборе имени файла программа проверяет существование такого файла по указанному пути и, если он не существует, то пользователь не имеет возможности выйти из окна АТРИБУТЫ до тех пор, пока не введет правильное имя файла иначе остается возможность выхода по esc ,без сохранения всех изменений, сделанных в этом окне.

-КОМПОНОВКА - данный пункт не активен при выборе, до тех пор, пока не будет указанно правильное имя анализируемого pdf- файла в окне АТРИБУТЫ (о чем свидетельствует горящее посреди экрана сообщение “Не вижу pdf-файла”). Если pdf- файл доступен, то при выборе этого пункта меню начинается его анализ : за скоростью этого процесса пользователь может следить по процентной линии, отображаемой на экране.

Внизу экрана отображается общее количество найденных на плате элементов а так же сообщение о результате поиска контура платы на слое KONTUR.

После завершения анализа платы программа выбирает габариты элементов из файла gabarits.dbf по их названию, а если не находит нужного, то выполняет поиск pdf-файла элемента (для prt, обработанного pdifout.exe) в подкаталоге PDF (который должен находиться в том же каталоге что и программа). При успешном поиске она анализирует этот файл, находит в нем габариты элемента и заносит их в базу gabarits.dbf. Т.е. если на анализируемой плате есть элементы со стандартным названием, но не стандартными (обновленными) габаритами, то необходимо удалить gabarits.dbf, а в подкаталог PDF скопировать все .pdf-файлы элементов платы, и тогда габариты всех элементов платы просканируются и файл подготовится заново. (В существующей версии каждый элемент по размерам округляется до параллелограмма, т.е. шар например станет кубом. Для точной графической передачи элементов в трехмерном виде требуется создание специальной графической библиотеки в формате T-FLEX, чему будет посвящена следующая версия программы.) Габариты элемента помещаются в базу gabaritrs.dbf. Т.е. если элемент встречался хотя-бы раз в какой-либо плате, то во всех последующих платах данные на него будут браться из базы без повторной обработки его PRT-файла.

Если контур платы был обнаружен, то при создании файлов для T-FLEX в них передадутся габаритные размеры платы, со слоя KONTUR, округленные по форме до прямоугольника (существующая версия не обрабатывает сложные контуры). Если-же контур найден не был то программой создается собственный прямоугольный контур платы по условию: расстояние от края платы до граничных элементов равно 10 мм.

После этого предлагается меню компоновки:

- Выход (или ESC) — выход в предыдущее (главное) меню, если этот пункт выбирается первым, то при выходе происходит отказ от создания файлов платы в формате T-FLEX;

- Трехмерная компоновка — при выборе этого пункта начинается процесс создания файлов изображения платы в трехмерном виде в формат T-FLEX. На экране отображается количество элементов, созданных в файлах T-FLEX , соответственно на нижний и верхней стороне платы. При этом создаются 3-и файла в формате T-FLEX: *****top.frg-файл элементов верхней стороны платы, *****bot.frg-файл элементов нижней стороны платы, *****plt.frg-файл контура платы (символом ***** обозначаются пять первых символов каждого файла, они общие для всех трех файлов, которые пользователь редактирует по своему усмотрению в пункте Имя файла). После завершения автоматически предлагается меню компоновки и пользователь, по желанию, может либо создать какой-либо другой вид платы, либо выйти в главное меню;

- Имя файла — при выборе этого пункта курсор переходит в окно с именем файла и позволяет изменить его по своему усмотрению;

- Описание — при выборе этого пункта создается стандартный dbf- файл, содержащий перечень всех элементов анализируемой платы.

- Двумерная компоновка — при выборе этого пункта предлагается меню с различными двумерными видами платы : спереди (F), сзади (A), слева (L), справа (R). Под каждым пунктом нарисована плата и стрелкой показано направление взгляда на неё.

При выборе нужного пункта происходит создание файлов двумерного изображения, соответствующего вида, в формате T-FLEX (создается файл *****2d#.frg , где ***** - имя задаваемое пользователем при выборе пункта “имя”, а # - символ признак вида : F, A, L, R).

После этого вновь предлагается меню компоновки.

Алгоритм и описание программы.

Программа разработана и написана в СУБД CLIPPER 5.2 с использованием стандартных форматов файлов баз данных.

Учитывая объем программы и сложность алгоритма, использовались методы структурированного программирования и текст программы разбит на несколько файлов, в которых выделены основные функции, таким образом, чтобы их легко было редактировать во время отладки.

1.Основная программа содержится в файле dbfill.prg, которая в своей работе использует процедуры и функции, описанные во вспомогательных программных файлах.

На первом шаге выполнения программа считывает имя pdf-файла, заданного в командной строке, делает текущим каталог в котором она находится, создает переменные, необходимые в работе как её, так и другим подпрограммам:

PARAMETERS fname //считать параметры командной строки

PUBLIC higt,higtd,pnow:=0,filelen,exit:='',attr:='',desc,bufer:=SPACE(65000), ; compon[0,9],nomcomp:=0

PUBLIC koef:=0.1,str,stolb,parts,znak,kontur[0],verkont:=0,parametr

PUBLIC errfile[0] // массив сообщений об ошибках

PRIVATE razm,filend,not,L,p1,str2,colo

PUBLIC tlplat:=7 //толщина платы

set cursor off

cls

colo:=setcolor('g+/b')

tmppat:=dirname() //делает текущим каталог в котором наход.

pat:=LOWER(exename()) //исполняемый файл

c1:=RAT('tel',pat)

pat:=LEFT(pat,c1-2)

DIRCHANGE (pat)

Далее вызывается функция, активизирующая главное меню программы, которая, в зависимости от выбранного пункта, передает управление той или иной процедуре:

IF fname<>NIL

cls

setboxgrow(3)

wbox(0)

set date format 'dd:mm:yyyy'

//открытие основного окна

ZAGOL('ОБРАБОТКА PDF-ФАЙЛА '+DTOC(DATE()))

SETCOLOR('N/G')

wmenu:=wind(1,2,maxrow()-3,maxcol()-3,'Главное меню',5)

perv:=1

SHOWTIME(0,72,'G/G')

attrtmp:='DEMO '

higttmp:=30.00

higtdtmp:=30.00

exittmp:=' out'

GL() //выов фкнкции главного меню

WINCLOSE()

SETCOLOR(colo)

cls

ELSE

SETCOLOR(colo)

cls

@ 3,0 SAY 'Не введено имя pdf файла!'

ENDIF

SETCOLOR(colo)

DIRCHANGE (tmppat) //возвращает сохраненный текущий каталог

SETCOLOR('g/n')

@ MAXROW()-1,15 SAY 'Shurasoft 1997 Mihail & Alexandr Company'

SETCOLOR(colo) //возвращение текущего цвета при выходе

?' '

RETURN

//*****************************************************************

FUNCTION GL() //главное меню

CLEAR GETS

cglold:=setcolor('n/rg')

@ 11,5 CLEAR TO maxrow()-2,maxcol()-6

@ 11,5 TO maxrow()-2,maxcol()-6 DOUBLE

set cursor off

set scoreboard off

readexit(.F.)

set cursor on

set date format to 'dd.mm.yyyy'

setpos(12,(maxcol()/2)-4)

dispout(' АТРИБУТЫ ','g+/b')

@ 13,7 say "Имя комплекта................................" color ('W+/rg') get attrtmp color('rg+/rg,n/w')

@ 14,7 say "Ограничение по высоте сверху в mm............" color ('W+/rg') get higttmp picture '@B 999.99' color('gr+/rg,n/w')

@ 15,7 say "Ограничение по высоте снизу в mm............." color ('W+/rg') get higtdtmp picture '@B 999.99' color('gr+/rg,n/w')

setcolor(cglold)

set cursor off

mas:={{'Атрибуты', 'Компоновка', 'Выход'},{"Редактирование атрибутов файла", "Скомпоновать файл в формате T-FLEX", "Выход в DOS"}}

str:=MENU (mas,14,perv)

perv=str

str1:=10

IF str=1 //если выбран пункт АТРИБУТЫ- запустить меню , //позволяющее изменить атрибуты

set cursor on

read

set cursor off

ELSEIF str=2 //если выбран пункт КОМПОНОВКА- запустить //процедуру анализа pdf- файла

WSELECT(0)

SETCOLOR('n/bg')

PUBLIC pnow:=0,filelen,desc,bufer:=SPACE(65000),compon[0,9],nomcomp:=0

PUBLIC kontur[0],verkont:=0,parametr

PUBLIC errfile[0] // массив сообщений об ошибках

CREATDB()

wzapis:=wind(2,3,maxrow()-7,maxcol()-6,"Компоновка",5)

higt:=higttmp

higtd:=higtdtmp

attr:=alltrim(attrtmp)

CONT()

winclose()

wselect(wmenu)

ELSEIF str=0 //если не выбран не один пункт

perv=4

ENDIF

IF str<>3

wselect(wmenu)

GL()

ENDIF

RETURN

//*****************************************************************

FUNCTION CONT() //функция анализу\ирующая pdf- файл

PUBLIC kolkomp,koltop:=0,kolbot:=0,dx,dy //выделенме параметров эле-//ментов

//dx,dy -поправка на 0

desc:=FOPEN(fname)

filelen:=FSEEK(desc,0,2)

prflen:=filelen

FSEEK(desc,0,0)

CLS

?'ИДЕТ ПОИСК КОМПОНЕНТ...'

not:=SEARCHCOMP(@koef) //вызов функции которая выполняет всю работу по анализу текста pdf- айла , находит имена, обозначения, габариты всех элементов, находящихся на плате и упаковывает их в виде файла базы данных

kolkomp:=0

IF len(not)>0

kolkomp:=not[1]

koltop:=not[2]

kolbot:=not[3]

ENDIF

FCLOSE(desc) //закрытие pdf файла

//*****ОБРАБОТКА ПАРАМЕТРОВ У НАЙДЕННЫХ ЭЛЕМЕНТОВ****

IF kolkomp>0

AUTOKONTUR(kolkomp) //выделение контура платы по максимальным габаритам элементов на ней

ENDIF

//*******ВЫБОР ВИДА ПЛАТЫ******************************

exit:=alltrim(exittmp)

CLEAR GETS

st:=1

cls

DO WHILE (st<>4) //Предлагается меню, где можно выбрать направление взгляда на плату

cglold:=setcolor('n/rg')

@ 9,12 CLEAR TO 11,maxcol()-13

@ 9,12 TO 11,maxcol()-13 DOUBLE

set cursor off

set scoreboard off

readexit(.F.)

set cursor on

@ 10,14 say "Имя получаемоемого файла......" color ('w+/rg') get exittmp picture 'NNNNN' color('gr+/gr,n/w')

setpos(10,50)

dispout('.frg','w+/gr')

setcolor(cglold)

mas:={{'Двумерная','Трехмерная ','Имя файла','Выход'},{"Создание файла вида сбоку(двумерное изображение)","Создание файла вида со стороны(трехмерное изображение)",'Изменить имя получаемоемого файла','Выход в главное меню'}}

st:=MENU (mas,13,st)

IF st=1

@ 9,0 CLEAR TO maxrow(),maxcol()

set cursor off

TO2D(kolkomp) //пересчет точек привязки в трехмерные координаты

PRINTINFO()

ERRF()

inkey(6)

cls

ELSEIF st=2

@ 9,0 CLEAR TO maxrow(),maxcol()

set cursor off

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5155
Авторов
на СтудИзбе
439
Средний доход
с одного платного файла
Обучение Подробнее