Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Язык GAMBAS для операционной системы LINUX
Введение.
В нашей школе Вы познакомитесь с секретами искусства программирования.
Искусный программист отличается от начинающего приобретенным опытом.
Законы искусства одинаковые!
Чтобы стать хорошим музыкантом человек должен играть на музыкальном инструменте
Не меньше 10 часов в неделю по собственной воле.
Чтобы стать хорошим художником человек должен рисовать по собственному желанию
Не меньше 10 часов в неделю.
Чтобы стать хорошим программистом человек должен писать программы и отлаживать их
На компьютере больше 10 часов в неделю.
Это законы человеческой памяти. Знания, умения и навыки начинают формироваться
Только при интенсивной работе по 10, 15, 20 часов в неделю.
Уже через месяц Вы будете поражены своими успехами!
Ваши способности в выбранном направлении увеличатся в несколько раз!
Дети учат иностранный язык 6 лет по 2 часа в неделю, но они не поймут речь иностранца.
А после курса интенсивного обучения иностранному языку они через месяц
спокойно разговаривают с иностранцем.
Весь секрет во времени тренировки – 5 дней по 4 часа в день. Итого 20 часов в неделю по своей воле!
Основные понятия нужно просто выучить!
А потом применить их по 20 раз при решении различных задач!
Человек быстро привыкает – и сложное становится простым!
Язык Gambas – это аналог языка Visual Basic, но упрощенный вариант.
Это свободно распространяемый продукт, как и операционная система Linux.
Под Windows можно поставить программу виртуальная машина VMWARE,
А в ней установить Linux с CD /DVD.
В ALTLINUX 2.3, 3.0 , SUSE 10.1 GAMBAS входит в состав программного обеспечения и легко
Загружается с диска и выполняет написанные программы. В других версиях его нужно загрузить
Через Интернет.
Лицензия.
Если Вы освоите один язык программирования,
То легко перейдёте на любой другой язык!
Переменные.
Для хранения информации в оперативной памяти используются переменные величины.
Переменная имеет имя, тип и значение.
Имена обозначают латинскими буквами и цифрами. Впереди буква! Имя может состоять из нескольких слов, тогда между ними ставят знак подчеркивания_(над клавишей минус).
Информация, которая хранится в переменной, называется ее значением.
Это могут быть числа, слова, даты, объекты.
Тип переменной определяет, сколько байт памяти нужно отвести для хранения данной переменной величины.
В языке GAMBAS числовые переменные имеют 5 типов:
Тип BYTE для хранения целых от 0 до 255 - занимает 1 байт памяти.
Тип SHORT для хранения целых от –32768 до 32767 - 2 байта.
Тип INTEGER для хранения целых от – до
отводит 4 байта памяти для хранения чисел.
Вы сами выбираете тип в зависимости от того, какой диапазон значений может принимать данная переменная величина.
Тип FLOAT для хранения действительных (дробных, целых и иррациональных) чисел. Информация хранится в форме числа с плавающей запятой. Занимает 8 байт. Хранит до 13 значащих цифр.
1.235 Е +2 означает 1.235 х 100=123.5
Тип VARIANT для действительных чисел. 8 байт. 13 цифр. Автоматически переводит числа из текстовой формы в числовую и обратно.
Тип BOOLEAN для хранения переменных логического типа. 2 байта. Она принимает только 2 значения TRUE (истина) , FALSE (ложь).
Тип DATE для хранения даты и времени. 8 байт.
Тип STRING для хранения строки символов (букв, слов, предложений). По 2 байта на каждый символ.
Тип описывается в начале программы. Каждая переменная описывается в отдельной строке.
1 вариант:
Dim A AS BYTE
DIM B AS BYTE
2 вариант:
Dim A AS BYTE
B AS BYTE
Означают – определить А и В как переменные типа BYTE.
Массив – переменная с индексом.
DIM A[6] AS INTEGER
Определить переменную А как массив из 6 элементов целого типа.
Нумерация начинается с нуля.
A[0], A[1], A[2], A[3], A[4], A[5] - 6 элементов массива А.
A[3]=28 - означает третьему элементу массива А присвоить значение 28.
То есть, в нем в оперативной памяти будет храниться число 28.
Объекты.
Современные языки программирования – это объектно-ориентированные языки.
Конструирование графического интерфейса и разработка программного кода базируются на использовании программных объектов.
Объект это существительное.
То, что мы видим на экране это объекты:
Form1
Форма – поверхность, на которой устанавливаются другие объекты.
Label1
Надпись – окно для вывода текста.
Textbox1
Окно для ввода текста.
Button1
Кнопка для запуска событийных процедур.
Listbox1
Окно для вывода списка строк.
Picturebox1
Окно для вывода картинок. Форматы файлов JPEG, PNG, BMP, GIF, XPM.
Рисовать в этом окне нельзя!
Drawingarea1
Область для рисования. Можно рисовать на ней, вставлять картинки и рисовать на них.
Timer1
Счетчик времени. Служит для запуска процедур через определенный интервал времени.
Остальные объекты аналогичны описанным выше.
Свойства.
Properties
Свойства – это прилагательные. Они характеризуют объект.
Каждый класс объектов обладает определенным набором свойств.
Их значения уже установлены автоматически при установке объекта на форму. Но Вы их можете менять.
Свойства:
NAME
Имя объекта. (Можно не менять!)
Text
Значение надписи на объекте. ( Меняется по смыслу задачи и роли объекта)
Backcolor
Цвет фона окошка. (Можно изменить, чтобы окно бросалось в глаза)
Font
Шрифт. Имеет дополнительное меню свойств ( шрифт, начертание, размер букв)
Size
Размер.
Свойства можно менять во время проектирования формы или во время выполнения программы, присваивая им конкретные значения из списка допустимых значений.
Например
Label1.Backcolor=65280
Свойству цвет фона объекта Надпись присвоить значение зеленый.
65280 это номер зеленого цвета.
Label1.Text=”Summa”
Свойству текст объекта Надпись присвоить значение “Summa”.
Для каждого свойства нужно указать объект, к которому оно относится.
Между именем объекта и свойством ставится точка.
С остальными свойствами Вы познакомитесь по мере надобности.
Методы.
Methods
Методы это глаголы. Компьютер может выполнять различные действия над объектами. У каждого объекта свои допустимые методы обработки данных.
Методы имеют аргументы, которые позволяют задавать параметры выполняемых действий. (Параметры указывают в круглых скобках после имени метода)
Пишем объект, ставим точку. Появляется список методов и свойств данного объекта. Методы – зеленые, свойства – синие. Выбираете нужный метод. Ставите (.
Появляется подсказка – список параметров и их типы.
Задаете значения параметров через запятую. Закрываете скобку ).
Примеры методов:
Clear
Очистить.
Textbox1.clear()
К объекту окно для ввода текста применить метод очистить без параметров.
Стирается значение, которое было в окне Textbox1.
Hide
Скрыть объект (сделать невидимым).
Label1.hide()
Объект надпись1 стал невидимым.
Show
Показать (сделать видимым).
Label1.show()
Надпись1 появилась на экране.
Delete
Удалить
Refresh
Перерисовать.
Resize
Изменить размер
Setfocus
Установить фокус. (переместить курсор в это окно)
Move
Переместить в новое место.
Add
Добавить строку.
Lover
Переместить в самый нижний слой.
Raise
Переместить в самый верхний слой
Каждый объект лежит в отдельном слое. Последний созданный лежит сверху всех предыдущих. Если их положить друг на друга, то верхний закроет остальные.
События.
Events
События - это действия пользователя при выполнении программы.
Если курсор находится над объектом, то пользователь может выбрать из 17 разных способов действий. А программист может написать 17 программ реакции на эти события, если объект допускает над собой эти события.
Один щелчок левой кнопки мыши - Click – это событие по умолчанию.
Двойной щелчок, нажатие на левую кнопку, отпускание левой кнопки, нажатие на клавишу ENTER, нажатие на клавишу на клавиатуре, получение фокуса объектом. Это неполный список событий, на которые Вы можете реагировать, написав программу.
Операторы
Основные команды языка GAMBAS совпадают с командами языка VISUAL BASIC.
=
присвоить значение переменной или свойству объекта
А=33
IF THEN ELSE ENDIF
ЕСЛИ ТО ИНАЧЕ КОНЕЦ ЕСЛИ
Оператор условного перехода – выбирает один из двух возможных вариантов действий, в зависимости от условия.
SELECT CASE CASE CASE CASE ELSE END SELECT
ВЫБОР ВАРИАНТА ВАРИАНТ ВАРИАНТ ИНАЧЕ КОНЕЦ ВЫБОРА
Оператор выбора – выбирает один из нескольких вариантов действий, в зависимости от значения переменной или выражения.
ОПЕРАТОРЫ ЦИКЛА (ПОВТОРЕНИЯ ГРУППЫ ДЕЙСТВИЙ)
FOR TO STEP NEXT
ДЛЯ ДО ШАГ КОНЕЦ ЦИКЛА
Оператор повторения с параметром ( Арифметический цикл).
Повторяет группу действий, меняя параметр от начального значения до конечного с заданным шагом.
WHILE WEND
ПОКА КОНЕЦ ПОКА
Оператор повторения с условием.
Повторяет группу действий, пока верно условие. Условие проверяется до выполнения действий.
DO WHILE LOOP
ВЫПОЛНЯТЬ ПОКА КОНЕЦ ЦИКЛА ВЫПОЛНЯТЬ
Точно такой же оператор повторения с условием.
REPEAT UNTIL
ПОВТОРЯТЬ ДО
Оператор повторения с постусловием.
Повторяет группу действий, пока условие НЕВЫПОЛНЯЕТСЯ! Как только условие выполнится, цикл закончится.
Условие проверяется после выполнения действия.
DO LOOP UNTIL
ПОВТОРЯТЬ ЦИКЛ ДО
Точно такой же оператор повторения с постусловием.
Повторяет до тех пор, пока условие окончания цикла не станет верным.
Дополнительная информация.
= | if | select | for | while | repeat | do |
Математические функции.
ABS(X)
Абсолютная величина числа Х, модуль числа Х.
LOG(X)
Натуральный логарифм от Х
LOG10(X)
Десятичный логарифм от Х
SIN(X)
Синус от Х, угол в радианах.
COS(X)
Косинус от Х
TAN(X)
Тангенс от Х
ASIN(X)
Арксинус от Х, величина, обратная синусу. По значению синуса определяет величину угла в радианах.
ACOS(X), ATAN(X)
Арккосинус и арктангенс.
Есть еще 6 гиперболических функций.
SQR(X)
Корень квадратный из Х
RANDOMIZE
Выбрать новую цепочку случайных чисел.
RND
Очередное псевдослучайное число из интервала [0,1]
Числа дробные (FLOAT)
RND(3)
Дробное случайное число от 0 до 3.
RND(2,5)
Дробное случайное число из интервала [2,5].
Функции над строками.
LEN(A)
Длина слова в переменной А строкового типа (число букв).
LEFT(A,4)
Часть слова из переменной А, взять 4 буквы слева.
RIGHT(A,2)
Часть слова справа 2 буквы.
MID(A,3,5)
Часть слова из переменной А, взять с 3 буквы 5 букв подряд.
ASC(“F”)
Код буквы F.
Для русских слов строковые функции не работают, только для кодов от 0 до 127
CHR(65)
Буква с кодом 65. Это А английская.
Операция слияния строк
Работает и для русских слов
A=”in” & “forma” & “tika”
Она соединяет слова в одно слово.
В переменной А получится слово “informatika”
A=”пар”
В=”ход”
C=A & ”о” & B
В переменной С получится слово пароход.
Символ & называется амперсанд. Это знак слияния.
Логические операции
В условном операторе, операторе выбора, операторах повторения с условиями нужно записать простое или сложное условие.
Сложное условие получается из простых с помощью логических операций И, ИЛИ, НЕ. Каждое простое условие берется в круглые скобки и между ними пишут знаки логических операций.
(A>1) AND (A<7)
Означает А больше 1 и одновременно А меньше 7.
Сложное условие И истинно,
только когда истинны одновременно
оба простых условия.
(A=1) OR (A=5)
Означает А равно 1 ИЛИ А равно 5.
Сложное условие ИЛИ истинно,
если истинно хотя бы одно простое условие.
NOT (A=5)
Означает отрицание равенства. А неравно 5.
Сложное условие НЕ истинно,
Когда ложно простое условие.
Методы графики
С помощью методов графики можно рисовать графические примитивы: Линии, прямоугольники и эллипсы на поверхности формы или в области для рисования.
DRAW. BEGIN (DRAWAREA1)
К объекту рисунок применить метод НАЧАТЬ. Параметр – объект, на котором рисовать. Начать рисунок в области для рисованя1.
DRAW. LINE (X1,Y1,X2,Y2)
Применить метод нарисовать линию от (x1,y1) до (x2,y2).
DRAW. RECT(X, Y, ширина, высота)
Нарисовать прямоугольник. Левый верхний угол (X, Y). Ширина и высота заданы.
DRAW. ELLIPSE(X, Y, ширина, высота, начало дуги, длина дуги)
Нарисовать эллипс. Первые 4 параметра – это параметры описанного прямоугольника. Два последних – параметры дуги в градусах, задаются если нужна дуга, а не целый эллипс.
DRAW. POLYLINE( ОБЪЕКТ МАССИВ ТОЧЕК)
Нарисовать ломаную по заданным точкам. До этой команды нужно определить объект и присвоить значения координатам точек.
DRAW. POLYGON( ОБЪЕКТ МАССИВ ТОЧЕК)
Нарисовать многоугольник по заданным точкам.
DRAW. PICTURE( ПУТЬ К ФАЙЛУ)
Нарисовать картинку из файла.
DRAW. TEXT(“Hello”,100,120)
Вывести текст на картинке в заданной точке.
DRAW. END()
Применить метод окончить рисование.
ПРИМЕЧАНИЕ. Перед рисунком фигуры нужно задать свойства объекта рисунок : FORECOLOR – цвет контура, FILLCOLOR – цвет заливки, FILLSTYLE – Стиль заливки : 0 - нет заливки, 1 – сплошная заливка, 2 – 14 – штриховки.
ПРИМЕР.
DRAW. FORECOLOR(255)
Задать голубой цвет контура.
DRAW. FILLCOLOR()
Задать красный цвет заливки.
DRAW. FILLSTYLE(1)
Установить заливку сплошным цветом.
DRAW. RECT(10,10,100,50)
Нарисовать закрашенный прямоугольник. Контур голубой. Внутри красный.
НОМЕРА ЦВЕТОВ:
0 черный
белый
красный
желтый
8388863 фиолетовый
65280 зеленый
255 голубой
65525 темно синий
пурпурный
оранжевый
Остальные номера дают миллионы различных оттенков цветов.
Примеры проектов.
1. Проект первый.
2. Проект методы.
3. Проект переменные.
4. Проект калькулятор.
5. Проект сложение строк.
6. Проект логические выражения.
7. Проект инженерный калькулятор.
8. Проект строковый калькулятор.
9. Проект дата – время.
10. Проект часы.
11. Проект рисунок машины.
12. Проект картинка из образа в памяти.
13. Проект графический редактор.
14. Проект закрашенный треугольник.
15. Проект тест.
16. Проект коды символов.
17. Проект слово перевертыш.
18. Проект график функции и система координат.
PR1
Первый проект демонстрирует свойства и методы
После нажатия на кнопку1 на форме1 появляется текст «Первый проект».
В окне ввода текста1 – текст «Текстовое поле».
В надписи1 – текст «Надпись».
На кнопке1 – текст «свойства».
На кнопке2 – текст «методы».
При нажатии на кнопку2
В окне ввода текста1 стирается текст.
Делается невидимой Надпись1.
При проектировании формы создать объекты:
Textbox1, Label1, Button1, Button2.
После двойного щелчка по кнопке Button1 напечатать 1 программу.
Private sub Button1_click()
Me. text=”Первый проект”
Textbox1.text=”Текстовое поле”
Label1.text=”Надпись”
Button1.text=”Свойства”
Button2.text=”Методы”
End
Свойству Текст разных объектов присвоили новые значения.
После двойного щелчка по кнопке Button2 напечатать 2 программу.
Private sub Button2_click()
Textbox1.clear()
Label1.hide()
End
Применили методы очистить и скрыть.
Первая программа реагирует на щелчок по 1 кнопке, Вторая программа реагирует на щелчок по 2 кнопке.
Получился модуль кода из двух программ.
Для запуска программы ее нужно скомпилировать и выполнить.
Project Comp, Run.
Если есть сообщения об ошибках, то выключите отладку (debug) , нажав на красную точку. Вернуться на форму, щелкнув по ней. И двойной щелчок по Button1.
Затем исправить опечатки.
И вновь компиляция и запуск программы.
Если все нормально – щелкните по кнопке1 и кнопке2.
Посмотрите, что изменилось.
Pr2
Проект методы
Демонстрирует возможности основных методов.
Каждая кнопка управления запускает свой метод.
Объекты.
Label1, textbox1, textbox2, textbox3, label2
Button1, Button2, Button3, Button4, Button5, Button6, Button7, Button8, Button9.
При проектировании формы в окне Properties для каждой кнопки заменить значение свойства Text на название метода
Clear, hide, show, resize, move, lower, raise, setfocus, delete.
Двойной щелчок по кнопке вызывает окно кода программы.
Напишите одну строку вызова метода и вернитесь на форму.
Public sub button1_click ()
Textbox1.clear ()
End
Public sub button2_click ()
Textbox2.hide ()
End
Public sub button3_click ()
Textbox2.show ()
End
Public sub button4_click ()
Textbox3.resize (150,70)
End
Public sub button5_click()
Label1.move(50,20)
End
Public sub button6_click()
Textbox2.lovel()
End
Public sub button7_click()
Textbox2.raise()
End
Public sub button8_click()
Textbox3.setfocus()
End
Public sub button9_click()
Label1.delete()
End
Примечание .
Чтобы было видно, как окно ввода текста2 меняет слой,
При проектировании сделайте окно1, окно2, окно3 разных размеров :
Большим, средним и малым. И поместите каждое внутри предыдущего.
Методы.
Методы (Methods)
Методы это глаголы. Компьютер может выполнять различные действия над объектами. У каждого объекта свои допустимые методы обработки данных.
Методы имеют аргументы, которые позволяют задавать параметры выполняемых действий. (Параметры указывают в круглых скобках после имени метода)
Пишем объект, ставим точку. Появляется список методов и свойств данного объекта. Методы – зеленые, свойства – синие. Выбираете нужный метод. Ставите (.
Появляется подсказка – список параметров и их типы.
Задаете значения параметров через запятую. Закрываете скобку ).
Примеры методов:
Clear
Очистить.
Textbox1.clear()
К объекту окно для ввода текста применить метод очистить без параметров.
Стирается значение, которое было в окне Textbox1.
Hide
Скрыть объект (сделать невидимым).
Label1.hide()
Объект надпись1 стал невидимым.
Show
Показать (сделать видимым).
Label1.show()
Надпись1 появилась на экране.
Delete
Удалить
Refresh
Перерисовать.
Resize
Изменить размер
Setfocus
Установить фокус. (переместить курсор в это окно)
Move
Переместить в новое место.
Add
Добавить строку.
Lover
Переместить в самый нижний слой.
Raise
Переместить в самый верхний слой
Каждый объект лежит в отдельном слое. Последний созданный лежит сверху всех предыдущих. Если их положить друг на друга, то верхний закроет остальные.
PR3
Проект переменные
На форме 2 объекта
Listbox1 , Button1.
Определены переменные всех типов
Byte, Short, Float, String, Boolean.
Им присвоены соответствующие значения.
Переменные помещаются в окно для вывода списка строк.
Private sub Button1_click()
Dim A as byte
Dim B as short
Dim C as float
Dim D as string
Dim G as Boolean
A=255
B=-32768
C=3.14
D=”INFORMATIKA”
G=true
Listbox1.add(A)
Listbox1.add(B)
Listbox1.add(C)
Listbox1.add(D)
Listbox1.add(G)
END
Pr4
Проект калькулятор
На форме объекты
Textbox1, Textbox2, Label1, Button1, Button2, Button3, Button4.
В окне СВОЙСТВА для кнопок ввести в свойство ТЕКСТ знаки +-*/.
Private sub button1_click()
Label1.text=val(textbox1.text)+val(textbox2.text)
End
Private sub button2_click()
Label1.text=val(textbox1.text)-val(textbox2.text)
End
Private sub button3_click()
Label1.text=val(textbox1.text)*val(textbox2.text)
End
Private sub button4_click()
Dim A as float
Dim B as float
A= val(textbox1.text)
B= val(textbox2.text)
Label1.text=A/B
End
При выполнении программы введите числа в окна для ввода текста и нажимайте на кнопки со знаками арифметических операций.
Получился простейший калькулятор.
Pr5
Проект сложение строк
На форме два объекта
Label1, button1.
Определить две переменные строкового типа, присвоить им два слова,
Соединить слова вместе и вывести в Надписи1.
Private sub button1_click()
Dim A as string
B as string
A=”IN”
B=”TIKA”
Label1.text=A & “FORMA” & B
End
Получилось слово INFORMATIKA.
После испытания этой программы, вернитесь в программу и измените так, чтобы получить слово на русском языке.
Pr6
Проект логические выражения
На форме два столбика надписей и внизу кнопка управления.
Левый столбик логических выражений.
Label6, Label7, Label8, Label9, Label10
В свойство текст для каждой присвоить новые значения
5>3 , “A”=”B” , (5>3) AND (“A”=”B”) , (5>3) OR (“A”=”B”) , NOT (5>3) .
Правый столбик значений логических выражений.
Label1, Label2, Label3, Label4, Label5.
GAMBAS при преобразовании логической переменной в текст заменяет
TRUE – T, FALSE - .
Поэтому, чтобы в надписи вывести значение «истина» используем условный оператор.
Private sub button1_click()
If 5>3 then
Label1.text=”TRUE”
Else
Label1.text=”FALSE”
End if
If “A”=”B” then
Label2.text=”TRUE”
Else
Label2.text=”FALSE”
End if
If (5>3) AND (“A”=”B”) then
Label3.text=”TRUE”
Else
Label3.text=”FALSE”
End if
If (5>3) OR (“A”=”B”) then
Label4.text=”TRUE”
Else
Label14.text=”FALSE”
End if
If NOT (5>3) then
Label5.text=”TRUE”
Else
Label5.text=”FALSE”
End if
End
Скомпилируйте и выполните проект. Посмотрите, как компьютер оценил эти логические выражения.
Pr7
Проект инженерный калькулятор
На форме окно для вывода текста, надпись и 3 кнопки управления
Напишите на них
Sin(), cos(), sqr().
В окно вводится дробное число через запятую.
Нажав на кнопку с функцией, в надписи получаем ее значение.
Private sub button1_click()
Label1.text=sin(val(textbox1.text))
End
Private sub button2_click()
Label1.text=cos(val(textbox1.text))
End
Private sub button3_click()
Label1.text=sqr(val(textbox1.text))
End
Pr8
Проект строковый калькулятор
На форме 3 окна для ввода текста
Слово, номер символа начала, длина.
Надпись для вывода результата.
6 кнопок с названиями функций над строками
Left(), right(), mid(), len(), asc(), chr().
К сожалению, функции над строками не работают с русскими буквами.
Пишите слово английскими буквами.
Private sub button1_click()
Label1.text=left(textbox1.text, val(textbox3.text))
End
Private sub button2_click()
Label1.text=right(textbox1.text, val(textbox3.text))
end
Private sub button3_click()
Label1.text=mid(textbox1.text, val(textbox2.text), val(textbox3.text))
end
Private sub button4_click()
Label1.text=len(textbox1.text)
end
Private sub button5_click()
Label1.text=asc (textbox1.text)
end
Private sub button6_click()
Label1.text=chr(val(textbox2.text))
End
Примечание.
Код выдается по первой букве слова в первом окне.
Символ выдается по номеру во втором окне. Код от 32 до 127.
Функции над строками.
Pr9
Проект дата и время
На форме два столбика надписей и одна кнопка управления.
Левый столбик
Label5, label6, label7, label8
Имеет тексты
Дата, время, дата и время, число дней от 2001
Правый столбик
Label1, Label2, Label3, Label4
Будет показывать значения функций времени и дат.
Private sub button1_click()
Dim dat1 as date
Dat2 as date
Label1.text=date(now)
Label2.text=time(now)
Label3.text=now
Dat1=date(2001,1,1)
Dat2=date(now)
Label4.text=dat2-dat1
End
Pr10
Проект часы
На форме два объекта
Label1 , TIMER1
Private sub timer1_timer()
Label1.text=time(now)
End
Pr11
Проект рисунок машины
На форме внизу кнопка управления со словом рисунок.
Рисовать будем на форме.
Private sub button1_click()
Draw. begin (form1)
Draw. forecolor=0
Draw. fillcolor=0
Draw. fillstyle=1
Draw. ellipse(100,150,50,50)
Draw. ellipse(250,150,50,50)
Draw. fillcolor=255
Draw. rect(50,100,350,50)
Draw. rect(100,50,200,50)
Draw. line(100,50,200,50)
Draw. end
End
Проект демонстрирует методы и свойства объекта рисунок.
Методы графики.
Методы графики
С помощью методов графики можно рисовать графические примитивы: Линии, прямоугольники и эллипсы на поверхности формы или в области для рисования.
DRAW. BEGIN (DRAWAREA1)
К объекту рисунок применить метод НАЧАТЬ. Параметр – объект, на котором рисовать. Начать рисунок в области для рисованя1.
DRAW. LINE (X1,Y1,X2,Y2)
Применить метод нарисовать линию от (x1,y1) до (x2,y2).
DRAW. RECT(X, Y, ширина, высота)
Нарисовать прямоугольник. Левый верхний угол (X, Y). Ширина и высота заданы.
DRAW. ELLIPSE(X, Y, ширина, высота, начало дуги, длина дуги)
Нарисовать эллипс. Первые 4 параметра – это параметры описанного прямоугольника. Два последних – параметры дуги в градусах, задаются если нужна дуга, а не целый эллипс.
DRAW. POLYLINE( ОБЪЕКТ МАССИВ ТОЧЕК)
Нарисовать ломаную по заданным точкам. До этой команды нужно определить объект и присвоить значения координатам точек.
DRAW. POLYGON( ОБЪЕКТ МАССИВ ТОЧЕК)
Нарисовать многоугольник по заданным точкам.
DRAW. PICTURE( ПУТЬ К ФАЙЛУ)
Нарисовать картинку из файла.
DRAW. TEXT(“Hello”,100,120)
Вывести текст на картинке в заданной точке.
DRAW. END()
Применить метод окончить рисование.
ПРИМЕЧАНИЕ. Перед рисунком фигуры нужно задать свойства объекта рисунок : FORECOLOR – цвет контура, FILLCOLOR – цвет заливки, FILLSTYLE – Стиль заливки : 0 - нет заливки, 1 – сплошная заливка, 2 – 14 – штриховки.
ПРИМЕР.
DRAW. FORECOLOR(255)
Задать голубой цвет контура.
DRAW. FILLCOLOR()
Задать красный цвет заливки.
DRAW. FILLSTYLE(1)
Установить заливку сплошным цветом.
DRAW. RECT(10,10,100,50)
Нарисовать закрашенный прямоугольник. Контур голубой. Внутри красный.
НОМЕРА ЦВЕТОВ:
0 черный
белый
красный
желтый
8388863 фиолетовый
65280 зеленый
255 голубой
65525 темно синий
пурпурный
оранжевый
Остальные номера дают миллионы различных оттенков цветов.
Pr12
Проект картинка из образа в памяти
Чтобы сделать мультипликацию, нужно загрузить несколько картинок из файлов в оперативную память. Это самый долгий процесс.
Затем выводить эти картинки из памяти на экран через какой то интервал времени. Это быстрый процесс.
Чтобы поместить картину в память нужно определить объект типа картина.
Создать новый объект. Затем загрузить в эту переменную картину из файла.
На форме внизу кнопка управления.
Public sub button1_click()
Dim hpicture as picture
Hpicture=new picture (300,200,true)
Hpicture=picture(“lico. jpeg”)
Draw. begin(form1)
Draw. picture(hpicture,100,100)
Draw. end
End
Примечание.
(300,200) – размер образа
(100,100) – левый верхний угол картины на форме.
После ввода программы сохраните проект.
Чтобы загрузить файл с картинкой, сначала нарисуйте лицо в графическом редакторе.
Выберите Файл Сохранить как
Выберите формат
Jpeg
Напечатайте имя файла с расширением через точку
Lico. jpeg
Нажмите сохранить.
Зайдите в каталог, в котором сохранился файл.
Выделите имя файла.
Скопируйте в буфер обмена
Зайдите в папку проекта, щелкнув по ней.
Вставьте файл с картинкой
Edit paste
Зайдите в Gambas, откройте свой проект (open).
Скомпилируйте и выполните программу. Картинка появится на форме.
Спишите эту страничку и сделайте точно по технологии.
Здесь есть еще один секрет!!!
Pr13
Проект графический редактор.
Это самый большой проект нашего курса.
Простенький редактор рисует линии, прямоугольники и окружности.
Замкнутые фигуры могут быть закрашены.
Параметры фигур вводятся в окнах.
Перед каждым окном надпись, указывающая какой параметр вводится в окне.
На форме в верхней левой четверти область для рисования1
Под ней надпись Х1 и окно текст1, надпись У1 и окно текст2.
Под ними надпись Ширина и окно текст3, надпись высота и окно текст4.
С правой стороны длинная кнопка Линия.
Под ней кнопка Прямоугольник.
Ниже кнопка Закрашенный прямоугольник.
Ниже кнопка Окружность.
Под ней кнопка Закрашенная окружность.
Ниже три ряда окошек с надписями красный, зеленый, голубой.
Для смешения цветов каждый основной цвет задается числом от 0 до 255.
При выполнении программы сначала в 7 окон введите числа, затем нажмите кнопку с фигурой.
Если размеры уместятся в окне рисования, то Вы увидите результат.
Private sub button3_click
Dim c as integer
Draw. begin(drawingarea1,400,300)
Draw. fillstyle=0
C=255*val(textbox5.text)*255+255*val(textbox6.text)+val(textbox7.text)
Draw. forecolor=c
Draw. fillcolor=c
Draw. rect(val(textbox1.text), val(textbox1.text), val(textbox1.text), val(textbox1.text))
Draw. end
End
Примечание.
Сначала введите, скомпилируйте, исправьте опечатки и выполните программу для кнопки прямоугольник.
Затем выделите мышкой строки от 2 до предпоследней. Скопируйте их в буфер обмена
Edit copy
Вернитесь на форму. Сделайте двойной щелчок по кнопке Линия.
Щелкните на пустой строке между началом и концом программы.
Теперь вставьте текст из буфера обмена
Edit paste
Замените
Rect - line.
Получится программа линия.
Из Буфера обмена текст можно вставлять много раз. Он там хранится.
Rect – ellipse.
Получится окружность или эллипс.
Если задать
Draw. fillstyle=1
Получится закрашенная фигура.
Напишите программы для всех кнопок!
Pr14
Проект закрашенный треугольник.
Используем полигон на 3 точки.
Для задания координат точек определим объект – массив целых.
Создадим новый объект на 6 чисел.
Элементам массива присвоим значения координат вершин треугольника.
На форме два объекта
Drawingarea1, button1.
Область рисования занимает почти всю форму. Кнопка управления внизу.
Private sub button1_click
Dim hd as integer[]
Hd=new integer[](6)
Hd[0]=200
Hd[1]=200
Hd[2]=250
Hd[3]=150
Hd[4]=350
Hd[5]=200
Draw. begin(drawingarea1)
Draw. fillstyle=1
Draw. forecolor=0
Draw. fillcolor=255
Draw. polygon(hd)
Draw. end()
End
Примечание.
По этой программе можно нарисовать любой многоугольник, заменив число координат 6 на большее четное число и присвоив значения всем координатам точек.
Pr15
Проект тест.
На форме 5 объектов.
Label1, textbox1, label2, label3, button1.
В надписях появляются вопрос, реакция, количество ошибок.
В окне вводится ответ. Для начала нажать кнопку управления.
Private sub button1_click()
Dim otvet as string
N as byte
N=-1
Label1.text=”чему равен 1 байт?”
Label2.text=””
If textbox1.text=”8 бит” then
Label2.text=”Правильно”
Else
Label2.text=”неправильно”
N=N+1
End if
Label3.text=n
End
Примечание.
На кнопку придется нажать 2 раза, до вопроса и после ввода ответа.
Тест на 1 вопрос иллюстрирует работу условного оператора.
Pr16
Проект коды символов.
На форме
Listbox1, listbox2, button1.
Окна для вывода списка строк вытянуты вертикально на всю форму.
Окно2 в 2 раза шире.
В первом окне только коды, во втором коды и их символы.
Private sub button1_click()
Dim n as integer
For n=127 to 33 step –1
Listbox1.add(n)
Listbox2.add(n & “ “ & chr(n))
Next
End
Примечание.
Символы выводятся по убыванию кода.
Строковые функции не обрабатывают коды больше 127.
Программа показывает применение оператора повторения с параметром.
Pr17
Проект слово перевертыш.
Нужно написать введенное слово в обратном порядке.
На форме
Textbox1, label1, button1.
Private sub button1_click()
Dim S as string
N as byte
Label1.text=””
N=1
Do while N<=len(textbox1.text)
S=mid(textbox1.text, N,1)
Label1.text= S & label1.text
N=N+1
Loop
End
Pr18
Проект график функции
Y=x^3-sin(x)
На форме
Drawingarea1, button1.
Private sub button1_click()
Dim X as float
Y as float
Draw. begin(drawingarea1)
For X=-150 to 150 step 50
Draw. text(X/100,X+150,80)
Next
For Y=0 to 200 step 50
Draw. text((Y-100)/100,150,180-Y)
Next
Draw. line(0,80,400,80)
Draw. line(150,0,150,200)
For X=-150 to 150 step 50
Draw. line(X+150,75,X+150,85)
Next
For Y=0 to 200 step 50
Draw. line(145,180-Y,155,180-Y)
Next
For X=-1.5 to 1.5 step 0.01
Y=X^3-sin(X)
Draw. ellipse(X*100+150,80-Y*100,2,2)
Next
Draw. end()
End
Примечание.
График рисуется окружностями диаметром 2.
X^3
Х в кубе.
Рисуются цифры шкалы, деления шкалы, оси координат, и точки графика с шагом 0.01 .
Ось Х идет слева на право от 0.
Ось У идет сверху вниз от 0.
Центр осей приходится перенести из левого верхнего угла почти в центр (150,80).
А ось У перевернуть, направив вверх.
И уменьшить масштаб в 100 раз.
Можно строить другие графики на этом отрезке, меняя только формулу.
Чтобы строить на другом отрезке измените множина другой.
И поменяйте числа по новому смыслу.


