Ir para o conteúdo

Gerar uma Carta Aleatória

Configuração

App Builder não tem atualmente uma função para gerar aleatoriamente uma letra do alfabeto ou um número entre dois valores, mas você pode precisar de uma letra aleatória ou conjunto de caracteres gerados por vários motivos, incluindo a implementação de um código de caractere em um aplicativo. Para esta tarefa, teremos que "escapar App Builder" e usar um script SQL para gerar um número aleatório e, em seguida, trabalhar com o Business Objects para converter o número aleatório em uma letra correspondente do alfabeto.

  1. Crie uma Subconsulta. Neste exemplo, chamaremos de Aplicativo (Gerador de Números Aleatórios). Então, usaremos o SELECT RAND()função que seleciona um número aleatório entre 0 e 1. Para selecionar um número aleatório entre dois valores a e b, usamos a função SELECT RAND()*(b-a)+a;e substituir em nossos valores a e b. neste caso, queremos um número entre 1 e 26 (porque há 26 letras do alfabeto), então escolhemos 1 e 26 como nossos valores a e b respectivamente. Isso nos dará um valor decimal, mas queremos um inteiro, então usamos o FLOOR() função para gerar um número inteiro aleatório que seja inclusivo (inteiro aleatório >= 1 e <= 26).

  2. Em seguida, precisamos criar uma tabela Letter com inteiros correspondentes a cada letra do alfabeto. A coluna LetterID é um Primary Key Integer. A coluna Letter é uma String.

  3. Agora podemos converter o inteiro aleatório em uma letra correspondente cruzando a tabela Letter com o Objeto de Negócios Application (Random Number Generator) que criamos anteriormente em uma subconsulta chamada Letter (Random Number to Letter Conversion) e filtrando WHERE IIF(LetterID = AR.Rand, 1, 0)usando um Flag. Os resultados devem fornecer uma letra aleatória toda vez que você executar os resultados ou atualizar.