FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
ó Código BAT o con Delphi
Me preguntaba como relacionar con Delphi para que funcione un archivo BAT o en su defecto LO HAGA DESDE Delphi, mi problema. Necesito crear un archivo que me realice la tarea del brcc32 que crea archivos de recursos. Inicialmente estaba intentando con un CONVERSOR.BAT, que contiene estas líneas:
PATH C:\Archivos de programa\Borland\Delphi7\Bin brcc32 PRUEBA.rc PRUEBA.res El código BAT sencillo de arriba me funcionaba bien para uno, pues detectaba donde se encontraba el ejecutable brcc32 para transformar un archivo de recursos de ".rc" a ".res", este BAT trabajaba muy bien en el directorio que me encontraba con un doble click. El problema era, que CUANDO CREABA OTRO fichero .rc, y otro, y otro, etc, cada vez tengo que estar editando mi CONVERSOR.BAT para cambiar los nombres del archivo en esa segunda línea (Ej.: brcc32 OtraPrueba.rc OtraPrueba.res) Entonces lo que requería es que mi Archivo BAT haga lo siguiente al doble click: 1.- Detecte los archivos *.rc que existan en el directorio actual que me encuentre. 2.- Que los Cuente, ¿Cuantos encontró? (O en su defecto EJECUTE el brcc32 con los encontrados) 3.- Hacer un FOR hasta la cantidad que Contó. 4.- Dentro del FOR Hacer funcionar: brcc32 para todos los archivos encontrados *.rc a *.res en el actual directorio y reemplazar si existe alguno con el mismo nombre. Me he planteado todo esto para evitarme IR CADA VEZ al directorio de BIN y hacer funcionar el brcc32, por un lado, por otro para evitarme hacer funcionar el brcc32 tecleando desde la ventana de MSDOS PARA CADA ARCHIVO "rc", lo ideal sería hacer un dobleclick en una Aplicación y que haga este trabajo para todos los "rc" que se encuentren en el ACTUAL DIRECTORIO. Con un BAT no lo he logrado, además que no me conozco de muchos de sus comandos. ¿Como relaciono todo este proceso con Delphi? Saludos Última edición por Deiv fecha: 10-06-2006 a las 15:52:37. |
#2
|
||||
|
||||
Dentro del archivo bat puedes escribir:
Código:
Set path = %path%;C:\Archivos de programa\Borland\Delphi7\Bin del *.res /y FOR %%FileRc IN (*.rc) DO brcc32 %%FileRec %%FileRec.res El archivo final quedará como Prueba.rc.res si no me equivoco, porque la variable FileRec se sustituye por cada nombre de archivo. Espero que sea viable. Aqui tienes un tutorial de archivos .bat: http://goforit.unk.edu/msdos/msdos19.htm Hacer el equivalente en Delphi, será más largo, a menos que tengas rutinas de apoyo como FindFilesInDir('c:\', '*.res') de las NKLIBS saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#3
|
||||
|
||||
Una MUCHO mejor opcion es usar WANT
http://sourceforge.net/projects/want/ Es un programa derivado de ANT, y permite hacer bats mucho mas poderos..
__________________
El malabarista. |
#4
|
|||
|
|||
Gracias
Gracias por las sugerencias. Acabo de darme cuenta que no tenía activado la opción: de respuesta instantánea por correo, recien que leo los post los probaré ambos y les comento.
Saludos |
#5
|
|||
|
|||
Hice algunas correcciones en la 2da y 3ra linea (/y por /p y FileRec x FileRc):
Set path = %path%;C:\Archivos de programa\Borland\Delphi7\Bin del *.res /p FOR %%FileRec IN (*.rc) DO (brcc32 %%FileRec %%FileRec.res) - Pero a pesar de ello Me dá error con el siguiente mensaje: ..."No se esperaba %FileRec en este momento" y no hace ningún trabajo ¿Donde está el error? - Otra consulta ¿por que en la 2da línea (del *.res /p) se le ordena borrar antes? ¿acaso esta linea no debía ser la 3ra? ¿Cual el objetivo? - No entiendo como se maneja el Programa WANT, descargué pero algún Help? Tutorial? para Want. Saludos |
#6
|
||||
|
||||
Pues el problema es que la variable solo puede tener una letra, es decir %%e (una sola letra despues de los %%):
Código:
@echo off Set path = %path%;C:\Archivos de programa\Borland\Delphi7\Bin del *.res /p echo empezando la compilacion for %%e in (*.rc) do brcc32 %%e echo. echo finalizado Decías que sobreescribiese cualquier *.res que hubiera, pues... se borran antes y así no tienes que sobreescribirlos El archivo de salida no hay por qué especificarlo. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#7
|
|||
|
|||
Justamente!, revisando el tutorial en http://goforit.unk.edu/msdos/msdos19.htm noté que la variable debía llevar una letra, gracias Lepe. Yo lo hice así:
Código:
Set path = %path%;C:\Archivos de programa\Borland\Delphi7\Bin FOR %%f IN (*.rc) DO (brcc32 %%f %%f.res) - ¿Alguien sabe como se utiliza el WANT?, estoy con la curiosidad. |
#8
|
||||
|
||||
Cita:
del = Delete * = Comodín (cualquier nombre de archivo) Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#9
|
|||
|
|||
Upsss, perdón no leí bien la primera vez.
Cita:
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
ANN: AnyNET-Delphi: Herramienta para generar codigo fuente Delphi desde :NET | mamcx | Noticias | 7 | 21-05-2007 02:12:36 |
Delphi + Access + con codigo | albertoP | Conexión con bases de datos | 25 | 17-05-2006 14:40:59 |
Portar codigo de Delphi a C++ | eliash | Varios | 4 | 19-12-2005 15:45:29 |
de codigo VB a codigo Delphi | ingel | Impresión | 2 | 20-07-2004 14:15:44 |
codigo sql en delphi | azaagh | SQL | 4 | 11-06-2004 18:15:55 |
|