Este errinho e chato, se alguem souber resolver me avisa. Esse aqui duvido!!!Revogar um destino??? Opa, estou de volta ae para um artigo usando Web Parts. Bom, para quem usa iGoogle e a tecnologia Drag and Drop (arrasta daqui e solta ali), bem util para simplificar o visual, tambem e possivel minimizar e fechar uma caixinha. Neste artigo estarei mostrando simplesmente como comecar uma aplicacao com Web Parts, interacao com o banco de dados somente em um artigo futuro. Primeiramente deve-se adicionar o componente WebPartManager que e o componente que gerencia o sistema.Em seguida vamos adicionar uma tabela com duas linhas e duas colunas na qual irao ficar os componentes WebPartZone, e dentro destas zonas que ficara tudo que voce quer "mover", aqui iremos simplesmente adicionar componentes aleatoriamente, mas o que se costuma fazer e se adicionar uma User Control onde fica todas as funcoes desejadas e componentes mais organizadamente. Apos adicionar uma WebPartZone em cada celula da tabela vamos adicionar algo dentro de cada uma, simplesmente algo como TextBox, Button, Label, o que voce desejar so para ver o componente em acao. No final das contas devera ficar mais ou menos como na imagem abaixo. Bom, eu fiz assim Botoes, TextBox e Label. Se fosse compilar agora sem problemas mas nao iria acontecer nada sobre arrastar e largar em outro lugar. Para isto basta adicionar uma unica linha de codigo no evento Page_Load.WebPartManager1.DisplayMode = WebPartManager.DesignDisplayMode;Este codigo esta em C# o que nao muda quase nada para pascal, so se adiciona 2 pontos antes do igual ':='. Agora se voce compilar voce vera que e possivel arrastar e largar o conteudo das WebPartZone, mas somente e possivel largar dentro das outras WebPartZone. Entao esta logo abaixo uma imagem dele em funcionamento.No proximo artigo estarei mostrando como administrar cada uma das "caixinhas" para que se estas forem fechadas seja possivel se abrir as mesmas novamente.Abracao e ate. Opa.... Hoje um post de como se utiliza o AutoComplete, este recurso e usado agora pelo google para mostrar perguntas frequentes. E nada mais nada menos que mostrar os possiveis complementos para uma palavra que esteja sendo digitada em um textbox.Para comeco adicione os componentes ajax basicos (UpdatePanel e ScriptManager) e em seguida um textbox e o componente AutoCompleteExtender, feito isso va para o aspx para adicionar uma coisa no componente AutoCompleteExtender, e:servicemethod="AutoCompleta"Entre aspas duplas e a funcao que estara no .pas portanto vamos la declara-la.[WebMethod] class function AutoCompleta(prefixText: string; count: Integer): TStringArray; static;...isso mesmo tem sim um [WebMethod] ali junto na declaracao dela, e se tentar compilar vai dar erro, entao adicione System.Web.Services nas suas uses. Outra coisa necessaria a se fazer e logo depois do Type fazer esta declaracao:TStringArray = array of string;Pois o delphi nao aceita funcoes que retornem array of string, entao se da uma enrolada nele. Agora vamos para o codigo da nossa funcao. PESSOA := TuClassPessoa.create; SetLength(Result, Count); for I := 1 to count do begin Result[I - 1] := PESSOA.AutoComplete(prefixText,I); end;Bom, aqui foi o basico, tenho uma classe que retorna uma string com uma sql que faz o filtro