Operadores relacionais Comparam duas expressões e retornam um valor Booleano que representa a relação entre aqueles valores. Há operadores para comparar valores numéricos e sequências de caracteres "strings". Gambas compara valores numéricos usando seis operadores. Cada operador toma como operando duas expressões e retorna valores booleano. A tabela a seguir lista os operadores. Operador Exemplo Descrição = 2=2 Retorna True quando dois números são iguais. <> 1 <> 2 Retorna True quando dois números são diferentes. < 3<5 Retorna True se Numero1 é menor que Numero2. > 2>1 Retorna True se Numero1 é maior que Numero2. <= 5 <= 5 Retorna True se Numero1 é menor ou igual a Numero2. >= 5 >= 3 Retorna True se Numero1 é maior ou igual a Numero2. Comparação de Strings Gambas compara sequências de caracteres usando os operadores de comparação numérica assim como o operador Like. O operador Like permite que você especifique um padrão. A sequência de caracteres é comparada com o padrão e, se há correspondência, o resultado é True. Caso contrário False. Os operadores numéricos permitem que você compare valores de String baseando-se em sua ordem de classificação. Operador Exemplo Descrição = String = String Retorna True se duas strings são iguais. == String == String Retorna True se duas string são iguais. Sensível à caixa. String LIKE String Checa se uma string está de acordo com um padrão. <> String <> String Retorna True se duas strings são diferentes. < String1 < String2 Retorna True se String1 é estritamente menor que String2. > String1 > String2 Retorna True se String1 é estritamente maior que String2. <= String1 <= String2 Retorna True se String1 é menor ou igual a String2. >= String1 >= String2 Retorna True se String1 é maior ou igual a String2. String BEGINS String Verifica se uma string começa com um padrão. String ENDS String Verifica se uma string termina com um padrão. LIKE Begins Ends O resultado no exemplo a seguir é True, porque o primeiro caractere "2" na primeira sequência de caracteres classifica-se antes do primeiro caractere "4" na segunda sequência. Se os primeiros caracteres fossem iguais, a comparação continuaria com o próximo caractere e assim sucessivamente. Print "23" < "4" 'True Podemos testar a igualdade de sequências de caracteres "strings" usando o operador de igualdade. 8 Podemos fazer comparações de strings com base numa ordem de classificação de texto que não diferencia maiúsculas de minúsculas, ou seja, este operador não leva em consideração se a letra é maiúscula ou minuscula. Print "A" == "a" 'True Podemos fazer uma comparação levando em conta se as letras são maiúsculas ou minúsculas. Print "A" = "a" 'False Se uma sequência de caracteres é prefixo de outra, como em "aa" e "aaa", a quantidade de caracteres é que determina qual expressão é considerada maior. Print "xxx" > "xx" 'True Begins - Retorna True se a string começa com a sequência de caracteres padrão. Se Not for especificado o resultado é invertido. Este operador é sensível a caixa. Print "Gambas" Begins "Gam" 'True Print "Gambas" Not Begins "Gam" 'False Print "Gambas" Begins "gam" 'False Ends - Retorna True se a string termina com a sequência de caracteres padrão. Se Not for especificado o resultado é invertido. Este operador é sensível a caixa. Print "Gambas" Ends "bas" 'True Print "Gambas" Not Ends "bas" 'False Print "Gambas" Ends "BAS" 'False Operadores de String O operador &/ é apropriado para concatenar strings que representam locais de arquivos em seu computador. Este operador adiciona um separador de caminho entre as duas strings. Operador Exemplo Descrição &/ String1 &/ String2 Concatena duas strings e adiciona o separador '/' entre as duas strings. & String1 & String2 Concatena duas strings. Caracteres de escape Caracteres de escape funcionam exatamente como nas strings normais é necessário utilizar a barra antes. Exemplo, aspas duplas (") deve ser escrito (\"), no entanto, aspas duplas até pode está em uma string que representa um caminho para um arquivo ou diretório, mas, não é um caractere apropriado, nem todos os sistemas operacionais vão aceitá-las. Observe o separador é uma barra. Caso este caminho fosse para um local no sistema operacional Windows a barra seria invertida. Exemplo C:\Meus documentos\Imagens. Print "/usr" &/ "share" &/ "openasb" '/usr/share/openasb Se o resultado da comparação é atribuído a uma variável inteira, então o resultado pode ser -1 (True) ou 0 (False) 9