zoukankan      html  css  js  c++  java
  • 多种编程语言开发(C#,VB.NET,Delphi.NET)

    EPN应用程序框架完全用C#语言编写,作为一个Win Forms的快速开发框架,可以被任意.NET语言调用。

    在不熟悉VB语言的情况下,如何实现写出VB语言的Sample ?

    先看EPN解决方案视图,熟悉需要引用的类型库

    clip_image001

    各个项目的说明

    项目名称

    用意

    BPM

    clip_image002

    工作流

    项目类型

    活动库,测试控制台,设计器,监视器

    Form Designer

    clip_image003

    窗体设计

    项目类型

    窗体控件库,设计器,窗体运行时

    Report Profiler

    clip_image004

    报表设计工具

    查询设计器,查询跟踪器,查询跟踪监视

    Report

    clip_image005

    报表

    查询设计工具,报表程序,报表扩展

    Common,Component,EPN Utility

    实用工具库,组件库,工具扩展

    EPN Server

    应用程序,报表,工作流服务器

    Foundation, Kernal

    框架核心程序,组件和基础功能

    Starup Main

    客户端启动程序

    其中,遇到有些模块或功能是VB写的,在升级制作时,将其完全转化为C#。

    现在需要为它写VB语言的Sample,Demo程序。因为要考虑到使用框架的用户,可能是VB程序员,而不是C#。

    VB.NET

    VB与C#转化的方式,有一个技巧:

    将C#程序编译成程序集,用Reflector打开,选择目标语言为VB,即可看到VB版本的代码

    clip_image007

    再用菜单导出源代码

    clip_image008

    即可看到VB的源代码。

    这种方法的局限是,任何对代码的一点改动,都需要Comipler, Build, Reflector,步骤比较多,麻烦。

    再看看这个源代码级别的转换工具

    clip_image010

    左边C#语言,右边是VB语言,这个工具的意图是将左边的代码,转化为指定的语言代码,显示有右边。

    目标的设置对话框如下

    clip_image011

    请看下图,设置不同的方向,将VB转化为C#

    clip_image013

    既然实现了单个文件的转换,实现一个按照项目文件(csprjo)或是解决方案文件(sln)转换也就不复杂。

    这样,在不熟悉VB语言的情况下,依靠这个工具,可以写出很多VB的Sample.

    Delphi.NET

    再来看另一种语言,Delphi.NET

    这个名为Chrome Joyride的工具,可以re-hosting到Visual Studio中,以Delphi的语法,实现.NET的操作

    clip_image015

    只是语法的不同,其余的知识,完全是.NET的知识,这种方式,可以提供另一种写Sample的语言.

    将窗体继承的类型改为class(EPN.WinUI.Forms.EntryForm), 如图所示,窗体设计器已经正确识别基类型

    clip_image017

    它与VB.NET和C#的开发方式完全相同。

    Chrome Joyride后来被演变成Oxygene,再又演变成如今的Delphi Prism,品称一变再变,东家也一换再换。

    感叹一下,即使在国外,也只有像微软这样的少数公司,才能做到产品的连贯性,一致性。

    J#

    在Visual Studio .NET 2003,Visual Studio 2005中,还有另一种语言J#。这种语言用Java的语法,创作.NET的托管程序。

    可惜在.NET 3.0之后,这门语言就被抛弃了,新版本的IDE都不在对其进行支持。

    市面上仍然有许多用J#创造的产品,比如著名的SQL工具系列Red Gate。

  • 相关阅读:
    spark 程序 TopN FileSort SecondarySort 的出错解决办法
    预报温度和体感温度不是一回事
    搜索引擎 搜索技巧
    scrapy 爬虫框架
    scala-sbt
    英语削笔机
    php 一句话木马
    [CS充实之路] CS50 WEEK 1
    UBUNTU 16.04 编译 OPENJDK8
    使用logrotate分割Tomcat的catalina日志
  • 原文地址:https://www.cnblogs.com/JamesLi2015/p/2087763.html
Copyright © 2011-2022 走看看