Автор Тема: Графический интерфейс пользователя в прикладных программа+программа Герон  (Прочитано 4613 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5755
  • Страна: ru
  • Город: Россия, Самара
  • Карма +140/-0
  • Пол: Мужской
    • Просмотр профиля
  • Медали: 4
Графический интерфейс пользователя в прикладных программах.

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

   В качестве примера можно составить программу расчёта площади
треугольника по формуле Герона.

   Формула Герона позволяет рассчитать площадь треугольника по
размерам трёх его сторон: a, b, c.

   Для начала нужно рассчитать промежуточный параметр -
полупериметр р, равный полусумме всех сторон треугольника:

   p=(a+b+c)/2

   Определив значение полусуммы всех сторон, рассчитываем значение
площади треугольника:

   S=√(p(p-a)(p-b)(p-c))

   Перед написанием программы, определимся, в каких регистрах
будут исходные данные, промежуточные результаты и результат расчётов.

   Пусть размеры сторон треугольника a, b, c, будем заносить
в регистры РА, РВ, РС, а полупериметр будем хранить в регистре РD,
а результат расчётов - площадь треугольника будет отображаться прямо
на дисплее при останове программы.

   Для начала рассчитываем полупериметр р и заносим его в
регистр РD:

      0    1    2    3    4    5    6    7    8    9

 00  ИПА  ИПВ  ИПС   +    +    2    ÷    ПD

   Далее, рассчитываем площадь треугольника:

      0    1    2    3    4    5    6    7    8    9

 00                                          ИПА   -

 10  ИПD  ИПВ   -   ИПD  ИПС   -   ИПD   х    х    х

 20   F√

   Значение полупериметра после его расчёта находится в стеке,
поэтому в первый раз его не нужно вызывать из регистра РD.

   После расчёта, нужно остановить программу, чтобы результат
расчёта отобразился на дисплее. Для удобства повторного расчёта, нужно
добавить переход на начало программы, чтобы после останова, программу
можно было перезапустить вновь:

      0    1    2    3    4    5    6    7    8    9

 20       С/П   БП   00

   Получаем программу расчёта площади треугольника по формуле
Герона:

      0    1    2    3    4    5    6    7    8    9

 00  ИПА  ИПВ  ИПС   +    +    2    ÷    ПD  ИПА   -

 10  ИПD  ИПВ   -   ИПD  ИПС   -   ИПD   х    х    х

 20   F√  С/П   БП   00

   Перед запуском программы нужно занести размеры сторон
треугольника в регистры РА, РВ, РС.

   Например, размеры сторон треугольника: a=3, b=4, c=5. Заносим:

      3    ПА   4    ПВ   5    ПС

   Запускаем программу:

     В/О, С/П.  РХ = 6.

   После останова программы получаем результат расчёта, площадь
треугольника с размером сторон 3, 4, и 5 равна 6.

   После останова программы можно внести новые значения сторон
треугольника в регистры РА, РВ, РС, и перезапустив программу клавишей
"С/П" получить результат нового расчёта.

   Теперь, для повышения удобства пользования, добавим к программе
графическое меню, организованного при помощи графического интерфейса
пользователя.

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

   Перед началом работы, нужно разрешить работу, записав числа 1 в
регистр Р9200, занести адрес главной таблицы меню в регистр Р9201, а
также внести номер загруженной формы в регистр Р9202 и номер действующего
элемента в регистр Р9203. Далее, в регистр Р9208 команд интерфейса
записывается число 64 - команда перерисовки экрана. На этом подготовка
к работе графического интерфейса пользователя заканчивается.

   Работа с графическим интерфейсом пользователя состоит из записи
команд в регистр Р9208 и обработки кодов результатов выполнения команд,
считываемых из регистра Р9209.

   В качестве команд управления, служат коды клавиш, которые можно
считать из регистра Р9029. Это команды "ВЫХОД" (32), "ВВОД" (33),
"ВЫБОР ВПРАВО" (34), "ВЫБОР ВЛЕВО" (35), "ВЫБОР ВВЕРХ" (36),
"ВЫБОР ВНИЗ" (37),  а также специальная команда 64 перерисовки экрана.

   Программа должна периодически считывать код клавиши из регистра
Р9029, передавать код нажатой клавиши в регистр команд Р9208, и
обрабатывать код результата выполнения команды, считываемого из регистра
Р9209. Также, должен происходить останов программы при нажатии клавиши
"ВЫХОД" при основной загруженной форме.

   Рабочими регистрами остаются РА, РВ, РС для исходных данных,
промежуточный регистр РD, и добавляются регистр результата расчёта РЕ
и регистр Р7 для промежуточного хранения кода нажатой клавиши.

   Сначала нужно очистить рабочие регистры РА, РВ, РС, РЕ и
подготовить к работе графический интерфейс пользователя:

      0    1    2    3    4    5    6    7    8    9

 00   Сх   ПА   ПВ   ПС   ПЕ   1   РРП   92   00   1

 10   1    0   РРП   92   01   Сх  РРП   92   02  РРП

 20   92   03

   Теперь нужно обеспечить считывание кода нажатых клавиш из
регистра Р9029, передача команд в регистр Р9208, а также считывание
из регистра Р9209 и обработку кода результата выполнения команды,
а также остановку программы при нажатии на клавишу "ВЫХОД":

      0    1    2    3    4    5    6    7    8    9

 20             6    4   РРП   92   08  РРИП  92   09

 30  Fх≠0  50   1    -   Fх≠0  71   6    -   Fх=0  95

 40 

 50  РРИП  90   29   П7  KNOT Fх≠0  50  ИП7   3    2

 60   -   К|х| РРИП  92   02  KOR  Fх≠0  95  ИП7   БП

 70   24

   При успешном выполнении команды, код результата - 0, код нажатой
клавиши передаётся в регистр команд Р9208. При считывании кодов ошибок
из регистра Р9209, или нажатии на клавишу "ВЫХОД", переходим к останову
программы, по адресу 95.

   При коде выполнения операции, равном 1, требуется дополнительная
обработка команды, в нашей программе рассчитывается значение площади
треугольника и заносится в регистр РЕ. Далее, обнуляются указатели
номеров формы - Р9202 и элемента - Р9203 и перерисовывается экран. Для
этого используется подготовка интерфейса к работе:


      0    1    2    3    4    5    6    7    8    9

 70   24  ИПА  ИПВ  ИПС   +    +    2    ÷    ПD  ИПА

 80   -   ИПD  ИПВ   -   ИПD  ИПС   -   ИПD   х    х

 90   х    F√   ПЕ   БП   15

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


      0    1    2    3    4    5    6    7    8    9

 40  РРИП  92   03   1    +   РРП   92   03   БП   22

   При нажатии на клавишу "ВЫХОД" при нулевой текущей форме, или
при считывании кодов ошибок из регистра Р9209, записью адреса строки
0311 в регистр Р9026 в строке комментариев выводится сообщение "Выход",
очищаются регистры РY, РZ и РT, в регистр РХ выводится код ошибки и
происходит останов программы:

      0    1    2    3    4    5    6    7    8    9

 90                            3    1    1   РРП   90

100   26   Сх   В↑   В↑  РРИП  92   09  С/П  РБП   00

110   00
   
   Теперь основная программа готова:

      0    1    2    3    4    5    6    7    8    9

 00   Сх   ПА   ПВ   ПС   ПЕ   1   РРП   92   00   1

 10   1    0   РРП   92   01   Сх  РРП   92   02  РРП

 20   92   03   6    4   РРП   92   08  РРИП  92   09

 30  Fх≠0  50   1    -   Fх≠0  71   6    -   Fх=0  95

 40  РРИП  92   03   1    +   РРП   92   03   БП   22

 50  РРИП  90   29   П7  KNOT Fх≠0  50  ИП7   3    2

 60   -   К|х| РРИП  92   02  KOR  Fх≠0  95  ИП7   БП

 70   24  ИПА  ИПВ  ИПС   +    +    2    ÷    ПD  ИПА

 80   -   ИПD  ИПВ   -   ИПD  ИПС   -   ИПD   х    х

 90   х    F√   ПЕ   БП   15   3    1    1   РРП   90

100   26   Сх   В↑   В↑  РРИП  92   09  С/П  РБП   00

110   00

   Графический интерфейс пользователя состоит из главной таблицы
меню, и экранных форм.

   Главная таблица меню состоит из ряда трёхбайтовых записей, первый
байт - номер формы, второй и третий байты - адрес заголовка формы в
памяти программ, и заканчивается кодом 0FFh. В нашей программе всего одна
форма, и главная таблица меню состоит всего из одной записи:

      0    1    2    3    4    5    6    7    8    9

110  00h  01h  14h   FFh

   Форма состоит из заголовка формы, адресов таблиц
переходов по командам "ВВОД", "ВЫХОД", "ВЫБОР ВЛЕВО(ВВЕРХ)",
"ВЫБОР ВПРАВО(ВНИЗ)", адресов основной программы формы и адреса таблицы
адресов программ элементов. Все адреса представляют собой смещения
относительно начала заголовка формы в шестнадцатеричном формате.

   Размер формы ограничен размером 256 байт.

   Для нашей программы достаточно одной - единственной формы и
четырёх элементов, три для ввода размеров сторон и один для запуска
расчёта площади. Форма ввода числа (254) программирования не требует.

   Заголовок формы нашей программы:

00h   03h - четыре элемента в форме, начиная с нулевого
01h   08h - адрес таблицы флагов действий
02h   0Ch - адрес таблицы переходов по команде "ВВОД"
03h   0Ch - адрес таблицы переходов по команде "ВЫХОД"
04h   14h - адрес таблицы переходов по команде "ВЫБОР ВЛЕВО(ВВЕРХ)"
05h   16h - адрес таблицы переходов по команде "ВЫБОР ВПРАВО(ВНИЗ)"
06h   1Eh - адрес основной программы формы
07h   1Ah - адрес таблицы адресов программ элементов

      0    1    2    3    4    5    6    7    8    9

110                      03h  08h  0Ch  0Ch  14h  16h

120  1Eh  1Ah


   Таблица флагов действий состоит из ряда байтовых записей, для
элементов 0, 1, 2 достаточно разрешения команд "ВЫБОР" для переключения
действующих элементов и разрешения команды "ВВОД" для перехода к форме
ввода десятичного числа. Для 3-го элемента, кроме разрешения команд
"ВЫБОР" и "ВВОД", нужно указать признак ввода:

08h   05h - разрешение команд "ВВОД" и "ВЫБОР"
09h   05h - разрешение команд "ВВОД" и "ВЫБОР"
0Ah   05h - разрешение команд "ВВОД" и "ВЫБОР"
0Bh   0Dh - разрешение команд "ВВОД" и "ВЫБОР", признак ввода

      0    1    2    3    4    5    6    7    8    9

120            05h  05h  05h  0Dh

   Таблица переходов по командам "ВВОД" и "ВЫХОД" состоит из ряда
двухбайтовых записей, каждому элементу соответствует номер новой формы
и действующего элемента. В нашей форме команды команды "ВЫХОД" запрещены,
и таблица переходов по командам "ВЫХОД" не требуется. В нашей форме,
адрес таблицы переходов по командам  "ВВОД" и "ВЫХОД" указывает на одну
таблицу:

0Ch   FEh, 00h - форма ввода числа (254-я), 0-й элемент
0Eh   FEh, 01h - форма ввода числа (254-я), 1-й элемент
10h   FEh, 02h - форма ввода числа (254-я), 2-й элемент
12h   00h, 03h - основная форма (0-я), 3-й элемент

      0    1    2    3    4    5    6    7    8    9

120                                FEh  00h  FEh  01h

130  FEh  02h  00h  03h

   Таблица переходов по командам "ВЫБОР ВЛЕВО(ВВЕРХ)" и
"ВЫБОР ВПРАВО(ВНИЗ)" состоят из ряда байтовых записей, указывающих на
номер нового действующего элемента при выполнении команды "ВЫБОР".

   В нашей форме, при нажатии на клавишу "ВЫБОР ВЛЕВО(ВВЕРХ)"
номер действующего элемента должен уменьшаться, а при нажатии на
клавишу "ВЫБОР ВПРАВО(ВНИЗ)" номер действующего элемента должен
увеличиться. Кроме того, если нажата клавиша "ВЫБОР ВЛЕВО(ВВЕРХ)", при
0-м элементе, должен быть задействован 3-й элемент, а если нажата
клавиша "ВЫБОР ВПРАВО(ВНИЗ)", при 3-м элементе, должен быть задействован
0-й элемент:

   Таблица переходов по команде "ВЫБОР ВЛЕВО(ВВЕРХ)"

   03h - переход на 3-й элемент (вверх)
   00h - переход на 0-й элемент (вверх)
   01h - переход на 1-й элемент (вверх)
   02h - переход на 2-й элемент (вверх)

   Таблица переходов по команде "ВЫБОР ВПРАВО(ВНИЗ)"

   01h - переход на 1-й элемент (вверх)
   02h - переход на 2-й элемент (вверх)
   03h - переход на 3-й элемент (вверх)
   00h - переход на 0-й элемент (вверх)

   Таблицы переходов по командам "ВЫБОР ВЛЕВО(ВВЕРХ)"и
"ВЫБОР ВПРАВО(ВНИЗ)" можно объединить в одну, при этом адрес таблицы
переходов по команде "ВЫБОР ВЛЕВО(ВВЕРХ)" будет начинаться с адреса 14h,
а адрес таблицы переходов по команде "ВЫБОР ВПРАВО(ВНИЗ)" будет
начинаться с адреса 16h:

14h   03h - переход на 3-й элемент (вверх)
15h   00h - переход на 0-й элемент (вверх)
16h   01h - переход на 1-й элемент (вверх или вниз)
17h   02h - переход на 2-й элемент (вверх или вниз)
18h   03h - переход на 3-й элемент (вниз)
19h   00h - переход на 0-й элемент (вниз)

      0    1    2    3    4    5    6    7    8    9

130                      03h  00h  01h  02h  03h  00h

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

1Ah   75h - адрес программы 0-го элемента
1Bh   7Dh - адрес программы 1-го элемента
1Ch   85h - адрес программы 2-го элемента
1Dh   8Dh - адрес программы 3-го элемента

      0    1    2    3    4    5    6    7    8    9

140  75h  7Dh  85h  8Dh

   Основная программа экранной формы, а также программы элементов
пишутся на языке графического интерфейса пользователя. Основная программа
выполняется при каждой перерисовке формы, а также выполняется программа
действующего элемента. Программа оканчивается кодом 0FFh.

   Основная программа формы выводит название программы - "Расчёт
площади треугольника", названия сторон "А", "В", "С", обозначение
площади "S", команду "Рассчитать!" и значение регистров РА, РВ, РС, РЕ:

1Eh TYPE 0 ;Указываем 0-й шрифт
20h TAB 1Ch,00h ;Указываем позицию вывода: X=1Ch, Y=00h
23h TXTP 10h,0263d ;Выводим строку из памяти "Расчёт площади"
27h TAB 22h,08h ;Указываем позицию вывода: X=22h, Y=08h
2Ah TXTP 10h,0278d ;Выводим строку из памяти "треугольника"
2Eh TAB 1Ah,11h ;Указываем позицию вывода: X=1Ah, Y=11h
31h SQU 0,4Bh,01h ;Выводим прямоугольник X=4Bh, Y=01h
35h TAB 1Ch,14h ;Указываем позицию вывода: X=1Ch, Y=14h
38h TXTP 10h,0291d ;Выводим строку из памяти "А"
3Ch TAB 2Eh,14h ;Указываем позицию вывода: X=2Eh, Y=14h
3Fh PREXP 10h,0010d ;Выводим содержимое регистра РА
43h TAB 1Ch,1Dh ;Указываем позицию вывода: X=1Ch, Y=1Dh
46h TXTP 10h,0293d ;Выводим строку из памяти "В"
4Ah TAB 2Eh,1Dh ;Указываем позицию вывода: X=2Eh, Y=1Dh
4Dh PREXP 10h,0011d ;Выводим содержимое регистра РВ
51h TAB 1Ch,26h ;Указываем позицию вывода: X=1Ch, Y=26h
54h TXTP 10h,0295d ;Выводим строку из памяти "С"
58h TAB 2Eh,26h ;Указываем позицию вывода: X=2Eh, Y=26h
5Bh PREXP 10h,0012d ;Выводим содержимое регистра РС
5Fh TAB 2Eh,2Fh ;Указываем позицию вывода: X=2Eh, Y=2Fh
62h TXTP 10h,0297d ;Выводим строку из памяти "Рассчитать!"
66h TAB 1Ch,38h ;Указываем позицию вывода: X=1Ch, Y=38h
69h TXTP 10h,0309d ;Выводим строку из памяти "S"
6Dh TAB 2Eh,38h ;Указываем позицию вывода: X=2Eh, Y=38h
70h PREXP 10h,0014d ;Выводим содержимое регистра РD
74h END ;Конец основной программы

   Программа на языке графического интерфейса в память программ
записывается в виде шестнадцатеричной таблицы:

      0    1    2    3    4    5    6    7    8    9

140                      65h  00h  60h  1Ch  00h  53h

150  10h  02h  63h  60h  22h  08h  53h  10h  02h  78h

160  60h  1Ah  11h  59h  00h  4Bh  01h  60h  1Ch  14h

170  53h  10h  02h  91h  60h  2Eh  14h  5Ch  10h  00h

180  10h  60h  1Ch  1Dh  53h  10h  02h  93h  60h  2Eh

190  1Dh  5Ch  10h  00h  11h  60h  1Ch  26h  53h  10h

200  02h  95h  60h  2Eh  26h  5Ch  10h  00h  12h  60h

210  2Eh  2Fh  53h  10h  02h  97h  60h  1Ch  38h  53h

220  10h  03h  09h  60h  2Eh  38h  5Ch  10h  00h  14h

230  FFh



   Программа 0-го элемента вводит число в регистр РА и обозначает
рамкой вокруг выведенного формой значения регистра РА:

75h TAB 2Ah,13h ;Указываем позицию вывода: X=2Ah, Y=13h
78h LDADR 0010h ;Вводим число в регистр РА
7Bh JM 90h ;Переходим на вывод рамки по адресу 90h

      0    1    2    3    4    5    6    7    8    9

230       60h  2Ah  13h  4Dh  00h  10h  38h  90h


   Программа 1-го элемента вводит число в регистр РВ и обозначает
рамкой вокруг выведенного формой значения регистра РВ:

7Dh TAB 2Ah,1Ch ;Указываем позицию вывода: X=2Ah, Y=1Ch
80h LDADR 0010h ;Вводим число в регистр РВ
83h JM 90h ;Переходим на вывод рамки по адресу 90h

      0    1    2    3    4    5    6    7    8    9

230                                               60h

240  2Ah  1Ch  4Dh  00h  10h  38h  90h

   Программа 2-го элемента вводит число в регистр РС и обозначает
рамкой вокруг выведенного формой значения регистра РС:

85h TAB 2Ah,25h ;Указываем позицию вывода: X=2Ah, Y=25h
88h LDADR 0010h ;Вводим число в регистр РС
8Bh JM 90h ;Переходим на вывод рамки по адресу 90h

      0    1    2    3    4    5    6    7    8    9

240                                     60h  2Ah  25h

250  4Dh  00h  10h  38h  90h

   Программа 3-го элемента запускает расчёт площади треугольника
и обозначает рамкой вокруг выведенной формой строки "Рассчитать!":

8Dh TAB 2Ah,2Eh ;Указываем позицию вывода: X=2Ah, Y=2Eh
90h FRAME 10h,3Bh,0Ah ;Выводим рамку размером X=3Bh, Y=0Ah
94h END ;Конец программ всех элементов

      0    1    2    3    4    5    6    7    8    9

250                           60h  2Ah  2Eh  5Bh  10h

260  3Bh  0Ah  FFh

   Программа выведения рамки для действующего элемента всего одна,
потому что выводимая рамка одинакова для всех элементов, поэтому все
программы элементов ссылаются на программу выведения рамки.

   Графический интерфейс пользователя нашей программы представляет
собой шестнадцатеричную таблицу в памяти программ:

      0    1    2    3    4    5    6    7    8    9

110  00h  01h  14h  FFh  03h  08h  0Ch  0Ch  14h  16h

120  1Eh  1Ah  05h  05h  05h  0Dh  FEh  00h  FEh  01h

130  FEh  02h  00h  03h  03h  00h  01h  02h  03h  00h

140  75h  7Dh  85h  8Dh  65h  00h  60h  1Ch  00h  53h

150  10h  02h  63h  60h  22h  08h  53h  10h  02h  78h

160  60h  1Ah  11h  59h  00h  4Bh  01h  60h  1Ch  14h

170  53h  10h  02h  91h  60h  2Eh  14h  5Ch  10h  00h

180  10h  60h  1Ch  1Dh  53h  10h  02h  93h  60h  2Eh

190  1Dh  5Ch  10h  00h  11h  60h  1Ch  26h  53h  10h

200  02h  95h  60h  2Eh  26h  5Ch  10h  00h  12h  60h

210  2Eh  2Fh  53h  10h  02h  97h  60h  1Ch  38h  53h

220  10h  03h  09h  60h  2Eh  38h  5Ch  10h  00h  14h

230  FFh  60h  2Ah  13h  4Dh  00h  10h  38h  90h  60h

240  2Ah  1Ch  4Dh  00h  10h  38h  90h  60h  2Ah  25h

250  4Dh  00h  10h  38h  90h  60h  2Ah  2Eh  5Bh  10h

260  3Bh  0Ah  FFh

   Наконец, составляется таблица выводимых текстовых строк в памяти
программ:

      0    1    2    3    4    5    6    7    8    9

260                 90h  A0h  E1h  E7h  F1h  E2h  20h

270  AFh  ABh  AEh  E9h  A0h  A4h  A8h  FFh  E2h  E0h

280  A5h  E3h  A3h  AEh  ABh  ECh  ADh  A8h  AAh  A0h

290  FFh  41h  FFh  42h  FFh  43h  FFh  90h  A0h  E1h

300  E1h  E7h  A8h  E2h  A0h  E2h  ECh  21h  FFh  53h

310  FFh  82h  EBh  E5h  AEh  A4h  FFh

   Вот и всё! Прикладная программа использующая графический интерфейс
пользователя для создания меню, готова!

   Программу нужно запускать с 0-й страницы памяти программ:

     В/О, С/П.

   После запуска программы на экране отображается меню:

   

   Для ввода значения размеров сторон нужно нажать клавишу "ВВОД":

   

   Далее, набираем число, с помощью клавиш  0 - 9, /-/, ВП, Сх,
например, А=3:

   

   После ввода нажимаем клавишу "ВВОД":

   

   Аналогично вводим значения размеров других сторон, например,
В=4, С=5:

   

   Теперь задействуется пункт меню "Рассчитать!". Для расчёта
нажимаем на клавишу "ВВОД":

   

   Получаем значение площади треугольника S=6. Можно рассчитывать
заново. Для выхода и останова программы нажимаем клавишу "ВЫХОД":

   

   Программу можно использовать как основу для программ, использующих
меню, организованное с помощью графического интерфейса пользователя.

Заметка опубликована на сайте Кон-Тики
« Последнее редактирование: Сентябрь 13, 2015, 18:59:37 от Электромонтёр »
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

 

Оффлайн golden_dragon

  • Администратор
  • Мастер
  • ***
  • Сообщений: 5855
  • Страна: ru
  • Город: Рай
  • Карма +202/-0
  • Пол: Мужской
  • -=Мыслитель Inside=-
    • Просмотр профиля
  • Авто: Nissan Note 1,6
  • Медали: 6
  • Тел: Doogee Titans 2 DG 700
Очень подробно описано. Будем изучать:)
Хочешь изменить мир - начни с себя (с)
История моих устройств

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5755
  • Страна: ru
  • Город: Россия, Самара
  • Карма +140/-0
  • Пол: Мужской
    • Просмотр профиля
  • Медали: 4
Несмотря на кажущуюся замудрённость, графический интерфейс пользователя, в общем-то, несложен. Сама программа была написана за один вечер с помощью ручки и бумаги :) Больше времени ушло на написание заметки :)

Формула Герона мне показалась наиболее подходящей для примера.

Если в программе много графики, то графический интерфейс позволяет уменьшить размер программы. При написании программы для испытателя транзисторов, оказалось, что проще будет использовать графический интерфейс, чем регистры функций Р90хх.

На сайте производителя появилась новая версия компилятора с поддержкой внутреннего языка программирования графического интерфейса. Там же можно найти ряд примеров  программирования графического интерфейса

Кстати, при просмотре картинки почему-то не отображаются. Файлы типа *.png можно использовать в качестве картинок?
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

Оффлайн golden_dragon

  • Администратор
  • Мастер
  • ***
  • Сообщений: 5855
  • Страна: ru
  • Город: Рай
  • Карма +202/-0
  • Пол: Мужской
  • -=Мыслитель Inside=-
    • Просмотр профиля
  • Авто: Nissan Note 1,6
  • Медали: 6
  • Тел: Doogee Titans 2 DG 700
Да пнг можно использовать. Вот тут тема для проверки http://zonatex.ru/forum/index.php?topic=13.msg308#msg308 . Выбираем картинку и вставить во внутрь сообщения.
Хочешь изменить мир - начни с себя (с)
История моих устройств

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5755
  • Страна: ru
  • Город: Россия, Самара
  • Карма +140/-0
  • Пол: Мужской
    • Просмотр профиля
  • Медали: 4
Разобрался, *.png работает. Скриншоты .*jpg получаются мутноватыми из-за артефактов, да и размер у джепега больше.

Решил подправить заметку для улучшения читабельности таблиц и ВНЕЗАПНО наткнулся на ограничение в 20000 знаков :) Придётся урезать заметку :)
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

Оффлайн golden_dragon

  • Администратор
  • Мастер
  • ***
  • Сообщений: 5855
  • Страна: ru
  • Город: Рай
  • Карма +202/-0
  • Пол: Мужской
  • -=Мыслитель Inside=-
    • Просмотр профиля
  • Авто: Nissan Note 1,6
  • Медали: 6
  • Тел: Doogee Titans 2 DG 700
Решил подправить заметку для улучшения читабельности таблиц и ВНЕЗАПНО наткнулся на ограничение в 20000 знаков :) Придётся урезать заметку :)
Увеличил до 35000 знаков, для удобства.
« Последнее редактирование: Ноябрь 22, 2013, 17:15:57 от golden_dragon »
Хочешь изменить мир - начни с себя (с)
История моих устройств

Оффлайн golden_dragon

  • Администратор
  • Мастер
  • ***
  • Сообщений: 5855
  • Страна: ru
  • Город: Рай
  • Карма +202/-0
  • Пол: Мужской
  • -=Мыслитель Inside=-
    • Просмотр профиля
  • Авто: Nissan Note 1,6
  • Медали: 6
  • Тел: Doogee Titans 2 DG 700
Попробовал программу. Работает:)
Скрытый текст

[свернуть]
Хочешь изменить мир - начни с себя (с)
История моих устройств

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5755
  • Страна: ru
  • Город: Россия, Самара
  • Карма +140/-0
  • Пол: Мужской
    • Просмотр профиля
  • Медали: 4
Как отключить дополнительное отображение картинок в конце сообщения?

Буду потихоньку выкладывать заметки, ранее опубликованные на сайте Кон-Тики  :)
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

Оффлайн golden_dragon

  • Администратор
  • Мастер
  • ***
  • Сообщений: 5855
  • Страна: ru
  • Город: Рай
  • Карма +202/-0
  • Пол: Мужской
  • -=Мыслитель Inside=-
    • Просмотр профиля
  • Авто: Nissan Note 1,6
  • Медали: 6
  • Тел: Doogee Titans 2 DG 700
Как отключить дополнительное отображение картинок в конце сообщения?


Вот там тема для знакомства, с сайтом,
http://zonatex.ru/forum/index.php?topic=13.msg327#msg327
нужно выбрать другой тип вставки картинки. В  той теме можно тренироваться)
Хочешь изменить мир - начни с себя (с)
История моих устройств

Оффлайн golden_dragon

  • Администратор
  • Мастер
  • ***
  • Сообщений: 5855
  • Страна: ru
  • Город: Рай
  • Карма +202/-0
  • Пол: Мужской
  • -=Мыслитель Inside=-
    • Просмотр профиля
  • Авто: Nissan Note 1,6
  • Медали: 6
  • Тел: Doogee Titans 2 DG 700
Буду потихоньку выкладывать заметки, ранее опубликованные на сайте Кон-Тики  :)
И я буду из различных источников собирать информацию, по нашим машинкам. Буду делать рубрикатор. Что бы всё быстро найти...
Хочешь изменить мир - начни с себя (с)
История моих устройств

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5755
  • Страна: ru
  • Город: Россия, Самара
  • Карма +140/-0
  • Пол: Мужской
    • Просмотр профиля
  • Медали: 4
        Эмулятор eMKatic выполняет эту программу иначе - после ввода числа остаётся активным тот же пункт меню, а МК-161 активирует следующий пункт меню. По-видимому это связано с ошибочной эмуляцией работы регистра выполнения результата операции Р9209 - нет реакции на окончание ввода числа через форму 254 (0FEh).
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5755
  • Страна: ru
  • Город: Россия, Самара
  • Карма +140/-0
  • Пол: Мужской
    • Просмотр профиля
  • Медали: 4
    golden_dragon, как сделать, чтобы гости могли просматривать картинки? Набредёт какой-нибудь гость на мою заметку, ни скриншоты посмотреть, ни программку скачать... Эта заметка в единственном экземпляре и выложена только здесь...
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

Оффлайн golden_dragon

  • Администратор
  • Мастер
  • ***
  • Сообщений: 5855
  • Страна: ru
  • Город: Рай
  • Карма +202/-0
  • Пол: Мужской
  • -=Мыслитель Inside=-
    • Просмотр профиля
  • Авто: Nissan Note 1,6
  • Медали: 6
  • Тел: Doogee Titans 2 DG 700
Электромонтёр, Регистрироваться нужно, это форум так сам по себе настроен, изначально...
« Последнее редактирование: Март 20, 2015, 13:47:47 от golden_dragon »
Хочешь изменить мир - начни с себя (с)
История моих устройств

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5755
  • Страна: ru
  • Город: Россия, Самара
  • Карма +140/-0
  • Пол: Мужской
    • Просмотр профиля
  • Медали: 4
По идее регистрироваться надо. Но, я очень не люблю лишний раз где-либо регистрироваться, хотя если сайт очень нужный, то регистрируюсь.

Да, ну не обязательно этот раздел делать полностью видимым, пусть будет на твоё усмотрение.

Только, что наблюдал солнечное затмение в Самаре! Луна закрыла Солнце примерно на треть диска! Правда, тёмного сварочного стекла под рукой не оказалось, поэтому пришлось смотреть через мои старые рентгеновские снимки :)

Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.

Оффлайн zusicks438

  • zusicks438
  • Мастер
  • ***
  • Сообщений: 8262
  • Страна: ru
  • Город: Нижний Новгород
  • Карма +215/-0
  • Пол: Мужской
    • Просмотр профиля
пришлось смотреть через мои старые рентгеновские снимки
Тоже кстати смотрел...через две пары очков и старые негативы ;D

Оффлайн golden_dragon

  • Администратор
  • Мастер
  • ***
  • Сообщений: 5855
  • Страна: ru
  • Город: Рай
  • Карма +202/-0
  • Пол: Мужской
  • -=Мыслитель Inside=-
    • Просмотр профиля
  • Авто: Nissan Note 1,6
  • Медали: 6
  • Тел: Doogee Titans 2 DG 700
А я разобрал дискету 3.5 дюйма и через неё. Хех а телескоп дома на автомат должен был записать. Если жена его от розетки не отключила...
Хочешь изменить мир - начни с себя (с)
История моих устройств

Оффлайн Михаил

  • Михаил
  • Новичок
  • *
  • Сообщений: 25
  • Страна: 00
  • Карма +4/-0
  • Пол: Мужской
    • Просмотр профиля
  • Медали: 2
Регистрироваться нужно, это форум так сам по себе настроен, изначально...

Кстати, присоединяюсь к вопросу, тоже хотел поинтересоваться. Нельзя ли как-нибудь перенастроить форум, чтобы вложения были видны без регистрации? 

P.S. Рад Вас снова видеть, Электромонтёр.

Оффлайн Электромонтёр

  • Мастер
  • ***
  • Сообщений: 5755
  • Страна: ru
  • Город: Россия, Самара
  • Карма +140/-0
  • Пол: Мужской
    • Просмотр профиля
  • Медали: 4
И я рад Вас видеть, Михаил Борисович! Прошу прощения за долгое отсутствие...
Я всегда утверждал, что терроризм - это не выход, однако следователь ФСБ с моей точкой зрения НЕ согласился.