| 4D v15.4Documentos de Sistema | ||||||||||||||
| 
 | 
    4D v15.4
 Documentos de Sistema 
         | |||||||||||||
| Sequência de escape | Caractere substituído | 
| \n | LF (New line) | 
| \t | HT (Horizontal tab) | 
| \r | CR (Carriage return) | 
| \\ | \ (Backslash) | 
| \" | " (Quotes) | 
A maioria dos comandos 4D de gestão de documentos e pastas aceitam as vias de acesso relativas ou absolutas:
Para determinar se uma via de acesso passada a um comando deve ser interpretada como absoluta ou relativa, 4D aplica um algoritmo específico para cada plataforma.
Se o parâmetro contém unicamente os caracteres y se o segundo é um ':',
    ou se o texto contém ':' y '\' como segundo e terceiro caractere,
    ou se o texto começa por "\\",
depois a via de acesso é absoluta.        
Em todos os demais casos, a via é relativa.
Exemplos com o comando CREATE FOLDER:
 CREATE FOLDER("segunda") // via relativa
 CREATE FOLDER("\segunda") // via relativa
 CREATE FOLDER("\segunda\terça") //via relativa
 CREATE FOLDER("c:") // via absoluta
 CREATE FOLDER("d:\segunda") // via absoluta
 CREATE FOLDER("\\srv-Internal\temp") // via absoluta Se o texto começa com um separador de pasta':',
    ou se não contém nenhum, 
depois a via de acesso é relativa.
Em todos os outros casos, a via é absoluta.
Exemplos com o comando CREATE FOLDER:
 CREATE FOLDER("segunda") // via relativa
 CREATE FOLDER("macintosh hd:") // via absoluta
 CREATE FOLDER("segunda:terça") //via absoluta (um volume deve ser chamado segunda)
 CREATE FOLDER(":segunda:terça") // via relativaApesar de 4D oferecer comandos, tal como MAP FILE TYPES, para eliminar as modificações de código associadas as particularidades das plataformas, quando começar a trabalhar em um nível mais baixo manipulando os documentos em disco (tal como a obtenção de rotas de acesso por programação), deve saber se está trabalhando em uma plataforma Macintosh ou Windows.
O método de projeto Em Windows a continuação permite conhecer se seu banco se estiver correndo em Windows:
  ` Método de projeto Em windows
  ` Em windows -> Booleano
  ` Em windows -> True se o banco estiver em Windows C_BOOLEAN($0)
 C_LONGINT($vlPlataforma;$vlSistema;$vlEquipo)
 
 PLATFORM PROPERTIES($vlPlataforma;$vlSistema;$vlEquipe)
 $0:=($vlPlataforma=Windows)• Extrair o nome do arquivo de uma rota de acesso completa
Quando tiver obtido o nome completo (a rota de acesso + nome do arquivo) de um documento, poderia necessitar extrair o nome do arquivo do documento, por exemplo, para mostrá-lo no título de uma janela. O método de projeto Extrair nome do arquivo faz isso em Windows e Macintosh.
  ` Método de projeto <span class="rte4d_cmd">Extrair nome do arquivo</span><gen9>
  ` </gen9><span class="rte4d_cmd">Extrair nome do arquivo</span> <gen9>(String) -> String
  ` </gen9><span class="rte4d_cmd">Extrair nome do arquivo</span><gen9> ( nome longo do arquivo ) -> nome do arquivo
 
 C_STRING(255;$1;$0)
 C_INTEGER($viLon;$viPos;$viCar;$viDirSimbol)
 
 $viDirSimbol:=Directory symbol
 $viLon:=Length($1)
 $viPos:=0
 For($viCar;$viLon;1;-1)
    If(Character code($1≤$viCar≥)=$viDirSimbol)
       $viPos:=$viCar
       $viCar:=0
    End if
 End for
 If($viPos>0)
    $0:=Substring($1;$viPos+1)
 Else
    $0:=$1
 End if
 If(◊vbDebugOn) ` Colocar esta variável em True ou False no Método de banco On Startup
    If($0="")
       TRACE
    End if
 End if</gen9>• Extrair a rota de acesso do nome longo
Quando tiver obtido o nome longo do arquivo (rota de acesso + nome de arquivo), pode necessitar extrair a rota de acesso ao arquivo, por exemplo para guardar outros documentos na mesma localização. O método de projeto Extrair rota de acesso faz isto em Windows e Macintosh.
  ` Método de projeto Extrair rota de acesso
  ` Extrair rota de acesso ( String) -> String
  ` Extrair rota de acesso ( Nome longo ) -> Rota de acesso
 
 C_STRING(255;$1;$0)
 C_INTEGER($viLon;$viPos;$viCar;$viDirSimbol)
 
 $viDirSimbol:=Directory symbol
 $viLon:=Length($1)
 $viPos:=0
 For($viCar;$viLon;1;-1)
    If(Character code($1≤$viCar≥)=$viDirSimbol)
       $viPos:=$viCar
       $viCar:=0
    End if
 End for
 If($viPos>0)
    $0:=Substring($1;1;$viPos)
 Else
    $0:=$1
 End if
 If(◊vbDebugOn) ` Colocar esta variável em True ou False no Método de banco On Startup
    If($0="")
       TRACE
    End if
 End if
									Append document
									
									CLOSE DOCUMENT
									
									COPY DOCUMENT
									
									Create document
									
									CREATE FOLDER
									
									DELETE DOCUMENT
									
									Document creator
									
									DOCUMENT LIST
									
									Document type
									
									Documentos Sistema
									
									FOLDER LIST
									
									Get document position
									
									GET DOCUMENT PROPERTIES
									
									Get document size
									
									MAP FILE TYPES
									
									MOVE DOCUMENT
									
									Open document
									
									Select document
									
									SET DOCUMENT CREATOR
									
									SET DOCUMENT POSITION
									
									SET DOCUMENT PROPERTIES
									
									SET DOCUMENT SIZE
									
									SET DOCUMENT TYPE
									
									Test path name
									
									VOLUME ATTRIBUTES
									
									VOLUME LIST
									
	Produto: 4D
	Tema: Documentos de Sistema
	
        
        
	
	Manual de linguagem 4D ( 4D v15.4)
	Manual de linguagem 4D ( 4D v15.3)
 Adicionar um comentário
Adicionar um comentário