Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: apache_scrc en 15 Septiembre 2010, 16:16 PM

Título: Problema con mensaje por consola
Publicado por: apache_scrc en 15 Septiembre 2010, 16:16 PM
Hola,

estoy generando un validador de estructura XML en C# (por consola) y el problema que tengo es que el mensaje se cierra muy rápido.
La primera vez que ejecute la consola el mensaje lo pude leer ,pero después se empezó a cerrar demasiado rápido la pantalla y no se alcanza a leer nada.

Existe algún comando que controle ese cerrado?

Mi codigo es el siguiente


Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;        // para XmlTextReader y XmlValidatingReader
using System.Xml.Schema; // para XmlSchemaCollection (que se utiliza más adelante)

namespace ValidateXml
{
   class Program
   {
       private static bool isValid = true;      // Si se produce un error de validación,
                                               // configure este indicador como false
                                               // en el controlador de eventos de validación.
       static void Main(string[] args)
       {
           
           //XmlTextReader lee un documento XML de un archivo de texto.
           //XmlValidatingReader valida los datos XML.
           XmlTextReader r = new  XmlTextReader("C:\\MiCarpeta\\ProductWithDTD.xml");
           XmlValidatingReader v = new XmlValidatingReader(r);
           v.ValidationType = ValidationType.DTD;

           v.ValidationEventHandler += new ValidationEventHandler(MyValidationEventHandler);

           // Comprobar si el documento es válido o no.
           if (isValid)
              Console.WriteLine("El documento es válido");
           else
              Console.WriteLine("El documento no es válido");
           
       }
       public static void MyValidationEventHandler(object sender, ValidationEventArgs args)
       {
           isValid = false;
           Console.WriteLine("Evento de validación\n" + args.Message);
       }


   }
}

Título: Re: Problema con mensaje por consola
Publicado por: Garfield07 en 15 Septiembre 2010, 16:54 PM
Antes de responderte, te ruego uses los indicadores de code GeSHI. Gracias.

Tu problema tiene facil solucion: Se te ha "olvidao" poner algun tipo de pausa, (getchar en C) para que el programa no se cierre. Prueba a ponerle algo asi (veras no domino bien C#), o mejor, a abrirlo desde cmd. Seguro que corre bien.

veras, han habido muchos casos como el tuyo. En C el code seria:

#include <stdio.h>

int main ()
{
printf ("Escribe un numero: ");
int a;
scanf ("%d", &a);
printf ("\n\nHas escrito %d.", a);

getchar (); //IMPORTANTE PARA WINDOWS

return 0;
}


Simplemente te comento que es un code facil que toda persona pueda entender. No me infravalores por este sencillo code jaja xD!!!

Saludos y suerte
Título: Re: Problema con mensaje por consola
Publicado por: apache_scrc en 15 Septiembre 2010, 17:15 PM
Tranquilo men, entiendo perfectamente el codigo... el tema que en C#.NET no me reconoce ese comando....

PERO estuve BUSCANDO Y AL FINAL ENCONTRE LA SOLUCION.
DESPUES DEL Console.WriteLine() HAY QUE AGREGAR UN Console.Read() y listo!
Título: Re: Problema con mensaje por consola
Publicado por: Garfield07 en 15 Septiembre 2010, 17:47 PM
Jaja eso era lo que te decia es k como no tengo ni idea de C#, pues te puse el ejemplo en C. Pues si, es lo correcto, fallo mio por indicarte mal. Te confundi en la solucion, no en el problema...

Sorry, y suerte xD. La proxima vez lo indicare mejor jeje
Título: Re: Problema con mensaje por consola
Publicado por: Lunfardo en 16 Septiembre 2010, 01:51 AM
ejecuta el programa desde el cmd ^^,   te ahorras esa "pausa"

Ejecutar--> cmd   (usa cd para cambiar de directorio,es mas facil)




bye