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

📄 demo-udp.awk

📁 gtk_server的源代码
💻 AWK
字号:
#!/usr/bin/gawk -f## Demonstration on how to use the GTK-server with Gnu AWK by UDP.# Tested with Gnu AWK 3.1.3 on Slackware Linux 10.## July 28, 2004 by Peter van Eerten.# Revised for GTK-server 1.2 October 8, 2004 by PvE.# Revised for GTK-server 1.3 December 5, 2004 by PvE.# Revised for GTK-server 2.1.4 at April 22, 2007 - PvE.# Revised for GTK-server 2.3.1 to use handles at December 10, 2008 - PvE.##----------------------------------------------------------------------# # UDP Communication function# Contains basic sync checking with -handlefunction GTK(str){HANDLE+=1do {    print HANDLE, str |& UDP    UDP |& getline TMP} while (int(substr(TMP, 1, index(TMP, " "))) != HANDLE)return substr(TMP, index(TMP, " ")+1)}#----------------------------------------------------------------------BEGIN{system("gtk-server -udp=localhost:50000 -handle &")# Setup TCP socket to serverUDP = "/inet/udp/0/localhost/50000"HANDLE = 0# Now define the GUIGTK("gtk_init NULL NULL")WINDOW = GTK("gtk_window_new 0")GTK("gtk_window_set_title " WINDOW " 'This is a title'")GTK("gtk_window_set_default_size " WINDOW " 100 100")GTK("gtk_window_set_position " WINDOW " 1")TABLE = GTK("gtk_table_new 30 30 1")GTK("gtk_container_add " WINDOW " " TABLE)BUTTON1 = GTK("gtk_button_new_with_label Exit")GTK("gtk_table_attach_defaults " TABLE " " BUTTON1 " 17 28 20 25")BUTTON2 = GTK("gtk_button_new_with_label 'Print text'")GTK("gtk_table_attach_defaults " TABLE " " BUTTON2 " 2 13 20 25")ENTRY = GTK("gtk_entry_new")GTK("gtk_table_attach_defaults " TABLE " " ENTRY " 2 28 5 15")GTK("gtk_widget_show_all " WINDOW)# Connect extra signalGTK("gtk_server_connect " BUTTON1 " enter Blabla")GTK("gtk_server_connect " BUTTON2 " enter 'Do not get here'")# Mainloopdo {    EVENT = GTK("gtk_server_callback wait")    if (EVENT == BUTTON2){	TMP = GTK("gtk_entry_get_text " ENTRY)	print "This is the contents: " TMP    }    if (EVENT == "Blabla") print "Extra signal for EXIT button!"    if (EVENT == "Do not get here") print "Extra signal for PRINT button!"} while (EVENT != BUTTON1)# Exit GTKprint "0 gtk_server_exit" |& UDPclose(UDP)}

⌨️ 快捷键说明

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