Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-02-2008
_Willa _Willa is offline
Miembro
 
Registrado: jun 2003
Ubicación: Madrid
Posts: 26
Poder: 0
_Willa Va por buen camino
Convertir codigo Delphi a Builder

HOla,

Ahora q tengo un poco más de tiempo estoy convirtiendo a una serie de componentes que estan creados en Delphi a Builder...
Lo bueno es que son de codigo abierto, por eso me he decidido a convertir los ejemplos a Builder.

Me han surgido una serie de dudas a la hora de convertir, y por eso lo indico aqui a ver si hay alguien que sepa me puede indicar . "el paso a builder"

Código:
  L=Round(Sqrt(Sqr(PT.x-LastBrushX)+Sqr(PT.y-LastBrushY)));
Necesito aqui las instrucciones Round, Srt, Sqr

Código:
  if (SXSkinLibrary1.Styles[A] is TSXSkinGeneralStyle) then
La sentencia if, especialmente la clausula is, indicar que SXSkinLibrary1.Styles[A] es del tipo TSXSkinStyleList


Código:
   Dec(StartDragPT.X,Left);
Creo que es decrementar tantan vaces como indique "Left"

Al igual que creo que Inc(BrushCounter,2); // en Delphi
creo que en Builder, seria algo asi como BrushCounter+=2; si existe alguien q me lo confirme.

Bueno, pues eso si hay alguien que sepa delphi o que tb ha realizado alguna que otra adaptación a builder, ...y tiene tiempo pues que me heche una manilla. Gracias.
Si alguien ha trabajado con estos componentes que se ponga en
contacto conmigo y comente que tal le va, los problemas que ha tenido, etc.

Los componentes son:
http://www.saarixx.info/sxskincomponents/en/
Responder Con Cita
  #2  
Antiguo 15-02-2008
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Código:
{ Object Pascal. }
  L = Round (Sqrt (Sqr (PT.x - LastBrushX) + Sqr (PT.y - LastBrushY))); 

// C++
  L == (int)(sqrt (pow (PT->x - LastBrushX, 2) + pow (PT->y - LastBrushY, 2)));
Fíjate que en Object Pascal has escrito "L = ..." y no "L := ..."

Por otro lado utilizo el operador flecha (->) ya que, por lo que sé, Builder utiliza punteros para referenciar los objetos.

Código:
{ Object Pascal. }
  if (SXSkinLibrary1.Styles[A] is TSXSkinGeneralStyle) then 

//  C++
  if (strcmp (typeid (SXSkinLibrary1->Styles[A]).name (), "TSXSkinGeneralStyle") == 0) {
El código anterior fallará más que una escopeta de feria. Deberías buscar otro mecanismo. Lee esto.

Código:
{ Object Pascal }
   Dec (StartDragPT.X, Left);
   Inc (BrushCounter, 2);

// C++
  StarDragPT->X -= Left;
  BrushCounter += 2;
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine

Última edición por Ñuño Martínez fecha: 15-02-2008 a las 10:17:57.
Responder Con Cita
  #3  
Antiguo 15-02-2008
Avatar de Gabo
[Gabo] Gabo is offline
Miembro Premium
 
Registrado: mar 2007
Ubicación: Murcia (España)
Posts: 684
Poder: 18
Gabo Va por buen camino
Sólo una pequeña nota...

= es para las asignaciones en una variable y == para preguntar si una expresión es igual a otra, por lo que:

Código:
// C++
L == (int) (sqrt (pow (PT->x - LastBrushX, 2) + pow (PT->y - LastBrushY, 2));
Debería ir con un solo =.
__________________
Saludos,
Gabo

A menos que se indique lo contrario, el código estará hecho en C++Builder.
Responder Con Cita
  #4  
Antiguo 15-02-2008
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
[Gabo], tienes razón, pero como ya escribí antes _Willa escribió "L =..." (comparación) y no "L :=..." (asignación). De todas formas, buena puntualización que seguro que alguno se despista.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Conectar a Interbase por codigo desde Builder C++ Gabo C++ Builder 7 01-05-2015 12:04:54
Convertir caracter a codigo ASCII Tecnic2 OOP 13 28-03-2009 16:07:09
Cambiando el codigo de delphi a builder... paco_galo C++ Builder 5 03-12-2007 23:14:54
Ayuda para completar código:Traducción de Delphi a Builder Pernorak C++ Builder 3 30-05-2007 13:45:16
situar metodo en el editor de codigo c++ builder fcojavier C++ Builder 1 05-05-2005 09:11:25


La franja horaria es GMT +2. Ahora son las 08:22:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi