|

楼主 |
发表于 2004-7-1 19:27:19
|
显示全部楼层
- #ifdef HAVE_CONFIG_H
- # include <config.h>
- #endif
- #include <gtk/gtk.h>
- #include "callbacks.h"
- #include "interface.h"
- #include "support.h"
- gint n = 0; //选择端口标志数, 0=>com1, 1=>com2
- void
- on_comboboxentry1_changed (GtkComboBox *combobox,
- gpointer user_data)
- {
- //选择端口
- // gint n = 0;
- n = gtk_combo_box_get_active(combobox);
- printf("%d\n",n);
- }
- void
- on_button6_clicked (GtkButton *button,
- gpointer user_data)
- {
- //打开串口
- if(n+1 == 1)
- printf("button6: /dev/ttyS0\n");
- else if(n+1 == 2)
- printf("button6: /dev/ttyS1\n");
- }
- void
- on_button7_clicked (GtkButton *button,
- gpointer user_data)
- {
- //关闭串口
- }
- void
- on_button1_clicked (GtkButton *button,
- gpointer user_data)
- {
- //清空发送文本框
- gchar *str = "\0";
- GtkWidget *w = NULL;
- gpointer tv2;
- w = gtk_widget_get_toplevel(GTK_WIDGET(button));
- if (GTK_WIDGET_TOPLEVEL (w))
- {
- tv2 = g_object_get_data (GTK_OBJECT(w), "textview2");
- if (tv2 != NULL)
- {
- gtk_text_buffer_set_text(gtk_text_view_get_buffer(GTK_TEXT_VIEW(tv2)), str, strlen(str));
- }
- }
- }
- void
- on_button5_clicked (GtkButton *button,
- gpointer user_data)
- {
- //接收文本框进制互换(十六《--》十)
- }
- void
- on_button4_clicked (GtkButton *button,
- gpointer user_data)
- {
- //清空接收文本框
- gchar *str = "\0";
- GtkWidget *w = NULL;
- gpointer tv1;
- w = gtk_widget_get_toplevel(GTK_WIDGET(button));
- if (GTK_WIDGET_TOPLEVEL (w))
- {
- tv1 = g_object_get_data (GTK_OBJECT(w), "textview1");
- if (tv1 != NULL)
- {
- gtk_text_buffer_set_text(gtk_text_view_get_buffer(GTK_TEXT_VIEW(tv1)), str, strlen(str));
- }
- }
- }
- void
- on_button2_clicked (GtkButton *button,
- gpointer user_data)
- {
- //发送文本
- }
- void
- on_button3_clicked (GtkButton *button,
- gpointer user_data)
- {
- //发送文本框进制互换
- gchar *str1 = "\0", *str2 = "\0";
- GtkWidget *w = NULL;
- gpointer tv1;
- // GtkTextIter start, end;
- gboolean over;
- w = gtk_widget_get_toplevel(GTK_WIDGET(button));
- if (GTK_WIDGET_TOPLEVEL (w))
- {
- tv1 = g_object_get_data (GTK_OBJECT(w), "textview1");
- if (tv1 != NULL)
- {
- str1 = gtk_text_view_get_buffer(GTK_TEXT_VIEW(tv1)); //取得文本
- over = shi2hex(str1, str2);
- gtk_text_buffer_set_text(gtk_text_view_get_buffer(GTK_TEXT_VIEW(tv1)), str2, strlen(str2));
- }
- }
- }
- void
- on_button8_clicked (GtkButton *button,
- gpointer user_data)
- {
- //退出程序
- //此函数成功
- gtk_main_quit();
- // return FALSE;
- }
- gboolean
- on_window1_destroy_event (GtkWidget *widget,
- GdkEvent *event,
- gpointer user_data)
- {
- //本意也是退出程序,可是程序结束后,提示符没有返回。
- gtk_main_quit();
- return FALSE;
- }
- /*void
- on_comboboxentry1_changed (GtkComboBox *combobox,
- gpointer user_data)
- {
- }*/
- /*
- 十六进制转十进制 (16==bcd)
- 前二个参数一目了然,第三个为字符个数(以十进制为准)
- 返回值,真,成功;假,失败
- */
- gboolean hex2shi(GString *str_hex, GString *str_shi, unsigned int n)
- {
- }
- /*
- 十进制转十六进制 (16==bcd)
- 前二个参数一目了然,第三个为字符个数(以十进制为准)
- 返回值,真,成功;假,失败
- */
- gboolean shi2hex(gchar *str_shi, gchar *str_hex)
- {
- unsigned int int_temp = 0;
- while(*(str_shi++) != "\0")
- {
- int_temp = *str_shi;
- *str_hex = (int_temp/10)*10;
- str_hex++;
- *str_hex = int_temp%10;
- str_hex++;
- }
- }
复制代码
段错误
是,发送文本框进制转换,或者, shi2hex() 中的问题。 |
|