Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-01-2017
carlosw1978 carlosw1978 is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 31
Poder: 0
carlosw1978 Va por buen camino
Ejecutar código delphi

Un cordial saludo a la comunidad; existe la posibilidad de ejecutar un código, función, procedimiento, comando, etc. Almacenado en una variable de tipo String o si lo escribo en un Memo y poder ejecutar lo que está escrito en el memo, ejemplo:

var
Msg: String;

(Deseo que se ejecute lo que está dentro de la variable Msg)

Msg := 'MessageDlg('Mensaje prueba', mtInformatio, [mbOk], 0);';

O si escribiera el mismo código de un form con memo y un botón ejecutar.
Responder Con Cita
  #2  
Antiguo 22-01-2017
avmm2004 avmm2004 is offline
Miembro
 
Registrado: jun 2006
Ubicación: Santa cruz de Tenerife, Islas Canarias
Posts: 500
Poder: 18
avmm2004 Va por buen camino
Hola, date cuenta que eso es un string..... un texto. El compilador no compila los textos ... son strings. Por lo tanto que va a ejecutar ?.

La unica forma sería utilizar pascal script y compilarlo previo a su ejecución enviarlo ... compilarlo ... y ejecutarlo.
Responder Con Cita
  #3  
Antiguo 22-01-2017
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
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
Aunque también se puede automatizar al propio Delphi para que tome un texto, forme un archivo .dpr con él, lo compile y ejecute. Lo cual hace necesario instalar el compilador de Delphi en el equipo donde se llevará a cabo la operación, claro está.
Responder Con Cita
  #4  
Antiguo 22-01-2017
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
No creo que un lenguaje compilado sea una buena idea para este tipo de cosas. Es preferible usar algo como Python. Delphi simplemente fue concebido para otra cosa.

Solo por curiosidad, que es exactamente lo que querés lograr? Quizá haya otra solución
Responder Con Cita
  #5  
Antiguo 22-01-2017
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 18
Nasca Va por buen camino
Yo he usado directamente la posibilidad de añadir scripts a los informes de FastReport, pero igualmente FastScript se puede usar de forma independiente.
Lo mismo es una opción:

https://www.fast-report.com/es/product/fast-script/

Aunque supongo que hay otras opciones similares.
Responder Con Cita
  #6  
Antiguo 23-01-2017
carlosw1978 carlosw1978 is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 31
Poder: 0
carlosw1978 Va por buen camino
Gracias por responder, pero les comento que fui programador en visual FoxPro y existe una funcion que se llama execscript() tan solo escribir el código en un string dentro de la función y ejecutaba, no creo que delphi un lenguaje tan poderoso no tenga algo así debe haber una función o un procedimiento o una vcl o algo más.
Responder Con Cita
  #7  
Antiguo 23-01-2017
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 18
Nasca Va por buen camino
No conozco FoxPro, pero imagino que es similar a Access y al ser una herramienta para hacer programas con bases de datos tiene lógica que tenga un sistema de interpretado de código fuente.
No es el caso de Delphi, que produce una ejecutable compilado.
Por ello es necesario usar algún componente que añada esa funcionalidad, tipo FastScript. Opciones no te van a faltar, pero me temo que ninguna que vaya en el propio Delphi de fábrica.
Responder Con Cita
  #8  
Antiguo 23-01-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Poder, se puede, pero sería necesario que especificaras más qué quieres hacer exactamente, porque cuanto más amplio sea, más complejo será.
Si quieres que ejecute "cualquier cosa" que pongas en el string, entonces tendrás que crear tu propio analizador de expresiones.
Seguramente hay componentes que lo hace, pero ya digo, hace falta que aclares exactamente qué necesitas.
Responder Con Cita
  #9  
Antiguo 23-01-2017
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por carlosw1978 Ver Mensaje
Gracias por responder, pero les comento que fui programador en visual FoxPro y existe una funcion que se llama execscript() tan solo escribir el código en un string dentro de la función y ejecutaba, no creo que delphi un lenguaje tan poderoso no tenga algo así debe haber una función o un procedimiento o una vcl o algo más.
Como ya te han indicado, Delphi es un lenguaje compilado y la funcionalidad que comentas de FoxPro es propia de los lenguajes interpretados como el mismo FoxPro, Python, PHP, VB, etc.

Sin embargo, hay implementaciones de pascal que permiten usarlo para scripts. De lo más conocido y usado está el motor de REM Objects que es gratuito y es ampliamente usado por InnoSetup.

El motor viene en forma de paquetes que instalas en Delphi.

De todas maneras, tal como mencionó Agustín más arriba, Delphi no fue concebido para esto. Es decir, una cosa es hacer una aplicación como Inno Setup y permitir a los usuarios de ésta ampliarla con scripting, y otra cosa es basar tu desarrollo en funcionalidades tales como la ejecución de código almacenada en un texto. Normalmente, quienes buscan tal funcionalidad terminan encontrando que el lenguaje provee mejores y más elegante formas de hacer lo que quieren, y por eso, como dice master Casimiro, explica cuál es el objetivo y aí podremos orientarte mejor.

LineComment Saludos
Responder Con Cita
  #10  
Antiguo 26-01-2017
carlosw1978 carlosw1978 is offline
Miembro
NULL
 
Registrado: abr 2011
Posts: 31
Poder: 0
carlosw1978 Va por buen camino
Gracias por la sugerencia. Revisaré esa solución de REM Objects
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
ejecutar codigo de delphi cada 24 horas richy08 Lazarus, FreePascal, Kylix, etc. 13 07-06-2010 16:38:22
como ejecutar codigo html en delphi? (MAJ) Internet 4 22-07-2008 19:27:41
Ejecutar codigo de dos dentro de Programa Delphi JELIRM Varios 15 06-02-2007 22:38:11
Ejecutar codigo en un DBGrid johurgi Varios 1 28-08-2006 13:11:40
No ejecutar código en el navegador taita HTML, Javascript y otros 0 23-10-2005 01:35:15


La franja horaria es GMT +2. Ahora son las 21:28:56.


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