Страница библиотеки Harbour MiniGUI

Зеркало сайта Мои программы Форум MiniGUI Полезные ссылки Гостевая книга О себе

Добрый день, гость!

Эта страница посвящена программированию под Windows на бесплатных компиляторе Harbour и библиотеке MiniGUI.

Для того, чтобы начать программировать на Clipper- и FoxPro-подобном языке, необходимо сделать следующее:

1. Скачать бесплатный BCC компилятор по адресу:

ftp://ftpd.borland.com/download/bcppbuilder/freecommandLinetools.exe

и установить его в папку по умолчанию (C:BORLANDBCC55)

2. Скачать библиотеку MiniGUI (Исходники и бинарники) + бинарники компилятора Harbour (Интегрированная сборка) по адресу:

http://hmgextended.com

и установить, следуя указаниям инсталлятора.

Вот и все, что потребуется для начала!

Вверху на странице размещена ссылка на некоторые мои программы, написанные на Harbour и MiniGUI. Эти программы предназначены как для решения повседневных задач, связанных с обслуживанием компьютера, так и для отдыха и развлечения. Скачайте и оцените их!

Ваши замечания и предложения я с удовольствием прочту в Гостевой книге, ссылка на которую есть вверху (и снизу) страницы.

Также буду рад пообщаться с Вами на форуме MiniGUI!

Ниже приведен хорошо документированный пример демонстрационной программы Контакты (главный модуль), которую разработал в учебных целях автор библиотеки MiniGUI Роберто Лопес.

Листинг учебной программы Контакты
/*
* Contactos
* (C) 2003 Roberto Lopez roblez@ciudad.com.ar
*/

/*
Файл ''minigui.ch'' должен быть включен во все программы MiniGUI
*/

#include "minigui.ch"

Set Procedure To ContactosAdmin
Set Procedure To TiposAdmin

Function Main

///////////////////////////////////////////////////////////////////////////////
// Инициализация RDD DBFCDX
///////////////////////////////////////////////////////////////////////////////

REQUEST DBFCDX
RDDSETDEFAULT( "DBFCDX" )

///////////////////////////////////////////////////////////////////////////////

SET DELETED ON
SET DATE FRENCH
SET CENTURY ON
SET BROWSESYNC ON

/*
У всех программ MiniGUI должно быть главное окно, которое должно быть
определено раньше любого другого окна.
*/

DEFINE WINDOW Main ;
AT 0,0 ;
WIDTH 640 ;
HEIGHT 480 ;
TITLE ''Contactos'' ;
MAIN ;
ICON ''Tutor.Ico''

/*
DEFINE WINDOW: Начинается определение окна. Должно быть указано
имя окна, которое будет единственным для всей программы.
(Может быть использовано в коде одно и то же имя более одного
раза, но только одно окно может быть активно в одно и то же время)
AT: Указывает Ряд,Колонку верхнего левого угла окна (в пикселях)
WIDTH: Ширина окна, указанная в пикселях
HEIGHT: Высота окна, указанная в пикселях
TITLE: Заголовок окна
MAIN: Показывает, что определяется главное окно программы
*/

// Определение главного меню
// У каждого меню могут быть разнообразные POPUPы (подменю)
// Количество подменю не ограничено.
// После DEFINE POPUP указывается название пункта меню
// ''&'' используется, чтобы определить горячую клавишу, ассоциированную
// с пунктом меню. В нашем примере используется комбинация ALT+A
// Каждый пункт меню определяется посредством MENUITEM.
// Класс ACTION указывает процедуру, которая будет выполнена,
// когда пользователь выберет данный пункт меню.
// SEPARATOR включает горизонтальную линию, использованную, чтобы
// отделять пункты меню.

DEFINE MAIN MENU
DEFINE POPUP ''&Archivo''
MENUITEM ''&Contactos'' ACTION AdministradorDeContactos()
MENUITEM ''&Tipos de Contacto'' ACTION AdministradorDeTipos()
SEPARATOR
MENUITEM ''&Salir'' ACTION EXIT PROGRAM
END POPUP
DEFINE POPUP ''A&yuda''
MENUITEM ''A&cerca de...'' ACTION MsgInfo (''Tutor ABM'' + Chr(13) + Chr(10) + ''(c) 2003 Roberto Lopez'' )
END POPUP
END MENU

// Закончено определение главного меню

// Элемент управления TOOLBAR может содержать разнообразные
// кнопки.
// Размер всех кнопок определяется с помощью
// класса BUTTONSIZE <Ширина>,<Высота>
// FLAT создает плоские кнопки
// RIGHTTEXT указывает, что текст на кнопках выводится
// справа от рисунка, помещенного на кнопку.

DEFINE SPLITBOX

DEFINE TOOLBAR ToolBar_1 FLAT BUTTONSIZE 110,35 RIGHTTEXT

BUTTON Button_1 ;
CAPTION ''Contactos'' ;
PICTURE ''Contactos'' ;
ACTION AdministradorDeContactos()

// CAPTION Указывает текст на кнопке.
// PICTURE Файл ассоциированного рисунка (BMP)
// ACTION Процедура события, присоединенная к кнопке
// (то, что будет выполнено, когда нажмут кнопку)

BUTTON Button_2 ;
CAPTION ''Tipos Ctto.'' ;
PICTURE ''Tipos'' ;
ACTION AdministradorDeTipos()

BUTTON Button_3 ;
CAPTION ''Ayuda'' ;
PICTURE ''ayuda'' ;
ACTION MsgInfo (''Tutor ABM'' + Chr(13) + Chr(10) + ''(c) 2003 Roberto Lopez'' )

END TOOLBAR

END SPLITBOX

// Строка состояния, которая появляется в нижней части окна.
// У нее могут быть разнообразные секции, определенные посредством STATUSITEM
// Существуют дополнительные предопределенные секции
// CLOCK и DATE (они показывают часы и текущую дату)

DEFINE STATUSBAR
STATUSITEM "(c) 2003 Roberto Lopez roblez@ciudad.com.ar"
CLOCK
DATE
END STATUSBAR

// Закончено определение окна

END WINDOW

// Требуется развернуть окно на весь экран

MAXIMIZE WINDOW Main

// Выводим окно на экран

ACTIVATE WINDOW Main

// Команда ACTIVATE WINDOW устанавливает состояние ожидания.
// Программа будет остановлена в этой точке до тех пор, пока окно
// не будет закрыто интерактивно или программно. При этом будут выполняться
// только процедуры событий, присоединенные к элементам управления окна
// (или к самому окну)

Return

Хостинг от uCoz