Ir para conteúdo
Fórum Script Brasil

INIT

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Sobre INIT

INIT's Achievements

0

Reputação

  1. Como faço o botão pausar vídeo no Lazarus(Delphi 7 para Linux)?
  2. Meu Delphi 2010 ao fazer um tocador de vídeo,ele diz: Problema ao iniciar o MCI. Como corrijo o problema?
  3. Alguém tem um script para jogo online de YuGiOh(Se possível estilo ao jogo do site DuelingBook)? Não sei se coloquei na área certa a pergunta.
  4. #include <gtk/gtk.h> //Uma novidade que vem do c.. //Os comentarios podem ser escritos com // ou /* */ /* Esta é uma função callback. Os argumentos de dados são ignorados * neste exemplo. Mais sobre callbacks abaixo. */ static void hello( GtkWidget *widget, gpointer data ) { g_print ("Hello World\n"); } static gboolean delete_event( GtkWidget *widget, GdkEvent *event, gpointer data ) { /* Se você retornar FALSE no tratador do sinal "delete_event", * o GTK emitirá o sinal "destroy". Retornar TRUE significa * que você não quer que a janela seja destruída. * Isso é útil para exibir diálogos do tipo 'tem certeza de * que deseja sair?'. */ g_print ("evento 'delete' ocorreu\n"); /* Mude TRUE para FALSE e a janela principal será destruída com um * "delete_event". */ return TRUE; } /* Outro callback */ static void destroy( GtkWidget *widget, gpointer data ) { gtk_main_quit (); } int main( int argc, char *argv[] ) { /* GtkWidget é o tipo de dado para os widgets */ GtkWidget *window; GtkWidget *button; /* Esta função é chamada em todas as aplicações GTK. Argumentos da linha * de comando são interpretados e retornados à aplicação. */ gtk_init (&argc, &argv); /* criar uma nova janela */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); /* Quando a janela recebe o sinal "delete_event" (dado pelo gerenciador * de janelas, geralmente pela opção "fechar", ou na barra de título), * nós pedimos que ela chame a função delete_event () como definido * acima. Os dado passado para a função callback é NULL e é ignorado. */ g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK (delete_event), NULL); /* Aqui conectamos o evento "destroy" a um tratador de sinal. Esse * evento ocorre quando chamamos gtk_widget_destroy() na janela, ou * se retornamos FALSE no callback "delete_event". */ g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (destroy), NULL); /* Ajusta a largura da borda da janela. */ gtk_container_set_border_width (GTK_CONTAINER (window), 10); //Coloca um nome na janela gtk_window_set_title (GTK_WINDOW (window), "Aqui o nome da Janela"); /* Cria um novo botão com o texto "Hello World". */ button = gtk_button_new_with_label ("Hello World"); /* Quando o botão recebe o sinal "clicked", chamará a função hello() * passando NULL como argumento. hello() é definida acima. */ g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (hello), NULL); /* Isso fará com que a janela será destruída pela chamada * gtk_widget_destroy(window) quando o botão for clicado ("clicked"). * Novamente, o sinal destroy poderia vir daqui ou do gerenciador * de janelas. */ g_signal_connect_swapped (G_OBJECT (button), "clicked", G_CALLBACK (gtk_widget_destroy), G_OBJECT (window)); /* Isto empacota o botão na janela (um recipiente gtk). */ gtk_container_add (GTK_CONTAINER (window), button); /* O passo final é exibir o widget recém-criado. */ gtk_widget_show (button); /* e a janela */ gtk_widget_show (window); /* Toda aplicação GTK deve ter uma chamada gtk_main(). O controle * termina aqui e espera por um evento (como um apertamento de tecla * ou evento do mouse). */ gtk_main (); return 0; }
  5. #include <stdlib.h> #include <stdio.h> #include <string.h> GtkWidget *entry; int first_number = -1; int second_number = -1; char symbol = '+'; int need_clear = 0; int has_press_symbol = 0; int has_press_number = 0; int main(int argc, char *argv[]) { /*init window*/ gtk_init(&argc, &argv); GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL); g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(delete_event), NULL); gtk_window_set_default_size(GTK_WINDOW(window), 400, 400); gtk_window_set_title(GTK_WINDOW(window), "calculator"); gtk_container_set_border_width(GTK_CONTAINER(window), 10); /*init layout*/ GtkWidget *vbox = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(window), vbox); gtk_widget_show(vbox); GtkWidget *hbox1 = gtk_hbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(vbox), hbox1); entry = malloc(sizeof(GtkWidget)); memset(entry, 0, sizeof(GtkWidget)); entry = gtk_entry_new(); gtk_editable_set_editable(GTK_EDITABLE(entry), FALSE); gtk_widget_set_direction(entry, GTK_TEXT_DIR_RTL); gtk_entry_set_text(GTK_ENTRY(entry), "0"); gtk_box_pack_start(GTK_BOX(hbox1), entry, TRUE, TRUE, 0); gtk_widget_show(entry); GtkWidget *button = gtk_button_new_with_label("清零"); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(clear), NULL); gtk_box_pack_start(GTK_BOX(hbox1), button, TRUE, TRUE, 0); gtk_widget_show(button); gtk_widget_show(hbox1); GtkWidget *hbox2 = gtk_hbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(vbox), hbox2); create_num_button(hbox2, button, "7"); create_num_button(hbox2, button, "8"); create_num_button(hbox2, button, "9"); button = gtk_button_new_with_label("+"); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(click_symbol), (gpointer)'+'); gtk_box_pack_start(GTK_BOX(hbox2), button, TRUE, TRUE, 0); gtk_widget_show(button); gtk_widget_show(hbox2); GtkWidget *hbox3 = gtk_hbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(vbox), hbox3); create_num_button(hbox3, button, "4"); create_num_button(hbox3, button, "5"); create_num_button(hbox3, button, "6"); button = gtk_button_new_with_label("-"); gtk_box_pack_start(GTK_BOX(hbox3), button, TRUE, TRUE, 0); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(click_symbol), (gpointer)'-'); gtk_widget_show(button); gtk_widget_show(hbox3); GtkWidget *hbox4 = gtk_hbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(vbox), hbox4); create_num_button(hbox4, button, "1"); create_num_button(hbox4, button, "2"); create_num_button(hbox4, button, "3"); button = gtk_button_new_with_label("*"); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(click_symbol), (gpointer)'*'); gtk_box_pack_start(GTK_BOX(hbox4), button, TRUE, TRUE, 0); gtk_widget_show(button); gtk_widget_show(hbox4); GtkWidget *hbox5 = gtk_hbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(vbox), hbox5); create_num_button(hbox5, button, "0"); button = gtk_button_new_with_label("="); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(submit), NULL); gtk_box_pack_start(GTK_BOX(hbox5), button, TRUE, TRUE, 0); gtk_widget_show(button); button = gtk_button_new_with_label("/"); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(click_symbol), (gpointer)'/'); gtk_box_pack_start(GTK_BOX(hbox5), button, TRUE, TRUE, 0); gtk_widget_show(button); gtk_widget_show(hbox5); gtk_widget_show(window); gtk_main(); exit(0); } gint delete_event(GtkWidget *window, GdkEvent *event, gpointer data) { gtk_main_quit(); return FALSE; } void create_num_button(GtkWidget *box, GtkWidget *button, char* button_num) { button = gtk_button_new_with_label(button_num); g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(click_number), (gpointer)button_num); gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0); gtk_widget_show(button); } void click_number(GtkWidget *widget, gpointer data) { if(need_clear) { gtk_entry_set_text(GTK_ENTRY(entry), "0"); need_clear = 0; } char* button_num = (char*)data; int entry_int = get_entry_value(); if(entry_int == 0) gtk_entry_set_text(GTK_ENTRY(entry), button_num); else gtk_entry_append_text(GTK_ENTRY(entry), button_num); has_press_number = 1; has_press_symbol = 0; } void clear(GtkWidget *widget, gpointer data) { gtk_entry_set_text(GTK_ENTRY(entry), "0"); first_number = -1; second_number = -1; has_press_number = 0; has_press_symbol = 0; need_clear = 0; symbol = '+'; } void click_symbol(GtkWidget *widget, gpointer data) { if(has_press_symbol == 0) { if(second_number == -1 && first_number == -1 && has_press_number == 0) {} else if(second_number == -1 && first_number == -1 && has_press_number == 1) { first_number = get_entry_value(); has_press_number = 0; } else if(second_number == -1 && first_number != -1 && has_press_number == 1) { second_number = get_entry_value(); first_number = calculator(symbol); second_number = -1; char* result_string = malloc(sizeof(char) * 10); memset(result_string, 0, 10); sprintf(result_string, "%d", first_number); gtk_entry_set_text(GTK_ENTRY(entry), result_string); } symbol = (char)data; need_clear = 1; has_press_symbol = 1; } } void submit(GtkWidget *widget, gpointer data) { second_number = get_entry_value(); int result = calculator(symbol); second_number = -1; has_press_symbol = 0; has_press_number = 0; first_number = result; char* result_string = malloc(sizeof(char) * 10); memset(result_string, 0, 10); sprintf(result_string, "%d", result); gtk_entry_set_text(GTK_ENTRY(entry), result_string); } int calculator(char symbol) { int result; switch(symbol) { case '+': result = first_number + second_number; break; case '-': result = first_number - second_number; break; case '*': result = first_number * second_number; break; case '/': result = first_number / second_number; break; default: printf("error\n"); return; } return result; } int get_entry_value() { const char* entry_string = gtk_entry_get_text(GTK_ENTRY(entry)); int entry_int = *entry_string - '0'; entry_string++; while(*entry_string != '\0') { entry_int = entry_int * 10 + (*entry_string - '0'); entry_string++; } return entry_int; } #ifndef CALCULATOR_H #define CALCULATOR_H #include <gtk/gtk.h> typedef struct calbutton { char *value; GtkWidget *button; }calbutton; /*function prototype*/ gint delete_event(GtkWidget *window, GdkEvent *event, gpointer data); void create_num_button(GtkWidget *box, GtkWidget *button, char* button_num); void click_number(GtkWidget *widget, gpointer data); void clear(GtkWidget *widget, gpointer data); void submit(GtkWidget *widget, gpointer data); void add(GtkWidget *widget, gpointer data); void sub(GtkWidget *widget, gpointer data); void mul(GtkWidget *widget, gpointer data); void division(GtkWidget *widget, gpointer data); void click_symbol(GtkWidget *widget, gpointer data); int calculator(char symbol); #endif
  6. Tem como fazer um sistema de reputação e curtir que nem o Facebook(Com carinhas e tudo(emoticons))?

×
×
  • Criar Novo...