- Agregado de los fuentes de FileName_Caps.exe
This commit is contained in:
2
FileName_Caps/CONFIG/config.fpw
Normal file
2
FileName_Caps/CONFIG/config.fpw
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
SCREEN=OFF
|
||||||
|
RESOURCE=OFF
|
||||||
87
FileName_Caps/Filename_caps.pj2
Normal file
87
FileName_Caps/Filename_caps.pj2
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
* (ES) AUTOGENERADO - <20><>ATENCI<43>N!! - <20><>NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!!
|
||||||
|
* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!!
|
||||||
|
*--------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||||
|
*< FOXBIN2PRG: Version="1.19" SourceFile="filename_caps.pjx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries)
|
||||||
|
*
|
||||||
|
LPARAMETERS tcDir
|
||||||
|
|
||||||
|
lcCurdir = SYS(5)+CURDIR()
|
||||||
|
CD ( EVL( tcDir, JUSTPATH( SYS(16) ) ) )
|
||||||
|
|
||||||
|
*<DevInfo>
|
||||||
|
_Author = ""
|
||||||
|
_Company = ""
|
||||||
|
_Address = ""
|
||||||
|
_City = ""
|
||||||
|
_State = ""
|
||||||
|
_PostalCode = ""
|
||||||
|
_Country = ""
|
||||||
|
*--
|
||||||
|
_Comments = "Capitalization for files"
|
||||||
|
_CompanyName = "Fernando D. Bozzo"
|
||||||
|
_FileDescription = "Capitalization for files"
|
||||||
|
_LegalCopyright = "Creative Commons 4: Reconocimiento - CompartirIgual (by-sa): http://creativecommons.org/licenses/by/4.0/"
|
||||||
|
_LegalTrademark = "Creative Commons 4: Reconocimiento - CompartirIgual (by-sa): http://creativecommons.org/licenses/by/4.0/"
|
||||||
|
_ProductName = "FILENAME_CAPS"
|
||||||
|
_MajorVer = "2"
|
||||||
|
_MinorVer = "3"
|
||||||
|
_Revision = "0"
|
||||||
|
_LanguageID = ""
|
||||||
|
_AutoIncrement = "0"
|
||||||
|
*</DevInfo>
|
||||||
|
|
||||||
|
|
||||||
|
*<BuildProj>
|
||||||
|
*<.HomeDir = 'c:\desa\filename_caps' />
|
||||||
|
|
||||||
|
FOR EACH loProject IN _VFP.Projects FOXOBJECT
|
||||||
|
loProject.Close()
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
STRTOFILE( '', '__newproject.f2b' )
|
||||||
|
BUILD PROJECT Filename_caps.pjx FROM '__newproject.f2b'
|
||||||
|
FOR EACH loProject IN _VFP.Projects FOXOBJECT
|
||||||
|
loProject.Close()
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
MODIFY PROJECT 'Filename_caps.pjx' NOWAIT NOSHOW NOPROJECTHOOK
|
||||||
|
|
||||||
|
loProject = _VFP.Projects('Filename_caps.pjx')
|
||||||
|
|
||||||
|
WITH loProject.FILES
|
||||||
|
.ADD('config\config.fpw') && *< FileMetadata: Type="T" Cpid="1252" Timestamp="0" ID="0" ObjRev="0" />
|
||||||
|
.ADD('filename_caps.prg') && *< FileMetadata: Type="P" Cpid="1252" Timestamp="0" ID="0" ObjRev="544" />
|
||||||
|
*</BuildProj>
|
||||||
|
|
||||||
|
.ITEM('__newproject.f2b').Remove()
|
||||||
|
|
||||||
|
*<FileComments>
|
||||||
|
*</FileComments>
|
||||||
|
|
||||||
|
*<ExcludedFiles>
|
||||||
|
*</ExcludedFiles>
|
||||||
|
|
||||||
|
*<TextFiles>
|
||||||
|
.ITEM(lcCurdir + 'config\config.fpw').Type = 'T'
|
||||||
|
*</TextFiles>
|
||||||
|
ENDWITH
|
||||||
|
|
||||||
|
WITH loProject
|
||||||
|
*<ProjectProperties>
|
||||||
|
.SetMain(lcCurdir + 'filename_caps.prg')
|
||||||
|
.Debug = .T.
|
||||||
|
.Encrypted = .F.
|
||||||
|
*<.CmntStyle = 1 />
|
||||||
|
*<.NoLogo = .F. />
|
||||||
|
*<.SaveCode = .T. />
|
||||||
|
.ProjectHookLibrary = ''
|
||||||
|
.ProjectHookClass = ''
|
||||||
|
*</ProjectProperties>
|
||||||
|
ENDWITH
|
||||||
|
|
||||||
|
|
||||||
|
_VFP.Projects('Filename_caps.pjx').Close()
|
||||||
|
*ERASE '__newproject.f2b'
|
||||||
|
CD (lcCurdir)
|
||||||
|
RETURN
|
||||||
BIN
FileName_Caps/Filename_caps.pjt
Normal file
BIN
FileName_Caps/Filename_caps.pjt
Normal file
Binary file not shown.
BIN
FileName_Caps/Filename_caps.pjx
Normal file
BIN
FileName_Caps/Filename_caps.pjx
Normal file
Binary file not shown.
96
FileName_Caps/Normalize_FileNames.vbs
Normal file
96
FileName_Caps/Normalize_FileNames.vbs
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
'---------------------------------------------------------------------------------------------------
|
||||||
|
' Normalize_FileNames.vbs - 06/01/2014 - Fernando D. Bozzo (fdbozzo@gmail.com)
|
||||||
|
'---------------------------------------------------------------------------------------------------
|
||||||
|
' ENGLISH:
|
||||||
|
' Create a shortcut on user's "SendTo" folder and configure CAPS on filename_caps.cfg
|
||||||
|
'
|
||||||
|
' ESPA<50>OL:
|
||||||
|
' Cree un acceso directo en la carpeta "SendTo" del usuario y configure las Capitalizaciones en filename_caps.cfg
|
||||||
|
'---------------------------------------------------------------------------------------------------
|
||||||
|
Const ForReading = 1
|
||||||
|
Dim WSHShell, FileSystemObject
|
||||||
|
Dim oVFP9, nExitCode, cEXETool, cCMD, nDebug, cConvertType, aExtensions(8), filename_caps_log
|
||||||
|
Dim i, x, str_cfg, aConf
|
||||||
|
Set WSHShell = WScript.CreateObject("WScript.Shell")
|
||||||
|
Set FileSystemObject = WScript.CreateObject("Scripting.FileSystemObject")
|
||||||
|
Set oVFP9 = CreateObject("VisualFoxPro.Application.9")
|
||||||
|
filename_caps_log = Replace(WScript.ScriptFullName, WScript.ScriptName, "filename_caps.log")
|
||||||
|
nExitCode = 0
|
||||||
|
'---------------------------------------------------------------------------------------------------
|
||||||
|
nDebug = 5 'Cumulative Flags: 0=OFF, 1=Create filename_caps LOG, 2=Only show script calls, 4=Don't show filename_caps error modal messages
|
||||||
|
'---------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
If WScript.Arguments.Count = 0 Then
|
||||||
|
nExitCode = 1
|
||||||
|
cErrMsg = "nDebug = " & nDebug
|
||||||
|
If GetBit(nDebug, 1) Then
|
||||||
|
cErrMsg = cErrMsg & Chr(13) & "Bit 0 ON: (1) Create filename_caps LOG"
|
||||||
|
End If
|
||||||
|
If GetBit(nDebug, 2) Then
|
||||||
|
cErrMsg = cErrMsg & Chr(13) & "Bit 1 ON: (2) Only show script calls"
|
||||||
|
End If
|
||||||
|
If GetBit(nDebug, 3) Then
|
||||||
|
cErrMsg = cErrMsg & Chr(13) & "Bit 2 ON: (4) Don't show filename_caps error modal messages"
|
||||||
|
End If
|
||||||
|
MsgBox cErrMsg, 64, "No parameters - Debug Status"
|
||||||
|
Else
|
||||||
|
cEXETool = Replace(WScript.ScriptFullName, WScript.ScriptName, "filename_caps.exe")
|
||||||
|
If GetBit(nDebug, 1) And Not GetBit(nDebug, 2) And Not FileSystemObject.FileExists( filename_caps_log ) Then
|
||||||
|
FileSystemObject.CreateTextFile( filename_caps_log )
|
||||||
|
End If
|
||||||
|
|
||||||
|
For i = 0 To WScript.Arguments.Count-1
|
||||||
|
scanDirs( WScript.Arguments(i) )
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
WScript.Quit(nExitCode)
|
||||||
|
|
||||||
|
|
||||||
|
Private Sub scanDirs( tcArgument )
|
||||||
|
Dim omFolder, oFolder
|
||||||
|
If FileSystemObject.FolderExists( tcArgument ) Then
|
||||||
|
'-- Es un directorio
|
||||||
|
Set omFolder = FileSystemObject.GetFolder( tcArgument )
|
||||||
|
For Each oFile IN omFolder.Files
|
||||||
|
evaluateFile( oFile.Path )
|
||||||
|
Next
|
||||||
|
For Each oFolder IN omFolder.SubFolders
|
||||||
|
scanDirs( oFolder.Path )
|
||||||
|
Next
|
||||||
|
Else
|
||||||
|
'-- Es un archivo
|
||||||
|
evaluateFile( tcArgument )
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
Private Sub evaluateFile( tcFile )
|
||||||
|
cFlagGenerateLog = "'0'"
|
||||||
|
cFlagDontShowErrMsg = "'0'"
|
||||||
|
cFlagShowCall = "'0'"
|
||||||
|
If GetBit(nDebug,1) Then
|
||||||
|
cFlagGenerateLog = "'1'"
|
||||||
|
End If
|
||||||
|
If GetBit(nDebug,2) Then
|
||||||
|
cFlagJustShowCall = "1"
|
||||||
|
End If
|
||||||
|
If GetBit(nDebug,3) Then
|
||||||
|
cFlagDontShowErrMsg = "'1'"
|
||||||
|
End If
|
||||||
|
|
||||||
|
cCMD = "DO '" & cEXETool & "' WITH '" & tcFile & "','','F','',.F.," & cFlagDontShowErrMsg
|
||||||
|
If cFlagJustShowCall = "1" Then
|
||||||
|
MsgBox cCMD, 0, "PARAMETROS ENVIADOS"
|
||||||
|
Else
|
||||||
|
oVFP9.DoCmd( cCMD )
|
||||||
|
'nExitCode = oVFP9.Eval("_SCREEN.ExitCode")
|
||||||
|
End If
|
||||||
|
End Sub
|
||||||
|
|
||||||
|
|
||||||
|
Function GetBit(lngValue, BitNum)
|
||||||
|
Dim BitMask
|
||||||
|
If BitNum < 32 Then BitMask = 2 ^ (BitNum - 1) Else BitMask = "&H80000000"
|
||||||
|
GetBit = CBool(lngValue AND BitMask)
|
||||||
|
End Function
|
||||||
25
FileName_Caps/filename_caps.cfg
Normal file
25
FileName_Caps/filename_caps.cfg
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
*--------------------------------------------------------------------------------------
|
||||||
|
* FILENAME_CAPS.CFG
|
||||||
|
*
|
||||||
|
* FORMATO DE M<>SCARAS:
|
||||||
|
* --------------------
|
||||||
|
* filemask=FileName.Ext:FileNameCAPS.ExtCAPS
|
||||||
|
* Donde: FileName ==> Es el nombre del archivo
|
||||||
|
* Ext ==> Es la extensi<73>n
|
||||||
|
* FileNameCAPS ==> (U)ppercase, (L)owercase, (P)roper, (M)atch, (N)o change
|
||||||
|
* ExtCAPS ==> (U)ppercase, (L)owercase, (P)roper, (M)atch, (N)o change
|
||||||
|
*
|
||||||
|
* EJEMPLOS DE M<>SCARAS:
|
||||||
|
* ---------------------
|
||||||
|
* filemask=*.PDF:U.L ==> Convierte los archivos PDF a <NOMBREARCHIVO.pdf>
|
||||||
|
* filemask=*.DOT:L.U ==> Convierte los archivos DOT a <nombrearchivo.DOT>
|
||||||
|
* filemask=*.PRG:C.L ==> Convierte un archivo espec<65>fico a <Nombrearchivo.ini>
|
||||||
|
* filemask=EJeMPLo.ini:M.U ==> Convierte un archivo espec<65>fico a <EJeMPLo.INI>
|
||||||
|
* filemask=EjEmPlO.ini:P.U ==> Convierte un archivo espec<65>fico a <Ejemplo.INI>
|
||||||
|
*
|
||||||
|
* IMPORTANTE:
|
||||||
|
* -----------
|
||||||
|
* LAS CONVERSIONES SE REALIZAN EN EL ORDEN QUE SE PONGAN, COMENZANDO POR ARRIBA.
|
||||||
|
*--------------------------------------------------------------------------------------
|
||||||
|
filemask=README.ini:M.M
|
||||||
|
filemask=*.*:N.L
|
||||||
210
FileName_Caps/filename_caps.prg
Normal file
210
FileName_Caps/filename_caps.prg
Normal file
@@ -0,0 +1,210 @@
|
|||||||
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
|
*-- FileName_Caps.PRG
|
||||||
|
*-- CAPITALIZA EL NOMBRE Y EXTENSI<53>N DEL ARCHIVO INDICADO SEG<45>N LA CONFIGURACI<43>N INDICADA
|
||||||
|
*-- Fernando D. Bozzo - 24/12/2013
|
||||||
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
|
* EJEMPLOS CON M<>SCARAS IN-LINE (SIN ARCHIVO CONFIG):
|
||||||
|
* filename_caps( 'un_EjeMplo.PrG', '*.pRg:M.M' ) ==> 'un_EjeMplo.PrG'
|
||||||
|
* filename_caps( 'un_EjeMplo.PrG', '*.pRg:U.L' ) ==> 'UN_EJEMPLO.prg'
|
||||||
|
* filename_caps( 'un_EjeMplo.PrG', '*.pRg:P.U' ) ==> 'Un_ejemplo.PRG'
|
||||||
|
* filename_caps( 'UN_EJEMPLO.PRG', 'un_EjeMplo.pRg:M.M' ) ==> 'un_EjeMplo.pRg'
|
||||||
|
*
|
||||||
|
* EJEMPLO CON M<>SCARAS EN ARCHIVO CONFIG 'filename_caps.cfg':
|
||||||
|
* filemask=*.TXT:P.L
|
||||||
|
* filemask=*.PDF:U.L
|
||||||
|
* filemask=*.APP:P.U
|
||||||
|
* filemask=un_EjeMplo.pRg:M.M
|
||||||
|
*
|
||||||
|
* filename_caps( 'UN_EJEMPLO.TXT', 'filename_caps.cfg', 'F' ) ==> 'Un_ejemplo.prg'
|
||||||
|
* filename_caps( 'un_ejemplo.PDF', 'filename_caps.cfg', 'F' ) ==> 'UN_EJEMPLO.prg'
|
||||||
|
* filename_caps( 'un_ejemplo.prg', 'filename_caps.cfg', 'F' ) ==> 'Un_ejemplo.PRG'
|
||||||
|
* filename_caps( 'UN_EJEMPLO.PRG', 'filename_caps.cfg', 'F' ) ==> 'un_EjeMplo.PrG'
|
||||||
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
|
* PAR<41>METROS: (!=Obligatorio | ?=Opcional) (@=Pasar por referencia | v=Pasar por valor) (IN/OUT)
|
||||||
|
* tcFileName (!v IN ) Archivo a capitalizar
|
||||||
|
* tcFileMask (?v IN ) Mascara de archivo o archivo de configuraci<63>n de m<>scaras (U,L,P,N,M)
|
||||||
|
* => Significado: (U)pper,(L)ower,(P)roper,(M)atch,(N)one
|
||||||
|
* tcFileMaskType (?v IN ) 'M' o nada=FileMask es una m<>scara, 'F'=FileMask es un archivo config.
|
||||||
|
* tcLog (?@ OUT) Log generado por este programa
|
||||||
|
* tlRelanzarError (?v IN ) Indica si el error se debe relanzar (THROW) o no
|
||||||
|
* tcDontShowErrors (?v IN ) '1'=Don't show errors, Otherwise=Show errors
|
||||||
|
*--------------------------------------------------------------------------------------------------------------
|
||||||
|
LPARAMETERS tcFileName, tcFileMask, tcFileMaskType, tcLog, tlRelanzarError, tcDontShowErrors
|
||||||
|
|
||||||
|
#DEFINE CR_LF CHR(13)+CHR(10)
|
||||||
|
|
||||||
|
LOCAL lcFileName ;
|
||||||
|
, loFNC AS cl_FileName_Caps OF FileName_Caps.prg ;
|
||||||
|
, loEx AS EXCEPTION
|
||||||
|
|
||||||
|
loFNC = CREATEOBJECT("cl_FileName_Caps")
|
||||||
|
lcFileName = loFNC.Capitalize( tcFileName, tcFileMask, tcFileMaskType, tcLog, tlRelanzarError, tcDontShowErrors )
|
||||||
|
|
||||||
|
RETURN lcFileName
|
||||||
|
|
||||||
|
|
||||||
|
DEFINE CLASS cl_FileName_Caps AS Custom
|
||||||
|
|
||||||
|
PROCEDURE Capitalize
|
||||||
|
LPARAMETERS tcFileName, tcFileMask, tcFileMaskType, tcLog, tlRelanzarError, tcDontShowErrors
|
||||||
|
|
||||||
|
TRY
|
||||||
|
LOCAL loEx AS EXCEPTION, laMasks(1,4), lcDefinition, lcFileDef, lcMaskDef, laLines(1), lcMenErr ;
|
||||||
|
, I, X, lcName, lcExt, lcPath, lcFileName, laFile(1,5), lcLogFile, lcSys16, lnPosProg ;
|
||||||
|
, loFSO AS Scripting.FileSystemObject
|
||||||
|
|
||||||
|
loEx = NULL
|
||||||
|
loFSO = CREATEOBJECT('Scripting.FileSystemObject')
|
||||||
|
tcFileMaskType = EVL(tcFileMaskType,'M')
|
||||||
|
lcFileName = tcFileName
|
||||||
|
lcLogFile = FORCEEXT(SYS(16),'LOG')
|
||||||
|
tcLog = ''
|
||||||
|
tcDontShowErrors = EVL( tcDontShowErrors, '0' )
|
||||||
|
|
||||||
|
IF EMPTY(tcFileMask)
|
||||||
|
IF tcFileMaskType <> 'F'
|
||||||
|
tcLog = tcLog + CR_LF + '- No hay m<>scara definida ni archivo de configuraci<63>n'
|
||||||
|
EXIT && No se indic<69> nada que hacer
|
||||||
|
ELSE
|
||||||
|
lcSys16 = SYS(16)
|
||||||
|
IF LEFT(lcSys16,10) == 'PROCEDURE '
|
||||||
|
lnPosProg = AT(" ", lcSys16, 2) + 1
|
||||||
|
ELSE
|
||||||
|
lnPosProg = 1
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
tcFileMask = FORCEEXT( SUBSTR( lcSys16, lnPosProg ), 'CFG' )
|
||||||
|
tcLog = tcLog + CR_LF + '- Se usar<61> el archivo de configuraci<63>n [' + tcFileMask + ']'
|
||||||
|
IF NOT FILE(tcFileMask)
|
||||||
|
ERROR 'El archivo de configuraci<63>n de FileName_CAPS [' + tcFileMask + '] no existe!'
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
IF tcFileMaskType == 'M' && M<>scara in-line
|
||||||
|
*-- Estructura: Filename.Ext:FNameMask.ExtMask;...
|
||||||
|
tcLog = tcLog + CR_LF + '- M<>scaras definidas: [' + tcFileMask + ']'
|
||||||
|
FOR I = 1 TO OCCURS( ';', tcFileMask + ';' )
|
||||||
|
lcDefinition = GETWORDNUM( tcFileMask + ';', I, ';' )
|
||||||
|
lcFileDef = GETWORDNUM( lcDefinition, 1, ':' )
|
||||||
|
lcMaskDef = GETWORDNUM( lcDefinition, 2, ':' )
|
||||||
|
laMasks(I,1) = JUSTSTEM( lcFileDef )
|
||||||
|
laMasks(I,2) = JUSTEXT( lcFileDef )
|
||||||
|
laMasks(I,3) = JUSTSTEM( lcMaskDef )
|
||||||
|
laMasks(I,4) = JUSTEXT( lcMaskDef )
|
||||||
|
ENDFOR
|
||||||
|
ELSE && Archivo de configuraci<63>n
|
||||||
|
*-- Estructura:
|
||||||
|
* filemask=Filename.Ext:FilenameCap.ExtCap => Cap: (U)pper,(L)ower,(P)roper,(M)atch,(N)one
|
||||||
|
* filemask=*.PDF:U.L ==> <NOMBREARCHIVO.pdf>
|
||||||
|
* filemask=*.DOT:L.U ==> <nombrearchivo.DOT>
|
||||||
|
* filemask=*.PRG:C.N ==> <Nombrearchivo.ini>
|
||||||
|
* filemask=EjEmPlO.iNi:C.N ==> <Ejemplo.iNi>
|
||||||
|
X = 0
|
||||||
|
FOR I = 1 TO ALINES( laLines, FILETOSTR( tcFileMask ), 1+4 )
|
||||||
|
IF LOWER( LEFT( laLines(I), 8 ) ) == 'filemask'
|
||||||
|
tcLog = tcLog + CR_LF + '- Se encontr<74> la m<>scara: [' + laLines(I) + ']'
|
||||||
|
X = X + 1
|
||||||
|
lcDefinition = GETWORDNUM( laLines(I), 2, '=' )
|
||||||
|
lcFileDef = GETWORDNUM( lcDefinition, 1, ':' )
|
||||||
|
lcMaskDef = GETWORDNUM( lcDefinition, 2, ':' )
|
||||||
|
DIMENSION laMasks(X,4)
|
||||||
|
laMasks(X,1) = JUSTSTEM( lcFileDef ) && Name
|
||||||
|
laMasks(X,2) = JUSTEXT( lcFileDef ) && Ext
|
||||||
|
laMasks(X,3) = JUSTSTEM( lcMaskDef ) && Name Mask
|
||||||
|
laMasks(X,4) = JUSTEXT( lcMaskDef ) && Ext Mask
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
*-- FileName: "c:\desa\sourcesafe\myfile.ext"
|
||||||
|
lcPath = JUSTPATH( lcFileName )
|
||||||
|
lcName = JUSTSTEM( lcFileName )
|
||||||
|
lcExt = JUSTEXT( lcFileName )
|
||||||
|
|
||||||
|
FOR I = 1 TO ALEN( laMasks, 1 )
|
||||||
|
IF LIKE( UPPER( FORCEEXT( laMasks(I,1), laMasks(I,2) ) ), UPPER( FORCEEXT( lcName, lcExt ) ) )
|
||||||
|
*-- EVALUACI<43>N DEL NOMBRE
|
||||||
|
DO CASE
|
||||||
|
CASE UPPER(laMasks(I,3)) == 'U'
|
||||||
|
lcFileName = UPPER(lcName)
|
||||||
|
CASE UPPER(laMasks(I,3)) == 'L'
|
||||||
|
lcFileName = LOWER(lcName)
|
||||||
|
CASE UPPER(laMasks(I,3)) == 'P'
|
||||||
|
lcFileName = PROPER(lcName)
|
||||||
|
CASE UPPER(laMasks(I,3)) == 'N'
|
||||||
|
lcFileName = lcName
|
||||||
|
OTHERWISE && (M)atch: Tal cual aparece definido
|
||||||
|
IF '?' $ laMasks(I,1) OR '*' $ laMasks(I,1)
|
||||||
|
ERROR 'Para (M)atch no puede usar m<>scara "' + laMasks(I,1) + '"'
|
||||||
|
ENDIF
|
||||||
|
lcFileName = laMasks(I,1)
|
||||||
|
ENDCASE
|
||||||
|
|
||||||
|
*-- EVALUACI<43>N DE LA EXTENSI<53>N
|
||||||
|
DO CASE
|
||||||
|
CASE UPPER(laMasks(I,4)) == 'U'
|
||||||
|
lcFileName = FORCEEXT( lcFileName + '.' + lcExt, UPPER(lcExt) )
|
||||||
|
CASE UPPER(laMasks(I,4)) == 'L'
|
||||||
|
lcFileName = FORCEEXT( lcFileName + '.' + lcExt, LOWER(lcExt) )
|
||||||
|
CASE UPPER(laMasks(I,4)) == 'P'
|
||||||
|
lcFileName = FORCEEXT( lcFileName + '.' + lcExt, PROPER(lcExt) )
|
||||||
|
CASE UPPER(laMasks(I,4)) == 'N'
|
||||||
|
lcFileName = FORCEEXT( lcFileName + '.' + lcExt, lcExt )
|
||||||
|
OTHERWISE && (M)atch: Tal cual aparece definido
|
||||||
|
IF '?' $ laMasks(I,1) OR '*' $ laMasks(I,1)
|
||||||
|
ERROR 'Para (M)atch no puede usar m<>scara "' + laMasks(I,1) + '"'
|
||||||
|
ENDIF
|
||||||
|
lcFileName = FORCEEXT( lcFileName + '.' + lcExt, laMasks(I,2) )
|
||||||
|
ENDCASE
|
||||||
|
|
||||||
|
lcFileName = FORCEPATH( lcFileName, lcPath )
|
||||||
|
tcLog = tcLog + CR_LF + '- El archivo se debe renombrar a [' + lcFileName + ']'
|
||||||
|
EXIT
|
||||||
|
ENDIF
|
||||||
|
ENDFOR
|
||||||
|
|
||||||
|
IF ADIR( laFile, lcFileName, '', 1 ) > 0 AND laFile(1,1) <> JUSTFNAME(lcFileName)
|
||||||
|
loFSO.MoveFile( FORCEPATH( laFile(1,1), JUSTPATH(lcFileName) ), lcFileName )
|
||||||
|
tcLog = tcLog + CR_LF + ' => Se renombrar<61> a [' + lcFileName + ']'
|
||||||
|
ELSE
|
||||||
|
tcLog = tcLog + CR_LF + ' => No se renombrar<61> a [' + lcFileName + '] porque ya estaba correcto.'
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
|
||||||
|
CATCH TO loEx
|
||||||
|
IF tlRelanzarError THEN
|
||||||
|
THROW
|
||||||
|
ELSE
|
||||||
|
IF '800a0046:' $ loEx.Details
|
||||||
|
tcLog = tcLog + CR_LF + ' => No se renombrar<61> a [' + lcFileName + '] porque el archivo estaba en uso o no se puede acceder a el.'
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
lcMenErr = 'ERROR ' + TRANSFORM(loEx.ERRORNO) + ', ' + loEx.MESSAGE + CHR(13) ;
|
||||||
|
+ loEx.PROCEDURE + ', line ' + TRANSFORM(loEx.LINENO) + CHR(13) ;
|
||||||
|
+ loEx.LINECONTENTS
|
||||||
|
|
||||||
|
IF TRANSFORM(tcDontShowErrors) # '1' THEN
|
||||||
|
MESSAGEBOX( lcMenErr, 0+16+4096, 'ATENCI<43>N!! Ha ocurrido un error al capitalizar', 600000 )
|
||||||
|
ENDIF
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
FINALLY
|
||||||
|
loFSO = NULL
|
||||||
|
tcFileName = lcFileName
|
||||||
|
|
||||||
|
*-- Si existe FileName_Caps.LOG, lo actualiza
|
||||||
|
IF FILE(lcLogFile)
|
||||||
|
IF NOT EMPTY(lcMenErr)
|
||||||
|
tcLog = tcLog + CR_LF + CR_LF + lcMenErr
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
STRTOFILE( tcLog, lcLogFile, 1 )
|
||||||
|
ENDIF
|
||||||
|
|
||||||
|
ENDTRY
|
||||||
|
|
||||||
|
RETURN lcFileName
|
||||||
|
ENDPROC
|
||||||
|
|
||||||
|
ENDDEFINE && CLASS cl_FileName_Caps AS Custom
|
||||||
Reference in New Issue
Block a user