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
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