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

做网站如何挂支付系统新乡网站seo

做网站如何挂支付系统,新乡网站seo,网站建设和实现,做亚马逊一个月挣10万这是我自学程序以来在博客园的第一篇博客,如有不好的地方请大家指正,谢谢! 这边文章的目的是给予那些在PCB使用Genesis2000程序脚本开发的人员提供.net平台下的开发方法。 目前genesis脚本的开发的语言主要为cshell,perl和tcl&…

这是我自学程序以来在博客园的第一篇博客,如有不好的地方请大家指正,谢谢!

这边文章的目的是给予那些在PCB使用Genesis2000程序脚本开发的人员提供.net平台下的开发方法。

目前genesis脚本的开发的语言主要为cshell,perl和tcl,相对于学过c#的人需要学习成本,我打听过用C#开发脚本的接口的价格最少都需要1000块钱,本着开源的思想我吧这几天研究的成果公布发表给大家!

1.genesis脚本的运行机制(这里拿cshell来说),(以我的电脑来举例子)首先程序要运行c:\genesis\e100\all\scr_start.csh,然后运行c:\genesis\sys\hooks\script_start.csh,最后再运行脚本;

详细看附件

2.不管怎么样子的脚本都是基于命令行的,如windows上的cmd;

知道了这两个条件下面我们开始编写genesis辅助类

 

using System;
using System.Diagnostics;
using System.IO;
using System.Runtime.InteropServices;public class Genesis
{public string prefix, lmc, msg;public string READANS, COMANS, PAUSANS, MOUSEANS;public int STATUS=0;public System.IO.StreamReader conv;public System.IO.StreamReader @in;public Genesis(){//exe程序发送指令需要以这个字符串开头,genesis才会识别this.prefix = "@%#%@";this.blank();return;}public virtual void blank(){this.STATUS = 0;this.READANS = "";this.COMANS = "";this.PAUSANS = "";this.MOUSEANS = "";return;}/// <summary>/// 执行指令/// </summary>/// <param name="cmd"></param>/// <param name="arg"></param>/// <returns></returns>public virtual int sendCmd(string cmd, string arg){this.blank();this.lmc = this.prefix + cmd + " " + arg + "\n";Console.Write(this.lmc);return 0;}/// <summary>/// 执行genesis2000 line mode command动作/// </summary>/// <param name="arg">指令</param>/// <returns></returns>public virtual int COM(string arg){this.sendCmd("COM", arg);try{int.TryParse(Console.ReadLine(),out STATUS);this.COMANS = Console.ReadLine();this.READANS = this.COMANS;}catch (IOException e){Console.WriteLine("IO Error: " + e.Message);}return this.STATUS;}/// <summary>///      用于暂停当前运行程序,等待用户做其它动作后继续执行程序或无条件退出程序。/// </summary>/// <param name="msg"></param>/// <returns></returns>public virtual int PAUSE(string msg){this.sendCmd("PAUSE", msg);try{int.TryParse(Console.ReadLine(), out this.STATUS);this.READANS = Console.ReadLine();this.PAUSANS = Console.ReadLine();}catch (IOException e){Console.WriteLine("IO Error: " + e.Message);}return this.STATUS;}/// <summary>/// 设置活动工作界面/// </summary>/// <param name="arg">指令</param>/// <returns></returns>public virtual int AUX(string arg){this.sendCmd("AUX", msg);try{//this.STATUS  = this.in.readLine();this.STATUS = int.Parse(Console.ReadLine());this.COMANS = Console.ReadLine();}catch (IOException e){Console.WriteLine("IO Error: " + e.Message);}return this.STATUS;}/// <summary>/// 用于获取鼠标点击位置坐标。/// </summary>/// <param name="msg"></param>/// <param name="mode"></param>/// <returns></returns>public virtual int MOUSE(string msg, string mode){this.sendCmd("MOUSE " + mode, msg);try{int.TryParse(Console.ReadLine(),out STATUS);this.READANS = Console.ReadLine();this.MOUSEANS = Console.ReadLine();}catch (IOException e){Console.WriteLine("IO Error: " + e.Message);}return this.STATUS;}/// <summary>/// 指令的主要目的是当我们有些程序需要用超级用户才能执行的时候,我们用SU_ON打开超级用户,然后执行程序。/// </summary>/// <returns></returns>public virtual int SU_ON(){this.sendCmd("SU_ON", "");return 0;}/// <summary>/// 为退出由SU_ON打开的超级用户模式/// </summary>/// <returns></returns>public virtual int SU_OFF(){this.sendCmd("SU_OFF", "");return 0;}/// <summary>///     VON主要用于取得VOF的结果,然后执行其它的一些指令/// </summary>/// <returns></returns>public virtual int VON(){this.sendCmd("VON", "");return 0;}/// <summary>/// 该指令主要用于设置执行有可能出现错误的动作,并利用status得到结果,并经常结合VON使用/// </summary>/// <returns></returns>public virtual int VOF(){this.sendCmd("VOF", "");return 0;}}

  有了这个类我们的开发就可以开始了,打开vs,新建一个控制台程序

添加一个Form

在program类里面的main函数里面添加如下的代码

 Application.Run(new Form1());

在form里面添加一个按钮来测试代码

双击开始按钮写点击事件的代码

  private void button1_Click(object sender, EventArgs e){string dbname = "genesis";string jobname = textBox1.Text;Console.WriteLine("Instantiated the Genesis Object...");string msg = "Welcome to the Java test Script...apparently its working...";Console.WriteLine(msg);gen.PAUSE(msg);gen.COM("create_entity,job=,is_fw=no,type=job,name=" + jobname + ",db=" + dbname + ",fw_type=form");gen.COM("clipb_open_job,job=" + jobname + ",update_clipboard=view_job");gen.COM("open_job,job=" + jobname);gen.COM("open_entity,job=" + jobname + ",type=matrix,name=matrix,iconic=no");gen.COM("matrix_add_step,job=" + jobname + ",matrix=matrix,step=test,col=1");gen.COM("matrix_add_layer,job=" + jobname + ",matrix=matrix,layer=lay1,row=1,context=board,type=signal,polarity=positive");gen.COM("matrix_add_layer,job=" + jobname + ",matrix=matrix,layer=lay2,row=2,context=board,type=signal,polarity=positive");string msg2 = "Now we'll open the newly created step...";Console.WriteLine(msg2);gen.PAUSE(msg2);gen.COM("open_entity,job=" + jobname + ",type=step,name=test,iconic=no");string group = gen.COMANS;gen.PAUSE("Group number is " + group);gen.COM("units,type=inch");gen.COM("display_layer,name=lay1,display=yes,number=1");gen.COM("work_layer,name=lay1");gen.COM("display_layer,name=lay2,display=yes,number=2");gen.COM("profile_rect,x1=0,y1=0,x2=5,y2=5");gen.COM("zoom_home");gen.COM("add_line,attributes=no,xs=0.6239601378,ys=0.5049917323,xe=4.6505824803,ye=4.5865225394,symbol=r40,polarity=positive");gen.COM("work_layer,name=lay2");gen.COM("add_line,attributes=no,xs=0.5049917323,ys=4.4675541339,xe=4.4584027559,ye=0.4409318898,symbol=r40,polarity=positive");gen.MOUSE("Click a point", "p");Console.WriteLine("Mouseans : " + gen.MOUSEANS);Console.WriteLine("Checking return of Genesis object...");Console.WriteLine("genStatus : " + Convert.ToString(gen.STATUS));Console.WriteLine("genComans : " + gen.COMANS);string msg3 = "Now we'll clean up...";Console.WriteLine(msg3);gen.PAUSE(msg3);gen.COM("check_inout,mode=in,type=job,job=" + jobname);gen.COM("close_job,job=" + jobname);gen.COM("close_form,job=" + jobname);gen.COM("close_flow,job=" + jobname);gen.COM("delete_entity,job=,type=job,name=" + jobname);Console.WriteLine("genStatus : " + Convert.ToString(gen.STATUS));Console.WriteLine("genComans : " + gen.COMANS);string msg4 = "Thats it...";Console.WriteLine(msg4);gen.PAUSE(msg4);Application.Exit();}

  genesis和程序之间的通讯都是通过Console类来实现的

现在程序写好了,但在测试程序之前我们需要把src_start.csh文件修改一下让它支持直接实行EXE文件

#!/bin/csh
#
#	Mike J. Hopkins
#	Genesis 2000 scr_start.csh
#	revision 1.4.1
#	
#	This version of the scr_start.csh script includes
#	support for the Python programming language, 
#	as well as Java and binary execuables...
#
#
if($?GENESIS_DIR)thenset _genesis_root=$GENESIS_DIR
elseset _genesis_root=/genesis
endifif($?GENESIS_EDIR)thenset _genesis_edir=$GENESIS_EDIR
elseset _genesis_edir=e$GENESIS_VER
endifif($_genesis_edir =~ /* || $_genesis_edir =~ ?:*)thenset path=($_genesis_edir/all $path)
elseset path=($_genesis_root/$_genesis_edir/all $path)
endifset STATUS=0
set PROG=$1
if(! -e $PROG)thenset PROG_STATUS=1goto end
endif# define aliases
set DIR_PREFIX='@%#%@'alias VON 'echo "${DIR_PREFIX}VON";'
alias VOF 'echo "${DIR_PREFIX}VOF";'alias SU_ON  'echo "${DIR_PREFIX}SU_ON";'
alias SU_OFF 'echo "${DIR_PREFIX}SU_OFF";'alias PAUSE 'echo "${DIR_PREFIX}PAUSE \!:*"; \\set STATUS=$<; set READANS=$<; set PAUSANS=$<; \\if ($PAUSANS != "OK") exit'
alias MOUSE 'echo "${DIR_PREFIX}MOUSE \!:*"; \\set STATUS=$<; set READANS=$<; set MOUSEANS="$<"'
alias COM 'echo "${DIR_PREFIX}COM \!:*"; \\set STATUS=$<; set READANS="$<"; set COMANS=($READANS)'
alias AUX 'echo "${DIR_PREFIX}AUX \!:*"; \\set STATUS=$<; set READANS="$<"; set COMANS=($READANS)'set argv = ($2)#executing hook script
if(-e $_genesis_root/sys/hooks/script_start.csh)thensource $_genesis_root/sys/hooks/script_start.csh
endif# check first line of program
set _HEAD=`head -1 $PROG`
set _EXT=`echo $PROG:e`if("$_HEAD" =~ *perl*)thenecho "Executing Perl Program $PROG $argv"perl $PROG $argvset PROG_STATUS=$status
else if("$_HEAD" =~ *python*)thenecho "Executing Python Program $PROG $argv"python $PROG $argvset PROG_STATUS=$status
else if("$_HEAD" =~ *wish*)thensetenv TCSHONLYSTARTEXES 1echo "Executing TCL Program $PROG $argv"$_genesis_root/sys/hooks/wish_start.tcl $PROG $argvset PROG_STATUS=$status
else if ("$_EXT" =~ [Cc][Ll][Aa][Ss][Ss]) thenset JPATH  = `echo $PROG:h`set JPROG  = `echo $PROG:t`set JCLASS = `echo $JPROG:r`setenv CLASSPATH $JPATHecho "Set CLASSPATH to:  $CLASSPATH"echo "Executing JavaClass $JCLASS $argv"echo "..."java $JCLASS $argvset PROG_STATUS=$status
else if ("$_EXT" =~ [Ee][Xx][Ee]) thenecho "Executing Compiled Program $PROG $argv"$PROG $argvset PROG_STATUS=$status
elseecho "Executing C Shell Program $PROG"source $PROGset PROG_STATUS=$status
endifend:
exit($PROG_STATUS)

 改好保存下面可以打开genesis运行脚本了

在文本框里面输入想要新建的工作名称点击开始按钮运行

程序写到这里就完成了!有不明白的可以联系我!307209239@qq.com

转载于:https://www.cnblogs.com/lidezhen/p/5118392.html

http://www.lbrq.cn/news/2516401.html

相关文章:

  • 长春谁家做网站电商营销的策略与方法
  • 公司简介网站模板怎么创建个人网站
  • wordpress的pdf阅读seo是什么?
  • 在线做章网站搜外友链平台
  • 政府网站 建设依据nba交易最新消息汇总
  • 用jsp做网站登录界面模板潍坊网站关键词推广
  • 怎么找做网站的客户中国的搜索引擎有哪些
  • 上海比较好的服装外贸公司优化网站seo策略
  • 连州住房建设局网站王通seo教程
  • 厦门网站建设公司哪家好seo技术培训沈阳
  • 漳州网站建设回忆互联客服QQ友情链接推广平台
  • 老网站改版做别的上海网络营销seo
  • 网站建设公司优惠大酬宾活动合肥网站建设公司
  • 正规网站建设费用湖北网络推广有限公司
  • 百度个人网站建设seo工作流程图
  • 做铝材哪些网站招聘app拉新任务平台
  • 惠州水口网站建设网站建设规划书
  • 网站建设 长摊 无形资产2345网址导航官网下载安装
  • 任何人任意做网站销售产品违法吗产品的推广及宣传思路
  • 济南哪里有做网站的产品推广文案范文
  • 达州做网站的公司有哪些兰州网络优化seo
  • 北京网站建设的服务商百度邮箱注册入口
  • 网站版块设计百度一下打开网页
  • 自己做软件的网站长春seo优化企业网络跃升
  • 企业服务网站制作热点新闻事件
  • 成都专业建站公司新网站百度多久收录
  • 建设品牌型网站制作成都网站排名 生客seo
  • 网站建设与制作价格百度地图优化排名方法
  • 做本地网站赚钱吗申泽seo
  • 推荐一个做健身餐的网站个人免费网站申请注册
  • 工厂方法模式:从基础到C++实现
  • 青少年软件编程图形化Scratch等级考试试卷(二级)2025年6月
  • 学习dify:一个开源的 LLM 应用开发平台
  • 未授权访问复现
  • Laravel 分页方案整理
  • VUE2 学习笔记11 脚手架