Fórum Memo não aparece a partir da Terceira Linha #429332

21/11/2012

0

Estou tentando lançar o valor das parcelas de uma dívida no Memo, mas não aparece a partir da terceira linha, por que?

Memo1.Lines.Strings[0]:='1º Parcela';
Memo1.Lines.Strings[1]:='2º Parcela';
Memo1.Lines.Strings[2]:='3º Parcela';
Memo1.Lines.Strings[3]:='4º Parcela';
Memo1.Lines.Strings[4]:='5º Parcela';
Memo1.Lines.Strings[5]:=6º Parcela';
Samuel Lopes

Samuel Lopes

Responder

Posts

21/11/2012

William

Colega essa pode ser uma alternativa, inserindo a quebra direto na string:


Memo1.Lines.Add('1º Parcela'#13);
Memo1.Lines.Add('2º Parcela'#13);
Memo1.Lines.Add('3º Parcela'#13);
Memo1.Lines.Add('4º Parcela'#13);
Memo1.Lines.Add('5º Parcela'#13);
Memo1.Lines.Add('6º Parcela'#13);


Mas existem diversas maneiras, até mesmo montando primeiro a string e depois adicionando ao Memo1.
Responder

Gostei + 0

21/11/2012

Marco Salles

Samuel a instrução

Memo1.Lines.Strings[0] é uma propriedade e não um método

Na realidade o que se esta fazendo é atribuir as duas posiçoes que ja existem no seu memo para

Memo1.Lines.Strings[0]:='1º Parcela';
Memo1.Lines.Strings[1]:='2º Parcela';

O correto seria talves o Delphi lançar um exceção e lhe dizer que os itens 3,4,5,6 são Invalidos

Porém ele não faz isto o que na minha opnihão deveria

Faça este mesmo teste colocando o Clear na frente

Memo1.Lines.Clear;
Memo1.Lines.Strings[0]:='1º Parcela'; // ele so ira atribuir para a String[0] o valor '1º Parcela';
Memo1.Lines.Strings[1]:='2º Parcela';
Memo1.Lines.Strings[2]:='3º Parcela';
Memo1.Lines.Strings[3]:='4º Parcela';
Memo1.Lines.Strings[4]:='5º Parcela';
Memo1.Lines.Strings[5]:='6º Parcela';

Faça outro teste

escreve muita besteira n seu memo e tire o clear e faça

Memo1.Lines.Strings[0]:='1º Parcela'; // ele so ira atribuir para a String[0] o valor '1º Parcela';
Memo1.Lines.Strings[1]:='2º Parcela';
Memo1.Lines.Strings[2]:='3º Parcela';
Memo1.Lines.Strings[3]:='4º Parcela';
Memo1.Lines.Strings[4]:='5º Parcela';
Memo1.Lines.Strings[5]:='6º Parcela';

se vc tiver escreito seis linha todos os conteudo serão alterados

Por fim utilize o Método Add da classe TStrings .. Este sim é para adicionar Itens

//limpa
Memo1.Lines.Clear;
//adiciona
Memo1.Lines.Add('6º Besteira');
Memo1.Lines.Add('5º Besteira');
Memo1.Lines.Add('4º Besteira');
Memo1.Lines.Add('3º Besteira');
Memo1.Lines.Add('2º Besteira');
Memo1.Lines.Add('1º Besteira');
//atribui
Memo1.Lines.Strings[0]:='1º Parcela';
Memo1.Lines.Strings[1]:='2º Parcela';
Memo1.Lines.Strings[2]:='3º Parcela';
Memo1.Lines.Strings[3]:='4º Parcela';
Memo1.Lines.Strings[4]:='5º Parcela';
Memo1.Lines.Strings[5]:='6º Parcela';


entendeu ????

[]sds

Responder

Gostei + 0

21/11/2012

Samuel Lopes

Muito Obrigado pelas dicas!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar