Este ejemplo muestra dos métodos para obtener encabezados
que indican el número total de páginas en el documento.
Método 1: dos pases
Este método es simple y adecuado para documentos cortos.
Consiste en crear el documento dos veces: una vez solo para contar las páginas
y una vez para crear el documento completo.
vp.Header = "Página " + x+ " de " + vp.PageCount;
vp.StartDoc();
// Creamos el documento
vp.EndDoc();
vp.Header = "Página " + x+ " de " + vp.PageCount;
vp.StartDoc();
// Creamos el documento
vp.EndDoc();
Método 2: pase único
Este método utiliza superposiciones para realizar las mismas tareas en una sola pasada. Los encabezados se dibujan en cada página.
Después de que se complete el documento.
vp.StartDoc();
// Creamos el documento
vp.EndDoc();
for (int x=1; x < vp.PageCount; x++)
{
vp.StartOverlay((short)x, true);
vp.TextAlign = VSPrinter8Lib.TextAlignSettings.taRightTop;
vp.CurrentX = vp.MarginHeader;
vp.FontName = "Times New Roman";
vp.FontSize = (float)8;
vp.TextRTF = @"Página " + x+ " de " + vp.PageCount;
vp.EndOverlay();
}
A continuación vamos realizar un programa para generar un
XML que contendrá todos los archivos del árbol de directorios de una ruta que
especifiquemos. Lo primero vamos a realizar la parte grafica quedando de la
siguiente manera la interfaz.
Como se ve la interfaz es bastante simple contaremos de la
parte superior donde pondremos la ruta desde donde se comenzara a leer para generar el XML y la parte
inferior tendremos en botón desde donde lanzaremos la acción y también tenemos
un check para marcar si deseamos que en el XML también se incluyan los
subdirectorios. También vemos que hemos añadido un “folderBrowserDialog “para
poder así también seleccionar nuestro directorio.
Vamos comenzar con el botón del evento “click” del botón “Examinar”
desde el cual podremos elegir una ruta.
Vale como ejemplo crearemos dos aplicaciones a modo de que
una será una servidor en el que podremos redactar mensajes que se enviaran a
los clientes. Y la otra será la aplicación cliente que recibirá estos mensajes.
Empecemos creando la interfaz visual que tendrá la
aplicación que hará de servidor. Y es mi caso tendrá un aspecto visual como
este.
Ahora nos iremos al evento Click() de nuestro botón. Que
será una cosa parecida a esto:
Para empezar a utilizar PIPE lo primero que tendremos que
hacer es agregar el espacio de nombre que contienen estos objetos para ello
tendremos agregar el espacio de nombre “System.IO.Pipes”.
El objeto que vamos a utilizar para realizar el envió se
llama “NamedPipeClientStream” el código de nuestro programa servidor quedaría
así: