IMPORT os IMPORT security FUNCTION ver_archivo(fname) DEFINE fr_end STRING, fname STRING, lname STRING, dname STRING, d_dir STRING, m_err STRING LET fr_end=ui.Interface.getFrontEndName() LET fname=get_local_path(fname) IF os.Path.exists(fname) THEN LET m_err=SFMT("Archivo %1 recibido",fname) # CALL fgl_winMessage("Debug",m_err,"information") ELSE LET m_err=SFMT(%"No existe el archivo %1", fname) CALL fgl_winmessage("Error",m_err,"stop") RETURN END IF IF fr_end="GDC" THEN CALL open_file_with_app(fr_end,fname) ELSE LET lname=os.path.basename(fname) IF fr_end="GMI" OR fr_end="GMA" THEN CALL ui.interface.frontcall("standard", "feinfo", ["datadirectory"], [d_dir]) IF d_dir.getCharAt(d_dir.getLength())=="/" THEN LET dname=d_dir,lname ELSE LET dname=d_dir,"/",lname END IF ELSE LET dname=lname END IF CALL fgl_putfile(fname,dname) IF fr_end="GMI" OR fr_end="GMA" THEN CALL open_file_with_app(fr_end,dname) END IF END IF END FUNCTION PRIVATE FUNCTION get_local_path(f) DEFINE x base.StringBuffer DEFINE f STRING LET f=base.Application.getProgramDir(),f CLIPPED LET x=base.StringBuffer.create() CALL x.append(f) CALL x.replace("\\","/",0) RETURN x.toString() END FUNCTION PRIVATE FUNCTION open_file_with_app(fr_end,f_name) DEFINE fr_end STRING DEFINE f_name STRING DEFINE s_cmd STRING DEFINE m_err STRING DEFINE ret INTEGER IF fr_end="GDC" THEN LET s_cmd="shellexec" ELSE LET s_cmd="launchurl" LET f_name="file://",f_name END IF LET m_err=SFMT(%"Abriendo el archivo %1 con %2 en %3", f_name, s_cmd, fr_end) # CALL fgl_winmessage("Debug",m_err,"information") CALL ui.Interface.frontCall("standard",s_cmd,[f_name],[ret]) END FUNCTION FUNCTION check_create_folder(dir) DEFINE dir STRING DEFINE msg STRING DEFINE ret BOOLEAN CALL os.Path.exists(dir) RETURNING ret IF ret THEN LET msg=SFMT(%"Folder %1 already exists",dir) # CALL fgl_winmessage("Debug",msg,"information") ELSE -- creates the folder CALL os.Path.mkdir(dir) RETURNING ret END IF IF NOT(ret) THEN LET msg=SFMT(%"Unable to create folder %1",dir) CALL fgl_winmessage("Error",msg,"stop") EXIT PROGRAM END IF END FUNCTION FUNCTION b64_to_file(str_b64,f_sal) DEFINE f_sal,str_b64,str_aux STRING TRY CALL security.Base64.SaveBinary(f_sal,str_b64) CATCH LET str_aux="Unable to convert Base64 String to file :",STATUS CALL fgl_winmessage("Error",str_aux,"stop") END TRY END FUNCTION