Paulo Nobre Postado Janeiro 30, 2005 Denunciar Share Postado Janeiro 30, 2005 Existe uma maneira de fazer o texto de um memo aparecer justificado?Se sim, qual seria o código para isso?Obrigado Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Fevereiro 1, 2005 Denunciar Share Postado Fevereiro 1, 2005 Olá Paulo, como seria esse "justificar" ?Retirar os brancos à esquerda de todas as linhas ? Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Nobre Postado Fevereiro 2, 2005 Autor Denunciar Share Postado Fevereiro 2, 2005 Olá s3c,seria como no editor de texto word, por exemplo, retirando os espaços à esquerdaà direita e redistribuindo pelo meio. Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Fevereiro 2, 2005 Denunciar Share Postado Fevereiro 2, 2005 Bom, o componente TMemo possui a propriedade Alignment; você pode deixá-la como taCenter, aí ele centraliza no momento da digitação. Se quiser digitar à esquerda e depois centralizar, é só modificar esta propriedade em execução. Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Nobre Postado Fevereiro 3, 2005 Autor Denunciar Share Postado Fevereiro 3, 2005 s3c, o que eu queria mesmo era digitar e sair "justificado".Pesquisei muito pela rede e realmente não achei o código e nenhum componente do memo adaptado. É claro que se tivesse um memo adaptado teria também um código. mesmo assim muito obrigado. Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Fevereiro 3, 2005 Denunciar Share Postado Fevereiro 3, 2005 Olá Paulo, acho que agora entendí. você quer que a forma do texto fique como um quadrado, alinhado dos dois lados, redistribuindo os brancos entre as palavras p/ que fiquem com as duas margens iguais.Bom, se for isto, realmente eu não conheço nada a não ser via programação. Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Nobre Postado Fevereiro 3, 2005 Autor Denunciar Share Postado Fevereiro 3, 2005 Olá,s3c o que eu queria era exatamente o código ou seja, via programação.É possível você me fornecer um exemplo?Obrigado Link para o comentário Compartilhar em outros sites More sharing options...
0 s3c Postado Fevereiro 3, 2005 Denunciar Share Postado Fevereiro 3, 2005 Olá Paulo, bom o código eu não tenho porque nunca tive que usar isto; mas dá para fazer utilizando um TLabel de work, c/ autosize e font=font do memo, com isto você pega o width do TLabel e o deixa igual à todas as linhas do memo c/ os comandos Pos, Delete e Insert. Dá um pouco de trabalho, mas acho que dá para ser feito. Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Nobre Postado Fevereiro 4, 2005 Autor Denunciar Share Postado Fevereiro 4, 2005 Valeu s3c !! Link para o comentário Compartilhar em outros sites More sharing options...
0 XdogX Postado Fevereiro 7, 2005 Denunciar Share Postado Fevereiro 7, 2005 Um, voce quer fazer tp aquele justificar do word.já um componente q faiz isso, mas nem lembro o nome.Você pode usar a ideia do s3c so que demora um pouco.Mas acho que tem jeito de fazer isso no componente RicheditMas não sei como.. Link para o comentário Compartilhar em outros sites More sharing options...
0 Progr'amador Postado Fevereiro 10, 2005 Denunciar Share Postado Fevereiro 10, 2005 Olá Paulo,Desde de que você postou isso, achei interessante, e isso me levou a pesquisar sobre o assunto e consegui uma resposta, na verdade não funcionava, então, tive que fazer algumas alterações, porem, essa função tem algumas limitações, tipo: - Usar fonte cujo os caracteres tenham o mesmo tamanho, como por exemplo a 'Courier New', 'Arial por exemplo não funciona legal';- O tamanho do Memo (Width) deve ser compativel com o número de caracteres possiveis da linha (Length).Exemplo:Adicione um Memo e um button no form;Memo: font Courier New, Tam 8, Width = 281.declare duas variaveis no Var: nX e nCount, e use essa função (function Justifica)var Form1: TForm1; nx, nCount : integer; implementation {$R *.DFM} function Justifica(mCad:string;mMAx:integer):string; var mPos,mPont,mTam,mNr,mCont:integer; mStr:string; begin mTam:=Length(mCad); if mTam>=mMax then Result:=copy(mCad,1,mMax) else mStr:=''; mCont:=0; mPont:=1; mNr:=mMax-mTam; nx := nx + 1; while mCont<mNr do begin mPos:=pos(mStr,copy(mCad,mPont,100)); if mPos=0 then begin mStr:=mStr+' '; mPont:=1; end else begin mCont:=mCont+1; Insert(' ',mCad,mPos+mPont); mPont:=mPont+mPos+length(mStr); end; Result:=mCad; if nx = nCount then Exit; end; end; No Button coloque: procedure TForm1.Button1Click(Sender: TObject); var i : integer; begin nx := 0; nCount := memo1.Lines.Count; for i := 0 to memo1.Lines.Count - 1 do begin Memo1.lines[i]:=justifica(memo1.lines[i],40); //Memo1.lines[i]:=justifica(texto da Linha, Nº de carac. possiveis da linha); end; end;estou usando esse texto com exemplo: "Delphi 3 works with the last release of Delphi 2. However, be sure to back up important data, including projects you intend to share between versions 2 and 3, before attempting to install the new version."veja o resultado:É isso!, espero que isso te ajude.Abs. Progr'amador. Link para o comentário Compartilhar em outros sites More sharing options...
0 Paulo Nobre Postado Fevereiro 10, 2005 Autor Denunciar Share Postado Fevereiro 10, 2005 Progr'amador, valeu mesmo, show de bola.Ajudará e servirá e muito.Como disse para você, não achei nada na NET igual.Obrigadão. Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Paulo Nobre
Existe uma maneira de fazer o texto de um memo aparecer justificado?
Se sim, qual seria o código para isso?
Obrigado
Link para o comentário
Compartilhar em outros sites
11 respostass a esta questão
Posts Recomendados