为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

iX Training C# in iX DEVELOPER - V2.0_1_cn

2019-04-03 63页 ppt 2MB 70阅读

用户头像 个人认证

xrp27580

暂无简介

举报
iX Training C# in iX DEVELOPER - V2.0_1_cnC#iniXDeveloperVersion2.01en2012/05/292iX培训–C#iniXDeveloper-C#iniXDeveloperC1.概述C2.iX项目调试C3.iX脚本C4.方法&功能C5.变量处理C6.有用的iX代码程序C7.脚本除错C8.建立一个WPF-控制C9.导入向量图目录C1.概述 1.1变量&定义 1.2.NET简述 1.3完整vs.紧凑型结构 1.4C#编程语言 1.5iX是„事件驱动“编程 1.6iXDevelopervs.Vi...
iX Training C# in iX DEVELOPER - V2.0_1_cn
C#iniXDeveloperVersion2.01en2012/05/292iX培训–C#iniXDeveloper-C#iniXDeveloperC1.概述C2.iX项目调试C3.iX脚本C4.方法&功能C5.变量处理C6.有用的iX代码程序C7.脚本除错C8.建立一个WPF-控制C9.导入向量图C1.概述 1.1变量&定义 1.2.NET简述 1.3完整vs.紧凑型结构 1.4C#编程语言 1.5iX是„事件驱动“编程 1.6iXDevelopervs.VisualStudioC2.iXProjectDebuggingC3.iXScriptingC4.Methods&FunctionsC5.TagHandlingC6.UsefulCodeSnippetsC7.ScriptErrorHandlingC8.DevelopaWPF-ControlC9.ImportVectorGraphics序列1.1变量&定义iX在.NETframework下的运行工作完整的.NETframework在iXTxC应用环境中紧凑型.NETframework在iXTxA/TxB应用环境中iX脚本语言是C#MSDNLibrary包含许多.NET相关信息http://msdn.microsoft.com/en-us/library/67ef8sbd(v=vs.100).aspxiX是时间驱动,当满足某种条件时元件驱动事件的执行。(e.g.:ValueChanged,ScreenOpened,ButtonClick)不同的特色基础的Scripts:画面脚本,控制器脚本,警报服务器脚本单独的,独立的”Scriptmodules”全局脚本,可能从别的脚本执行。创建功能函数库.NETFramework:由许多主要的程序代码组合成,提供给程序设计人员使用使用面向对象程序技术(OOP)CommonTypeSystem(CTS):共享于所有.Net程序设计语言像C#,VB.Net,ManagedC++,F#,J#CommonLanguageRuntime(CLR)共同语言执行环境,让.Net程序在安全环境下执行Source:BeginningVisualC#2005.Net1.2.Net简述…基于theMicrosoft’s.NET1.2.Net简述PVB.NETJ#CIL=CommonIntermediateLanguageCLR=CommonLanguageRuntime您最喜欢的编程语言“通用语言”-通过语言-预先定义的数据类型-简化编程解释“通用语言”并翻译为机器语言。处理器加速机器语言。C#1.3完整的vs.紧凑型Framework大约30%紧凑型framework支持完整型framework在iXDeveloper(2.0)软件中,如果用户想在一个面板的应用程序中使用完整型framework功能将产生编译错误。以下可以概述其中的差异:http://msdn.microsoft.com/en-us/library/2weec7k5(v=vs.90).aspxOpenNetCF作为一个紧凑型framework涵盖了许多完整型和紧凑型framework的区别。http://www.opennetcf.com/Products/SmartDeviceFramework.aspxC-Sharp(C#).NET下创造完整的,并且是它主要的编程语言只有这程序语言完全支持CLR继承了C/C++强大的功能和实践了Java面向对象程序语言安全的形式,清楚数据间如何转换刑式我们可以用C#来写哪种应用程序Windows应用程序Web应用程序,ASP.Net应用程序分布式的解决,客户端撰写内部的程序,能够使用到服务器的应用程序…和其他许多的形式1.4编程语言C#Source:BeginningVisualC#2005AllscriptsiniX中所有的脚本在特定事件发生时被执行。ValueChange数值改变ScreenOpened画面开启AlarmAcknowledged警报确认当一个用户执行一个动作时事件可以被驱动。(例如Clickonabutton)当外部事件发生时事件可以被驱动。例如当串口收到字节时。Source:BeginningVisualC#20051.5是“事件驱动”程序1.6Developervs.VisualStudioMainOptional:„Created“Eventof1ScriptModuleScreen1Screenn…入点GUI/ApplicationiX功能Form1Formn…警报服务器多语言变量编辑…系统类,用户函数,用户控制,….NET函数库1.6Developervs.VisualStudioiX中这个特别的功能是元件“Globals全局”Tags,Screens,SecurityFuntions,RecipeFunctions,…可以通过“Globals”处理。C1.GeneralC2.iX项目除错 2.1常规 2.2用VSDebugger除错 2.3通过打印BUG除错C3.iXScriptingC4.Methods&FunctionsC5.TagHandlingC6.UsefulCodeSnippetsC7.ScriptErrorHandlingC8.DevelopaWPF-ControlC9.ImportVectorGraphics序列2.1iX项目除错–常规当在做一个项目的时候,经常调试代码是很有必要的。iXDeveloper自身没有内置的除错器。但是可以用安装的除错器。一个安装的和链接的除错器可以通过以下方式显示/进入。OptionsScriptDebuggeroptions一般来说有许多不同的技巧,这里有两个例子:1.使用VisualStudio’的除错器(精简版是免费的!)2.打印除错信息(从代码)2.2iX项目用VS除错器除错1.打开项目点击“调试”.2.在资源管理器中:双击需要除错的脚本[Screenname.Script.cs]2.2iX项目用VS除错器除错3.请查看选择的脚本的代码,断点可以通过点击脚本行来变换。这行的颜色被改为红色:断点:断点是一个信号,它告诉我们除错器暂时的在某个特定点延缓执行。当执行到延迟的断点时,你的项目将会在中断模式。进入中断模式不会结束执行你的应用程序,会在任何时间重新开始执行fromMSDNHelp3.当项目准备好,开始除错期间.点击F5.iX项目开始执行.4.当出现断点,VS将获得焦点相应的代码行将会变得高亮,通过在元件上停驻光标可以看到它目前的值。2.2iX项目用VS除错器除错当(进入断点)本地window将显示所有的变量监视窗口允许用户添加任何(局部/全局)元件到列。(拖拽或直接写名称)立即窗口允许thedeveloper软件可直接测试程序代码的语法。2.2iX项目用VS除错器除错代码除错可以“一步一步”来执行。有三个不同的除错代码运行步进方式。1.单步执行(F10):执行当前的指令,从不跳入功能函数。2.进入(F11):执行当前的指令,如果有函数调用,则将会进入这个功能函数,并且允许你同时调试。3.跳出(Shift+F11):这个功能用来跳出一个功能。执行Shift+F11回到原来的指令(调用功能).2.2iX项目用VS除错器除错代码的步进2.3iX项目通过打印除错如果代码执行需要时间紧迫,那么一般的除错方式将会效率将会显得不够,在此情况下可以使用一个非常普通的技巧:“打印除错”TheSystem.Diagnostics.Debug元件打印除错信息到输出窗口。C1.GeneralC2.iXProjectDebuggingC3.iX脚本 3.1常规 3.2功能依附:Screen,… 3.3功能独立:ScriptModule 3.4对于脚本模块的好处 C4.Methods&FunctionsC5.TagHandlingC6.UsefulCodeSnippetsC7.ScriptErrorHandlingC8.DevelopaWPF-ControlC9.ImportVectorGraphics序列3.1iX脚本:常规在iX中你主要可能会发现两个不同类型的脚本。1.iX功能独立.”在他们之后” -Screen -TagEditor -AlarmServer -MultiLanguage -...2.iXFunctionindependent -ScriptModuleScreenScriptModule3.2iX脚本:功能依附例子:Screen在左边的树状图所有画面元件被列出。(带有事件)在事件上双击添加他们的事件处理以填写代码。EventsEvent-Handler3.3iX脚本:功能独立例子:脚本模块在脚本模块上面双击,打开脚本画面。在脚本模块中功能独立,可以用全局方法来编程。ScriptModuleInsertModule3.4iX脚本:脚本模块的好处例:在下面六个不同的画面中可以调用同一个功能模块。如果项目需要修改功能1的代码,他需要找到所有用到这个代码的地方,如上例有6个地方。在一个大的项目中,很可能会忘记修改用到此功能的所有地方代码,->会导致意想不到的结果。Screen1Function1Screen2Function1Screen3Function1Screen4Function1Screen5Function1Screen6Function1脚本模块:1个带有功能1的脚本会被所有的画面调用。全局脚本可以从别的脚本中执行可以重复使用脚本方便维护3.4iX脚本:脚本模块的好处Screen2Screen1Screen3ScriptModuleScreen4Screen5Screen6C1.GeneralC2.iXProjectDebuggingC3.iXScriptingC4.方法&功能 4.1常规 4.2没有返回/没有参数 4.3返回一个值 4.4带有参数C5.TagHandlingC6.UsefulCodeSnippetsC7.ScriptErrorHandlingC8.DevelopaWPF-ControlC9.ImportVectorGraphics序列4.1iX脚本:方法常规为什么在我的项目中需要用到方法和功能?通过重复使用来消除重复复制代码。通过将程序化整为零来简化程序逻辑提高代码的可读性功能描述:publicintSumOfTwoNumbers(intNum1,intNum2)进入区域返回类型方法名称参数类型参数名4.2方法:不返回/没有参数如果功能不需要返回一个值,那么返回的类型一定要是“void”在()保留为空没有参数方法例子:publicvoidExcecuteSomeCode(){Globals.Tags.Tag1.Value=88;MessageBox.Show(”Valuehasbeenchanged”);}4.3方法:返回一个值返回类型告诉功能应该返回什么。如果这里没有参数,那么保留()为空没有参数方法例子:voidbtnCheck_Click(System.Objectsender,System.EventArgse){boolstatus=Globals.SCM_Methods.ValueCheck();MessageBox.Show(status.ToString());}publicboolValueCheck(){if(Globals.Tags.Bool1.Value&&Globals.Tags.Bool2.Value){returntrue;}else{returnfalse;}}4.4方法:带有参数如果方法带有参数,那么应该在其中包含参数。如果有数个参数则将他们用“,”分隔开。方法例子:voidbtnCalcSEK_Click(System.Objectsender,System.EventArgse){Globals.Tags.SEK.Value=Globals.SCM_Methods.CalcSEK(Globals.Tags.EUR.Value,9.34);}publicdoubleCalculateSEK(doubleeuro,doublerate);{returneuro*rate;}C1.GeneralC2.iXProjectDebuggingC3.iXScriptingC4.Methods&FunctionsC5.变量处理 5.1变量寻址 5.2事件处理C6.UsefulCodeSnippetsC7.ScriptErrorHandlingC8.DevelopaWPF-ControlC9.ImportVectorGraphics序列通过全局元件,可以进入一个变量描述Globals.Tags.Tag1.Value=33;使用“MessageBox”调试一个变量值MessageBox.Show(Globals.Tags.Tag1.Value.ToString());5.1变量处理–变量寻址变量寻址变量名称访问值通过事件处理,可以监控一个变量值的变化。publicpartialclassScreen1{//WhenScreen1opens,theEvent-HandlerstartsvoidScreen1_Opened(System.Objectsender,System.EventArgse){Globals.Tags.Tag2.ValueChange+=Tag2_Change;} voidTag2_Change(System.Objectsender,System.EventArgse){//isexecutedwhentheTag1changesthevalueGlobals.Tags.Count.Value+=1; } //WhenScreen1closes,theEvent-Handlerisfinished!voidScreen1_Closed(System.Objectsender,System.EventArgse){Globals.Tags.Tag2.ValueChange-=Tag2_Change;}}5.1变量处理–事件处理UnregisteranEventHandlerIfnotused.C1.GeneralC2.iXProjectDebuggingC3.iXScriptingC4.Methods&FunctionsC5.TagHandlingC6.有用的代码 6.1程序初始化 6.2循环操作1秒 6.3短切口C7.ScriptErrorHandlingC8.DevelopaWPF-ControlC9.ImportVectorGraphics序列“Created”脚本模块的事件设置“默认用户”Globals.Security.Login(”[UserName]”,”[Password]”);设置“默认语言”Globals.MultipleLanguages.SetLanguage(”[LanguageCode]”);6.1有用的代码:项目初始化添加“系统变量”秒脚本:事件“ValueChange”将会每秒处理一次6.1有用的代码:循环操作1秒[Ctrl]+[K]+[L]成员列表[Ctrl]+[K]+[X]显示代码片段[Tab]自动完成代码字[Ctrl]+[H]搜索饿替代,打开对话框6.1有用的代码:短切口[Ctrl]+[F3]查找下一个[Ctrl]+[E]+[C]注释选择的行[Ctrl]+[E]+[U]对选择的行取消注释[Ctrl]+[G]到行中6.1有用的程序片段:短切口C1.GeneralC2.iXProjectDebuggingC3.iXScriptingC4.Methods&FunctionsC5.TagHandlingC6.UsefulCodeSnippetsC7.脚本错误处理 7.1Try/CatchC8.DevelopaWPF-ControlC9.ImportVectorGraphics序列例外是在你的程序中出现的未能遇见的错误大多时候,你能也应该会处理你代码中的错误。识别你将需要处理的例外取决于你写的例行程序。例如,例如这些例行程序是开启一个档案,它将具有System.IO.File.OpenRead()方法,它会丢出下面特例的其中之一。SecurityException安全特例ArgumentException参数特例ArgumentNullException空参数特例PathTooLongException路径太长特例DirectoryNotFoundException路径找不到特例UnauthorizedAccessException无权限执行特例FileNotFoundException档案没有发现特例NotSupportedException不支持特例什么方法会有什么特例,可以在.NETFrameworksSDK文件中找到.7.1错误管理–Try/Catch当例外出现,你需要处理他们。可以通过try/catch块来处理。出现例外的代码被放在try块,且例外处理代码会回到catch块。例如1:Try/Catch带有”general”特例voidExampleTryCatch1(){//Allexceptionswillbehandledbythecatchtry{intval1=10;intval2=0;intresult=val1/val2;}catch(Exceptionex){MessageBox.Show(ex.Message);}}7.1错误管理–Try/Catch例如;2:Try/Catch带有”specific”特例voidExampleTryCatch2(){//“Dividebyzero”willbehandledbythe1stcatch.//Allotherexceptionswillbehandledbythe2ndcatchtry{intval1=10;intval2=0;intresult=val1/val2;}catch(DivideByZeroExceptionex1){MessageBox.Show(ex1.Message);}catch(Exceptionex2){MessageBox.Show(ex2.Message);}}7.1错误管理–Try/CatchC1.GeneralC2.iXProjectDebuggingC3.iXScriptingC4.Methods&FunctionsC5.TagHandlingC6.UsefulCodeSnippetsC7.ScriptErrorHandlingC8.建立一个WPF-控制 9.1什么是WPF? 9.2建立一个aWPF-控制C9.ImportVectorGraphics序列WPF(WindowsPresentationFoundation)由Microsoft发展而来.WPF是一个计算机语言图解子系统,用来在微软应用程序作为用户界面。WPF最初作为.NETFramework3.0的一部分。WPF在用户界面和商业逻辑之间提供一个分隔区。WPF旨在统一一些常规用户界面元素,例如2D/3D图像,修改和合适的文件,印刷,矢量图运行动画,预先提到的媒体。这些元素可以联系起来在多样性的事件中操作。如用户交互,数据捆绑。8.1建立一个WPF-控制–什么是WPF?Source:Wikipedia8.2建立aWPF-Control添加一个newItem到应用程序中(AddNewItem).选择UserControl(WPF),为控制命名。8.2建立aWPF-Control添加一个控制“TextBox”到用户控制中。TextBox’s的文本属性与Value的属性联系起来。ElementName将被设置为用户控制的名称。3.2建立aWPF-Control-XAML添加usingSystem.ComponentModel到代码中。添加[DefaultProperty(“Value”)]到类中,定义变量应该联系到哪一个属性中。3.3建立aWPF-控件–脚本添加一个带有相同名称的从属性作为step1(Value)的属性。添加一个staticconstructor和登记从属性.8.3建立aWPF-Control-Script创建一个Valueproperty类型的元件.8.3建立一个WPF-Control–脚本BuildtheVSsolution(F5)如果建立正确一个*.dll将产生*.dll文件可以被导入到iXDeveoper(AdditionalControlsAddControl)8.3创建一个WPF-Control-Script通过“Browse”*.dll文件可以选择.检查选择框,导入控件。控件可以放置在画面上,在属性页可以修改属性。属性“Value”可以连接一个变量到控件。8.3建立一个WPF-Control-ScriptC1.GeneralC2.iXProjectDebuggingC3.iXScriptingC4.Methods&FunctionsC5.TagHandlingC6.UsefulCodeSnippetsC7.ScriptErrorHandlingC8.DevelopaWPF-ControlC9.导入向量图 9.1常规措施 9.2程序序列可导入的向量图可以通过不同的工具制作。例如MicrosoftExpressionBlend(Designtoolfor.NET)ExpressionBlend中的WYSIWYG-编辑器创建向量图其中XAML-格式是主要的格式。在VisualStudio2010你也可以创建向量图iXDeveloper中没有直接导入功能可以使用(V2.0:资源库外面的一个向量符号可以当作一个占位符来用)9.1导入向量图-常规措施开始ExpressionBlend创建一个新项目:WPFApplication9.2导入向量图-程序设计WPF图形9.2导入向量图从“LayoutRoot”/“Viewbox”将所有元件分组切换到“XAML-View”9.2导入向量图重命名Gridx:Name=“LayoutRoot”为你自己定义的名称(here:myWPFGraphic1)在<Gridx:Name=…>和</Grid>之间标记代码复制代码到clipboard(Ctrl+C)9.2导入向量图开始iXDeveloper选择一个简单的向量图(e.g.Arrow1)将其放置在画面上。9.2导入向量图切换到画面的XAMLPart删除<Canvas…>和</Canvas>之间的内容9.2导入向量图从粘贴板粘贴内容9.2导入向量图切换到Layout模式,图形将显示在画面:再利用图形:复制它到元件库9.2导入向量图iXC#培训
/
本文档为【iX Training C# in iX DEVELOPER - V2.0_1_cn】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索