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

(Resolvido) Editor de Texto


Gavoha

Pergunta

Posts Recomendados

  • 0
19 horas atrás, Jhonas disse:

com o delphi XE8 sim...

abraço

Tentei com o

TMSFMXMemo - não consegui quebrar a Linha 

TMSFMXRichEditor - Não armazena as quebradas de linha, ou seja, quando abro um texto salvo ele faz uma bagunça.

 

É isso mesmo ou estou fazendo algo errado?

Link para o comentário
Compartilhar em outros sites

  • 0

Não consegui salvar a carta e depois abrir, mantendo os "Quebra-Linha"... como solução eu usei mesmo o  TMSFMXRichEditor  salvando a carta no Celular/PC e depois abrindo.

 

Não era exatamente o que eu queria mas deu certo.... obrigado!

Editado por Gavoha
Esqueci de perguntar...
Link para o comentário
Compartilhar em outros sites

  • 0

Existe alguma forma de dar Zoom no texto ou apenas aumentar a letra na exibição?

 

Eu tentei fazer

Richeditor.font.size :=  Richeditor.font.size +5;

mas não deu certo porque tenho que selecionar antes todo o texto (quero aplicar em todo o texto)

Mesmo colocando o SelectAll antes eu não consegui... o "SelAttributes" não parece pra mim.

Link para o comentário
Compartilhar em outros sites

  • 0

 

Ok... consegui dessa forma:

    mCarta.SelectAll;
    mcarta.SetSelectionFontSize(iZoom +1);
    mCarta.ClearSelection;

 

Agora estou precisando apenas a barra de rolagem do Richeditor. 

 

Gostaria de pode arrastar a rolagem para baixo... mas quando eu toco no texto ele seleciona

Link para o comentário
Compartilhar em outros sites

  • 0

voce pode usar o componente ScrollBar1, para fazer a rolagem do texto

 

voce pode tentar esse comando:

SendMessage(RichEdit1.Handle, WM_VSCROLL, SB_PAGEDOWN, 0);

 

ou veja nas propriedades do componente se tem a propriedade

SCROLLBARS e mude  para a barra de rolagem desejada.

 

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Em 07/01/2017 at 19:59, Jhonas disse:

voce pode usar o componente ScrollBar1, para fazer a rolagem do texto

 

voce pode tentar esse comando:

SendMessage(RichEdit1.Handle, WM_VSCROLL, SB_PAGEDOWN, 0);

 

ou veja nas propriedades do componente se tem a propriedade

SCROLLBARS e mude  para a barra de rolagem desejada.

 

abraço

Jhonatas, não tenho a "SendMessage" quando coloco para compilar para Android.... e não tem a propriedade Sroollbars no RichEditor.

 

Já estou pensando em usar TMemo e não mais TRichEditor... O problema é que no TMemo, além do texto ir para baixo do componente (como na imagem) a o foco vai para primeira linha do texto.

imgErro_Abaixo.jpg

Link para o comentário
Compartilhar em outros sites

  • 0

ok .. já que quer usar o TMemo, deixe as prorpiedades desse jeito

MaxLength = 50 ( numero maximo de caracteres por linha )

ScrollBars = ssVertical  ( colocar barra vertical no texto )

ou 

ScrollBars = ssBoth ( colocar barra vertical e horizontal no texto )

WordWrap = true ( quebrar a linha quando chegar na barra de rolagem )

 

//move o cursor pra o final da ultima linha 

Memo1.SelStart := Length(Memo1.Text);

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
40 minutos atrás, Jhonas disse:

ok .. já que quer usar o TMemo, deixe as prorpiedades desse jeito

MaxLength = 50 ( numero maximo de caracteres por linha )

ScrollBars = ssVertical  ( colocar barra vertical no texto )

ou 

ScrollBars = ssBoth ( colocar barra vertical e horizontal no texto )

WordWrap = true ( quebrar a linha quando chegar na barra de rolagem )

 

//move o cursor pra o final da ultima linha 

Memo1.SelStart := Length(Memo1.Text);

abraço

...No atual desespero me que me encontro, eu nem tenho mais preferencia... Funcionando é o que me importa...

O problema é que o cursor vai até a ultima linha... o que não consigo é que ele fique visível. (como na imagem anexo).

 

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

O problema é que o cursor vai até a ultima linha... o que não consigo é que ele fique visível. (como na imagem anexo).

isso ocorre se voce não voltar o foco para ele novamente

   Memo1.SelStart := Length(Memo1.Text);
   Memo1.SetFocus;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
21 horas atrás, Jhonas disse:

O problema é que o cursor vai até a ultima linha... o que não consigo é que ele fique visível. (como na imagem anexo).

isso ocorre se voce não voltar o foco para ele novamente

   Memo1.SelStart := Length(Memo1.Text);
   Memo1.SetFocus;

abraço

Jhonas, mesmo colocando no OnKeyUp eu perco o foco da linha (não entendo o porque)

Enquanto o texto não atingiu o final da linha, consigo salvar e abrir novamente para editar sem problemas. Quando o texto ultrapassou o espaço visual (Scroll interno do Tmemo), basta eu pressionar a qualquer tecla duas vezes que o foco da linha se perde e vai para primeira posição, mas mantendo o cursor na ultima linha.

 

(Se tivesse como, eu postaria um vídeo do fato)

Link para o comentário
Compartilhar em outros sites

  • 0

ok... voce pode tentar contornar o problema do foco no componente

clique com o botão direito no form e escolha a opção Tab Order ( onde voce coloca a sequencia em que o foco vai pular para os componentes do form )

coloque o componente TMemo como ultimo e veja se resolve

(Se tivesse como, eu postaria um vídeo do fato)

voce teria que procurar um site que deixe voce postar o video e depois bastaria deixar o link 

ou voce pode tirar um Print Screen da Tela na sequencia e colocar aqui no forum

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Em 10/01/2017 at 14:06, Jhonas disse:

ok... voce pode tentar contornar o problema do foco no componente

clique com o botão direito no form e escolha a opção Tab Order ( onde voce coloca a sequencia em que o foco vai pular para os componentes do form )

coloque o componente TMemo como ultimo e veja se resolve

(Se tivesse como, eu postaria um vídeo do fato)

voce teria que procurar um site que deixe voce postar o video e depois bastaria deixar o link 

ou voce pode tirar um Print Screen da Tela na sequencia e colocar aqui no forum

abraço

Segue link do Youtube com o erro que está acontecendo

 

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

ok...  pelos meus testes, o problema não está no componente ... parece que é o teclado

faça um teste simples para verificar ..

digite apenas uma palavra da tela e tente voltar ao inicio usando o Backspace

se ainda assim no segundo toque o cursor sumir, então tente as configurações do teclado

no celular ( veja tipos de teclado, varrimento do teclado, configurações de escrita, tempo de reconhecimento...etc )

faça algumas alterações nas configurações e veja o que acontece.

abraço 

outra opção .... coloque no evento OnChange do Memo 

procedure TForm1.Memo1Change(Sender: TObject);
begin
   memo1.SetFocus;
end;
 

Link para o comentário
Compartilhar em outros sites

  • 0

O problema acontece apenas quando o texto ultrapassou limite da ultima linha do Memo. Antes disso não acontece. Exemplo:

------------

Primeira linha do TMemo

Ultima Linha do TMemo

------------

A partir desse ponto será necessário o ScrollBar trabalhar. Em tempo de preenchimento está tudo ok. Ele muda de linha, o foco de tela acompanha e o Scroll vai para o a próxima linha. Caso eu vá para outra linha superior e depois queira voltar a última linha novamente para corrigir ou dar continuidade no texto ele é que esse erro acontece.

 

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

  • 0

ok... voce esta usando o delphi XE8 ... quando voce compila o programa e executa ele no seu micro, acontece isso tambem ?

o Delphi XE8 tem muitos bugs ... voce já fez o update para resolver esses Bugs ?

https://www.google.com.br/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=delphi+xe8+bug+update+1+download

abraço 

Link para o comentário
Compartilhar em outros sites

  • 0
4 horas atrás, Jhonas disse:

ok... voce esta usando o delphi XE8 ... quando voce compila o programa e executa ele no seu micro, acontece isso tambem ?

o Delphi XE8 tem muitos bugs ... voce já fez o update para resolver esses Bugs ?

https://www.google.com.br/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=delphi+xe8+bug+update+1+download

abraço 

Após sua mensagem fui fazer o "Update 1" disponível (Longo e demorado por sinal) mas o problema continua.

Quanto a pergunta se o programa executado no Micro também apresenta o problema "SIM"

 

Não faço ideia de como resolver ou contornar esse problema.

Link para o comentário
Compartilhar em outros sites

  • 0

pelo que voce relatou, creio que seja bug de componente do seu delphi XE8, pois vi em outros foruns o mesmo problema.

no site da embarcadeiro, é relatado que o TMemo é nativo do IOs, mas que ele deve funcionar normalmente na maquina de desenvolvimento

se não funciona nem na sua maquina, então , talvez voce devesse pensar em desinstalar o delphi, limpar os registros do windows ( use o CCleaner ou outro ) e depois instalar o dephi novamente.

tente ver se o mesmo código funciona em outra versão do delphi

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