¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como lidar com cadeias com símbolos especiais no VB6 para relatórios: Guia passo a passo

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 1 Vistas
0
Cargando...

Tenho um problema, quero fazer algo de cadeia através do VB6 (text1.text) para enviar para myreport.rpt (@vb6field)

Verifiquei o .rpt que @vb6field = (17)

parece estar bem, (cadeia vb6 "appLE" -> report.rpt @vb6field = "appLE"

mas no vb6 (text1.text) há algo de cadeia com símbolos ~'%^&*, quando enviado para report.rpt, diz ERRO.

É um problema do report.rpt?

Acredito que posso fazer uma função antes de "appLE" -> "97;112;112;76;69;"

mas no report.rpt, @vb6field

como decodificar esse ascii?

report.DiscardSavedData 'LIMPA O RELATÓRIO PARA TRABALHAR A PARTIR DO CONJUNTO DE REGISTROS

report.Database.SetDataSource objRs 'VINCULAR O RELATÓRIO AO CONJUNTO DE REGISTROS

report.FormulaFields(17).Text = "'" & "cadeia vb6" & "'"

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Deverias publicar em

é para .net mas está mais perto do que este fórum.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

Como está construindo a cadeia?

Se abrir o relatório no Crystal e na fórmula @vb6field inserir:

"97;112;112;76;69;";

Isso funciona ou também dá um erro?

Lembre-se de que caracteres como ";" são reservados na linguagem de fórmulas do Crystal. Ao passar a cadeia, ela deve estar entre aspas ou o Crystal tentará avaliar a cadeia como uma fórmula, não como texto.

Além disso, faça sua aplicação retornar o erro do Crystal. Isso ajudará a entender por que a cadeia não está sendo aceita.

Boa sorte,

Brian

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Estou usando CRXIR2.

Aliás, se essa cadeia for ascii (A-Z, a-z, 0-9), é bom enviar essa cadeia para report.rpt.

Mas, alguns símbolos como ' ou vbcrlf ou unicode falham. Diz: "Este ' não foi encontrado"

No VB6, estou usando Text1.Text, MultiLine=True.

Ou você poderia me ajudar, se no VB6 text1.text essa cadeia for "appLE" ->, mas através de uma função do vb6 (codificar essa cadeia para ascii "97;112;112;76;69;") e enviar esse ascii "97;112;112;76;69;" para report.rpt.

No report.rpt @vb6field, como decodificá-lo ou fazer alguma fórmula X+1 e mudá-lo de volta para "appLE"?

Qualquer ideia, por favor!

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

Qual versão do Crystal você está usando?

No relatório, qual é a fórmula em @vb6field? Se essa fórmula estiver vazia, simplesmente coloque uma string vazia nela como:

" ";

Isso garantirá que esteja pronto para aceitar uma string e não um tipo de dado diferente.

Como você está construindo a string em sua aplicação VB6? É diretamente de uma caixa de texto que o usuário está inserindo ou você está pegando esse valor da caixa de texto e editando antes de enviá-lo para o relatório?

Eu já passei caracteres ASCII para uma fórmula sem problemas. Dado que seu código funciona bem ao passar uma string com caracteres alfanuméricos regulares, tenho a sensação de que se você simplesmente definir sua fórmula no Crystal como uma string vazia, deve resolver o problema.

Outra coisa a considerar, em vez de uma fórmula, que tal passar sua string para um parâmetro no relatório? Pode ser um pouco menos complicado.

Boa sorte,

Brian

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?