Janela [RESOLVIDO]

1. Janela [RESOLVIDO]

Ademar
ademar111190

(usa Debian)

Enviado em 23/08/2010 - 02:31h

Galera...

Alguem sabe como criar uma janela "como se fosse uma userform do vb" usando a linguagem C???

Eu estou usando o ubuntu e o compilador é o g++.

Um grande abraço para comunidade.


  


2. Re: Janela [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 23/08/2010 - 07:42h

Olá.

Para trabalhar com uma API que use janelas, você pode usar uma dessas:

FLTK: http://www.fltk.org/

###################################################
____________________________________________________
// Exemplo de um programa usando FLTK:
#include <stdlib.h>
#include <stdio.h>
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Button.H>
#include <FL/Fl_Return_Button.H>
#include <FL/Fl_Repeat_Button.H>
#include <FL/Fl_Check_Button.H>
#include <FL/Fl_Light_Button.H>
#include <FL/Fl_Round_Button.H>
#include <FL/Fl_Tooltip.H>

int main(int argc, char ** argv) {
Fl_Window *window = new Fl_Window(320,130);
(new Fl_Button(10, 10, 130, 30, "Fl_Button"))->tooltip("This is a Tooltip.");
new Fl_Return_Button(150, 10, 160, 30, "Fl_Return_Button");
new Fl_Repeat_Button(10,50,130,30,"Fl_Repeat_Button");
new Fl_Light_Button(10,90,130,30,"Fl_Light_Button");
new Fl_Round_Button(150,50,160,30,"Fl_Round_Button");
new Fl_Check_Button(150,90,160,30,"Fl_Check_Button");
window->end();
window->show(argc,argv);
return Fl::run();
}
____________________________________________________


GTK: http://www.gtk.org/

###################################################
____________________________________________________
// Exemplo de um programa usando GTK:

#include <gtk/gtk.h>

int main (int argc, char *argv[]) {
GtkWidget *window;
GtkWidget *label;

gtk_init (&argc, &argv);

window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_container_border_width (GTK_CONTAINER (window), 10);

label = gtk_label_new ("Hello World");
gtk_container_add (GTK_CONTAINER (window), label);
gtk_widget_show (label);

gtk_widget_show (window);

gtk_main ();

return 0;
}
____________________________________________________



QT: http://qt.nokia.com/

###################################################
____________________________________________________
// Exemplo de um programa usando QT:

#include <QApplication>
#include <QPushButton>

int main(int argc, char *argv[]) {
QApplication app(argc, argv);

QPushButton hello("Hello world!");
hello.resize(100, 30);

hello.show();
return app.exec();
}
____________________________________________________



Minha biblioteca libAS, que usa ALLEGRO/SDL
http://sourceforge.net/projects/libas/files/

###################################################
____________________________________________________
// Exemplo de um programa usando libAS:

#include "as.h"

AS_win *win;

int call_button_hello (AS_obj *O) {
AS_data_button *data = (AS_data_button*)O->data;

if(data)
AS_win_show_message ("The 'data->text' this object is: %c%s%c", '"',(char*)data->text,'"');

return 0;
}


int call_button_exit (AS_obj *O) {

//AS_quit = AS_QUIT_QUIT; // Exit direct no asking.

AS_quit = AS_QUIT_ASK; // Exit of program asking.

return AS_O_CLOSE;
}


int main (int argc, char *argv[]) {

AS_app_init (argc, argv);

win = AS_win_new (AS_W_VISIBLE|AS_W_MOVEABLE|AS_W_MAXIMIZABLE, 250,180,320,240, "A basic program using libAS",-1);

AS_new_button (15,100,130,25, 'h', AS_O_EXIT, -1, win,
gui_fg_color,0, 0, "Hello World(H)", NULL, call_button_hello);

AS_new_button (175,100,130,25, AS_KEY_F1, AS_O_EXIT, -1, win,
gui_fg_color,0, 0, "EXIT(F1)", NULL, call_button_exit);

//----------------------------------------------------
// Main loop.
// If KeyPressed F12 out of WINDOW... Exit of program.
//----------------------------------------------------
AS_app_run ();
return 0;
}
#ifdef ALLEGRO_H
END_OF_MAIN();
#endif

____________________________________________________

####################################################

Cada uma dessas APIs tem o seu próprio criador de "forms(janelas/botoes,etc)".

OBS: Para criar janelas usando a libAS, você pode usar o programa AS-IDE(cria OBJETOS só clicando).

ESCOLHA UMA DESSAS E BONS ESTUDOS.

Abraços.

gokernel
gokernel@hotmail.com



3. Pasta

Ademar
ademar111190

(usa Debian)

Enviado em 28/08/2010 - 15:08h

Muito obrigado pela ajuda cara!!!

mais ainda preciso de mais uma, eu extrai os arquivos em uma pasta que eu criei, eu fui fuçando nelas e vi os arquivos XXX.h, porém quando vou compilar o g++ não acha elas, você sabe o que eu estou fazendo de errado nesse caso???

por exemplo.:

quando eu tento compilar um arquivo de exemplo que vem com eles o compilador não acha as bibliotecas que estão uma pasta acima.


4. Re: Janela [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 30/08/2010 - 07:54h

Olá.

Você se refere a libAS? Para Windows ou Linux?

Estou assumindo que sim.

Para windows usando( gcc, mingwin ou Dev-C++ ):
01 - Copy todos *.h para c:\dev-cpp\include
02 - Copy bin\libas_sdl.a para c:\dev-cpp\lib

Para Linux:
01 - Copy todos *.h para /usr/include
02 - Copy bin/libas_sdl.a para /usr/lib


LISTA DE ARQUIVOS *.h
pasta: libas7
-----------------------------
as.h
as_app.h
as_aslua.h
as_base.h
as_clist.h
as_data.h
as_func.h
as_medit.h
as_menu.h
as_new.h
as_obj.h
as_proc.h
as_win.h
-----------------------------

LISTA DE ARQUIVOS *.h
pasta: libas7\luadev
-----------------------------
lauxlib.h
lua.h
luaconf.h
lualib.h
-----------------------------

NO INICIO DE CADA EXEMPLO CONSTA COMO COMPILAR:
//-------------------------------------------------------------------
// A basic program using the library libAS 0.6.0
//
// COMPILE:
// gcc basic.c -o basic ..\libas_sdl.a -DSDL -lSDL -I\libas6\ -Wall
// or
// gcc basic.c -o basic ..\libas_all.a -DALLEGRO -lalleg -I\libas6\ -Wall
//
// BY: gokernel - gokernel@hotmail.com
//-------------------------------------------------------------------


DEPOIS DE COPIAR OS ARQUIVOS(como descrevi):
COMPILE ASSIM, USANDO SDL:
------------------------------------------------------

gcc programa.c -o programa -DSDL -las_sdl -lSDL -Wall

------------------------------------------------------

Qualquer coisa é só retornar.

gokernel
gokernel@hotmail.com



5. Re: Janela [RESOLVIDO]

Anderson de Oliveira Madeira
enki

(usa Zenwalk)

Enviado em 30/08/2010 - 09:59h

Ademar, você poder usar gtk e glade. Aconselho que você dê uma olhada no gtkmm, que é uma interface C++ pra gtk e tem compatibilidade com gtk:

$ sudo apt-get install glade

Tutorial: http://www.micahcarrick.com/gtk-glade-tutorial-part-1.html

$ sudo apt-get install libgtkmm-2.4-dev

Livro-Guia: http://library.gnome.org/devel/gtkmm-tutorial/unstable/index.html


6. biblioteca

Ademar
ademar111190

(usa Debian)

Enviado em 30/08/2010 - 11:45h

Bom dia,

Cara, eu coloquei os arquivos onde você disse, e tentei compilar da forma que você colocou, a unica diferença é não usei o gcc usei o g++, porém ainda não consegui, na hora de compilar eu recebo uma mensagem dizendo que é impossível achar as bibliotecas, você consegue achar onde estou errando neste caso?


7. myspell

???
gokernel

(usa Linux Mint)

Enviado em 30/08/2010 - 16:34h



Cara, eu coloquei os arquivos onde você disse, e tentei compilar da forma que você colocou, a unica diferença é não usei o gcc usei o g++, porém ainda não consegui, na hora de compilar eu recebo uma mensagem dizendo que é impossível achar as bibliotecas, você consegue achar onde estou errando neste caso?


01 - Acho que só funciona com o GCC, pois esse era o objetivo.
a - Informe que comando que você digitou.
b - Informe todos o resultado da saida(ERROS).

02 - Você precisa de ter instalado o SDL_Dev("SDL/SDL.h"... etc)... ESTA INSTALADO?

03 - O programa(as-ide) funcionou?

Para saber, post aqui TODAS AS MENSSAGENS DE ERROS ao compilar usando o GCC. OK?

Abraços.

gokernel
gokernel@hotmail.com



8. Re: Janela [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 30/08/2010 - 17:34h


Se você não tiver o SDL_dev instalado, pode pegar aqui no meu HD VIRTUAL:

http://www.4shared.com/account/dir/Fr2itrRu/sharing.html
ARQUIVO: SDL_DEV.TGZ

DESCOMPACTANDO(SDL_dev files) NA RAIZ(/) COMO USUARIO ROOT:
--------------------------------------------
tar -vxzf SDL_DEV.TGZ -C /
--------------------------------------------

gokernel
gokernel@hotmail.com




9. erro

Ademar
ademar111190

(usa Debian)

Enviado em 31/08/2010 - 01:17h

cara eu tentei com o gcc e deu esso erro:


Ademar@ubuntu-netbook:~/Documentos/cpp/bibliotecas/libas7/examples$ gcc basic.c -o basic ..\libas_sdl.a -DSDL -lSDL -I\libas6\ -Wall
gcc: ..libas_sdl.a: Arquivo ou diretório não encontrado
In file included from basic.c:12:
as.h:63:23: error: SDL/SDL.h: Arquivo ou diretório não encontrado
In file included from basic.c:12:
as.h:65: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ASBITMAP’
as.h:69:17: error: lua.h: Arquivo ou diretório não encontrado
as.h:70:21: error: lauxlib.h: Arquivo ou diretório não encontrado
as.h:71:20: error: lualib.h: Arquivo ou diretório não encontrado
In file included from basic.c:12:
as.h:362: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
as.h:370: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
In file included from as.h:408,
from basic.c:12:
as_base.h:27: error: expected ‘)’ before ‘*’ token
as_base.h:42: error: expected ‘)’ before ‘*’ token
as_base.h:58: error: expected ‘)’ before ‘*’ token
as_base.h:75: error: expected ‘)’ before ‘*’ token
as_base.h:92: error: expected ‘)’ before ‘*’ token
as_base.h:111: error: expected ‘)’ before ‘*’ token
as_base.h:126: error: expected ‘)’ before ‘*’ token
as_base.h:137: error: expected ‘)’ before ‘*’ token
as_base.h:149: error: expected ‘)’ before ‘*’ token
as_base.h:162: error: expected ‘)’ before ‘*’ token
basic.c: In function ‘main’:
basic.c:46: error: ‘AS_KEY_F1’ undeclared (first use in this function)
basic.c:46: error: (Each undeclared identifier is reported only once
basic.c:46: error: for each function it appears in.)
Ademar@ubuntu-netbook:~/Documentos/cpp/bibliotecas/libas7/examples$


e eu coloquei os arquivos citados nas pastas citadas, não consigo achar o ponto onde estou errando.


10. glade

Ademar
ademar111190

(usa Debian)

Enviado em 31/08/2010 - 01:47h

Cara, valeu mesmo esse programa é perfeito, extremamente simples!!!

consegui criar a janela de uma maneira extremamente fácil!!!!

como consegui fazer a janela vou finalizar o tópico, e agradeço muitos vocês dois que me ajudaram muito nessa jornada no mundo livre!!!

ainda sim não consegui monta a janela pelo primeiro jeito, "no modo escrito" mais não desistirei até conseguir montar desta maneira também!

conto com a ajuda dos dois em futuras duvidas :).


11. erro.

Ademar
ademar111190

(usa Debian)

Enviado em 31/08/2010 - 01:55h

Cara, eu instalei o pacote que vc passou o link mais aida deu este erro:


Ademar@ubuntu-netbook:~/Documentos/cpp/bibliotecas/libas7/examples$ gcc basic.c -o basic ..\libas_all.a -DALLEGRO -lalleg -I\libas6\ -Wall
gcc: ..libas_all.a: Arquivo ou diretório não encontrado
In file included from basic.c:12:
as.h:56:23: error: allegro.h: Arquivo ou diretório não encontrado
In file included from basic.c:12:
as.h:57: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ASBITMAP’
as.h:69:17: error: lua.h: Arquivo ou diretório não encontrado
as.h:70:21: error: lauxlib.h: Arquivo ou diretório não encontrado
as.h:71:20: error: lualib.h: Arquivo ou diretório não encontrado
In file included from basic.c:12:
as.h:362: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
as.h:370: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
In file included from as.h:408,
from basic.c:12:
as_base.h:27: error: expected ‘)’ before ‘*’ token
as_base.h:42: error: expected ‘)’ before ‘*’ token
as_base.h:58: error: expected ‘)’ before ‘*’ token
as_base.h:75: error: expected ‘)’ before ‘*’ token
as_base.h:92: error: expected ‘)’ before ‘*’ token
as_base.h:111: error: expected ‘)’ before ‘*’ token
as_base.h:126: error: expected ‘)’ before ‘*’ token
as_base.h:137: error: expected ‘)’ before ‘*’ token
as_base.h:149: error: expected ‘)’ before ‘*’ token
as_base.h:162: error: expected ‘)’ before ‘*’ token
basic.c: In function ‘main’:
basic.c:46: error: ‘AS_KEY_F1’ undeclared (first use in this function)
basic.c:46: error: (Each undeclared identifier is reported only once
basic.c:46: error: for each function it appears in.)
Ademar@ubuntu-netbook:~/Documentos/cpp/bibliotecas/libas7/examples$


12. Re: Janela [RESOLVIDO]

???
gokernel

(usa Linux Mint)

Enviado em 31/08/2010 - 08:30h

Pelo que vi você não tinha a SDL_dev instalada.

Descompacte o arquivo SDL_DEV.TGZ em /

COMANDO para descompactar:
---------------------------------------------------------
tar -vxzf SDL_DEV.TGZ -C /
---------------------------------------------------------


AGORA COMPILE COM:
---------------------------------------------------------
gcc basic.c -o basic -DSDL -las_sdl -lSDL -Wall
---------------------------------------------------------

OBS: Você precisa estha como usuário "root". OK?




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts