Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-08-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile O con GReplace

¡Hola a todos!

Rolando:

El programa que te sugiere David parece muy completo, no lo conocía. Para casos como el tuyo suelo emplear la utilería Global Search & Replace (archivo GReplace.zip) de Objective Software Technology. Creo que cualquiera de las dos herramientas podría serte útil.

No dejes de comentarnos cómo te fue.

Un abrazo reemplazado.

Al González.
Responder Con Cita
  #2  
Antiguo 05-08-2007
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Cita:
Empezado por Al González Ver Mensaje
¡Hola a todos!

Rolando:

El programa que te sugiere David parece muy completo, no lo conocía. Para casos como el tuyo suelo emplear la utilería Global Search & Replace (archivo GReplace.zip) de Objective Software Technology. Creo que cualquiera de las dos herramientas podría serte útil.

No dejes de comentarnos cómo te fue.

Un abrazo reemplazado.

Al González.
Gracias a ambos por las respuestas.

Debo comentarles que esa actualización no debe verse como un "milagro", ya que es algo que he hecho perfectamente con las versiones antiguas de Delphi y que por lo tanto, lo mínimo que esperaba (o espero, que quizás haya forma de hacerlo) es que Delphi 2007 lo haga.

Agradezco el dato de los programas y creo que esas y otras utilidades de esos sitios me pueden ser utiles; pero ocurre lo siguiente:

Los programas de busqueda y reemplazo de texto no son suficientes porque los DFM de Delphi 4, a diferencia de lo que ocurre en versiones posteriores, son en formato binario; ello implica que para convertirlos manualmente toca abrirlos en Delphi 4 como Dfm, seleccionar y copiar el texto, que Delphi muestra, a otro archivo que se salve entonces como dfm (que quede claro, esa versión en texto solo la muestra Delphi 4, si ustedes intentan abrir los dfm de esa versión con un editor de texto no podrán manipularlos).
otra razón más para esperar que exista una herramienta de migración. Y a eso agreguenle que se requiere un período de análisis para ver que unidades pudieron haber sido renombrados o su funcionalidad dividida.

Aquí cabe una crítica constructiva a Delphi 2007:

Desde el punto de productividad es un punto crítico para alguién que como yo tiene muchísimo código desarrollado y bastante carga de trabajo. Dedicarse uno a averiguar como hacer cosas que deberían hacerse automáticamente de manera intuitiva, puesto que no requieren de lógica, no es precisamente la mejor forma de atraer a los programadores con experiencia. Creo que no sobra resaltar, dado que ambos, tanto Delphi 4 como Delphi 2007, los compré legalmente y además, debido a mi influencia otras versiones de Delphi fueron compradas en compañias que asesoro, que siendo una herramienta tan costos debería brindar facilidades de actualización a sus usuarios antiguos.

En últimas, una solución podría ser pasarlos primero a Delphi 5, si es que Delphi 2007 es capaz de hacer la conversión automática a partir de ahí (alguién puede confirmarlo?); pero no es la solución lógica.
Responder Con Cita
  #3  
Antiguo 05-08-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile Convert.exe

¡Hola a todos!

Cita:
Empezado por rolandoj Ver Mensaje
...los DFM de Delphi 4, a diferencia de lo que ocurre en versiones posteriores, son en formato binario; ello implica que para convertirlos manualmente toca abrirlos en Delphi 4 como Dfm, seleccionar y copiar el texto, que Delphi muestra, a otro archivo que se salve entonces como dfm...
Mira, para eso Delphi viene con una utilería llamada Convert.exe (carpeta Bin en Delphi 7).

Actualmente, tengo un archivo Convert.bat con el siguiente contenido:
Código:
@Echo Off
Echo Conversi¢n de archivos Delphi .dfm de formato
Echo binario (anterior) a formato de texto (nuevo).
Pause
"C:\Archivos de programa\Borland\Delphi7\Bin\convert.exe" -i -s -t *.dfm
Pause
Sólo colocas el .bat en tu carpeta de fuentes, lo ejecutas y listo.

Lo sé, esto parece un remedio tipo Linux, pero es una mucho mejor alternativa que abrir uno por uno los .dfm.

Por otra parte, comparto tu opinión acerca de que Delphi debería contar con mejores herramientas de actualización de fuentes. Aunque siempre es aconsejable que el desarrollador eche un ojo a lo que está convirtiendo en los .pas. No vaya a ser que algo de lo convertido tenga otro significado en el ámbito donde está la referencia (y esto aplica a cualquier lenguaje; siempre es bueno asegurarse).

Un santo remedio.

Al González.
Responder Con Cita
  #4  
Antiguo 05-08-2007
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Muchas gracias.

Cita:
Empezado por Al González Ver Mensaje
¡Hola a todos!


Mira, para eso Delphi viene con una utilería llamada Convert.exe (carpeta Bin en Delphi 7).

Actualmente, tengo un archivo Convert.bat con el siguiente contenido:
Código:
@Echo Off
Echo Conversi¢n de archivos Delphi .dfm de formato
Echo binario (anterior) a formato de texto (nuevo).
Pause
"C:\Archivos de programa\Borland\Delphi7\Bin\convert.exe" -i -s -t *.dfm
Pause
Sólo colocas el .bat en tu carpeta de fuentes, lo ejecutas y listo.

Lo sé, esto parece un remedio tipo Linux, pero es una mucho mejor alternativa que abrir uno por uno los .dfm.

Por otra parte, comparto tu opinión acerca de que Delphi debería contar con mejores herramientas de actualización de fuentes. Aunque siempre es aconsejable que el desarrollador eche un ojo a lo que está convirtiendo en los .pas. No vaya a ser que algo de lo convertido tenga otro significado en el ámbito donde está la referencia (y esto aplica a cualquier lenguaje; siempre es bueno asegurarse).

Un santo remedio.

Al González.
Muchas gracias por el dato. Lo probé y parece que funciona bien. Debo hacer más pruebas porque ahora estoy con mi plataforma principal (Windows 2000 con Delphi 4) y el Delphi 2007 lo tengo en mi segundo disco con Windows XP. Máñana te comento como me fué.

En cuanto a lo de que el desarrollador debe hechar una mirada, estoy totalmente de acuerdo y lo hago siempre; aunque, salvo por alguno que otro detalle aislado, muy fácil de corregir, nunca había tenido problemas hasta ahora. De todas formas, después de la conversión automática esa es una revisión muy rápida que no afecta la productividad

Por otra parte esta solución confirma la mala opinión que hasta ahora tengo de la versión 2007. Supongo que te tomó algún tiempo encontrar esa solución y agradezco que la compartas; aunque algo tan rebuscado lo que demuestra es la falta de cuidado que la gente de Code Gear tiene por sus clientes antiguos ya que la pregunta es : Porque no la incorporaron automáticamente como ocurre en versiones previas ?

Tengo otros problemitas con esta versión; mañana les comento
Responder Con Cita
  #5  
Antiguo 05-08-2007
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Smile

¡Hola a todos!

Cita:
Empezado por rolandoj Ver Mensaje
...esta solución confirma la mala opinión que hasta ahora tengo de la versión 2007. Supongo que te tomó algún tiempo encontrar esa solución y agradezco que la compartas; aunque algo tan rebuscado lo que demuestra es la falta de cuidado que la gente de Code Gear tiene por sus clientes antiguos ya que la pregunta es : Porque no la incorporaron automáticamente como ocurre en versiones previas ?...
Desconozco si la versión 2007 tiene alguna herramienta para "conversión automática total de proyectos antiguos". Actualmente uso Delphi 7, pero comencé a utilizar Convert.exe en alguna versión anterior porque tuve un problema similar al tuyo.

Fíjate que esto del cuidado que CodeGear tiene (o dejó de tener) con la comunidad de usuarios de versiones "Borland" es un tema muy importante para el fortalecimiento de Delphi en el futuro. Hay dos mercados Delphi para CodeGear: Delphi 7- (versiones 7 y anteriores) y Delphi 2005+ (versiones 2005 y posteriores). Debemos hacerles ver que deben revalorar al primero. Las estadísticas no mienten.

Un abrazo estadístico.

Al González.
Responder Con Cita
  #6  
Antiguo 05-08-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.108
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Debo comentarles que esa actualización no debe verse como un "milagro", ya que es algo que he hecho perfectamente con las versiones antiguas de Delphi y que por lo tanto, lo mínimo que esperaba (o espero, que quizás haya forma de hacerlo) es que Delphi 2007 lo haga.
Cómo qué. Qué es lo que has hecho exactamente. Cómo puede esperarse que Delphi renombre unidades así como así. Ignoro si hará lo propio con algunas unidades (cosa que pongo en duda), pero, no puede meterse en camisas de once varas por lo que he dicho antes: puede ser contraproducente.

Por otro lado la utilidad "convert.exe" parece una herramienta de conversión de formularios, que no me queda muy claro su uso, pero, no se trata de "migrar", sino de "convertir" formularios. Ya el compañero JXJ ha comentado lo que puede esperarse de la herramienta de migración de Delphi y no es poco, me parece.

Delphi retoca su código: añade propiedades a los formularios que él mismo ha de manejar, etc., pero, no puede retocar mi código a menos que yo esté dispuesto a que haya algo que vaya mal, que sea peor el remedio que la enfermedad. Obviamente las copias de seguridad están para algo, pero, aún así.

Es simple. Tú partes de una base: quiero que esto se automatize porque de lo contrario me llevará mucho tiempo. Yo parto de esta otra base: voy a migrar una aplicación de Delphi 5 a Delphi 2007, puede que me lleve tiempo, pero, casi prefiero que sea así. De hecho tal vez ya has perdido más tiempo en tratar de averiguar si se puede automatizar la tarea que en llevarla a cabo.

Tal vez me equivoque, pero, insisto: no se le pueden pedir milagros a Delphi en este sentido, simplemente, porque Delphi no puede meterse donde no le llaman. Delphi no puede renombrar alegremente unidades porque puede que yo tenga unidades que se llamen igual que algunas "obsoletas" y entonces mete la pata. Que Delphi migre su código (y gracias) que yo me encargaré de migrar el mío.

Además... ¿Renombrar unidades? ¿Esa es la tarea? Pues no sé a qué tanto miedo: Search and Replace y a tirar. Eso te renombra texto en archivos a la velocidad del rayo y con una eficiencia sorprendente. Y quien dice Search and Replace dice cualquier otro programa del estilo, que le llegue a los talones por lo menos, claro.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 05-08-2007 a las 09:09:50.
Responder Con Cita
  #7  
Antiguo 05-08-2007
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
nada mas para agregar.
que exitosamente he logrado
compilar e instalar 12 componentes
que eran para la version de delphi 2.0

a delphi 2007, sin tocarles nada. el programa que los usa tambien
compila bien. en delphi 2007
sin tocarle nada. a los archivos dfm o a los archivos pas
Responder Con Cita
  #8  
Antiguo 06-08-2007
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
En gustos y colores

Cita:
Empezado por dec Ver Mensaje
Hola,



Cómo qué. Qué es lo que has hecho exactamente. Cómo puede esperarse que Delphi renombre unidades así como así. Ignoro si hará lo propio con algunas unidades (cosa que pongo en duda), pero, no puede meterse en camisas de once varas por lo que he dicho antes: puede ser contraproducente.

Por otro lado la utilidad "convert.exe" parece una herramienta de conversión de formularios, que no me queda muy claro su uso, pero, no se trata de "migrar", sino de "convertir" formularios. Ya el compañero JXJ ha comentado lo que puede esperarse de la herramienta de migración de Delphi y no es poco, me parece.

Delphi retoca su código: añade propiedades a los formularios que él mismo ha de manejar, etc., pero, no puede retocar mi código a menos que yo esté dispuesto a que haya algo que vaya mal, que sea peor el remedio que la enfermedad. Obviamente las copias de seguridad están para algo, pero, aún así.

Es simple. Tú partes de una base: quiero que esto se automatize porque de lo contrario me llevará mucho tiempo. Yo parto de esta otra base: voy a migrar una aplicación de Delphi 5 a Delphi 2007, puede que me lleve tiempo, pero, casi prefiero que sea así. De hecho tal vez ya has perdido más tiempo en tratar de averiguar si se puede automatizar la tarea que en llevarla a cabo.

Tal vez me equivoque, pero, insisto: no se le pueden pedir milagros a Delphi en este sentido, simplemente, porque Delphi no puede meterse donde no le llaman. Delphi no puede renombrar alegremente unidades porque puede que yo tenga unidades que se llamen igual que algunas "obsoletas" y entonces mete la pata. Que Delphi migre su código (y gracias) que yo me encargaré de migrar el mío.

Además... ¿Renombrar unidades? ¿Esa es la tarea? Pues no sé a qué tanto miedo: Search and Replace y a tirar. Eso te renombra texto en archivos a la velocidad del rayo y con una eficiencia sorprendente. Y quien dice Search and Replace dice cualquier otro programa del estilo, que le llegue a los talones por lo menos, claro.
Hola,

Ante todo gracias por el interés. Ya me es muy tarde; pero quiero hacer un primer comentario.

Respeto tú posición de querer hacer tú mismo el proceso de migración; pero no la comparto. Está bien que uno realice cierta revisión adicional; pero no encuentro lógico que deba hacerse todo un proceso que es perfectamente programable por parte de Delphi, razón por la cual, no la puedo considerar "milagro". Me explico más claramente :

El problema que mencionas de que una unidad propia puede tener el mismo nombre de una nueva de Delphi es posible que ocurra; pero, aparte que en la mayoría de los casos es improbable (una buena práctica de programación sugiere usar prefijos o sufijos propios para nuestras unidades) la simple compilación muestra eso. En cambio, se pierde más tiempo averiguando casos como el de la unidad DsgnIntf que en Delphi 2007 se dividió en dos. Delphi podría perfectamente reconocer la presencia de esa unidad y hacer automáticamente el reemplazo.

De hecho, hay que agregar que aparentemente esa funcionalidad tenían, o tienen, la intención de incluírla porque en las pruebas que he hecho, detectan un nombre obsoleto y preguntan si uno quiere actualizar; lo que pasa es que no lo hacen.

Y finalmente, si no podían, lo mínimo es que al detectar la situación, al menos lo remitieran a uno a una documentacíón adecuada.
Responder Con Cita
  #9  
Antiguo 06-08-2007
rolandoj rolandoj is offline
Miembro
 
Registrado: abr 2007
Posts: 395
Poder: 18
rolandoj Va por buen camino
Cita:
Empezado por Al González Ver Mensaje
¡Hola a todos!


Desconozco si la versión 2007 tiene alguna herramienta para "conversión automática total de proyectos antiguos". Actualmente uso Delphi 7, pero comencé a utilizar Convert.exe en alguna versión anterior porque tuve un problema similar al tuyo.

Fíjate que esto del cuidado que CodeGear tiene (o dejó de tener) con la comunidad de usuarios de versiones "Borland" es un tema muy importante para el fortalecimiento de Delphi en el futuro. Hay dos mercados Delphi para CodeGear: Delphi 7- (versiones 7 y anteriores) y Delphi 2005+ (versiones 2005 y posteriores). Debemos hacerles ver que deben revalorar al primero. Las estadísticas no mienten.

Un abrazo estadístico.

Al González.
Hola Al,

Te agradezco toda la colaboración y te prometo que el martes voy a sacar tiempo para hacer algunos comentarios al respecto en la sección de estadísticas.

Ahora quiero contarte acerca del avance del proceso de migración.

Convert trabaja bien en los .dfm; pero al parecer no hace nada más. Probé con los .pas y los .dpk y nada. De todas formas, a prueba y error descubrí algunas cosas que hacen que la migración, por lo menos con los paquetes, haya trabajado aparentemente bien (al menos compilaron). No es lo ideal; pero trabaja.

Mi primer paso ha sido migrar mis paquetes, ya que estos incluyen más de 100 componentes. Para ello lo que hice fué experimentar con la clausula "requires". Descubri que si los nombres de los paquetes requeridos son los de Delphi 4, o los de Delphi 5, no hace nada; pero si son de Delphi 6 o Delphi 7, intenta compilar; fallando al no encontrarlos. Después se me ocurrió borrar la clausula requires y funcionó !!; es decir, el mismo Delphi se encargo de determinar los paquetes requeridos para la versión 2007 e insertalos en el dpk.

En conclusión, el método para migrar un p<aquete a Delphi 2007 consiste en ejecutar primero convert sobre los dfm y luego, borrar del paquete los nombres de los paquetes propios de Delphi, que estén en la clausula requires.

Sin embargo, al parecer hay excepciones porque el paquete DesignIDE tuve que incluírlo manualmente.

Mañana probaré con las aplicaciones como tal; pero razonablemente ya no debería haber mayores problemas.
Responder Con Cita
Respuesta



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
Migrar de Delphi 7 a Delphi 2007 Arturo_ Varios 2 13-07-2007 10:36:12
Codegear publica la ayuda de la VCL de delphi 2007 Win32 en PDF rruz Noticias 1 28-06-2007 03:26:17
Delphi 2007 para PDA jlrbotella Varios 4 07-03-2007 18:26:23
Lanzamiento de Delphi 2007 y Delphi para PHP en México con David I Andreano Noticias 13 27-02-2007 21:16:04
Lanzamiento de Delphi 2007 y Delphi para PHP en Bogotá - Colombia Andreano Noticias 9 25-02-2007 19:09:42


La franja horaria es GMT +2. Ahora son las 17:04:03.


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