- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Salvar Diretório do cGetFile
×
Linguagem de Programação ADVPL
Perguntas Salvar Diretório do cGetFile
- themrl16
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 8
- Obrigados Recebidos: 0
10 anos 3 semanas atrás #25912
por themrl16
Salvar Diretório do cGetFile foi criado 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:
Obrigado!
Abraços,
Murilo.
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.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
10 anos 3 semanas atrás #25914
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
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.
- themrl16
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 8
- Obrigados Recebidos: 0
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).
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.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
10 anos 3 semanas atrás #25918
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
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.
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.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Salvar Diretório do cGetFile
Tempo para a criação da página:0.082 segundos