Программирование в Gambas. Урок 1
Методические материалыАвтор: Владимир Черный
Недавно мы закончили публикацию книги по BASIC-256. К сожалению, аналогичных материалов по Gambas 2 нет, точнее есть одна хорошая книга, но на испанском… Кто бы перевел!? Сегодня мы начинаем публиковать несколько уроков по Gambas, подготовленных Олегом Чебан из г. Киселевск Кемеровской области. Олег уже опубликовал 3 урока на своем сайте, но из-за конструкции сайта не могу дать точную ссылку.
Если кто-то имеет опыт по работе с Gambas и хочет поделиться — пишите, присылайте свои статьи или ссылки на свои странички.
Олег Чебан, г. Киселевск, Кемеровской обл.
Урок 1. Переменные в Gambas.
Тип урока: Занятие по овладению новыми знаниями. Демонстрация.
Цель урока:
- Приобрести навыки именования переменных по венгерской системе.
- Познакомить учащихся с основными типами данных.
- Управляющие конструкции языка Gambas.
- Определить область действия переменных.
Ход урока:
1. Венгерская система именования переменных.
Имена переменных рекомендуют использовать составные, во избежания пересечений с зарезервированными константами (cos, sin, len, file..). Первое слово прописью (преимущественно указывается тип данных), второе с заглавной буквы. Такую систему именования переменных называют еще — венгерской1.
Пример 1.1. Именование переменных:
- intX — переменная X типа integer;
- strNameFile — переменная строкового типа (String);
- fltY — переменная действительного (вещественного) типа (Float);
- vntRezultat — переопределяемый тип по ходу выполнения программы (Variant);
- blnLog — логическая переменная, тип boolean и т.д.2
Пример 1.2. Именование элементов меню:
- mnuHelp — Содержание;
- mnuExit — Выход их программы;
- mnuAbout — О программе и т.д..
2. Типы данных в Gambas.
Табл. 1. Основные типы данных Gambas
№ | Тип | Диапазон | Описание | Колич. байт |
1 | Byte | от 0 до 255 | Хранение натуральных чисел | 1 |
2 | Short | от –32768 до 32767 | Хранение целых чисел | 2 |
3 | Integer | от –2147483648 до 2147483643 | —//— | 4 |
4 | Float | Экспоненциальное представление числа: 1.23 Е +02, или 1.23*10^2 | Хранение действительных чисел с точностью до 13 знаков | 8 |
5 | Variant | —//— | Переопределяемый тип по ходу выполнения программы: текстовый в числовой и обратно. | 8 |
6 | Boolean | True и False | Хранение переменных логического типа | 2 |
7 | Date |
Dim dtmD, dtmT as date dtmD=date(now) dtmT=time(now) |
Хранение даты и времени | 8 |
8 | String | — | Хранение символов | По 2 байта на символ |
Пример 2. Переменные целого типа.
Dim A AS byte ‘определить А как переменную типа BYTE.
DIM B[8] AS integer ‘определить переменную B как массив из 8 элементов целого типа.
‘Нумерация начинается с нуля.
В Gambas конструирование графического интерфейса и программирование основано на использовании программных объектов (содержащих свойства и методы), и действий пользователя — событий.
2.1. Объект это существительное. То, что мы видим на экране это объекты.
Пример 2.1. Объекты:
- Form1 — Форма, на которой устанавливаются другие объекты.
- Label1 — Надпись – окно для вывода текста.
- Textbox1 — Окно для ввода текста.
- Button1 — Кнопка для запуска событийных процедур.
- Listbox1 — Окно для вывода списка строк.
- Picturebox1 — Окно для вывода картинок. Форматы файлов JPEG, PNG, BMP, GIF, XPM. Рисовать в этом окне нельзя!
- Drawingarea1 — Область для рисования.
- Timer1 — Счетчик времени. Служит для запуска процедур через определенный интервал времени.
2.2. Свойства – это прилагательные.
Они характеризуют объект. Каждый класс объектов обладает определенным набором свойств. Их значения уже установлены автоматически при установке объекта на форму. Но Вы их можете менять.
Пример 2.2.
Свойства:
- NAME — Имя объекта.
- Text — Значение надписи на объекте.
- Backcolor — Цвет фона окошка.
- Font — Шрифт. Имеет дополнительное меню свойств ( шрифт, начертание, размер букв).
- Size – Размер.
- Backcolor — Цвет фона объекта.
- Text – Текст.
Для каждого свойства нужно указать объект, к которому оно относится. Например, Label1.Backcolor = 65280, или label1.Backcolor=green ‘зеленый цвет
2.3. Методы это глаголы. Компьютер может выполнять различные действия над объектами.
У каждого объекта свои допустимые методы обработки данных. Методы имеют аргументы, которые позволяют задавать параметры выполняемых действий. Параметры указывают в круглых скобках после имени метода. Пишем объект, ставим точку — появляется список методов и свойств данного объекта. Методы – зеленые, свойства – синие. Выбираете нужный метод. Ставите скобку ‘(‘ появляется подсказка – список параметров и их типы.
Пример 2.3. Методы.
- Clear – Очистить. Например: Textbox1.clear()
- Hide — Скрыть объект (сделать невидимым). Label1.hide()
- Show – Показать. Label1.show()
- Delete — Удалить
- Refresh — Перерисовать.
- Resize — Изменить размер
- Setfocus — Установить фокус. (переместить курсор в это окно)
- Move — Переместить в новое место.
- Add — Добавить строку.
- Lover — Переместить в самый нижний слой.
- Raise — Переместить в самый верхний слой.
2.4. События — это действия пользователя при выполнении программы.
Если курсор находится над объектом, то пользователь может выбрать из 17 разных способов действий. А программист может написать 17 программ реакции на эти события, если объект допускает над собой эти события.
Пример 2.4. События.
- Click – Одинарный щелчок по левой кнопки мыши.
- DblClick — Двойной щелчок.
Табл. 2. Основные команды языка Gambas.
№ | Команда | Название | Пример |
---|---|---|---|
1 |
= |
Оператор присвоения |
A=3.14 ‘переменной A присвоить значение Пи |
2 |
IF <условие> THEN<действие 1> ELSE<действие 2> ENDIF |
Условный оператор |
IF x<=0 THEN n=n+1 k=k+1 ELSE n=n-1 ENDIF ‘В Gambas нет операторных скобок! |
3 |
SELECT CASE <действие 1> CASE<действие 2> CASE<действие 3> CASE ELSE<действие 4> END SELECT |
Оператор выбора |
SELECT CASE x CASE 1,2 n=1 CASE 3 n=3 CASE ELSE n=0 END SELECT |
4 |
FOR <начальное значение> TO <конечное значение> STEP <шаг> NEXT |
Цикл с параметром |
FOR i=0 TO 9 STEP 2 s=s+i NEXT |
5 |
WHILE <условие> WEND |
Цикл с предусловием |
WHILE i<10 s=s+i i=i+1 WEND |
6 |
REPEAT<действие> UNTIL <условие> |
Цикл с постусловием |
REPEAT s=s+i i=i+1 UNTIL i<10 |
7 |
DO WHILE <условие> LOOP |
Аналогичен циклу с предусловием |
DO WHILE i<10 s=s+i i=i+1 LOOP |
3. Область действия переменных.
Диапазон действий подразумевает видимость переменной, процедуры или объекта другим процедурам в программе.В Gambas возможны два диапазона:
- глобальный — видим всем процедурам во всех модулях проекта;
- локальный — переменная видна лишь содержащей ее процедуре.
Локальные переменные объявляются в теле процедуры, глобальные — в модуле.
———
1Венгерская система именования переменных очень удобна программисту, когда «с первого взгляда» понятен тип переменной. (Прим. редактора.)
2Мне как-то более привычно делать однобуквенные префиксы: i,s,f,v,b, впрочем, это дело вкуса. (Прим. редактора.)
Апрель 18, 2011, 5:43 пп
На страницах сайте Любохонской школы (http://lybohna2005.narod.ru/Kopilka/gambas.htm) имеются решения четырёх задач по Gambas.
Апрель 18, 2011, 9:01 пп
Вот книгу на английском еще нашел: http://www.linuxinet.com/go/gambas_beginner_guide.pdf
Апрель 19, 2011, 7:45 дп
http://gambas-t.narod.ru
На этом сайте есть все необходимое для разработки уроков в Gambas по УМК Угриновича (9 класс). Требуется минимальная доработка.
Апрель 19, 2011, 8:12 дп
Еще сайт.
http://kostyalamer.narod.ru/
Апрель 19, 2011, 10:17 дп
Петр! Это книжка по Gambas версии 1, а я говорю про версию 2, которая в дистрибутиве!
Апрель 19, 2011, 11:41 дп
Владимир, еще есть: Getting Started with Gambas Version 2: A Tutorial, 2006 год. Достаточно объемное руководство,к сожалению ссылку дать не могу. Не знаю, на сколько оно еще актуально..
Апрель 19, 2011, 5:36 пп
Давным-давно (конец 90-х), в кемеровском институте усовершенствования учителей практиковали опыт коллективного издания, когда методист ИУУ выступал в роли редактора, а учителя в роли авторов. Так, например, был издан неплохой сборник задач по программированию, причем задачи разбирались на 4-х языках: Си, Паскаль, Бейсик и КуМир.
Можно и нам попробовать?
Апрель 19, 2011, 7:55 пп
Что-то я испанского текста не нашел, по приведенной ссылке только обложки. Не там смотрел ?
P.S. А pdf по BASIC 256 будет ?
Апрель 22, 2011, 9:56 дп
Олег, замечательная идея! О ней давно всем известно, но очень сложно народ на это подвигнуть. У нас даже есть для этого ресурсы: altlinux.org и moodle.altlinux.ru.
Короче, было бы желание, а я с удовольствием помогу с размещением, редактированием или, возможно подготовкой сборника.
Апрель 22, 2011, 9:58 дп
Да, конечно, скоро будет pdf полной книги.
Апрель 22, 2011, 7:30 пп
Уточните ссылку на испанскую книжку о Gambas.
Апрель 25, 2011, 2:01 дп
http://ibone.org.ua/gambas — очень много очень полезной информации по Gambas.
Апрель 29, 2011, 10:04 дп
2bsdlinux, Задали вы задачку про «испанскую» книжку.
Делаем так:
http://www.google.ru/search?q=Gambas+-+Programacion+Visual+Con+Software+Libre&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:official&client=firefox
После чего можно найти http://www.megaupload.com/?d=6WKZYFPB
и http://www.mediafire.com/?3mnnqzonifm
Дерзайте, ссылки пока живые