Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Ajuda - Aplicação para adicionar texto a ficheiro existente
09-02-2010, 10:31 (Esta mensagem foi modificada pela última vez a: 09-02-2010 10:33 por aucrun.)
Mensagem: #10
RE: Ajuda - Aplicação para adicionar texto a ficheiro existente
Então cá vamos ...
Finalmente tive um tempinho para te fazer a Classe.
Repara, antes do mais que se trata duma Classe, mas no entanto, podes sempre usar as funções que te envio noutras Classes ou Forms.

A parte inicial, corresponde apenas às Propriedades da Classe, onde tens identificadas as variáveis que vão entrar no seu funcionamento.

Para chamares a classe terás de a inicializar com os parâmetros que são essenciais, ou seja algo do género:
List<string> listaTestes = new List<string>();
listaTestes.Add("Item 1");
listaTestes.Add("Item 2");
listaTestes.Add("Item 3");
CPlayList lista = new CPlayList("C:\\Temp", "fileTeste.log", listaTestes);


Quanto à classe propriamente dita, é simples, e apenas faz o seguinte:
- Aceita os parâmetros acima instanciados;
- Verifica se todos estão preenchidos
- Verifica se já existe algum ficheiro com o mesmo nome na mesma directoria (e neste caso apaga-o, embora possas fazer o que bem entenderes)
- Cria o ficheiro, começando pelas 2 linhas iniciais constantes, colocando o conteúdo da Lista Variável, e terminando com as 2 ultimas linhas constantes.

class CPlayList
{
string path = "";
string fileName = "";
List<string> entriesList = null;
const string firstRow = "<ASX version='3.0'>";
const string secondRow = "<REPEAT>";
const string iniText = "<ENTRY><REF href=";
const string endText = "/></ENTRY>";
const string almostLastRow = "</REPEAT>";
const string lastRow = "</ASX>";
public string msgErro = "";
public CPlayList(string caminho, string ficheiroComExtensao, List<string> listaEntradas)
{

path = caminho;
fileName = ficheiroComExtensao;
entriesList = listaEntradas;
CriaPlayList();
}
public bool CriaPlayList()
{
msgErro = "";
try
{
if((path=="") || (fileName=="") || (entriesList==null) || (entriesList.Count==0))
{
msgErro="Há valores que não se encontram preenchidos";
return false;
}
//ELIMINAR O FICHEIRO CASO EXISTA
if (!EliminaPreviousFile(out msgErro))
{
msgErro += " - ERRO: Ocorreu um erro ao eliminar o ficheiro";
return false;
}

//IDENTIFICAR O FICHEIRO (COM CAMINHO COMPLETO) PARA CRIAR COM A PLAYLIST.
string ficheiro = path + "\\" + fileName;
//ADICIONAR AS DUAS PRIMEIRAS LINHAS QUE SÃO CONSTANTES
File.AppendAllText(ficheiro, firstRow);
File.AppendAllText(ficheiro, System.Environment.NewLine + secondRow);
//INSERIR A LISTA
foreach (string itemLista in entriesList)
{
string inputText = System.Environment.NewLine + iniText + itemLista + endText;
File.AppendAllText(ficheiro, inputText);
}
//ADICIONAR AS DUAS ULTIMAS LINHAS QUE SÃO CONSTANTES
File.AppendAllText(ficheiro, System.Environment.NewLine + almostLastRow);
File.AppendAllText(ficheiro, System.Environment.NewLine + lastRow);
return true;
}
catch (Exception ex)
{
msgErro = ex.Message;
return false;
}
}
private bool EliminaPreviousFile(out string msgErro)
{
msgErro = "";
try
{
if (File.Exists(path + "\\" + fileName))
File.Delete(path + "\\" + fileName);
return true;
}
catch (Exception ex)
{
msgErro = ex.Message;
return false;
}
}
}

A negrito estão os títulos das Funções, e com "//" estão alguns comentários meus.

Espero que te ajude, e qualquer duvida, já sabes ...
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Mensagem neste Tópico
RE: Ajuda - Aplicação para adicionar texto a ficheiro existente - aucrun - 09-02-2010 10:31

Saltar Fórum:


Utilizadores a ver este tópico: 3 Visitante(s)