PROBLEMA COM TIPOS DEFINIDOS
Tenho um tipo definido para utilizar no meu cadastro de clientes
Type ccc
Nome As String * 48
...
End Type
Public Cli as CCC 'utilizo pro cadastro normal
Public CliRes as CCC 'Utilizo como um Backup registro
num formulário carrego o CLI e faço uma cópia dele
CLIRes = CLI
posso testar que ta certo por exemplo em CLIRES.Nome tem o mesmo nome que em CLI.Nome
dai faço várias operações e depois quero comparar com CLIRES que setei antes
IF CLI = CLIRES Then
da erro da Type mismatch
Mas pq type mismatch já que os dois tem a mesma estrutura CCC
e além disso antes dei o comando CLIRES = CLI e funciona
se fosse erro também deveria ter dado neste comando
Então queria ver como resolvo isso
quero comparar CLI com CLIRES
poderia comparar todos os componentes de CLI e CLIRES
mas é um saco . . . e acho uma tremenda bobagem
Type ccc
Nome As String * 48
...
End Type
Public Cli as CCC 'utilizo pro cadastro normal
Public CliRes as CCC 'Utilizo como um Backup registro
num formulário carrego o CLI e faço uma cópia dele
CLIRes = CLI
posso testar que ta certo por exemplo em CLIRES.Nome tem o mesmo nome que em CLI.Nome
dai faço várias operações e depois quero comparar com CLIRES que setei antes
IF CLI = CLIRES Then
da erro da Type mismatch
Mas pq type mismatch já que os dois tem a mesma estrutura CCC
e além disso antes dei o comando CLIRES = CLI e funciona
se fosse erro também deveria ter dado neste comando
Então queria ver como resolvo isso
quero comparar CLI com CLIRES
poderia comparar todos os componentes de CLI e CLIRES
mas é um saco . . . e acho uma tremenda bobagem
Foi o que o VB6MASTER colocou, pois no comando abaixo
CLIRes = CLI
é de atribuição então funciona sem precisar acessar cada subtipo da variavel.
Já IF CLI = CLIRES Then não funciona pois o igual esta para comparação e neste caso ele compara dois valores. Neste caso tem que comparar cada subtipo.
Pode fazer uma função para isso.
Ex
Function CmpType(Type1 as ....., Type2 as ....) as Boolean
CmdType=False
If Type1.Nome <> Type2.Nome then Exit Function
If Type1.Endereco <> Type2.Endereco then Exit Function
If Type1.... <> Type2.... then Exit Function
Cmdtype=True
end Function
CLIRes = CLI
é de atribuição então funciona sem precisar acessar cada subtipo da variavel.
Já IF CLI = CLIRES Then não funciona pois o igual esta para comparação e neste caso ele compara dois valores. Neste caso tem que comparar cada subtipo.
Pode fazer uma função para isso.
Ex
Function CmpType(Type1 as ....., Type2 as ....) as Boolean
CmdType=False
If Type1.Nome <> Type2.Nome then Exit Function
If Type1.Endereco <> Type2.Endereco then Exit Function
If Type1.... <> Type2.... then Exit Function
Cmdtype=True
end Function
Tópico encerrado , respostas não são mais permitidas