FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour lMkDir(), no me crea directorio
Posts: 418
Joined: Wed Nov 26, 2008 06:33 PM
lMkDir(), no me crea directorio
Posted: Tue Jan 26, 2016 11:18 PM
Saludos

la funcion lMkDir() no me crea directorios

Code (fw): Select all Collapse
function CreaCarpetaFotos()
local cCarpetaFotos:='C:\FOTOS\INC'\EMPLEADOS'

[code]
if !lIsDir(cCarpetaFotos)
 lMkDir(cCarpetaFotos) // crea directorio de imagenes fotos
 if !lIsDir(cCarpetaFotos)
  return aviso({'No se tiene acceso a unidad de imágenes fotográficas',;
                cCarpetaFotos})
 endif
endif
return NIL


Crei que asunto iba por los derechos de escritura en disco duro, y ya le puse todos los permisos y no me funciona.

Alguien que me de una manita.
Noé Aburto Sánchez
Tec. Prog. de Sistemas. -Morelia, Mich. México.
fwh 20.06, Harbour 3.2.0, bcc 7.4
TsBrowse 9.0, TsButton 7.0, xEdit 6.1
naburtos@gmail.com, noeaburto67@hotmail.com
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: lMkDir(), no me crea directorio
Posted: Wed Jan 27, 2016 12:18 AM
Intenta con esto...saludos... :-)

Code (fw): Select all Collapse
Descripción

     DIRMAKE() crea el directorio especificado. Recuerde que para crear un
     directorio se deben tener los permisos adecuados. Para crear
     directorios anidados, se debe crear cada subdirectorio de forma
     independiente, comenzando por el directorio de nivel superior (consulte
     el ejemplo siguiente).

 Ejemplos

     C Este ejemplo supone que C:\TEST existe y utiliza DIRMAKE() dos
        veces para crear dos subdirectorios anidados:

        DIRMAKE("c:\test\uno")    // Crea el directorio superior
        nResult := DIRMAKE("c:\test\uno\dos")
        IF nResult != 0
           ? "No se puede crear el directorio, error del DOS ", ; nResult
           BREAK
        ENDIF

        También pueden usarse argumentos del tipo:

        DIRMAKE( ".\test" )
Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: lMkDir(), no me crea directorio
Posted: Wed Jan 27, 2016 10:45 AM
Noe

Éste código funciona
Code (fw): Select all Collapse
 if !lIsDir('C:\FOTOS')
     lMkDir('C:\FOTOS') 
  Endif 
  if !lIsDir('C:\FOTOS\INC')
     lMkDir('C:\FOTOS\INC') 
  Endif 
   cCarpetaFotos:='C:\FOTOS\INC\EMPLEADOS'
  if !lIsDir(cCarpetaFotos)
    lMkDir(cCarpetaFotos) // crea directorio de imagenes fotos
    if !lIsDir(cCarpetaFotos)
     MsgStop('No se tiene acceso a unidad de imágenes fotográficas',cCarpetaFotos)
    endif
  endif


Si ya tenias creados ´C:\FOTOS\INC´ Tu error es el apostrofe demás aquí cCarpetaFotos:='C:\FOTOS\INC'\EMPLEADOS'

Saludos

Adhemar
Saludos,



Adhemar C.
Posts: 851
Joined: Sun Nov 09, 2014 05:01 PM
Re: lMkDir(), no me crea directorio
Posted: Sat Jan 30, 2016 02:25 AM

Saluos... si te fijas bien, tienes un apostrofe demás en tu linea:

local cCarpetaFotos:='C:\FOTOS\INC'\EMPLEADOS'

caracter en posicion 13

"Los errores en programación, siempre están entre la silla y el teclado..."



Fwh 19.06 32 bits + Harbour 3.2 + Borland 7.4 + MariaDB + TDolphin



Carora, Estado Lara, Venezuela.
Posts: 418
Joined: Wed Nov 26, 2008 06:33 PM
Re: lMkDir(), no me crea directorio
Posted: Sat Jan 30, 2016 04:19 AM
Gracias.

No era el apostrofe. Tan sencillo como ir creando carpeta por carpeta.

mi solucion:

if !CreaCarpeta('X:\',{'FOTOSINC','EVENTOS',eve->num_eve},xCarpeta)
return NIL
endif

Code (fw): Select all Collapse
function CreaCarpeta(cUnidad,aCarpeta,xCarpeta)
local i,cCarpeta:=''

default cUnidad:='C:\'
cCarpeta+=cUnidad
for i:=1 to Len(aCarpeta)-1
 cCarpeta+=aCarpeta[i]+'\'
next
cCarpeta+=aCarpeta[i]
if !lIsDir(cCarpeta)
 cCarpeta:=cUnidad
 for i:=1 to Len(aCarpeta)
  cCarpeta+=aCarpeta[i]
  if !lIsDir(cCarpeta)
   if !lMkDir(cCarpeta)
    aviso({'No se tiene acceso a carpeta',cCarpeta})
    return .f.
   endif
  endif
  cCarpeta+='\'
 next
endif
xCarpeta:=cCarpeta
return .t.
Noé Aburto Sánchez
Tec. Prog. de Sistemas. -Morelia, Mich. México.
fwh 20.06, Harbour 3.2.0, bcc 7.4
TsBrowse 9.0, TsButton 7.0, xEdit 6.1
naburtos@gmail.com, noeaburto67@hotmail.com

Continue the discussion