em 2023-03-16 10:34 AM - editado pela última vez em 2023-05-19 01:01 PM por Rita Gurjao
Oi, pessoal! Tudo bem?
Estou trabalhando com propriedades e expressões e usando os IFs para tentar extrair algumas informações.
Vou até usar o exemplo do manual do Archicad pra simplificar o pensamento:
Categorize as Vigas como Longas (maiores que 6 m) ou curtas (menores que 2 m). Qualquer Viga que não
se enquadre nessas categorias é considerada como Média.
EXPRESSÃO:
IFS (Comprimento Esquerda 600 cm, "Longo", Comprimento Esquerda < 200 cm,
"Curto", TRUE, "Médio")
RESULTADO:
Vigas maiores que 6 m: Longo
Vigas inferiores a 2 m: Curtas
Vigas com comprimentos intermediários: Médio
Entretanto, o que eu desejo tirar como informação seria uma propriedade criada. Por exemplo, vamos supor que, em vez de "Médio", eu quisesse que fosse retirada uma informação puxada de uma propriedade (do tipo "Geral"). Quando eu coloco pra informação que quero extrair ser assim, ele me dá um erro e informa que o texto contém uma string não literal.
Gostaria de saber o que seria string literal, por definição, e se seria possível extrair a informação da forma que eu quero.
Solucionado! Ir para Solução.
em 2023-03-21 12:12 PM
Oi Patrícia,
Em Archicad, uma string literal é uma sequência de caracteres que é usada como um valor constante em uma expressão ou declaração de variável. Ela é representada por um conjunto de caracteres entre aspas duplas (") ou simples (').
Conforme falamos no privado, se você quer retornar um valor que é variável, que é uma propriedade ou parâmetro, não deve colocar este valor entre aspas. O erro que você encontrou foi relacionado a isso.
Na próxima, fique à vontade para mandar mais prints e exemplos do erro, por favor.
Atenciosamente
Zu
em 2023-03-20 03:02 PM
Olá, @Patricia Angelim
Obrigada por trazer a sua dúvida para a Community!
Poderia nos dizer que tipo de informação gostaria de extrair?
Rita Gurjão
Brazilian Portuguese Community Manager
em 2023-03-20 04:46 PM
Oi, Rita!
Estava tentando extrair a informação de um ID do Elemento.
em 2023-03-21 12:12 PM
Oi Patrícia,
Em Archicad, uma string literal é uma sequência de caracteres que é usada como um valor constante em uma expressão ou declaração de variável. Ela é representada por um conjunto de caracteres entre aspas duplas (") ou simples (').
Conforme falamos no privado, se você quer retornar um valor que é variável, que é uma propriedade ou parâmetro, não deve colocar este valor entre aspas. O erro que você encontrou foi relacionado a isso.
Na próxima, fique à vontade para mandar mais prints e exemplos do erro, por favor.
Atenciosamente
Zu
em 2023-03-21 12:20 PM
Zu, obrigada pela ajuda!!
Não coloquei os prints porque a fonte do meu texto é completamente aleatória kkkkk
mas vou deixar aqui os prints pra caso alguém venha a ter o mesmo problema consiga entender a situação:
Na primeira imagem, caso as condicionantes não sejam verdadeiras, ele irá mudar o valor para "-". Mas, eu queria que mudasse para o ID do Elemento, como mostra na imagem 2.
Contudo, dá a mensagem de erro de string literal pq o ID do elemento não deve estar entre as aspas por ser considerado uma variável, não uma constante.
Correto: