コード例 #1
0
        private void Arquivo_Exited(object sender, System.EventArgs e)
        {
            csArquivoAberto RemoverArquivoAberto = null;

            foreach (csArquivoAberto ArquivoAberto in ProcessosAbertos)
            {
                if (ArquivoAberto.Processo.Equals(sender))
                {
                    bool AindaEstaNaLista = false;
                    RemoverArquivoAberto = ArquivoAberto;
                    foreach (csItemArquivo ItemArquivo in _ItemListaArquivos.ItensArquivo)
                    {
                        if (ItemArquivo.Equals(ArquivoAberto.ItemArquivo))
                        {
                            AindaEstaNaLista = true;
                        }
                    }
                    if (AindaEstaNaLista)
                    {
                        DateTime DataHoraAlteracao = File.GetLastWriteTime(ArquivoAberto.NomeArquivo);
                        if (DataHoraAlteracao != ArquivoAberto.DataHora)
                        {
                            DialogResult Resp;
                            Resp = MessageBox.Show("O Arquivo " + csUtil.ParteNomeArquivo(ArquivoAberto.NomeArquivo, csUtil.enuParteNomeArquivo.NomeExtencao) + " foi alterado. Deseja salvar a alteração no Check List?\n", "Atualizar arquivo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                            if (Resp == DialogResult.Yes)
                            {
                                ArquivoAberto.ItemArquivo.CarregarArquivo(ArquivoAberto.NomeArquivo);
                                this.Atualizar();
                                this.OnAlterouAlgo(new EventArgs());
                            }
                        }
                    }
                }
            }

            if (RemoverArquivoAberto != null)
            {
                ProcessosAbertos.Remove(RemoverArquivoAberto);
                GC.Collect();
            }

            //try
            //{
            //    File.Delete(RemoverArquivoAberto.NomeArquivo);
            //}
            //catch (Exception)
            //{

            //}
        }
コード例 #2
0
        /// <summary>
        /// Salva todos os arquivos da lista em uma pasta especificada.
        /// </summary>
        /// <returns>Retorna a quantidade de arquivos salvos.</returns>
        public virtual int SalvarTodosArquivos(string p_Caminho)
        {
            int QuantArquivosSalvos = 0;

            if (_ItensArquivo.Count == 0)
            {
                MessageBox.Show("Não existem arquivos na lista para salvar!", "Salvar Todos Arquivo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return(QuantArquivosSalvos);
            }

            if (File.Exists(p_Caminho))
            {
                MessageBox.Show("Informe um caminho e não um arquivo!", "Salvar Todos Arquivo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return(QuantArquivosSalvos);
            }

            if (!Directory.Exists(p_Caminho))
            {
                MessageBox.Show("O caminho informado não existe!", "Salvar Todos Arquivo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return(QuantArquivosSalvos);
            }

            if (p_Caminho[p_Caminho.Length - 1].ToString() != "\\")
            {
                p_Caminho = p_Caminho + "\\";
            }

            // Varrendo a lista
            foreach (csItemArquivo ItemArquivo in _ItensArquivo)
            {
                if (ItemArquivo.TamanhoArquivo > 0)
                {
                    ItemArquivo.SalvarArquivo(p_Caminho + ItemArquivo.NomeArquivo);
                    QuantArquivosSalvos++;
                }
            }

            return(QuantArquivosSalvos);
        }