Migração para Delphi 2005
Migrando de Delphi 7 para .NET
A plataforma .NET está, pouco a pouco, se consolidando e, queiramos ou não, teremos que desenvolver nessa plataforma num futuro próximo. Novas APIs, nova maneira de programar, tudo isso requer muito aprendizado e treinamento. No entanto, não quer dizer que tenhamos que jogar fora o que fizemos anteriormente, para que possa ser usado nos novos sistemas operacionais que vem por aí. A Borland fez um trabalho excelente para que seus desenvolvedores possam migrar de uma plataforma a outra com o mínimo de desgaste.
Com o Delphi 2005, isso fica mais claro ainda: numa única IDE podemos desenvolver em Delphi para Win32, nosso companheiro de tantos anos, como em Delphi para .NET, nosso futuro companheiro. Caso queiramos procurar novos horizontes, podemos também programar em C# na mesma IDE.
O objetivo deste artigo é mostrar o caminho de migração de um programa Win32 para .NET, usando as tecnologias disponíveis para os desenvolvedores Delphi. Iremos realizar a migração de um projeto que pesquisa arquivos e permite excluir os arquivos selecionados.
Projeto inicial
O ponto de partida é um projeto para pesquisa de arquivos, elaborado em Delphi 7 (Figura 1). O usuário insere o diretório inicial, a máscara de arquivos na caixa de edição e clica no botão Procura. É iniciada a pesquisa de arquivos que satisfazem ao critério desejado. Os arquivos são mostrados no ListView. O botão Sel.Todos permite selecionar todos os arquivos encontrados, e o botão Exclui, deleta os arquivos selecionados. Você pode encontrar o projeto completo no endereço para download deste artigo.
Figura 1. Projeto inicial em Win32
O projeto está dividido em duas units: a primeira contém a interface visual e a segunda, uma classe para pesquisa de arquivos nos diretórios, que pode ser visualizada na Listagem 1.
Listagem 1. Classe para procurar arquivos
TProcuraArquivos = class
private
FMascaraArq: string;
FDirInicial: string;
FOnArquivoEncontrado: TArquivoEvent;
FOnNovoDiretorio: TDiretorioEvent;
FOnInicioProcessamento: TNotifyEvent;
FOnFinalProcessamento: TNotifyEvent;
procedure SetDirInicial(const Value: string);
procedure SetMascaraArq(const Value: string);
procedure SetOnArquivoEncontrado(
const Value: TArquivoEvent);
procedure SetOnFinalProcessamento(
const Value: TNotifyEvent);
procedure SetOnInicioProcessamento(
const Value: TNotifyEvent);
procedure SetOnNovoDiretorio(
const Value: TDiretorioEvent);
procedure ProcuranoDiretorio(NomeArq: string);
protected
public
procedure ProcuraArquivos;
published
property MascaraArq: string read FMascaraArq
" [...] continue lendo...