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

Publicado por Marcos Melo 22/11/2004

[ Hits: 9.464 ]

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

Administraçao de um teatro

Binário para decimal

Criptografar e Descriptografar

Strlen (parte 1)

Calcular Fatorial


  

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