# Robot Cartes

Robot Cartes es un software para Microsoft Windows capaz de interactuar con la interfaz gráfica de las aplicaciones: la forma sencilla de entenderlo es pensar que lee la pantalla y controla el teclado y el ratón de un ordenador. Es un robot programable preparado para interactuar con las aplicaciones de la misma forma que un operador humano. Idóneo, por tanto, para automatizar y/o optimizar procesos de negocio y back office. A esta clase de software se le conoce como RPA por sus siglas en inglés, robotic process automation.
Robot Cartes ofrece una licencia gratuita para uso no comercial, y desde su versión inicial en 2013 es distribuido por la compañía Rigel Technologies S.L. con sede en Madrid (España).

## Cartes Script

El robot es programado mediante un simple lenguaje de script, llamado Cartes Script, parecido a php y basado en comandos. Estos comandos se aplican o bien sobre el propio robot, o sobre los componentes de la interfaz gráfica de otras aplicaciones (botones, combos, etiquetas...). Para incorporar un componente de la interfaz gráfica de cualquier aplicación a un proyecto de Cartes suele bastar con algo tan sencillo como señalarlo con el ratón y darle un nombre. A partir de ese instante el proyecto incorpora las características para reconocerlo asociadas a este nombre. Este nombre será el usado en Cartes Script como referencia a la que aplicar los métodos. Por ejemplo, asociamos un botón de una aplicación al nombre $botonCerrar, para hacer clic la instrucción sería:
$botonCerrar.click;
Los Cartes Script pueden ejecutarse en el robot transmitiéndolos desde otras aplicaciones gracias a su interfaz ActiveX. Es decir, Robot Cartes se transforma en un componente del sistema que puede ser controlado desde lenguajes como VBScript, .NET o Embarcadero Delphi.

## Funcionamiento

Robot Cartes accede a la información mostrada en la pantalla del ordenador a través de la memoria del mismo. Robot Cartes sabe dónde se puede acceder a ella usando tanto las rutinas ofrecidas por el sistema operativo como por las de algunas aplicaciones.
Sin embargo, la parte más complicada, el reconocimiento de los controles en la pantalla lo resuelve con tecnología basada en algoritmos de inteligencia artificial, que permiten un reconocimiento con el que se puede manejar interfaces complejas, o cuyos cambios de aspecto escapen al control del usuario (como portales web en Internet) con robustez y mínimo consumo de CPU.

## Ejemplo

Este es un ejemplo de código Cartes Script embebido en un programa de VBScript. La rutina abre un proyecto de Robot Cartes con referencias al Notepad de Microsoft Windows y escribe en él "Hola mundo".

## Características

Los proyectos de Robot Cartes no son autoejecutables, es decir, necesitan tener instalado en el sistema a Robot Cartes y los comandos de Cartes Script serán interpretados por él. Actualmente Robot Cartes ofrece integración con las API:
* Win32
* HTML para Internet Explorer 6, 7, 8, 9, 10 y 11
* Java con la máquina virtual para Windows 32
* SAP
* Siebel Systems en varias de sus versiones.
Es compatible con Windows XP x32, Windows Vista x32 y x64, Windows 2003 x32 y x64, Windows 7 x32 y x64,
Windows Server 2008, Windows Server 2008 R2, y Windows 8.
| | Win32 | HTML Internet Explorer 6, 7, 8, 9, 10 y 11 | Java | SAP | Siebel Systems |
| Windows XP x32 | Sí | Sí | Sí | Sí | Sí |
| Windows Vista x32 | Sí | Sí | Sí | Sí | Sí |
| Windows Vista x64 | Sí | Sí | Sí | Desconocido | Desconocido |
| Windows Server 2003 | Sí | Sí | Sí | Sí | Sí |
| Windows Server 2003 R2 | Sí | Sí | Sí | Desconocido | Desconocido |
| Windows 7 x32 | Sí | Sí | Sí | Sí | Sí |
| Windows 7 x64 | Sí | Sí | Sí | Sí | Sí |
| Windows Server 2008 | Sí | Sí | Sí | Sí | Sí |
| Windows Server 2008 R2 | Sí | Sí | Sí | Sí | Sí |
| Windows 8 | Sí | Sí | Desconocido | Desconocido | Desconocido |