GARANTIR DESCONTO

Fórum Memo quebrando linha #546144

18/02/2016

0

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

Responder

Post mais votado

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;

Natanael Ferreira

Natanael Ferreira
Responder

Gostei + 1

Mais Posts

18/02/2016

Raylan Zibel

Se mostrar o codigo de como ta adicionando as linhas, ajuda.
Responder

Gostei + 0

18/02/2016

Luiz Claudio

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;
Responder

Gostei + 0

19/02/2016

Natanael Ferreira

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)); 
Responder

Gostei + 0

19/02/2016

Luiz Claudio

Ainda não deu!

Luiz
Responder

Gostei + 0

19/02/2016

Luiz Claudio

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

Ex:

123456789D101112131415161718D
Responder

Gostei + 0

19/02/2016

Raylan Zibel

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?
Responder

Gostei + 0

19/02/2016

Luiz Claudio

Desculpa,mas eu não entendi valor!
Responder

Gostei + 0

19/02/2016

Raylan Zibel

Qual seria o valor da string q vc lendo..?
Responder

Gostei + 0

19/02/2016

Luiz Claudio

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!
Responder

Gostei + 0

29/02/2016

Luiz Claudio

Obrigado,

Funcionou legal, era isso mesmo que eu precizava.




Obrigado.
Responder

Gostei + 0

01/03/2016

Marco Antônio

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.
Responder

Gostei + 0

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

Aceitar