智能和高度自动化的跨平台数据库和应用程序迁移


从PowerBuilder到Windows Presentation Foundation (WPF)转换

.NET

从现在开始Ispirer Migration and Modernization Toolkit能够转换PowerBuilder应用到WPF C#!


从PowerBuilder迁移到WPF C#迁移的概观

在转换PowerBuilder成WPF C#, Ispirer MnMTK还能够转换:

  • 应用程序的源文件(.SRA文件)
  • Window对象(.SRW 文件)
  • Menu(.SRM)
  • DataWindow (.SRD)

该演示版表示以Ispirer MnMTK从PowerBuilder到Windows Presentation Foundation (WPF)应用转换的整个过程:




为什么选择Ispirer MnMTK迁移之从PowerBuilder到WPF C#?

Ispirer Systems一直以实现高品位和一流的数据库迁移而备受关注。我们调整我们的迁移工具Ispirer MnMTK定制版以这样的方式能充分符合客户的业务需求。

我们主要好处:

  • 高素质和经验丰富的技术支持: 我们的技术团队拥有在复杂程度不同的迁移项目的工作经验。
  • 客户至上的方针和快速定制: 我们个性化我们的迁移工具可以充分满足客户的业务需求,定制的转换和优化在1-2工作日完成。
  • 预售参与 : 我们会在评估决定之前展示完全转换。
  • 灵活的定价策略: 我们为您提供广泛的选择,其中您一定会找到最适合您的价格方案。
  • 优化转换-: 没有Ispirer的文库或转换后使用IP

评估过程

您可以使用我们的评估向导为搜集关于您的应用程序统计信息。欢迎您下载我们的免费评估版:

此外,您可以填写我们的应用转换调查问卷:

测试工具

Ispirer Toolkit 10

从 PowerBuilder 到 WPF

下载

请求报价

Ispirer转换解决方案

从 PowerBuilder 到 WPF

服务 工具

转换特征

Ispirer MnMTK应用迁移工具可以自动转换从PowerBuilder到WPF C# 应用。Ispirer MnMTK允许:

  • 转换应用源文件(.SRA文件)

    SRA文件是应用源文件,有基本应用和入口点信息:

    forward
            global TYPE simple_demo FROM application
            END TYPE
    END forward
     
            global TYPE simple_demo FROM application
            string appname = "simple_demo"
            END TYPE
    global simple_demo simple_demo
     
    ON simple_demo.CREATE
    END ON
     
    event OPEN;
            OPEN ( simple_demo_main )
    END event

    SRA被文件到XAML对象元件的使用:

    <Application x:Class="simple_demo._simple_demo"
        xmlns="http://schemas.microsoft.com/winfx/
    2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        StartupUri="simple_demo_main.xaml">
      <Application.Resources>
      </Application.Resources>
    </Application>

  • 转换Window对象(.SRW 文件)到XAML

    SRW文件是窗口的源文件。它有形式和荣内的项目的描述,及也事件和方法。SRW文件被转换到XAML窗口对象。

    考虑简单形式的例如对一个控制元件:

    $PBExportHeader$simple_demo_main.srw
    forward
            global TYPE simple_demo_main FROM window
            END TYPE
            TYPE b_button FROM commandbutton WITHIN simple_demo_main
            END TYPE
    END forward
     
    global TYPE simple_demo_main FROM window
            INTEGER width = 800
            INTEGER height = 1200
            BOOLEAN titlebar = TRUE
            string title = "simple_demo"
            b_button b_button
    END TYPE
    global simple_demo_main simple_demo_main
    ON simple_demo_main.CREATE
            this.b_button =CREATE b_button
            this.Control[]={this.b_button}
    END ON
     
    ON simple_demo_main.destroy
            destroy(this.b_button)
    END ON
     
    TYPE b_button FROM commandbutton WITHIN simple_demo_main
            INTEGER x = 400
            INTEGER y = 400
            INTEGER width = 200
            INTEGER height = 120
            string text = "Show"
    END TYPE
     
    event clicked;
    END event
     

    以下是形式和内容转换到XAML窗口对象元件的使用文件描述:

    <Window x:Class="simple_demo._simple_demo_main"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:LOCAL="clr-namespace:simple_demo"
      Title="simple_demo"
      mc:Ignorable="d"
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
      xmlns:mc="http://schemas.openxmlformats.org/
    markup-compatibility/2006"
      SizeToContent="WidthAndHeight">
     <Grid Height="300" Width="200">
       <Canvas>
        <Button Content="Show" Name="b_filter" 
         Height="30" Width="50" Canvas.LEFT="100" 
         Canvas.Top="100" Click="b_filter_Click"/>
        </Canvas>
      </Grid>
    </Window>

    事件被转换到C#方法类:

    public partial class _simple_demo_main : Window
    {
           public _simple_demo_main()
           {
             InitializeComponent();
           }
           private void b_filter_Click(object sender,RoutedEventArgs e)
           {
           }
    }

    Ispirer MnMTK节省属性的大小和组建的位置像可转换的PowerBuilder应用:

    Convert PB Convert to WPF
    PowerBuilder Application Window WPF Application Window

  • 转换选单(.SRM)到标准的用户控制

    SRM文件是选单源文件。这些有元素和事件描述。这里是选单对一个元素例如为您的考虑:

    $PBExportHeader$simple_menu.srm
    forward
            global TYPE simple_menu FROM menu
            END TYPE
            TYPE m_about FROM menu WITHIN simple_menu
            END TYPE
    END forward
     
    global TYPE simple_menu FROM menu
    END TYPE
    global simple_menu simple_menu
     
    ON simple_menu.CREATE
            simple_menu=this
            CALL super::CREATE
            this.m_about=CREATE m_about
            this.Item[UpperBound(this.Item)+1]=this.m_about
    END ON
     
    TYPE m_about FROM menu WITHIN simple_menu
    END TYPE
     
    ON m_about.CREATE
            CALL super::CREATE
            this.text = "&About"
    END ON
     
    event clicked;OPEN(simple_about)
    END event

    SRM文件被转换到UserControl对象。选单元件被转换到Menu和MenuItem控制。它们被添加到XAML对象元件的使用:

    <UserControl x:Class="simple_demo._simple_menu"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:mc="http://schemas.openxmlformats.org/
    markup-compatibility/2006"
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
      mc:Ignorable="d">
     <Grid>
      <Menu>
         <MenuItem Name="m_about" Header="About" Click="m_about_Click">
         </MenuItem>
        </Menu>
      </Grid>
    </UserControl>

    件事调用方法开始simple_about页:

    event clicked;OPEN(simple_about)
    END event

    方法被转换方法类:

    private void m_about_Click(object sender,EventArgs e)
    {
          _simple_about simple_about = new _simple_about();
          simple_about.Show();
    }

  • 转换数据窗口(.SRD)到C# Class

    SRD文件是数据窗口源文件。它有数据窗口信息:

    release 10.5;
    datawindow()TABLE(COLUMN=(TYPE=CHAR(200) updatewhereclause=yes 
     name=name dbname="simple_demo.name" )
     COLUMN=(TYPE=long updatewhereclause=yes 
     name=age dbname="simple_demo.age" )
     retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"simple_demo~" )
    COLUMN(NAME=~"simple_demo.name~") 
    COLUMN(NAME=~"simple_demo.age~")) " )

    SRD文件被转换到类继承从ISDataSource类:

    public class _d_simple_demo : ISDataSource
    {
           public _d_simple_demo()
    {
             this.ConnectionString = ConfigurationManager.
            ConnectionStrings["ConnectionString"].ToString();
           }
           public void Retrieve()
           {
             this.SelectComand = 
            "SELECT name, age FROM dbo.simple_demo";
             this.GetData();
           }
    }

ISDataSource Class实现Data Access Logic. Ispirer MnMTK提供一个System.Data.SqlClienth和System.Data实现类。ISDataSource Class是不可转换的,但可以根据客户的要求进行开发或修改。


请您随时与我们联系。我们将很高兴为您服务!

 
客户评价
System Protocol Information, 马来西亚
Informix到Microsoft SQL Server数据库迁移

尊敬的先生们,

我们刚刚完成了到目前为止最大的从Informix到MS SQL Server迁移任务。这项运动是按计划按时完成的。这是成功的,感谢您工具做很大一部分。

...

Bellnet (HAS), 日本
Delphi转成C#

我们的客户BELLNET是一家日本IT公司,它维护用于控制医疗设备的计算机软件。它需要把这样的医疗软件迁移从Delphi到C#,并联系我们要求转换工具。

...

Steek-IT,荷兰
Progress迁移到SQLServer

Steek-IT是一家荷兰ICT公司,具有15年以上的数据迁移经验。除了我们专业的领域MSSQL、SSIS、SSAS,我们还创建网站、企业软件和iOS应用程序。

...

案例研究
Informix 4GL转移到Microsoft SQL Server的解决方案, 美国

我们的客户是一家值得信赖的美国公司,为美国的100000多家中小企业提供人力资源服务和业务解决方案。

...

Oracle Forms迁移到Java, 美国
用于Ispirer MnMTK的Oracle Forms自动化迁移到Java的可行性已被证明!

于2017年初,一家全球信息技术咨询公司联系Ispirer Systems。该公司与组织合作,制定技术战略并实现IT解决方案,增强公司的业务能力。

...

IBM DB2 iSeries迁移到Microsoft SQL Server, 美国

来自美国的全方服务资讯科技公司,致力于软件和应用程序开发、再工程和维护。该公司提供Web服务,包括网站设计、网站托管和SEO。也从事CRM系统的实施、升级和管理。

...