GTK做的文件分割软件

自己以前做的一个文件分割软件!那时候U盘容量太小,COPY个东西装不小!所以做了个文件分割合并软件!与大家分享一下!我把原代码帖出来!GTK+写的,只要你懂C,知道一点点GTK,就可以看懂!

 
#include<gtk/gtk.h>
#include<stdio.h>
#include<dirent.h>
#include<unistd.h>
#include<string.h>
GtkWidget *fg_entry1,*fg_entry2;
GtkWidget *hb_entry1,*hb_entry2,*hb_entry3,*hb_entry4,*hb_entry5;
GtkWidget *hb_entry6,*hb_entry7,*hb_entry8,*hb_entry9,*hb_entry10,*hb_entry11;
GtkAdjustment *adj;
void  DialogAbout();
void  divide_ok()
{
GtkWidget *label1,*button,*dialog_window;
dialog_window=gtk_dialog_new();
g_signal_connect(G_OBJECT(dialog_window),"destroy",G_CALLBACK (gtk_widget_destroyed),&dialog_window);
gtk_window_set_title(GTK_WINDOW(dialog_window),"MokeMars's file divide software");
gtk_container_set_border_width(GTK_CONTAINER(dialog_window),0);
button=gtk_button_new_with_label("OK");
GTK_WIDGET_SET_FLAGS(button,GTK_CAN_DEFAULT);
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog_window)->action_area),button,TRUE,TRUE,0);
g_signal_connect_swapped (G_OBJECT(button),"clicked",G_CALLBACK (gtk_widget_destroy),G_OBJECT(dialog_window));
label1=gtk_label_new("The document divide is successful!/n");
gtk_misc_set_padding(GTK_MISC(label1),10,10);
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog_window)->vbox),label1,TRUE,TRUE,0);
gtk_widget_grab_default(button);
gtk_widget_show_all(dialog_window);
}
void  unite_ok()
{
GtkWidget *label1,*button,*dialog_window;
dialog_window=gtk_dialog_new();
g_signal_connect(G_OBJECT(dialog_window),"destroy",G_CALLBACK (gtk_widget_destroyed),&dialog_window);
gtk_window_set_title(GTK_WINDOW(dialog_window),"MokeMars's file divide software");
gtk_container_set_border_width(GTK_CONTAINER(dialog_window),0);
button=gtk_button_new_with_label("OK");
GTK_WIDGET_SET_FLAGS(button,GTK_CAN_DEFAULT);
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog_window)->action_area),button,TRUE,TRUE,0);
g_signal_connect_swapped (G_OBJECT(button),"clicked",G_CALLBACK (gtk_widget_destroy),G_OBJECT(dialog_window));
label1=gtk_label_new("The document add is successful!/n");
gtk_misc_set_padding(GTK_MISC(label1),10,10);
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog_window)->vbox),label1,TRUE,TRUE,0);
gtk_widget_grab_default(button);
gtk_widget_show_all(dialog_window);
}
void fg_file_ok_sel( GtkWidget *w,
                  GtkFileSelection *fs )
{
    g_print ("%s/n",gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_entry_set_text(GTK_ENTRY(fg_entry1),gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_widget_destroy(GTK_WIDGET(fs));
}
void fg_select_file()
{
GtkWidget *filew;
filew = gtk_file_selection_new ("File selection");
g_signal_connect (G_OBJECT (filew), "destroy",
               G_CALLBACK (gtk_widget_destroyed), NULL);
g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (filew)->ok_button),
        "clicked", G_CALLBACK (fg_file_ok_sel), (gpointer) filew);
g_signal_connect_swapped (G_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button),
                       "clicked", G_CALLBACK (gtk_widget_destroy),
         G_OBJECT (filew));
gtk_file_selection_set_filename (GTK_FILE_SELECTION(filew),
         "mokemars.png");
   
gtk_widget_show (filew);
 }
void fg_save_file_ok_sel( GtkWidget *w,
                  GtkFileSelection *fs )
{
    g_print ("%s/n",gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_entry_set_text(GTK_ENTRY(fg_entry2),gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_widget_destroy(GTK_WIDGET(fs));
}
void fg_save_select_file()
{
GtkWidget *filew;
filew = gtk_file_selection_new ("File selection");
g_signal_connect (G_OBJECT (filew), "destroy",
               G_CALLBACK (gtk_widget_destroyed), NULL);
g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (filew)->ok_button),
        "clicked", G_CALLBACK (fg_save_file_ok_sel), (gpointer) filew);
g_signal_connect_swapped (G_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button),
                       "clicked", G_CALLBACK (gtk_widget_destroy),
         G_OBJECT (filew));
gtk_file_selection_set_filename (GTK_FILE_SELECTION(filew),
         "");
   
gtk_widget_show (filew);
 }
void hb_file_ok_sel_1( GtkWidget *w,
                  GtkFileSelection *fs )
{
    g_print ("%s/n",gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_entry_set_text(GTK_ENTRY(hb_entry1),gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_widget_destroy(GTK_WIDGET(fs));
}
void hb_select_file_1()
{
GtkWidget *filew;
filew = gtk_file_selection_new ("File selection");
g_signal_connect (G_OBJECT (filew), "destroy",
               G_CALLBACK (gtk_widget_destroyed), NULL);
g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (filew)->ok_button),
        "clicked", G_CALLBACK (hb_file_ok_sel_1), (gpointer) filew);
g_signal_connect_swapped (G_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button),
                       "clicked", G_CALLBACK (gtk_widget_destroy),
         G_OBJECT (filew));
gtk_file_selection_set_filename (GTK_FILE_SELECTION(filew),
         "mokemars.png");
   
gtk_widget_show (filew);
 }
 void hb_file_ok_sel_2( GtkWidget *w,
                  GtkFileSelection *fs )
{
    g_print ("%s/n",gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_entry_set_text(GTK_ENTRY(hb_entry2),gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_widget_destroy(GTK_WIDGET(fs));
}
void hb_select_file_2()
{
GtkWidget *filew;
filew = gtk_file_selection_new ("File selection");
g_signal_connect (G_OBJECT (filew), "destroy",
               G_CALLBACK (gtk_widget_destroyed), NULL);
g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (filew)->ok_button),
        "clicked", G_CALLBACK (hb_file_ok_sel_2), (gpointer) filew);
g_signal_connect_swapped (G_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button),
                       "clicked", G_CALLBACK (gtk_widget_destroy),
         G_OBJECT (filew));
gtk_file_selection_set_filename (GTK_FILE_SELECTION(filew),
         "mokemars.png");
   
gtk_widget_show (filew);
 }
 void hb_file_ok_sel_3( GtkWidget *w,
                  GtkFileSelection *fs )
{
    g_print ("%s/n",gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_entry_set_text(GTK_ENTRY(hb_entry3),gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_widget_destroy(GTK_WIDGET(fs));
}
void hb_select_file_3()
{
GtkWidget *filew;
filew = gtk_file_selection_new ("File selection");
g_signal_connect (G_OBJECT (filew), "destroy",
               G_CALLBACK (gtk_widget_destroyed), NULL);
g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (filew)->ok_button),
        "clicked", G_CALLBACK (hb_file_ok_sel_3), (gpointer) filew);
g_signal_connect_swapped (G_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button),
                       "clicked", G_CALLBACK (gtk_widget_destroy),
         G_OBJECT (filew));
gtk_file_selection_set_filename (GTK_FILE_SELECTION(filew),
         "mokemars.png");
   
gtk_widget_show (filew);
 }
 void hb_file_ok_sel_4( GtkWidget *w,
                  GtkFileSelection *fs )
{
    g_print ("%s/n",gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_entry_set_text(GTK_ENTRY(hb_entry4),gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_widget_destroy(GTK_WIDGET(fs));
}
void hb_select_file_4()
{
GtkWidget *filew;
filew = gtk_file_selection_new ("File selection");
g_signal_connect (G_OBJECT (filew), "destroy",
               G_CALLBACK (gtk_widget_destroyed), NULL);
g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (filew)->ok_button),
        "clicked", G_CALLBACK (hb_file_ok_sel_4), (gpointer) filew);
g_signal_connect_swapped (G_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button),
                       "clicked", G_CALLBACK (gtk_widget_destroy),
         G_OBJECT (filew));
gtk_file_selection_set_filename (GTK_FILE_SELECTION(filew),
         "mokemars.png");
   
gtk_widget_show (filew);
 }
 void hb_file_ok_sel_5( GtkWidget *w,
                  GtkFileSelection *fs )
{
    g_print ("%s/n",gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_entry_set_text(GTK_ENTRY(hb_entry5),gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_widget_destroy(GTK_WIDGET(fs));
}
void hb_select_file_5()
{
GtkWidget *filew;
filew = gtk_file_selection_new ("File selection");
g_signal_connect (G_OBJECT (filew), "destroy",
               G_CALLBACK (gtk_widget_destroyed), NULL);
g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (filew)->ok_button),
        "clicked", G_CALLBACK (hb_file_ok_sel_5), (gpointer) filew);
g_signal_connect_swapped (G_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button),
                       "clicked", G_CALLBACK (gtk_widget_destroy),
         G_OBJECT (filew));
gtk_file_selection_set_filename (GTK_FILE_SELECTION(filew),
         "mokemars.png");
   
gtk_widget_show (filew);
 }
 void hb_file_ok_sel_6( GtkWidget *w,
                  GtkFileSelection *fs )
{
    g_print ("%s/n",gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_entry_set_text(GTK_ENTRY(hb_entry6),gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_widget_destroy(GTK_WIDGET(fs));
}
void hb_select_file_6()
{
GtkWidget *filew;
filew = gtk_file_selection_new ("File selection");
g_signal_connect (G_OBJECT (filew), "destroy",
               G_CALLBACK (gtk_widget_destroyed), NULL);
g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (filew)->ok_button),
        "clicked", G_CALLBACK (hb_file_ok_sel_6), (gpointer) filew);
g_signal_connect_swapped (G_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button),
                       "clicked", G_CALLBACK (gtk_widget_destroy),
         G_OBJECT (filew));
gtk_file_selection_set_filename (GTK_FILE_SELECTION(filew),
         "mokemars.png");
   
gtk_widget_show (filew);
 }
 void hb_file_ok_sel_7( GtkWidget *w,
                  GtkFileSelection *fs )
{
    g_print ("%s/n",gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_entry_set_text(GTK_ENTRY(hb_entry7),gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_widget_destroy(GTK_WIDGET(fs));
}
void hb_select_file_7()
{
GtkWidget *filew;
filew = gtk_file_selection_new ("File selection");
g_signal_connect (G_OBJECT (filew), "destroy",
               G_CALLBACK (gtk_widget_destroyed), NULL);
g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (filew)->ok_button),
        "clicked", G_CALLBACK (hb_file_ok_sel_7), (gpointer) filew);
g_signal_connect_swapped (G_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button),
                       "clicked", G_CALLBACK (gtk_widget_destroy),
         G_OBJECT (filew));
gtk_file_selection_set_filename (GTK_FILE_SELECTION(filew),
         "mokemars.png");
   
gtk_widget_show (filew);
 }
 void hb_file_ok_sel_8( GtkWidget *w,
                  GtkFileSelection *fs )
{
    g_print ("%s/n",gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_entry_set_text(GTK_ENTRY(hb_entry8),gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_widget_destroy(GTK_WIDGET(fs));
}
void hb_select_file_8()
{
GtkWidget *filew;
filew = gtk_file_selection_new ("File selection");
g_signal_connect (G_OBJECT (filew), "destroy",
               G_CALLBACK (gtk_widget_destroyed), NULL);
g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (filew)->ok_button),
        "clicked", G_CALLBACK (hb_file_ok_sel_8), (gpointer) filew);
g_signal_connect_swapped (G_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button),
                       "clicked", G_CALLBACK (gtk_widget_destroy),
         G_OBJECT (filew));
gtk_file_selection_set_filename (GTK_FILE_SELECTION(filew),
         "mokemars.png");
   
gtk_widget_show (filew);
 }
 void hb_file_ok_sel_9( GtkWidget *w,
                  GtkFileSelection *fs )
{
    g_print ("%s/n",gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_entry_set_text(GTK_ENTRY(hb_entry9),gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_widget_destroy(GTK_WIDGET(fs));
}
void hb_select_file_9()
{
GtkWidget *filew;
filew = gtk_file_selection_new ("File selection");
g_signal_connect (G_OBJECT (filew), "destroy",
               G_CALLBACK (gtk_widget_destroyed), NULL);
g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (filew)->ok_button),
        "clicked", G_CALLBACK (hb_file_ok_sel_9), (gpointer) filew);
g_signal_connect_swapped (G_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button),
                       "clicked", G_CALLBACK (gtk_widget_destroy),
         G_OBJECT (filew));
gtk_file_selection_set_filename (GTK_FILE_SELECTION(filew),
         "mokemars.png");
   
gtk_widget_show (filew);
 }
 void hb_file_ok_sel_10( GtkWidget *w,
                  GtkFileSelection *fs )
{
    g_print ("%s/n",gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_entry_set_text(GTK_ENTRY(hb_entry10),gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_widget_destroy(GTK_WIDGET(fs));
}
void hb_select_file_10()
{
GtkWidget *filew;
filew = gtk_file_selection_new ("File selection");
g_signal_connect (G_OBJECT (filew), "destroy",
               G_CALLBACK (gtk_widget_destroyed), NULL);
g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (filew)->ok_button),
        "clicked", G_CALLBACK (hb_file_ok_sel_10), (gpointer) filew);
g_signal_connect_swapped (G_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button),
                       "clicked", G_CALLBACK (gtk_widget_destroy),
         G_OBJECT (filew));
gtk_file_selection_set_filename (GTK_FILE_SELECTION(filew),
         "mokemars.png");
   
gtk_widget_show (filew);
 }
 void hb_save_file_ok_sel( GtkWidget *w,
                  GtkFileSelection *fs )
{
    g_print ("%s/n",gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_entry_set_text(GTK_ENTRY(hb_entry11),gtk_file_selection_get_filename (GTK_FILE_SELECTION (fs)));
    gtk_widget_destroy(GTK_WIDGET(fs));
}
void hb_save_select_file()
{
GtkWidget *filew;
filew = gtk_file_selection_new ("File selection");
g_signal_connect (G_OBJECT (filew), "destroy",
               G_CALLBACK (gtk_widget_destroyed), NULL);
g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (filew)->ok_button),
        "clicked", G_CALLBACK (hb_save_file_ok_sel), (gpointer) filew);
g_signal_connect_swapped (G_OBJECT (GTK_FILE_SELECTION (filew)->cancel_button),
                       "clicked", G_CALLBACK (gtk_widget_destroy),
         G_OBJECT (filew));
gtk_file_selection_set_filename (GTK_FILE_SELECTION(filew),
         "mokemars.png");
   
gtk_widget_show (filew);
 }
 unsigned long getfilelength(char *filename)
 {
 FILE *fp=NULL;
 unsigned long i=0;
 char c[1];
 fp=fopen(filename,"r");
 if(fp!=NULL)
 {
   g_print("file open ok!/n");
 }
 
 while(fread(&c,1,1,fp)>0)
 {
  i++;
 }
 fclose(fp);
 return i;
 }
 void divide()
 {
 gchar *filename,*savedir;
 char newfilename[256]={0};
 char *testname[10]={"1.txt","2.txt","3.txt","4.txt","5.txt","6.txt","7.txt","8.txt","9.txt","10.txt"};
 char c;
 unsigned long  num;
 unsigned long filelength,k,s,n;
 FILE *fp=NULL,*fpnew=NULL;
 filename=gtk_entry_get_text(GTK_ENTRY(fg_entry1));
 savedir=gtk_entry_get_text(GTK_ENTRY(fg_entry2));
 g_print("%s/n",(char *)filename);
 g_print("%s/n",(char *)savedir);
 filelength=getfilelength(filename);
 g_print("file length %ld !/n",filelength);
 fp=fopen(filename,"r");
 if(fp==NULL)
 {
   g_print("%s open wrong!/n",filename);
   return;
 }
 num=gtk_adjustment_get_value(adj);
 g_print("The number is  %ld !/n",num);
 k=filelength/num;
 g_print("every file length is  %ld !/n",k);
 for(s=1;s<num;s++)
 {
  strcpy(newfilename,savedir);
  strcat(newfilename,"/");
  strcat(newfilename,testname[s-1]);
  g_print("%s/n",newfilename);
  fpnew=fopen(newfilename,"w+");
  for(n=0;n<k;n++)
  {
   fread(&c,1,1,fp);
   fwrite(&c,1,1,fpnew);
  }
  fclose(fpnew);
  newfilename[0]=0;
 }
 strcpy(newfilename,savedir);
 strcat(newfilename,"/");
 strcat(newfilename,testname[s-1]);
 g_print("%s/n",newfilename);
 fpnew=fopen(newfilename,"w+");
 for(n=0;n<filelength-k*(num-1);n++)
 {
  fread(&c,1,1,fp);
  fwrite(&c,1,1,fpnew);
 }
 fclose(fpnew);
 newfilename[0]=0;
 fclose(fp);
 divide_ok();
 }
 void unite()
 {
  gchar *filename1,*filename2,*filename3,*filename4,*filename5,*filename6,*filename7,*filename8,*filename9,*filename10;
  gchar *savefilename;
  FILE *fp,*fpopen;
  char c;;
  filename1=gtk_entry_get_text(GTK_ENTRY(hb_entry1));
  filename2=gtk_entry_get_text(GTK_ENTRY(hb_entry3));
  filename3=gtk_entry_get_text(GTK_ENTRY(hb_entry5));
  filename4=gtk_entry_get_text(GTK_ENTRY(hb_entry7));
  filename5=gtk_entry_get_text(GTK_ENTRY(hb_entry9));
  filename6=gtk_entry_get_text(GTK_ENTRY(hb_entry2));
  filename7=gtk_entry_get_text(GTK_ENTRY(hb_entry4));
  filename8=gtk_entry_get_text(GTK_ENTRY(hb_entry6));
  filename9=gtk_entry_get_text(GTK_ENTRY(hb_entry8));
  filename10=gtk_entry_get_text(GTK_ENTRY(hb_entry10));
  savefilename=gtk_entry_get_text(GTK_ENTRY(hb_entry11));
  fp=fopen(savefilename,"w+");
  if((fpopen=fopen(filename1,"r"))!=NULL)
   {
    while(fread(&c,1,1,fpopen)>0)
     {
       fwrite(&c,1,1,fp);
     }
   fflush(fpopen);
   fclose(fpopen);
   }
 if((fpopen=fopen(filename2,"r"))!=NULL)
 {
  while(fread(&c,1,1,fpopen)>0)
  {
   fwrite(&c,1,1,fp);
  }
  fclose(fpopen);
 }
 if((fpopen=fopen(filename3,"r"))!=NULL)
 {
  fpopen=fopen(filename3,"r");
  while(fread(&c,1,1,fpopen)>0)
  {
   fwrite(&c,1,1,fp);
  }
  fflush(fpopen);
  fclose(fpopen);
 }
 if((fpopen=fopen(filename4,"r"))!=NULL)
 {
  while(fread(&c,1,1,fpopen)>0)
  {
   fwrite(&c,1,1,fp);
  }
  fflush(fpopen);
  fclose(fpopen);
 }
 if((fpopen=fopen(filename5,"r"))!=NULL)
 {
  while(fread(&c,1,1,fpopen)>0)
  {
   fwrite(&c,1,1,fp);
  }
  fflush(fpopen);
  fclose(fpopen);
 }
 if((fpopen=fopen(filename6,"r"))!=NULL)
 {
  while(fread(&c,1,1,fpopen)>0)
  {
   fwrite(&c,1,1,fp);
  }
  fflush(fpopen);
  fclose(fpopen);
 }
 if((fpopen=fopen(filename7,"r"))!=NULL)
 {
  while(fread(&c,1,1,fpopen)>0)
  {
   fwrite(&c,1,1,fp);
  }
  fflush(fpopen);
  fclose(fpopen);
 }
 if((fpopen=fopen(filename8,"r"))!=NULL)
 {
  while(fread(&c,1,1,fpopen)>0)
  {
   fwrite(&c,1,1,fp);
  }
  fflush(fpopen);
  fclose(fpopen);
 }
 if((fpopen=fopen(filename9,"r"))!=NULL)
 {
  while(fread(&c,1,1,fpopen)>0)
  {
   fwrite(&c,1,1,fp);
  }
  fflush(fpopen);
  fclose(fpopen);
 }
 if((fpopen=fopen(filename10,"r"))!=NULL)
 {
  while(fread(&c,1,1,fpopen)>0)
  {
   fwrite(&c,1,1,fp);
  }
  fflush(fpopen);
  fclose(fpopen);
 }
 fflush(fp);
 fclose(fp);
 unite_ok();
 }
GtkWidget *create_fgbox(gint horizontal,char *title,gint spacing)
{
GtkWidget *frame;
GtkWidget *hbox,*vbox;
GtkWidget *button1,*button2,*button3;
GtkWidget *label1,*label2,*label3;
GtkWidget *spinner;
GtkWidget *separator1,*separator2;
frame=gtk_frame_new(title);
hbox=gtk_hbox_new(FALSE,5);
vbox=gtk_vbox_new(FALSE,5);
gtk_container_set_border_width(GTK_CONTAINER(vbox),5);
gtk_container_add(GTK_CONTAINER(frame),vbox);
gtk_box_set_spacing(GTK_BOX(hbox),spacing);
gtk_box_pack_start(GTK_BOX(vbox),hbox,TRUE,TRUE,0);
label1=gtk_label_new("FileName:");
gtk_box_pack_start(GTK_BOX(hbox),label1,TRUE,TRUE,0);
fg_entry1=gtk_entry_new();
gtk_entry_set_max_length (GTK_ENTRY (fg_entry1), 00);
gtk_entry_set_text(GTK_ENTRY(fg_entry1),"");
gtk_editable_select_region(GTK_EDITABLE(fg_entry1),0, GTK_ENTRY (fg_entry1)->text_length);
gtk_box_pack_start(GTK_BOX(hbox),fg_entry1,TRUE,TRUE,0);
button1=gtk_button_new_with_label("Open");
g_signal_connect_swapped(G_OBJECT(button1),"clicked",G_CALLBACK (fg_select_file),G_OBJECT(frame));
gtk_box_pack_start(GTK_BOX(hbox),button1,TRUE,TRUE,0);
label2 = gtk_label_new ("Num:");
gtk_box_pack_start (GTK_BOX (hbox), label2, TRUE, TRUE, 0);
adj = (GtkAdjustment *) gtk_adjustment_new (1.0, 1.0, 10.0, 1.0,0.0, 0.0);
spinner = gtk_spin_button_new (adj, 0, 0);
gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner), TRUE);
gtk_box_pack_start (GTK_BOX (hbox), spinner, TRUE, TRUE, 0);
separator1=gtk_hseparator_new();
gtk_box_pack_start (GTK_BOX (vbox), separator1, TRUE, TRUE, 0);
hbox=gtk_hbox_new(FALSE,0);
gtk_box_pack_start(GTK_BOX(vbox),hbox,TRUE,TRUE,0);
label3 = gtk_label_new ("SaveFileDir:");
gtk_box_pack_start(GTK_BOX(hbox),label3,TRUE,TRUE,0);
fg_entry2=gtk_entry_new();
gtk_entry_set_text(GTK_ENTRY(fg_entry2),"");
gtk_editable_select_region(GTK_EDITABLE(fg_entry2),0,-1);
gtk_box_pack_start(GTK_BOX(hbox),fg_entry2,TRUE,TRUE,0);
button2=gtk_button_new_with_label("View");
g_signal_connect_swapped(G_OBJECT(button2),"clicked",G_CALLBACK (fg_save_select_file),G_OBJECT(frame));
gtk_box_pack_start(GTK_BOX(hbox),button2,TRUE,TRUE,0);
separator2=gtk_hseparator_new();
gtk_box_pack_start (GTK_BOX (vbox), separator2, TRUE, TRUE, 0);
button3=gtk_button_new_with_label("Divaid");
g_signal_connect_swapped(G_OBJECT(button3),"clicked",G_CALLBACK (divide),G_OBJECT(frame));
gtk_box_pack_start(GTK_BOX(vbox),button3,TRUE,TRUE,0);
return frame;
}
GtkWidget *create_hbbox(gint horizontal,char *title,gint spacing)
{
GtkWidget *frame;
GtkWidget *hbox,*vbox;
GtkWidget *button1,*button2,*button3,*button4,*button5;
GtkWidget *button6,*button7,*button8,*button9,*button10,*button11,*button12,*button13;
GtkWidget *label1,*label2,*label3,*label4,*label5,*label6,*label7,*label8,*label9,*label10,*label11;
GtkWidget *separator1,*separator2;
frame=gtk_frame_new(title);
hbox=gtk_hbox_new(FALSE,5);
vbox=gtk_vbox_new(FALSE,5);
gtk_container_set_border_width(GTK_CONTAINER(vbox),5);
gtk_container_add(GTK_CONTAINER(frame),vbox);
gtk_box_set_spacing(GTK_BOX(hbox),spacing);
gtk_box_pack_start(GTK_BOX(vbox),hbox,TRUE,TRUE,0);
label1=gtk_label_new("FileName1:");
gtk_box_pack_start(GTK_BOX(hbox),label1,TRUE,TRUE,0);
hb_entry1=gtk_entry_new();
gtk_entry_set_text(GTK_ENTRY(hb_entry1),"");
gtk_editable_select_region(GTK_EDITABLE(hb_entry1),0,-1);
gtk_box_pack_start(GTK_BOX(hbox),hb_entry1,TRUE,TRUE,0);
button1=gtk_button_new_with_label("Open");
g_signal_connect_swapped(G_OBJECT(button1),"clicked",G_CALLBACK (hb_select_file_1),G_OBJECT(frame));
gtk_box_pack_start(GTK_BOX(hbox),button1,TRUE,TRUE,0);
label2=gtk_label_new("FileName6:");
gtk_box_pack_start(GTK_BOX(hbox),label2,TRUE,TRUE,0);
hb_entry2=gtk_entry_new();
gtk_entry_set_text(GTK_ENTRY(hb_entry2),"");
gtk_editable_select_region(GTK_EDITABLE(hb_entry2),0,-1);
gtk_box_pack_start(GTK_BOX(hbox),hb_entry2,TRUE,TRUE,0);
button2=gtk_button_new_with_label("Open");
g_signal_connect_swapped(G_OBJECT(button2),"clicked",G_CALLBACK (hb_select_file_2),G_OBJECT(frame));
gtk_box_pack_start(GTK_BOX(hbox),button2,TRUE,TRUE,0);
hbox=gtk_hbox_new(FALSE,0);;
gtk_box_pack_start(GTK_BOX(vbox),hbox,TRUE,TRUE,0);
label3=gtk_label_new("FileName2:");
gtk_box_pack_start(GTK_BOX(hbox),label3,TRUE,TRUE,0);
hb_entry3=gtk_entry_new();
gtk_entry_set_text(GTK_ENTRY(hb_entry3),"");
gtk_editable_select_region(GTK_EDITABLE(hb_entry3),0,-1);
gtk_box_pack_start(GTK_BOX(hbox),hb_entry3,TRUE,TRUE,0);
button3=gtk_button_new_with_label("Open");
g_signal_connect_swapped(G_OBJECT(button3),"clicked",G_CALLBACK (hb_select_file_3),G_OBJECT(frame));
gtk_box_pack_start(GTK_BOX(hbox),button3,TRUE,TRUE,0);
label4=gtk_label_new("FileName7:");
gtk_box_pack_start(GTK_BOX(hbox),label4,TRUE,TRUE,0);
hb_entry4=gtk_entry_new();
gtk_entry_set_text(GTK_ENTRY(hb_entry4),"");
gtk_editable_select_region(GTK_EDITABLE(hb_entry4),0,-1);
gtk_box_pack_start(GTK_BOX(hbox),hb_entry4,TRUE,TRUE,0);
button4=gtk_button_new_with_label("Open");
g_signal_connect_swapped(G_OBJECT(button4),"clicked",G_CALLBACK (hb_select_file_4),G_OBJECT(frame));
gtk_box_pack_start(GTK_BOX(hbox),button4,TRUE,TRUE,0);
hbox=gtk_hbox_new(FALSE,0);;
gtk_box_pack_start(GTK_BOX(vbox),hbox,TRUE,TRUE,0);
label5=gtk_label_new("FileName3:");
gtk_box_pack_start(GTK_BOX(hbox),label5,TRUE,TRUE,0);
hb_entry5=gtk_entry_new();
gtk_entry_set_text(GTK_ENTRY(hb_entry5),"");
gtk_editable_select_region(GTK_EDITABLE(hb_entry5),0,-1);
gtk_box_pack_start(GTK_BOX(hbox),hb_entry5,TRUE,TRUE,0);
button5=gtk_button_new_with_label("Open");
g_signal_connect_swapped(G_OBJECT(button5),"clicked",G_CALLBACK (hb_select_file_5),G_OBJECT(frame));
gtk_box_pack_start(GTK_BOX(hbox),button5,TRUE,TRUE,0);
label6=gtk_label_new("FileName8:");
gtk_box_pack_start(GTK_BOX(hbox),label6,TRUE,TRUE,0);
hb_entry6=gtk_entry_new();
gtk_entry_set_text(GTK_ENTRY(hb_entry6),"");
gtk_editable_select_region(GTK_EDITABLE(hb_entry6),0,-1);
gtk_box_pack_start(GTK_BOX(hbox),hb_entry6,TRUE,TRUE,0);
button6=gtk_button_new_with_label("Open");
g_signal_connect_swapped(G_OBJECT(button6),"clicked",G_CALLBACK (hb_select_file_6),G_OBJECT(frame));
gtk_box_pack_start(GTK_BOX(hbox),button6,TRUE,TRUE,0);
hbox=gtk_hbox_new(FALSE,0);
gtk_box_pack_start(GTK_BOX(vbox),hbox,TRUE,TRUE,0);
label7=gtk_label_new("FileName4:");
gtk_box_pack_start(GTK_BOX(hbox),label7,TRUE,TRUE,0);
hb_entry7=gtk_entry_new();
gtk_entry_set_text(GTK_ENTRY(hb_entry7),"");
gtk_editable_select_region(GTK_EDITABLE(hb_entry7),0,-1);
gtk_box_pack_start(GTK_BOX(hbox),hb_entry7,TRUE,TRUE,0);
button7=gtk_button_new_with_label("Open");
g_signal_connect_swapped(G_OBJECT(button7),"clicked",G_CALLBACK (hb_select_file_7),G_OBJECT(frame));
gtk_box_pack_start(GTK_BOX(hbox),button7,TRUE,TRUE,0);
label8=gtk_label_new("FileName9:");
gtk_box_pack_start(GTK_BOX(hbox),label8,TRUE,TRUE,0);
hb_entry8=gtk_entry_new();
gtk_entry_set_text(GTK_ENTRY(hb_entry8),"");
gtk_editable_select_region(GTK_EDITABLE(hb_entry8),0,-1);
gtk_box_pack_start(GTK_BOX(hbox),hb_entry8,TRUE,TRUE,0);
button8=gtk_button_new_with_label("Open");
g_signal_connect_swapped(G_OBJECT(button8),"clicked",G_CALLBACK (hb_select_file_8),G_OBJECT(frame));
gtk_box_pack_start(GTK_BOX(hbox),button8,TRUE,TRUE,0);
hbox=gtk_hbox_new(FALSE,0);
gtk_box_pack_start(GTK_BOX(vbox),hbox,TRUE,TRUE,0);
label9=gtk_label_new("FileName5:");
gtk_box_pack_start(GTK_BOX(hbox),label9,TRUE,TRUE,0);
hb_entry9=gtk_entry_new();
gtk_entry_set_text(GTK_ENTRY(hb_entry9),"");
gtk_editable_select_region(GTK_EDITABLE(hb_entry9),0,-1);
gtk_box_pack_start(GTK_BOX(hbox),hb_entry9,TRUE,TRUE,0);
button9=gtk_button_new_with_label("Open");
g_signal_connect_swapped(G_OBJECT(button9),"clicked",G_CALLBACK (hb_select_file_9),G_OBJECT(frame));
gtk_box_pack_start(GTK_BOX(hbox),button9,TRUE,TRUE,0);
label10=gtk_label_new("FileName10:");
gtk_box_pack_start(GTK_BOX(hbox),label10,TRUE,TRUE,0);
hb_entry10=gtk_entry_new();
gtk_entry_set_text(GTK_ENTRY(hb_entry10),"");
gtk_editable_select_region(GTK_EDITABLE(hb_entry10),0,-1);
gtk_box_pack_start(GTK_BOX(hbox),hb_entry10,TRUE,TRUE,0);
button10=gtk_button_new_with_label("Open");
g_signal_connect_swapped(G_OBJECT(button10),"clicked",G_CALLBACK (hb_select_file_10),G_OBJECT(frame));
gtk_box_pack_start(GTK_BOX(hbox),button10,TRUE,TRUE,0);
hbox=gtk_hbox_new(FALSE,0);
gtk_box_pack_start(GTK_BOX(vbox),hbox,TRUE,TRUE,0);
separator1=gtk_hseparator_new();
gtk_box_pack_start (GTK_BOX (hbox), separator1, TRUE, TRUE, 0);
hbox=gtk_hbox_new(FALSE,0);;
gtk_box_pack_start(GTK_BOX(vbox),hbox,TRUE,TRUE,0);
label11 = gtk_label_new ("SaveFileName:");
gtk_box_pack_start(GTK_BOX(hbox),label11,TRUE,TRUE,0);
hb_entry11=gtk_entry_new();
gtk_entry_set_text(GTK_ENTRY(hb_entry11),"");
gtk_editable_select_region(GTK_EDITABLE(hb_entry11),0,-1);
gtk_box_pack_start(GTK_BOX(hbox),hb_entry11,TRUE,TRUE,0);
button11=gtk_button_new_with_label("View");
g_signal_connect_swapped(G_OBJECT(button11),"clicked",G_CALLBACK (hb_save_select_file),G_OBJECT(frame));
gtk_box_pack_start(GTK_BOX(hbox),button11,TRUE,TRUE,0);
hbox=gtk_hbox_new(FALSE,0);
gtk_box_pack_start(GTK_BOX(vbox),hbox,TRUE,TRUE,0);
separator2=gtk_hseparator_new();
gtk_box_pack_start (GTK_BOX (hbox), separator2, TRUE, TRUE, 0);
hbox=gtk_hbox_new(FALSE,0);;
gtk_box_pack_start(GTK_BOX(vbox),hbox,TRUE,TRUE,0);
button12=gtk_button_new_with_label("About");
g_signal_connect_swapped(G_OBJECT(button12),"clicked",G_CALLBACK (DialogAbout),G_OBJECT(frame));
gtk_box_pack_start(GTK_BOX(hbox),button12,TRUE,TRUE,0);
button13=gtk_button_new_with_label("Add");
g_signal_connect_swapped(G_OBJECT(button13),"clicked",G_CALLBACK (unite),G_OBJECT(frame));
gtk_box_pack_start(GTK_BOX(hbox),button13,TRUE,TRUE,0);
return frame;
}
void  DialogAbout()
{
GtkWidget *label1,*label2,*button,*dialog_window;
dialog_window=gtk_dialog_new();
g_signal_connect(G_OBJECT(dialog_window),"destroy",G_CALLBACK (gtk_widget_destroyed),&dialog_window);
gtk_window_set_title(GTK_WINDOW(dialog_window),"MokeMars's file divide software");
gtk_container_set_border_width(GTK_CONTAINER(dialog_window),0);
button=gtk_button_new_with_label("OK");
GTK_WIDGET_SET_FLAGS(button,GTK_CAN_DEFAULT);
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog_window)->action_area),button,TRUE,TRUE,0);
g_signal_connect_swapped (G_OBJECT(button),"clicked",G_CALLBACK (gtk_widget_destroy),G_OBJECT(dialog_window));
label1=gtk_label_new("The software dedicate to my parents, appreciate their fosterage from childhood!/n");
gtk_misc_set_padding(GTK_MISC(label1),10,10);
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog_window)->vbox),label1,TRUE,TRUE,0);
label2=gtk_label_new("Email:mokemars@163.com /n"
"/nThe software developed by mokemars 2006-3-20");
gtk_misc_set_padding(GTK_MISC(label2),20,10);
gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog_window)->vbox),label2,TRUE,TRUE,0);
gtk_widget_grab_default(button);
gtk_widget_show_all(dialog_window);
}
int main( int   argc,
          char *argv[] )
{
  GtkWidget *window;
  GtkWidget *main_vbox;
  gtk_init (&argc, &argv);
  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title (GTK_WINDOW (window), "MokeMars's file divide software");
  gtk_widget_set_size_request (GTK_WIDGET (window),600, 400);
  g_signal_connect(G_OBJECT (window), "destroy",G_CALLBACK (gtk_main_quit), NULL);
  gtk_container_set_border_width (GTK_CONTAINER (window), 1);
  main_vbox = gtk_vbox_new (FALSE, 5);
  gtk_container_add (GTK_CONTAINER (window), main_vbox);
  gtk_box_pack_start (GTK_BOX (main_vbox),create_fgbox (TRUE, "Divaid", 5), TRUE, TRUE, 0);
  gtk_box_pack_start (GTK_BOX (main_vbox),create_hbbox (TRUE, "Add", 5),TRUE, TRUE, 0);
  gtk_widget_show_all (window);
  gtk_main ();
  return 0;
}
 

  //编译

CC = gcc

CFLAGS = -Wall     /
 -DG_DISABLE_DEPRECATED    /
 -DGDK_DISABLE_DEPRECATED  /
 -DGDK_PIXBUF_DISABLE_DEPRECATED /
 -DGTK_DISABLE_DEPRECATED

wjfg: wjfg.c
 $(CC) wjfg.c -o wjfg  $(CFLAGS) `pkg-config gtk+-2.0 --cflags --libs`

clean:
 rm -f *.o wjfg

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
单片微型计算机(MCU)经过多年的发展,在性能上有很大的进步,在型号上发展到上千种类,已经广泛应用于人类社会生活的各个领域。单片机课程已经成为高校计算机、自动化、测控以及电子信息工程等专业的重要课程。该课程是一门理论性和实践性都很强的课程,在实际教学中,应将理论教学和实验教学紧密结合。学生在掌握理论知识之余,必须通过编写程序、设计硬件电路、仿真、调试这一系列的实验过程,才能更好地掌握单片机的结构原理和应用技能。随着单片机及其接口技术的飞速发展,目前市场上供应的编程仿真实验资源并不能完全满足高校单片机课程教与学的需求,构建低成本、技术先进、源码公开的单片机编程仿真实验系统,对我国单片机课程的教学和单片机领域人才的培养具有重要的现实意义。 本论文结合目前教学中对单片机编程仿真实验系统的实际需求,采用模块化结构设计思想,精心设计和开发了单片机编程仿真实验系统。该单片机编程仿真实验系统由PC机端单片机编程控制软件和单片机编程仿真实验板两部分组成。PC机端的单片机编程控制软件可以自动检测到连接到单片机编程仿真实验板上的单片机,控制单片机编程器擦除、写入、读出、校验目标单片机ROM中的程序,以十六进制文件(.HEX文件)格式显示在控制界面内;单片机仿真实验系统能够把写入单片机的程序实时地运行,并呈现实际运行效果。单片机编程控制软件和单片机仿真实验板组成一个完整的单片机编程仿真实验系统。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值