EDITOR DE CIFRAS VB6

PALMIRA 12/07/2011 21:50:03
#379013
Estou a muito tempo tentando criar um simples editor de cifras para uso pessoal, mas meu conhecimento de vb não é muito, se alguem puder me ajudar já comecei a criar varios mas o problema sempre é o mesmo na hora de substituir os acorde acaba mudando a letra da musica tambem ou nao mudando todos os acordes. estou enviando um exemplo do que já tentei fazer bem simples mesmo. caso alguem consiga descobrir como posso dar sequencia se possivel me de uma dica com um exemplo.

coloquei em um form 1 textbox,5 botoes de command.
só dá certo nos primeiros acordes e um fica sem alterar pois é repetido mas deveria mudar.
ainda nao fiz para todas as notas, se alguem conseguir mudar de uma só vez os acordes um tom acima sem alterar a letra por favor me passe a dica.

Private Sub Command1_Click()

mudar = [Ô]D[Ô]
por = [Ô]E[Ô]
procura = Text2.Text

Text2.Text = Replace(procura, mudar, por, 1, 1, vbTextCompare)

End Sub

Private Sub Command2_Click()

mudar = [Ô]Em[Ô]
por = [Ô]F#m[Ô]
procura = Text2.Text

Text2.Text = Replace(procura, mudar, por, 1, 1, vbTextCompare)
End Sub

Private Sub Command3_Click()

mudar = [Ô]Bm[Ô]
por = [Ô]C#m[Ô]
procura = Text2.Text
Text2.Text = Replace(procura, mudar, por, 1, 1, vbTextCompare)


End Sub

Private Sub Command4_Click()

mudar = [Ô]A[Ô]
por = [Ô]B[Ô]
procura = Text2.Text
Text2.Text = Replace(procura, mudar, por, 1, 1, vbTextCompare)

End Sub


Private Sub Command5_Click()
Command1_Click
Command2_Click
Command3_Click
Command4_Click
End Sub

obs: somente clicar no botao de command5 para mudar todos de uma so vez e colocar invisible = false nos outros 4 primeiros botoes.
TECLA 13/07/2011 20:38:58
#379089
Está um pouco vago, tem como anexar o projeto no site?
MARCELO.TREZE 13/07/2011 21:10:46
#379091
minha dica é coloque as cifras em um linha e a letra da musica em outra, o replace só poderá ser executado na linha das cifras.

bom como fazer isto, eu indicaria jogar letra e cifras em um listbox, porem não sei se quando vc faz as alterações faz em todas linhas, ou em em apenas uma linha.

se vc explicar melhor eu poderia lhe indicar o caminho
PALMIRA 13/07/2011 22:28:13
#379094
vou tentar anexar o projeto que fiz para mostrar os resultados que tive.
PALMIRA 14/07/2011 00:24:49
#379099
o projeto que fiz esta ai quem puder me dar alguma dica de como posso fazer para alterar as cifras sem modificar o texto passe como um exemplo a dica por favor.
PALMIRA 14/07/2011 00:34:06
#379100
ta ai mais explicado para quem puder me ajudar. A letra da musica que quero modificar pode ser com qualquer outra musica que tenha acordes.

D
A minha vida é do Mestre
A
Meu coração é do meu Mestre
Em
O meu caminho é do Mestre
G Bm A
Minha esperança é meu Mestre

o objetivo do programa é de modificar somente os acordes ( em maiusculo) que estao acima da letra da musica toda (meio tom acima) sem alterar a letra da musica. os acordes a cada clique que der para mudar de tom ele
altera na musica mudando todos os acordes. exemplo: D vai mudar para D#, A para A#, Em para Fm, G para G#, Bm para Cm. esta mudança é de meio tom acima.
PDUARTE9 14/07/2011 00:48:50
#379101
O problema é que não ta [Ô]pulando[Ô] pra proxima linha, digamos assim.
Tá sempre na 1ª linha da música.De manhã vou dar uma olhada...
MARCELO.TREZE 14/07/2011 12:12:25
#379136
bom eu achei uma incosistência no seu código

primeiro para resolver o problema de se alterar apenas as notas não a letra batsaria vc usar as notas entre caracteres especiais

ex:

"
[E]
[Bm]
[B#m]

no replace

Private Sub Command1_Click()

mudar = [Ô]"[Ô]
por = [Ô][E][Ô]
procura = Text2.Text

Text2.Text = Replace(procura, mudar, por, 1, 1, vbTextCompare)

End Sub

assim vc resolve o problema de alteração
PALMIRA 14/07/2011 12:42:11
#379141
obrigado por enquanto Marcelo-Treze pela dica vou testa-la depois posto aqui o resultado
PALMIRA 14/07/2011 13:00:59
#379144
ja testei a dica e ocorreu o seguinte:

colocar manualmente os caracteres [Ô][ A ][Ô] em volta de todos os acordes seria muito demorado e mesmo assim os acordes nao mudaram meio tom acima,
aconteceu que apenas o primeiro acorde mudou mas pra outro acorde bem diferente é como ele tivesse mudado todas as notas e depois ficasse em uma que esta no inicio do botao de comando que é o acorde [A]. eu ja vi em alguns sites este processo de mudança de cifras mas o codigo pra mim é desconhecido entao nao dá pra eu interpretar coisa parecido como site de cifras que tem na net o codigo deve estar em html ou javasript ou php ou a mistura de todos.

mesmo assim vou continuar a tentar e se tiver outras dicas serão bem vindas muito obrigado.
MARCELO.TREZE 14/07/2011 13:40:04
#379149
no programa que vc postou percebi o seguinte

vc usa um botão que acina todos os outros, ou seja a sequencia

então vou dar uma explicação simples porem logica

ex:

la no programinha que vc postou

o command1 muda A para A#
o command2 muda A# para B
o command3 muda B para C
.....etc

la embaixo vc executa a sequencia

Private Sub tom_Click()
Command1_Click
Command2_Click
Command3_Click
Command4_Click
Command5_Click
Command6_Click
Command7_Click
Command8_Click
Command9_Click
Command10_Click
Command11_Click
Command12_Click
End Sub

repare que só ali no começo o command2 acaba perdendo sua função ou seja o A vira A# depois A# vira B depois B vira C

resumindo A virou C...e assim vai até voltar para o A

este é um dos erros

quanto a alteração o ideal seria vc colocar tudo emmum listbox, pois mesmo que seja um textbox multiline, o replace irá ler todo o contuedo como se fosse um unica linha, por isso da sugestão do caracteres especiais.







Página 1 de 2 [14 registro(s)]
Tópico encerrado , respostas não são mais permitidas