Função: Pagetitle |
---|
cGetFile | cGetFile |
Apresenta uma janela para seleção nativade comarquivos ada estruturaestação de arquivostrabalho em douso lado do SmartClient. tFileDialog( [ cMascara], [ cTitulo], [ nMascpadrao], [ cDirinicial], [ lSalvar], [ nOpcoes]) --> cRet
Informações |
---|
| - Função disponível apenas em builds superiores a 7.00.170117A.
- A função TFileDialog não deve ser executada em JOB.
- Essa função não retorna arquivos do Servidor de Aplicação.
- Função não disponível para Smartclient Webapp (via Browser), nesse caso utilizar a cGetFile.
|
Sintaxe Bloco de código |
---|
| tFileDialog([ cMascara], [ cTitulo], [ nMascpadrao], [ cDirinicial], [ lSalvar], [ nOpcoes]) --> cRet
|
Parâmetros Parâmetros/Elementos
Nome | Tipo | Descrição | Obrigatório | Referência | cMascara | Caracter o nome do arquivo ou máscara.a máscara de arquivos, ex: ret := TFileDialog("All files (*) | All Text files (*.txt)", ... |
|
| cTitulo | CaracterCarácter | Indica o título da janela. Caso o parâmetro não seja especificado, o título padrão será apresentado. | nMascpadraoIndica o número da máscara. | Compatibilidade |
|
| cDirInicial | Carácter |
cDirinicial | Caracter | Indica o diretório inicial. |
|
| lSalvar | Lógico | Indica se Se .T. (true) indica que é um "save dialog" | ou se .F. (false) indica que é um "open dialog". |
|
| nOpcoes | Numérico |
Indica a opção de funcionamento. Para mais informações das funcionalidades disponíveis, consulte a área Observações. | cRet(caracter)- Retorna o nome do item. Caso nenhum item tenha sido selecionado, o retorna será uma string vazia.
Caso parâmetro não seja preenchido será possível selecionar apenas um arquivo, ex: ret := TFileDialog("All(*)",'Arquivos',0,"/tmp",.F.)
Caso utilizado o parâmetro GETF_MULTISELECT será possível selecionar múltiplos arquivos, ex: ret := TFileDialog("All(*)",'Arquivos',0,"/tmp",.F.,GETF_MULTISELECT)
Caso utilizado o parâmetro GETF_RETDIRECTORY será possível selecionar apenas diretórios, ex: ret := TFileDialog("All(*)",'Arquivos',0,"/tmp",.F.,GETF_RETDIRECTORY) |
|
|
Retorno Nome | Tipo | Descrição |
---|
cRet | Caracter | Retorna o(s) arquivo(s) selecionados ou diretórios. para mais informações leia sobre o parâmetro nOpcoes da função. |
A função tFileDialog exige que o programa AdvPL que a execute seja um SmartClient, não permitindo, portanto, que seja chamada em JOB. Caso a função seja chamada em JOB, o programa será finalizado com ocorrência de erro fatal "Function tFileDialog() doesn't available in JOB.". Nas builds anteriores, se a função fosse chamada em JOB, era apresentada uma mensagem de erro de comunicação com o SmartClient. No parâmetro <nOpções>, é possível determinar as seguintes funcionalidades: Comandos | Descrição |
---|
GETF_MULTISELECT (2) | Permite selecionar mais de 1 arquivo no padrão "arquivo1 | arquivo2 | arquivo3" Observação: Não compativel com o comando "GETF_RETDIRECTORY" e com a edição do "Nome do Arquivo". | GETF_RETDIRECTORY (128) | Retorna/apresenta um diretório. | cMascara Informa descrição da máscara e máscara no formato "descrição|máscara". Exemplos: All Text files (*.txt) É possível especificar vários pares de descrição|máscara. Exemplo: "<Descrição do tipo de arquivo A>(*.<Extensão 1> *.<Extensão 2>) | <Descrição do tipo de arquivo B>(*.<Extensão 3> *.<Extensão 4>)" Se não for informada uma máscara, o campo poderá ser editado pelo usuário a fim de especificar o filtro/máscara que desejar Disponível apenas em builds superiores a 7.00.131227A. Compartilhamentos do Remote Desktop No caso da função "cGetFile" precisar apresentar diretórios compartilhados via "Remote Desktop" o usuário deve mapear o endereço de rede \\tsclient\<nome da pasta compartilhada> e habilitar a opção "GETF_NETWORKDRIVE ". Bloco de código |
---|
language | cpp |
---|
theme | Eclipse |
---|
title | Exemplo |
---|
linenumbers | true |
---|
| #INCLUDE "TOTVS.CH"
User Function GetFile1()
Local targetDir
targetDir:= cGetFile( '*.txt|*.txt' , 'Textos (TXT)', 1, 'C:\', .F., nOR( GETF_LOCALHARD, GETF_LOCALFLOPPY, GETF_RETDIRECTORY ),.T., .T. )
Alert(targetDir)
ReturnExemplo
Bloco de código |
---|
language | cpp |
---|
theme | Eclipse |
---|
title | Exemplo |
---|
linenumbers | true |
---|
| #INCLUDE "TOTVS.CH"
User Function GetFile2FileDlg()
Local cMascara := "Todos os arquivos|."
Local cTitulo := "Escolha o arquivo"
Local nMascpad := 0
Local cDirini := "\"
Local lSalvar := .F. /*.T. = Salva || .F. = Abre*/
Local nOpcoes := GETF_LOCALHARD
Local lArvore := .F. /*.T. = apresenta o árvore do servidor || .F. = não apresenta*/
Local resourceName:= "totvs.png"
Local path := "\images\"
Local fileName:= path + resourceName
Local targetDir
Local sucess
If (!Resource2File(resourceName, fileName))
Alert("Erro ao copiar o arquivo do repositorio!")
EndIf
If (GetRemoteType() == REMOTE_HTML)
sucess:= (CpyS2TW(fileName, .T.) == 0)
Else
targetDir := cGetFile( cMascara, cTitulo, nMascpad, cDirIni, lSalvar, nOpcoes, lArvore)
sucess:= CpyS2T(fileName, targetDir)
Endif
If (sucess)
If (GetRemoteType() == 5)
Alert("Arquivo ''" + resourceName + "' enviado para download! " + CRLF + "Verifique se o browser nao bloqueou o popup!")
Else
Alert("Arquivo ''" + resourceName + "' copiado com sucesso para '" + targetDir + "'!")
EndIf
Else
Alert("Erro ao copiar o arquivo ''" + resourceName + "'!")
Endif
Return |
Exemplo da função cGetFile()Image Removed local tmp := getTempPath()
local targetDir:= tFileDialog( "All files (*.*) | All Text files (*.txt) ",;
'Selecao de Arquivos',, tmp, .F., GETF_MULTISELECT )
msgAlert(targetDir)
return |
Preview
A visualização desta janela será diferente para cada sistemas operacional, abaixo os exemplos rodando em Windows e Linux: Image Added
Image AddedAdvanced Protheus 6.09 , Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server |