Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Rafaelrj en 11 Mayo 2017, 14:57 pm



Título: Consulta VBScript
Publicado por: Rafaelrj en 11 Mayo 2017, 14:57 pm
Muy buenos dias amigos soy nuevo por el foro y nuevo en este mundo de la programación no es mucho lo que se y mucho lo que deseo aprender.  

Hoy quisiera hacer una consulta estoy trabajando en un asistente virtual sencillo usando Windows Speech Recognition Macros y estoy buscando como hacer un VBScript que me lea el texo guardado en un bloc de notas y luego sea convertido a voz.
La idea es que el asistente guarde texto en un bloc de notas como un recordatorio y que al ser solicitado pueda leer el contenido

Ya hice un codigo donde: al indicar que quiero crear una nota el codigo pregunta con que nombre y el usuario debe decirlo, luego el codigo pregunta con que contenido y el usuario debe decirlo luego el code tomas esos datos y lanza el VBScript donde crea el documento de texto con dichos datos.

Pero ahora necesito un  VBScript que me permita leer el contenido de un bloc de notas en particular y que el el asistente por asi decirlo lo hable. aqui les dejo el code para crear nota.

si alguien pudira ayudarme se lo agradeceria mucho y pido disculpas si estoy si estoy infringiendo alguna regla.

Código
  1. <?xml version="1.0" encoding="UTF-16"?>
  2. <speechMacros>
  3.  
  4. <command>
  5.   <listenFor>crea una nota</listenFor>
  6.   <waitFor seconds="0.2"/>
  7.   <setState name="nombre" value="activa" />
  8.   <sendKeys>^{WIN}</sendKeys>
  9.   <speak>¿indique el nombre?</speak>
  10.   <sendKeys>^{WIN}</sendKeys>
  11. </command>
  12.  
  13. <command>
  14.   <stateIsSet name="nombre" value="activa" />
  15.   <listenFor>nombre [...]</listenFor>
  16.   <listenFor>Ponle [...]</listenFor>
  17.   <setState name="nombre" value="{[...]}"/>
  18.   <setState name="contenido" value="activa" />
  19.   <sendKeys>^{WIN}</sendKeys>
  20.   <speak>indique el contenido?</speak>
  21.   <sendKeys>^{WIN}</sendKeys>
  22. </command>
  23.  
  24. <command>
  25.   <stateIsSet name="contenido" value="activa" />
  26.   <listenFor> contenido [...] </listenFor>
  27.   <listenFor> con [...] </listenFor>
  28.   <setState name="contenido" value="{[...]}"/>
  29.   <speak>creando nota</speak>
  30.   <waitFor seconds="1"/>
  31.  
  32.  
  33.   <script language="VBScript">
  34.   <![CDATA[
  35.  
  36.  
  37. Set objfso = createobject("scripting.filesystemobject")
  38. Set archivotexto = objfso.createtextfile("C:\Users\Rafael\Documents\Nueva carpeta\{[nombre]}.txt",true)
  39. archivotexto.writeline "{[contenido]}"
  40. archivotexto.writeblanklines(2)
  41. archivotexto.writeline
  42. archivotexto.close
  43. Application.wait(0.5)
  44.      Application.Speak("Nota creada.")
  45.  
  46.   ]]>
  47.  
  48.   </script>
  49.  
  50.   <setState name="nombre" value="activa" />
  51.    <setState name="nombre" value="{[...]}"/>
  52.   <setState name="contenido" value="activa" />
  53.   <setState name="contenido" value="{[...]}"/>
  54.  
  55. </command>

Los códigos deben ir en etiquetas GeSHi


Título: Re: Consulta VBScript
Publicado por: Eleкtro en 12 Mayo 2017, 08:27 am
necesito un  VBScript que me permita leer el contenido de un bloc de notas en particular

¿Cómo "en particular"?. Bloc de Notas o Clipboard de Windows solo hay uno, en singular. VBS no tiene soporte para acceder a él, tan solo mediante el siguiente objeto COM de IE: http://stackoverflow.com/a/19697222/1248295

De todas formas me da la sensación de que en lugar de usar la palabra "archivo de texto", has dicho "bloc de notas" en su lugar, pero que lo que realmente quieres hacer sería leer el contenido de un archivo de texto...

Intenta ser más específico.

¡Saludos!