EDITOR DE CIFRAS VB6
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.
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.
Está um pouco vago, tem como anexar o projeto no site?
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
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
vou tentar anexar o projeto que fiz para mostrar os resultados que tive.
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.
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.
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.
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...
Tá sempre na 1ª linha da música.De manhã vou dar uma olhada...
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
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
obrigado por enquanto Marcelo-Treze pela dica vou testa-la depois posto aqui o resultado
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.
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.
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.
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.
Tópico encerrado , respostas não são mais permitidas