当前位置: 首页 > news >正文

大型集团公司网站建设方案自媒体视频剪辑教学视频

大型集团公司网站建设方案,自媒体视频剪辑教学视频,易名网,齐河县建设局网站笔者构想了一种类似http/html的分布式GUI程序设计框架#xff0c;适用于WIndows、桌面Linux、Mac OS以及C#xff0c;Java#xff0c;Python等多种支持GUI编程的程序设计系统。但是对于手机小屏幕#xff0c;可能不合适。本系统包括窗口描述规则;gui.exe -- 一个命令行程序…笔者构想了一种类似http/html的分布式GUI程序设计框架适用于WIndows、桌面Linux、Mac OS以及CJavaPython等多种支持GUI编程的程序设计系统。但是对于手机小屏幕可能不合适。本系统包括窗口描述规则;gui.exe -- 一个命令行程序用于解释执行该规则你可以把gui.exe当成python.exe这种解释器区别是gui.exe只解释执行图形程序;guid.exe --- 这是一个GUI服务器用于编写实际的C函数相应客户端请求的页面或者函数调用并将页面、函数调用结果传给客户端。一、页面描述、请求服务器页面、函数调用; 变量定义vara12 bhelo world c12.5; 图形界面描述gui1 WINDOW namefirst clickfirstclick title测试 top100 left100 width100 height100 imageD:\test 1.bmp2 PANEL3 TEXT namet1 captionMy...2 WINDOW3 TEXT captionb3 PANEL4 TEXT captiionHello world; 初始化函数init; 调用本地或者远程GUI服务器中的函数返回值存进变量。agui://localhost/cpp_fun1(12,hello) $first.titlea $first.show;为gui添加一行节点 这里将在第一个参数指向的控件后添加一个控件节点。该函数不做控件层次检查。; 你可以再第一层控件后添加第三层控件。也就是说即使你push_back成功了不表示你的窗口描述就是正确的。;系统在创建并绘制控件时会做检查,如果检查到你的树形结构中第一层控件节点有个第三层子节点报错。$first.push_back(t1,4,TEXT,caption, 在函数里添加控件); 控件的键盘、鼠标处理函数firstclick$first.titleChanged Titile鼠标、键盘处理函数指定控件的以下属性即可click单击dblclick双击mousedown鼠标按下mouseup鼠标抬起mouseover鼠标悬浮mouseout鼠标离开mousemove鼠标移动mouseenter鼠标进入mouseleave鼠标离开keydown按键按下keyup按键抬起keypress按键按下抬起cpp_fun1是GUI服务器程序中的函数。其返回值将会被GUI客户端使用。上述gui部分其实是对html的改进目的是简化编程让程序设计者和计算机都少做点事情。笔者实现上述gui部分用c大概500行代码如果使用html/xml笔者在网上找了一些开源的xml解析库通常十几个到几十个文件统计上万行代码甚至更多。也就说代码规模小了10倍甚至几十倍。而对应软件的解析效率估计也能打到10倍甚至更多的增长。为什么笔者随便一个设计就会比html、xml好这么多呢因为笔者为其限定了语法以数字开头表示控件的层次。html/xml没有这个系统检测但是真正的GUI设计者应该对自己的控件的层次了如指掌。标签/控件无需重复两次 html是这种写法。3.以行为单位。你不能把gui中的一行拆开来写。4.赋值语句不能有空格也就是说a3不能写成“a 3”。同样函数调用、参数之间也不能有空格。5.区分大小写。限定语法计算机和程序设计者都能做更少的工作。我们可以在上述GUI里写好几个窗口1 WINDOW namefirst clickfirstclick title测试 top100 left100 width100 height100 imageD:\test 1.bmp2 DIV3 A hrefhttp://gnu.org/test.gui4 TEXT namet1 captionMy...1 WINDOW names2 TEXT namet1 captionMy...然后在init中显示特定的窗口$first.show如果你想连续显示多个窗口$first.show$s.show多数情况下用户可能会在firstclick等键盘、鼠标处理函数中创建并显示窗口。二、百分比指定控件大小和位置多数GUI库的作者没有认识到 -- 特别是那些跨平台的库 -- GUI库的各种控件应该按百分比指定长度、宽度、和在父级控件中的位置 --而不是用像素。你创建window或者button时应该通过百分比指定大小和位置。GUI库应该有自动将百分比转化为像素的功能所有宣称跨平台的GUI库都应该加上这个功能而且是所有控件都能通过百分比定位。这是html教给我们的常识。很可惜在网页设计者这里很普通的常识在GUI库那里却变成了奢侈品。我们鼓励使用百分比来指定窗口大小和位置。如下代码创建一个窗口该窗口离屏幕左上角分别占屏幕长和宽的10% 20%而该窗口的大小也是屏幕长和宽的80%、90%。1 WINDOW namefirst clickfirstclick title测试 top10% left20% width80% height90% imageD:\test 1.bmp三、C实现。gui.ex中我们用一个简单的函数读取并解析上述文本:read_gui(test.gui)该函数的目的则是读取test文本然后得到一颗树形结构 -- 这个过程和浏览器解析html是类似的。然后遍历该结构先父后子、先兄后弟创建并显示窗口。笔者使用Windows API快速做了个原型。如果希望能跨平台可那使用GTK更好 --- 注意不要用QT。除了该函数我们还要实现test.gui中使用的宿主语言函数也就是上文中的cpp_fun1.我们的解析程序解析test.gui要调用cpp_fun1会把该函数的调用结果赋值给变量a -- 注意变量a是test.gui的一个变量、并非c程序中的变量。在实现中我们可以使用map来存放变量名和值。有了以上三点一个单击的GUI设计方法就完成了。剩下的工作则是实现各种控件。四、基本控件的实现。最简单、基础必备的可能是WINDOW和TEXT这很容易。WINDOW用于创建一个标准的Windows窗口TEXT用于写文本。比较重要的是容器控件在OO库里通常是叫PANEL用于放置各种控件在html则是。的好处在于可以嵌套放置你可以在一个div里放一个div多次嵌套。PANEL也应该如此。一些OO GUI库的PANEL控件用一种丑陋、莫名其妙的”布局对象“来控制其中的控件的布局不提了。良好的设计大概是这样的1 WINDOW names2 PANEL layoutvertical/horizon“/”none w3 h43 TEXT namet1 captionMy...layout可以取值vertical或者horizon其意义是本PANEL的子控件按照垂直、或者水平方式布局。如果你指定布局方式为None则子控件按照top width摆放控件。w和h的意义是把PANEL平均分成3*4的矩形格子控件依次放入其中。可以按行放置子控件也可以按列放置子控件。最后也是“叶子”控件 --- 他们必须放置于容器空间之中 Window或者PANEL。你不能在叶子控件里添加控件。通常一个按钮、单行文本框、单选、多选、图像控件.... 是一个叶子控件。不同OO库添加叶子控件的方法不一样有的顶层窗口上不能直接放置叶子控件必须添加一个PANEL而另一些可以直接放置。我想各自都有理由笔者不想做约束实现者考虑自己的需求灵活掌握。DELPHI VCL有自己的菜单控件TMENU而在我们的GUI系统中无需MENU控件我们简单使用PANEL和TEXT就能拼出一个菜单1 WINDOW names2 PANEL layouthorizon“ w1 h23 PANEL namemenu layouthorizon“ w5 h14 TEXT namefile caption文件 clicksubshow4 TEXT nameedit caption编辑4 TEXT nameview caption查看4 TEXT nametools caption工具4 TEXT namehelp caption帮助3 PANEL namesubmenu layout“vertical” w1 h3 showno4 TEXT namenew caption新建4 TEXT namesave caption保存4 TEXT nameopen caption“打开3 PANEL namecontent layouthorizon“ w1 h1subshowsubmenu.show以上名为menu的PANEL就是一个菜单我们的菜单可以以各种文本的颜色显示因为你已经实现了TEXT的彩色显示。submenu是文件菜单的子菜单showno意为默认不现实当你调用submennu.show时系统才绘制该子菜单。我们在名为file的text单击函数中调用了该函数。对于数据库记录的显示我们实用上面的PANEL和TEXT控件即可1 WINDOW names2 PANEL namedb layoutvertical/horizon“/”none w3 h43 TEXT namet1 captionMy...3 TEXT namet2 captionMy...3 TEXT namet3 captionMy...3 TEXT namet4 captionMy...以上的PANEL中存放3行4列文本每行文本显示数据库的一条记录。如果你有超过3条记录你只需改变PANEL的w和h值然后添加节点;变量后的|表示该变量是一个数组变量。a|“0000”,1,2,3gui1 WINDOW names2 PANEL namedb layoutvertical/horizon“/”none w3 h4; a|0引用数组的某一元素等价于多数程序中的a[0]使用单符号操作符解析更加容易。3 TEXT namet1 captiona|03 TEXT namet2 captionMy...3 TEXT namet3 captionMy...init调用C/Python等实现语言函数获得数据库记录存在数组变量中.a|cpp_fun() $db.w10 $db.w10 $t1.captiona|0 $t2.captiona|1 $t3.captiona|0也许我们该为这种GUI描述语言添加for语句。控件。这里的难点在于vedio控件里的数据不是字符串而是二进制数据。我们的GUI描述文件怎么获得C程序的二进制数据呢五、分布式GUI我们可以基于以上框架实现一个类似html中的控件/标签。1 WINDOW namefirst clickfirstclick title测试 top100 left100 width100 height100 imageD:\test 1.bmp2 DIV3 A hrefGUI://gnu.org/test.gui captionGNU官网4 TEXT namet1 captionMy...当用户点击3 A hrefGUI://gnu.org/test.gui captionGNU官网其实要创建并显示远程机器上的GUI程序其文本描述和其中将要调用的C函数都在远程机器上。这就过程就好比你在网页中点击一个链接会跳到一个新的页面。同样你可以照搬html的设计打开一个新的窗口旧窗口不用关闭。在gnu.org上会运行一个GUI服务器、并存在一个test.gui文件。GUI服务器类似于http服务器用于接受客户端请求返回test.gui文本以及该文本中书写的各种宿主语言的函数调用结果。假设GUI://gnu.org/test.gui的内容如下gui1 WINDOW nametestinit$test.show$.titleMy_CPP_fun()运行在gnu.org上的GUI服务器应该实现了My_CPP_fun函数并且能够将其调用结果返回给客户端。一个简单的GUI协议如下GET GUI://gnu.org/test.gui这个类似http的GET请求用于返回文本文件内容。以下用于调用远程函数GET GUI://gnu.org/ My_CPP_fun 12 test.abc 223.4以上调用远程服务器的My_CPP_fun函数参数为12 test.abc 223.4这样一来我们的GUI框架就有了网络分布式能力。我们编写的GUI不但可以本地执行而且可以把URL地址告诉别人别人就能简单使用A标签使用你的GUI程序。 这个似乎很像Windows的远程协助你可以让朋友控制你的电脑。
http://www.yutouwan.com/news/477529/

相关文章:

  • 番禺建设银行网站软件开发好学吗?
  • 建设网站注意什么网站制作公司 恶意
  • 山西长治做网站公司有哪些阿里云建设网站
  • 网站配色 蓝色商标注册平台官网
  • 统一企业官方网站虹口网站建设
  • 上海外贸网站关于网站建设的广告词
  • 秦皇岛做网站汉狮网络成都建设规划局网站首页
  • 网站建设一年多少恰大数据获客
  • 用帝国cms做网站柳州市建设工程质量安全监督管理处网站
  • 法律行业网站建设公司注册地址变更手续
  • 淘宝客网站名网站建设尺寸像素是多少
  • 海拉尔网站建设平台制作网站建网站
  • 做设计参考的网站微信网站开发 全屏
  • 做公司网站要什么资料重庆模板建站代理
  • 合肥网站制作联系方式公司网页链接
  • 城乡建设部网站房产查询张家口市建设局网站
  • 湖北省住房和城乡建设部网站wordpress侧边栏选项卡
  • 莱州网站建设效果自媒体代运营
  • 网站建设人员工资南宁网站建设制作
  • 做网站需要几个人分工嘉兴网站推广优化
  • wordpress网站静态化网站排名站长之家
  • 北京网站建设兴田德润官网多少网站建设与制作实现精准营销
  • 昆明网站建设一条龙合肥制作网页设计
  • 企业网站建设专业精准丨 鸣远科技vi设计公司 成都
  • 天津网站优化怎么样国内著名网站建设公司
  • 网站服务器被黑怎么办wordpress 登陆 插件下载
  • 电子商务网站开发与应用我来做煮官方网站
  • 天津做网站推广的网站移动端和桌面端是什么意思
  • 芯火信息做网站怎么样山东烟台最新消息今天
  • 手机网站不支持下载的视频怎么下载企业网站介绍