Categorias

Verificar e criar diretório.

Esta função valida se existe o diretório informado, caso não exista o mesmo é criado.
Os parâmetros são:
cPath – Caminho a ser verificado/criado do diretório
lDrive – Flag para controlar a digitação da unidade de drive.
.T. – terá que informar a unidade de drive

.F. – Não controla a unidade de drive
lMSg – Questiona sobre criar diretório

User Function FM_Direct( cPath, lDrive, lMSg )
Local aDir
Local lRet:=.T.
Default lMSg := .T.

If Empty(cPath)
	Return lRet
EndIf

lDrive := If(lDrive == Nil, .T., lDrive)

cPath := Alltrim(cPath)
If Subst(cPath,2,2) <> ":" .AND. lDrive
	MsgInfo("Unidade de drive n„o especificada") //Unidade de drive n„o especificada
	lRet:=.F.
Else
	cPath := If(Right(cPath,1) == "", Left(cPath,Len(cPath)-1), cPath)
	aDir  := Directory(cPath,"D")
	If Len(aDir) = 0
		If lMSg
			If MsgYesNo("Diretorio - "+cPath+" - nao encontrado, deseja cria-lo" ) //Diretorio  -  nao encontrado, deseja cria-lo
				If MakeDir(cPath) <> 0
					Help(" ",1,"NOMAKEDIR")
					lRet := .F.
				EndIf
			EndIf
		Else
			If MakeDir(cPath) <> 0
				Help(" ",1,"NOMAKEDIR")
				lRet := .F.
			EndIf
		EndIF
	EndIf
EndIf
Return lRet