13 de março de 2018

Instalando a WinBGIm no CodeBlocks 17.12

A Borland Graphics Interface (BGI) foi um conjunto de funções disponibilizadas com as IDEs Turbo Pascal e Turbo C, ambas desenvolvidas pela empresa Borland, nos anos 90, para MS-DOS.

Na época foi considerada um enorme sucesso pois permitia a construção de programas com interface gráfica, mesmo que simples, e suporte a mouse num período em que reinava o tradicional modo texto. Quem lembra do famoso #include <graphics.h>?

Recentemente lembrei-me desta biblioteca e resolvi testá-la no CodeBlocks 17.12. É lógico que, por ser muito antiga, não é mais possível executar essa biblioteca nos sistemas operacionais de hoje pois foram desenvolvidas para um ambiente 16 bits. Pesquisando sobre o assunto, descobri um projeto de 2008 de Michael Main da Universidade do Colorado que desenvolveu uma adaptação da biblioteca para uso em compiladores um pouco mais modernos como o Visual C e o Dev-C++.

Com algumas modificações pontuais é possível utilizar a biblioteca WinBGIm desenvolvida por Michael no CodeBlocks 17.12.

Vejamos os passos necessários:

1) Localize o diretório de instalação do CodeBlocks em seu computador. Na maioria dos casos ele está em C:\Program Files (x86)\CodeBlocks

2) Baixe os headers graphics.h e winbgim.h para dentro do diretório include do compilador, possivelmente em \MinGW\include

3) Baixe a biblioteca libbgi.a para dentro do diretório lib do compilador, possivelmente em \MinGW\lib

4) Com a IDE do CodeBlocks 17.12 aberta, acesse o menu Settings - Compiler e na guia Linker settings clique em Add. Localize e adicione a biblioteca libbgi.a baixada no passo anterior. No box ao lado onde diz Other link options inclua os seguintes parâmetros exatamente neste formato:

-lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32

A configuração deverá ficar como abaixo:




















Depois disso, confirme em OK.

Testando a WinBGIm

Agora crie um novo programa vazio no menu File - New - Empty File copiando e colando o conteúdo abaixo:

#include <graphics.h>

int main()
{
    // Desenha a Janela
    initwindow(640, 480);
    // Escreve na Tela
    outtextxy(0, 0, "Testando a WinBGIm no CodeBlocks 17.12");
    // Desenha um Retângulo
    rectangle(10, 30, 320, 240);
    // Escreve na Tela
    outtextxy(10, 350, "Pressione uma tecla para Sair...");
    // Pausa
    getch();
    // Encerra o initwindow
    closegraph();
    // Encerra main()
    return 0;
}

Salve o programa acima com o nome de bgi.cpp ou outro mas lembre-se de sempre salvar os programas com a extensão .cpp que indica um programa C++. Não é possível rodar a WinBGIm em Ansi C.

Depois de salvo é só mandar compilar. Veja o resultado:




















Criamos uma tela em modo gráfico
de 640 x 480 pixels com 2 mensagens e o retângulo desenhado.

Legal não é mesmo?

Agora você pode aprender um pouco mais obtendo a lista das funções da WinBGIm em http://www.cs.colorado.edu/~main/bgi/doc/

Até a próxima!

Nenhum comentário:

Postar um comentário

Comando printf

printf Escreve uma mensagem formatada na tela Uso simplificado: printf("Mensagem a ser exibida!"); Uso de Caracteres Es...