//private System.Windows.Forms.ToolTip[] toolTip;

        private void entrarGuiches(Pessoas pessoa, GuichesSetup guiche)
        {
            guiche.vazio        = false;
            guiche.pessoaDentro = pessoa;
        }
Exemple #2
0
        void lerFila(Queue <Pessoas> fila, int turno, ref string linha, System.IO.StreamReader arquivo, ref Boolean continuar)
        {
            string dadoString = "";

            int    i       = 1;
            int    usuario = -1;
            int    chegada = -1;
            string guichesPessoa;

            char[] percorredor = linha.ToCharArray();

            while (true)
            {
                Pessoas pessoa = new Pessoas();

                if (percorredor[i] == 'C')  //se o percorredor for C, então o dado anterior é da variável usuario, e assim seta usuario, limpa dadoString e continua
                {
                    if (!Int32.TryParse(dadoString, out usuario))
                    {
                        MessageBox.Show("Deu ruim na hora de converter pra int");
                    }
                    dadoString = "";
                    i++;
                }

                else if (percorredor[i] == 'A')
                { //se o percorredor for A, então o dado anterior é da variável chegada, e assim seta chegada, limpa dadoString e continua
                    if (!Int32.TryParse(dadoString, out chegada))
                    {
                        MessageBox.Show("Deu ruim na hora de converter pra int");
                    }
                    dadoString = "";

                    if (chegada != turno)   //verifica se a pessoa que está sendo lida é do turno atual, se sim, continua o processo, se não, retorna
                    {
                        i         = 1;
                        continuar = true;
                        return;
                    }

                    while (percorredor[i] != ';')   //lê os guiches da pessoa até ;(final da linha)
                    {
                        dadoString += percorredor[i];
                        i++;
                    }

                    guichesPessoa = dadoString;
                    pessoa.setPessoa(usuario, chegada, guichesPessoa); //seta a pessoa de acordo com a informação obtida

                    fila.Enqueue(pessoa);                              //joga a pessoa na fila do guiche A

                    if ((linha = arquivo.ReadLine()) == null)          //quando acabar o txt de filas continuar vai ser false e logo o 1º looping principal acabará
                    {
                        continuar = false;
                        return;
                    }
                    dadoString = "";
                    linha     += ';';
                    i          = 1;

                    percorredor = linha.ToCharArray();  //transformando o percorredor em nova linha
                }

                dadoString += percorredor[i];   //caso o percorredor não esteja nem em C nem em A, então o percorredor está em algum dado
                i++;
            }
        }