Memo quebrando linha

Delphi

18/02/2016

Gostaria saber o que esta acontecendo e se possível a solução.

Em um Memo1 começo adicionar linhas sequencialmente com números, sempre 18 números,em algum momento começa a quebrar a linha em varias posições.

Ex:
0123456789101112131415161718
0123456789101112131415161718
0123456789101112131415161718
0123456789101112131415161718
0123456789101112131415161718
0123456789101112131415161718
0123
456789101112131415161718
0123456789101112131415161718
012345
6789101112131415161718
012345678910
1112131415161718
0123456789101112131415161718
0123456789101112131415161718

O será que acontece???

Obrigado.

Luiz
Luiz Claudio

Luiz Claudio

Curtidas 0

Melhor post

Natanael Ferreira

Natanael Ferreira

29/02/2016

Teste este código:

var
  i: Integer;
begin
  for i := 0 to Memo1.Lines.Count - 1 do
    Memo1.Lines[i] := Copy(Memo1.Lines[i], 1, 10) + 'D' + Copy(Memo1.Lines[i], 11, 27) + 'D';
end;
GOSTEI 1

Mais Respostas

Raylan Zibel

Raylan Zibel

18/02/2016

Se mostrar o codigo de como ta adicionando as linhas, ajuda.
GOSTEI 0
Luiz Claudio

Luiz Claudio

18/02/2016

procedure TCAN232Form.ComPortRxChar(Sender: TObject; Count: Integer);
var
InputBuffer: String;
i : integer;
AddS, HexS, CopyS : String;

begin

ComPort.ReadStr(InputBuffer, Count);
AddS := Copy(InputBuffer,1,Count);
HexS := '';//Limpa o HexS
Delete(InputBuffer,1,Count);

for i := 1 to Count do
begin
CopyS := Copy(AddS,i,1);

HexS := HexS + Format('%2.2x',[Byte(CopyS[1])])+ ' '

end;

Inc(j);

HexS := IntToStr(j) + ') ' + HexS ;

Memo.Lines.Add(HexS);

end;
GOSTEI 0
Natanael Ferreira

Natanael Ferreira

18/02/2016

Verifique se a string não está sendo adicionada com espaços em branco.

Troque:

Memo.Lines.Add(HexS); 


Por:

Memo.Lines.Add(Trim(HexS)); 
GOSTEI 0
Luiz Claudio

Luiz Claudio

18/02/2016

Ainda não deu!

Luiz
GOSTEI 0
Luiz Claudio

Luiz Claudio

18/02/2016

Por a caso alguém poderia me mandar um exemplo de como poderia acrescentar um D ai no meu código?

Ex:

123456789D101112131415161718D
GOSTEI 0
Raylan Zibel

Raylan Zibel

18/02/2016

Por a caso alguém poderia me mandar um exemplo de como poderia acrescentar um D ai no meu código?

Ex:

123456789D101112131415161718D


Voce pode concatenar antes de adicionar no memo..

Qual é o valor da variavel InputBuffer?
GOSTEI 0
Luiz Claudio

Luiz Claudio

18/02/2016

Desculpa,mas eu não entendi valor!
GOSTEI 0
Raylan Zibel

Raylan Zibel

18/02/2016

Qual seria o valor da string q vc lendo..?
GOSTEI 0
Luiz Claudio

Luiz Claudio

18/02/2016

0123456789101112131415161718
0123456789101112131415161718
0123456789101112131415161718
0123456789101112131415161718
0123456789101112131415161718
0123456789101112131415161718
0123456789101112131415161718
0123456789101112131415161718
0123456789101112131415161718
0123456789101112131415161718
0123456789101112131415161718
0123456789101112131415161718

São vários os valores,eu coloquei assim para ficar melhor a contagem.

Eu gostaria de saber agora como fazer para colocar o D entre o 9 e 10 e depois do 18.

123456789D101112131415161718D

Obrigado, pela atenção!
GOSTEI 0
Luiz Claudio

Luiz Claudio

18/02/2016

Obrigado,

Funcionou legal, era isso mesmo que eu precizava.




Obrigado.
GOSTEI 0
Marco Antônio

Marco Antônio

18/02/2016

O problema da quebra de linha resolveu? Pelo que entendi resolveu a concatenação. Mas o tema principal da sua dúvida conseguiu resolver tb?

abc.
GOSTEI 0
POSTAR