× Linguagem de Programação ADVPL

Perguntas Salvar Diretório do cGetFile

Mais
10 anos 3 semanas atrás #25912 por themrl16
Bom dia a todos!

Estou utilizando a função cGetFile para retornar em uma variável o diretório do arquivo selecionado.
Ao dar um duplo clique no arquivo ou clicar no botão abrir, ele retorna na variável Arquivo o diretório completo
Até aí funciona normalmente. O que eu gostaria de fazer agora é o seguinte:

Ao gravar o diretório na variável Arquivo, gostaria de que alguma forma, o diretório selecionado ficasse salvo para as próximas sessões/acessos na rotina. Ou seja, a rotina deverá gravar o último diretório selecionado pelo usuário.
Observem que na função abaixo, eu utilizo 'C:\ABCDE' (mas dessa forma, estou forçando essa pasta a ser o diretório inicial, então não está muito dinâmico).

Há alguma forma viável de se salvar a string? Seja em um arquivo temporário na máquina, utilizando alguma função específica, etc... lembrando que a string deverá ser por usuário, então não posso colocar em um parâmetro ou algo do tipo:
Static Function SelecArq()
	cTipo 	 := "*.CSV           | *.CSV |"
	Arquivo := cGetFile(cTipo,OemToAnsi("Selecione o Diretorio do arquivo de atualização"),,'C:\ABCDE',.T.)
	Arquivo := Alltrim(Arquivo)
Return .T.

Obrigado!

Abraços,

Murilo.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 3 semanas atrás #25914 por lalberto
Respondido por lalberto no tópico Salvar Diretório do cGetFile
Brother são muitos usuários ?

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 3 semanas atrás #25916 por themrl16
Respondido por themrl16 no tópico Salvar Diretório do cGetFile
Boa tarde lalberto!

Hoje, eu diria que cerca de 8 usuários utilizariam essa rotina, apesar de haver mais colaboradores na empresa.
Pensei até em gerar uma tabela constando o usuário e o seu diretório, mas a manutenção fica meio inviável (pois pode ser que amanhã o usuário X não trabalhe mais, e no lugar dele, entre o usuário Y).

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 3 semanas atrás #25918 por lalberto
Respondido por lalberto no tópico Salvar Diretório do cGetFile
Quer uma dica, cria uma tabela customizada, e vc não precisa dar manutenção a própria rotina se encarrega disso:


Static Function SelecArq()
Local cDiretorio := PadR('C:\',30)
Local lAchou := .f.
If SZ6->(dbSetOrder(1), dbSeek(xFilial("SZ6")+__cUserId))
lAchou := .t.
cDiretorio := PadR(AllTrim(SZ6->Z6_DIRET),30)
Endif

cTipo := "*.CSV | *.CSV |"
cArquivo := cGetFile(cTipo,OemToAnsi("Selecione o Diretorio do arquivo de atualização"),,'C:\ABCDE',.T.)
cArquivo := Alltrim(Arquivo)

If !lAchou
If RecLock("SZ6",.t.)
SZ6->Z6_FILIAL := xFilial("SZ6")
SZ6->Z6_USER := __cUserID
SZ6->Z6_DIRET := cArquivo
SZ6->(MsUnlock())
Endif
Else
If RecLock("SZ6",.f.)
SZ6->Z6_DIRET := cArquivo // Grava o Ultimo Diretorio Selecionado pelo Usuario
SZ6->(MsUnlock())
Endif
Endif
Return .T.

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.082 segundos
Joomla templates by a4joomla