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

Фигура 7. Интерфейс компоненти с безплатна навигация

Като правило, този тип интерфейс осъществява чрез използване на събитие задвижване програмиране и обектно ориентирана библиотека, която включва използването на визуални медии развитие на софтуера. Независимо от това, прост интерфейс с навигация може да се прилага и процедурни езици (например C) в един многозадачна операционна система, без организиране на събития (например, MS-DOS). Един пример на такъв интерфейс за софтуерни решения на квадратното уравнение е показано на фиг. 7.

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

Фигура 7. Външният вид на интерфейса с безплатна навигация

Състои се от три полета за въвеждане на коефициентите на интерфейса е, B, C и "Изход" бутони. Потребителят може да въведете стойности в полетата в произволен ред. След въвеждане на стойностите на програмата автоматично преизчислява корените на квадратно уравнение и актуализира информацията на екрана. Текущ контрол (бутон или поле за въвеждане), се освети, както е обичайно във всички системи, което позволява навигация с помощта на клавиатурата.

В допълнение към героите, текстов режим автоматично генериран текст курсора образ, който се намира в определена позиция на екрана и има предварително определен вид. При появата на височината на курсора се разбира: тя може да изглежда като пробив под символа може да покрие всички близки отношения или дори да бъде деактивиран.

Системата координира на дисплея изглежда по същия начин, както в режим на графика: X ос, насочена надясно, Y ос - надолу. В горния ляв ъгъл има координати (1, 1), за разлика от режима на графики (където има нулеви координати). В много случаи, текст C функции не работят директно с екран, но с някои от неговата правоъгълна област, наречени витрина. По подразбиране, прозорецът заема целия екран, но позицията му може да се променя от програмист. Когато печатни, съдържанието на прозореца на дисплея извън прозореца не се променя и прехвърлянето на дълги линии се прави на границата на прозореца, а не на екрана.

4. Функциите на режима на текст

За използване на функциите, описани по-долу, е необходимо да се свържете с глава файл .

4.1 Общи опции

нищожен текстов режим (инт newmode)

нищожен прозорец (INT ляво, вътр отгоре, вътр прав, вътр отдолу)

Задава ново текстово поле. Поставяне на погрешни координати води до пренебрегване на препратка към функция прозорец. Параметрите, оформят наляво и горната част на екрана, координатите на горния ляв ъгъл на прозореца, дъното и правото да определя координатите на екрана на долния десен ъгъл на прозореца.

По подразбиране, прозорецът заема целия екран. Така например, в 80CH25 режим, координатите на прозорците по подразбиране са 1,1,80,25.

нищожен gettextinfo (структура text_info * pinfo)

контрол 4.2 курсора

невалидни gotoxy (междинно съединение X, Int у)

Премества курсора дадена позиция на текстовото поле. В горния ляв ъгъл на прозореца има координати (1,1). Ако координатите по някаква причина са неправилни, призива на тази функция се игнорира. Пример за такава грешка може да служи наричаме gotoxy (40,30), когато размера на прозореца е 35CH25.

Int wherex (); Int wherey ()

Връща текущата позиция на курсора (по отношение на текстовото поле).

нищожен _setcursortype (инт cur_t)

Определя появата на курсора на текст. С тази функция, можете да деактивирате курсора (опция _NOCURSOR), дават възможност за непрекъснато "блок" курсора (_SOLIDCURSOR) или връщане стандартната форма на курсора (_NORMALCURSOR). Изключете курсора често се използва в интерфейси, менюта и интерфейси с навигация.

4.3 Управление на атрибутите на текст

невалидни highvideo (); нищожен lowvideo ()

Инсталиране увеличава и намалява (съответно) яркост символи изход. Тези функции не се отразяват на всички знаци, които се появяват в даден момент на екрана. Техният призив засяга само последващ изход на конзолата в текстов режим.

Тя определя яркостта към нормалното характер чрез връщане към ценностите на текстови атрибути (преден и заден план), които са били в момента на стартиране на програмата.

нищожен цвят на текст (инт newcolor)

Задава цвят за символи на текста на екрана. Аргументът може да бъде предаден цветови константи са изброени в таблица. 2.

нищожен textbackground (инт newcolor)

Задава цвета на фона на текста на екрана. Аргументът може да се предава цветни константи със стойности 0 ч 7 е показано в таблица. 2.

нищожен textattr (инт newattr)

Задава атрибутите на изведения текст. Тази функция ви позволява да настроите цвета на фона и текста в един разговор. За да се формира един байт атрибути, цвят на фона трябва да бъде изместен от 4 бита на ляво и сложи на цвета на текста: ATTR = назад<<4+text.

4.4 Clean Текст

Всички от следните функции работят в рамките на текстовото поле, не се променят характера извън нея.

Изчиства текущия текстовото поле и позиционира курсора в горния ляв ъгъл (в положение 1,1).

Тя изтрива всички герои от позицията на курсора до края на реда, без да местите курсора.

невалидни delline (); нищожен insline ()

delline функция изтрива текущия ред (където се намира курсора) и повдига всички редове, които са под курсора на една линия. insline функция вмъква празен ред в позицията на курсора текстовото поле, като се използва текущия цвят фон. Всички линии, които се намират под това, измести надолу един ред, а на последния ред в текстовото поле изчезва.

функциите, изброени по-долу работа без да се отчита на текущия прозорец. Всички параметри са настроени по отношение на горния ляв ъгъл на екрана, като координатна (1,1).

вътр movetext (инт лявата, вътр отгоре, Int прав, вътр дъно, вътр destleft, вътр desttop)

вътр gettext (инт лявата, вътр отгоре, Int прав, вътр дъно, нищожен * Destin)

Избутва съдържанието на правоъгълна област от екрана, на предварително определени стойности на параметрите за ляво, горе дясно, долу район в памет посочи от Destin.

Функцията чете съдържанието на правоъгълника в последователно памет, от ляво на дясно и отгоре надолу. Всяка позиция на екрана отнема 2 байта памет. Първият байт съответства на характера на фамилиарност, а вторият - неговите атрибути.

В пространството, необходимо за правоъгълника на ширината W на колони и редове височина Н се определя, както следва:

размер в байтове = (з редове) х (т колони) х 2.

вътр puttext (инт лявата, вътр отгоре, Int прав, вътр дъно, нищожен * източник)

Извежда съдържанието на зоната на паметта, посочи от източника, в правоъгълник на екрана, чиито координати са дадени от стойностите за ляво, горе дясно и отдолу. Функцията показва съдържанието на областта на паметта в определен правоъгълника последователно от ляво на дясно и отгоре надолу.

5. Изпълнението на потребителския интерфейс в Borland C ++

5.1 Общи принципи

При по-внимателно вглеждане, са изброени в Грешка: Референтен източник не е намерен видове потребителски интерфейс може да се види, че във всички случаи, входни и изходни данни се произвеждат отделно от основните изчисленията в програмата. Цялостният подход към дизайна на приложението е да се отдели интерфейс част на компютъра. Компютърна част трябва да бъде конструирана по такъв начин, че възможно най-малко зависими от потребителския интерфейс, от входа и изхода означава информация. Всички сурови данни се предават на компютър ядро ​​със стандартни техники, обикновено чрез параметрите на функцията. Ядрото се връща на резултатите и евентуално информация за грешките, които са. Частта с интерфейс независимо интерпретира тази информация и информира резултатите от потребител за изпълнение.

Изчислителна част от програмата не трябва да притежава, за да изведете всички съобщения (с изключение на съобщенията, показвани за целите на отстраняване на грешки, но в окончателния вариант на програмата и не трябва да бъде). В допълнение, той не трябва да прекрати програмата (с изключение на случаите, когато нормалното продължаване на работата по принцип невъзможно, например, тежко увреждане на режийни структури в паметта).

За да се отдели една част от друг в Borland C ++, те трябва да бъдат лесни за извършване на отделни функции. Основното правило в разпределението на кода на функциите е да се определи функцията за всеки от своята принадлежност към интерфейса, или компютърни части. Ако е възможно, избягвайте появата на функции, които на поведение може да се дължи на една или друга страна.

Основното изискване за интерфейс част - да се осигури максимална защита срещу печатни грешки. Контролни сложните взаимоотношения между въвеждане на данни, които се определят от вида на задачата обикновено се извършват от ядрото. В същото време, интерфейсът е в състояние да следите на една проста грешка: Input низ вместо номер, въведете номер извън предварително определеното ниво, и т.н. Проверки "на глупостта", следва да подлежат на всички данни, въведени от потребителя.

5.2 конзолата интерфейс

Интерфейсът на конзолата е просто осъзнах, с помощта на стандартни входно-изходни функции: ФОРМАТ, scanf, поставя, getch. Преди да можете да изчистите изход екран с предишни сесии на програмата не отвлича вниманието на потребителя. За някои видове програми, особено за системни инструменти и почистване на екрана е нежелателно, тъй като Информация за предишни измервания може да изисква от потребителя. Въпреки това, като се учим това няма нищо общо с програмата, и на екрана е по-добре да се почистват.

Преди всяко поискване на данни трябва да бъде изведен на потребителя подтик за въвеждане на данни, например, "Въвеждане на коефициент". Ако входа е направена от относително сложни правила, те също трябва да бъдат описани накратко, преди да влезе (например, когато влезете в масива, трябва първо да зададете броя на елементите N, а след това уточни, че елементите са въведени N пъти).

Тъй като след приключване на програмата се появява на екран черупка Borland C ++ и затваря изчислените резултати, е желателно да се спре изпълнението на програмата след натискане на резултатите. В този случай, потребителят трябва да се показва съответното съобщение.

Освен това, въвеждането на данни не може да изпълнява стандартните функции, както е обсъдено по-долу с входни редактиране функции. Това ще направи интерфейса по-лесен за употреба, особено в случаите, когато изчисленията могат да се повтарят (във втория и следващите итерации, можете да напомни на потребителя към предишните настройки по подразбиране).

В съответствие с принципите на разделение на интерфейса и изчислителни входа на ядрото, изхода и изчисляването трябва да се постави в различни функции. Цялостната логика на "пост - изчисление - изход", можете също да се направи отделна функция:

Разбира се, функционални прототипи вход input_data на (), се изчислява изчисляване () и извеждане show_results () може да бъде (и са) друга в зависимост от специфична програма и метода за предаване на данни към ядрото. Този подход позволява лесно да се организира циклично изпълнение на изчисления. За да направите това, стартирайте (функция) трябва да бъдат призовани да вършим ... докато цикъл, на изхода на който се извършва при отрицателния отговор на въпроса "Продължи?".

Останалата част от конзола програмен интерфейс, като правило, не предизвиква затруднения.

5.3 Обикновено меню

А просто меню е различно от интерфейса на конзолата през първото последователността на операциите. В програмата се изисква да фиксирам, условието за излизане от цикъла - за да изберете елемент от менюто "Изход". Във вътрешността на веригата, номерът на менюто е поставен искане и неговата преработка. Искането може да бъде направено функции scanf, getch т.н. Лечението обикновено се изпълнява от превключвателя на оператор, в който за всеки елемент от менюто е отделен клон на делото, както и всички други стойности са "тихи" се игнорират. Уведоми потребителя за избор на грешен елемент от менюто, по желание, може да го дразни (например, ако случайно сте се промъкнат през натискане).

Основната функция на интерфейс може да изглежда така:

//. Индикация на менюто

//. прилагани по всеки удобен начин sel_menu

Тази функция организира линеен вход с ограничен размер, за да преместите стрелките наляво, надясно, Home, End, и изтриване на ключове изтриване герои и Backspace. Input свършва, когато натиснете Enter или Esc, върнатата стойност показва коя от ключовете е бил натиснат. Това позволява на обаждащия се да се определи отказано влизане от страна на потребителя или да го потвърди. Ако първата натиснат клавиша води до въвеждане на символи, старите съдържанието на линията се изчистват. Тази функция позволява лесно да навлязат в нови данни, вместо старите. В същото време, ако първият ключ натиснат клавиша за промяна е, старата съдържанието се запазва.

Преди началото на функцията вход определя нормалната форма на курсора и скрива текстовия курсор след края на вход. Това ви позволява да използвате функцията в интерфейсите на менюто и връзките с навигация без нужда от допълнителни разговори _setcursortype.

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

Присъства функция inputstr може да се използва като заместител на scanf, а интерфейсът е по-лесен за употреба, което се отразява благоприятно върху опита на програмата на потребителя. За всеки тип входни номера могат да бъдат написани отделни функции, преобразуване на броя на низ, причинявайки inputstr и след това превръщане на полученото низ обратно в число.

6. Практически упражнения

6.1 Контраст атрибути

Напишете функция, която използва един байт от атрибути и връща 0, ако цвета на фона и тонът в този байт са едни и същи, и не-нулева стойност, ако са различни.

6.2 Развитие на интерфейса

Да се ​​разработи описание на потребителския интерфейс на програмата "Аларма".

Изходни данни за програмата, са:

времето, в което се настроите алармата;

показва флаг служба разрешава или забранява;

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

По отношение на програмата е необходимо да се разработи конзола интерфейс, менюто интерфейс и интерфейс с навигация. В резултат на развитието е текстов описание на компонентите на менюто заявка или интерфейс, съответно.

7. лабораторни задания

7.1 Разтворът на квадратно уравнение

Напишете програма, квадратно уравнение като конзола интерфейс или интерфейс на базата на проста меню. Всички коефициентите на уравнението въведени от потребителя. При въвеждане на коефициентите следва да се предвиди възможност за промяна на входната величина.

Ако уравнението има един корен, на