FoxRibbon fue desarrollada por Guillermo Carrero (Barcelona, España)
Pueden descargar y probar esta nueva clase desde:
http://sites.google.com/site/foxribbonclass
*----------------------------------------------------------------
* Clase: UrlEncDec
* Autor: Marco Plaza, 28/03/2012
* Eencapsula las siguientes funciones de javascript via MsScriptcontrol:
* Escape/Unescape
* EncodeUriComponent/DecodeUriComponent
* EncodeUri/DecodeUri
*
* referencia de las funciones:http://msdn.microsoft.com/en-us/library/ht8a077w%28v=vs.94%29.aspx
*
* fácilmente extensible a otras funciones de javascript
*
*-----------------------------------------------------------------
* uso:
* o = create('urlEncDec')
* ? o.decodeuri('http://msdn.microsoft.com/en-us/library/ht8a077w%28v=vs.94%29.aspx')
* ? o.oResult
*
*------------------------------------------------------------------
*************************************
DEFINE CLASS URLENCDEC AS CUSTOM
oJs = ''
oResult=''
*---------------------------
PROCEDURE INIT
WITH THIS
.oJs=CREATEOBJECT('MSScriptcontrol.scriptcontrol.1')
.oResult=CREATEOBJECT('EMPTY')
ADDPROPERTY(.oResult,'ResultadoJs')
.oJs.LANGUAGE =[JavaScript]
.oJs.ADDOBJECT('oResult',.oResult)
ENDWITH
ENDPROC
*------------------------------------------
FUNCTION ESCAPE(lcCadena AS STRING ) AS STRING
RETURN THIS.ejecutar('escape',lcCadena)
ENDFUNC
*------------------------------------------
FUNCTION encodeURI(lcCadena AS STRING ) AS STRING
RETURN THIS.ejecutar('encodeURI',lcCadena)
ENDFUNC
*--------------------------------------------
FUNCTION decodeURIComponent(lcCadena AS STRING ) AS STRING
RETURN THIS.ejecutar('decodeURIComponent',lcCadena)
ENDFUNC
*------------------------------------------
FUNCTION encodeURIComponent(lcCadena AS STRING ) AS STRING
RETURN THIS.ejecutar('encodeURIComponent',lcCadena)
ENDFUNC
*------------------------------------------
FUNCTION unescape(lcCadena AS STRING ) AS STRING
RETURN THIS.ejecutar('unescape',lcCadena)
ENDFUNC
*------------------------------------------
FUNCTION decodeURI(lcCadena AS STRING ) AS STRING
RETURN THIS.ejecutar('decodeURI',lcCadena)
ENDFUNC
*------------------------------------------
FUNCTION ejecutar(lcComando,lcCadena AS STRING ) AS STRING
THIS.oJs.ExecuteStatement( [oResult.ResultadoJs=]+lcComando+[(']+lcCadena+[')] )
RETURN THIS.oResult.resultadoJs
ENDFUNC
ENDDEFINE
*---------------------------------
Marco Plaza
Clear
lcFile = GETFILE("MP3") && Ejemplo con archivos MP3
loShell = Createobject("Shell.Application")
loFolder = loShell.Namespace(JUSTPATH(m.lcFile))
loItem = loFolder.ParseName(JUSTFNAME(m.lcFile))
If !Isnull(loItem)
IF loItem.IsLink
objLink = loItem.GetLink()
? "Link properties of shortcut:"
? "-------------------------------------"
? "Description:", objLink.Description
? "Path:", objLink.Path
? "Arguments:", objLink.Arguments
? "WorkingDirectory:", objLink.WorkingDirectory
? "-------------------------------------"
else
For ix= 0 To 34 && version based. win 7: 0 to 266. Property order differs too.
? "Column "+Str(m.ix,2)+": "+ ;
loFolder.GetDetailsOf(loItem, m.ix)
Endfor
endif
Else
? "File doesn't exist"
Endif
Return
Para ver la información de las columnas: #DEFINE SW_SHOW_INVISIBLE 0
oShell = createobject("WScript.Shell")
oShell.Run("CMDBURN.EXE burn /d d:\sistema /l BACKUP /eject /hide", SW_SHOW_INVISIBLE, .T. )
#UNDEF SW_SHOW_INVISIBLE
RELEASE oShell
La constante #DEFINE SW_SHOW_INVISIBLE 0 la utilicé para que no se abrá una ventana mostrando la ejecución del programa. De todos modos, el programa incluye el parámetro /hide para ocultar la interface propia del Command Burner.CMDBURN.EXE burn /d d:\sistema /l BACKUP /eject /hide
lnOption = MsgboxEx( ; "You have entered a wrong password for 5 times." + chr(13) + ; "For security reasons this login was suspended.", ; && main message 0, ; && default icon info "Password incorrect", ; && title bar caption "\&Retry,&Exit,Get &new pwd", ; && new button captions "41.ico") && icon file
lnOption = MsgboxEx(; "An unexpected error has occurred and the system needs to be restarted." + ; chr(13) + chr(13) + "What do you want to do ?", ; "X", ; "MsgboxEx sample", ; "Restart &Now,Restart &later,&Never restart")
lnOption = MsgboxEx( ; "Could not find the file 'Import.csv' in the selected folder.", ; 0, ; "File not found", ; "&Abort,\&Retry,Change folder", ; "17.ico")