Первая программа

Расширения файлов

Файлы исходного кода — это обычные текстовые файлы со следующими расширениями:

Также ты встретишь файлы со следующими расширениями:

Из чего состоят файлы исходного кода фрибейсика

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

Ключевые слова имеют непосредственное отношение к языку. Примеры: Dim, ByRef, Function, Integer, Type, Alias, As. Когда ключевые слова собираются вместе, то образуются выражения.

Выражения — это одно или несколько ключевых слов, задающие последовательность действий. Примеры выражений:

' Объявление функции
Declare Function Minimum(ByVal a As Integer, ByVal b As Integer)As Integer

' Объявление переменной
Dim Name As WString * 256

' Оператор сложения
x + y

Каждое выражение обычно располагают на отдельной строке. Так удобнее читать код.

Простейшая программа

Простейший файл исходного кода — это пустой текстовый файл с расширением .bas, его можно скомпилировать и получить полноценную программу. Такая программа ничего не делает и сразу же завершается после запуска:


Вывод текста на экран

Напишем теперь программу, которая будет делать хоть что-нибудь. Например, выводить на консоль фразу «Всем привет!»:

Print "Всем привет!"

Для отображения текста на экране используется функция Print. Сейчас функция принимает единственный аргумент — строку в кавычках, которую она выводит на консоль.

Компиляция

Создадим специальную директорию для исходных кодов «C:\Programming\FreeBASIC Projects», в ней подкаталог «HelloWorld». Открой текстовый редактор, например блокнот или Nodepad++, и сохрани текст программы в файле «HelloWorld.bas».

Компиляция «перетаскиванием мышью»

Для простых консольных программ достаточно перетащить мышью значок файла «HelloWorld.bas» на компилятор. Перетаскивание мышью запускает программу, в данном случае «fbc.exe», и передаёт ей параметром название перетаскиваемого файла. Компилятор FreeBASIC получает имя файла, запускает процесс компиляции и сохраняет готовую программу рядом с исходным файлом.

Компиляция вручную

Открой «Пуск» → «Выполнить», запусти интерпретатор команд cmd.exe и перейди в каталог, куда установлен компилятор, например, так:

C:\Users\Пользователь>cd %programfiles%\freebasic

C:\Program Files\FreeBASIC>_

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

C:\Program Files\FreeBASIC>fbc "C:\Programming\FreeBASIC Projects\HelloWorld.bas"

Компиляция через пакетный файл

Создай пакетный файл «compile.cmd» следующего содержания:

"%ProgramFiles%\FreeBASIC\fbc.exe" HelloWorld.bas

Компиляция из среды разработки на примере WinFBE

Если ты прописал в WinFBE путь к каталогу с компилятором, то достаточно в меню «Компилировать» выбрать пункт «Собрать и выполнить» или нажать клавишу F5.

Компиляция утилитой make

Утилита make создана для инкрементальной сборки программ. Этот вариат незаменим для больших проектов.

Как использовать утилиту make

Запуск программы

Теперь у тебя есть своя первая настоящая программа «HelloWorld.exe»:

C:\Programming\FreeBASIC Projects>HelloWorld.exe
Привет, мир!

C:\Programming\FreeBASIC Projects>_

Остановим выполнение

Если запускать рассмотренную выше программу из проводника, то обнаружится, что она выводит строку и сразу же завершается («как будто что‐то мелькнуло на экране»), не дав нам разглядеть результат. Бороться с этим можно двумя способами.

Пауза после компиляции

Измени пакетный файл «compile.cmd» так:

"%ProgramFiles%\FreeBASIC\fbc.exe" HelloWorld.bas
HelloWorld.exe
pause

Пауза в программе

Второй способ — это сказать компьютеру, что в конце работы надо дождаться нажатия какой‐нибудь клавиши.

REM Выводим строку «Здравствуй, мир!»
Print "Здравствуй, мир!"

' Ждём нажатия любой клавиши
Sleep()
/'
    Конец программы
'/

Разбор программы

Теперь программа длиннее и состоит из восьми строк.

Появилось непонятное слово REM. Это ключевое слово обозначает начало комментария. Всё, что будет написано после слова REM и до конца строки компилятор будет игнорировать. Также комментарием является всё, что идёт после символа '. Ключевое слово REM и лексема ' равнозначны. Многострочные комментарии начинаются с символов /' и заканчиваются символами '/. На текст внутри этого блока («Конец программы») компилятор не будет обращать внимания. Комментарии никак не влияют на работу программы, они нужны программистам, чтобы лучше понимать код.

В пятой строке появился вызов функции Sleep(). Эта функция останавливает поток программы и ждёт нажатия любой клавиши.

Функция Print

Теперь давай подробнее изучим функцию Print для вывода данных на консоль. Эта функция находится в библиотеке времени выполнения, компилятор автоматически добавит код вызова функции в исполняемый файл.

Функция Print принимает несколько аргументов и выводит их на консоль. Аргументы должны быть разделены запятыми , точками с запятой ; или их сочетанием:

Примеры

Создадим несколько программ «PrintSomeWords.exe», печатающих фразы с разными разделителями.

Вывод текста без разделителей

' Печатаем несколько фраз без разделителей
Print "Эта"; "фраза"; "будет показана"; "без разделителей"

Результат работы программы:

C:\Programming\FreeBASIC Projects>PrintSomeWords.exe
Этафразабудет показанабез разделителей

C:\Programming\FreeBASIC Projects>_

Вывод текста по позициям табуляции

' Печатаем несколько слов по позициям табуляции
Print "Фраза", "через табуляции"

Результат работы программы:

C:\Programming\FreeBASIC Projects>PrintSomeWords.exe
Фраза	через табуляции

C:\Programming\FreeBASIC Projects>_

Вывод текста по позициям табуляции и без разделителей

' Совмещаем вывод с запятой и точкой с запятой
Print "Фраза", "через"; "разные разделители"

Результат работы программы:

C:\Programming\FreeBASIC Projects>PrintSomeWords.exe
Фраза	черезразные разделители

C:\Programming\FreeBASIC Projects>_

Вывод пустой строки

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