您当前的位置:首页 > 时尚 > 内容

如何用iapp发送邮件(iapp源码使用教程)

如何用iapp发送邮件(iapp源码使用教程)?如果你对这个不了解,来看看!

农业农村部办公厅关于申报2018年度国家农产品加工技术研发专业中心的通知,下面是农业农村部信息中心给大家的分享,一起来看看。

如何用iapp发送邮件

国家农产品加工技术研发体系是农产品加工业科技创新的重要力量,近年来在科技研发、成果转化、技术推广、人才培养等方面取得了突出成绩,为农产品加工业转型升级发展提供了有力的科技支撑。为贯彻党的十九大精神和2018年中央一号文件要求,进一步落实《国务院办公厅关于进一步促进农产品加工业发展的意见》(国办发〔2016〕93号)精神,深入实施创新驱动发展战略,进一步完善国家农产品加工技术研发体系,加强国家农产品加工技术研发专业中心建设,依据《国家农产品加工技术研发中心管理办法》(农加发〔2016〕2号),我部决定组织开展2018年度国家农产品加工技术研发专业中心申报工作,按照“公开申报、统一评审、择优遴选”的原则,新增建设一批国家农产品加工技术研发专业中心。现将具体事项通知如下。

一、申报范围

(一)粮食加工。在粮食优势主产区,以谷物磨制、粮食食品制造、主食工业化、副产物综合利用为重点,建设若干粮食加工专业中心。

(二)油料加工。在油料优势主产区,以油脂加工和副产物综合利用为重点,建设若干油料加工专业中心。

(三)果品加工。在大宗果品、特色果品主产区,以果品干燥、贮藏保鲜、加工副产物综合利用为重点,建设若干果品加工专业中心。

(四)蔬菜加工。在大宗蔬菜、特色蔬菜主产区,以蔬菜保鲜、加工为重点,建设若干蔬菜加工专业中心。

(五)茶叶加工。在茶叶主产区,以现代化茶叶加工技术、新型茶饮料开发、茶叶功能性物质提取与多元化利用及茶叶加工装备为重点,建设若干茶叶加工专业中心。

(六)畜产加工。在生猪、肉牛、肉羊、家禽和禽蛋优势产区,建设若干猪肉、牛肉、羊肉、禽肉和蛋品加工专业中心;在奶牛优势产区,以乳制品加工为重点,建设若干乳制品加工专业中心。

(七)水产品加工。在水产品主产区,以水产品贮藏保鲜、绿色加工及副产物综合利用为重点,建设若干水产品加工专业中心。

(八)特色农产品加工。在蜂类、糖类、麻类、蚕桑、食用菌以及中药材等特色农产品主产区,以功能性及特殊人群膳食产品开发为重点,建设若干特色农产品加工专业中心。

(九)农产品加工装备。以农产品初加工、精深加工、综合利用加工、冷链物流等装备研发为重点,建设若干农产品加工装备专业中心。

2018年计划在全国建设不超过40个专业中心。目前已被挂牌为专业中心的,不重复申报;考核或年度监测不合格被取消专业中心资格的,两年内不得再次申报。

二、申报条件

(一)凡在中华人民共和国境内注册,具有独立法人资格和较强科研能力,运行管理规范的企业、科研院所和大专院校均可申报。

(二)本次申报以企业为主,鼓励企业独立申报。科研院所和大专院校需联合企业共同申报。

(三)设立在企业的专业中心应具备以下条件:

1. 技术研发组织体系完整,具有独立的研发部门(机构),以及明确的发展目标和规划,技术创新工作扎实;

2. 有技术水平高、实践经验丰富的技术带头人,在同行业中具有较强的创新人才优势;

3. 连续多年保持较高的研发投入,具有较完善的技术研发和试验条件,有较强的技术创新能力,在同行业中处于领先地位;

4. 具有较强的经济实力和较好的经济效益,科技创新成效显著,在同行业中具有明显的区域优势和竞争优势;

5. 企业负责人重视技术创新,并具有较强的创新意识,能为专业中心建设与运行创造良好的条件;

6. 积极开展产学研推用协同合作,并取得明显成效。

(四)设立在科研院所、大专院校的专业中心应具备以下条件:

1. 具有较强的研究基础和雄厚的科研实力,主持或参与完成过国家或省部级重点科技项目,科研能力在同行业中处于领先地位或具有区域创新优势;

2. 有科研水平高、实践经验丰富的学科带头人,科技创新人才队伍结构合理;

3. 具有将科技成果转化的条件和能力,科研经费有保障;

4. 紧密联合行业企业,科技成果通过市场机制实现示范推广,与联合申报企业具有3年以上实质性合作关系。

(五)对具有独立法人资格,且研究领域/主营业务全部为农产品加工的,以该独立法人资格单位为专业中心依托单位进行申报;综合性科研单位、综合性大专院校或集团式企业,以研究领域/主营业务方向为农产品加工的专业性独立机构为专业中心依托单位进行申报。

三、申报程序

(一)申报推荐。申报单位填写《国家农产品加工技术研发专业中心申报书》(附件1、2),经所在省(自治区、直辖市、计划单列市)农产品加工业、渔业行政管理部门审核后统一行文推荐。

(二)评审。成立由国家农产品加工技术研发体系工作委员会委员、各专业委员会委员和外聘专家组成的专业中心评审专家组,对申报单位进行评审,分为材料评审与现场评审两个阶段。

1. 材料评审。以申报材料为主要依据,通过量化打分,择优遴选出符合专业中心资格的申报单位。

2. 现场评审。根据当年申报情况,专业中心评审专家组赴申报单位开展现场评审,择优遴选出拟建设专业中心的单位。

(三)公示。在完成所有申报单位考核后,将评审结果报工作委员会审核,并向社会公示10个工作日。

(四)公布。公示期结束后,对公示无异议的申报单位,公布本次新增国家农产品加工技术研发专业中心名单。

四、申报材料

(一)《国家农产品加工技术研发专业中心申报书》。

(二)附证材料:能够体现申报单位技术研发水平(近3年承担省部级以上课题的任务书,授权专利、新产品的证书,各种相关奖励的荣誉证书等)、科技创新能力(如人员素质情况、研发条件、科研合作协议等)以及近三年财务状况(资产评估证明、银行信誉等级)等证明材料的复印件,联合企业申报需提供实质性合作的证明材料(项目联合申报书、授权专利、获得奖励等)。

(三)申报书与附证材料合订成册一式5份。

五、申报时间

(一)申报工作自本指南公布之日起开始,《国家农产品加工技术研发专业中心申报书》可从农业农村部农产品加工局网站(www.xqj.moa.gov.cn)或国家农产品加工技术研发中心(www.iappst.caas.cn)下载。

(二)请各省(自治区、直辖市、计划单列市)农产品加工业、渔业行政管理部门于2018年6月20日前,将申报材料邮寄至农业农村部农产品加工局,过期不予受理;同时通过电子邮件报送电子版。

六、联系人及联系方式

联系单位:农业农村部农产品加工局科技处

联 系 人:雷鸿铭 王 杕

联系电话:010—59192851、59192790

通信地址:北京市朝阳区农展馆南里11号(100125)

附件:1. 国家农产品加工技术研发专业中心

申报书(企业)

2. 国家农产品加工技术研发专业中心

申报书(科研院所、大专院校)

农业农村部办公厅

2018年4月20日

iapp源码使用教程

aardio 可以方便地调用 PowerShell ,PowerShell 中也可以自由调用 aardio 对象与函数。不用带上体积很大的 System.Management.Automation.dll,直接调用系统组件,可以生成体积很小的独立 EXE。向下兼容到 .NET 2.0、PowerShell 2.0,支持 Win7,Win8,Win10,Win11 ……

dotNet.ps 扩展库

aardio 调用 PowerShelll 的功能由基于 dotNet 库 实现的 dotNet.ps 库提供。请参考:aardio + .NET 快速开发独立 EXE 程序,可防 ILSpy 反编译 。

aardio 调用 PowerShell 命令

我们直接上代码看示例:

import console;import dotNet.ps;console.showLoading(" 正在执行PowerShell命令");console.log( dotNet.ps.command("Get-Command",{"ListImported"}) );console.pause();

dotNet.ps.command 的第一个参数指定要调用的 PowerShell 命令名,第二个参数用一个表对象指定 PowerShell 命令参数 —— 可以包含仅由参数名字组成的数组成员。

参数表也可以包含由名值对指定的命名参数,例如:

dotNet.ps.command("Get-Command" ,{Name="*Process"} );

要注意参数名前面不需要加 $ 或 - 前缀。等号前面是参数名(必须是字符串),等号后面是参数值(可传入 .NET 对象、COM 对象、aardio 对象)。

aardio 调用 PowerShell 脚本

使用匿名参数调用 PowerShell 脚本的示例:

var ps1 = /* for ( $i=0; $i -lt $args.count; $i++){ write-host $args[$i]} */import dotNet.ps;var output = dotNet.ps(ps1,{ "匿名参数1","匿名参数2","匿名参数3","匿名参数4"}); import console;console.log(output); console.pause();

匿名参数也可以这样写:

dotNet.ps(ps1,"匿名参数1","匿名参数2","匿名参数3","匿名参数4");

也可以指定命名参数,如下:

var ps1 = /* # 定义命名参数,参数前加$号,aardio 参数表里去掉$号 param($username,$password) Write-host $username,$password*/ import dotNet.ps;var output = dotNet.ps(ps1,{ username = "名字";//参数名前不要加$ password = "密码";//参数名前不要加$});import console;console.log(output); console.pause();

这里请注意:

1、PowerShell 通常用 param 声明参数名称(函数里也可以这样写)。

2、PowerShell 要在变量(或参数名)前加上 $ 符号,在 aardio 中指定 PowerShell 参数时要去掉这个 $ 符号。

dotNet.ps() , dotNet.ps.command() 的传参数规则是完全一样的。

PowerShell 调用 aardio 对象

下面就要进入最神奇的部分了,在 PowerShell 里还可以方便地调用 aardio 对象。

我们直接看 aardio 代码示例:

var ps1 = /* # 定义命名参数 param($win,$external,$username) # 自由调用参数传进来的 aardio 对象 $win.msgboxTest("这是 PowerShell 调用 aardio 打开的对话框。") #返回值会自动输出一行 # 自由调用 aardio 函数 $external.func("参数1","参数2") */import win;import dotNet.ps;var output = dotNet.ps(ps1,{ win = win; external = { func = function(title,text){ win.msgbox(text,title) } }; });

Win10 / Win11 自带的 PowerShell 5.1 可以支持这种舒服的写法。如果要兼容 Win7 只要简单地调用 dotNet.ps.export( aardio对象 ) 导出参数给 PowerShell 就可以了,不过 Win7 的市场份额已经很小,这种事太追求完美也不好。

用 JSON 解析 PowerShell 输出

aardio 代码示例:

import console;import dotNet.ps;var psVersion = dotNet.ps.json( `ConvertTo-Json $PSVersionTable.PSVersion`)console.dumpJson(psVersion);console.pause(true);捕获 PowerShell 输出

很简单,我们直接看 aardio 代码示例:

import console;import dotNet.ps;// PowerShell 输入都会传给这个 aardio 函数dotNet.ps.onWrite = function(str){ console.log(str);} dotNet.ps.command("Get-Command",{Name="*Process"});console.pause(output);

我们也可以指定 dotNet.ps.onWriteProgress 回调以自定义 PowerShell 进度条,一个例子:

这个进度条范例的源码在这里:aardio 自带范例 / 调用其他语言 / PowerShell / 进度条

上面范例里有一些方便的小工具,例如操作系统默认禁止单独运行 *.ps1 脚本文件。上面范例里就提供了一个小工具 —— 可以一键开启或关闭这个权限:

PowerShell 里有很多 Cmdlet 是用 C# 写的,而 C# 写的软件可以用 ILSpy 直接查看源码。其实看看一些 Cmdlet 的源码很有意思,但这个操作步骤有些多。

aardio 自带的 PowerShell 范例里还提供了一个快速查看 Cmdlet 源码的工具,可以直接列出所有命令,可以搜索查询,可以一键调用 ILSpy 反编译出源代码:

aardio / PowerShell / .NET 共享应用程序域

用大白话讲就是这三者可以直接共享对象,相互调用对象非常方便。

当使用 dotNet.ps 运行 PowerShell 代码是在当前进程中运行( 没有创建新进程,但创建了新线程),并且 PowerShell 就运行在 aardio 创建的 .NET 应用程序域中 —— 这时候 aardio / PowerShell / .NET 共享一个应用程序域,这让我们可以做一些有趣的事。

请看 aardio 代码示例:

import dotNet.ps;import dotNet.json;var json = dotNet.ps( `# 哈希表(数组元素要用逗号分开)$tab = @{ Name = "张三"; Age = "20"; Array = 1,2,3 } # PowerShell 类型放在 [] 里面,并用 :: 访问类的静态成员[Newtonsoft.Json.JsonConvert]::SerializeObject( $tab )` );var tab = web.json.parse(json);import consoleconsole.dump(tab)console.pause()

aardio 库 dotNet.json 内存加载了 .NET 程序集 Newtonsoft.Json.dll,然后我们在 .NET 或是 PowerShell 中就可以直接使用这个程序集导入的类。

注意:PowerShell 将类或类型放在 [中括号] 内,PowerShell 在声明或强制转换类型时都使用这个 [中括号] ,访问类的静态成员使用 :: 而不是圆点 。

下面的例子更进一步:在 aardio 中编译 C# 代码,然后在 PowerShell 中调用该 C# 代码引入的类,然后在 C# 中回调 PowerShell 函数,然后在该 PowerShell 函数中回调 aardio 函数:

import win;import console;import dotNet.ps;var compiler = dotNet.createCompiler("C#"); compiler.Source = /****** namespace CSharpLibrary{ public class Object { public delegate int TestDelegateType(string str,int a); public event TestDelegateType onTestEvent; public int Test() { return onTestEvent("你好",123); } public static Object New(){return new Object(); } }}******///编译 C# 代码并导入名字空间compiler.import("CSharpLibrary"); var out,err = dotNet.ps( `param($win) $obj = [CSharpLibrary.Object]::New() #创建对象# 添加事件$obj.add_onTestEvent( {param($str,$a) # 声明参数# 调用 aardio 函数$temp = $win.msgbox("事件被回调了",$str)# return 语句只能改最后一个返回值,与其他语言有较大区别return $a })$obj.Test()`,{ win = win; });console.log(out,err);console.pause(true);

这里就要注意 PowerShell 有一个非常特别的『 特(大)性(坑)』—— PowerShell 的函数里每句代码的默认输入都会增加一个返回值,例如您执行下面的 PowerShell 代码:

# 添加事件 $obj.add_onTestEvent( { param($str,$a) $win.msgbox("事件被回调了",$str) return $a })

这里的返回值实际上有两个,一个是 $win.msgbox() 返回的 object,另一个是 return 返回的 $a,最终返回值是一个数组。然后就会报返回值与 C# 委托回调的返回值类型不匹配。

避免上面这个问题也很简单,把代码放到一个赋值语句里就不会增加返回值了,正确写法:

$temp = $win.msgbox("事件被回调了",$str)创建管道调用 PowerShell.exe

我们还可以用 aardio 中的 procee.popen 创建进程管道,这样就可以读写 PowerShell.exe 的输出输入,并且隐藏黑窗口。

下面是一个例子:

import console;import process.popen;console.showLoading(" 请稍候,正在调用 PowerShell");var prcs = process.popen.ps(`-Command`,`&{function Get-Version { ConvertTo-Json( $PSVersionTable.PSVersion )}Get-Version}`);//读取进程输出 var json = prcs.readAll(); //解析返回的 JSON import web.json;var psVersion = web.json.parse(json);console.dump(psVersion);console.pause();

这里要注意,PowerShell 会将仅用大括号包含的 PowerShell 作为字符串输出,在前面加上一个 & 字符才会执行该语句块。

调用更多编程语言

aardio 中还可以非常方便地调用 C语言、C++、C#、Java、Python、R、Javascript、Node.Js、Fortran、VB、Flash ActionScript、PHP、VBScript、PowerShell、NewLISP、AutoLISP、Delphi、FreeBASIC、Ruby、Rust、Julia、Nim、Go 语言、批处理 ...... 甚至可以直接嵌入汇编机器码并且转换为普通的 aardio 函数。


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 普洱茶炖排骨_茶之馔是什么茶

下一篇: 水卫仕(关于水卫仕简述)



猜你感兴趣

推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号