ALERTE COOKIE : En naviguant sur notre site, vous acceptez l’utilisation de cookies.
Pour en savoir plus, n’hésitez pas à lire notre Politique de confidentialité et Politique d’usage de cookies.

Migration de Base de données et d'Application multiplateforme Hautement Automatisée, Personnalisée et Optimisée


Migration de Delphi vers Java

Grâce à l'outil Ispirer Migration and Modernization Toolkit il est désormais possible de convertir des applications depuis Delphi vers Java!


Aperçu général


Migrer Delphi vers Java


Pourquoi Ispirer MnMTK?


Effectuez votre migration avec Ispirer Systems et profitez donc des avantages suivants que vous offre notre outil:

  • Cohérence et Intégration: automatisationjusqu'à 100%
  • Personnalisation rapide: individualisation et optimisation de la converson (1-3 jours ouvrables en moyenne)

  • Engagement pré-vente: nous démontrons une conversion complète au cours de l'évaluation avant que vous preniez une décision

  • Prix Raisonnable: nous offrons une tarification souple

  • Conversion Optimisée: en tant que résultat vous obtenez un code intelligent et maintenable, sans aucun middleware à utiliser après la conversion

Evaluation et Achat


L'évaluation de votre projet de migration permettra de mesurer les ressources nécessaires aussi bien que le coût de votre migration. Afin de faciliter ce processus, n'hésitez pas à remplir et nous envoyer en retour le questionnaire ci-dessous:


Présentation en direct

Ispirer Migration Solution

Delphi vers Java

Commander

Demander un devis

Ispirer Migration Solution

Delphi vers Java

Service L'outil

Caractéristiques de Conversion


Voici l'aperçu général de la conversion depuis Delphi vers Java à l'aide notre solution de migration:

  • Convertit le code source Delphi avec business logic (*.pas) vers les paquets Java avec les classes

Delphi:

 
unit DemoCode;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, 
  Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  Button1.Caption := 'Changed';
end;
 
end.
 

Java:

 
import java.awt.event.*;
 
public class DemoCode
{
   TForm1 Form1 = null;
   public DemoCode()
   {
         Form1 = new TForm1();
         Form1.setVisible(true);
         Form1.getButton1().addActionListener(new ActionListener()
         {
            @Override
            public void actionPerformed(ActionEvent event)
            {
               Button1Click(null);
            }
         });
   }
   public void Button1Click(Object Sender)
   {
      Form1.getButton1().setText("Changed");
   }
 
} 
 

La conversion Pas est basée sur l’initialisation de forme en ajoutant les auditeurs aux boutons et la conversion de logique métier. Une classe Java convertie a un lien au JFrame form et l’initialise au sein du constructeur. Ispirer MnMTK utilise la méthode addActionListener avec la creation anonyme d’ActionListener afin d’ajouter event handler aux boutons et appeler la méthode nécessaire au sein d’actionPerformed.

  • Convertit les fichiers Delphi Forms (*.dfm) vers Java UI Frameworks (Swing, SWT, Java FX, etc.)

Delphi:

 
object Form1: TForm1
  Left = 0
  Top = 0
  Width = 554
  Height = 289
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 232
    Top = 128
    Width = 75
    Height = 25
    Caption = 'Button1'
    TabOrder = 0
    OnClick = Button1Click
  end
end
 

Java:

 
import javax.swing.*;
 
public class TForm1 extends JFrame
{
   private static final long serialVersionUID = 1L;
   private JButton Button1 = null;
   public JButton getButton1()
   {
      return this.Button1;
   }
   public TForm1()
   {
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         setBounds(0,0,593,305);
         setTitle("Form1");
         getContentPane().setLayout(null);
         initTForm1();
   }
   private void initTForm1()
   {
      this.Button1 = new JButton();
      //
      // Button1
      //
      this.Button1.setBounds(232,128,75,25);
      this.Button1.setText("Button1");
      getContentPane().add(this.Button1);
   }
}
 
Delphi Java
Migrate Delphi to Java Migrate Delphi to Java

Les fichiers dfm ont plusieurs propriétés. Pour ces scripts Ispirer MnMTK génère les classes view Java. Delphi forms sont convertis en Java JFrame avec les mêmes noms. Ispirer MnMTK crée les analogues d’éléments Delphi. Les propriétés de form sont spécifiées dans class constuctor, d’autres propriétés sont spécifiées dans la methode init…().

  • Convertit Delphi Data Access (BDE, ADO, etc.) vers Java Database Access Frameworks (JDBC, Hibernate, Torque, etc.)

Delphi:

 
object Form1: TForm1
  Left = 0
  Top = 0
  Width = 554
  Height = 289
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Button1: TButton
    Left = 232
    Top = 128
    Width = 75
    Height = 25
    Caption = 'Button1'
    TabOrder = 0
    OnClick = Button1Click
  end
end object Form2: TForm2
  Left = 0
  Top = 0
  Width = 156  
  Height = 198
  Caption = 'Test'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object DBGrid1: TDBGrid
    Left = 32
    Top = 8
    Width = 81
    Height = 120
    DataSource = DataSource1
    TabOrder = 0
    TitleFont.Charset = DEFAULT_CHARSET
    TitleFont.Color = clWindowText
    TitleFont.Height = -11
    TitleFont.Name = 'Tahoma'
    TitleFont.Style = []
    Columns = <
      item
        Expanded = False
        FieldName = 'col1'
        Visible = True
      end>
  end
  object ADOConnection1: TADOConnection
    Connected = True
    ConnectionString = 
      'Provider=MSDASQL.1;Persist Security Info=False;
       User ID=sa;Data S' +
      'ource=MSSQL_VMDBSRV002_ETEST'
    Left = 24
    Top = 136
  end
  object ADOQuery1: TADOQuery
    Active = True
    Connection = ADOConnection1
    CursorType = ctStatic
    Parameters = <>
    SQL.Strings = (
      'select col1 from tab1_test')
    Left = 56
    Top = 136
  end
  object DataSource1: TDataSource
    DataSet = ADOQuery1
    Left = 88
    Top = 136
  end
end
 

Java:

 
import java.awt.*;
import java.sql.*;
import java.util.Vector;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
 
public class TForm2 extends JFrame
{
   private static final long serialVersionUID = 1L;
   private JTable DBGrid1 = null;
   private Connection ADOConnection1 = null;
   private PreparedStatement ADOQuery1 = null;
   private ResultSet DataSource1 = null;
   public JTable getDBGrid1()
   {
      return this.DBGrid1;
   }
   public Connection getADOConnection1()
   {
      return this.ADOConnection1;
   }
   public PreparedStatement getADOQuery1()
   {
      return this.ADOQuery1;
   }
   public ResultSet getDataSource1()
   {
      return this.DataSource1;
   }
   public TForm2()
   {
         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         setBounds(0,0,172,229);
         setTitle("Test");
         getContentPane().setLayout(null);
         initTForm2();
   }
   private void initTForm2()
   {
      DefaultTableModel DBGrid1TM = new DefaultTableModel();
      DBGrid1TM.addColumn("col1");
      this.DBGrid1 = new JTable(DBGrid1TM);
      JPanel DBGrid1Panel = new JPanel();
      DBGrid1Panel.setLayout(new BorderLayout());
      JScrollPane DBGrid1ScrollPane = new JScrollPane(this.DBGrid1);
      DBGrid1Panel.add(DBGrid1ScrollPane, BorderLayout.CENTER);
      DBGrid1Panel.setBounds (32, 8,81,120);
      getContentPane().add(DBGrid1Panel);
 
      try
      {
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    String connectionUrl = "jdbc:sqlserver://vmdbsrv002:1433;
    databaseName=etest;user=sa;password=Ispirer_1999;"; 
    DriverManager.setLoginTimeout(30); 
    this.ADOConnection1 = DriverManager.getConnection(connectionUrl);
      }
      catch (SQLException | ClassNotFoundException e)
      {
    e.printStackTrace();
      }
 
      try
      {
    this.ADOQuery1 = ADOConnection1.prepareStatement(
    "select col1 from tab1_test");
      }
      catch (SQLException e1)
      {
    e1.printStackTrace();
      }
 
      try
      {
         this.DataSource1 = ADOQuery1.executeQuery();
      }
      catch(SQLException e)
      {
         e.printStackTrace();
      }
 
      try
      {
    while(this.DataSource1.next())
        {
          Vector<Object> row = new Vector<Object>();
          for 
      (int i = 1; 
       i <= this.DataSource1.getMetaData().getColumnCount(); i++) 
          {  
              row.addElement(this.DataSource1.getObject(i));
          }
          DBGrid1TM.addRow(row);
        }
      }
      catch (SQLException e)
      {
    e.printStackTrace();
      }
   }
}
 
Delphi Java
Migrate Delphi to Java Migrate Delphi to Java

C’est un exemple de la conversion DBGrid avec l’utilisation de ADOConnection, TADOQuery et TDataSource. SQLWays génère Java class avec JTable rempli de la base de données. De plus, Ispirer MnMTK peut générer automatiquement Hibernate, Torque XML maps selon les tables de base de données.

  • Convertit des paquets Delphi (*.dpk) vers les paquets Java avec classes


Contactez-nous pour en savoir plus.

 
Témoignages
Decitre, France

Sybase ASE vers PostgreSQL

Nous recherchions un outil pour effectuer une migration de Sybase à PostgreSQL.

Après quelques recherches nous avons trouvé l’outil d’Ispirer que nous avons...

...

TSS Consultancy, Inde

Microsoft SQL Server vers Oracle

Tout a commencé lorsque mon entreprise était à la recherche de la solution de migration de la base de données SQL Server vers Oracle. Plus de 10...

...

Etudes de cas
IBM DB2 LUW vers PostgreSQL, Etats-Unis

Notre client était la société publique américaine et l'unité indépendante du gouvernement de l'État.

...

Sybase ASE vers Microsoft SQL Server, Chili

Ispirer a déjà réalisé des projets pour des clients sur sept continents, y compris l'Amérique du Sud. Cette fois, nous avons eu l'honneur de coopérer avec un grand fabricant de logiciels basé au...

...