300x250 AD TOP

Blogger news

AD (728x90)

Tecnologia do Blogger.

Colaboradores

Seguidores

Postagens populares

Mostrando postagens com marcador Advpl. Mostrar todas as postagens
Mostrando postagens com marcador Advpl. Mostrar todas as postagens
Tagged under:

Manipulação de Strings ADVPL - Parte III


RAT()
Retorna a última posição de um caracter ou string dentro de outra string especificada.

Sintaxe: RAT(cCaractere, cString)
Parâmetros: cCaractere, string que se deseja verificar. cString, string na qual será verificada a existência do conteúdo de cCaractere.

REPLICATE()

A função Replicate() é utilizada para gerar uma cadeira de caracteres repetidos a partir de um caracter base informado, podendo a string gerada conter até 64KB. Caso seja especificado no parâmetro de itens a repetir o número zero, será retornada uma string vazia.

Tagged under:

Manipulação de Strings ADVPL - Parte II


ISUPPER()

Função utilizada para determinar se o caractere mais à esquerda é uma letra maiúscula, permitindo avaliar se o primeiro caractere de um string é uma letra maiúscula. É o contrário de ISLOWER (), a qual determina se a cadeia de caracteres começa com uma letra minúscula. ISLOWER() e ISUPPER() ambas são relacionadas às funções LOWER() e UPPER(), que convertem caracteres minúsculos para maiúsculos, e vice-versa.

Sintaxe: ISUPPER( < cString > )
Parâmetros: cString, string a ser examinada.
Retorno: Lógico.

LEN()

Retorna o tamanho da string especificada no parâmetro.

Sintaxe: LEN(cString)
Parâmetros: cString, string que será avaliada

LOWER()

Retorna uma string com todos os caracteres minúsculos, tendo como base a string passada como parâmetro.

Sintaxe: LOWER(cString)
Parâmetros: cString, string que será convertida para caracteres minúsculos.

LTRIM()

Função para tratamento de caracteres utilizada para formatar cadeias de caracteres que possuam espaços em branco à esquerda. Pode ser o caso de, por exemplo, números convertidos para cadeias de caracteres através da função STR().
LTRIM() é relacionada a RTRIM(), a qual remove espaços em branco à direita, e a ALLTRIM(), que remove espaços tanto à esquerda quanto à direita.
O contrário de ALLTRIM(), LTRIM(), e RTRIM() são as funções PADC(), PADR(), e PADL(), as quais centralizam, alinham à direita, ou alinham à esquerda as cadeias de caracteres, através da inserção de caracteres de preenchimento.

Sintaxe: LTRIM ( < cString > )
Parâmetros: cString, string a ser copiada sem os espaços em branco à esquerda.
Retorno: String.

MATHC()

Função utilizada para realizar operações matemáticas com strings que contém um valor numérico. MATHC() realiza algumas operações matemáticas como: Soma, Subtração, Divisão, Multiplicação e Exponenciação.
A função irá retornar uma string contendo o resultado da operação matemática, com uma especificação de até 18 casas de precisão no numero.

Sintaxe: MATHC ( < cNum1 > , < cOperacao > , < cNum2 > )
Parâmetros: cNum1: String contendo um valor numérico, cOperacao:  string que indica a operação que desejamos realizar, cNum2: String contendo um valor numérico, representando o numero no qual desejamos realizar uma operação.
Retorno: String.

OEMTOANSI()

Função que transforma uma string no Formato OEM / MS-DOS Text para uma string ANSI Text ( formato do Windows ).
Quando utilizamos um programa baseado no MS-DOS para alimentar uma base de dados , os acentos e caracteres especiais são gravados como texto OEM . Para tornar possível a correta visualização destes dados em uma interface Windows , utilizamos a função OemToAnsi() para realizar a conversão.
Ao utilizarmos um programa baseado no Windows para alimentar uma base de dados , o texto é capturado no formato ANSI Text . Caso este texto seja utilizado para alimentar uma base de dados a ser acessada através de um programa MS-DOS , devemos converter o dado para OEM antes de gravá-lo , através da função AnsiToOem().

Sintaxe: OemToAnsi ( < cStringOEM > )
Parâmetros: cStringOEM String em formato OEM – MsDos a ser convertida.
Retorno: String.

PADL() / PADR() / PADC()

Funções de tratamento de strings que inserem caracteres de preenchimento para completar um tamanho previamente especificado em vários formatos como data ou numéricos.

PADC() centraliza <cExp>, adicionando caracteres de preenchimento à direita e à esquerda.
PADL() adiciona caracteres de preenchimento à esquerda.
PADR() adiciona caracteres de preenchimento à direita.
Caso o tamanho de <cExp> exceda o argumento <nTamanho>, todas as funções PAD() truncam string preenchida ao <nTamanho> especificado.
PADC(), PADL(), e PADR() são utilizadas para exibir cadeias de caracteres de tamanho variável em uma área de tamanho fixo. Elas podem ser usadas, por exemplo, para assegurar o alinhamento com comandos ?? consecutivos. Outra utilização é exibir textos em uma tela de tamanho fixo, para certificar-se de que o texto anterior foi completamente sobrescrito.
PADC(), PADL(), e PADR() são o contrário das funções ALLTRIM(), LTRIM(), e LTRIM(), as quais eliminam espaços em branco à esquerda e à direita de cadeias de caracteres.

Sintaxe: PADL / PADR / PADC ( < cExp > , < nTamanho > , [ cCaracPreench ] )
Parâmetros: cExp Caractere, data, ou numérico no qual serão inseridos caracteres de preenchimento.
nTamanho: Tamanho da cadeia de caracteres a ser retornada.
cCaracPreench: Caractere a ser inserido em cExp. Caso não seja especificado, o padrão é o espaço em branco.
Retorno: String.
Tagged under:

Manipulação de Strings ADVPL - Parte I


Dando continuidade aos post sobre Advpl, apresentarei agora algumas funções de manipulação de strings.

ALLTRIM()

 Retorna uma string sem os espaços à direita e à esquerda, referente ao conteúdo informado como parâmetro. A função ALLTRIM() implementa as ações das funções RTRIM (“right trim”) e LTRIM (“left trim”).

Sintaxe: ALLTRIM(cString)

Exemplo:

cNome := ALLTRIM(SA1->A1_NOME)
MSGINFO(“Dados do campo A1_NOME:”+CRLF+;
"Tamanho:” + CVALTOCHAR(LEN(SA1->A1_NOME))+CRLF+;
“Texto:” + CVALTOCHAR(LEN(cNome)))

AT() -> Retorna a primeira posição de um caracter ou string dentro de outra string especificada.
Sintaxe: AT(cCaractere, cString )
Parâmetros
cCaractere: é um Caractere ou string que se deseja verificar.
cString: é uma String na qual será verificada a existência do conteúdo de cCaractere.
Exemplo:

Static Function NOMASCARA(cString,cMascara,nTamanho)
LOCAL cNoMascara := ""
LOCAL nX := 0
IF !Empty(cMascara) .AND. AT(cMascara,cString) > 0
FOR nX := 1 TO Len(cString)
IF !(SUBSTR(cString,nX,1) $ cMascara)
cNoMascara += SUBSTR(cString,nX,1)
ENDIF
NEXT nX
cNoMascara := PADR(ALLTRIM(cNoMascara),nTamanho)
ELSE
cNoMascara := PADR(ALLTRIM(cString),nTamanho)
ENDIF
RETURN cNoMascara


CAPITAL()

Função que avalia a string passada como parâmetro alterando a primeira letra de cada palavra para maiúscula e as demais letras como minúsculas.
Sintaxe: CAPITAL(cFrase)
Parâmetro: cFrase a String a ser avaliada
Retorno: String

CHR()
Converte um valor número referente a uma informação da tabela ASCII no caractere que esta informação representa.
Sintaxe: CHR(nASCII)
Parâmetros:  Código ASCII do caractere

GETDTOVAL()

Função utilizada para retornar um numero formatado, de acordo com o valor passado por parâmetro, sendo que irá apenas manter os valores numéricos contidos na string passada por parâmetro, verificando se existe algum caractere ‘.’ retornando um numero fracionário, na ordem dos números contidos na string.
A função é muito útil quando desejamos utilizar o valor numérico de uma data que está contida em uma string.
Sintaxe: GETDTOVAL ( < cDtoVal > )
Parâmetros: cDtoVal uma string contendo um valor numérico no qual será convertido.
Retorno: Numérico

Exemplo:
GetDtoVal(’123456′) //retorno 123456.0000
GetDtoVal(’1/2/3/4/5/6′) //retorno 123456.0000
GetDtoVal(‘fim.123456′) //retorno 0.123456
GetDtoVal(‘teste’) //retorno 0.0

ISALPHA()

Função utilizada para determinar se o caractere mais à esquerda em uma cadeia de caracteres é alfabético, permitindo avaliar se o string especificado começa com um caractere alfabético. Um caractere alfabético consiste em qualquer letra maiúscula ou minúscula de “A” a “Z”.

Sintaxe: ISALPHA ( < cString > )
Parâmetros: cString Cadeia de caracteres a ser examinada.
Retorno: Lógico

ISDIGIT()

Função utilizada para determinar se o caractere mais à esquerda em uma cadeia de caracteres é um dígito, permitindo avaliar se o primeiro caractere em um string é um dígito numérico entre zero e nove.

Sintaxe: ISDIGIT ( < cString > )
Parâmetros: cString,  string a ser examinada.
Retorno: Lógico

ISLOWER()

Função utilizada para determinar se o caractere mais à esquerda é uma letra minúscula, permitindo avaliar se o primeiro caractere de um string é uma letra minúscula. É o contrário de ISUPPER(), a qual determina se a cadeia de caracteres começa com uma letra maiúscula. ISLOWER() e ISUPPER() ambas são relacionadas às funções LOWER() e UPPER(), que convertem caracteres minúsculos para maiúsculos, e vice-versa.
Sintaxe: ISLOWER( < cString > )

Parâmetros: cString, string a ser examinada.
Retorno: Lógico

Tagged under:

Advpl - Hello World


Como o objetivo desse blog é trazer o conhecimento para iniciantes em diversas linguagens de programação, nada mais justo do que iniciar agora uma nova categoria de posts. Já que atualmente eu também sou um iniciante nessa linguagem de programação. Destinarei essa nova categoria a linguagem ADVPL. A seguir um pequeno paragrafo sobre o Advpl:

“A Linguagem AdvPl teve seu início em 1994, sendo na verdade uma evolução na utilização de linguagens no padrão xBase pela Microsiga Software S.A. (Clipper, Visual Objects e depois FiveWin). Com a criação da tecnologia Protheus, era necessário criar uma linguagem que suportasse o padrão xBase para a manutenção de todo o código existente do sistema de ERP Siga Advanced. Foi então criada a linguagem chamada Advanced Protheus Language.” (paragrafo retirado da Bíblia do Advpl)

Depois das apresentações vamos ao mais interessante, a programação. Primeiramente como já é de praxe vamos começar com o ‘hello world’. Abra o DevStudio inicie  um novo projeto e coloque essa seguinte linha de código.

User function PTESTE() 
         alert("Hello World")
return




 Importante: Antes de pressionar Ctrl+F9, certifique-se de que o combo esta com o nome da function que esta sendo usada no momento, no nosso caso a PTESTE, dentro do combo sera digitado a seguinte da seguinte forma ‘u_pteste’ o ‘u_’ significa que essa função sera a função principal para a execução do código.


Apos digitar esse código pressione Ctrl+F9 para compilar o código, caso o código não tenha nenhum erro como é o nosso exemplo. Aparecera na parte interior de sua tela a seguinte mensagem.


A mensagem retornada à informação de que a compilação terminou, e teve um tempo de duração de 9 segundos. Como não ocorreu nenhum erro então pressione F9 para executar o código. Em instantes aparecerá na sua tela a seguinte mensagem.



Espero que tenham gostado do post, este é apenas um post inicial mais adiante postarei códigos bem mais interessantes.
"A vida me ensinou a nunca desistir. Nem ganhar, nem perder mas procurar evoluir."
(Chorão)