janelinha para executar comandos com system(), C/GTK

Publicado por Marcos Melo 22/11/2004

[ Hits: 9.726 ]

Download executar.c




Programinha meio funcional, que executa  o comando digitado numa caixa de texto.
Usa GTK.

  



Esconder código-fonte

#include <gtk/gtk.h>
#include <stdio.h>

void executar(GtkWidget *w, gpointer comando){
   char *executa;
   executa = gtk_entry_get_text(w);
   int a;
   /*adiciona "&" ao final do comando digitado na caixa de texto */
   for (a=0;executa[a]!='{FONTE}';a++){}
   executa[a++]=' ';
   executa[a++]='&';
   executa[a++]='{FONTE}';
   /* fim da rotina */
   system(executa);

   g_print("comando:%s\n",gtk_entry_get_text(w));
   gtk_entry_set_text(w,"");

   gtk_main_quit();
   
}




void texto_mudado(GtkWidget *w, gpointer p){
   g_print("%s\n",gtk_entry_get_text(w));
   
}

int main(int argc , char **argv){
   GtkWidget *janela,*caixa,*texto;
   gtk_init(&argc,&argv);
   janela=gtk_window_new(GTK_WINDOW_TOPLEVEL);
   gtk_window_set_title(GTK_WINDOW(janela),"Tecle: comando mais \"ENTER\"");
   gtk_widget_set_usize(janela,350,30);
      
   caixa=gtk_hbox_new(FALSE,10);
   gtk_container_add(GTK_CONTAINER(janela),caixa);
   
   texto=gtk_entry_new_with_max_length(50);
   gtk_entry_set_text(texto,"digite");
   gtk_signal_connect(GTK_OBJECT(texto),"activate",  GTK_SIGNAL_FUNC(executar),gtk_entry_get_text(texto));
   gtk_signal_connect(GTK_OBJECT(texto),"changed",  GTK_SIGNAL_FUNC(texto_mudado),gtk_entry_get_text(texto));

   gtk_box_pack_start(GTK_BOX(caixa),texto,TRUE,TRUE,0);
   g_print("%s",gtk_entry_get_text(texto));
   gtk_widget_draw_focus(texto);
   gtk_widget_set_events(texto,4);
   gtk_widget_show(janela);
   gtk_widget_show(caixa);
   gtk_widget_show(texto);
   //gtk_entry_set_position(texto,1);

   gtk_main();
   
   return(0);
}

Scripts recomendados

Calculo de Área e Diametro do circulo

Gerar número aleatório em C

Seu terceiro programa em C

Triângulo de Pascal

Média do aluno


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts