⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 demo-ipc.yab

📁 gtk_server的源代码
💻 YAB
字号:
#!/usr/local/bin/yabasicREM *************************************************************REMREM Demoprogram for Yabasic with the GTK-server using IPCREMREM Tested on Zenwalk Linux 3.0 using Yabasic 2.763REMREM By Peter van Eerten, january 7 2007REMREM *************************************************************REM Communication functionSUB GTK$(st$)RETURN SYSTEM$("gtk-server msg=1," + CHR$(34) + st$ + CHR$(34))END SUBREM ************* MAIN program starts hereREM Start the GTK-serverSYSTEM("gtk-server -ipc=1 &")REM Setup GUIGTK$("gtk_init NULL NULL")win$ = GTK$("gtk_window_new 0")GTK$("gtk_window_set_title " + win$ + " 'Yabasic Demo program with IPC'")GTK$("gtk_widget_set_usize " + win$ + " 450 400")table$ = GTK$("gtk_table_new 50 50 1")GTK$("gtk_container_add " + win$ + " " + table$)button$ = GTK$("gtk_button_new_with_label Exit")GTK$("gtk_table_attach_defaults " + table$ + " " + button$ + " 41 49 45 49")userinput$ = GTK$("gtk_entry_new")GTK$("gtk_table_attach_defaults " + table$ + " " + userinput$ + " 1 40 45 49")REM Define TEXTVIEWtxtbuf$ = GTK$("gtk_text_buffer_new NULL")entry$ = GTK$("gtk_text_view_new_with_buffer " + txtbuf$)GTK$("gtk_text_view_set_wrap_mode " + entry$ + " 0")sw$ = GTK$("gtk_scrolled_window_new NULL NULL")GTK$("gtk_scrolled_window_set_policy " + sw$ + " 1 1")GTK$("gtk_scrolled_window_set_shadow_type "+ sw$ + " 1")GTK$("gtk_container_add " + sw$ + " " + entry$)GTK$("gtk_text_view_set_editable " + entry$ + " 0")GTK$("gtk_text_view_set_cursor_visible " + entry$ + " 0")GTK$("gtk_table_attach_defaults " + table$ + " " + sw$ + " 1 49 8 44")REM Define iteriter$ = GTK$("gtk_frame_new")REM Define radio buttonsradio1$ = GTK$("gtk_radio_button_new_with_label_from_widget NULL Yes")GTK$("gtk_table_attach_defaults " + table$ + " " + radio1$ + " 1 10 1 4")radio2$ = GTK$("gtk_radio_button_new_with_label_from_widget " + radio1$ + " No")GTK$("gtk_table_attach_defaults " + table$ + " " + radio2$ + " 1 10 4 7")GTK$("gtk_widget_show_all " + win$)GTK$("gtk_widget_grab_focus " + userinput$)REM MainloopREPEAT    event$ = GTK$("gtk_server_callback wait")    IF (event$ = userinput$) THEN	tmp$ = GTK$("gtk_entry_get_text " + userinput$)	GTK$("gtk_text_buffer_get_end_iter " + txtbuf$ + " " + iter$)	GTK$("gtk_text_buffer_insert " + txtbuf$ + " " + iter$ + " '" + tmp$ + "\n' -1")	REM Scroll to end	mark$ = GTK$("gtk_text_buffer_create_mark " + txtbuf$ + " mymark " + iter$ + " 0")	GTK$("gtk_text_view_scroll_to_mark " + entry$ + " " + mark$ + " 0 1 0.0 1.0")	GTK$("gtk_text_buffer_delete_mark " + txtbuf$ + " " + mark$)	REM Empty entry field	GTK$("gtk_editable_delete_text " + userinput$ + " 0 -1")    ENDIFUNTIL (event$ = button$ OR event$ = win$)REM Exit GTKGTK$("gtk_exit 0")END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -