COMO ADJUNTAR ARCHIVOS

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
Avatar de Usuario
yasmany
Hacker del Foro
Mensajes: 249
Registrado: 06 Sep 2011, 21:30

COMO ADJUNTAR ARCHIVOS

Mensaje por yasmany »

Hola a todos...
Me pudieran ayudar para adjuntar archivos para cuando hago una compilacion
tengo entendido q para adjuntar un icono (solo se para unito..no se como hacer para mas)

Código: Seleccionar todo

#AutoIt3Wrapper_icon=folder.ico
quiero adjuntar archivos wav y otros iconos
ESTOS ME SIRVEN para poder ver los iconos en los botones y reproducir la musica
POR ESO es q quisiera saber como lo hago
POR FA ayudadme CON EL CODIGO para varios archivos wav o imagenes e iconos
:smt039 ZALU2
Obra de modo que merezcas a tu propio juicio y a juicio de los demás la eternidad, que te hagas insustituible que no merezcas morir.
https://www.facebook.com/yasmanycurimilma
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: COMO ADJUNTAR ARCHIVOS

Mensaje por Ximorro »

Lo que quieres se hace con FileInstall().
Funciona de la siguiente manera:
.- En compilación inserta en el EXE el archivo que le dices en el primer parámetro (¡este parámetro no puede ser variable!)
.- En ejecución extrae el archivo donde le dices en el segundo parámetro, entonces usas ese archivo.

Es decir, no lo saca a memoria, tienes que guardarlo en disco (por ejemplo en el temporal) usarlo de ahí, y cuando acabes con él es tu responsabilidad borrarlo.

Por ejemplo puedes tocar un mp3 de dentro del exe si haces:

Código: Seleccionar todo

$pathmp3 = @TempDir & "\musica.mp3"
FileInstall("C:\misprogramas\tocamp3\musica.mp3", $pathmp3)
SoundPlay($pathmp3, 1)
SoundPlay("") ; Cerramos handler
FileDelete($pathmp3) ;¡lo borramos del temporal!
Cosas a tener en cuenta:
El primer parámetro de FileInstall no puede ser variable, aunque puedes usar path relativo, por ejemplo si tienes el mp3 en la misma carpeta que el au3 puedes usar ".\musica.mp3".
En el segundo parámetro (que sí puede ser variable) puedes omitir el nombre (poner sólo la carpeta), de esa manera mantiene el nombre original. Yo en este caso lo uso entero porque uso la misma variable para SoundPlay y FileDelete, que requieren el nombre entero. Así que podría haber hecho también:
FileInstall(".\musica.mp3", @TempDir & "\") ;Si pones sólo la carpeta destino, tiene que acabar con la barra

Si no haces el FileDelete el archivo se quedará en el temporal.

Aunque no uses el exe, por ejemplo si ejecutas el au3 directamente, que obviamente no tiene el mp3 dentro, igual se hace la copia del archivo. Así el código es igual si estás en desarrollo o ya es el EXE distribuido. O sea, aunque uses el au3 también tienes que borrar el archivo del temporal porque también lo copia allí.
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Responder