Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Cicno

[Resolvido] Variavel receber várias coisas

Recommended Posts

Estou tentando fazer uma variável receber um tipo de texto de acordo com as checkbox selecionadas.

então fiz 2 variáveis 1 chamada "add" e outra chamada "armazem" as 2 coloquei string

então coloquei isso aqui

if checkbox2.checked then add:=armazem+', Jardim de inverno' else
if checkbox3.checked then add:=armazem+', Lareira' else
if checkbox4.checked then add:=armazem+', Churrasqueira' else
if checkbox5.checked then add:=armazem+', Piscina';

isso seria tipo um opcional e quero que apareça coisas do tipo "Jardim de Inverno, Lareira" ou Lareira, Piscina.

E só está aparecendo uma das opções quando coloco para aparecer em uma edit.

Vlw pela ajuda adiantado =p.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cicno, Tudo bem?!

 

Então, o que você fez de errado aqui é colocar um check dependente do outro. Não utiliza os ELSE. Eles são independentes. O codigo deve ficar assim:

 

armazem := '';

if checkbox2.checked then 
 armazem:=armazem+', Jardim de inverno';

if checkbox3.checked then 
 armazem:=armazem+', Lareira';

if checkbox4.checked then 
 armazem:=armazem+', Churrasqueira';

if checkbox5.checked then 
 armazem:=armazem+', Piscina';

armazem := copy(armazem, 3, length(armazem) -2);

 

Pelo que entendi é isso que você precisa!

Espero ter ajudado! Até mais!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cicno, Tudo bem?!

 

Então, o que você fez de errado aqui é colocar um check dependente do outro. Não utiliza os ELSE. Eles são independentes. O codigo deve ficar assim:

 

armazem := '';

if checkbox2.checked then 
 armazem:=armazem+', Jardim de inverno';

if checkbox3.checked then 
 armazem:=armazem+', Lareira';

if checkbox4.checked then 
 armazem:=armazem+', Churrasqueira';

if checkbox5.checked then 
 armazem:=armazem+', Piscina';

armazem := copy(armazem, 3, length(armazem) -2);

 

Pelo que entendi é isso que você precisa!

Espero ter ajudado! Até mais!

Deu certo vlw pela ajuda... sem querer abusar mais se oq isso aqui quer dizer?

armazem := copy(armazem, 3, length(armazem) -2)

Compartilhar este post


Link para o post
Compartilhar em outros sites

rs, nao eh abuso nao, relaxa

 

A função COPY serve para cortar as palavras. Ela retorna pra mim uma string que é parte da string passada como parametro. A variavel armazem passará por varios checks mas ficará com o conteudo inicial ", ". Com o copy estou cortando ela. Exemplo:

 

Conteudo da armazem = ', Lareira, Piscina'

Esse conteudo inicial não é interessante pra gente, por isso vamos descartá-lo com o copy

 

Imagine os caracteres numerados

 

| , |   | L | a | r | e | i | r | a | , |   | P | i | s | c | i | n | a | 
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10| 11| 12| 13| 14| 15| 16| 17| 18|

 

O que me interessa é o caracter 3 para frente. A funcão LENGTH retorna a quantidade de caracteres da string. Eu estou descartando as duas primeiras, entao preciso da "terceira letra até a quantidade - 2)

 

copy(armazem, 3, length(armazem) -2) 

 

Consegui ser clara? tenho dificuldades de explicar..rs Se ainda fico confuso me fla q eu tento denovo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

rs, nao eh abuso nao, relaxa

 

A função COPY serve para cortar as palavras. Ela retorna pra mim uma string que é parte da string passada como parametro. A variavel armazem passará por varios checks mas ficará com o conteudo inicial ", ". Com o copy estou cortando ela. Exemplo:

 

Conteudo da armazem = ', Lareira, Piscina'

Esse conteudo inicial não é interessante pra gente, por isso vamos descartá-lo com o copy

 

Imagine os caracteres numerados

 

| , |   | L | a | r | e | i | r | a | , |   | P | i | s | c | i | n | a | 
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10| 11| 12| 13| 14| 15| 16| 17| 18|

 

O que me interessa é o caracter 3 para frente. A funcão LENGTH retorna a quantidade de caracteres da string. Eu estou descartando as duas primeiras, entao preciso da "terceira letra até a quantidade - 2)

 

copy(armazem, 3, length(armazem) -2) 

 

Consegui ser clara? tenho dificuldades de explicar..rs Se ainda fico confuso me fla q eu tento denovo!

Conseguiu sim, não sabia desse comando vai me ajudar bastante.

Brigadão

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.