Mostrando entradas con la etiqueta IDE. Mostrar todas las entradas
Mostrando entradas con la etiqueta IDE. Mostrar todas las entradas

Componentes para el IDE GExperts


GExperts es un conjunto gratuito de herramientas integradas para aumentar la productividad de Delphi y C ++ Builder  mediante la adición de varias características para el IDE. GExperts se desarrolla como un software de código abierto.






INSTALACIÓN




----------------------


GExperts se distribuye como un ejecutable. Si lo va a  instalar bajo Vista como un usuario no administrador, es posible que tenga que registrar manualmente la DLL de los GExperts después de la instalación. Esto se hace más fácilmente utilizando la herramienta Administrator Expert del menú de inicio de GExperts. 


También puede registrar manualmente el archivo DLL con el IDE usando el Editor de Registro de Windows (Regedit.exe). 


Para ello cree una clave similar a la siguiente:


HKEY_CURRENT_USER \ Software \ Embarcadero \ BDS \ 17.0 \ expert \ (RAD Studio 10)


HKEY_CURRENT_USER \ Software \ Embarcadero \ BDS \ 16.0 \ expert \ (RAD Studio XE8)


HKEY_CURRENT_USER \ Software \ Embarcadero \ BDS \ 12.0 \ expert \ (RAD Studio XE5)


HKEY_CURRENT_USER \ Software \ Embarcadero \ BDS \ 9.0 \ expert \ (RAD Studio XE2)


HKEY_CURRENT_USER \ Software \ CodeGear \ BDS \ 6.0 \ expert \ (RAD Studio 2009)


HKEY_CURRENT_USER \ Software \ Borland \ BDS \ 5.0 \ expert \ (RAD Studio 2007)


HKEY_CURRENT_USER \ Software \ Borland \ Delphi \ 7.0 \ expert \ Delphi (7)





Luego añada un nuevo valor de cadena que apunte a su DLL GExperts (X es la versión del IDE


como 6, 7, 8, 2005, 2006, 2007, 2009, 2010, XE1, XE8, 10, etc.):


GExperts = C: \ Archivos de programa \ GExperts \ GExpertsRSX.dll


GExperts = C: \ Archivos de programa \ GExperts \ GExpertsDelphiX.dll


GExperts = C: \ Archivos de programa \ GExperts \ GExpertsBDSX.dll o


GExperts = C: \ Archivos de programa \ GExperts \ GExpertsDX.dll o





Antes de instalar GExperts, se recomienda encarecidamente que instale las últimas actualizaciones y parches para su IDE disponible en:  http://www.embarcadero.com/






CONFIGURACIÓN




Aquí puede configurar las diversas partes de GExperts. La ventana tiene pestañas para la configuración de los experts individuales, ajustes generales y mejoras del IDE y de edición de código.





La primera pestaña,  le permite activar o desactivar los expertos individuales utilizando la casilla que está junto al nombre. Si se desactiva un experto, se eliminará del menú GExperts. También puede configurar la tecla de acceso directo que se usa para activarlo. GExperts no hace ningún intento para asociar la tecla de acceso directo asignada como atajos ya que muchos atajos de teclas ya están en uso por el menú del IDE principal, varios menús de contexto, o el editor de código. Si se encuentra que un atajo de teclado funciona con pulsaciones de teclas y otro no lo hace, es probable que sea debido a que el IDE se ha reservado el segundo como acceso directo para uso interno. 


El archivo de ayuda del IDE enumera la mayoría de los atajos de teclado reservados del editor para cada configuración de teclado, pero no todos ellos. Observe que puede desplazarse por la lista en esta ficha para ver el resto de los expertos.





Configuration Experts





























Componentes Raize


En esta entrada vamos a hablar de una suite de componentes para Delphi y C++ Builder la cual está integrada por más de 125 controles VCL nativos.


Construidos ya hace mas de 15 años estos componentes se han enfocado en las nuevas características VCL agregadas al nuevo RAD Studio, concretamente la VCL a 64 bits y los nuevos estilos de la misma.


Comenzaremos por instalar los componentes, y para esta publicación instalaremos la versión 6.1.10 de los componentes Raize en un flamante RAD Studio XE7.


Instala05


Una vez que terminamos de instalarlo podemos observar las 7 paletas de componentes Raize que se integran a nuestro IDE.


  • Paleta Panels: Contiene 17 componentes.



Raize Panels Palette





  • Paleta Edits: Contiene 25 componentes.



Raize Edits Palette


  • Paleta Lists: Contiene 19 componentes.



Raize Lists Palette


  • Paleta Buttons: Contiene 16 componentes.



Raize Buttons Palette


  • Paleta Display: Contiene 27 componentes.



Raize Display Palette


  • Paleta Shell: Contiene 11 componentes.



Raize Shell Palette


  • Paleta Widgets: Contiene 16 componentes.



Raize Widgets Palette





En total 131 componentes debidamente clasificados y con capacidades mejoradas que nos ayudarán a mejorar la interfaz gráfica de nuestras aplicaciones.


Conversor de Delphi a Cpp y de C a Delphi


Este post consta de dos partes, una es un programa (Delphi2Cpp) que convierte código fuente Delphi a C++ y la segunda es otro programa que convierte código C a Delphi.





1) CONVERSOR DE Delphi a C++





Migración de Delphi a C ++






Con Delphi de Windows se pueden crear aplicaciones rápidamente. Pero a veces es necesario acelerar su desarrollo a través de código optimizado, de modo que en algún momento se necesitará la migración de una aplicación de Delphi al lenguaje de programación C++ . Su desarrollo continuará ya sea con Delphi, donde el código es traducido en repetidas ocasiones, o bien continuará con  C++ Builder u otra herramienta.


La decisión de migrar a C++ bajó debido al alto coste de portar y lo difícil que era hasta ahora. Este requisito se reduce drásticamente con el programa Delphi2Cpp de conversión automática.





conversor "Delphi2Cpp"






Delphi2Cpp se basa en una completo analizador para Delphi 7, y produce resultados de traducción óptimos mediante el uso de la información de tipo de la VCL y otras unidades incluidas.


El código fuente no necesita ser preparado. Las definiciones condicionales de compilación se pueden configurar en las opciones de Delphi2Cpp. Un pre-procesamiento del código es traducido directamente.


Delphi2Cpp puede codificar todo C++ . El C++ Builder es particularmente adecuado debido a sus extensiones de lenguaje. Pero también existe la opción de código para otros compiladores como Visual C ++ o gcc .


Delphi2Cpp está disponible en dos versiones.


La interfaz de usuario de Delphi2Cpp:


Delphi2Cpp_Gui40.jpg





Traducción de catálogos de archivos con la versión Profesional de Delphi2Cpp:




Delphi2CppManager40.jpg





Comparación de la versión de estudiantes y la versión profesional







La siguiente tabla es un resumen general de las diferencias entre la versión de  estudiante y la versión profesional de Delphi2Cpp.
















Delphi2Cpp estudiante prof. 
Preprocessor + + 
Traductor + + 
Verwenung como herramienta de línea de comandos - + 
Separa pre-procesamiento y la traducción - + 
Archivo Administrador - + 
Tras la sustitución de identificadores - + 
Posibilidad Preparación de código Delphi - + 
Macros DECLARE_DYNAMIC, IMPLEMENT_DYNAMIC - + 
Generación de código C - + 
Definición de prefijos de propiedades - + 
Generación de espacios de nombres - + 
Anulación del "System.pas" - + 
Simulación de Delphi Meta-Características - + 







+ Característica Disponible 


- No es función disponible





Documentación on-line aquí





Novedades de la última versión



03.09.2015 Versión 1.7.0






{ Lo siguiente es traducido con "Google Translator" }







  • Secciones de código en el que "CPP" se define -como bloques {$ ifdef Cpp} - son opcionales ya que no se unifican en la ortografía, pero se copian fielmente. Es decir, entre otras cosas, mayúsculas / minúsculas ahora se mantienen sin cambios.

  • Los bucles de traducción simple se pueden generar ahora opcionalmente, lo que puede, sin embargo, dar un error en algunos casos. 

  • Constantes con tipo pueden ahora ser tratadas opcionalmente como constantes sin tipo. Así, el comportamiento actual de Delphi se reproduce donde estas constantes no se pueden cambiar en circunstancias normales.

  • Todos los espacios incluyendo saltos de línea antes "(* _ _ * ...)" y "(* _ _ * ...)" antes del primer token ahora estarán en C ++ .

  • Los registros se pasan por los valores de funciones, por lo que ya no se convierten en una constante de referencia (por ejemplo, const TRecord y rec), pero permanecen como parámetros de valor verdadero (TRecord rec).

  • "ShortInt" ya no se traduce incorrectamente como "int short" , sino como "char signed".

  • La inicialización automática de variables ahora se puede desactivar.

  • Muchas otras pequeñas mejoras






Descargar la versión demo






Delphi2Cpp se puede probar con una versión demo de forma gratuita sin límite de tiempo. El programa demo ofrece traducciones de la misma calidad que el programa bajo licencia. Sin embargo, la cantidad de código de salida para la parte de implementación de 10000 caracteres es limitado y la carga y el código de ahorro y opciones no es posible. Al comprar un Delphi2Cpp licencia un enlace a una versión de es Delphi2Cpp entregado, en el que todas las funciones del programa se puede desactivar por medio de la licencia.

















documentación en formato PDF (también en el instalador)





2) CONVERSOR DE C a Delphi






Convertidor del lenguaje C a Delphi: Convierte el codigo fuente  C a Delphi y Pascal   y por lo tanto ayuda a programar en aplicaciones C ; si tiene que traducir varios archivos funciona en modo secuencial por lotes, y también se pueden ejecutar desde la línea de comandos






C 2 Delphi convertidor



Conversor de Delphi a Java




Migración de Delphi a Java






Ispirer MnMTK 2015 convierte aplicaciones Delphi en Java.


Esta demo muestra cómo Ispirer MnMTK puede convertir Delphi a Java.






Funciones de conversión



Migrar a Delphi Java


  • Convierte código fuente Delphi  (* .pas) a los paquetes de clases en Java 



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 conversión se basa en la forma de inicialización. La Clase Java convertida tiene un enlace al formulario de JFrame y se inicializa en el constructor. SQLWays utiliza el procedimiento addActionListener con la creación anónima de Action añadiendo a los controladores de eventos de botones y un método sustituto llamado  actionPerformed.


  • Convierte los forms de Delphi (* .dfm) a archivos  frames de Java de la interfaz de usuario (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);
}
}
 




DelphiJava
Migrar a Delphi JavaMigrar a Delphi Java




Archivos DFM constan de varias propiedades. Para estos guiones las clases de Java SQLWays ha generado una vista. Los Forms de Delphi se convierten a Java JFrame con el mismo nombre. SQLWays crea análogos elementos de Delphien los que los campos de la clase son iguales para todos. Las Propiedades del molde están en el constructor de la clase con sus propiedades según el método especificado.


  • Convierte  acceso a datos de Delphi (BDE, ADO, etc.) a los programas Java de acceso a base de datos (JDBC, Hibernate, par, 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();
}
}
}
 

 




DelphiJava
Migrar a Delphi JavaMigrar a Delphi Java




Es un ejemplo de la conversión SQLWays DBGrid con el uso TADOConnection TADOQuery y TDataSource. Como resultado SQLWays generados con JTable llenan la clase Java de la base de datos. También SQLWays pueden cambiar automáticamente, los maps XML se  cambian por tablas de la base de datos.


  • Convierte paquetes Delphi (* .dpk) a paquetes Java con Classen





¿Por SQLWays?



SQLWays automatiza todo el proceso de migración para su aplicación Delphi existente para Java. Tanto más cuanto más se utiliza SQLWays ya que puede eliminar los riesgos ordinarios y reducir los gastos internos de manera significativa. Todos los beneficios están disponibles a un precio razonable, por lo que SQLWays es una herramienta muy atractiva para un tipo de proyectos.


Nuestra garantía de  tecnología de conversión:


  • Código Legible y mantenible
    generación de código legible y mantenible con la calidad de la conversión manual

  • Transformación de código y refactorización
    transformación código con el uso de las mejores prácticas de Java sin la emulación de la tecnología antigua en la nueva plataforma

  • Las tecnologías más modernas
    Ya que utilizan los frames y las tecnologías de Java

  • Código Java puro
    No hay bibliotecas (bibliotecas) de Ispirer o IP a usarse después de la conversión



SQLWays es eficiente para la conversión de grandes secuencias de comandos, que contienen miles o millones de líneas de código:


  • Resuelve automáticamente las dependencias
    puede resolver automáticamente las dependencias y conflictos entre ellas.

  • Configuraciones
    pueden leer información de varios archivos de configuración y de proyecto (archivos de configuración SQLWays, archivos .xml)

  • Rápida y potente personalización
    capas de abstracción, patrón reutilizable para la conversión,  conversión del lenguaje interno y herramientas de personalización.





Puede descargar ejemplos de código fuente Delphi y los resultados de la transformación:







Simulación del movimiento de los electrones en un campo electrico

Espectacular simulación realizada con OpenGL del movimiento de los electrones cuando atraviesan un campo eléctrico. Como muestra la image...