//private System.Windows.Forms.ToolTip[] toolTip; private void entrarGuiches(Pessoas pessoa, GuichesSetup guiche) { guiche.vazio = false; guiche.pessoaDentro = pessoa; }
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++; } }