Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ejecutar varios codigos DOS desde delphi (https://www.clubdelphi.com/foros/showthread.php?t=43913)

gulder 23-05-2007 21:01:23

ejecutar varios codigos DOS desde delphi
 
hola foro como andan mi pregunta es la siguiente, en el foro he encontrado varias formas de ejecutar código DOS desde un programa delphi pero lo que trato de hacer no lo he logrado con estos ejemplo, lo que yo quiero hacer es primero ubicarme en una dirección especifica y después hacer algo desde esa dirección les explico mejor:

Código:

cd C:\Documents and Settings\Compaq_Propietario\Escritorio


desde esta dirección ejecutar otro comando por ejemplo

Código:

javac log.java


Donde loj.java se encuentra en la dirección que arriba especifique, espero que me hayan entendido gracias de antemano gulder. :confused:

egostar 23-05-2007 21:37:31

Me resulta curioso que estes trabajando en el escritorio, sin embargo, para compilar codigo java necesitas configurar donde se localiza el directorio de java.

Sin embargo, si esto que comentas lo puedes hacer directamente desde la cosola de comandos, no le veo problema para que lo hagas con delphi.

En todo caso requiririas algo así

Cita:

cd C:\Documents and Settings\Compaq Propietario\Escritorio
D:\jdk1.5.0_09\bin\javac log.java
Salud OS.

seoane 23-05-2007 21:46:14

Y no llegaría con esto:
Código Delphi [-]
ShellExecute(Handle,nil,PChar('javac'),PChar('log.java'),PChar('"C:\Documents and Settings\Compaq_Propietario\Escritorio"'),SW_SHOW);

:confused:

egostar 23-05-2007 22:02:48

Cita:

Empezado por seoane
Y no llegaría con esto:
Código Delphi [-]ShellExecute(Handle,nil,PChar('javac'),PChar('log.java'),PChar('"C:\Documents and Settings\Compaq_Propietario\Escritorio"'),SW_SHOW);


:confused:

Por supuesto amigo seoane, lo que queria resaltar es que si lo hace así desde la consola de comandos y funciona, ese código funcionaria sin problemas, pero puede ser que requiera de la ubicación de java, por ejemplo yo lo tengo en este directorio D:\jdk1.5.0_09\bin\

Código Delphi [-]
ShellExecute(Handle,nil,PChar('D:\jdk1.5.0_09\bin\javac log.java\javac'),PChar('log.java'),PChar('"C:\Documents and Settings\Compaq_Propietario\Escritorio"'),SW_SHOW);

Salud OS.

seoane 23-05-2007 22:07:11

Cita:

Empezado por egostar
Por supuesto amigo seoane, lo que queria resaltar es que si lo hace así desde la consola de comandos y funciona, ese código funcionaria sin problemas, pero puede ser que requiera de la ubicación de java, por ejemplo yo lo tengo en este directorio D:\jdk1.5.0_09\bin\

Yo supongo que el problema es que la salida del comando se guarda en el directorio actual y no sabia como cambiarlo, por eso le indique cual de los parámetros de ShellExecute era el que necesitaba. Pero puede que la solución a su problema sea una combinación de ambas respuestas ;)

egostar 23-05-2007 22:13:27

Cita:

Empezado por seoane
Yo supongo que el problema es que la salida del comando se guarda en el directorio actual y no sabia como cambiarlo, por eso le indique cual de los parámetros de ShellExecute era el que necesitaba. Pero puede que la solución a su problema sea una combinación de ambas respuestas ;)

Ah pues ya estamos en la misma frecuencia amigo seoane, espero que gulder nos comente sus resultados.:)

Salud OS.

gulder 23-05-2007 22:45:07

hola a todos y gracias por contestar
 
hola a todos y gracias por contestar, contestando algunas dudas egostar lo del escritorio era solo un ejemplo, por otro lado usted me dice que:

Cita:

para compilar codigo java necesitas configurar donde se localiza el directorio de java.
pues yo tengo una variable de entrono apuntando al bin de java osea que creo que no tengo que ubicarlo, si me equivoco me disculpan mi ignorancia, y por ultimo por que no lo hago desde la consola de comandos. Pues mira desde la consola funciona perfecto es que tengo que hacerlo desde un programa delphi obligatoriamente por que es un trabajo para la universida.

para seoane esoy probando lo que me comentas gracias de antemano gulder

gulder 26-05-2007 01:41:36

hola foro otra vez por aqui
 
hola foro como andan otra otra vez yo por aqui, probe todo lo que me dijeron y funciono de maravillas, me crea el class perfectamente pero haora que con la funcion he creado el .class de mi programa java, quiero saber el momento preciso cuando se creo mi class, para despues ejecutarlo.
Probe de la siguiente manera:

Código:

ShellExecute(Handle,nil,PChar('javac'),PChar('log.java'),PCha("C:\"'),SW_SHOW);
 
 
y seguido colo que el siguiente codigo para ejecutarlo
 
 
ShellExecute(Handle,nil,PChar('java'),PChar('nombre_del.class'),PCha("C:\"'),SW_SHOW);

pero lo que pasa es que no ba ha encontrar la clase puesto que todavia no le a dado tiempo al compilador de java de crear el class, como le hago para que despues de que crea el class lo ejecute de inmediatamente, ojala me hallan entendido gracias de antemano gulder.....


La franja horaria es GMT +2. Ahora son las 02:43:21.

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