Jump to content

[Resolvido] Como destacar um codigo fonte?


leo2012

Recommended Posts

Meu problema é o seguinte,eu tenho um Richtextbox e preciso destacar strings de um código fonte,exemplo :

<html>

<body>

Gostaria que essas strings ficassem de uma cor,diferente do resto do texto,como faço isso?

obs,eu ja vi um tópico aqui sobre isso,inclusive,o código funcionou,o problema é que quando eu dava enter,para ir para a proxima linha,ele repetia o primeiro caracter,e eu nao soube como resolver isso.

Alguem me diz como colorir determinadas strings,ou alguem da um jeito nesse codigo aqui pra mim? grato,o codigo esta aqui

http://www.portugal-a-programar.pt/topic/37363-dispondo-colorir-codigo/

Link to comment
Share on other sites

Há real/ coisas complicadas ... que normal/ são mais simples do que parece.

Envio-te 2 procedimentos que permitem adicionar (append) e modificar a cor do texto duma richbox:

Private Sub AppendText(ByVal rBox As RichTextBox, ByVal cor As Color, ByVal texto As String)
 Dim inicio As Integer = rBox.TextLength
 rBox.AppendText(texto)
 Dim fim As Integer = rBox.TextLength
 rBox.Select(inicio, fim - inicio)
 rBox.SelectionColor = cor 'rBox.SelectionBackColor, rBox.SelectionFont ....
 rBox.SelectionLength = 0
End Sub

Private Sub ChangeColorText(ByVal rBox As RichTextBox, ByVal ini As Integer, ByVal tamanho As Integer, ByVal cor As Color, ByVal texto As String)
 rBox.Select(ini, tamanho)
 rBox.SelectionColor = cor 'rBox.SelectionBackColor, rBox.SelectionFont ....
 rBox.SelectionLength = 0 'limpar
End Sub

Agora reparo que na 2ª o parametro texto está a mais.

Private Sub ChangeColorText(ByVal rBox As RichTextBox, ByVal ini As Integer, ByVal tamanho As Integer, ByVal cor As Color)
 rBox.Select(ini, tamanho)
 rBox.SelectionColor = cor 'rBox.SelectionBackColor, rBox.SelectionFont ....
 rBox.SelectionLength = 0 'limpar
End Sub

Chamada à 2ª --

ChangeColorText(RichTextBox1, RichTextBox1.SelectionStart, RichTextBox1.SelectionLength, Color.Blue)

Edited by ribeiro55
Link to comment
Share on other sites

Olha,eu encontrei a solução,é um código que deixa palavras pré-determinadas,de uma cor diferente das outras,o problema é só um,quando eu dou enter,ele repete o primeiro caracter,alguem pode concertar esse código pra mim? pois é exatamente oque eu queria.

https://www.portugal-a-programar.pt/topic/37363-dispondo-colorir-codigo/

Acho que o problema esta nessa linha,mas ja modifiquei e só da erro ; wordCount += WordVec(i).Length + 1

Link to comment
Share on other sites

Ainda não percebi qual o problema ? esse código está bem e funcional ... repete o caracter? :| não vi nada disso ...

ps: já tive a ver o que era ... o que tens que fazer é simplesmente inves de fazeres Enter dá espaço

Edited by Lukas S.

E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.

Link to comment
Share on other sites

Sim,o código do link funciona perfeitamente,ele coloriu o codigo "<html>" dai quando eu dei um enter,pra ir para a próxima linha,ele repetiu o "<" ou seja,repetiu o primeiro caracter,e ficou "<<html>" o erro é esse,sempre que eu dou enter,para pular a linha,ele repete o primeiro caracter.

olha a imagem

http://images.orkut.com/orkut/photos/RAAAAL6N_EG4TSviVRH2jlCw82vCTb-hgKw20wvyf4nX8CQIpnPwAb1LkGVCnHMfxyi60GP3SL4Q-FscAfwNzOP3j-TvQX1kN4-TThwB7YJamORRAJtU9VC5kKjG_rdKMVt_Bj6Dfc2rwseyIA.jpg

Link to comment
Share on other sites

Sim,o código do link funciona perfeitamente,ele coloriu o codigo "<html>" dai quando eu dei um enter,pra ir para a próxima linha,ele repetiu o "<" ou seja,repetiu o primeiro caracter,e ficou "<<html>" o erro é esse,sempre que eu dou enter,para pular a linha,ele repete o primeiro caracter.

olha a imagem

http://images.orkut.com/orkut/photos/RAAAAL6N_EG4TSviVRH2jlCw82vCTb-hgKw20wvyf4nX8CQIpnPwAb1LkGVCnHMfxyi60GP3SL4Q-FscAfwNzOP3j-TvQX1kN4-TThwB7YJamORRAJtU9VC5kKjG_rdKMVt_Bj6Dfc2rwseyIA.jpg

Por acaso leste aquilo que eu disse ?

já tive a ver o que era ... o que tens que fazer é simplesmente inves de fazeres Enter dá espaço

E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.

Link to comment
Share on other sites

Sim,eu li,o código está correto,sua afirmação também,sempre que dá o espaço,ele nao repete o primeiro caracter,mas esse software eu vou colocar pra baixar,as pessoas não tem como ficar dando espaço,elas querem algo que seja automático,então pensei em uma coisa,se alguém poderia me ajudar,um código que quando a pessoa apertar enter,ele insere um espaço,e depois sim dá o enter,assim não iria mais repetir o primeiro caracter,pois apertar o enter é obrigatorio,para ir para a proxima linha

Edited by leo2012
Link to comment
Share on other sites

Sim,eu li,o código está correto,sua afirmação também,sempre que dá o espaço,ele nao repete o primeiro caracter,mas esse software eu vou colocar pra baixar,as pessoas não tem como ficar dando espaço,elas querem algo que seja automático,então pensei em uma coisa,se alguém poderia me ajudar,um código que quando a pessoa apertar enter,ele insere um espaço,e depois sim dá o enter,assim não iria mais repetir o primeiro caracter,pois apertar o enter é obrigatorio,para ir para a proxima linha

com esse comentário não volto a ajudar ... ajudei até agora a pensar que usarias pra ti mesmo ou para algum projecto mas pelo que estou a ver tu vais dizer que o programa foi teu sem dar os créditos a quem merece ... da minha parte não ajudo mais ... Não sabes corrigir o código que é simples e ainda irias dizer que era teu ... não gosto , não aprovo e da minha parte nao ajudo mais ... A comunidade ajuda a perceberes dificuldades que tenhas no TEU código e nos problemas que tens com a linguagem não para criares um programa que nem sabes fazer

E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.

Link to comment
Share on other sites

Eu sei reconhecer,pode deixar,ja consegui resolver o problema,é simples, o código bloqueia o enter,dá um espaço,e depois libera o enter denovo,obrigado pela sua ajuda,e a ajuda de todos 👍 e esse programa que vou colocar pra baixar,é de código aberto,nao se preocupe,é o projeto inteiro

Inda bem quando tiver pronto gostaria de ver o link 😉

PS: Multiplo tópico ?

http://www.portugal-a-programar.pt/topic/55353-pergunta-bem-simples-sobre-visual-basic-2008/#entry469682

e ainda por cima com a resposta dada .. não aprendes a programar assim só um conselho..eu já tentei fazer pelo teu método de aprendizagem e acredita nao deu... todos aqui fizeram o teu código menos tu ... assim nunca mais aprendes a programar conselhos de alguém um dia foi como tu

Edited by Lukas S.

E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.

Link to comment
Share on other sites

Não é tópico múltiplo,aqui eu pedi como destacar o código,e lá o Ribeiro me disse como incluir o espaço antes do enter,foi outra pergunta.

E eis aqui o link,do projeto,prontinho,ja que me ajudaram muito,é minha obrigação compartilhar o resultado 👍

http://leojungsoftwares.webnode.com/

Gostei não está mal 😉 Créditos dados 😉

Ps: falto o dim no código 😉

Edited by Lukas S.

E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.

Link to comment
Share on other sites

é ainda está bem incompleto,eu estou testando complementos,estava pensando como incluir as strings em uma listbox? assim as pessoas que poderiam inserir as strings direto pela interface,nao precisaria ir até o módulo e adicionar as strings. Pensei assim,incluir uma listbox,e tambem um método que gravasse oque foi adicionado,assim a lista nao seria resetada quando a aplicação fosse fechada,mas estou com dificuldade em adicionar essa listbox,pois o código procura as strings no módulo,queria que ele procurasse na listbox 😕

obs : se quiseres modificar,me manda por e-mail o projeto modificado,que irei postar la no site,coloque seu nome tambem nos creditos e me envie o projeto modificado que eu publico

Edited by leo2012
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.