On The Rocks

October 5, 2006

Convert File Format

Filed under: Software


 

is a fairly impressive web service that will convert a file from one file format to another. That sounds pretty benign, but what’s impressive is how many formats it supports. There’s a good chance Media-Convert supports almost every document on you computer, including dozens of audio and video formats, a ton of common and obscure image formats, documents from Microsoft Office, OpenOffice.org, and others, compressed archives, and more. One particularly neat trick it can do is convert PDF documents to Adobe Flash (SWF) movies. It can also capture web pages as images, convert Microsoft Access databases to Excel spreadsheets, and, in case you’re into this sort of thing, convert text documents to morse code. Of course, it’s not lightning-fast. You have to upload your file or enter the URL of a file and then wait awhile while it’s converted, but far as convenience and price (free!) goes it can scarcely be beat.
 

http://media-convert.com/convert/index.php

Como criar um RSS em C#

Filed under: Programming

Para criar um Really Simple Syndication (RSS), é necessário em primeiro lugar escolher um tópico para os conteúdos que vamos publicar e a fonte desses conteúdos, como exemplo, um RSS com as ultimas notícias de trânsito, devemos procurar um site com as informações de trânsito mais actualizadas.

Eu para criar um RSS em C# utilizei uma class library chamada RSS.NET que é open-source e tem tudo o que precisamos para criar um RSS.

Primeiro criamos um novo projecto web e na pagina principal, e colocamos os seguinte código no evento OnLoad da pagina:

WebClient wc = new WebClient(); Stream s =  wc.OpenRead("http://www.brisa.pt/Brisa/vPT/Viajar+na+Rede/Transito+Online/?tipo=regiao&idregiao=1"); StreamReader reader = new StreamReader (s);
string str = reader.ReadToEnd ();

Isto serve para retirar o HTML que irá servir de fonte ao nosso RSS. Em seguida criamos uma Regular Expression que irá  ler os conteúdos do HTML lido do site:

//Criamos o Canal que alimenta o RSS

RssChannel channel = new RssChannel();

//Criamos uma Regular Expression que irá conter os atributos do nosso RSS

Regex RegexObj = new Regex("<img\\ssrc=’(?<IMGSRC>/PresentationLayer/Resources/Design/vPT/(?<FILE>.*?)\\.gif)’

\\salign=\"left\">\\s*\\t*\\r*\\n*\\r*\\n*<a\\s*[^>]*AEPKSentido\\((?<AE>\\d*),(?<KMINICI

O>\\d*),(?<KMFIM>\\d*),(?<SENTIDO>\\d*)\\)\\s*[^>]*>\\s*\\t*\\r*\\n*\\r*\\n*(?<DESC>

[^<].*?)\\s*\\t*\\r*\\n*\\r*\\n*</a>");

 foreach (Match m in RegexObj.Matches(str))
{
RssItem item = new RssItem();

//Criamos um Item e adicionamos os conteudos definidos na regular expression

item.Title = string.Format("Auto Estrada A{0}",m.Groups["AE"].Value);
item.Description = string.Format("<img src=’{0}’> {1}", m.Groups["IMGSRC"].Value, m.Groups["DESC"].Value);
item.Link = new Uri(string.Format("http://www.brisa.pt/BRISA/vPT/Viajar+na+Rede/Transito+Online/?tipo=estrada&idae={0}", m.Groups["AE"].Value)); item.PubDate = DateTime.Now.ToUniversalTime();

//Adicionamos o item ao canal

 channel.Items.Add(item);

}

channel.Title = "Transito";
channel.Link = new Uri("http://www.brisa.pt/Brisa/vPT/Viajar+na+Rede/Transito+Online/?tipo=regiao&idregiao=1");

channel.Description = "Transito Feed";

RssFeed feed = new RssFeed();

// Por fim assignamos o canal ao alimentador do RSS.

feed.Channels.Add(channel);

// E escrevemos todo o conteúdo do feed para a página.

 

Response.ContentType = "text/xml";
feed.Write(Response.OutputStream);
Response.End();

Por fim, num software que leia RSS criem uma nova subscrição para o website criado na vossa máquina.

 

Utilizar Regular Expressions

Filed under: Programming

Uma Regular Expression (Expressão Regular) é uma string que descreve ou agrupa um conjunto de strings, de acordo com regras de sintaxe, tem como finalidade encontrar num texto (conjunto de strings) uma string ou as strings iguais que  foram definidas na regular expression.

Como exemplo, podemos querer encontrar num ficheiro de HTML todos os valores de determinados elementos (Tags), para isso deveremos criar uma regular expression com o que queremos encontrar:

<elemento id="idelemento" >valor</elemento>

Esta é a sintaxe base dos elementos de HTML, mas como todos sabemos que pode existir variações. Por isso deveremos ter atenção hás combinações possíveis na construção de elementos de HTML. Para isso utilizamos a seguinte regular expression:

<TAG\b[^>]*>(?<VALOR>.*?)</TAG> 

Esta regular expression significa querenos encontrar tudo que comece por <TAG e de seguida contenha palavras \b até encontrar o caracter ">" [^>], tudo o que estiver entre <TAG\b[^>]*> e </TAG> deverá ser guardado num grupo chamado VALOR .

Esta regular expression pode ser utilizada em código  para efectuar pesquisas, como no seguinte exemplo em C#:

 

string ResultString = null;
try
{
    Regex RegexObj = new Regex("<TAG\\b[^>]*>(?<VALOR>.*?)</TAG>");
    ResultString = RegexObj.Match(<Texto a Pesquisar>).Groups["VALOR"].Value;
} catch (ArgumentException ex) {
    // Syntax error in the regular expression
}

 

Como consulta de Referencia:

http://www.regular-expressions.info

Get free blog up and running in minutes with Blogsome
Theme designed by Jay of onefinejay.com