Como comparar caracetr com string

O comando Compare strings retorna um valor negativo, zero ou positivo dependendo de se stringA for avaliada como menor, igual ou maior que stringB.  

No parâmetro stringA, passe um valor texto.  

No parâmetro stringB, passe um valor texto  a ser comparado com stringA

Como padrão, Compare strings funciona como se o operador "<" (menor que) fosse usado. (Ver String operators). Isso pode ser modificado com o parâmetro opções. Pode passar uma constante ou uma combinação das constantes a seguir do tema Strings: 

Constante Valor Comentário
sk case insensitive 2

As strings são comparadas segundo a linguagem atual dos dados sem levar em consideração as diferenças de maiúsculas e minúsculas. Note que os signos diacríticos são levados em consideração. Por exemplo, "A" é considerado a mesma coisa que "a". Entretanto "a" não é considerado o mesmo que "à". Como padrão, a comparação de strings 4D não considera maiúsculas e minúsculas.


Pode ser combinado com:

  • sk char codes OU sk diacritic insensitive
  • sk whole word (Position apenas comando

Essa constante implica o uso das constantes abaixo (que podem ser combinadas para melhorar a legibilidade):

  • sk kana insensitive
  • sk width insensitive
  • sk strict
sk char codes 1

As strings são comparadas segundo os códigos de caracteres. Os parâmetros atuais da linguagem de dados não são levados em consideração durante a comparação.

Pode ser combinada com: sk case insensitive 

Só para os intervalos "a-z" ou "A-Z". (por exemplo., Alpha = alpha, mas Alpha # âlphà)

sk diacritic insensitive 4

As strings são comparadas de acordo com a linguagem atual dos dados. Entretanto, os acentos ou símbolos das letras são ignorados. Por exemplo, "a" é considerado a mesma coisa que "à".

Pode ser combinado com

  • sk case insensitive
  • sk whole word (Position só comandos)

Essa constante implica o uso das constantes abaixo (que podem também ser combinados para melhor a legibilidade):

  • sk kana insensitive
  • sk width insensitive
  • sk strict
sk kana insensitive 8

Para a linguagem japonesa. Controla a diferenciação entre as sílabas em Hiragana e Katakana. De um ponto de vista semântico, a diferença entre Hiragana e Katana é geralmente importante, msa não captura tantos resultados quanto possível. O modo padrão em 4D é ignorar a diferença (kana insensitive). Por exemplo, "あ" é considerado como a mesma coisa que "ア". A opção sk strict realiza comparações sensíveis a kana. sk kana insensitive pode ser usado para parcialmente relaxar a regra de insensível a kana. 

Nota: A linguagem de dados deve ser estabelecida para Japonês para usar essa opção. Para todas as outras linguagens, essa opção é ignorada e Compare strings vai funcionar como se sk strict tivesse sido especificada. Ou seja, estabelecer essa opção para contextos não-japoneses faria com que a comparação fosse sensível a kana (o efeito oposto).

Pode ser combinado com:

  • sk case insensitive
  • sk diacritic insensitive

Essa constante implica o uso das constantes abaixo (que podem também ser combinados para melhor a legibilidade):

  • sk width insensitive
  • sk strict
sk strict 0

Strings são comparadas para correspondências exatas de acordo com a linguagem atual. Na maioria dos casos, capitalização e marcas diacríticas de letras são levadas em consideração durante a comparação. 

Pode ser combinado com:

  • sk case insensitive
  • sk diacritic insensitive
  • sk kana insensitive

Essa constante implica o uso das constantes abaixo (que podem também ser combinados para melhor a legibilidade):

sk width insensitive 16

Para a linguagem japonesa. Corresponde à norma Unicode "East Asian Width", definida em Anexo #11 do padrão Unicode.Desde um ponto de vista semântico, a diferença entre um carácter "estreito" e "largo" ou um caractere "largura completa" e "meia largura" costuma ser insignificante, que é o modo normal em 4D.Por exemplo, "ア" se considera a mesma coisa que "ア". A opção sk strict realiza uma comparação sensível à largura. 

 Strings são comparadas por tamanho de caractere de acordo com a linguagem de dados atual. por exemplo, "ア" é considerado o mesmo que "ア".

Notas: 

  • O idioma dos dados deve ser o japonês para poder usar essa opção. Para todos os demais idiomas, a opção é ignorada e Compare strings funcionará como se especificasse sk strict. Em outras palavras, estabelecer essa opção em um contexto que não seja japonês faria que a comparação fosse sensível à largura (o efeito contrário).
  • Esta opção é ignorada pela função Position. A comparação insensìvel à largura de Unicode é assimétrica e impossível de localizar por posição ou largura.

Pode ser combinada com:

  • sk case insensitive
  • sk diacritic insensitive
  • sk kana insensitive
  • sk strict

Essa constante implica o uso das constantes abaixo (que podem também ser combinados para melhor a legibilidade):

 

Aviso: Você não pode usar o caractere coringa @ com Compare strings. Por exemplo se passar "abc@" em stringA ou stringB o comando vai realmente avaliar a string "abc@" e não uma string  "abc" mais qualquer caractere.

Valores retornados

O comando retorna os valores longint a seguir:

Se quiser comparar as strings:

 $string1:="alpha Bravo charlie Delta Echo Fox-Trot"
 $string2:="Alpha Bravo Charlie Delta Echo Fox-Trot"     

 $result:=Compare strings($string1;$string2;sk char codes)

       

 $result:=Compare strings($string1;$string2;sk char codes+sk case insensitive)


  

Os exemplos abaixo ilustram o impacto específico das opções no contexto da linguagem de dados japonês:

  
 $result:=Compare strings("イロハ";"いろは") 
 $result:=Compare strings("イロハ";"いろは";sk strict) 
 $result:=Compare strings("イロハ";"いろは";sk kana insensitive) 

  
 $result:=Compare strings("さつき";"さっき") 
 $result:=Compare strings("さつき";"さっき";sk strict) 
 $result:=Compare strings("さつき";"さっき";sk case insensitive) 

  
 $result:=Compare strings("ete";"été") 
 $result:=Compare strings("ete";"été") 
 $result:=Compare strings("うがい";"うかい") 
 $result:=Compare strings("うがい";"うかい";sk strict) 
 $result:=Compare strings("うがい";"うかい";sk diacritic insensitive) 

Nota: a opção "Ordenação adequada para a pesquisa" (ver Comparação de texto) tem um impacto no comando Compare strings. Em particular, a "Marca sonora katakana-hiragana prolongada" ou "長音記号" se interpretará de forma diferente. O ajuste também impacta nas "marcas de iteração japonesas" como "ゝ" ou "ゞ". Por exemplo:

 $result:=Compare strings("いすず";"いすゞ") 
 $result:=Compare strings("いすず";"いすゞ") 
 $result:=Compare strings("ラーメン";"ラーメン") 
 $result:=Compare strings("ラーメン";"ラアメン") 


Page 2

Position devolve a posição da primeira ocorrência de pesquisar em cadeia.

Se cadeia não contiver pesquisar, devolve zero (0).

Se Position localiza uma ocorrência de pesquisar, a função devolve a posição do primeiro caractere desta ocorrência em cadeia.

Se pergunta pela posição de uma cadeia vazia dentro de uma cadeia vazia, Position devolve zero (0).

O parâmetro comprEncont, se for passado, devolve o comprimento da cadeia atualmente encontrada pela pesquisa. Este parâmetro é necessário para poder gerir corretamente letras escritas com um ou mais caracteres (exemplo: æ ou ae, ß ou ss, etc.).
Se passar o parâmetro * (ver abaixo), estas letras não são consideradas como sendo equivalentes (æ # ae); em modo diacritico,  comprEncont sempre é igual ao comprimento de pesquisar (se for encontrada uma ocorrência).

Como padrão, o comando faz comparações globais que consideram particularidades linguísticas e letras que podem estar escritas com um ou mais caracteres (por exemplo æ = ae). Por outra parte, se não for diacrítica (a=A, a=à etc.) e não considera os caracteres "ignoráveis". Os caracteres ignoráveis incluem todos os caracteres do subset unicode CO Control (U+0000 a U+001F, ascii character control set) exceto os caracteres imprimíveis (U+0009 TAB, U+0010 LF, U+0011 VT, U+0012 FF e U+0013 CR).

Para modificar este funcionamento, pode pasasr

  • (primeira sintaxe - parâmetro) o asterisco * como último parâmetro. Neste caso, as comparações são baseados nos códigos dos caracteres. Deve passar o parâmetro *:
    • Se quiser considerar caracteres especiais, utilizados por exemplo como delimitadores (Char(1), etc.),
    • Se quiser que a avaliação de caracteres deve ser sensível às maiúsculas e minúsculas e considerar os caracteres acentuados (a # A, à # a, etc.)
  • Note que neste modo, a avaliação não maneja variações na maneira em que as palavras são escritas.            

Nota: em certos casos, usar o parâmetro  * pode acelerar significativamente a execução do comando.

  • (Segunda Sintaxe - parâmetro opções) uma combinação das seguintes constantes do tema Strings:
  • Constante Valor Comentário
    sk case insensitive 2

    As strings são comparadas segundo a linguagem atual dos dados sem levar em consideração as diferenças de maiúsculas e minúsculas. Note que os signos diacríticos são levados em consideração. Por exemplo, "A" é considerado a mesma coisa que "a". Entretanto "a" não é considerado o mesmo que "à". Como padrão, a comparação de strings 4D não considera maiúsculas e minúsculas.


    Pode ser combinado com:

    • sk char codes OU sk diacritic insensitive
    • sk whole word (Position apenas comando

    Essa constante implica o uso das constantes abaixo (que podem ser combinadas para melhorar a legibilidade):

    • sk kana insensitive
    • sk width insensitive
    • sk strict
    sk char codes 1

    As strings são comparadas segundo os códigos de caracteres. Os parâmetros atuais da linguagem de dados não são levados em consideração durante a comparação.

    Pode ser combinada com: sk case insensitive 

    Só para os intervalos "a-z" ou "A-Z". (por exemplo., Alpha = alpha, mas Alpha # âlphà)

    sk diacritic insensitive 4

    As strings são comparadas de acordo com a linguagem atual dos dados. Entretanto, os acentos ou símbolos das letras são ignorados. Por exemplo, "a" é considerado a mesma coisa que "à".

    Pode ser combinado com

    • sk case insensitive
    • sk whole word (Position só comandos)

    Essa constante implica o uso das constantes abaixo (que podem também ser combinados para melhor a legibilidade):

    • sk kana insensitive
    • sk width insensitive
    • sk strict
    sk kana insensitive 8

    Para a linguagem japonesa. Controla a diferenciação entre as sílabas em Hiragana e Katakana. De um ponto de vista semântico, a diferença entre Hiragana e Katana é geralmente importante, msa não captura tantos resultados quanto possível. O modo padrão em 4D é ignorar a diferença (kana insensitive). Por exemplo, "あ" é considerado como a mesma coisa que "ア". A opção sk strict realiza comparações sensíveis a kana. sk kana insensitive pode ser usado para parcialmente relaxar a regra de insensível a kana. 

    Nota: A linguagem de dados deve ser estabelecida para Japonês para usar essa opção. Para todas as outras linguagens, essa opção é ignorada e Compare strings vai funcionar como se sk strict tivesse sido especificada. Ou seja, estabelecer essa opção para contextos não-japoneses faria com que a comparação fosse sensível a kana (o efeito oposto).

    Pode ser combinado com:

    • sk case insensitive
    • sk diacritic insensitive

    Essa constante implica o uso das constantes abaixo (que podem também ser combinados para melhor a legibilidade):

    • sk width insensitive
    • sk strict
    sk strict 0

    Strings são comparadas para correspondências exatas de acordo com a linguagem atual. Na maioria dos casos, capitalização e marcas diacríticas de letras são levadas em consideração durante a comparação. 

    Pode ser combinado com:

    • sk case insensitive
    • sk diacritic insensitive
    • sk kana insensitive

    Essa constante implica o uso das constantes abaixo (que podem também ser combinados para melhor a legibilidade):

    sk whole word 32

    Strings são comparadas de acordo com a lingaugem de dados atual. Apenas strings que são palavras completas são consideradas. Strings correspondentes a outras strings não são consideradas. Por exemplo, "where" não é considerado quando encontrado dentro de  "somewhere".

    Pode ser combinado com: 

    • sk case insensitive (Position apenas comandos)
    • sk diacritic insensitive (Position apenas comandos)
    sk width insensitive 16

    Para a linguagem japonesa. Corresponde à norma Unicode "East Asian Width", definida em Anexo #11 do padrão Unicode.Desde um ponto de vista semântico, a diferença entre um carácter "estreito" e "largo" ou um caractere "largura completa" e "meia largura" costuma ser insignificante, que é o modo normal em 4D.Por exemplo, "ア" se considera a mesma coisa que "ア". A opção sk strict realiza uma comparação sensível à largura. 

     Strings são comparadas por tamanho de caractere de acordo com a linguagem de dados atual. por exemplo, "ア" é considerado o mesmo que "ア".

    Notas: 

    • O idioma dos dados deve ser o japonês para poder usar essa opção. Para todos os demais idiomas, a opção é ignorada e Compare strings funcionará como se especificasse sk strict. Em outras palavras, estabelecer essa opção em um contexto que não seja japonês faria que a comparação fosse sensível à largura (o efeito contrário).
    • Esta opção é ignorada pela função Position. A comparação insensìvel à largura de Unicode é assimétrica e impossível de localizar por posição ou largura.

    Pode ser combinada com:

    • sk case insensitive
    • sk diacritic insensitive
    • sk kana insensitive
    • sk strict

    Essa constante implica o uso das constantes abaixo (que podem também ser combinados para melhor a legibilidade):

    Para informação sobre a definição da linguagem de dados, ver Comparação de texto em Referência de Design.

Advertência: não pode utilizar o caractere arroba @ com Position. Por exemplo, se passa "abc@" em pesquisar, o comando pesquisará a cadeia "abc@" e não por "abc" seguido de outros caracteres.

Este exemplo ilustra o uso de Position. Os resultados, descritos nos comentários, são atribuídos à variável vlResult.

 vlResult:=Position("ll";"Bilhar") 
 vlResult:=Position(vtText1;vtText2) 
 vlResult:=Position("todo";"todos os processos dentro de um método";1) 
 vlResult:=Position("todo";"todos os processos dentro de um método";2) 
 vlResult:=Position("TODO";"todos os processos dentro de um método";1;*) 
 vlResult:=Position("œ";"Bœuf";1;$comprimento

No exemplo abaixo, o parâmetro comprEncont permite pesquisar todas as ocorrências de "aegis" em um texto, sem importar como está escrito:

 $inicio:=1
 Repeat
    vlResult:=Position("aegis";$text;$inicio;$longEncont)
    $inicio:=$inicio+$comprEncont
 Until(vlResult=0)

No exemplo abaixo, se quiser encontrar todas as instâncias de uma string e substituí-la:

 var $lengthFound : Integer  

 $string:="Hello Joelle and joel!"


 $find:="joel"
 $replace:="Joël"
 $option:=sk case insensitive+sk diacritic insensitive  

 $p:=0


 Repeat
    $p:=Position($find;$string;$p+1;$lengthFound;$option)
    If($p>0)
       $string:=Substring($string;1;$p-1)+$replace+Substring($string;$p+$lengthFound)
    End if
 Until($p<=0) 


Page 3

O comando Substring devolve a parte de fonte definida por aPartirDe e numCars.

O parâmetro aPartirDe indica o primeiro caractere da cadeia a devolver, e numCars define o número de caracteres a devolver.

Se aPartirDe mais numCars é maior que o número de caracteres na cadeia ou se numCars não estiver especificado, Substring devolve todos os caracteres da cadeia a partir do caractere especificado por aPartirDe. Se aPartirDe for superior ao número de caracteres na cadeia, Substring devolve uma cadeia vazia ("").



Atenção
: quando se utiliza este comando em um contexto multi-estilo, deve converter os eventuais caracteres de fim de linha Windows ('\r\n') em caracteres de fim de linha simples ('\r') para que o processamento seja válido. Isto se deve ao mecanismo que normaliza os finais de linha 4D para ter certeza a compatibilidade multi-plataforma para os textos. Para obter mais informação, consulte Normalização automática de fins de linhas.

Este exemplo ilustra a utilização de Substring. Os resultados são atribuídos à variável vsResult.

 vsResult:=Substring("08/04/62";4;2) 
 vsResult:=Substring("Emergencia";1;6) 
 vsResult:=Substring(var;2) 

O seguinte método de projeto adiciona os parágrafos que são encontrados no texto (passado como primeiro parâmetro) a uma array de tipo texto ou alfa (cujo ponteiro é passado como segundo parâmetro):

          

 C_TEXT($1)


 C_POINTER($2)  

 $vlElem:=Size of array($2->)


 Repeat
    $vlElem:=$vlElem+1
    INSERT IN ARRAY($2->;$vlElem)
    $vlPos:=Position(Char(Carriage return);$1)
    If($vlPos>0)
       $2->{$vlElem}:=Substring($1;1;$vlPos-1)
       $1:=Substring($1;$vlPos+1)
    Else
       $2->{$vlElem}:=$1
    End if
 Until($1="")


Page 4

Produto: 4D Tema: String

Manual de linguagem 4D ( 4D v19)
Manual de linguagem 4D ( 4D v19.1)


Page 5

O comando String devolve em forma de cadeia alfanumérica a expressão de tipo numérica, Data, Hora, cadeia ou Booleana que se passa em expressão.

Se não passar o parâmetro opcional formato, a string é devolvida no formato como padrão do tipo de dados correspondente. Se passa formato, pode definir o formato da string resultante.

O parâmetro opcional horaComb adiciona uma hora a uma data em um formato combinado. Apenas pode ser utilizado quando o parâmetro expressao for uma data (ver abaixo).

Expressões numéricas

Se expressao for uma expressão numérica (Real, Inteiro, Inteiro longo), pode passar o formato da string opcional. Estes são alguns exemplos:

ExemploResultadoComentários
String(2^15)"32768"Formato por padrão
String(2^15;"###,##0 habitantes")"32,768 habitantes"
String(1/3;"##0.00000")"0.33333"
String(1/3)"0.3333333333333330000"Formato por padrão(*)
String(Arctan(1)*4)"3.141592653589790000"Formato por padrão(*)
String(Arctan(1)*4;"##0.00")"3.14"
String(-1;"&x")"0xFFFFFFFF"
String(-1;"&$")"$FFFFFFFF"
String(0 ?+ 7;"&x")"0x0080"
String(0 ?+ 7;"&$")"$80"
String(0 ?+ 14;"&x")"0x4000"
String(0 ?+ 14;"&$")"$4000"
String(50,3;"&xml")"50.3"Sempre "." como um separador decimal
String(Num(1=1);"True;;False")"True"
String(Num(1=2);"True;;False")"False"
String(Log(-1))""Número indefinido
String(1/0)"INF"Número infinito positivo
String(-1/0)"-INF"Número infinito positivo
(*) A partir de 4D v14 R3, o algoritmo para converter valores reais para texto é baseado em 13 dígitos significativos (ao contrários dos 15 dígitos de versões anteriores).

O formato é especificado da mesma forma que para um campo numérico em um formulário. Para maior informação sobre formatos numéricos, consulte a seção Formatos de saída do manual de Desenho de 4D. Igualmente pode passar o nome de um estilo personalizado em formato. O nome do estilo personalizado deve estar precedido pelo caractere “|”.

Nota:

a função String não é compatível com campos de tipo "Inteiro 64 bits" em modo compilado.


Expressões de tipo Data

Se expressao for de tipo Data, a string é devolvida no formato como padrão definido no sistema.
No parâmetro formato, pode passar uma das constantes descritas abaixo (tema Formatos de saída de datas):

Neste caso, também pode passar uma hora no parâmetro Horacomb. Este parâmetro lhe permite combinar uma data e uma hora com o objetivo de gerar marcadores de tempo de acordo com as normas em vigor (constantes ISO Date, ISO Date GMT e Date RFC 1123). Estes formatos são particularmente úteis no contexto dos processos XML e Web. O parâmetro horaComb apenas é utilizado quando o parâmetro expressao for uma data.

Constante Tipo Valor Comentário
Blank if null date Inteiro longo 100 "" ao invés de 0
Date RFC 1123 Inteiro longo 10
Internal date abbreviated Inteiro longo 6
Internal date long Inteiro longo 5
Internal date short Inteiro longo 7
Internal date short special Inteiro longo 4
ISO Date Inteiro longo 8 2006-12-29T00:00:00 (obsoleto)
ISO Date GMT Inteiro longo 9 2010-09-13T16:11:53Z
System date abbreviated Inteiro longo 2
System date long Inteiro longo 3
System date short Inteiro longo 1
Nota: Formatos podem variar dependendo das configurações do sistema.

Estes são alguns exemplos de formatos simples (asumindo que a data atual é 2/29/2006):

 $vsResult:=String(Current date
 $vsResult:=String(Current date;Internal date long
 $vsResult:=String(Current date;ISO Date GMT

Notas para os formatos combinados data/hora:

  • O formato ISO Date corresponde à norma ISO8601. Este formato contém uma data e uma hora. Por exemplo, a data de 31 de maio de 2006 à 1:20 p.m. se escreve 2006-05-31T13:20:00. Se não passar o parâmetro adHOra, a parte hora é preenchida com 0 (ver exemplo). Este formato expressa a data e hora local.

     $minhadata:=String(Current date;ISO Date
     $minhadata:=String(Current date;ISO Date;Current time

  • O formato ISO Date GMT é similar ao formato ISO Date, exceto que expressa a data e a hora com relação a zona do fuso horário (hora GMT).

     $minhadata:=String(Current date;ISO Date GMT;Current time

    Note que o caractere "Z" ao final indica o formato GMT.

    Se apenas passa uma data, o comando devolve a data à meia noite (hora local) expressa em hora GMT o qual pode fazer com que a data se mova para frente ou para trás, dependendo da zona horária local:

  • O formato Date RFC 1123 permite formatar um conjunto data/hora seguindo a norma definida pelos RFC 822 e 1123. Este formato é necessário, por exemplo, para fixar a data de vencimento das cookies em um cabeçalho HTTP.

     $minhadata:=String(Current date;Date RFC 1123;Current time

    A hora expressa considera a hora do fuso horário (zona GMT). Se passar uma data, o comando retorna a data com a hora da meia noite (hora loca) expressa em hora GMT o qual pode fazer com que a data se mova para frente ou para trás, dependendo da zona horária local:

     $minhadata:=String(Current date;Date RFC 1123

Expressões de tipo Hora

Se expressao for do tipo Hora, a string é devolvida utilizando o formato como padrão HH:MM:SS. Pode passar no parâmetro formato uma das seguintes constantes do tema "Formatos de saída de hora"):

Constante Tipo Valor
Blank if null time Inteiro longo 100
HH MM Inteiro longo 2
HH MM AM PM Inteiro longo 5
HH MM SS Inteiro longo 1
Hour min Inteiro longo 4
Hour min sec Inteiro longo 3
ISO time Inteiro longo 8
Min sec Inteiro longo 7
MM SS Inteiro longo 6
System time long Inteiro longo 11
System time long abbreviated Inteiro longo 10
System time short Inteiro longo 9

Notas:

  • O formato  ISO Date Time corresponde à norma ISO8601. Este formato contém uma data e uma hora. Por exemplo, a data de 31 de maio de 2006 à 1:20 p.m. é escrita 2006-05-31T13:20:00. Isso se utiliza para os processos XML e com serviços Web. 4D não permite armazenar uma data e hora em um campo apenas. Entretanto, é possível administrar as datas neste formato utilizando o comando String
  • A constante Blank if null deve ser adicionada ao formato; indica que em caso de um valor nulo 4D deve devolver uma string vazia ao invés de zeros.

Estes exemplos assumem que a hora atual 5:30 PM e 45 segundos:

 $vsResult:=String(Current time
 $vsResult:=String(Current time;Hour Min Sec

Expressões de tipo string

Se expressao for de tipo Alfa ou Texto, o comando devolve o mesmo valor que se passa no parâmetro. Isso pode ser útil particularmente em programação genérica utilizando ponteiros.
Neste caso, se for passado, o parâmetro formato será ignorado.

Expressões de tipo Booleano

Se expressao for de tipo Booleano, o comando devolve a string “True” ou “False” na linguagem da aplicação (por exemplo, “Vrai” ou “Faux” em uma versão francesa de 4D).

Neste caso se for passado, o parâmetro formato será ignorado.


Expressões indefinidas
Se a expressão é avaliada como indefinida, o comando devolve uma string vazia. Isso é útil quando se espera que o resultado de uma expressão (por exemplo, um atributo objeto) seja uma string, mesmo se puder ser indefinido.

Expressões Null

Se a expressão for avaliada como Null, o comando devolve a string "null". Isto é útil quando se esperar que o resultado de uma expressão (por exemplo, um atributo objeto) seja uma string, mesmo se puder ser null.


Page 6

O  comando Time string retorna a string da expressão tipo hora que passou em segundos.

O formato da string é HH:MM:SS.

Se passar um número de segundos superior ao número de segundos que há em um dia (86 400), Time string continua adicionando horas, minutos e segundos. Por exemplo, Time string (86401) retorna 24:00:01.

Nota: se necesitar o formato da string da expressão de tipo hora em uma variedade de formatos, utilize String.

O exemplo a seguir mostra uma caixa de alerta com a mensagem, “46 800 segundos representam 13:00:00.”

 ALERT("46800 segundos representam "+Time string(46800))


Page 7

4D v19.1

Time

Time ( horaString ) -> Resultado 
Parâmetro Tipo   Descrição
horaString  String, Inteiro longo
Como comparar caracetr com string
Hora para a qual devolver o número de segundos
Resultado  Hora
Como comparar caracetr com string
Hora especificada por horaString

Descrição   

O comando Time retorna uma expressão de tipo Hora equivalente à hora especificada como uma string por horaString.

O parâmetro horaString deve conter:

  • Uma cadeia que contenha uma hora expressa em um dos seguintes formatos de hora padrão de 4D correspondentes à linguagem de seu sistema (para maior informação, consulte a descrição do comando String).
  • Um inteiro longo que representa o número de segundos passados desde 00:00:00.

Nota: se a expressão valHora se avaliar como indefinida, Time devolve uma hora vazia (00:00:00). Isso é útil quando se espera que o resultado de uma expressão (por exemplo, um atributo objeto) seja uma hora, mesmo se puder ser indefinida.

Exemplo 1  

O seguinte exemplo mostra uma caixa de alerta com a mensagem “1:00 P.M. = 13 horas 0 minutos”:

 ALERT("1:00 P.M. = "+String(Time("13:00:00");Hour Min))

Exemplo 2  

Pode expressar todo valor numérico como uma hora:

 vTime:=Time(10000)   

 vTime2:=Time((60*60)+(20*60)+5200)


  

Ver também 

ARRAY TIME
Bool
String
Time string
Timestamp

Produto: 4D Tema: Datas e Horas Número 179

Como comparar caracetr com string

Descrição

Exemplo 1

Exemplo 2

Criado por: < 4D v6 Modificado: 4D v14 Modificado: 4D v16 R5

Manual de linguagem 4D ( 4D v19)
Manual de linguagem 4D ( 4D v19.1)