crear ejecutable con icono en c para lanzar un dcb (mediante bgdi) en bennu ...

Started by Prg, December 21, 2009, 07:54:11 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Prg

hola, estaba haciendo un exe en c que me lanzara todos mis programas del editorfpg, sin embargo cuando hay un espacio en la ruta no lo lanza.

lo hacía en c para ponerle un icono, y para no repetir las librerías a la hora de distribuir el editor.

hay alguna forma de ejecuta mis exes de bennu?
la idea es la siguiente:

system("c:\editorfpgmultisist\archivos internos\bgdi.exe c\:editorfpgmultisist\archivos internos\lanza.dcb");

intenté así:
system("c:\\editorfpgmultisist\\archivos\ internos\\bgdi.exe c\\:editorfpgmultisist\\archivos internos\\lanza.dcb");

así
ShellExecute(0,"open","c:/editorfpgmultisist/archivos internos/bgdi.exe",0, "c:/editorfpgmultisist/archivos internos/lanza.dcb",1);

así
execl("c:/editorfpgmultisist/archivos internos/bgdi.exe","c:/editorfpgmultisist/archivos internos/lanza,dcb", 0);

y ya comienzo a desesperarme.

hay alguna forma de escribir lo anterior y que funcione?

gracias, y disculpen la pregunta
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

Windgate

El espacio se suele interpretar como separador entre parametros, prueba a preceder cada espacio con la barra invertida (La de Windows que se pone con AltGr)... Asi se hace en Linux.
Iván García Subero. Programador, profesor de informática, monitor de actividades culturales y presidente de TRINIT Asociación de Informáticos de Zaragoza. http://trinit.es

Drumpi

Desde la linea de comandos de windows, en segun que casos, reconoce espacios en el nombre de la ruta, pero para aquellos casos "rebeldes" se debe escribir el nombre de la carpeta entre comillas dobles "tal que así".
Supongo que, dado el caso, debes incluir el caracter " (nº 34) en la cadena que le pasas al comando system. Puedes probar con:

system("c:\editorfpgmultisist\"+chr(34)+"archivos internos"+chr(34)+"\bgdi.exe c\:editorfpgmultisist\"+chr(34)+"archivos internos"+chr(34)+"\lanza.dcb");

O a sustituir el monbre de la carpeta por archivos_internos.

PD: Ups, lo he dicho en comandos Bennu, no se si será igual en C.
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

animanegra

De los primeros system, el segundo deberia de funcionar si cambias el errorcete en el parametro:

c\\: por c:\\

el espacio en c no necesita contrabarra(veo que la has puesto en el directorio que tiene espacio), eso si, como te dice drumpi el windows no se si te pilla los espacios en las llamadas al sistema. Si quieres meterle comillas en c es \" de todas formas creo que van al principio del comando y hasta el final de el y no solo en el subdirectorio que tiene el espacio como dice drumpi... pero como digo es un creo. Y la suposicion es la virtud de los metepatas ^^.

Creo que no he visto nada mas, de todas formas creo que la mejor opcion seria el meter los archivos de bennu en el mismo directorio y desde ahi ejecutar los comandos en el mismo directorio de trabajo. Si tu intencion es distribuirlo y eso.... Las rutas fijas no suelen ser muy compatibles con llevarlo a otros ordenadores ^^
"PoCoYo es dios!!"

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Prg

Quote from: SplinterGU on December 22, 2009, 01:52:31 PM
y por que no usas bennu para lanzar otros programas (bennu o no)?

lo  hac'ia,  pero me muestra el icono del bgdi, no el que le quiero poner  :'( (me refiero a la ventana de abrir con)

QuoteLas rutas fijas no suelen ser muy compatibles con llevarlo a otros ordenadores ^^
lo se, usaba un metodo de concatenaciones para crear la ruta. en realidad lo del espacio no es problema excepto cuando el usuario le dice al instalador que instale el programa en un directorio que tiene un espacio...

me temo que casi todo lo que me dijeron ya lo he probado...

he probado
con "\" ruta\""
con "\ "
y con un sinnumero de cosas mas.

creo que dejare el icono de bennu y hare el lanza con un bgdi camuflajeado... espero poder porque el programa que uso para crear instaladores hace cosas muy raras. saludos y gracias a todos.

en linux supongo que ah'i si me tocara hacer el lanza en c, para poder mediante comandos acceder a 'el,

o se pueden hacer ejecutables como en windows?
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)

l1nk3rn3l

desde el editor del bennupack    ::)

puedes crear un ejecutable comodamente...

y para cambiarle el icono
http://www.taringa.net/posts/downloads/1312778/Exelente-editor-de-Recursos!.html

SplinterGU

usa el codigo del modulo de exec de bennu para hacer una llamada limpia de ejecutables... ahi no vas a tener mas problemas
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

Prg

gracias, ya solucione todo, en windows deje el icono y del bgdi, pero en linux hice un ejecutable (o algo que se le parece) para usarse mediante consola.

saludos

en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)