Power Builder - SELECCIONAR DIRECTORIOS, NO ARCHIVOS

 
Vista:

SELECCIONAR DIRECTORIOS, NO ARCHIVOS

Publicado por walter (1 intervención) el 07/12/2005 18:31:34
Hola:

Alguien sabe como seleccionar archivos pues necesito que el usuario elija la ruta a donde se van a exportar sus archivos. He encontrado lam funcion para seleccionar archivos, pero a mì me interesa algun procedimiento para seleccionar directorios..

Gracias por sus respuestas

Walter
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:SELECCIONAR DIRECTORIOS, NO ARCHIVOS

Publicado por Jancarlo (890 intervenciones) el 07/12/2005 20:21:32
Utiliza la función GetFolder()

En la ayuda de PB encontrarás mas referencia.

Suerte !
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SELECCIONAR DIRECTORIOS, NO ARCHIVOS

Publicado por walter (1 intervención) el 08/12/2005 05:13:00
Hola:

Gracias por la respuesta pero sucede que estoy haciendolo en Power Builder 7.0 y no cuento con esa función... Existirá alguna otra alternativa ???? En la ayuda sólo se hace referencia al trabajo con archivos pero no con directorios

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:SELECCIONAR DIRECTORIOS, NO ARCHIVOS

Publicado por Jorge (900 intervenciones) el 07/12/2005 20:40:11
Hola.
desde la vers 8 (creo) la 9 si

GetFolder ( title, directory )

SI no transcribo de Celso Cortes de su pagina


Função para recuperar o diretório selecionado


//DECLARE AS FUNÇÕES : EXTERNAL FUNCTION

Function long SHBrowseForFolder( Ref BROWSEINFO lpBi ) Library "shell32.dll"
Function boolean SHGetPathFromIDList( long pIDL, Ref String pszPath )
Library "shell32.dll" Alias For "SHGetPathFromIDListA"

/// DEFINA A ESTRUTURA
/// NÃO ALTERE O NOME DA ESTRUTURA (BROWSEINFO) NEM DAS VARIÁVEIS

BROWSEINFO from structure
long hwndOwner
long pidlRoot
string pszDisplayName
string lpszTitle
ulong ulFlags
ulong lpfn
ulong lParam
long iImage

/////////////////////

//Defina com global a variável VG_RETDIR

Private:
constant ulong VG_RETDIR = 1
//Defina com global a variável MAX_PATH

Private constant long MAX_PATH = 260

//Defina a função f_browser

f_browser ( Long handler_da_w_que_chamou, String Uma_var_qualquer) returns String

// Com a função definida escreva em PB.

RETURN This.f_PG_Browse( handler_da_w_que_chamou, Uma_var_qualquer, VG_RETDIR )

// Defina outra função com o nome f_PG_Browse()

f_PG_Browser( Long handler_da_w_que_chamou, String Uma_var_qualquer, VG_RETDIR) returns String

// Com a função definida escreva em PB.
long Lista
BROWSEINFO lBI
string lsPath

// MONTAR A BROWSEINFO ESTRUTURA

lBI.hWndOwner = handler_da_w_que_chamou
lBI.pidlRoot = 0
lBI.pszDisplayName = Space( MAX_PATH )
lBI.lpszTitle = Uma_var_qualquer
lBI.ulFlags = VG_RETDIR
lBI.lpfn = 0
lBI.lParam = 0
lBI.iImage = 0

Lista = f_PG_Browser( lBI )

IF (Lista > 0) THEN
lsPath = Space( MAX_PATH )

IF NOT SHGetPathFromIDList( Lista, lsPath ) THEN
lsPath = ""
ELSE
// Foi Pressionado CANCEL ou erro selecionando a PATH
lsPath = ""
END IF
//Pegue o retorno com o diretório selecionado

RETURN Trim(lsPath)

/////////////////////////

Espero te ayude
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar