Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Memo1.lines.add(msg) Como Adicionar Na Mesma Linha


mariquito

Pergunta

14 respostass a esta questão

Posts Recomendados

  • 0

Opa

Viu estou sem Delphi aqui mas vou tentar te ajudar, veja

se não tem a propriedade exemplo

Memo1.Lines.Line[X].Text :=

ou

Memo1.Lines[X].Text :=

Onde X é a Index, ou seja, a linha que deseja alterar, lembrando

que começa com 0 então a primeira linha não é 1 é 0

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Opa

Viu estou sem Delphi aqui mas vou tentar te ajudar, veja

se não tem a propriedade exemplo

Memo1.Lines.Line[X].Text :=

ou

Memo1.Lines[X].Text :=

Onde X é a Index, ou seja, a linha que deseja alterar, lembrando

que começa com 0 então a primeira linha não é 1 é 0

abraço

poxa veio não deu certo não...

Link para o comentário
Compartilhar em outros sites

  • 0

Opa

Então eu chutei mesmo aushashu, faz assim amanhã no trampo

eu tenho Delphi lá e se ninguém te ajudar até lá eu te ajudo...

É que em casa eu estou sem o Delphi...

Amanhã não, hoje né já passou da meia noite =p

abraços

Link para o comentário
Compartilhar em outros sites

  • 0
como eu faço para adicionar uma messagem na mesma linha do MEMO

eu faço Memo1.Lines.add(Msg) só que ele pula a linha

como faço na mesma linha

Só para clarear as coisas, Memo1Lines.Add sempre incluirá uma linha no final do memo (sua lista de strings).

Outra coisa, é sobre como você fez sua pergunta. Voce colocou: "como eu faço para adicionar uma messagem na mesma linha", e isto sugere que você quer incluir uma linha numa determinada posição - empurrando o resto "para baixo". Se for isso, experimente utilizar: Memo1.Lines.Insert(INDEX, Msg);

Mas, se sua pergunta devesse ser: "como eu faço para alterar uma messagem na mesma linha"(ou seja, alterar uma linha no memo), e isto significaria substituir uma linha numa determinada posição, então você vai utilizar o que o colega Churc propôs:

Então, baseado no que te falei das Index o correto é:

Memo1.Lines.Strings[iNDEX] :=

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Revivendo o tópico.

complementando:

cara se você quiser add uma msg na mesmo linha tenta assin.

Memo1.Lines.Strings[iNDEX]:= Memo1.Lines.Strings[iNDEX] + 'Mensagem';

isso fara com que você insira uma msnsagem na frente de uma linha!

Estou com essa dúvida e quase que a resposta do nosso amigo Erso me foi útil. Unico problema é que tenho várias mensagens para exibir. Quando tento adicionar uma seguida da outra mas posicionando no Index[0] ele leva metade da mensagem que já estava adicionada no memo para a linha de baixo para poder exibir a que estou inserindo no momento na linha 0. A mensagem fica picada

Como faço pra deixar uma seguida da outra sem cortar a mensagem no meio?

Estava tentando assim

if Memo1.Lines.Count <> 1 then
   Memo2.Lines.Insert(0, Memo1.Lines.Strings[0] + Memo1.Lines.Strings[1] + Memo1.Lines.Strings[2] //assim por diante
  else
   Memo2.Text := Memo1.Text;

No caso estou tentando adicionar a um outro memo mas em uma unica linha todo o conteudo (todas as linhas) do memo1. Mas poderia também adicionar a um edit normal, só não sei como fazer em qualquer um dos casos.

Editado por DiabloX3
Link para o comentário
Compartilhar em outros sites

  • 0
No caso estou tentando adicionar a um outro memo mas em uma unica linha todo o conteudo (todas as linhas) do memo1. Mas poderia também adicionar a um edit normal, só não sei como fazer em qualquer um dos casos.

o comando seria este

memo1.lines.Append(memo2.lines.Text);

Insere todas as linhas do memo2 ao final das linhas do memo1

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Executar apenas este comando Jhonas?

se for, não deu certo pro que eu quero fazer ... ele deu append e criou 3 linhas diferentes no memo2 de acordo com o que já tinha no memo1 (3 linhas)

teria que sair as 3 mensagens seguidas uma da outra.

Explicando melhor: Estou em uma pesquisa. Nela informo os parâmetros que desejo pesquisar e carrego os dados na query. Esses dados vem no BD que tem um campo OBS e lá ele está gravado em 3 linhas diferentes, 1 linha pra cada mensagem.

O que preciso e puxar essas 3 linhas mas trazê-las em apenas 1, seguida uma da outra para que possa gerar um arquivo com isso.

Na verdade eu já consegui fazer isso usando variável e um for mas queria aprender e ver se é possível diminuir essas linhas, evitando que o programa execute o laço e faça de uma forma mais simplificada. Se tiver alguma outra idéia é bem vinda :)

abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Esses dados vem no BD que tem um campo OBS e lá ele está gravado em 3 linhas diferentes, 1 linha pra cada mensagem.

O que preciso e puxar essas 3 linhas mas trazê-las em apenas 1, seguida uma da outra para que possa gerar um arquivo com isso.

Deixe-me ver se entendi .... Campo OBS é um memo ou um edit ?

se as mensagens vierem de um edit

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   if key = #13 then
      begin
         Memo1.Lines.Append(edit1.text);
         edit1.Clear;
      end;
end;
se as mensagens vierem de um Memo
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var i : integer;
begin
   for i := 0 to Memo1.Lines.Count do
      Edit1.Text := Edit1.Text + ' - ' + Memo1.Lines.Strings[i];
end;

Faça uma adaptação do código as suas necessidades

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Então Jhonas, o que eu tinha feito é essa sua segunda opção. Apenas achei que tinha algum outro jeito.

A primeira dica, Append, pelo que testei no anterior vai criar uma linha para cada mensagem, dessa forma meu objetivo não seria atingido pois teria 3 linhas (o que é meio óbvio por usar o comando Append).

Mas está jóia, continuarei desse jeito então.

Obrigado.

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0

outra tentativa

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
   if key = #13 then
      begin
         memo1.Lines.Strings[0] := memo1.Lines.Strings[0] + ' - ' + edit1.text;
         edit1.clear;
      end;
end;

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...