Autor
|
Tema: [SOLUCIONADO] Insertar texto en lugar específico textbox (Leído 10,986 veces)
|
.:Weeds:.
Desconectado
Mensajes: 122
|
Hola amigos, he estado un buen rato buscando con mi amigo Google y no he encontrado la respuesta a mi problema, os explico. Tengo el siguiente texto en un textbox: "RAIZ": { "alerts": { "alert": true }, }
Y esto es lo que quiero conseguir añadiendo un texto en una posición especifica(me vale con insertarlo despues de "RAIZ": {) "RAIZ": { "alerts": { "alert": true }, //TEXTO AÑADIDO "alerts2": { "alert2": true }, //FIN TEXTO AÑADIDO }
Parece algo sencillo pero no lo consigo Saludos y gracias.
|
|
« Última modificación: 9 Julio 2013, 22:15 pm por .:Weeds:. »
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.885
|
No lo entiendo muy bien, ¿Puedes ser más específico?. Si sólo se tarata básicamente de insertar "X" texto en "Y" posición de un String, entonces puedes usar el método " Substring". No sé si esto te servirá de ayuda porque no entiendo del todo la forma en la que lo intentas hacer, pero bueno, aquí tienes: Public Class Form1 Dim [String] As String = String.Empty Private Sub Form1_Shown(sender As Object, e As EventArgs) Handles MyBase.Shown [String] = <a><![CDATA[ "RAIZ": { "alerts": { "alert": true }, } ]]></a>.Value 'Output: ' ' "RAIZ": { '"alerts": { ' "alert": true ' }, '} [String] = [String].Substring(0, [String].LastIndexOf(",")) & _ <a><![CDATA[ "alerts2": { "alert2": true }, ]]></a>.Value & (Environment.NewLine & "}") 'Output: ' ' "RAIZ": { '"alerts": { ' "alert": true ' } '"alerts2": { ' "alert2": true ' }, '} MsgBox([String]) End Sub End Class
EDITO: Si lo que quieres es poner (restringir) el cursor en una posición específica del textbox puedes usar el mismo método: TextBox1.Select(TextBox1.Text.LastIndexOf(",") + 1, 0)
|
|
« Última modificación: 8 Julio 2013, 07:49 am por EleKtro H@cker »
|
En línea
|
|
|
|
.:Weeds:.
Desconectado
Mensajes: 122
|
Hola EleKtro H@cker, No me sirve por varios motivos, el primero es que no puedo usar <a><![CDATA[ debido a que trabajo con .net 2.0 y no contiene linq (pero bueno se inserta el texto en una variable y problema resuelto), y la otra cuestión es que si existe mas texto debajo desaparece. Perdona por no ser mas claro, lo que estoy haciendo exactamente es editar el archivo preferences de google chrome, para que mi extensión se añada a este. Debo de modificar esta parte: "extensions": { "alerts": { "initialized": true }, "autoupdate": { "last_check": "***************", "next_check": "***************" }, "blacklistupdate": { "lastpingday": "**********", "version": "0.0.0.***" }, "chrome_url_overrides": { "bookmarks": [ "chrome-extension://*************************/main.html" ] }, "last_chrome_version": "27.0.1453.116", "settings": { "aakhlmakppmkkmfkoibponkmmpgpmjgl": { "blacklist": true }, "aandpgohbohmlknpjbblpmoladhoochg": { "blacklist": true },
La parte de texto que quiero añadir por ejemplo es esta: "jandpgohbohmlknpjbblpmoladhoochg": { "blacklist": true },
Esta debe añadirse despues de "settings": { y deberia de hacerse en orden alfabético aun que eso da igual ya que me he dado cuenta de que Google Chrome los ordena solo. He pensado en mirar las lineas 1 por 1 y cuando encuentre "settings": { que se añada 1 linea debajo pero tampoco se como. Saludos y gracias de nuevo.
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
JSON
Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.885
|
Ahora está todo mucho más claro, podrías haber comentado lo de Google desde el principio xD. Puedes hacerlo a lo experto como lo haría Novlucker usando alguna librería para manejar JSON, o también puedes usar esta alternativa que hice: Dim MyExtension As String, GoogleFile As String, Preferences() As String MyExtension = """aakhlmakppmkkmfkoibponkmmpgpmjgl"": {""blacklist"": true}," GoogleFile = "C:\Program Files\Google Chrome\Data\profile\Default\Preferences" Preferences = IO. File. ReadAllLines(GoogleFile ) For X As Int32 = 0 To Preferences.Length - 1 If Preferences(X).Trim = """settings"": {" Then Preferences(X) &= MyExtension IO. File. WriteAllText(String. Join(Environment. NewLine, Preferences ), GoogleFile ) Exit For End If Next
Saludos
|
|
« Última modificación: 8 Julio 2013, 22:32 pm por EleKtro H@cker »
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Eso también sirve Creo que para un virus alcanza Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
.:Weeds:.
Desconectado
Mensajes: 122
|
muy bueno el code, MUCHAS GRACIAS!! le he añadido bien la ruta pero me da el siguiente error "Caracteres no validos en la ruta de acceso" en la linea: IO.File.WriteAllText(String.Join(Environment.NewLine, Preferences), GoogleFile) Dim MyExtension As String, GoogleFile As String, Preferences() As String MyExtension = """aakhlmakppmkkmfkoibponkmmpgpmjgl"": {""blacklist"": true}," GoogleFile = Environment.GetFolderPath(SpecialFolder.LocalApplicationData) & "\Google\Chrome\User Data\Default\Preferences" Preferences = IO. File. ReadAllLines(GoogleFile ) For X As Int32 = 0 To Preferences.Length - 1 If Preferences(X).Trim = """settings"": {" Then Preferences(X) &= MyExtension IO. File. WriteAllText(String. Join(Environment. NewLine, Preferences ), GoogleFile ) Exit For End If Next
Era demasiado bonito para ser verdad xD Saludos.
|
|
|
En línea
|
|
|
|
.:Weeds:.
Desconectado
Mensajes: 122
|
Vale ahora si que es 100% funcional: Dim MyExtension As String, GoogleFile As String, Preferences() As String Dim TextBoxChrome As New TextBox() TextBoxChrome.Multiline = True Dim lines As String() = { " ""aakhlmakppmkkmfkoibponkmmpgpmjgl"": {", " ""blacklist"": true}," } MyExtension = Join(lines, vbCrLf) GoogleFile = Environment.GetFolderPath(SpecialFolder.LocalApplicationData) & "\Google\Chrome\User Data\Default\Preferences" Preferences = IO. File. ReadAllLines(GoogleFile ) For X As Int32 = 0 To Preferences.Length - 1 If Preferences(X).Trim = """settings"": {" Then Preferences(X) &= Environment.NewLine + MyExtension TextBoxChrome.Text = String.Join(Environment.NewLine, Preferences) Dim EscritorChrome As New StreamWriter(GoogleFile) EscritorChrome.Write(TextBoxChrome.Text) EscritorChrome.Close() EscritorChrome.Dispose() Exit For End If Next
Saludos y gracias por la ayuda.
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.885
|
le he añadido bien la ruta pero me da el siguiente error "Caracteres no validos en la ruta de acceso" en la linea: IO.File.WriteAllText(String.Join(Environment.NewLine, Preferences), GoogleFile) Lo escribí al vuelo sin testearlo, lo que ocurre es que por confusión intercambié la posición los parámetros aquí: IO. File. WriteAllText(String. Join(Environment. NewLine, Preferences ), GoogleFile )
Así si: IO. File. WriteAllText(GoogleFile, String. Join(Environment. NewLine, Preferences ))
Este ya funciona (con la ruta correcta para tu PC): Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim MyExtension As String, GoogleFile As String, Preferences() As String MyExtension = """aakhlmakppmkkmfkoibponkmmpgpmjgl"": {""blacklist"": true}," GoogleFile = IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Google\Chrome\User Data\Default\Preferences") Preferences = IO. File. ReadAllLines(GoogleFile ) For X As Int32 = 0 To Preferences.Length - 1 If Preferences(X).Trim = """settings"": {" Then Preferences(X) &= MyExtension IO. File. WriteAllText(GoogleFile, String. Join(Environment. NewLine, Preferences )) Exit For End If Next End Sub
PD: No es necesario identar las lineas del JSON (Google chrome lo ordena por si mismo), pero bueno, si prefieres hacer un string multilinea como en tu ultimo code es tu decisión. Saludos.
|
|
« Última modificación: 9 Julio 2013, 09:53 am por EleKtro H@cker »
|
En línea
|
|
|
|
.:Weeds:.
Desconectado
Mensajes: 122
|
Este ya funciona (con la ruta correcta para tu PC):
Tu mensaje me ha dejado intrigado xD, llevo tiempo testeando donde se guarda ese archivo de configuración e independientemente de que windows utilice siempre se guarda en la ruta que yo puse. Hay algún caso donde se guarde en la ruta que tu especificaste? Por que de ser asi estoy fallando en lo mas básico Saludos.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Abrir batch en lugar especifico
Scripting
|
kraszic
|
2
|
3,089
|
3 Septiembre 2008, 21:58 pm
por kraszic
|
|
|
Ayuda para insertar texto en un archivo??? (SOLUCIONADO)
Scripting
|
SuperDraco
|
7
|
6,186
|
16 Noviembre 2009, 20:24 pm
por SuperDraco
|
|
|
[Solucionado] Insertar 2 textos distintos a un texto del textbox seleccionado :S
Programación Visual Basic
|
VanX
|
6
|
4,634
|
13 Julio 2011, 20:21 pm
por raul338
|
|
|
Ideas para acceder desde un lugar especifico ?
PHP
|
TrashAmbishion
|
2
|
2,107
|
23 Abril 2013, 23:35 pm
por armandex293
|
|
|
Ayuda para insertar texto en un punto especifico de html
Programación Visual Basic
|
light310oct
|
4
|
2,524
|
30 Marzo 2015, 01:37 am
por yum-kax
|
|