Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Cascuda

#1
Nosotros llevamos un tiempo investigando este tema... y te puedo decir, que actualmente tenemos dos módulos funcionando. Puedes echarle un ojo aquí,  http://goo.gl/ZfGVfm
Próximamente dáremos más información... ya que aún estamos realizando diversos test.
#2
No me he dado cuenta, pero pego el código modificado. Por si alguien quiere ver lo simples cambios que he hecho.

Código (ini,7,8) [Seleccionar]

Option explicit : Dim file, curLine, curIndex, _
                      varName, varValue
 
' Instancio el Stream del objeto que lee el archivo de texto.
Set file = CreateObject("Scripting.FileSystemObject"). _
                        OpenTextFile("prueba.txt", 1)
 
' Itero las lineas del archivo.
Do Until file.AtEndOfStream

   
    curLine  = file.Readline

    varName  = Trim(Mid(curLine, 1, InStr(curLine, "=") - 1))
    varValue = Trim(Mid(curLine,    InStr(curLine, "=") + 1))

    ' Creo la variable dinamicamente.
    ExecuteGlobal varName & "=" & """" & varValue & """"

    ' Muestro el nombre de la variable y el valor.
    Execute "WSCript.Echo varName & ""="" & " & varName

Loop

' Cierro el Stream.
file.Close()

'Verifico que realmente funciona.
Msgbox "funciona (" & site & ")"
Msgbox "funciona (" & consolide & ")"
Msgbox "funciona (" & consolidante & ")"


WScript.Quit(0)


#3
Muchas gracias Electro,

Realmente discrimine el =, ya que sabia que ningún de los valores asignados por ahora, iban a serlo. Pero muy bien pensado. Ya que nunca sabes cuando realmente puede ser, que  eso suceda.

He usado tu ejemplo, pero lo he modificado a mis necesidades. Ya que prefiero usar las variables con el nombre que me muestra en el TXT, en vez que me cargue dinamicamente un prefijo. Aun que realmente, ya lo habías definido usted en el codigo y solo tuve que modificar las cadenas.

Un saludo, Cascuda

#4
Llevo  ya unas semanas dándole vueltas, pero no soy capaz de desarrollar la idea que tengo en mente.
Lo que estaba pensando, era leer un archivo TXT y a partir de ahi, sacar de cada linea el nombre de la variable y su valor.

Ejemplo de fichero TXT
Código (ini,7,8) [Seleccionar]

site = espanha
lugar= madrid
so = win7
ie = ie9
puesto = 11



Donde he llegado sin problema, es leer el nombre de la variable y luego lo que continua "su valor" asi en todas, hasta llegar a la ultima. Pero luego. lo que no he sido capaz de desarrollar. es que me cargue esas variables en el VBS para luego hacer consultas o condiciones o etc...

Código (ini,7,8) [Seleccionar]

Const ForReading = 1
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile("prueba.txt", ForReading)

Do Until ts.AtEndOfStream
strNextLine = ts.Readline
arrServiceList = Split(strNextLine , "=")

Msgbox arrServiceList(o)
For i = 1 to Ubound(arrServiceList)
Msgbox arrServiceList(i)
Next
Loop



Si me podéis orientar como seguir, ya que mi mente se quedo bloqueada, os lo agradeceria.

Un saludo, Cascuda
#5
Scripting / Re: Remplazar la linea entera...
25 Abril 2015, 22:25 PM
Muchas gracias Elektro, me has abierto los ojos despues de días atascado con este problema. He probado el código y me fallo el cambio del Port, pero ya voy a buscar ahora mismo lo que pasa...

#6
Scripting / Remplazar la linea entera...
25 Abril 2015, 21:06 PM
Hola gente, he estado buscando en el foro pero sin encontrar solución alguna... Puede ser por que no he buscado bien, o no supe buscar correctamente lo que quería hacer.

Os voy a explicar mi problema: Quiero modificar un archivo, que es donde se define las conexiones del Oracle. Llego a hacerlo... me modifica la conexión, pero me desplaza el texto que tengo después de Host y Port

Ejemplo de como queda el archivo modificado: "Os dejo la parte del código donde modifica, ya que tiene definido mas conexiones Oracle"
Código (ini,7,8) [Seleccionar]
BDI.inet.com =
  (DESCRIPTION =
 (ADDRESS_LIST =
(ADDRESS =
  (COMMUNITY = tcp.inet.com)
  (PROTOCOL = TCP)
  (Host = Cascuda.com) pepito.com)
  (Port = 8888) 1234)
)
 )
 (CONNECT_DATA =
(SID = BDI)
(GLOBAL_NAME = BDI.inet.com)
 )
  )


Como veis, me pone correctamente (Host = Cascuda.com) pero, me deja el nombre que tenia el antiguo Host desplazado hacia la derecha y lo mismo que me pasa, con el dato del puerto.

Y este es el código VBS que estoy utilizando... creo que me falta algo por definir. Pero no me doy cuenta de que podrá ser.


Código (vb) [Seleccionar]

Const ForReading = 1
Const ForWriting = 2

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("C:\Temp\ADD\tnsnames_prueba.ora", ForReading)

strText = objFile.ReadAll
objFile.Close
strNewText = Replace(strText, "BDI.inet.com =", "BDI.inet.com =")
strNewText1 = Replace(strNewText, "(Host =", "(Host = Cascuda.com)")
strNewText2 = Replace(strNewText1, "(Port =", "(Port = 8888)")

Set objFile = objFSO.OpenTextFile("C:\Temp\ADD\tnsnames_prueba.ora", ForWriting)
objFile.WriteLine strNewText2

objFile.Close





[MOD]: Utiliza las etiquetas GeShi para insertar código.