elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: 1 2 3 4 5 [6] 7 8 9 10
51  Programación / .NET (C#, VB.NET, ASP) / Error con Datatable y Datagridview en: 15 Noviembre 2010, 22:22 pm
Hola  a todos estaba desarollando y en el transcurso me tope con algo medio raro
tengo un datagridview con menos de 10 columnas,aplico el siguiente codigo y normal mi datatable ya tiene almacenado los datos que habian en el DataGridviewX1

 
Código
  1. Dim dd As New DataTable()
  2. dd = CType(Me.DataGridViewX1.DataSource, DataTable)
 y ahora cuando quiero almacenar mi Otra dataGrivdiew que tiene 36 columnas ahi  me vota Error que dice lo siguiente:
"Referencia a objeto no establecida como instancia de un objeto".
pero que raro digo si mis demas Data normal lo acepta y justo con ese data de ahi tengo el problema.Tiene que ver algo la cantidad de colmunas que tiene ?? y cualquiera ayuda gracias ^^
52  Programación / .NET (C#, VB.NET, ASP) / Re: Problema con Sockets C# en: 11 Noviembre 2010, 18:10 pm
ola bueno ahi dejo mi granito de arena si ayuda en algo chevre

ServidorPaquete

Código
  1. private UdpClient cliente;      
  2.   private IPEndPoint puntoRecepcion;
  3.  
  4.   // inicializa las variables y el subproceso para recibir paquetes
  5.   private void ServidorPaquetesForm_Load( object sender, EventArgs e )
  6.   {
  7.      cliente = new UdpClient(50000);
  8.      puntoRecepcion = new IPEndPoint(new IPAddress(0), 0);
  9.      Thread lecturaThread = new Thread(new ThreadStart(EsperarPaquetes));
  10.      lecturaThread.Start();                                    
  11.   }
  12.  
  13.   // cierra el servidor
  14.   private void ServidorPaquetesForm_FormClosing( object sender,
  15.      FormClosingEventArgs e )
  16.   {        
  17.      System.Environment.Exit( System.Environment.ExitCode );
  18.   } // fin del método ServidorPaquetesForm_FormClosing
  19.  
  20.   // delegado que permite llamar al método MostrarMensaje
  21.   // en el subproceso que crea y mantiene la GUI
  22.   private delegate void DisplayDelegate( string message );  
  23.  
  24.   // el método MostrarMensaje establece la propiedad Text de mostrarTextBox
  25.   // de una manera segura para el proceso
  26.   private void MostrarMensaje( string mensaje )
  27.   {
  28.      // si la modificación de mostrarTextBox no es segura para el subproceso
  29.      if ( mostrarTextBox.InvokeRequired )
  30.      {
  31.         // usa el método heredado Invoke para ejecutar MostrarMensaje
  32.         // a través de un delegado
  33.         Invoke( new DisplayDelegate( MostrarMensaje ),          
  34.            new object[] { mensaje } );                          
  35.      } // fin de if
  36.      else // sí se puede modificar mostrarTextBox en el subproceso actual
  37.         mostrarTextBox.Text += mensaje;
  38.   }
  39.  
  40.   // espera a que llegue un paquete
  41.   public void EsperarPaquetes()
  42.   {
  43.      while ( true )
  44.      {
  45.         // prepara el paquete
  46.         byte[] datos = cliente.Receive( ref puntoRecepcion );
  47.         MostrarMensaje( "\r\nSe recibió paquete:" +
  48.            "\r\nLongitud: " + datos.Length +
  49.            "\r\nContenido: " +
  50.            System.Text.Encoding.ASCII.GetString( datos ) );          
  51.  
  52.         // devuelve (eco) la información del paquete de vuelta al cliente
  53.         MostrarMensaje( "\r\n\r\nEnviando de vuelta datos al cliente..." );
  54.         cliente.Send( datos, datos.Length, puntoRecepcion );
  55.         MostrarMensaje( "\r\nPaquete enviado\r\n" );
  56.      } // fin de while
  57.   }  
  58.  
ClientePaquete

Código
  1. private UdpClient cliente;      
  2.   private IPEndPoint puntoRecepcion;
  3.  
  4.   // inicializa las variables y el subproceso para recibir paquetes
  5.   private void ClientePaquetesForm_Load( object sender, EventArgs e )
  6.   {
  7.      puntoRecepcion = new IPEndPoint( new IPAddress( 0 ), 0 );
  8.      cliente = new UdpClient( 50001 );                        
  9.      Thread subproceso =                                        
  10.         new Thread( new ThreadStart( EsperarPaquetes ) );    
  11.      subproceso.Start();                                        
  12.   } // fin del método ClientePaquetesForm_Load
  13.  
  14.   // cierra el cliente
  15.   private void ClientePaquetesForm_FormClosing( object sender,
  16.      FormClosingEventArgs e )
  17.   {
  18.      System.Environment.Exit( System.Environment.ExitCode );
  19.   } // fin del método ClientePaquetesForm_FormClosing
  20.  
  21.   // delegado que permite llamar al método MostrarMensaje
  22.   // en el subproceso que crea y mantiene la GUI
  23.   private delegate void DisplayDelegate( string message );  
  24.  
  25.   // el método MostrarMensaje establece la propiedad Text de mostrarTextBox
  26.   // de una manera segura para el subproceso
  27.   private void MostrarMensaje( string mensaje )
  28.   {
  29.      // si la modificación de mostrarTextBox no es segura para el subproceso
  30.      if ( mostrarTextBox.InvokeRequired )
  31.      {
  32.         // usa el método heredado Invoke para ejecutar MostrarMensaje
  33.         // a través de un delegado
  34.         Invoke( new DisplayDelegate( MostrarMensaje ),          
  35.            new object[] { mensaje } );                          
  36.      } // fin de if
  37.      else // sí se puede modificar mostrarTextBox en el subproceso actual
  38.         mostrarTextBox.Text += mensaje;
  39.   } // fin del método MostrarMensaje
  40.  
  41.   // envía un paquete
  42.   private void entradaTextBox_KeyDown( object sender, KeyEventArgs e )
  43.   {
  44.      if ( e.KeyCode == Keys.Enter )
  45.      {
  46.         // crea un paquete (datagrama) como objeto string
  47.         string paquete = entradaTextBox.Text;  
  48.         mostrarTextBox.Text +=
  49.            "\r\nEnviando paquete que contiene: " + paquete;
  50.  
  51.         // convierte el paquete en arreglo de bytes
  52.         byte[] datos = System.Text.Encoding.ASCII.GetBytes( paquete );
  53.  
  54.         // envía el paquete al servidor en el puerto 50000              
  55.         cliente.Send( datos, datos.Length, "127.0.0.1", 50000 );
  56.         mostrarTextBox.Text += "\r\nPaquete enviado\r\n";
  57.         entradaTextBox.Clear();
  58.      } // fin de if
  59.   } // fin del método entradaTextBox_KeyDown
  60.  
  61.   // espera a que lleguen los paquetes
  62.   public void EsperarPaquetes()
  63.   {
  64.      while ( true )
  65.      {
  66.         // recibe arreglo de bytes del servidor
  67.         byte[] datos = cliente.Receive( ref puntoRecepcion );
  68.  
  69.         // envía el paquete de datos al control TextBox
  70.         MostrarMensaje( "\r\nPaquete recibido:" +
  71.            "\r\nLongitud: " + datos.Length + "\r\nContenido: " +
  72.            System.Text.Encoding.ASCII.GetString( datos ) + "\r\n" );
  73.      } // fin de while
  74.   } // fin del método EsperarPaquetes

53  Programación / .NET (C#, VB.NET, ASP) / uso del datagridview en: 10 Noviembre 2010, 23:56 pm
hola a todos tengo una duda en visual basic.net no se si me pueden dar ideas para poder realizarlo como hago para que en las columnas del datagridwied su HeaderText  aparezca de la siguiente manera:
o
g
i
d
o
c
taba buscando alguna opcion para poder rotar su texto pero no encuentro , otra solucion que queria dar era buscarme el tipo de letra que tenga ese formato o bien dibujarlo esa letra en las coordenadas de sus cabezales pero abria otra forma mas facil ?, ojala que me haya explicado bien

54  Programación / .NET (C#, VB.NET, ASP) / Re: Conectar a un Servidor por Internet en: 9 Noviembre 2010, 21:43 pm
muchas gracias .. asu too lo ven negocio ahora jiji ..
weno ya lo tengo la aplicacion lista lo que toy haciendo ahora la conexion no mas y en eso toy trabajando ahora y espero lograrlo too se puede ^^,
55  Programación / .NET (C#, VB.NET, ASP) / Re: Donde Puedo Encontra un Soucer en: 9 Noviembre 2010, 05:12 am
asha entonces por ejemplo si yo quiero desarrollar un aimbot tengo que usar este inyector tambien
56  Programación / .NET (C#, VB.NET, ASP) / Re: Conectar a un Servidor por Internet en: 9 Noviembre 2010, 05:10 am
bueno muchas gracias a todo e intentare hacerlo y ya les estare compartiendo los resultado Dx.!
57  Programación / .NET (C#, VB.NET, ASP) / Complicadores en: 9 Noviembre 2010, 04:17 am
HOla a todos hace poco hize un analizador Lexico y me dio curiosidad de compartirlo y si tienen alguna mejora mucho mejor podriamoz compartir.
y en el siguiente enlace hize unos videitos sobre los patrones de las variables y/o palabras reservadas: http://www.youtube.com/watch?v=X50-vn-5h0E
bueno si les agrada buen provecho

Código
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8.  
  9. namespace AnalizadorLexico
  10. {
  11.    public partial class Form1 : Form
  12.    {
  13.        int x;//Declaro una Variable Publica para Guardar las Posicones
  14.        //Declaro 3 Arreglos Mas Para Guardar mis Simbolos
  15.        bool Erro = false;
  16.        public static int[] Codigo=new int[61];
  17.        public static string[] Tokens = new string[61];
  18.        public static string[] Simbolo = new string[61];
  19.        public Form1()
  20.        {
  21.            InitializeComponent();
  22.            for (int i = 0; i < Codigo.Length; i++) // Inicializamos los Codigos
  23.                Codigo[i] = i + 1;
  24.            Simbolo[0] = "Procedimiento"; Tokens[0] = "PALABRA RESERVADA - PR";
  25.            Simbolo[1] = "Funcion"; Tokens[1] = "PALABRA RESERVADA - PR";
  26.            Simbolo[2] = "Principal";Tokens[2] = "PALABRA RESERVADA - PR";
  27.            Simbolo[3] = "Entero";Tokens[3] = "PALABRA RESERVADA - PR";
  28.            Simbolo[4] = "Decimal";Tokens[4] = "PALABRA RESERVADA - PR";
  29.            Simbolo[5] = "Doble";Tokens[5] = "PALABRA RESERVADA - PR";
  30.            Simbolo[6] = "Caracter";Tokens[6] = "PALABRA RESERVADA - PR";
  31.            Simbolo[7] = "Cadena";Tokens[7] = "PALABRA RESERVADA - PR";
  32.            Simbolo[8] = "Booleano";Tokens[8] = "PALABRA RESERVADA - PR";
  33.            Simbolo[9] = "Si";Tokens[9] = "PALABRA RESERVADA - PR";
  34.            Simbolo[10] = "Entonces";Tokens[10] = "PALABRA RESERVADA - PR";
  35.            Simbolo[11] = "Sino";Tokens[11] = "PALABRA RESERVADA - PR";
  36.            Simbolo[12] = "Abrir";Tokens[12] = "PALABRA RESERVADA - PR";
  37.            Simbolo[13] = "Caso";Tokens[13] = "PALABRA RESERVADA - PR";
  38.            Simbolo[14] = "Quiebre";Tokens[14] = "PALABRA RESERVADA - PR";
  39.            Simbolo[15] = "Defecto";Tokens[15] = "PALABRA RESERVADA - PR";
  40.            Simbolo[16] = "Ira";Tokens[16] = "PALABRA RESERVADA - PR";
  41.            Simbolo[17] = "Retornar";Tokens[17] = "PALABRA RESERVADA - PR";
  42.            Simbolo[18] = "Para";Tokens[18] = "PALABRA RESERVADA - PR";
  43.            Simbolo[19] = "Mientras";Tokens[19] = "PALABRA RESERVADA - PR";
  44.            Simbolo[20] = "Hacer";Tokens[20] = "PALABRA RESERVADA - PR";
  45.            Simbolo[21] = "Mostrar";Tokens[21] = "PALABRA RESERVADA - PR";
  46.            Simbolo[22] = "Leer";Tokens[22] = "PALABRA RESERVADA - PR";
  47.            Simbolo[23] = "Limpiar";Tokens[23] = "PALABRA RESERVADA - PR";
  48.            Simbolo[24] = "Pausa";Tokens[24] = "PALABRA RESERVADA - PR";
  49.            Simbolo[25] = "Abs";Tokens[25] = "PALABRA RESERVADA - PR";
  50.            Simbolo[26] = "Mod";Tokens[26] = "PALABRA RESERVADA - PR";
  51.            Simbolo[27] = "Exp";Tokens[27] = "PALABRA RESERVADA - PR";
  52.            Simbolo[28] = "Sqrt";Tokens[28] = "PALABRA RESERVADA - PR";
  53.            Simbolo[29] = "(";Tokens[29] = "SIGNO SEPARADOR";
  54.            Simbolo[30] = ")";Tokens[30] = "SIGNO SEPARADOR";
  55.            Simbolo[31] = "{";Tokens[31] = "SIGNO SEPARADOR";
  56.            Simbolo[32] = "}";Tokens[32] = "SIGNO SEPARADOR";
  57.            Simbolo[33] = "[";Tokens[33] = "SIGNO SEPARADOR";
  58.            Simbolo[34] = "]";Tokens[34] = "SIGNO SEPARADOR";
  59.            Simbolo[35] = "+";Tokens[35] = "OPERADOR - OP";
  60.            Simbolo[36] = "-"; Tokens[36] = "OPERADOR - OP";
  61.            Simbolo[37] = "*"; Tokens[37] = "OPERADOR - OP";
  62.            Simbolo[38] = "/"; Tokens[38] = "OPERADOR - OP";
  63.            Simbolo[39] = "&&"; Tokens[39] = "OPERADOR - OP";
  64.            Simbolo[40] = "++"; Tokens[40] = "OPERADOR - OP";
  65.            Simbolo[41] = "--"; Tokens[41] = "OPERADOR - OP";
  66.            Simbolo[42] = "="; Tokens[42] = "SIGNO COMPARADOR - SC";
  67.            Simbolo[43] = "=="; Tokens[43] = "SIGNO COMPARADOR - SC";
  68.            Simbolo[44] = "<="; Tokens[44] = "SIGNO COMPARADOR - SC";
  69.            Simbolo[45] = ">="; Tokens[45] = "SIGNO COMPARADOR - SC";
  70.            Simbolo[46] = "<"; Tokens[46] = "SIGNO COMPARADOR - SC";
  71.            Simbolo[47] = ">"; Tokens[47] = "SIGNO COMPARADOR - SC";
  72.            Simbolo[48] = "!="; Tokens[48] = "SIGNO COMPARADOR - SC";
  73.            Simbolo[49] = "!"; Tokens[49] = "SIGNO RELACIONADOR - SR";
  74.            Simbolo[50] = "&"; Tokens[50] = "SIGNO RELACIONADOR - SR";
  75.            Simbolo[51] = "|"; Tokens[51] = "SIGNO RELACIONADOR - SR";
  76.            Simbolo[52] = ","; Tokens[52] = "SIGNO DE PUNTUACION - SP";
  77.            Simbolo[53] = ";"; Tokens[53] = "SIGNO DE PUNTUACION - SP";
  78.            Simbolo[54] = ":"; Tokens[54] = "SIGNO DE PUNTUACION - SP";
  79.            Simbolo[55] = "\""; Tokens[55] = "SIGNO DE PUNTUACION - SP";
  80.            Simbolo[56] = "'"; Tokens[56] = "SIGNO DE PUNTUACION - SP";
  81.            Simbolo[57] = "."; Tokens[57] = "SIGNO DE PUNTUACION - SP";
  82.            Simbolo[58] = "_"; Tokens[58] = "SIGNO SEPARADOR";
  83.            Simbolo[59] = "FALSE"; Tokens[59] = "Booleano - BO";
  84.            Simbolo[60] = "TRUE"; Tokens[60] = "Booleano - BO";
  85.        }
  86.        private void btnAnalizar_Click(object sender, EventArgs e)
  87.        {
  88.            if (dgvtokens.RowCount > 0) // Limpio Simpre y Cuando Hayga Datos en el DataGridWied
  89.                dgvtokens.Rows.Clear();
  90.            if (dgvErrores.RowCount > 0)
  91.                dgvErrores.Rows.Clear();
  92.            Erro = false;
  93.            richTextBox2.Text = "";
  94.            Analizar(); //LLamo ah mi Procedimiento Analizar
  95.        }
  96.        private void Analizar()
  97.        {            
  98.            char[] Cadena = richTextBox1.Text.ToCharArray();//Separo del Texto Fuente En Caracteres Separados y Almaceno en un Array de tipo Caracter
  99.            string Texto = "";
  100.            int i = 0; //Declaro mi Contador para Poder Recorrer toda la Cadena
  101.            while (i < Cadena.Length)
  102.            {
  103.                if (i < Cadena.Length - 1)
  104.                {
  105.                    //Verificamos con que Letra Empiezza i
  106.                    if (AnalizarLetra(Cadena[i]))
  107.                    {
  108.                        x = i;//Guardamos la Posicion Donde Empieza
  109.                        while (AnalizarNumero(Cadena[i]) || AnalizarLetra(Cadena[i]) || Cadena[i] == '_')//Repetira Mientras Sea un Numero oh una Letra
  110.                        {
  111.                            Texto = Texto + Cadena[i].ToString();
  112.                            i++;
  113.                            if (i == Cadena.Length) break;//Si Llegamos ah la Ultina Posicion Salimos porque ya no hay nada por analizar
  114.                        }
  115.                        //Ver si es una Palabra Reservada oh es un Identificador
  116.                        PR(Texto); //Llamamos ah un Procedimiento Palabra Reservada -PR para Confirmar si es una PR                  
  117.                        Texto = "";
  118.                    }
  119.                    else if (AnalizarNumero(Cadena[i]) || (Cadena[i].ToString() == "-" && AnalizarNumero(Cadena[i + 1])))
  120.                    {
  121.                        x = i;//Guardamos la Posicion Donde Empieza    
  122.                        string Ti = "E";
  123.                        bool SolounPunto = true; //Inicializamos una Variable Aux que nos Va Indicar que la Concadenacion ya Tiene un Punto y no Puede Aceptar mas
  124.                        if (Cadena[i].ToString() == "-") //si es que primero empieza con un -
  125.                        {
  126.                            Texto = Texto + Cadena[i].ToString();
  127.                            i += 1;                            
  128.                        }
  129.                        while (AnalizarNumero(Cadena[i])) //Repetira mientras sea un Numero
  130.                        {
  131.                            Texto = Texto + Cadena[i].ToString();
  132.                            i++;
  133.                            if (i < Cadena.Length - 1) //entrara siempre y cuando no sea el ultimo Caracter del Texto fuente
  134.                            {
  135.                                if (Cadena[i] == '.' && AnalizarNumero(Cadena[i + 1]) && SolounPunto) // Si se Cumple las Reglas Seguimos Cancadenando
  136.                                {
  137.                                    Texto = Texto + Cadena[i].ToString();
  138.                                    SolounPunto = false;
  139.                                    Ti = "D";
  140.                                    i++;
  141.                                }
  142.                            }
  143.                            if (i == Cadena.Length) break;//Si Llegamos ah la Ultina Posicion Salimos porque ya no hay nada por analizar
  144.                        }
  145.                        //Mostrar el Numero  
  146.                        if (Ti == "E") //Si es Entero
  147.                        {
  148.                            dgvtokens.RowCount = dgvtokens.RowCount + 1;
  149.                            dgvtokens[0, dgvtokens.RowCount - 1].Value = "60";
  150.                            dgvtokens[1, dgvtokens.RowCount - 1].Value = Texto.ToString();
  151.                            dgvtokens[2, dgvtokens.RowCount - 1].Value = "NUMERO ENTERO - NE";
  152.                            dgvtokens[3, dgvtokens.RowCount - 1].Value = (x + 1).ToString();
  153.                            Texto = "";
  154.                        }
  155.                        else //Si es Decimal
  156.                        {
  157.                            dgvtokens.RowCount = dgvtokens.RowCount + 1;
  158.                            dgvtokens[0, dgvtokens.RowCount - 1].Value = "61";
  159.                            dgvtokens[1, dgvtokens.RowCount - 1].Value = Texto.ToString();
  160.                            dgvtokens[2, dgvtokens.RowCount - 1].Value = "NUMERO DECIMAL - ND";
  161.                            dgvtokens[3, dgvtokens.RowCount - 1].Value = (x + 1).ToString();
  162.                            Texto = "";
  163.                        }
  164.                    }
  165.                    else if (Cadena[i].ToString() == " " || Cadena[i].ToString() == "\n" || Cadena[i].ToString() == "\t")//si hay un espacio o un enter seguimos avanzando
  166.                        i++;
  167.                    else if (char.IsSymbol(Cadena[i]) || char.IsSeparator(Cadena[i]) || char.IsPunctuation(Cadena[i])) // ahora vemos si son simbolos
  168.                    {
  169.                        x = i;
  170.                        if (i < Cadena.Length - 1)
  171.                        {
  172.                            if (Cadena[i].ToString() == "=" && Cadena[i + 1].ToString() == "=")
  173.                            {
  174.                                string Union = Cadena[i].ToString() + Cadena[i + 1].ToString();
  175.                                AnalizarSimbolo(Union, x);
  176.                                i = i + 2;
  177.                            }
  178.                            else if (Cadena[i].ToString() == "!" && Cadena[i + 1].ToString() == "=")
  179.                            {
  180.                                string Union = Cadena[i].ToString() + Cadena[i + 1].ToString();
  181.                                AnalizarSimbolo(Union, x);
  182.                                i = i + 2;
  183.                            }
  184.                            else if (Cadena[i].ToString() == ">" && Cadena[i + 1].ToString() == "=")
  185.                            {
  186.                                string Union = Cadena[i].ToString() + Cadena[i + 1].ToString();
  187.                                AnalizarSimbolo(Union, x);
  188.                                i = i + 2;
  189.                            }
  190.                            else if (Cadena[i].ToString() == "<" && Cadena[i + 1].ToString() == "=")
  191.                            {
  192.                                string Union = Cadena[i].ToString() + Cadena[i + 1].ToString();
  193.                                AnalizarSimbolo(Union, x);
  194.                                i = i + 2;
  195.                            }
  196.                            else if (Cadena[i].ToString() == "+" && Cadena[i + 1].ToString() == "+")
  197.                            {
  198.                                string Union = Cadena[i].ToString() + Cadena[i + 1].ToString();
  199.                                AnalizarSimbolo(Union, x);
  200.                                i = i + 2;
  201.                            }
  202.                            else if (Cadena[i].ToString() == "-" && Cadena[i + 1].ToString() == "-")
  203.                            {
  204.                                string Union = Cadena[i].ToString() + Cadena[i + 1].ToString();
  205.                                AnalizarSimbolo(Union, x);
  206.                                i = i + 2;
  207.                            }
  208.                            else if (Cadena[i].ToString() == "&" && Cadena[i + 1].ToString() == "&")
  209.                            {
  210.                                string Union = Cadena[i].ToString() + Cadena[i + 1].ToString();
  211.                                AnalizarSimbolo(Union, x);
  212.                                i = i + 2;
  213.                            }
  214.                            else if (Cadena[i].ToString() == "/" && Cadena[i + 1].ToString() == "/") // Para los Comentarios de Linea
  215.                            {
  216.                                string Union = "";
  217.                                x = i;
  218.                                for (int j = i; j < Cadena.Length; j++)
  219.                                {
  220.                                    if (Cadena[i].ToString() != "\n")
  221.                                    {
  222.                                        Union = Union + Cadena[j];
  223.                                        i += 1;//Incremento mi Contador
  224.                                    }
  225.                                    else
  226.                                    {
  227.                                        i = j;//Intercambio la Posicion Donde Estuvo el Enter
  228.                                        break;
  229.                                    }
  230.                                }
  231.                                dgvtokens.RowCount = dgvtokens.RowCount + 1;
  232.                                dgvtokens[0, dgvtokens.RowCount - 1].Value = "65";
  233.                                dgvtokens[1, dgvtokens.RowCount - 1].Value = Union.ToString();
  234.                                dgvtokens[2, dgvtokens.RowCount - 1].Value = "COMENTARIO DE LINEA - CL";
  235.                                dgvtokens[3, dgvtokens.RowCount - 1].Value = (x + 1).ToString();
  236.                            }
  237.                            else if (Cadena[i].ToString() == "/" && Cadena[i + 1].ToString() == "*") // Para los Comentarios de Parrafo
  238.                            {
  239.                                x = i;
  240.                                int flag = -1;
  241.                                //Recorro Toda mi Cadena para Ver si se Encuentra * y el /
  242.                                for (int j = i + 2; j < Cadena.Length; j++)
  243.                                {
  244.                                    if (j + 1 != Cadena.Length)
  245.                                    {
  246.                                        if (Cadena[j].ToString() == "*" && Cadena[j + 1].ToString() == "/")
  247.                                        {
  248.                                            flag = j + 1;
  249.                                            break;
  250.                                        }
  251.                                    }
  252.                                }
  253.                                if (flag > -1)
  254.                                {
  255.                                    i = flag + 1;
  256.                                    dgvtokens.RowCount = dgvtokens.RowCount + 1;
  257.                                    dgvtokens[0, dgvtokens.RowCount - 1].Value = "65";
  258.                                    dgvtokens[1, dgvtokens.RowCount - 1].Value = "/* */";
  259.                                    dgvtokens[2, dgvtokens.RowCount - 1].Value = "COMENTARIO DE PARRAFO - CP";
  260.                                    dgvtokens[3, dgvtokens.RowCount - 1].Value = (x + 1).ToString();
  261.                                }
  262.                                else
  263.                                {
  264.                                    AnalizarSimbolo(Cadena[i].ToString(), x);//Analizo el Simbolo Solo
  265.                                    i = i + 1;
  266.                                }
  267.                            }
  268.                            else if (Cadena[i].ToString() == "\"") //Cada Vez que encuentra una Comilla
  269.                            {
  270.                                int flag = -1;
  271.                                string Union = "";
  272.                                x = i;
  273.                                //Recorrer Toda la Cadena Hasta Ubicar el ""
  274.                                for (int j = i + 1; j < Cadena.Length; j++)
  275.                                {
  276.                                    if (Cadena[j].ToString() == "\"")
  277.                                    {
  278.                                        flag = j;
  279.                                        break;
  280.                                    }
  281.                                    else if (Cadena[j].ToString() == "\n")//oh si llego ah fin de linea y no encontro nada
  282.                                    {
  283.                                        flag = -1;
  284.                                        break;
  285.                                    }
  286.                                }
  287.                                if (flag > -1)
  288.                                {
  289.                                    i = flag + 1;//Actualizamos la Nueva Posicion ah Buscar e Incrementado mas uno
  290.                                    //Un Pequeño Recorrido para Concadenar
  291.                                    for (int k = x; k < i; k++)
  292.                                        Union = Union + Cadena[k];
  293.                                    dgvtokens.RowCount = dgvtokens.RowCount + 1;
  294.                                    dgvtokens[0, dgvtokens.RowCount - 1].Value = "62";
  295.                                    dgvtokens[1, dgvtokens.RowCount - 1].Value = Union.ToString();
  296.                                    dgvtokens[2, dgvtokens.RowCount - 1].Value = "CADENA - CA";
  297.                                    dgvtokens[3, dgvtokens.RowCount - 1].Value = (x + 1).ToString();
  298.                                }
  299.                                else
  300.                                {
  301.                                    AnalizarSimbolo(Cadena[i].ToString(), x);//Analizo el Simbolo Solo
  302.                                    i = i + 1;
  303.                                }
  304.                            }
  305.                            else if (Cadena[i].ToString() == "'") //Cada Vez que Encuentre una Comilla Simple
  306.                            {
  307.                                x = i;
  308.                                string Union = Cadena[i].ToString() + Cadena[i + 1].ToString();
  309.                                i = i + 2;
  310.                                if (i <= Cadena.Length - 1)
  311.                                {
  312.                                    if (Cadena[i].ToString() == "'") //Si Cumple la Condicion
  313.                                    {
  314.                                        dgvtokens.RowCount = dgvtokens.RowCount + 1;
  315.                                        dgvtokens[0, dgvtokens.RowCount - 1].Value = "63";
  316.                                        dgvtokens[1, dgvtokens.RowCount - 1].Value = Union.ToString() + Cadena[i].ToString();
  317.                                        dgvtokens[2, dgvtokens.RowCount - 1].Value = "CARACTER - CR";
  318.                                        dgvtokens[3, dgvtokens.RowCount - 1].Value = (x + 1).ToString();
  319.                                        i++;
  320.                                    }
  321.                                    else
  322.                                    {
  323.                                        i = x;
  324.                                        AnalizarSimbolo(Cadena[i].ToString(), x);
  325.                                        i = i + 1;
  326.                                    }
  327.                                }
  328.                                else //Regreso al Principio donde Almaceno mi Puntero
  329.                                {
  330.                                    i = x;
  331.                                    AnalizarSimbolo(Cadena[i].ToString(), x);
  332.                                    i = i + 1;
  333.                                }
  334.                            }
  335.                            else //Si no se Cumple nada de las Condiciones Dada Analizo el Simbolo para Ver si es un Desconocido
  336.                            {
  337.                                AnalizarSimbolo(Cadena[i].ToString(), x);
  338.                                i = i + 1;
  339.                            }
  340.                        }
  341.                        else // Si Solo  Tengo un Simbolo
  342.                        {
  343.                            AnalizarSimbolo(Cadena[i].ToString(), x);
  344.                            i = i + 1;
  345.                        }
  346.                    }
  347.                }
  348.                else //Si solo es una Cadena de Longitud 1
  349.                {
  350.                    x = i;
  351.                    if (AnalizarNumero(Cadena[i]))
  352.                    {
  353.                        Texto = Cadena[i].ToString();
  354.                        dgvtokens.RowCount = dgvtokens.RowCount + 1;
  355.                        dgvtokens[0, dgvtokens.RowCount - 1].Value = "60";
  356.                        dgvtokens[1, dgvtokens.RowCount - 1].Value = Texto.ToString();
  357.                        dgvtokens[2, dgvtokens.RowCount - 1].Value = "NUMERO ENTERO - NE";
  358.                        dgvtokens[3, dgvtokens.RowCount - 1].Value = (x + 1).ToString();                        
  359.                    }
  360.                    else if (AnalizarLetra(Cadena[i]))
  361.                    {
  362.                        Texto = Cadena[i].ToString();
  363.                        PR(Texto); //Llamamos ah un Procedimiento Palabra Reservada -PR para Confirmar si es una PR                          
  364.                    }
  365.                    else
  366.                    {
  367.                        AnalizarSimbolo(Cadena[i].ToString(), x);
  368.                    }
  369.                    Texto = "";
  370.                    i++;
  371.                }
  372.  
  373.            }
  374.            richTextBox2.Text = (Erro) ? "Analisis Lexico INCORRECTO" : "Analisis Lexico CORRECTO";
  375.        }
  376.  
  377.        private void AnalizarSimbolo(string Union, int PosEmpieza)
  378.        {
  379.            int flag = -1;
  380.            int Pos = -1;
  381.            for (int i = 29; i < Simbolo.Length; i++)
  382.            {
  383.                if (Simbolo[i] == Union)
  384.                {
  385.                    flag = 1;
  386.                    Pos = i;
  387.                    break;
  388.                }
  389.            }
  390.            //Verificamos si el Simbolo Pertenece al Lp
  391.            if (flag > -1)
  392.            {
  393.                dgvtokens.RowCount = dgvtokens.RowCount + 1;
  394.                dgvtokens[0, dgvtokens.RowCount - 1].Value = Codigo[Pos];
  395.                dgvtokens[1, dgvtokens.RowCount - 1].Value = Union.ToString();                
  396.                dgvtokens[2, dgvtokens.RowCount - 1].Value = Tokens[Pos];
  397.                dgvtokens[3, dgvtokens.RowCount - 1].Value = (PosEmpieza + 1).ToString();                
  398.            }
  399.            else
  400.            {
  401.                Erro = true;
  402.                dgvtokens.RowCount = dgvtokens.RowCount + 1;
  403.                dgvtokens[0, dgvtokens.RowCount - 1].Value = "64";
  404.                dgvtokens[1, dgvtokens.RowCount - 1].Value = Union.ToString();
  405.                dgvtokens[2, dgvtokens.RowCount - 1].Value = "SIMBOLO DESCONOCIDO - SD";
  406.                dgvtokens[3, dgvtokens.RowCount - 1].Value = (PosEmpieza + 1).ToString();
  407.                dgvErrores.RowCount = dgvErrores.RowCount + 1;
  408.                dgvErrores[0, dgvErrores.RowCount - 1].Value = "1";
  409.                dgvErrores[1, dgvErrores.RowCount - 1].Value = Union.ToString();                
  410.                dgvErrores[2, dgvErrores.RowCount - 1].Value = (PosEmpieza + 1).ToString();
  411.            }
  412.        }
  413.        private void PR(string Texto)
  414.        {
  415.            int flag = -1;
  416.            int Pos = -1;
  417.            for (int i = 0; i < Simbolo.Length; i++)
  418.            {
  419.                if (Simbolo[i] == Texto)
  420.                {
  421.                    flag = 1;
  422.                    Pos = i;
  423.                    break;
  424.                }
  425.            }
  426.            if (flag > -1) // Confirmamos si es una PR
  427.            {
  428.                dgvtokens.RowCount = dgvtokens.RowCount + 1;
  429.                dgvtokens[0, dgvtokens.RowCount - 1].Value = Codigo[Pos];
  430.                dgvtokens[1, dgvtokens.RowCount - 1].Value = Texto.ToString();
  431.                dgvtokens[2, dgvtokens.RowCount - 1].Value = Tokens[Pos];
  432.                dgvtokens[3, dgvtokens.RowCount - 1].Value = (x + 1).ToString();
  433.            }
  434.            else
  435.            {
  436.                dgvtokens.RowCount = dgvtokens.RowCount + 1;
  437.                dgvtokens[0, dgvtokens.RowCount - 1].Value = "59";
  438.                dgvtokens[1, dgvtokens.RowCount - 1].Value = Texto.ToString();
  439.                dgvtokens[2, dgvtokens.RowCount - 1].Value = "VARIABLE O IDENTIFICADOR - ID";
  440.                dgvtokens[3, dgvtokens.RowCount - 1].Value = (x + 1).ToString();
  441.            }
  442.        }              
  443.  
  444.        private bool AnalizarNumero(char p)
  445.        {
  446.            bool Estado;
  447.            switch (p.ToString())
  448.            {
  449.                case "0":
  450.                case "1":
  451.                case "2":
  452.                case "3":
  453.                case "4":
  454.                case "5":
  455.                case "6":
  456.                case "7":
  457.                case "8":
  458.                case "9": Estado = true; break;
  459.                default: Estado = false; break;
  460.            }
  461.            return Estado;
  462.        }
  463.  
  464.        private bool AnalizarLetra(char p)
  465.        {
  466.            return char.IsLetter(p) ? true : false;
  467.        }
  468.    }
  469. }
58  Programación / .NET (C#, VB.NET, ASP) / Re: Donde Puedo Encontra un Soucer en: 9 Noviembre 2010, 04:01 am
Ola a todos taba revisando este tema y vi muy interesante pero lo que quisiera saber un poco mas a profundidad es masomenos de que se trata el tema Dx .
59  Programación / .NET (C#, VB.NET, ASP) / Re: Conectar a un Servidor por Internet en: 9 Noviembre 2010, 03:54 am
Hola de new mira esta interante tu conexion
crymore.sytes.net eso tu lo configurastes en tu Pc y como haria yo por ejemplo para configurar eso en mi servidor para poderme conectar o solo pido Ip ?
creo que con eso se solucionaria la duda que tengo ..?
60  Programación / .NET (C#, VB.NET, ASP) / Re: Conectar a un Servidor por Internet en: 8 Noviembre 2010, 18:43 pm
ya muchas gracias pero lo que quiero saber es como configurar la conexion ..  lo hago con esta cadena de conexion o tengo que usar otra ..
eso es la gran duda que tengo como tu dices eso es para conexiones locales .. pero para conectarme tendra que usar otro codigo o algo ??
porque hasta donde estaba investigando me dijeron que haga conexiones ODBC
es cierto eso ..?
Páginas: 1 2 3 4 5 [6] 7 8 9 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines