Hola muy buenas, pues a ver he aquí mi code:
Sub prueba()
Dim value As String = File.ReadAllText(".\Test.ini")
Dim buttonname As String = WebBrowser1.Document.GetElementById("global").GetAttribute("Id")
Dim getname As String = WebBrowser1.Document.GetElementById(buttonname).GetAttribute("Name")
Dim prueba1 As String = WebBrowser1.Document.GetElementById(getname & "-nombre").GetAttribute("Value")
Dim prueba2 As String = WebBrowser1.Document.GetElementById(getname & "-img").GetAttribute("Value")
Dim cuenta As Integer = Find_String_Occurrences(value, "2ç0k")
INI_Manager.Set_Value(".\Test.ini", "Contar", "2ç0k")
INI_Manager.Set_Value(".\Test.ini", "FuncNombre-" & cuenta, prueba1)
INI_Manager.Set_Value(".\Test.ini", "FuncImg-" & cuenta, prueba2)
End Sub
Con lo que tengo problema es:
Sub prueba()
Dim value As String = File.ReadAllText(".\Test.ini")
Dim cuenta As Integer = Find_String_Occurrences(value, "2ç0k")
INI_Manager.Set_Value(".\Test.ini", "FuncNombre-" & cuenta, prueba1)
INI_Manager.Set_Value(".\Test.ini", "FuncImg-" & cuenta, prueba2)
End Sub
Estoy sacando la variable "value" para luego asignarsela a un pcb. Pero no hay manera de que se introduzca mi String en el .ini
Que puedo hacer?
Un saludo. :P
PD: Todos los codes que no están por defecto en VB.NET son snippets de Elektro. :silbar:
http://foro.elhacker.net/net/crear_picturebox_a_traves_de_una_config_ini-t391685.0.html;msg1860636#msg1860636
http://foro.elhacker.net/net/libreria_de_snippets_posteen_aqui_sus_snippets-t378770.0.html;msg1860295#msg1860295
Para descartar he hecho un code:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim value As String = File.ReadAllText(".\Test.ini")
Dim cuenta As Integer = Find_String_Occurrences(value, "2ç0k")
MsgBox("Usté es el nigga numero: " & cuenta)
End Sub
El caso es que parece que si va. :P
También he introducido un "2ç0k" a caso hecho dentro del ini, pero parece que si lo lee... :(
Confirmado, es problema del Ini_Manager :P
No entiendo nada.
Sea como sea, mi Class no contiene el tipo de bug que estás intentando dar a entender, he reproducido tu código (más o menos), algo haces mal.
1. ¿Serías tan amable de especificar el PU#$*@XX string que quieres escribir en el archivo de texto? ...es que veo 3 en tu code.
2. ¿Serías tán amable también de especificar si te da alguna EXCEPCIÓN, además de copiarnos el message de la excepción y la línea conflictiva?
3. ¿Has comprobado si los valores de tipo string están vacios antes de preguntar? (ya me imagino que no lo has hecho)
Dim buttonname As String = WebBrowser1.Document.GetElementById("global").GetAttribute("Id")
Dim getname As String = WebBrowser1.Document.GetElementById(buttonname).GetAttribute("Name")
Dim prueba1 As String = WebBrowser1.Document.GetElementById(getname & "-nombre").GetAttribute("Value")
Dim prueba2 As String = WebBrowser1.Document.GetElementById(getname & "-img").GetAttribute("Value")
msgbox( _
"1: " & buttonname & _
"2: " & getname & _
"3: " & prueba1 & _
"4: " & prueba2 )
4. ¿Puedes postear el output del archivo INI, y también como debería ser el output?
Saludos. . .
1. Quiero escribir las 3 :laugh:
2. Excepción te refieres a un error en la consola de errores? No hay ninguno.
3. He puesto el code y cuando pulso el evento no pasa nada. Se supone que lo estoy llamando así:
Case "input" : prueba()
Si pongo un msgbox nada más si que va. :s
4. Output no hay... Pero debería quedar algo así:
CitarContar = 2ç0k
Nombre-1 = Nombredelmodpack
Img-1 = Ruta de la imagen de fondo del pcb_1
Contar = 2ç0k
Nombre-2 = Nombredelmodpack
Img-2 = Ruta de la imagen de fondo del pcb_2
Contar = 2ç0k
Nombre-3 = Nombredelmodpack
Img-3 = Ruta de la imagen de fondo del pcb_3
......
Un saludo! :P
1. ¿Te has asegurado de estar usando la versión terminada del ini manager? (la que hay posteada en la sección de snippets)
2. ¿Que quieres decir por "no hay output"?, ¿El archivo del INI no se crea?, ¿Has probado a modificar el primer argumento del método por "C:\test.ini"?
3. Tu output es incorrecto, "Contar" no se puede repetir, no puedes tener un nombre de valor idéntico repetido tres veces en un INI... ¿Luego como pensarías cargar un valor duplicado?.
No sé si te has fijado bien, pero el método de la Class la llamé "Set_Value", no "Add_Value" ni "Append_Value", el valor se crea, y si ya existe, se reemplaza por el que había...
Asi que este sería el putput que hace la class:
Contar=2ç0k
Nombre-1=Nombredelmodpack
Img-1=Ruta de la imagen de fondo del pcb_1
Nombre-2=Nombredelmodpack
Img-2=Ruta de la imagen de fondo del pcb_2
Nombre-3=Nombredelmodpack
Img-3=Ruta de la imagen de fondo del pcb_3
Dime la url en la que estás intentando obtener esos datos para averiguar de donde proviene el error.
Cita de: EleKtro H@cker en 14 Junio 2013, 18:30 PM
1. ¿Te has asegurado de estar usando la versión terminada del ini manager? (la que hay posteada en la sección de snippets)
Sipo.
Cita de: EleKtro H@cker en 14 Junio 2013, 18:30 PM
2. ¿Que quieres decir por "no hay output"?, ¿El archivo del INI no se crea?, ¿Has probado a modificar el primer argumento del método por "C:\test.ini"?
No se crea no. Y si pongo C:\test.ini tampoco. :-\
Cita de: EleKtro H@cker en 14 Junio 2013, 18:30 PM
3. Tu output es incorrecto, "Contar" no se puede repetir, no puedes tener un nombre de valor idéntico repetido tres veces en un INI... ¿Luego como pensarías cargar un valor duplicado?.
No sé si te has fijado bien, pero el método de la Class la llamé "Set_Value", no "Add_Value" ni "Append_Value", el valor se crea, y si ya existe, se reemplaza por el que había...
Asi que este sería el putput que hace la class:
Contar=2ç0k
Nombre-1=Nombredelmodpack
Img-1=Ruta de la imagen de fondo del pcb_1
Nombre-2=Nombredelmodpack
Img-2=Ruta de la imagen de fondo del pcb_2
Nombre-3=Nombredelmodpack
Img-3=Ruta de la imagen de fondo del pcb_3
Dime la url en la que estás intentando obtener esos datos para averiguar de donde proviene el error.
Te refieres a la url del WebBrowser, en ese caso es: http://ikillcraft.a0001.net/modpacks.php
Un saludo.
Acabo de probar de nuevo el código y da los resultados esperados.
Cita de: Ikillnukes en 14 Junio 2013, 18:38 PM
Te refieres a la url del WebBrowser, en ese caso es: http://ikillcraft.a0001.net/modpacks.php
No creo que sea esa url, porque da dos excepciones aquí:
Dim prueba1 As String = WebBrowser1.Document.GetElementById(getname & "-nombre").GetAttribute("Value")
Dim prueba2 As String = WebBrowser1.Document.GetElementById(getname & "-img").GetAttribute("Value")
Pero en cambio tu dices que los valores están correctos.
Sigo diciendo lo mismo, algo estás haciendo mal,
saludos!
Que excepción te da?
A mi no me da ninguna, si no me crees te lo muestro por Skype. :laugh:
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Shown
WebBrowser1.Navigate("http://ikillcraft.a0001.net/modpacks.php")
While Not WebBrowser1.ReadyState = WebBrowserReadyState.Complete : Application.DoEvents() : End While
' Dim value As String = io.File.ReadAllText("C:\Test.ini")
Dim buttonname As String = WebBrowser1.Document.GetElementById("global").GetAttribute("Id")
Dim getname As String = WebBrowser1.Document.GetElementById(buttonname).GetAttribute("Name")
Dim prueba1 As String = WebBrowser1.Document.GetElementById(getname & "-nombre").GetAttribute("Value")
Dim prueba2 As String = WebBrowser1.Document.GetElementById(getname & "-img").GetAttribute("Value")
Dim cuenta As Integer = 0
'Dim cuenta As Integer = Find_String_Occurrences(value, "2ç0k")
INI_Manager.Set_Value("C:\Test.ini", "Contar", "2ç0k")
INI_Manager.Set_Value("C:\Test.ini", "FuncNombre-" & cuenta, getname)
INI_Manager.Set_Value("C:\Test.ini", "FuncImg-" & cuenta, prueba2)
End Sub
End Class
No encuentra los valores porque "getname" está vacía, y salta excepción en prueba1 y prueba2, porque getname está vacía.
Imagino que hay algo distinto a como tienes escrito tu code, hazle las modificaciones necesarias a ese código que te muestro (para que funcione la parte de los strings), y miraré a ver que pasa con el resto.
Saludos
Vale ehm soy medio tonto xD Estoy sacandole el Name a una cosa que no tiene.
Prueba a ver:
Sub prueba()
Dim value As String = File.ReadAllText(".\Test.ini")
Dim getname As String = WebBrowser1.Document.GetElementById("cacota").GetAttribute("Name")
Dim prueba1 As String = WebBrowser1.Document.GetElementById(getname & "-nombre").GetAttribute("Value")
Dim prueba2 As String = WebBrowser1.Document.GetElementById(getname & "-img").GetAttribute("Value")
Dim cuenta As Integer = Find_String_Occurrences(value, "2ç0k")
INI_Manager.Set_Value(".\Test.ini", "Contar", "2ç0k")
INI_Manager.Set_Value(".\Test.ini", "FuncNombre-" & cuenta, prueba1)
INI_Manager.Set_Value(".\Test.ini", "FuncImg-" & cuenta, prueba2)
End Sub
Lo curioso que sigue sin crearse el ini... :-\
Ese codigo me lo dio Electro, y funciona puedes adaptarlo a lo que necesites
Dim INI_File As String = ".\Test.ini"
' Save INI Settings
Private Sub Save_INI_Settings()
Dim Current_Settings As String = _
"File=" & TextBox_File.Text & Environment.NewLine & _
"SaveFile=" & CheckBox_SaveFile.Checked
My.Computer.FileSystem.WriteAllText(INI_File, Current_Settings, False)
End Sub
' Load INI Settings
Private Sub Load_INI_Settings()
Dim xRead As IO.StreamReader = IO.File.OpenText(INI_File)
Dim Line As String = String.Empty
Dim Delimiter As String = "="
Dim ValueName As String = String.Empty
Dim Value As Object
' Example content of Test.ini:
'
' File=C:\File.txt
' SaveFile=True
Do Until xRead.EndOfStream
Line = xRead.ReadLine().ToLower
ValueName = Line.Split(Delimiter).First
Value = Line.Split(Delimiter).Last
If ValueName = "File".ToLower Then TextBox_File.Text = Value
If ValueName = "SaveFile".ToLower Then CheckBox_SaveFile.Checked = Value
Application.DoEvents()
Loop
xRead.Close() : xRead.Dispose()
End Sub
Cita de: SγиtαxEяяoя en 14 Junio 2013, 20:18 PMEse codigo me lo dio Electro, y funciona puedes adaptarlo a lo que necesites
Ese código es la versión antigua de mi Class: http://foro.elhacker.net/net/libreria_de_snippets_posteen_aqui_sus_snippets-t378770.0.html;msg1860295#msg1860295
No te esfuerces
SyntaxError, el problema no está en el código del INI, sinó en las catástrofes que acomete IKillNukes antes de usar "el INI".
Salu2
Ya lo he resuelto, con cambiar:
Dim value As String = File.ReadAllText(".\Test.ini")
De sitio, ya va.... Pero, pero, pero WTF?
Elektro me lo puedes explicar? Por cierto, estamos yo y Syntax por skype por si te quieres unir. :P
Ahora ha dejado de funcionar... :-\
No funciona por esto:
Dim strStreamW As Stream = Nothing
If File.Exists(".\Test.ini") Then
Else
strStreamW = File.Create(".\Test.ini")
End If
Ya lo he arreglado, solo que el File.Create se me está revelando... :silbar:
Te lo dije de verdad, no esperes mi ayuda Seazoux, lo que necesitas es leer y dejar de tanto copiar sin saber lo que estás haciendo.
Oye que ahora no estoy copiando, estoy viendo cosas de Internet y las estoy adaptando, si no preguntale a Syntax que estuvo conmigo en una llamada y le enseñe la pantalla por Skype
If File.Exists(".\Test.ini") Then
INI_Manager.Set_Value(".\Test.ini", "Contar-" & cuenta, "2ç0k")
INI_Manager.Set_Value(".\Test.ini", "FuncNombre-" & cuenta, prueba1)
INI_Manager.Set_Value(".\Test.ini", "FuncImg-" & cuenta, prueba2)
Else
'Dim path As String = ".\Test.ini"
'Dim fs As FileStream = File.Create(path)
'fs.Close()
INI_Manager.Set_Value(".\Test.ini", "Contar-" & cuenta, "2ç0k")
INI_Manager.Set_Value(".\Test.ini", "FuncNombre-" & cuenta, prueba1)
INI_Manager.Set_Value(".\Test.ini", "FuncImg-" & cuenta, prueba2)
End If
Tengo un problema con lo que está dentro de un Comentario y es que no me va :(
Todo lo que acabas de decir es irrelevante, no me cuentes historias Seazoux, sigues """"adaptando"""" códigos sin querer aprender lo básico del lenguaje, types, keywords, delegados, variables, propiedades, eventos.
No insistas,
Si tuvieras algo de sentido común sobre lo que estás intentando hacer te preguntarías porque narices estás declarando un stream para crear un archivo que no piensas leer con un stream.
Saludos!
Ok, pues me pondré a aprender lo antes posible, pero no se, yo veo más sencillo ir aprendiendo de ejemplos ya hechos, por cierto el VS2012 me rarísimo... :-\
Voy a reiniciarlo a ver... :rolleyes:
Cita de: Ikillnukes en 14 Junio 2013, 21:35 PM
Ok, pues me pondré a aprender lo antes posible, pero no se, yo veo más sencillo ir aprendiendo de ejemplos ya hechos, por cierto el VS2012 me rarísimo... :-\
Voy a reiniciarlo a ver... :rolleyes:
Visualiza ejemplos que declaren variables de todo tipo, manipulación de cadenas, utiilizen bucles, sentencias, selecciones, condiciones, tipos de dato, arrays, son los básicos al menos para entretenerte unos cuantos dias.
Con los que estás viendo hasta ahora jamas aprenderás lo básico.
Si leyese, me hubiese percatado de que tu Snippet crea el archivo si no existe... Pero lo raro es que si quito el If y todo esto y dejo solo los 3 Ini_manager... pues no crea nada... :silbar:
Cita de: Ikillnukes en 14 Junio 2013, 22:31 PMSi leyese, me hubiese percatado de que tu Snippet crea el archivo si no existe... Pero lo raro es que si quito el If y todo esto y dejo solo los 3 Ini_manager... pues no crea nada... :silbar:
El
INI Manager se ha distribuido "
As is",
Si consideras que la Class necesita alguna modificación para adaptarse a tu modo de empleo pues precísamente para eso lo compartí, no sólamente para "copiarlo", sinó para que cada uno lo adapte a su código como desee, pero claro, para saber adaptarlo primero hay que leer un poquito
EDITO: sobre el lenguaje, para saber que tocar...
Saludos!