Page 1 of 1

Cómo especificar Path del servidor? (SOLUCIONADO)

Posted: Tue Jan 31, 2017 7:03 pm
by Armando
Hola Amigos del foro:

Tengo una aplicación instalada en un servidor, mapeo la unidad y me conecto desde
una PC terminal.

El tema es que necesito crear una carpeta en el servidor pero no me la esta creando
con el siguiente código:

Code: Select all

cDir    := "\" + CurDir(CurDrive() + ":\") + "\Fichas"
nError  := MakeDir(cDir)
Y la ruta correcta al servidor es:

Code: Select all

\\Servidor\SiaWinCFDI\Fichas
 
Cómo debo especificarla sin usar constantes??

Gracias por el apoyo

Re: Cómo especificar Path del servidor?

Posted: Wed Feb 01, 2017 4:06 pm
by karinha

Code: Select all

   PRIVATE cDirExe

   IF FWVERSION = "FWHX 16.12"
      cDirExe := GETCURDIR()
   ELSE
      cDirExe := CURDRIVE() + ":\" + GETCURDIR()
   ENDIF

   IF SUBS( cDirExe, LEN(ALLTRIM(cDirExe)) , 1 )="\"
      cDirExe:= SUBS( cDirExe, 1 , LEN(ALLTRIM(cDirExe))-1 )
   ENDIF

   LCHDIR( cDirExe )
   SET DEFAULT TO

   IF .NOT. lIsDir( cDirexe+"\carpeta" )
      lMkDir( UPPER( cDirexe+"\carpeta" ) )
   ENDIF

Re: Cómo especificar Path del servidor?

Posted: Tue Feb 14, 2017 7:36 pm
by Armando
Karinha:

Disculpa la tardanza, no me funciono tu aportación.

Si entro a la red desde una pc terminal, luego a la aplicación que está
instalada en el servidor, en el explorador de archivo aparece así

Code: Select all

\\Servidor\SiaWinCFDI\Nominas
 
Con tu ejemplo queda así
\\Nominas

Alguna otra idea?

Saludos

Re: Cómo especificar Path del servidor?

Posted: Wed Feb 15, 2017 6:09 pm
by karinha
Mira se esto ayuda:

Code: Select all

// Many thanks to Jim Gale for his superb feed-back

#include "FiveWin.ch"
#include "struct.ch"

//------------------------------------------------------------------------//

function Main()

   local cLongName := Space( 256 )
   local nNamePos  := 0
   local hFile

   lMkDir( "this is a long name directory" )

   LCreat( "this is a long filename file" )

   MsgInfo( GetFullPathName( "thisis~1", Len( cLongName ),;
                             @cLongName, @nNamePos ) )
   MsgInfo( cLongName )
   MsgInfo( nNamePos )   // this returns an invalid value

   MsgInfo( "LongName: " + GetLongFileName( "thisis~1" ) )

   hFile = FOpen( "tutor01.prg" )
   FCommit( hFile )
   FClose( hFile )

   MsgInfo( "ok" )

return nil

//------------------------------------------------------------------------//

function GetLongFileName( cShortName )

   local oWin32FindData

   STRUCT oWin32FindData
      MEMBER nFileAttributes  AS DWORD
      MEMBER nCreationTime    AS STRING LEN 8
      MEMBER nLastReadAccess  AS STRING LEN 8
      MEMBER nLastWriteAccess AS STRING LEN 8
      MEMBER nSizeHight       AS DWORD
      MEMBER nSizeLow         AS DWORD
      MEMBER nReserved0       AS DWORD
      MEMBER nReserved1       AS DWORD
      MEMBER cFileName        AS STRING LEN 260
      MEMBER cAltName         AS STRING LEN  14
   ENDSTRUCT

   FindFirstFile( cShortName, oWin32FindData:cBuffer )

return oWin32FindData:cFileName

//------------------------------------------------------------------------//

DLL32 Function GetFullPathName( lpszFile AS LPSTR, cchPath AS DWORD,;
               lpszPath AS LPSTR, @nFilePos AS PTR ) AS DWORD ;
               PASCAL FROM "GetFullPathNameA" LIB "kernel32.dll"

DLL32 FUNCTION FindFirstFile( cFile AS LPSTR, cWin32DataInfo AS LPSTR ) ;
               AS LONG PASCAL FROM "FindFirstFileA" LIB "kernel32.dll"

//------------------------------------------------------------------------//
 

Re: Cómo especificar Path del servidor?

Posted: Thu Feb 16, 2017 4:27 pm
by Francisco Horta
Armando,

yo lo hago asi:

IF ! FILE( cFilePath( GetModuleFilename( GetInstance() ) ) + "documentos" )
lMkDir("documentos")
ENDIF

Saludos

Re: Cómo especificar Path del servidor?

Posted: Thu Feb 16, 2017 4:34 pm
by karinha
És verdad, desculpa mi falla:

Code: Select all

    PRIVATE cDirExe := cFILEPATH(GETMODULEFILENAME(GETINSTANCE()))
 
Saludos.

Re: Cómo especificar Path del servidor? (SOLUCIONADO)

Posted: Thu Mar 16, 2017 4:35 pm
by Armando
Paco Horta:


Hasta ahora pude probar tu sugerencia y va de 100.

Muchas gracias a ambos, Paco y Karinha

Saludos

Re: Cómo especificar Path del servidor? (SOLUCIONADO)

Posted: Thu Mar 16, 2017 6:29 pm
by acuellar
Yo lo hago así

Code: Select all

ExeOn:=hb_CurDrive()+":\"+CURDIR()+"\"

Re: Cómo especificar Path del servidor? (SOLUCIONADO)

Posted: Thu Mar 16, 2017 7:54 pm
by Armando
Ademar:

Gracias por el ejemplo.

Saludos