URGENTE. Guardar un archivo

Estoy haciendo un proyecto en Director y necesito que al pusar sobre una imagen se guarde un archivo que tengo en un cd al disco duro, en el directorio que seleccione el usuario.
URGE!. Gracias

1 respuesta

Respuesta
1
Prueba lo siguiente.
La imagen puede estar linkeada al importar, en este caso debes tener una arpeta llamada "imagenes" junto al .dir
Es necesario el uso de FileXtra y Fileio Xtra.
PROPERTY tipo_medio, myFile
on getPropertyDescriptionList me
set pdlist to [:]
addprop pdlist, #tipo_medio, [#comment:"Tipo de Medio", #format:#string, #default:"Imagen JPG", #range:["Imagen JPG"]]
return pdlist
end getPropertyDescriptionList
property miSprite
property miMember
property miEstado
on beginSprite me
miSprite=me.spriteNum
miMember=sprite(miSprite).member.name
end
On mouseUp me
Exportar(miMember)
end
-------
On exportar elemento
MiExt = ".jpg"
--------------------------
-- Instancia del Xtra:
myFile = new(xtra "fileio")
temp=tipo_medio&&"("&miExt&"), *"&miExt
myFile.setFilterMask (temp)
destinationPath=myFile.displaySave ("", elemento)
myFile=void
plataforma=the platform
if plataforma="Windows,32" then
separador="\"
else
separador=":"
end if
--put destinationPath
if destinationPath <> "" then
Miarchivo = elemento&MiExt
case tipo_medio of
"Imagen JPG": cdRomVolume = (the moviePath)&"Imagenes"&separador
"Video QuickTime": cdRomVolume = (the moviePath)&"Videos"&separador
"Película Flash": cdRomVolume = (the moviePath)&"Flash"&separador
end case
--------------------------
-- Instancia del Xtra:
fileXtraObj = new (xtra "filextra4")
tipoTMP=member(elemento).type
flag = fileXtraObj.fx_fileCopy (cdRomVolume & Miarchivo, destinationPath)
put cdRomVolume & Miarchivo
put destinationPath
if flag = 0 then
--Descripción del error de la operacion anterior.
--errorMsg=fileXtraObj.fx_ErrorNumber()
errorMsg = fileXtraObj.fx_ErrorString()
alert "Hubo un error "& errorMsg &&"al exportar"
end if
end if
fileXtraObj = void
end
Reduje y generalicé un poco el script.
Copia este script sobre el sprite que contiene el member que deseas exportar al hacer click sobre él.
Es importante que los member sean linkeados.
PROPERTY myFile
Property miSprite
Property miMember
Property mi estado
On beginSprite me
miSprite=me.spriteNum
miMember=sprite(miSprite).member
end
on mouseUp me
Exportar()
end
-------
on exportar me
tipo_medio=miMember.type
nombre_default=miMember.name
memberFileName=miMember.fileName
tempExt=memberFileName.length
laExtension = chars(memberFileName, tempExt-3, tempExt)
--------------------------
-- Instancia del Xtra:
myFile = new(xtra "fileio")
temp = tipo_medio && "("&laExtension&"), *"&laExtension
myFile.setFilterMask (temp)
destinationPath=myFile.displaySave ("", nombre_default)
myFile=void
if destinationPath <> "" then
Miarchivo = nombre_default&laExtension
--------------------------
-- Instancia del Xtra:
fileXtraObj = new (xtra "filextra4")
tipoTMP=void
tipoTMP=member(nombre_default).type
flag = fileXtraObj.fx_fileCopy (memberFileName, destinationPath)
--put cdRomVolume & Miarchivo
put destinationPath
if flag = 0 then
--Descripción del error de la operacion anterior.
errorMsg = fileXtraObj.fx_ErrorString()
alert "Hubo un error "& errorMsg &&"al exportar"
end if
end if
fileXtraObj = void
end

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas