Пример #1
0
        private void Tim_Tick(object sender, EventArgs e)
        {
            TimeSpan ts;

            try
            {
                Hora.Text = HoraNY();

                Global++;
                if (Global >= 150)
                {
                    Global = 0;
                    Send(Sc, "$" + (char)25 + "\r", true);
                    BD.BD("SELECT * FROM Noticias ORDER BY fecha ASC");
                    DTN = BD.Tabla("Noticias");
                    //DTN = BD.Tabla("Noticias","SELECT * FROM Noticias ORDER BY ");
                    if (DTN.Rows.Count > 0)
                    {
                        if (TNotP.Text != DTN.Rows[0].ItemArray[1].ToString())
                        {
                            notn     = true;
                            Tm       = false;
                            Um       = false;
                            NT       = false;
                            compvent = false;
                        }
                        TNotP.Text = DTN.Rows[0].ItemArray[1].ToString();
                        HN         = Convert.ToDateTime(DTN.Rows[0].ItemArray[2].ToString());
                        ts         = HN - FechNY2();
                        if (ts.TotalSeconds < 0)
                        {
                            BD.BD("DELETE FROM Noticias WHERE Fecha<'" + string.Format("{0:yyyy/MM/dd HH:mm}", FechNY2()) + "'");
                            System.Threading.Thread.Sleep(200);
                            BD.Open(xml.VConex, true, xml.VTablas);
                            DGNot.DataSource = BD.Tabla("Noticias");
                        }
                    }
                    else
                    {
                        TNotP.Text = "No Hay noticia";
                    }
                }
                if (notn)
                {
                    ts = HN - FechNY2();
                    if (ts.Hours == 0 && ts.Minutes == 3 && ts.Seconds == 0 && !Tm)
                    {
                        B3Min_Click(null, null);
                        Tm = true;
                    }
                    if (ts.Hours == 0 && ts.Minutes == 1 && ts.Seconds == 0 && !Um)
                    {
                        B1Min_Click(null, null);
                        Um = true;
                    }
                    if (ts.Hours == 0 && ts.Minutes == 0 && ts.Seconds == -15 && !NT)
                    {
                        notn = false;
                        NT   = true;
                        if (!compvent)
                        {
                            BNoTrade_Click(null, null);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Funciones.Log(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase), ex.Message + ex.StackTrace.Substring(ex.StackTrace.Length - 11));
            }
        }
Пример #2
0
        public void ReadCallback(IAsyncResult ar)
        {
            String content = String.Empty;
            string Name    = string.Empty;
            string pasw    = string.Empty;

            // Retrieve the state object and the handler socket
            // from the asynchronous state object.
            Usuario     Usu     = (Usuario)ar.AsyncState;
            StateObject state   = Usu.VSc;
            Socket      handler = state.workSocket;

            state.sb.Clear();
            // Read data from the client socket.
            try
            {
                int bytesRead = handler.EndReceive(ar);

                if (bytesRead > 0)
                {
                    // There  might be more data, so store the data received so far.
                    state.sb.Append(Encoding.GetEncoding(437).GetString(
                                        state.buffer, 0, bytesRead));

                    // Check for end-of-file tag. If it is not there, read
                    // more data.
                    content = state.sb.ToString();

                    if (content.IndexOf(/*(char)22 + "$\r"*/ "#\r") > -1)
                    {
                        // All the data has been read from the
                        // client. Display it on the console.
                        switch (Funciones.Login(Clientes, BD, content, ref Name, ref pasw))
                        {
                        case 0:
                        {
                            Send(handler, ("/*0*/#\r"), false);
                        } break;

                        case 1:
                        {
                            Send(handler, ("/*1*/#\r"), false);
                        } break;

                        case 2:
                        {
                            Clientes.Agregar(Name, state);
                            AList(Clientes.VNombres);
                            Send(handler, ("/*2" + version + "*/#\r"), true);
                            InTR(Name + " se ha unido a la charla");
                            InLC((LUsuarios.Items.Count - 1).ToString());
                            if (BDesactiva.Text == "Activa Chat")
                            {
                                Send(handler, ("$" + (char)18 + "\r"), false);
                                Thread.Sleep(50);
                            }
                            if (PlanTrabajo.Length > 5 || DGNot.Rows.Count > 0)
                            {
                                Send(handler, (PlanTrabajo + (char)7 + Noticias() + (char)11 + "&\r"), false);
                            }
                            state.sb.Clear();
                            handler.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0,
                                                 new AsyncCallback(ReadCallback), Clientes.ItemArray(Clientes.Length - 1));
                        } break;

                        case 4:
                        {
                            Send(handler, ("/*4*/#\r"), false);
                        } break;
                        }
                        return;
                    }
                    else
                    {
                        if (content.IndexOf(/*(char)22 + "$\r"*/ "&\r") > -1)
                        {
                            if (BDesactiva.Text == "Desactiva Chat")
                            {
                                InTR(Usu.VNombre + " dice:" + (char)31 + "\n" + content.Substring(0, content.Length - 2));
                                Send(handler, (Usu.VNombre + " dice:" + (char)31 + "\n" + content.Substring(0, content.Length - 2) + "&\r"), true);
                            }
                            else
                            {
                                Send(handler, ("$" + (char)18 + "\r"), false);
                            }
                            handler.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0,
                                                 new AsyncCallback(ReadCallback), Usu);
                        }
                        else
                        {
                            handler.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0,
                                                 new AsyncCallback(ReadCallback), Usu);
                        }
                    }
                }
                else
                {
                    Usu.VSc.workSocket.Shutdown(SocketShutdown.Both);
                    Usu.VSc.workSocket.Disconnect(true);
                    if (Usu.VNombre != "")
                    {
                        InTR("");
                        Clientes.Eliminar(Usu);
                        AList(Clientes.VNombres);
                        Send(handler, (" &\r"), true);
                        Send(handler, ("/*2" + Clientes.VPNombres + "*/#\r"), true);
                        LCantidad.Text = (LUsuarios.Items.Count - 1).ToString();
                    }
                }
            }
            catch (Exception es)
            {
                try
                {
                    Send(handler, ("/*3*/\r"), false);
                }
                catch (Exception ex)
                {
                    Funciones.Log(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase), ex.Message + ex.StackTrace.Substring(ex.StackTrace.Length - 11));
                }
            }
        }
Пример #3
0
        public void Open(bool Ac, ref bool VIP)
        {
            int Cont;

            Access = Ac;
            try
            {
                XmlDocument Archivo = new XmlDocument();                               //Crea un Objeto XmlDocument.
                Archivo.Load("Config.XML");                                            //Lee el archivo.

                XmlNodeList Ruta   = Archivo.GetElementsByTagName("RutaDB");           //Hace una lista de elementos contenidos por la etiqueta RutaDB
                XmlNodeList Listar = ((XmlElement)Ruta[0]).GetElementsByTagName("DB"); //Hace una lista de elementos contenidos por la etiqueta DB en la primera etiqueta RutaDB encontrada.
                foreach (XmlElement Nodo in Listar)                                    //Recorre los elementos en la lista "Listar"
                {
                    if (Access)
                    {
                        Conex  = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=";//Crea la ConexionString
                        Conex += Nodo.GetElementsByTagName("Ruta").Item(0).InnerText + ";Jet OLEDB:Database Password="******"Clave").Item(0).InnerText) + ";";
                    }
                    else
                    {
                        Conex  = "data source =" + Nodo.GetElementsByTagName("Ruta").Item(0).InnerText;//Crea la ConexionString
                        Conex += "; initial catalog =" + Nodo.GetElementsByTagName("Nombre").Item(0).InnerText + "; user id =";
                        Conex += Nodo.GetElementsByTagName("Usuario").Item(0).InnerText + "; password ="******"Clave").Item(0).InnerText);
                    }
                }

                XmlNodeList UR = Archivo.GetElementsByTagName("URL");                          //Hace una lista de elementos contenidos por la etiqueta URL
                URL   = ((XmlElement)UR[0]).GetElementsByTagName("web").Item(0).InnerText;     //Hace una lista de elementos contenidos por la etiqueta Tabla en la primera etiqueta RutaDB encontrada.
                Ports = ((XmlElement)UR[0]).GetElementsByTagName("PORTSER").Item(0).InnerText; //Hace una lista de elementos contenidos por la etiqueta Tabla en la primera etiqueta RutaDB encontrada.

                XmlNodeList Tablas    = Archivo.GetElementsByTagName("Tablas");                //Hace una lista de elementos contenidos por la etiqueta Tablas
                XmlNodeList LisTablas = ((XmlElement)Tablas[0]).GetElementsByTagName("Tabla"); //Hace una lista de elementos contenidos por la etiqueta Tabla en la primera etiqueta RutaDB encontrada.
                TablasDB = new string[LisTablas.Count];
                Cont     = 0;
                foreach (XmlElement Nodo in LisTablas)//Recorre los elementos en la lista "Listar"
                {
                    TablasDB[Cont] = Nodo.GetElementsByTagName("Nombre").Item(0).InnerText;
                    Cont++;
                }

                XmlNodeList VI = Archivo.GetElementsByTagName("Servicios");                                 //Hace una lista de elementos contenidos por la etiqueta URL
                VIP = Convert.ToBoolean(((XmlElement)VI[0]).GetElementsByTagName("VIP").Item(0).InnerText); //Hace una lista de elementos contenidos por la etiqueta Tabla en la primera etiqueta RutaDB encontrada.

                XmlNodeList Ho = Archivo.GetElementsByTagName("Mail");                                      //Hace una lista de elementos contenidos por la etiqueta URL
                Host = ((XmlElement)Ho[0]).GetElementsByTagName("Host").Item(0).InnerText;                  //Hace una lista de elementos contenidos por la etiqueta Tabla en la primera etiqueta RutaDB encontrada.

                Port = ((XmlElement)Ho[0]).GetElementsByTagName("Port").Item(0).InnerText;                  //Hace una lista de elementos contenidos por la etiqueta Tabla en la primera etiqueta RutaDB encontrada.

                email = ((XmlElement)Ho[0]).GetElementsByTagName("Email").Item(0).InnerText;                //Hace una lista de elementos contenidos por la etiqueta Tabla en la primera etiqueta RutaDB encontrada.

                clave = ((XmlElement)Ho[0]).GetElementsByTagName("Clave").Item(0).InnerText;                //Hace una lista de elementos contenidos por la etiqueta Tabla en la primera etiqueta RutaDB encontrada.
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show("No se pudo cargar el archivo de configuración");
                Funciones.Log(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase), ex.Message + ex.StackTrace.Substring(ex.StackTrace.Length - 11));
            }
        }