elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Algo curioso con las comillas en .NET ?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Algo curioso con las comillas en .NET ?  (Leído 4,653 veces)
TrashAmbishion


Desconectado Desconectado

Mensajes: 755


Ver Perfil
Algo curioso con las comillas en .NET ?
« en: 8 Agosto 2016, 15:07 pm »

Estoy tratando de que un STRING que se guarda en una variable me quede así:

"Hola" "Mundo" "Mi" "Primer" "Mensaje"

La cuestión es que estoy usando el Chr(34) para crear este resultado pero cuando debugueo la aplicación me doy cuenta que para obtener este resultado el se ve así:

""Hola"" ""Mundo"" ""Mi"" ""Primer"" ""Mensaje""

Ahora esto me representa un problema y es que si quiero trabajar con ese STRING tengo que hacer malabares por las doble comillas, me di cuenta que al insertarlo en un TEXTBOX queda como en el primero, osea que tendría que crear un objeto TEXTBOX pegar el resultado y recuperar el TEXTO de él sin las doble comillas y poder continuar.

Hay alguna otra forma de hacerlo sin necesidad de ese paso ?

Saludos y gracias


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Algo curioso con las comillas en .NET ?
« Respuesta #1 en: 8 Agosto 2016, 17:43 pm »

Antes que recurrir a la limitada función Chr()/ChrW() puedes utilizar Convert.ToChar(), pero antes que recurrir a ninguna función simplemente puedes utilizar la constante ControlChars.Quote, y antes que necesitar cualquier cosa de esas simplemente es suficiente con escapar las comillas dobles dentro del string:
Código
  1. Dim str As String = """Hola"" ""Mundo"" ""Mi"" ""Primer"" ""Mensaje"""

También puedes utilizar el tag Html: "<a>" -para que el formato de la cadena de texto resulte más legible en tiempo de diseño:
Código
  1. Dim str As String = <a>"Hola" "Mundo" "Mi" "Primer" "Mensaje"</a>.Value
(usando esa técnica, ten presente escapar los caracteres reservados "<>&" usando sus respectivos nombres de entidades Html)

Saludos


« Última modificación: 8 Agosto 2016, 17:53 pm por Eleкtro » En línea

TrashAmbishion


Desconectado Desconectado

Mensajes: 755


Ver Perfil
Re: Algo curioso con las comillas en .NET ?
« Respuesta #2 en: 8 Agosto 2016, 17:55 pm »

Hola bro,

Gracias por tu pronta respuesta...

Como decia aún con tu ejemplo no se solucciona la problemática y es que cuando hago el debug y me detengo a ver la el contenido de la variable es este:

"""Hola"" ""Mundo"" ""Mi"" ""Primer"" ""Mensaje"""

Y yo necesito que este asi:

"Hola" "Mundo" "Mi" "Primer" "Mensaje"

Para pasarlo a otra función...
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Algo curioso con las comillas en .NET ?
« Respuesta #3 en: 8 Agosto 2016, 18:05 pm »

cuando hago el debug y me detengo a ver la el contenido de la variable es este:
"""Hola"" ""Mundo"" ""Mi"" ""Primer"" ""Mensaje"""

Y yo necesito que este asi:
"Hola" "Mundo" "Mi" "Primer" "Mensaje"

Es que en realidad el valor que se compila es """Hola"" ""Mundo"" ""Mi"" ""Primer"" ""Mensaje""" con todas esas comillas dobles incluidas, puesto que ese es el string real ...las comillas dobles se han de escapar, pero una cosa es como lo represente el debugger de Visual Studio, como se represente la IDE en tiempo de diseño, y otra el resultado de ejecución. Los dos ejemplos que te mencioné generan el string: "Hola" "Mundo" "Mi" "Primer" "Mensaje" en tiempo de ejecución, prueba la manera que más te guste.

De todas formas me doy cuenta que tal vez no te entendí bien por que lo que pareces estar pidiendo en realidad es modificar el comportamiento del debugger para que te muestre la cadena de texto sin las comillas adicionales en los Autos?, eso no es posible, te muestra el valor compilado.

Saludos!
« Última modificación: 8 Agosto 2016, 18:20 pm por Eleкtro » En línea

TrashAmbishion


Desconectado Desconectado

Mensajes: 755


Ver Perfil
Re: Algo curioso con las comillas en .NET ?
« Respuesta #4 en: 9 Agosto 2016, 03:47 am »

Tienes toda la razón dejame lanzarte una curva que me tiene haciendo swing hace 2 horas.. y ya no tengo cintura, jeje

Estoy tratando de hacer mi propio launcher para el BF3, para ver que linea de comando tengo que ejecutar capture el juego ya abierto y veo esto:

"D:\Juegos\BF3\Redirector.exe" bf3lan://LXdlYk1vZGUgTVAgLU9yaWdpbl9Ob0FwcEZvY3VzIC1vbmxpbmVFbnZpcm9ubWVudCBwcm9kIC1sb2dpblRva2VuIDQtOC0xNS0xNi0yMy00MiAtQXV0aFRva2VuIDQtOC0xNS0xNi0yMy00MiAtcmVxdWVzdFN0YXRlIFN0YXRlX0NsYWltUmVzZXJ2YXRpb24gLXJlcXVlc3RTdGF0ZVBhcmFtcyAiPGRhdGEgcHV0aW5zcXVhZD1cImZhbHNlXCIgZ2FtZWlkPVwiMjk3OFwiIHBlcnNvbmFyZWY9XCIxMDAwMFwiIGxldmVsbW9kZT1cIm1wXCI+PC9kYXRhPiJ8MTAuMjIuMi4yNDB8aHR0cDovLzEwLjIyLjIuMjQwL2Jhbm5lci5wbmd8OTEwfDI1Ng==/

A su vez todo ese sin sentido abre otro proceso:

"D:\Juegos\BF3\LanBf3.exe" -webMode MP -Origin_NoAppFocus -onlineEnvironment prod -loginToken 4-8-15-16-23-42 -AuthToken 4-8-15-16-23-42 -requestState State_ClaimReservation -requestStateParams "<data putinsquad=\"false\" gameid=\"2978\" personaref=\"10000\" levelmode=\"mp\"></data>"

Y todo ok, puedo jugar sin problemas esto es conectado a un server local...

El sin sentido es BASE64:

-webMode MP -Origin_NoAppFocus -onlineEnvironment prod -loginToken 4-8-15-16-23-42 -AuthToken 4-8-15-16-23-42 -requestState State_ClaimReservation -requestStateParams "<data putinsquad=\"false\" gameid=\"2978\" personaref=\"10000\" levelmode=\"mp\"></data>"|10.22.2.240|http://10.22.2.240/banner.png|910|256

Yo paso ese mismo sin sentido a esa aplicacion desde mi aplicación en VB.NET y el Redirector me da un error decodificando el BASE64, que puede estar pasando, lo curioso es que me estaba funcionando sin problemas cambie de Windows 8 a Windows 10 y empezó todo esto..

Esta es la línea que pongo:

Código
  1. parametros = "LXdlYk1vZGUgTVAgLU9yaWdpbl9Ob0FwcEZvY3VzIC1vbmxpbmVFbnZpcm9ubWVudCBwcm9kIC1sb2dpblRva2VuIDQtOC0xNS0xNi0yMy00MiAtQXV0aFRva2VuIDQtOC0xNS0xNi0yMy00MiAtcmVxdWVzdFN0YXRlIFN0YXRlX0NsYWltUmVzZXJ2YXRpb24gLXJlcXVlc3RTdGF0ZVBhcmFtcyAiPGRhdGEgcHV0aW5zcXVhZD1cImZhbHNlXCIgZ2FtZWlkPVwiMjk3OFwiIHBlcnNvbmFyZWY9XCIxMDAwMFwiIGxldmVsbW9kZT1cIm1wXCI+PC9kYXRhPiJ8MTAuMjIuMi4yNDB8aHR0cDovLzEwLjIyLjIuMjQwL2Jhbm5lci5wbmd8OTEwfDI1Ng=="
  2.  
  3.                    Process.Start("D:\Juegos\BF3\Redirector.exe", " bf3Lan://" & parametros)
  4.  

Y nada me da el error que te dije anteriormente
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Algo curioso con las comillas en .NET ?
« Respuesta #5 en: 9 Agosto 2016, 05:24 am »

"D:\Juegos\BF3\Redirector.exe" bf3lan://LXdlYk1vZGUgTVAgLU9yaWdpbl9Ob0FwcEZvY3VzIC1vbmxpbmVFbnZpcm9ubWVudCBwcm9kIC1sb2dpblRva2VuIDQtOC0xNS0xNi0yMy00MiAtQXV0aFRva2VuIDQtOC0xNS0xNi0yMy00MiAtcmVxdWVzdFN0YXRlIFN0YXRlX0NsYWltUmVzZXJ2YXRpb24gLXJlcXVlc3RTdGF0ZVBhcmFtcyAiPGRhdGEgcHV0aW5zcXVhZD1cImZhbHNlXCIgZ2FtZWlkPVwiMjk3OFwiIHBlcnNvbmFyZWY9XCIxMDAwMFwiIGxldmVsbW9kZT1cIm1wXCI+PC9kYXRhPiJ8MTAuMjIuMi4yNDB8aHR0cDovLzEwLjIyLjIuMjQwL2Jhbm5lci5wbmd8OTEwfDI1Ng==/

Código:
parametros = "LXdlYk1vZGUgTVAgLU9yaWdpbl9Ob0FwcEZvY3VzIC1vbmxpbmVFbnZpcm9ubWVudCBwcm9kIC1sb2dpblRva2VuIDQtOC0xNS0xNi0yMy00MiAtQXV0aFRva2VuIDQtOC0xNS0xNi0yMy00MiAtcmVxdWVzdFN0YXRlIFN0YXRlX0NsYWltUmVzZXJ2YXRpb24gLXJlcXVlc3RTdGF0ZVBhcmFtcyAiPGRhdGEgcHV0aW5zcXVhZD1cImZhbHNlXCIgZ2FtZWlkPVwiMjk3OFwiIHBlcnNvbmFyZWY9XCIxMDAwMFwiIGxldmVsbW9kZT1cIm1wXCI+PC9kYXRhPiJ8MTAuMjIuMi4yNDB8aHR0cDovLzEwLjIyLjIuMjQwL2Jhbm5lci5wbmd8OTEwfDI1Ng=="

                    Process.Start("D:\Juegos\BF3\Redirector.exe", " bf3Lan://" & parametros)

No se, lo que planteas requiere conocimiento de ese juego en específico o más bien de como trabaja el tal proceso "Redirector.exe", de todas formas deduzco que el fallo simplemente es que no le estás pasando los parámetros correctos, fíjate bien, te falta pasarle el caracter del final "/" el cual delimita el string Base64...

Código
  1. Dim base64 As String =
  2.    "LXdlYk1vZGUgTVAgLU9yaWdpbl9Ob0FwcEZvY3VzIC1vbmxpbmVFbnZpcm9ubWVudCBwcm9kIC1sb2dpblR" &
  3.    "va2VuIDQtOC0xNS0xNi0yMy00MiAtQXV0aFRva2VuIDQtOC0xNS0xNi0yMy00MiAtcmVxdWVzdFN0YXRlIF" &
  4.    "N0YXRlX0NsYWltUmVzZXJ2YXRpb24gLXJlcXVlc3RTdGF0ZVBhcmFtcyAiPGRhdGEgcHV0aW5zcXVhZD1cI" &
  5.    "mZhbHNlXCIgZ2FtZWlkPVwiMjk3OFwiIHBlcnNvbmFyZWY9XCIxMDAwMFwiIGxldmVsbW9kZT1cIm1wXCI+" &
  6.    "PC9kYXRhPiJ8MTAuMjIuMi4yNDB8aHR0cDovLzEwLjIyLjIuMjQwL2Jhbm5lci5wbmd8OTEwfDI1Ng=="
  7.  
  8. Using p As New Process()
  9.  
  10.    With p.StartInfo
  11.        .FileName = "D:\Juegos\BF3\Redirector.exe"
  12.        .Arguments = String.Format("bf3lan://{0}/", base64)
  13.        .WorkingDirectory = Path.GetDirectoryName(.FileName)
  14.        ' .RedirectStandardError = True
  15.        ' .RedirectStandardOutput = True
  16.    End With
  17.  
  18.    p.Start()
  19.    p.WaitForExit(Timeout.Infinite)
  20.  
  21. End Using

Saludos
« Última modificación: 9 Agosto 2016, 05:36 am por Eleкtro » En línea

TrashAmbishion


Desconectado Desconectado

Mensajes: 755


Ver Perfil
Re: Algo curioso con las comillas en .NET ?
« Respuesta #6 en: 9 Agosto 2016, 17:26 pm »

OMG  :o  :o  :o

Para empezar no sabia que el BASE64 lo define ese caracter /

No obstante estaba usando la funcion nativa del VB.NET y noc porque no le añade ese caracter me devuelve la STRING que te puse sin él, eso es normal ?

En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Algo curioso con las comillas en .NET ?
« Respuesta #7 en: 9 Agosto 2016, 17:31 pm »

Para empezar no sabia que el BASE64 lo define ese caracter /

No obstante estaba usando la funcion nativa del VB.NET y noc porque no le añade ese caracter me devuelve la STRING que te puse sin él, eso es normal ?

Si, es normal, tienes un concepto claro del formato de Base64, no confundas mis palabras. Lo que intento decirte es que el parámetro "bf3lan" que le pasas al "Redirector.exe" usa los caracteres "//" para indicar el inicio del string Base64 y el caracter "/" para indicar el final del string Base64 (bueno, en realidad usará "==/" por que el caracter individual "/" también se genera en Base64), no se por que lo hará, pero lo hace.

Es decir:
Código:
bf3lan://BASE64==/

Pero tú le estabas pasando esto:
Código:
bf3lan://BASE64==

Saludos
« Última modificación: 9 Agosto 2016, 17:45 pm por Eleкtro » En línea

TrashAmbishion


Desconectado Desconectado

Mensajes: 755


Ver Perfil
Re: Algo curioso con las comillas en .NET ?
« Respuesta #8 en: 10 Agosto 2016, 15:02 pm »

Lo pruebo hoy y te digo.

Salu2 y gracias !!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Me Pasó algo curioso a ver que opinais
Software
bob76 7 2,652 Último mensaje 28 Agosto 2003, 16:42 pm
por Ðevastador
como convertir algo en algo o crear algo xD
Electrónica
ATI-Radeon 2 3,919 Último mensaje 17 Diciembre 2006, 02:38 am
por davinci21
Problemas con las comillas en PHP
PHP
>FedeX< 4 7,089 Último mensaje 3 Mayo 2007, 00:07 am
por Ertai
Comillas en PHP « 1 2 »
PHP
dark_sargon 14 7,479 Último mensaje 4 Junio 2009, 17:20 pm
por дٳŦ٭
Reemplazar comillas dobles dentro de comillas dobles.
.NET (C#, VB.NET, ASP)
seba123neo 2 7,956 Último mensaje 22 Agosto 2012, 20:25 pm
por seba123neo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines