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

Publicado por Marcos Melo 22/11/2004

[ Hits: 9.617 ]

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

O comando SWITCH

[C] Fibonacci

Utilizando arrays, funções e arquivos de texto

Mudar nome do processo

Strcat


  

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