<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7295252684585218438</id><updated>2011-09-14T09:10:23.088-07:00</updated><category term='Redes'/><category term='Turbo Delphi'/><category term='Microsoft'/><category term='Navegadores'/><category term='SQL Server'/><category term='hb++'/><category term='Por dentro'/><category term='Segurança'/><category term='XML'/><category term='Palm'/><category term='Livros'/><category term='Windows'/><category term='Firewall'/><category term='Java'/><category term='Ajax'/><category term='Web'/><category term='C#'/><category term='PHP'/><category term='Access'/><category term='Utilidade Publica'/><category term='Rave'/><category term='Ruby'/><category term='Handheld Basic'/><category term='Linux'/><category term='Delphi'/><category term='Tecnologia'/><category term='Componentes'/><category term='NHibernate'/><category term='Eventos'/><category term='.net'/><category term='Mono'/><category term='Internet Explorer'/><category term='Firebird'/><category term='Windows Server 2003'/><title type='text'>blogdoAudrey</title><subtitle type='html'>Informática, Programação, Redes, Internet</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>78</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-3292870334697243721</id><published>2010-04-26T17:09:00.000-07:00</published><updated>2010-04-30T16:29:56.689-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>ZeosLib 7 para Delphi 2010</title><content type='html'>1 - Faça o download do arquivo &lt;a href="http://zeos.firmos.at/portal.php"&gt;(link para download)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2 - Crie uma pasta chamada Zeos7 dentro da pasta Lib do RAD Studio. Por exemplo, meu RAD Studio esta em C:\Program Files\CodeGear\RAD Studio\6.0\lib, então meu diretório base será: C:\Program Files\CodeGear\RAD Studio\7.0\lib\zeos7 &lt;br /&gt;&lt;br /&gt;3 - Descompacte os arquivos dentro do diretório recem criado no ítem 2. &lt;br /&gt;&lt;br /&gt;4 - Com o Delphi 2010 aberto, vá em File -Open Project (Ctrl+F11) e abra o arquivo ZeosDbo, dentro de C:\Program Files\CodeGear\RAD Studio\7.0\lib\zeos7\packages\delphi14 &lt;br /&gt;&lt;br /&gt;5 - Vá ao menu Project - Build All Projects &lt;br /&gt;&lt;br /&gt;6 - Antes de continuar, se você estiver usando o Windows Vista ou Windows 7 com o UAC habilitado, você terá que dar permissão TOTAL para a pasta Zeos7 criada, caso contrário não irá funcionar. Se o Delphi 2010 foi instalado em diretório criado por você, por exemplo C:\MeusProgramas, então não terá problemas com permissão.&lt;br /&gt;&lt;br /&gt;7 - Agora, antes da instalação vá ao menu Tools - Options - Evironment Options - Delphi Options - Library - Win 32 e adicione o caminho a seguir no Library Path: $(BDS)\lib\Zeos7\packages\delphi14\build &lt;br /&gt;&lt;br /&gt;8 - Feito isto, minimize o Delphi, abra o diretório C:\Program Files\CodeGear\RAD Studio\7.0\lib\zeos7\packages\delphi14\build, selecione todos os arquivos ".bpl" copie-os e cole-o dentro da pasta Bpl do RAD Studio: C:\Program Files\CodeGear\RAD Studio\7.0\bin &lt;br /&gt;&lt;br /&gt;9 - Volte ao Delphi vá ao menu View - Project Manager (Ctrl + Atl + F11). Selecione e compile as bpls abaixo, uma a uma. Para compilar, clique com o botão direto sobre o bpl. É a primeira opção.&lt;br /&gt;&lt;br /&gt;- ZCore140.Bpl&lt;br /&gt;- ZPlain140.Bpl&lt;br /&gt;- ZParseSql140.Bpl&lt;br /&gt;- ZDbc140.Blq&lt;br /&gt;- ZComponent140.Bpl&lt;br /&gt;- ZComponentDesign140.Bpl&lt;br /&gt;&lt;br /&gt;10 - Depois de compiladas, clique com o botão direito sobre o pacote ZComponentDesign140.Bpl (o único em negrito) e clique em Install. &lt;br /&gt;&lt;br /&gt;11 - Pronto, feche tudo (File - Close All). Crie um novo projeto e veja que os componentes já podem ser utilizados.&lt;br /&gt;&lt;br /&gt;Fonte: &lt;a href="http://gedeveloper.blogspot.com/2010/01/instalar-zeoslib-no-delphi-2009-e.html"&gt;www.gedeveloper.blogspot.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-3292870334697243721?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/3292870334697243721/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=3292870334697243721' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/3292870334697243721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/3292870334697243721'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2010/04/zeoslib-7.html' title='ZeosLib 7 para Delphi 2010'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-4551088327526679159</id><published>2008-12-18T04:47:00.000-08:00</published><updated>2008-12-18T04:57:45.512-08:00</updated><title type='text'>Instalar ZeosDbo no Delphi2009</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_zJlWXYQ890o/SUpItAmv9JI/AAAAAAAAAWc/D9yLk5ugBX8/s1600-h/zeosdbo.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 350px; height: 31px;" src="http://4.bp.blogspot.com/_zJlWXYQ890o/SUpItAmv9JI/AAAAAAAAAWc/D9yLk5ugBX8/s400/zeosdbo.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5281113451139167378" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Devido há um problema no Delphi2009 com Unicode, o suporte para D2009 estará disponível no ZeosLib 7, que já está em andamento . . . aguardemos . . . então&lt;br /&gt;&lt;br /&gt;Maiores detalhes em&lt;br /&gt;&lt;a href="http://zeos.firmos.at/viewtopic.php?t=2001"&gt;ZeosLib&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-4551088327526679159?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/4551088327526679159/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=4551088327526679159' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4551088327526679159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4551088327526679159'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/12/instalar-zeosdbo-no-delphi2009.html' title='Instalar ZeosDbo no Delphi2009'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_zJlWXYQ890o/SUpItAmv9JI/AAAAAAAAAWc/D9yLk5ugBX8/s72-c/zeosdbo.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-4091615915771788325</id><published>2008-12-15T00:00:00.000-08:00</published><updated>2008-12-16T04:30:18.152-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Virtualização no Windows (free)</title><content type='html'>O software Virtual PC (free) da Microsoft permite rodar, a partir de uma versão do Windows, máquinas virtuais contendo Sistemas Operacionais diferentes (Linux, Windows, MacOS . . .)&lt;br /&gt;&lt;br /&gt;Virtual PC pode ser instalado nos seguintes Sistemas Operacionais:&lt;br /&gt;Windows Server 2003&lt;br /&gt;Windows Vista Business&lt;br /&gt;Windows Vista Enterprise&lt;br /&gt;Windows Vista Ultimate&lt;br /&gt;Windows XP Professional Edition&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Depois de instalado . . .&lt;/strong&gt;&lt;br&gt;Clique em Next para iniciar o menu e novamente em Next para criar uma máquina virtual. O programa pede, então, que você confirme a quantidade de memória e espaço em disco que serão dedicados à máquina virtual.&lt;br /&gt;&lt;br /&gt;Se você possui 2 gigabytes ou mais de memória no seu PC, forneça 512 MB para a máquina virtual com XP. E a menos que você pretenda instalar muitos aplicativos, o tamanho padrão de uso do disco rígido está de bom tamanho.&lt;br /&gt;&lt;br /&gt;Clique em Next e depois em Finish, e sua máquina virtual irá aparecer no painel do Virtual PC.&lt;br /&gt;&lt;br /&gt;Insira o CD de instalação do XP (ou outro sistema que deseja utilizar) e então dê um duplo clique com o mouse sobre o ícone do painel do Virtual PC para começar. &lt;br /&gt;&lt;br /&gt;Selecione o drive no menu, escolha a opção Action e então clique Ctrl+Alt+Del para dar boot na máquina a partir do CD. Após isso, o processo de instalação deve se seguir como o de um computador comum.&lt;br /&gt;&lt;br /&gt;Para executar sua máquina XP, selecione-a no painel do Virtual PC e clique em Start. Para encerrar, clique em Close, selecione Save State na lista de opções, e clique OK.&lt;br /&gt;&lt;br /&gt;Clicando uma vez dentro da janela do sistema operacional virtual, permitirá que capture o ponteiro do mouse.&lt;br /&gt;&lt;br /&gt;No menu do Virtual PC, clique em Action, Install or Update Virtual Machine Additions para instalar diversas ferramentas que permitirão que você copie e cole textos entre a máquina virtual e o PC hospedeiro.Também é possível enviar documentos de um para o outro através de uma pasta compartilhada no sistema principal. &lt;br /&gt;&lt;br /&gt;Para fazer o ponteiro do mouse voltar a trabalhar para o SO original, pressione ALT e arraste o cursor para fora da janela do Virtual PC.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;A figura abaixo mostra o Windows Vista rodando o Windows XP&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/R9vYdFmnDFI/AAAAAAAAANk/_PdauwPpMB8/s1600-h/virtualizacao.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/R9vYdFmnDFI/AAAAAAAAANk/_PdauwPpMB8/s400/virtualizacao.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5177970190824442962" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/windows/products/winfamily/virtualpc/default.mspx"&gt;download Virtual PC&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-4091615915771788325?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/4091615915771788325/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=4091615915771788325' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4091615915771788325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4091615915771788325'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/03/virtualizao-no-windows-free.html' title='Virtualização no Windows (free)'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zJlWXYQ890o/R9vYdFmnDFI/AAAAAAAAANk/_PdauwPpMB8/s72-c/virtualizacao.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-4343625893371455858</id><published>2008-09-24T00:00:00.000-07:00</published><updated>2008-09-25T15:11:20.105-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Turbo Delphi'/><title type='text'>Turbo Delphi Explorer - Instalar Componentes de Terceiros</title><content type='html'>A IDE do Turbo Delphi Explorer é uma versão free, com a limitação de não permitir a instalação de componentes de terceiros, além de  não possuir um componente para gerar relatórios.&lt;br /&gt;&lt;br /&gt;Então como gerar relatórios com a ferramenta Turbo Delphi Explorer na versão free se esta não permite instalação de componentes de terceiros ? Como acessar uma Base de Dados através do ZeosDBO ?&lt;br /&gt;Respondo, vamos fazer em tempo de execução. Irei partir do pressuposto que se tenho um componente com os códigos fontes e fazendo uso dos mesmos em tempo de execução , não haverá problemas com a licença do Turbo Delphi Explorer. Será ???&lt;br /&gt;&lt;br /&gt;Vou utilizar dois componentes de terceiros COM código fonte:&lt;br /&gt;ZeosDBO versão 6.6.2 (compatível com Delphi 7) – para acessar dados no Firebird&lt;br /&gt;FreeReport versão 2.32 (compatível com Delphi 7) – para gerar nosso relatório&lt;br /&gt;&lt;br /&gt;Vou partir do presuposto que você já tem instalado o Turbo Delphi Explorer. Então vamos lá.&lt;br /&gt;Com o Turbo Delphi Explorer aberto vá em Tools &gt;&gt; Options&lt;br /&gt;A janela “Options” vai aparecer, faça o seguinte:&lt;br /&gt;No lado esquerdo da janela de um duplo click na propriedade Environment Options, depois um duplo click em Delphi Options, selecione a propriedade Library – Win32, agora do lado direito em Library path click no botão ... para adicionar os paths dos nossos componentes, veja figura abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_zJlWXYQ890o/SNwHEPxEZuI/AAAAAAAAAQQ/2uR1DRvSw5Y/s1600-h/delphi_explorer.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/SNwHEPxEZuI/AAAAAAAAAQQ/2uR1DRvSw5Y/s400/delphi_explorer.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5250079035140368098" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Muito bem, com os paths adicionados agora podemos referenciar nossos componentes em tempo de execução.&lt;br /&gt;&lt;br /&gt;Vamos trabalhar com 02 Forms e 01 DataModule:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Name = Form1 &lt;br /&gt;–&gt; Formulário Principal&lt;br /&gt;Deverá ter uma chamada para o Form2, conforme abaixo:&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;br /&gt;procedure TForm1.mRelCidadeClick(Sender: TObject);&lt;br /&gt;begin&lt;br /&gt;  Application.CreateForm(TForm2, Form2);&lt;br /&gt;  Form2.ShowModal;&lt;br /&gt;end;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Name = DM &lt;br /&gt;–&gt; Data Module para acessar nossos dados&lt;br /&gt;A clausula uses deverá ter o seguinte;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;br /&gt;uses&lt;br /&gt;  SysUtils, Classes, Variants, ZConnection, ZDataset, ZStoredProcedure,&lt;br /&gt;  ZAbstractRODataset, ZAbstractDataset, ZDBCIntfs, DB;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;Coloque um componente TDataSource e renomeie para DSCidade.&lt;br /&gt;Nas declarações Private e Public faça o seguinte:&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;br /&gt;  private&lt;br /&gt;    { Private declarations }&lt;br /&gt;    FConexao: TZConnection;&lt;br /&gt;    FZQuery: TZQuery;&lt;br /&gt;  public&lt;br /&gt;    { Public declarations }&lt;br /&gt;    property Conexao: TZConnection read FConexao write FConexao;&lt;br /&gt;    property ZQuery: TZQuery read FZQuery write FZQuery;&lt;br /&gt;  end;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;No evento OnCreate do Data Modulo, faça o seguine:&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;br /&gt;procedure TDM.DataModuleCreate(Sender: TObject);&lt;br /&gt;begin&lt;br /&gt;  // Criamos a conexão com o Banco de Dados&lt;br /&gt;  Conexao:=TZConnection.Create(Self);&lt;br /&gt;  Conexao.Database:='C:\Arquivos de programas\Prog\Dados\DB.FDB';&lt;br /&gt;  Conexao.Password:='password';&lt;br /&gt;  Conexao.Port:=3050;&lt;br /&gt;  Conexao.Protocol:='firebird-1.5';&lt;br /&gt;  Conexao.TransactIsolationLevel:=tiReadCommitted;&lt;br /&gt;  Conexao.User:='SYSDBA';&lt;br /&gt;  Conexao.Connected:=True;&lt;br /&gt;  // Criamos um objeto TQuery para consultarmos nossa Tabela&lt;br /&gt;  ZQuery:=TZQuery.Create(Self);&lt;br /&gt;  ZQuery.Connection:=FConexao;&lt;br /&gt;end;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Name = Form2 &lt;br /&gt;–&gt; Formulário para impressão do nosso Relatório&lt;br /&gt;A clausula uses deverá ter o seguinte;&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;br /&gt;uses&lt;br /&gt;  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,&lt;br /&gt;  Dialogs, ZConnection, ZDataset, ZStoredProcedure, ZAbstractRODataset,&lt;br /&gt;  ZAbstractDataset, StdCtrls, ComCtrls, FR_DSet, FR_DBSet, FR_Class, FR_Desgn,&lt;br /&gt;  Grids, DBGrids, ExtCtrls;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;Procedimento para Impressão, conforme abaixo:&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;br /&gt;procedure FrPrint(Title:string;FrmGrid:TForm);&lt;br /&gt;var&lt;br /&gt;  fr: TfrReport;&lt;br /&gt;  ReportTitle,ColumnHeader: Tfrbandview;&lt;br /&gt;  MemoVT: Array of TfrMemoview;&lt;br /&gt;  TitleV ,dateV,pageV: TfrMemoview;&lt;br /&gt;  page: Tfrpage;&lt;br /&gt;  col: Integer;&lt;br /&gt;  Cont: Integer;&lt;br /&gt;  Left,Top,Width,Heigth: Integer;&lt;br /&gt;  TempLeft,TempWidth: Integer;&lt;br /&gt;&lt;br /&gt;  procedure PrintCabecalho(NrPag: Integer);&lt;br /&gt;  begin&lt;br /&gt;    left   :=20;&lt;br /&gt;    top    :=20;&lt;br /&gt;    width  :=710;&lt;br /&gt;    heigth :=25;&lt;br /&gt;    fr.Pages.Add;&lt;br /&gt;    page := fr.Pages[NrPag];&lt;br /&gt;    ReportTitle := Tfrbandview.Create;&lt;br /&gt;    ReportTitle.BandType := btReportTitle;&lt;br /&gt;    ReportTitle.SetBounds(left,top,width,75);&lt;br /&gt;    page.Objects.Add(ReportTitle);&lt;br /&gt;    TitleV := TfrMemoview.Create;&lt;br /&gt;    Titlev.SetBounds(Left,top,width,30);&lt;br /&gt;    Titlev.Font.Name := 'Tahoma';&lt;br /&gt;    TitleV.Font.Size := 16;&lt;br /&gt;    TitleV.Memo.Add(title);&lt;br /&gt;    page.Objects.Add(TitleV);&lt;br /&gt;    dateV := TfrMemoview.Create;&lt;br /&gt;    dateV.SetBounds(Left,top + 40,width,30);&lt;br /&gt;    dateV.Font.Name := 'Tahoma';&lt;br /&gt;    dateV.Font.Size := 8;&lt;br /&gt;    dateV.Memo.Add('DATA:'+FormatDateTime('dd/mm/yyyy',Now));&lt;br /&gt;    page.Objects.Add(dateV);&lt;br /&gt;    Top:=115;&lt;br /&gt;  end;&lt;br /&gt;&lt;br /&gt;  procedure PrintRodape;&lt;br /&gt;  begin&lt;br /&gt;    pageV:=TfrMemoview.Create;&lt;br /&gt;    pageV.Font.Name:='Tahoma';&lt;br /&gt;    pagev.Font.Size:=10;&lt;br /&gt;    pagev.FrameWidth:=2;&lt;br /&gt;    pagev.FrameTyp:=24 ;&lt;br /&gt;    pageV.Memo.Add(' :: PÁGINA '+'[PAGE#]');&lt;br /&gt;    pagev.SetBounds(0,1025,750,20);&lt;br /&gt;    page.Objects.Add(pageV);&lt;br /&gt;  end;&lt;br /&gt;&lt;br /&gt;begin&lt;br /&gt;  fr:=TfrReport.Create(FrmGrid);&lt;br /&gt;  fr.StoreInDFM := True;&lt;br /&gt;  DM.ZQuery.Open;&lt;br /&gt;  Cont:=0;&lt;br /&gt;  PrintCabecalho(Cont);&lt;br /&gt;  ColumnHeader:=Tfrbandview.Create;&lt;br /&gt;  ColumnHeader.BandType:=btColumnHeader;&lt;br /&gt;  ColumnHeader.SetBounds(left,top,width,900);&lt;br /&gt;  page.Objects.Add(ColumnHeader);&lt;br /&gt;  SetLength(MemoVT,5);&lt;br /&gt;  while not DM.ZQuery.Eof do&lt;br /&gt;  begin&lt;br /&gt;    col:=0;&lt;br /&gt;    // Campo Nome Cidade&lt;br /&gt;    TempLeft:=20;&lt;br /&gt;    MemoVt[col]:=TfrMemoview.Create;&lt;br /&gt;    MemoVt[col].Font.Name:='Tahoma';&lt;br /&gt;    MemoVt[col].Font.Size:=8;&lt;br /&gt;    MemoVt[col].Memo.Add(DM.ZQuery.FieldByName('CID_DESCRICAO').AsString);&lt;br /&gt;    MemoVt[col].FrameTyp:=0;&lt;br /&gt;    TempWidth:=300;&lt;br /&gt;    MemoVt[col].SetBounds(TempLeft,top,tempWidth,15);&lt;br /&gt;    Templeft:=TempLeft+tempwidth+10;&lt;br /&gt;    page.Objects.Add(MemoVt[col]);&lt;br /&gt;    // Campo UF&lt;br /&gt;    col:=1;&lt;br /&gt;    MemoVt[col]:=TfrMemoview.Create;&lt;br /&gt;    MemoVt[col].Font.Name:='Tahoma';&lt;br /&gt;    MemoVt[col].Font.Size:=8;&lt;br /&gt;    MemoVt[col].Memo.Add(DM.ZQuery.FieldByName('CID_UF').AsString);&lt;br /&gt;    MemoVt[col].FrameTyp:=0;&lt;br /&gt;    TempWidth:=50;&lt;br /&gt;    MemoVt[col].SetBounds(TempLeft,top,tempWidth,15);&lt;br /&gt;    Templeft:=TempLeft+tempwidth;&lt;br /&gt;    page.Objects.Add(MemoVt[col]);&lt;br /&gt;    //&lt;br /&gt;    Top:=Top+15;&lt;br /&gt;    DM.ZQuery.Next;&lt;br /&gt;    if (not DM.ZQuery.Eof) and (Top &gt;= 1000) then&lt;br /&gt;    begin&lt;br /&gt;      Inc(Cont);&lt;br /&gt;      PrintRodape;&lt;br /&gt;      PrintCabecalho(Cont);&lt;br /&gt;      ColumnHeader:=Tfrbandview.Create;&lt;br /&gt;      ColumnHeader.BandType:=btColumnHeader;&lt;br /&gt;      ColumnHeader.SetBounds(left,top,width,900);&lt;br /&gt;      page.Objects.Add(ColumnHeader);&lt;br /&gt;      SetLength(MemoVT,5);&lt;br /&gt;    end;&lt;br /&gt;  end;&lt;br /&gt;  PrintRodape;&lt;br /&gt;  fr.ShowReport;&lt;br /&gt;  //fr.DesignReport;&lt;br /&gt;  fr.Free;&lt;br /&gt;  DM.ZQuery.Close;&lt;br /&gt;end;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Coloque um Botão no formulário, chamando o procedimento de Impressão, conforme abaixo:&lt;/b&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;br /&gt;procedure TForm2.btImprimirClick(Sender: TObject);&lt;br /&gt;begin&lt;br /&gt;  DM.ZQuery.Close;&lt;br /&gt;  DM.ZQuery.SQL.Clear;&lt;br /&gt;  DM.ZQuery.SQL.Add('SELECT * ');&lt;br /&gt;  DM.ZQuery.SQL.Add('FROM CIDADE');&lt;br /&gt;  DM.ZQuery.Open;&lt;br /&gt;  FrPrint('RELATÓRIO ::: TURBO DELPHI EXPLORER',Form2);&lt;br /&gt;  DM.ZQuery.Close;&lt;br /&gt;end;&lt;br /&gt;&lt;/i&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-4343625893371455858?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/4343625893371455858/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=4343625893371455858' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4343625893371455858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4343625893371455858'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/09/turbo-delphi-explorer-instalar.html' title='Turbo Delphi Explorer - Instalar Componentes de Terceiros'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_zJlWXYQ890o/SNwHEPxEZuI/AAAAAAAAAQQ/2uR1DRvSw5Y/s72-c/delphi_explorer.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-1357337563036561968</id><published>2008-09-01T19:39:00.000-07:00</published><updated>2008-09-02T19:44:22.925-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Navegadores'/><title type='text'>Google Chrome</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zJlWXYQ890o/SL35Tf7saMI/AAAAAAAAAQI/YHu18YVx3ss/s1600-h/gogle.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/SL35Tf7saMI/AAAAAAAAAQI/YHu18YVx3ss/s400/gogle.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5241619654713829570" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Google Chrome é o navegador de código aberto desenvolvido pela Google que chega ao mercado com uma proposta de ser limpo, simples e ainda mais fácil de usar.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.google.com/chrome/eula.html"&gt;download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-1357337563036561968?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/1357337563036561968/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=1357337563036561968' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1357337563036561968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1357337563036561968'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/09/google-chrome.html' title='Google Chrome'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zJlWXYQ890o/SL35Tf7saMI/AAAAAAAAAQI/YHu18YVx3ss/s72-c/gogle.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-1376117089362869093</id><published>2008-08-19T18:45:00.000-07:00</published><updated>2008-08-20T18:59:42.585-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Aprenda Ruby brincando</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zJlWXYQ890o/SKzL_XJBVhI/AAAAAAAAAPk/qDd2DpZusaE/s1600-h/hacketyhack.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/SKzL_XJBVhI/AAAAAAAAAPk/qDd2DpZusaE/s400/hacketyhack.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5236784756129093138" /&gt;&lt;/a&gt;&lt;br /&gt;Projeto Hackety Hack, é uma plataforma livre de ensino a programação em Ruby, para crianças, iniciantes em programação ou para aqueles que nunca programaram antes.&lt;br /&gt;&lt;br /&gt;Exemplo:&lt;br /&gt;&lt;br /&gt;blog = Table("MyBlog").recent(10)&lt;br /&gt;Web.page {&lt;br /&gt;&amp;nbsp;&amp;nbsp;blog.each do |entry|&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;title entry[:title]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;puts entry[:editbox]&lt;br /&gt;&amp;nbsp;&amp;nbsp;end&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;a href="http://hacketyhack.net/"&gt;download  Hackety Hack&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-1376117089362869093?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/1376117089362869093/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=1376117089362869093' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1376117089362869093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1376117089362869093'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/08/aprenda-ruby-brincando.html' title='Aprenda Ruby brincando'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zJlWXYQ890o/SKzL_XJBVhI/AAAAAAAAAPk/qDd2DpZusaE/s72-c/hacketyhack.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-6110635763668752264</id><published>2008-08-15T08:12:00.000-07:00</published><updated>2008-08-16T07:09:10.916-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>Visual Studio 2008 Service Pack 1 (SP1)</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/SKbeeFvQZCI/AAAAAAAAAPM/z_TrSYe8i0c/s1600-h/vstudio.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/SKbeeFvQZCI/AAAAAAAAAPM/z_TrSYe8i0c/s400/vstudio.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5235116225382605858" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Visual Studio 2008 Service Pack 1 (SP1) lançados oficialmente.&lt;br /&gt;&lt;li&gt;Dica: Instale primeiro &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=AB99342F-5D1A-413D-8319-81DA479AB0D7&amp;displaylang=en"&gt;.NET Framework 3.5 SP1&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/pt-br/vstudio/cc533448(en-us).aspx"&gt;download Visual Studio 2008 Service Pack 1 (SP1)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-6110635763668752264?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/6110635763668752264/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=6110635763668752264' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/6110635763668752264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/6110635763668752264'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/08/visual-studio-2008-service-pack-1-sp1.html' title='Visual Studio 2008 Service Pack 1 (SP1)'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zJlWXYQ890o/SKbeeFvQZCI/AAAAAAAAAPM/z_TrSYe8i0c/s72-c/vstudio.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-1340540273041881705</id><published>2008-08-10T00:00:00.000-07:00</published><updated>2008-08-16T07:04:09.632-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eventos'/><title type='text'>Informatech 2008</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/SKTunifAQrI/AAAAAAAAAO8/-j4-y4J-Xno/s1600-h/informatech.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/SKTunifAQrI/AAAAAAAAAO8/-j4-y4J-Xno/s400/informatech.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5234571029950513842" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Começa no dia 13/08/2008 até 17/08/2008 a &lt;strong&gt;&lt;strong&gt;&lt;strong&gt;FEIRA DE INFORMÁTICA E TECNOLOGIA DE LONDRINA&lt;/strong&gt;&lt;/strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Local: &lt;em&gt;&lt;strong&gt;CATUAÍ SHOPPING - Londrina-PR&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Para saber mais visite o site &lt;a href="http://www.informatechvirtual.com.br/site/index.php?modulo=principal"&gt;www.informatechvirtual.com.br&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-1340540273041881705?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/1340540273041881705/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=1340540273041881705' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1340540273041881705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1340540273041881705'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/08/informatech-2008.html' title='Informatech 2008'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zJlWXYQ890o/SKTunifAQrI/AAAAAAAAAO8/-j4-y4J-Xno/s72-c/informatech.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-3502271504084660981</id><published>2008-08-03T00:00:00.000-07:00</published><updated>2008-12-14T05:01:51.097-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>Revista PHP Magazine</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_zJlWXYQ890o/SJcwG9rHwQI/AAAAAAAAAOs/K6NcWM-d3fY/s1600-h/logo_medio.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_zJlWXYQ890o/SJcwG9rHwQI/AAAAAAAAAOs/K6NcWM-d3fY/s400/logo_medio.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5230702388406894850" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Para quem desconhece, a PHP Magazine oferece publicações digitais sobre a linguagem PHP. &lt;br /&gt;Podem ser obtidas gratuitamente, apenas com a realização de um breve &lt;a href="http://www.phpmagazine.org.br/portal/?modulo=usuario&amp;acao=incluir"&gt;cadastro&lt;/a&gt; no portal. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.phpmagazine.org.br"&gt;http://www.phpmagazine.org.br&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-3502271504084660981?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/3502271504084660981/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=3502271504084660981' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/3502271504084660981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/3502271504084660981'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/08/revista-php-magazine.html' title='Revista PHP Magazine'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_zJlWXYQ890o/SJcwG9rHwQI/AAAAAAAAAOs/K6NcWM-d3fY/s72-c/logo_medio.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-223442408156846577</id><published>2008-06-29T00:00:00.000-07:00</published><updated>2008-06-30T12:19:36.933-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>Wikilivro Aplicativos em PHP</title><content type='html'>Livro destinado ao desenvolvimento de aplicativos web em PHP no formato PDF.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://pt.wikibooks.org/wiki/Aplicativos_em_PHP"&gt;Livro PHP&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-223442408156846577?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/223442408156846577/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=223442408156846577' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/223442408156846577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/223442408156846577'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/06/wikilivro-aplicativos-em-php.html' title='Wikilivro Aplicativos em PHP'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-362773359397053359</id><published>2008-05-22T00:00:00.000-07:00</published><updated>2008-12-14T05:01:51.407-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>SQL SERVER Authentication</title><content type='html'>Se o SQL Server só conecta com a opção Use Windows Authentication e quando você tenta conectar SQL SERVER Authentication aparece a seguinte mensagem: &lt;br /&gt;&lt;br /&gt;The user is not associated with a trusted SQL Server connection. (Microsoft SQL Server, Error: 18452)&lt;br /&gt;&lt;br /&gt;Faça o seguinte:&lt;br /&gt;&lt;br /&gt;-Abra o SQL Server Management Studio Express e conecte-se através da opção Windows Authentication.&lt;br /&gt;-Click com o botão direito do mouse na guia explorer e escolha propriedades conforme figura abaixo: &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zJlWXYQ890o/SDcGERaAryI/AAAAAAAAAOQ/UG7rbAZpL9g/s1600-h/sql1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/SDcGERaAryI/AAAAAAAAAOQ/UG7rbAZpL9g/s400/sql1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5203634564911640354" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Agora click em Security e selecione SQL Server and Windows Authentication Mode&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zJlWXYQ890o/SDcGiBaArzI/AAAAAAAAAOY/xZes7x4QmFc/s1600-h/sql2.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_zJlWXYQ890o/SDcGiBaArzI/AAAAAAAAAOY/xZes7x4QmFc/s400/sql2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5203635076012748594" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Click em OK e Pronto . . .&lt;br /&gt;Agora você só precisa reiniciar o Servidor SQL Server, ou da próxima vez que ligar seu PC você já poderá se conectar através do SQL SERVER Authentication.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-362773359397053359?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/362773359397053359/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=362773359397053359' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/362773359397053359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/362773359397053359'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/05/se-o-sql-server-s-conecta-com-opo-use.html' title='SQL SERVER Authentication'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_zJlWXYQ890o/SDcGERaAryI/AAAAAAAAAOQ/UG7rbAZpL9g/s72-c/sql1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-294013624852802126</id><published>2008-05-14T00:00:00.000-07:00</published><updated>2008-05-17T08:00:36.101-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Segurança'/><title type='text'>Segurança</title><content type='html'>Algumas opções para você ajustar e proteger seu PC . . .&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;- &lt;a href="http://www.free-av.com/"&gt;Avira AntiVir Personal Edition Classic&lt;/a&gt; - Anti Vírus&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://www.bitdefender.com/"&gt;BitDefender Online Scanner&lt;/a&gt; – Scanner Online&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://www.comodo.com/"&gt;Comodo Firewall&lt;/a&gt; - Firewall&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://vil.nai.com/vil/stinger/rkstinger.aspx"&gt;McAfee Rootkit Detective&lt;/a&gt; - Identifica programas nocivos camuflados em seu sistema.&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://www.spamfighter.com/"&gt;Spamfighter Pro&lt;/a&gt; - Adiciona uma barra de ferramentas ao Outlook, Outlook Express e Windows Mail&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://www.threatfire.com/"&gt;ThreatFire Free&lt;/a&gt; - Analisa o comportamento de certos programas tentando identificar cavalos-de-tróia e outros malwares&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://www.truecrypt.org/"&gt;TrueCrypt&lt;/a&gt; - Cria um drive virtual criptografado&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-294013624852802126?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/294013624852802126/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=294013624852802126' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/294013624852802126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/294013624852802126'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/05/segurana.html' title='Segurança'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-1595889677445733211</id><published>2008-04-15T19:45:00.000-07:00</published><updated>2008-12-14T05:01:51.630-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Palm'/><category scheme='http://www.blogger.com/atom/ns#' term='hb++'/><category scheme='http://www.blogger.com/atom/ns#' term='Handheld Basic'/><title type='text'>RemoteSync agora é Free</title><content type='html'>RemoteSync se torna um programa Free.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Por incrível que pareça acessar um banco de dados relacional, como Oracle, SQL Server e outros, pode não ser uma tarefa das mais fáceis para dispositivos móveis. O RemoteSync torna possível a execução de comandos SQL em bancos de dados remotos (rede interna, WIFI ou internet) permitindo aplicações tais como: consulta on-line de saldo de produtos em estoque, modificações de dados no banco corporativo e muito mais.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;A API do RemoteSync – conjunto de funções prontas para programação – está disponível em várias linguagens de programação Palm, tais como: HB++, Pocket Studio e NS Basic. &lt;br /&gt;&lt;br /&gt;Para baixar o RemoteSync é necessário cadastro no site&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zJlWXYQ890o/SAVpnYaKNOI/AAAAAAAAAN8/m8PVLlwQoIU/s1600-h/IRemoteSyncManager.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/SAVpnYaKNOI/AAAAAAAAAN8/m8PVLlwQoIU/s400/IRemoteSyncManager.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5189670270902351074" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.softpalm.com.br/Login.aspx?ARQUIVO=remotesyncfree.zip"&gt;download RemoteSync&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Fonte: www.softpalm.com.br&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-1595889677445733211?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/1595889677445733211/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=1595889677445733211' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1595889677445733211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1595889677445733211'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/04/remotesync-agora-free.html' title='RemoteSync agora é Free'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_zJlWXYQ890o/SAVpnYaKNOI/AAAAAAAAAN8/m8PVLlwQoIU/s72-c/IRemoteSyncManager.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-1849827422383268492</id><published>2008-03-20T00:00:00.000-07:00</published><updated>2008-12-14T05:01:51.799-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>React Operating System - Sistema Operacional baseado no Windows XP</title><content type='html'>&lt;a href="http://www.reactos.org/pt/index.html"&gt;http://www.reactos.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;O ReactOS® é um sistema operativo Livre que visa atingir um elevado grau de compatibilidade com o Microsoft Windows® XP. O ReactOS tem como objectivo fornecer compatibilidade completa tanto com as aplicações como com os controladores desenvolvidos para os sistemas operativos da linha NT® da Microsoft®, por intermédio de uma arquitectura e uma interface pública de programação similares. &lt;br /&gt;&lt;br /&gt;O ReactOS é o modelo mais completo de um sistema operativo inspirado no Windows®. Consequentemente, os programadores poderão aprender bastante ao estudar o seu código fonte ou mesmo participando no desenvolvimento do mesmo. &lt;br /&gt;&lt;br /&gt;O ReactOS já incorporou e continuará a incorporar funcionalidades de novas versões do Windows® e, por vezes, definir mesmo a vanguarda da tecnologia dos sistemas operativos. &lt;br /&gt;&lt;br /&gt;Em suma, o ReactOS existe para poder correr os seus programas e utilizar o seu hardware. É um sistema operativo livre para todos! &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Por favor tenha presente que o ReactOS 0.3.4 ainda está em estado alpha, o que significa que ainda faltam inúmeras funcionalidades nem tão pouco é recomendável para uma utilização intensiva, de todos os dias.&lt;/strong&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_zJlWXYQ890o/R-OsTgPnejI/AAAAAAAAAN0/OAdHak3lltA/s1600-h/ReactOS.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/R-OsTgPnejI/AAAAAAAAAN0/OAdHak3lltA/s400/ReactOS.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5180173447479130674" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-1849827422383268492?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/1849827422383268492/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=1849827422383268492' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1849827422383268492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1849827422383268492'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/03/react-operating-system-sistema.html' title='React Operating System - Sistema Operacional baseado no Windows XP'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_zJlWXYQ890o/R-OsTgPnejI/AAAAAAAAAN0/OAdHak3lltA/s72-c/ReactOS.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-8226738275381346511</id><published>2008-03-16T10:00:00.000-07:00</published><updated>2008-12-14T05:01:52.170-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Mono'/><title type='text'>MonoDevelop 1.0 Released</title><content type='html'>Lançado MonoDevelop 1.0, IDE .NET para Linux/Mac OS X &lt;br /&gt;&lt;br /&gt;O MonoDevelop é uma IDE, ambiente integrado de desenvolvimento para o GNOME, projetado principalmente para C# e outras linguagens .NET&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/R98F4FmnDGI/AAAAAAAAANs/Ggn2B5HjzUs/s1600-h/CapturaVisualDesigner.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/R98F4FmnDGI/AAAAAAAAANs/Ggn2B5HjzUs/s400/CapturaVisualDesigner.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5178864557634292834" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.monodevelop.com/MonoDevelop_1.0_Released"&gt;Download MonoDevelop 1.0&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-8226738275381346511?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/8226738275381346511/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=8226738275381346511' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/8226738275381346511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/8226738275381346511'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/03/monodevelop-10-released.html' title='MonoDevelop 1.0 Released'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zJlWXYQ890o/R98F4FmnDGI/AAAAAAAAANs/Ggn2B5HjzUs/s72-c/CapturaVisualDesigner.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-6530552587306915838</id><published>2008-03-10T00:00:00.000-07:00</published><updated>2008-03-15T07:29:55.431-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Firewall'/><title type='text'>Firewalls gratuitos</title><content type='html'>Seis opções de firewalls gratuitos&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jetico.com/"&gt;Jetico Personal Firewall&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.zonealarm.com"&gt;ZoneAlarm (versão gratuita)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.pctools.com/firewall/"&gt;PC Tools Firewall Plus&lt;/a&gt; &lt;br /&gt;&lt;a href="http://www.filseclab.com/eng/products/firewall.htm"&gt;Filseclab Personal Firewall&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ashampoo.com/frontend/products/php/product.php?session_langid=2&amp;idstring=0050"&gt;Ashampoo FireWall Free&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-6530552587306915838?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/6530552587306915838/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=6530552587306915838' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/6530552587306915838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/6530552587306915838'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/03/firewalls-gratuitos.html' title='Firewalls gratuitos'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-6212447601393379625</id><published>2008-03-01T00:00:00.000-08:00</published><updated>2008-12-14T05:01:52.936-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>AJAX e AJAX Toolkit</title><content type='html'>Instalando AJAX e AJAX Toolkit no Microsoft Visual Studio 2005&lt;br /&gt;&lt;br /&gt;Acesse o site http://www.asp.net e faça o download dos arquivos:&lt;br /&gt;-ASP.NET AJAX&lt;br /&gt;-ASP.NET AJAX Toolkit&lt;br /&gt;&lt;br /&gt;Instale o arquivo ASP.NET AJAX . . . next . . . next . . .&lt;br /&gt;Depois de instalado será criado uma pasta em Arquivos de Programas chamada Microsoft ASP.NET, crie uma sub pasta chamada AjaxToolKit&lt;br /&gt;&lt;br /&gt;Ficará assim C:\Arquivos de programas\Microsoft ASP.NET\&lt;strong&gt;AjaxToolKit&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;O arquivo ASP.NET AJAX Toolkit deverá ser descompactado dentro da pasta criada acima.&lt;br /&gt;&lt;br /&gt;Agora abra o Microsoft Visual Studio 2005 &gt;&gt;File &gt;&gt;New &gt;&gt; WebSite você verá a seguinte figura:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_zJlWXYQ890o/R8layzsXU4I/AAAAAAAAANM/_k_8_1rRlqY/s1600-h/ajax.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_zJlWXYQ890o/R8layzsXU4I/AAAAAAAAANM/_k_8_1rRlqY/s400/ajax.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5172765475927970690" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Click no botão OK . . .&lt;br /&gt;&lt;br /&gt;Agora vamos adicionar os controles do AJAX ToolKit à Toolbox do Visual Studio. Click com o botão direito do mouse sobre um local vazio na sua barra de ferramentas e selecione a opção "Add Tab" conforme a figura abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_zJlWXYQ890o/R8lgAzsXU5I/AAAAAAAAANU/JNMw0yf1vSc/s1600-h/ajax1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_zJlWXYQ890o/R8lgAzsXU5I/AAAAAAAAANU/JNMw0yf1vSc/s400/ajax1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5172771214004278162" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Digite AJAX Toolkit. Agora vamos adicionar os itens à nova aba criada. Para isso, click com o botão direito do mouse sobre a aba &lt;strong&gt;AJAX ToolKit&lt;/strong&gt; e selecione a opção "Choose Items".&lt;br /&gt;&lt;br /&gt;A janela Choose Toolbox Items será aberta, click em Browse e navegue até a pasta:&lt;br /&gt;C:\Arquivos de programas\Microsoft ASP.NET\AjaxToolKit\SampleWebSite\Bin&lt;br /&gt;Selecione a DLL AjaxControlToolkit.dll, click em Open, em seguida OK . . . pronto . . . sua ToolBox deverá ficar assim:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/R8ljLjsXU6I/AAAAAAAAANc/EPoMfyMXZho/s1600-h/ajax2.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/R8ljLjsXU6I/AAAAAAAAANc/EPoMfyMXZho/s400/ajax2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5172774697222755234" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-6212447601393379625?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/6212447601393379625/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=6212447601393379625' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/6212447601393379625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/6212447601393379625'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/03/ajax-e-ajax-toolkit.html' title='AJAX e AJAX Toolkit'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_zJlWXYQ890o/R8layzsXU4I/AAAAAAAAANM/_k_8_1rRlqY/s72-c/ajax.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-4235317672939359659</id><published>2008-02-29T00:00:00.000-08:00</published><updated>2008-02-29T03:58:18.794-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Server 2003'/><title type='text'>Windows Server 2003 com aparência e recursos do Windows XP</title><content type='html'>O Windows Server 2003 por ser um sistema projetado para servidor, ele vem com algumas configurações desativadas ou configuradas de outra forma. &lt;br /&gt;&lt;br /&gt;-Os efeitos visuais por default vem desativado, para ativar:&lt;br /&gt;&gt;&gt;Painel de Controle &gt;&gt; Sistema &gt;&gt; Guia Avançado &gt;&gt; Desempenho Click em "Configurações", Aba "Efeitos visuais", por default vem desativado, ative os efeitos visuais.&lt;br /&gt;&lt;br /&gt;-Para ativar alguns serviços do Windows Server 2003, click &gt;&gt;Iniciar &gt;&gt;Ferramentas Administrativas &gt;&gt;Serviços ou &gt;&gt;Iniciar &gt;&gt;Executar "services.msc". &lt;br /&gt;&lt;br /&gt;Para ativar Serviços faça o seguinte:&lt;br /&gt;Duplo click no Serviço à ser iniciado, em "Tipo de Inicialização" escolha "Automático", click em Aplicar, depois Iniciar. Pronto.&lt;br /&gt;&lt;br /&gt;Alguns serviços que podem ser ativadso:&lt;br /&gt;&gt;&gt;Serviço &lt;strong&gt;"Temas"&lt;/strong&gt;, ativa o tema visual estino Windows XP&lt;br /&gt;&gt;&gt;Serviço &lt;strong&gt;"Assistente de aquisição de imagens do Windows (WIA)"&lt;/strong&gt; ,ativa scanners, câmeras digitais e web cams&lt;br /&gt;&gt;&gt;Serviço &lt;strong&gt;"Áudio do Windows"&lt;/strong&gt;, ativa som no Windows Server 2003&lt;br /&gt;&gt;&gt;Serviço &lt;strong&gt;"IMAPI CD-Burning COM Service"&lt;/strong&gt;, ativa gravação de CDs&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-4235317672939359659?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/4235317672939359659/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=4235317672939359659' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4235317672939359659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4235317672939359659'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/02/windows-server-2003-com-aparncia-e.html' title='Windows Server 2003 com aparência e recursos do Windows XP'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-1611378052129892537</id><published>2008-02-05T00:00:00.001-08:00</published><updated>2008-02-05T04:01:30.224-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Turbo Delphi'/><title type='text'>Relatório para Turbo Delphi Explorer</title><content type='html'>Achei essa dica na comunidade Turbo Delphi no Orkut, postada pelo Eduardo [ NewZeek ]:&lt;br /&gt;&lt;br /&gt;Participe da comunidade &lt;a href="http://www.orkut.com/Community.aspx?cmm=20052098"&gt;Orkut Turbo Delphi Explorer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Primeiro descompacte a pasta FreeReport na pasta Lib do Delphi, declare a pasta FreeReport\Source à Library do Delphi.&lt;br /&gt;&lt;br /&gt;Pronto, o delphi reconhece a pasta das units necessarias para a criaçao dos componentes.&lt;br /&gt;&lt;br /&gt;Crie uma nova aplicaçao, e insira os componentes para acesso ao banco de dados, neste caso estou utilizando DBExpress com driver UIB e clientDataSet, para acesso ao Banco de dados Firebird.&lt;br /&gt;&lt;br /&gt;Apos o acesso aos dados estarem corretamente ligados e funcionando, vamos a criaçao dos componentes do FreeReport para a criaçao do relatorio.&lt;br /&gt;&lt;br /&gt;Lembrando que primeiro iremos criar uma funçao para criaçao dos componentes e em tempo de execuçao iremos criar o relatorio e salvar em arquivo, depois voltamos ao projeto e carregamos o relatorio do arquivo.&lt;br /&gt;&lt;br /&gt;Iniciando:&lt;br /&gt;&lt;br /&gt;Adicione as seguintes units a clausula uses:&lt;br /&gt;&lt;br /&gt;FR_Desgn, FR_DSet, FR_DBSet, FR_Class;&lt;br /&gt;&lt;br /&gt;Agora adicione as seguintes variaveis globais ao projeto:&lt;br /&gt;&lt;br /&gt;frReport1: TfrReport;&lt;br /&gt;frDBDataSet1: TfrDBDataSet;&lt;br /&gt;frDesigner1: TfrDesigner;&lt;br /&gt;&lt;br /&gt;ficara assim:&lt;br /&gt;&lt;br /&gt;var&lt;br /&gt;Form1: TForm1;&lt;br /&gt;frReport1: TfrReport;&lt;br /&gt;frDBDataSet1: TfrDBDataSet;&lt;br /&gt;frDesigner1: TfrDesigner;&lt;br /&gt;&lt;br /&gt;Pronto, agora iremos criar os componentes no evento oncreate do form, passando como proprietario o proprio form:&lt;br /&gt;&lt;br /&gt;procedure TForm1.FormCreate(Sender: TObject);&lt;br /&gt;begin&lt;br /&gt;frReport1 := TfrReport.create(form1);//Crio o componente do relatorio&lt;br /&gt;frDBDataSet1 := TfrDBDataSet.create(form1);//Crio o componente de acesso ao banco&lt;br /&gt;with frDBDataSet1 do&lt;br /&gt;begin&lt;br /&gt;dataset := ClientDataSet1;//seto qual dataset sera utilizado&lt;br /&gt;name := 'frDBDataSet1';//defino o nome do componente&lt;br /&gt;end;&lt;br /&gt;frReport1.Dataset := frDBDataSet1;//defino o dataset do relatorio&lt;br /&gt;frDesigner1:= TfrDesigner.Create(form1);//crio o componente Design&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;Pronto, todos os componentes serao criado assim que o form for criado e destruidos juntamente com seu proprietario, o form.&lt;br /&gt;&lt;br /&gt;agora o evento do botao Design: &lt;br /&gt;21/12/06 &lt;br /&gt;Eduardo &lt;br /&gt;O botao design sera responsavel por abrir o modo design do relatorio e sera de suma importancia para a criaçao do mesmo.&lt;br /&gt;&lt;br /&gt;procedure TForm1.Btn_designClick(Sender: TObject);&lt;br /&gt;begin&lt;br /&gt;frReport1.DesignReport;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;agora rode a aplicaçao e clique no botao, ira aparecer o modo design do relatorio.&lt;br /&gt;Procure pelo icone "Insert DB fields", e insira os campos que desejar no relatorio, lembrando que serao listados os campos e disponiveis no clientdataset.&lt;br /&gt;&lt;br /&gt;Crie o relatorio utilizando os componentes disponiveis no modo design e depois salve este relatorio: File &gt; Save as...&lt;br /&gt;&lt;br /&gt;Pronto, volte ao projeto e vamos criar o evento que ira carregar o arquivo do relatorio.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;procedure TForm1.Button1Click(Sender: TObject);&lt;br /&gt;begin&lt;br /&gt;frReport1.LoadFromFile('C:\teste.frf');&lt;br /&gt;frReport1.ShowReport;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;No caso, "C:\teste.frf" é o relatorio que criei.&lt;br /&gt;&lt;br /&gt;Agora rode a aplicaçao e clique no botao para exibir o relatorio.&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-1611378052129892537?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/1611378052129892537/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=1611378052129892537' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1611378052129892537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1611378052129892537'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/02/relatrio-para-turbo-delphi-explorer.html' title='Relatório para Turbo Delphi Explorer'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-1406432747438260347</id><published>2008-02-05T00:00:00.000-08:00</published><updated>2008-12-14T05:01:53.126-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Turbo Delphi'/><title type='text'>Turbo Delphi Explorer</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/R6i-lyrnZ3I/AAAAAAAAANE/GiIYebBDtlA/s1600-h/turbo.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/R6i-lyrnZ3I/AAAAAAAAANE/GiIYebBDtlA/s400/turbo.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5163586529249421170" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Por que utilizar uma versão paga ou uma versão pirata do Delphi se você pode trabalhar com uma versão gratuita? Isso mesmo! Esse é o Turbo Delphi Explorer! &lt;br /&gt;Ele tem duas limitações: &lt;br /&gt;&lt;br /&gt;1 - Não aceita a instalação de componentes; &lt;br /&gt;2 - Não possui um gerador de relatórios.&lt;br /&gt;&lt;br /&gt;Para poder fazer o download é necessário cadastro na Code Gear.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codegear.com/br/products/turbo"&gt;download Turbo Delphi Explorer free&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Outros produtos "Turbo"&lt;br /&gt;&lt;br /&gt;BORLAND® TURBO DELPHI® EXPLORER [free]&lt;br /&gt;BORLAND® TURBO DELPHI® PROFESSIONAL&lt;br /&gt;BORLAND® TURBO DELPHI® FOR .NET EXPLORER [free]&lt;br /&gt;BORLAND® TURBO DELPHI® FOR .NET PROFESSIONAL&lt;br /&gt;BORLAND® TURBO C# EXPLORER [free]&lt;br /&gt;BORLAND® TURBO C# PROFESSIONAL&lt;br /&gt;BORLAND® TURBO C++ EXPLORER [free]&lt;br /&gt;BORLAND® TURBO C++ PROFESSIONAL&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-1406432747438260347?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/1406432747438260347/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=1406432747438260347' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1406432747438260347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1406432747438260347'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/02/turbo-delphi-explorer.html' title='Turbo Delphi Explorer'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zJlWXYQ890o/R6i-lyrnZ3I/AAAAAAAAANE/GiIYebBDtlA/s72-c/turbo.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-141060527906285568</id><published>2008-02-04T00:00:00.000-08:00</published><updated>2008-02-08T10:34:23.758-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Rave'/><title type='text'>Rave modo programado</title><content type='html'>Gerando um relatório Rave em modo programado:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;unit Unit1;&lt;br /&gt;&lt;br /&gt;interface&lt;br /&gt;&lt;br /&gt;uses&lt;br /&gt;  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,&lt;br /&gt;  Dialogs, StdCtrls, RPRender, RpDefine, RpBase, RpSystem, RPDevice;&lt;br /&gt;&lt;br /&gt;type&lt;br /&gt;  TForm1 = class(TForm)&lt;br /&gt;    BtImprimir: TButton;&lt;br /&gt;    procedure BtImprimirClick(Sender: TObject);&lt;br /&gt;    procedure RvSystemMPPrintHeader(Sender: TObject);&lt;br /&gt;    procedure RvSystemMPPrint(Sender: TObject);&lt;br /&gt;    procedure FormClose(Sender: TObject; var Action: TCloseAction);&lt;br /&gt;  private&lt;br /&gt;    { Private declarations }&lt;br /&gt;    Procedure PrintReport(TamPapel: String);&lt;br /&gt;    procedure CabecalhoRelatorio(Titulo1,Titulo2,Titulo3: String);&lt;br /&gt;    procedure Relatorio;&lt;br /&gt;  public&lt;br /&gt;    { Public declarations }&lt;br /&gt;    RvSystemMP: TRvSystem; // Modo Programado&lt;br /&gt;  end;&lt;br /&gt;&lt;br /&gt;var&lt;br /&gt;  Form1: TForm1;&lt;br /&gt;&lt;br /&gt;implementation&lt;br /&gt;&lt;br /&gt;{$R *.dfm}&lt;br /&gt;&lt;br /&gt;procedure TForm1.PrintReport(TamPapel: String);&lt;br /&gt;begin&lt;br /&gt;  RvSystemMP.SystemPrinter.MarginTop:=1;&lt;br /&gt;  RvSystemMP.SystemPrinter.MarginLeft:=1;&lt;br /&gt;  RvSystemMP.SystemPrinter.MarginRight:=1;&lt;br /&gt;  RvSystemMP.SystemPrinter.MarginBottom:=1;&lt;br /&gt;  RvSystemMP.SystemPrinter.MarginBottom:=1;&lt;br /&gt;  RvSystemMP.SystemPrinter.Units:=unCM;&lt;br /&gt;  RvSystemMP.SystemPrinter.UnitsFactor:=2.54;&lt;br /&gt;  RvSystemMP.SystemFiler.AccuracyMethod:=amAppearance;&lt;br /&gt;  rpDev.SelectPaper(TamPapel,False);&lt;br /&gt;  rpDev.Copies:=1;&lt;br /&gt;  RvSystemMP.SystemPrinter.Copies:=rpDev.Copies;&lt;br /&gt;  rpDev.Orientation:=poPortrait;&lt;br /&gt;  RvSystemMP.SystemPrinter.Orientation:=rpDev.Orientation;&lt;br /&gt;  RvSystemMP.SystemPreview.RulerType:=rtBothCm;&lt;br /&gt;  RvSystemMP.SystemSetups:=RvSystemMP.SystemSetups-[ssAllowSetup];&lt;br /&gt;  RvSystemMP.SystemPreview.FormState:=wsMaximized;&lt;br /&gt;  RvSystemMP.OnPrintHeader:=RvSystemMPPrintHeader;&lt;br /&gt;  RvSystemMP.OnPrint:=RvSystemMPPrint;&lt;br /&gt;  RvSystemMP.Execute;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure NextLine(RVSystem:TRVSystem);&lt;br /&gt;begin&lt;br /&gt;  RVSystem.BaseReport.NewLine;&lt;br /&gt;  if RVSystem.BaseReport.LinesLeft = 0 then&lt;br /&gt;    RVSystem.BaseReport.NewPage;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure TForm1.CabecalhoRelatorio(Titulo1,Titulo2,Titulo3: String);&lt;br /&gt;begin&lt;br /&gt;  with RvSystemMP.BaseReport do&lt;br /&gt;  begin&lt;br /&gt;    SetFont('Tahoma',14);&lt;br /&gt;    MarginTop:=0.5;&lt;br /&gt;    Home;&lt;br /&gt;    PrintHeader(Titulo1,pjLeft);&lt;br /&gt;    MarginTop:=MarginTop+LineHeight;&lt;br /&gt;    Home;&lt;br /&gt;    SetFont('Tahoma',8);&lt;br /&gt;    PrintHeader(Titulo2,pjLeft);&lt;br /&gt;    PrintHeader('Página '+Macro(midCurrentPage)+'/'+Macro(midTotalPages),pjRight);&lt;br /&gt;    MarginTop:=MarginTop+LineHeight;&lt;br /&gt;    Home;&lt;br /&gt;    PrintHeader(Titulo3,pjLeft);&lt;br /&gt;    PrintHeader('Data '+FormatDateTime('dd/mm/yyyy',now()),pjRight);&lt;br /&gt;    Canvas.Pen.Width:=2;&lt;br /&gt;    Canvas.Pen.Color:=clBlack;&lt;br /&gt;    MoveTo(MarginLeft,YPos+0.3);&lt;br /&gt;    LineTo(PageWidth-MarginRight,YPos+0.3);&lt;br /&gt;    Bold:=True;&lt;br /&gt;    MarginTop:=MarginTop+LineHeight+0.5;&lt;br /&gt;    Home;&lt;br /&gt;    PrintLeft('Categoria',1);&lt;br /&gt;    PrintLeft('Produto',6);&lt;br /&gt;    PrintLeft('Cidade',12);&lt;br /&gt;    PrintRight('Vendas',20.5);&lt;br /&gt;    Canvas.Pen.Width:=2;&lt;br /&gt;    Canvas.Pen.Color:=clBlack;&lt;br /&gt;    MoveTo(MarginLeft,YPos+0.1);&lt;br /&gt;    LineTo(PageWidth-MarginRight,YPos+0.1);&lt;br /&gt;    Bold:=False;&lt;br /&gt;    MarginTop:=MarginTop+LineHeight+0.2;&lt;br /&gt;    Home;&lt;br /&gt;    AdjustLine;&lt;br /&gt;  end;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure TForm1.Relatorio;&lt;br /&gt;var&lt;br /&gt;  i: Word;&lt;br /&gt;begin&lt;br /&gt;  for i:=1 to 300 do&lt;br /&gt;  begin&lt;br /&gt;    RvSystemMP.BaseReport.PrintLeft('PRESTADOR DE SERVIÇOS',1);&lt;br /&gt;    RvSystemMP.BaseReport.PrintLeft('DESENVOLVIMENTO DE SOFTWARES',6);&lt;br /&gt;    RvSystemMP.BaseReport.PrintLeft('IBIPORÃ - PR',12);&lt;br /&gt;    RvSystemMP.BaseReport.PrintRight('1.200,00',20.5);&lt;br /&gt;    NextLine(RvSystemMP);&lt;br /&gt;  end;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure TForm1.RvSystemMPPrintHeader(Sender: TObject);&lt;br /&gt;begin&lt;br /&gt;  CabecalhoRelatorio('EMPRESA: AMDsoFtwares','RELATÓRIO DE VENDAS','ANO: 2008');&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure TForm1.RvSystemMPPrint(Sender: TObject);&lt;br /&gt;begin&lt;br /&gt;  Relatorio;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure TForm1.BtImprimirClick(Sender: TObject);&lt;br /&gt;begin&lt;br /&gt;  RvSystemMP:=TRvSystem.Create(Self);&lt;br /&gt;  PrintReport('Carta');&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);&lt;br /&gt;begin&lt;br /&gt;  RvSystemMP.Free;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;end.&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-141060527906285568?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/141060527906285568/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=141060527906285568' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/141060527906285568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/141060527906285568'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/02/rave-modo-programado.html' title='Rave modo programado'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-8689124802979642405</id><published>2008-02-01T00:00:00.000-08:00</published><updated>2008-12-14T05:01:53.358-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hb++'/><category scheme='http://www.blogger.com/atom/ns#' term='Handheld Basic'/><title type='text'>Simples cadastro em HB++</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_zJlWXYQ890o/R6L4mirnZ1I/AAAAAAAAAM0/uwVI9RvbPdI/s1600-h/hbcidade.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_zJlWXYQ890o/R6L4mirnZ1I/AAAAAAAAAM0/uwVI9RvbPdI/s400/hbcidade.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5161961463948470098" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Se você precisa de um cadastro básico feito em Handheld Basic HB++, baixe o arquivo &lt;a href="http://users2.titanichost.com/audreymdf/download/cadhb.zip"&gt;cadhb.zip&lt;/a&gt;, o qual contém os seguintes cadastros:&lt;br /&gt;-Cidade&lt;br /&gt;-Atividade&lt;br /&gt;-Cliente&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-8689124802979642405?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/8689124802979642405/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=8689124802979642405' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/8689124802979642405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/8689124802979642405'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/02/simples-cadastro-em-hb.html' title='Simples cadastro em HB++'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_zJlWXYQ890o/R6L4mirnZ1I/AAAAAAAAAM0/uwVI9RvbPdI/s72-c/hbcidade.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-1881482162071103518</id><published>2008-01-30T00:00:00.000-08:00</published><updated>2008-02-01T03:37:47.968-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Por dentro'/><title type='text'>Coisas que seu Celular pode fazer</title><content type='html'>&gt;&gt; O número de emergência em todo o  mundo é 112. Este número pode ser chamado mesmo que o celular esteja bloqueado ou sem saldo.&lt;br /&gt;&lt;br /&gt;&gt;&gt; Fechou o carro e deixou a chave lá dentro. Está a kilometros de casa onde tem outro controle remoto para abrir o carro? Pois bem. A solução está em fazer uma chamada para casa. Quando alguém em casa acionar o comando (próximo ao telefone), o carro abre !!!&lt;br /&gt;&lt;br /&gt;&gt;&gt; A bateria do celular descarregou. Todos os celulares têm uma reserva de carga na sua bateria. Ao digitar *3370# automaticamente é ativada a reserva dando até cerca de 50% de energia adicional. Quando voltar a recarregar o celular  automaticamente voltará a carregar esse suplemento de energia podendo ser utilizado outra vez!!!&lt;br /&gt;&lt;br /&gt;&gt;&gt; Como desativar um celular roubado? Primeiro tem de saber o número de série do celular (IMEI). Para o encontrar digite: *#06#. Ao digitar aparece no mostrador 15 dígitos. Este é o número de série do telefone. Escreva e guarde num lugar seguro e contacte a sua operadora para cancelar ou anular o telefone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-1881482162071103518?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/1881482162071103518/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=1881482162071103518' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1881482162071103518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1881482162071103518'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/01/coisas-que-seu-celular-pode-fazer.html' title='Coisas que seu Celular pode fazer'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-2272808439295792106</id><published>2008-01-29T00:00:00.000-08:00</published><updated>2008-02-04T04:01:01.352-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Utilidade Publica'/><title type='text'>Sites úteis</title><content type='html'>01. Serviço dos cartórios de todo o Brasil, que permite solicitar documentos via internet: &lt;br /&gt;www.cartorio24horas.com.br/index.php &lt;br /&gt;&lt;br /&gt;02. Site de procura e reserva de hotéis em todo o Brasil,por cidade, por faixa de preços, reservas etc.: &lt;br /&gt;www.hotelinsite.com.br&lt;br /&gt;&lt;br /&gt;03. Site que permite encontrar o transporte terrestre entre duas cidades, a transportadora, preços e horários: &lt;br /&gt;https://appweb.antt.gov.br/transp/secao_duas_localidades.asp &lt;br /&gt;&lt;br /&gt;04. Encontre a Legislação Federal e Estadual por assunto ou por número, além de súmulas dos STF, STJ e TST: &lt;br /&gt;www.soleis.adv.br&lt;br /&gt;&lt;br /&gt;05. Encontre a melhor rota entre dois locais em uma mesma cidade ou entre duas cidades, sua distância, além de localizar  a rua de sua cidade: &lt;br /&gt;www.mapafacil.com.br&lt;br /&gt;&lt;br /&gt;06. Encontre o mapa da rua das cidades, além de localizar cidades: &lt;br /&gt;http://mapas.terra.com.br/Callejero/home.asp &lt;br /&gt;&lt;br /&gt;07 Confira as condições das estradas do Brasil, além da distância entre as cidades: &lt;br /&gt;www.dnit.gov.br&lt;br /&gt;&lt;br /&gt;08. Tenha o catálogo telefônico do Brasil inteiro em sua casa. Procure o telefone daquele amigo que estudou contigo no colégio: &lt;br /&gt;www.102web.com.br &lt;br /&gt;&lt;br /&gt;09. Confira os melhores cruzeiros,datas, duração,preços,  roteiros, etc.:&lt;br /&gt;www.bestpricecruises.com/default.asp&lt;br /&gt;&lt;br /&gt;10. Site de procura, semelhante ao GOOGLE: &lt;br /&gt;www.gurunet.com &lt;br /&gt;&lt;br /&gt;11. Site que lhe dá as horas em qualquer lugar do mundo: &lt;br /&gt;www.timeticker.com/main.htm &lt;br /&gt;&lt;br /&gt;12. Site que lhe permite fazer pesquisas dentro de livros: &lt;br /&gt;www.a9.com&lt;br /&gt;&lt;br /&gt;13. Site que lhe diz tudo do Brasil desde o descobrimento por Cabral: &lt;br /&gt;www.historiadobrasil.com.br&lt;br /&gt;&lt;br /&gt;14. Site que o ajuda a conjugar verbos em 102 Idiomas: &lt;br /&gt;www.verbix.com&lt;br /&gt;&lt;br /&gt;15. Site de conversão de Unidades: &lt;br /&gt;www.webcalc.com.br/conversões/area.html&lt;br /&gt;&lt;br /&gt;16. Site para envio de e-mails pesados, acima de 50Mb: &lt;br /&gt;www.dropload.com&lt;br /&gt;&lt;br /&gt;17. Site para envio de e-mails pesados, sem limite de capacidade: &lt;br /&gt;www.sendthisfile.com&lt;br /&gt;&lt;br /&gt;18. Site que calcula qualquer correção desde 1940 até hoje, informando todos os índices disponíveis no mercado financeiro.. Grátis para Pessoa Física:&lt;br /&gt;www.debit.com.br &lt;br /&gt;&lt;br /&gt;19. Site que lhe permite ler jornais e revistas de todo o mundo. &lt;br /&gt;www.indkx.com/index.htm &lt;br /&gt;&lt;br /&gt;20. Site de procura de pessoas e empresas nos EUA. Só para achar a pessoa ou a empresa com endereço e telefone - GRÁTIS. Se quiser levantamento completo de tudo o que a pessoa tem como patrimônio, tudo que teve de problema judicial e financeiro, e outras coisas mais, ai pode custar até US$80,00 com valores intermediários: &lt;br /&gt;www.ussearch.com/consumer/index.jsp&lt;br /&gt;&lt;br /&gt;21 .. Site de câmaras virtuais, funcionando 24 hs por dia ao redor do mundo: &lt;br /&gt;www.earthcam.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-2272808439295792106?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/2272808439295792106/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=2272808439295792106' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2272808439295792106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2272808439295792106'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/01/sites-teis.html' title='Sites úteis'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-103458434374886537</id><published>2008-01-17T00:00:00.000-08:00</published><updated>2008-12-14T05:01:56.682-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Ruby On Rails - Criando um BLOG com NetBeans - 1a Parte</title><content type='html'>Este tutorial utiliza MySQL como Banco de Dados e NetBeans como IDE para Ruby On Rails.&lt;br /&gt;&lt;br /&gt;Algumas convenções:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;strong&gt;Nome da Entidade/Model&lt;/strong&gt;&lt;br /&gt;Nome da classe no singular em inglês (ex.: person&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Nome da Tabela correspondente&lt;/strong&gt;&lt;br /&gt;Nome da tabela no plural em inglês (ex.: people)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Se houver tabela de relacionamento para many-to-many&lt;/strong&gt;&lt;br /&gt;Nomes das duas tabelas, separadas por “_” e em ordem alfabética (ex.: people_users)&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Nome da coluna que é chave primária, de qualquer tabela&lt;/strong&gt;&lt;br /&gt;id (e será sempre integer e, se o banco suportar, auto incrementado&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Nome de coluna para chave estrangeira&lt;/strong&gt;&lt;br /&gt;Nome da tabela a quem se liga, no singular, concatenado com _id. (ex.: person_id)&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Não somos obrigados a seguir estas convenções, mas se as convenções forem seguidas as configurações diminuirão para perto de zero. Neste exemplo, queremos seguir os padrões.&lt;br /&gt;&lt;br /&gt;Uma coisa que Rails ainda não faz é criar o banco de dados propriamente dito.&lt;br /&gt;Por isso, antes de criar um projeto do Ruby On Rails no NetBeans, entre no prompt de comando do MySQL e crie uma Base de Dados conforme figura abaixo, não se preocupe com as tabelas o Ruby On Rails fará isso por nós.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_zJlWXYQ890o/R2CL5xHuwAI/AAAAAAAAAKY/iE58bL5zsds/s1600-h/001_create_db.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_zJlWXYQ890o/R2CL5xHuwAI/AAAAAAAAAKY/iE58bL5zsds/s400/001_create_db.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5143264599011672066" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Na IDE do NetBeans, Selecione File &gt;&gt; New Project, em Categories selecione Ruby, em Projects selecione Ruby On Rails Application conforme figura abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_zJlWXYQ890o/R2CNchHuwBI/AAAAAAAAAKg/QBkNBUiLjW4/s1600-h/002_create_project1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/R2CNchHuwBI/AAAAAAAAAKg/QBkNBUiLjW4/s400/002_create_project1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5143266295523754002" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Click em Next, na próxima etapa em Project Name digite rubyweblog, conforme figura abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_zJlWXYQ890o/R2COexHuwCI/AAAAAAAAAKo/gxIN_mGKleE/s1600-h/003_create_project2.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_zJlWXYQ890o/R2COexHuwCI/AAAAAAAAAKo/gxIN_mGKleE/s400/003_create_project2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5143267433690087458" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Click em Finish, em seguida coloque o username e password no arquivo database.yml conforme figura abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_zJlWXYQ890o/R2CPkhHuwDI/AAAAAAAAAKw/2cr2nXnSF2Q/s1600-h/004_dbYml_senha.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/R2CPkhHuwDI/AAAAAAAAAKw/2cr2nXnSF2Q/s400/004_dbYml_senha.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5143268631985963058" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Agora vamos utilizar o generator do Rails para criar um model para o Blog.&lt;br /&gt;Na janela de Projetos click com o botão direito do mouse em Models e click em Generate . . . &lt;br /&gt;Na tela que vai aparecer em Arguments digite o seguinte:&lt;br /&gt;Post title: String&lt;br /&gt;&lt;br /&gt;Uma das convenções de Rails é que os nomes das tabelas sejam no plural, em inglês.&lt;br /&gt;&lt;br /&gt;Veja figura abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_zJlWXYQ890o/R2CRkRHuwEI/AAAAAAAAAK4/14Q9Dcnwr_E/s1600-h/005_generate_model_post.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_zJlWXYQ890o/R2CRkRHuwEI/AAAAAAAAAK4/14Q9Dcnwr_E/s400/005_generate_model_post.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5143270826714251330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Click em Ok, seu projeto deverá ficar assim:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_zJlWXYQ890o/R2CSLxHuwFI/AAAAAAAAALA/AVb_iO4hmtM/s1600-h/006_create_model_post.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_zJlWXYQ890o/R2CSLxHuwFI/AAAAAAAAALA/AVb_iO4hmtM/s400/006_create_model_post.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5143271505319084114" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Na janela acima observe o arquivo criado 001_create_posts.rb, sim é ele que vai criar a tabela Posts no MySQL com uma coluna chamada titles do tipo string. Para isso, faça o seguinte:&lt;br /&gt;Na janela de Projetos click com o botão direito no projeto e selecione Migrate DataBase &gt;&gt; To Current Version . . . pronto o MySQL já tem uma tabela chamada Posts.&lt;br /&gt;&lt;br /&gt;Agora vamos criar um Controller para o projeto. &lt;br /&gt;Na janela de Projetos click com o botão direito do mouse em Controllers e click em Generate . . . &lt;br /&gt;Na tela que vai aparecer em Name digite Blog, veja figura abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_zJlWXYQ890o/R2CS6hHuwGI/AAAAAAAAALI/DoRjfF8Nq_0/s1600-h/007_generate_controller_blog.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/R2CS6hHuwGI/AAAAAAAAALI/DoRjfF8Nq_0/s400/007_generate_controller_blog.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5143272308477968482" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Click em Ok, veja figura abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_zJlWXYQ890o/R2r54G0_2tI/AAAAAAAAALQ/jr-5U4iq0cA/s1600-h/008_create_controller_blog.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_zJlWXYQ890o/R2r54G0_2tI/AAAAAAAAALQ/jr-5U4iq0cA/s400/008_create_controller_blog.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5146200266525104850" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Agora no arquivo blog_controller.rb coloque o seguinte código, conforme figura acima:&lt;br /&gt;scaffold :post&lt;br /&gt;&lt;br /&gt;O scaffold serve para criar os ligamentos entre &lt;strong&gt;M&lt;/strong&gt;odel-&lt;strong&gt;V&lt;/strong&gt;iew-&lt;strong&gt;C&lt;/strong&gt;ontroller em termos das operações CRUD.&lt;br /&gt;C - Create&lt;br /&gt;R - Read&lt;br /&gt;U - Update&lt;br /&gt;D - Delete&lt;br /&gt;&lt;br /&gt;Na janela de Projetos expanda a Pasta Configuration e abra o arquivo routes.rb (define como as URLs são mapeadas para controllers e ações) . Procure a seguinte linha:&lt;br /&gt;&lt;br /&gt;# map.connect '', :controller =&gt; "welcome"&lt;br /&gt;&lt;br /&gt;Remova o comentário (#), e troque "welcome" por "blog" veja figura abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_zJlWXYQ890o/R2sBJ20_2vI/AAAAAAAAALg/CSe39mHEub8/s1600-h/009_routes_rb.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_zJlWXYQ890o/R2sBJ20_2vI/AAAAAAAAALg/CSe39mHEub8/s400/009_routes_rb.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5146208268049177330" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Novamente na janela de Projetos expanda a Pasta Public e delete o arquivo index.html&lt;br /&gt;&lt;br /&gt;Click em File &gt;&gt; Save All e rode a aplicação pressionando F6 . . . vc deverá visualizar a figura abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/R2sDLG0_2xI/AAAAAAAAALw/kqlhoHlucR4/s1600-h/010_listing_post.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/R2sDLG0_2xI/AAAAAAAAALw/kqlhoHlucR4/s400/010_listing_post.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5146210488547269394" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;O próximo passo agora é criar um campo para que o usuário digite a mensagem no Blog. Para isso na janela de Projetos click com o botão direito do mouse em DataBase Migrations e click em Generate . . . em Arguments coloque AddBody conforme figura abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_zJlWXYQ890o/R3LDZG0_2zI/AAAAAAAAAME/m8_HAzjQkyg/s1600-h/011_addBody.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_zJlWXYQ890o/R3LDZG0_2zI/AAAAAAAAAME/m8_HAzjQkyg/s400/011_addBody.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5148392160134945586" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;No arquivo criado 002_add_body.rb digite o seguinte código logo após def self.up:&lt;br /&gt;add_column :posts, :body, :text&lt;br /&gt;*Se você digitar mcol e teclar TAB a IDE colocará um template em seu código.&lt;br /&gt;&lt;br /&gt;Veja figura abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_zJlWXYQ890o/R3LHQ20_20I/AAAAAAAAAMM/uEfBKqqQGBw/s1600-h/012_addBody.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/R3LHQ20_20I/AAAAAAAAAMM/uEfBKqqQGBw/s400/012_addBody.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5148396416447535938" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Agora na janela de Projetos click com o botão direito no projeto e selecione Migrate DataBase &gt;&gt; To Current Version . . . para criar o campo body do tipo text na Tabela Posts.&lt;br /&gt;&lt;br /&gt;Não queremos que o título e a mensagem fiquem sem preenchimento, então vamos fazer a  validação dos campos.&lt;br /&gt;Na janela de Projetos expanda a Pasta Models e de um duplo click no arquivo post.rb, insira o seguinte código:&lt;br /&gt;validates_presence_of :title, :body&lt;br /&gt;*Se você digitar vp e teclar TAB a IDE colocará um template em seu código.&lt;br /&gt;&lt;br /&gt;Veja figura abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_zJlWXYQ890o/R3LJR20_21I/AAAAAAAAAMU/4j9ofXDLCZg/s1600-h/013_addBody.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/R3LJR20_21I/AAAAAAAAAMU/4j9ofXDLCZg/s400/013_addBody.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5148398632650660690" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Compilei e adicionei alguns Posts, vejam como ficou:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/R452BW0_23I/AAAAAAAAAMk/mV92QCpS0-g/s1600-h/014_Tela1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/R452BW0_23I/AAAAAAAAAMk/mV92QCpS0-g/s400/014_Tela1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5156188389065612146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Vamos melhorar a interface do Blog ?? Então vamos lá . . .&lt;br /&gt;Na janela de Projetos click com o botão direito do mouse em Views e click em Generate . . . &lt;br /&gt;Na tela que vai aparecer no Combo Box Generate selecione scaffold, em Model Name digite Post, em Controoler Name digite Blog e selecione Overwrite. Veja figura abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_zJlWXYQ890o/R4_mv20_24I/AAAAAAAAAMs/1E-FNHrU8G8/s1600-h/015_Scaffod.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_zJlWXYQ890o/R4_mv20_24I/AAAAAAAAAMs/1E-FNHrU8G8/s400/015_Scaffod.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5156593808208550786" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Click em Ok&lt;br /&gt;&lt;br /&gt;Na janela de Projetos click com o bot&amp;atilde;o direito do mouse em&lt;br /&gt;Views &amp;gt;&amp;gt; Blog e abra o arquivo list.rhtml. &lt;br /&gt;Agora substituia o código entre &amp;lt;h1&amp;gt; e &amp;lt;Table&amp;gt; por este:&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&amp;lt;h2&amp;gt;Blog Ruby On Rails&amp;lt;/h2&amp;gt;&lt;br /&gt;&amp;lt;% @posts.each do |post| %&amp;gt;&lt;br /&gt;&amp;lt;h3&amp;gt;&amp;lt;%= post.title %&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;lt;p&amp;gt;&amp;lt;%= post.body %&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;lt;h3&amp;gt; &amp;lt;%= link_to 'View', :action =&amp;gt; 'show', :id =&amp;gt; post %&amp;gt;&amp;lt;/h3&amp;gt;&lt;br /&gt;&amp;lt;hr&amp;gt;&lt;br /&gt;&amp;lt;% end %&amp;gt;&lt;br /&gt;&lt;br /&gt;Pronto, a primeira parte está ok . . .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-103458434374886537?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/103458434374886537/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=103458434374886537' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/103458434374886537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/103458434374886537'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/12/ruby-on-rails-criando-um-blog.html' title='Ruby On Rails - Criando um BLOG com NetBeans - 1a Parte'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_zJlWXYQ890o/R2CL5xHuwAI/AAAAAAAAAKY/iE58bL5zsds/s72-c/001_create_db.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-3464481154029728201</id><published>2008-01-16T00:00:00.000-08:00</published><updated>2008-12-14T05:01:56.868-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Componentes'/><category scheme='http://www.blogger.com/atom/ns#' term='Firebird'/><title type='text'>Nova versão do ZEOS</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_zJlWXYQ890o/R43nBW0_22I/AAAAAAAAAMc/bOtTGmG3JAA/s1600-h/zeosdbo.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_zJlWXYQ890o/R43nBW0_22I/AAAAAAAAAMc/bOtTGmG3JAA/s400/zeosdbo.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5156031158902840162" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Acaba de ser lançada a versão 6.6.2 RC do ZeosDBO, trazendo diversas correções de bugs, incluindo vários exemplos de uso do Zeos com o Firebird.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://zeosdownload.firmos.at/downloads/releases/ZEOSDBO-6.6.2-rc.zip"&gt;download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-3464481154029728201?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/3464481154029728201/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=3464481154029728201' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/3464481154029728201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/3464481154029728201'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/01/nova-verso-do-zeos.html' title='Nova versão do ZEOS'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_zJlWXYQ890o/R43nBW0_22I/AAAAAAAAAMc/bOtTGmG3JAA/s72-c/zeosdbo.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-8154696260801463355</id><published>2008-01-14T00:00:00.001-08:00</published><updated>2008-01-18T03:21:36.877-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='NHibernate'/><title type='text'>.NET: Cinco dicas sobre o NHibernate</title><content type='html'>Vale a pena conferir esse artigo do Marcos Dell' Antonio&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.marcosdellantonio.net/2007/01/08/net-cinco-dicas-sobre-o-nhibernate/"&gt;www.marcosdellantonio.net&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-8154696260801463355?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/8154696260801463355/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=8154696260801463355' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/8154696260801463355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/8154696260801463355'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/01/net-cinco-dicas-sobre-o-nhibernate.html' title='.NET: Cinco dicas sobre o NHibernate'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-5340673807070114342</id><published>2008-01-14T00:00:00.000-08:00</published><updated>2008-01-18T02:36:15.481-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><category scheme='http://www.blogger.com/atom/ns#' term='NHibernate'/><title type='text'>.NET: Guia Inicial do NHibernate</title><content type='html'>&lt;blockquote&gt;&lt;br /&gt;NHibernate é uma biblioteca (Framework) baseada em .NET para persistir os objetos para bases de dados relacionais. Baseado em uma ferramenta de persistência de dados do Java, chamado Hibernate, o NHibernate tem a finalidade de persistir os objetos .NET em uma base de dados relacional subjacente. Isso facilita muito ao invés de escrever códigos SQL dentro e fora da base de dados, pois o NHibernate gera o código SQL necessário, certificando-se que os tipos e o valores são corretamente criados. Veja o guia completo em &lt;a href="http://www.linhadecodigo.com.br/Artigo.aspx?id=546"&gt;www.linhadecodigo.com.br&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Por: Israel Aéce&lt;br /&gt;E-mail: israel@projetando.net &lt;br /&gt;&lt;br /&gt;Microsoft MVP, MCP, MCAD, MCTS e MCT. Fundador do site Projetando.NET (http://www.projetando.net). Atualmente atua como desenvolvedor de aplicações .NET. Blog: http://weblogs.pontonetpt.com/israelaece/.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-5340673807070114342?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/5340673807070114342/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=5340673807070114342' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/5340673807070114342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/5340673807070114342'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2008/01/net-guia-inicial-do-nhibernate.html' title='.NET: Guia Inicial do NHibernate'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-2949876093967896202</id><published>2007-12-04T00:00:00.000-08:00</published><updated>2007-12-04T11:01:24.248-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Por dentro'/><title type='text'>Pirataria de Software</title><content type='html'>&lt;strong&gt;Multa De 3.000 Vezes - A Grande Mentira Das Campanhas Antipirataria&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Artigo esclarecedor sobre pirataria de Software&lt;br /&gt;&lt;br /&gt;Veja em &lt;a href="http://www.dicas-l.com.br/dicas-l/20040908.php"&gt;www.dicas-l.com.br&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-2949876093967896202?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/2949876093967896202/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=2949876093967896202' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2949876093967896202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2949876093967896202'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/12/pirataria-de-software.html' title='Pirataria de Software'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-2911573449283842883</id><published>2007-11-29T00:00:00.000-08:00</published><updated>2008-12-14T05:01:57.042-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>RoRED para Ruby OnRails</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_zJlWXYQ890o/R06VIHeFneI/AAAAAAAAAKM/IQ0nDUIykIw/s1600-h/rored.gif"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_zJlWXYQ890o/R06VIHeFneI/AAAAAAAAAKM/IQ0nDUIykIw/s400/rored.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5138208191553052130" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;IDE para Ruby On Rails for Windows&lt;br /&gt;&lt;br /&gt;Download &lt;a href="http://www.plasmacode.com/index.html"&gt;www.plasmacode.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-2911573449283842883?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/2911573449283842883/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=2911573449283842883' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2911573449283842883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2911573449283842883'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/rored-para-ruby-onrails.html' title='RoRED para Ruby OnRails'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_zJlWXYQ890o/R06VIHeFneI/AAAAAAAAAKM/IQ0nDUIykIw/s72-c/rored.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-370050015806316069</id><published>2007-11-26T00:00:00.000-08:00</published><updated>2008-12-14T05:01:57.292-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>Hibernate .net</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/R0sXEneFndI/AAAAAAAAAKE/VgO3mbByuZc/s1600-h/hibernate_stacks.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/R0sXEneFndI/AAAAAAAAAKE/VgO3mbByuZc/s400/hibernate_stacks.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5137225168028278226" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;"O Hibernate é um framework para o mapeamento objeto-relacional escrito na linguagem Java, mas também é disponível em .Net com o nome NHibernate. Este programa facilita o mapeamento dos atributos entre uma base tradicional de dados relacionais e o modelo objeto de uma aplicação, mediante o uso de arquivos (XML) para estabelecer esta relação.&lt;br /&gt;&lt;br /&gt;Hibernate é um software livre de código aberto distribuído com a licença LGPL."&lt;br /&gt;Fonte &lt;a href="http://pt.wikipedia.org/wiki/Hibernate"&gt;http://pt.wikipedia.org/wiki/Hibernate&lt;/a&gt;&lt;/blockquote&gt;&lt;br /&gt;Veja detalhes em: &lt;a href="http://www.hibernate.org/"&gt;www.hibernate.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.hibernate.org/343.html"&gt;Download Hibernate .net&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-370050015806316069?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/370050015806316069/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=370050015806316069' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/370050015806316069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/370050015806316069'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/hibernate-net.html' title='Hibernate .net'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zJlWXYQ890o/R0sXEneFndI/AAAAAAAAAKE/VgO3mbByuZc/s72-c/hibernate_stacks.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-7576928423821758331</id><published>2007-11-21T00:00:00.001-08:00</published><updated>2008-12-14T05:01:57.694-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>IDE Eclipse para Ruby on Rails</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_zJlWXYQ890o/R0WEuXeFnbI/AAAAAAAAAJ0/jqnUaioEMnk/s1600-h/eclipse.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_zJlWXYQ890o/R0WEuXeFnbI/AAAAAAAAAJ0/jqnUaioEMnk/s400/eclipse.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5135656882194980274" /&gt;&lt;/a&gt;&lt;br /&gt;IDE para Ruby on Rails&lt;br /&gt;&lt;br /&gt;&lt;a href="http://easyeclipse.org/site/distributions/ruby-rails.html"&gt;EasyEclipse for Ruby and Rails&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-7576928423821758331?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/7576928423821758331/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=7576928423821758331' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/7576928423821758331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/7576928423821758331'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/ide-eclipse-para-ruby-on-rails.html' title='IDE Eclipse para Ruby on Rails'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_zJlWXYQ890o/R0WEuXeFnbI/AAAAAAAAAJ0/jqnUaioEMnk/s72-c/eclipse.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-2826296810679845005</id><published>2007-11-21T00:00:00.000-08:00</published><updated>2008-12-14T05:01:57.836-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>NetBeans IDE com Ruby</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_zJlWXYQ890o/R0SAYneFnaI/AAAAAAAAAJs/TsUMiVjvuJU/s1600-h/listing_posts_2.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_zJlWXYQ890o/R0SAYneFnaI/AAAAAAAAAJs/TsUMiVjvuJU/s320/listing_posts_2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5135370635509603746" /&gt;&lt;/a&gt;&lt;br /&gt;Crie um blog em 10 minutos com a IDE do NetBeans com suporte a Ruby.&lt;br /&gt;&lt;br /&gt;Acesse o Link abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.netbeans.org/kb/60/ruby/rapid-ruby-weblog.html"&gt;http://www.netbeans.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-2826296810679845005?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/2826296810679845005/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=2826296810679845005' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2826296810679845005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2826296810679845005'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/netbeans-ide-com-ruby.html' title='NetBeans IDE com Ruby'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_zJlWXYQ890o/R0SAYneFnaI/AAAAAAAAAJs/TsUMiVjvuJU/s72-c/listing_posts_2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-3773842444806347719</id><published>2007-11-20T00:00:00.000-08:00</published><updated>2008-12-14T05:02:00.013-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><title type='text'>Ruby on Rails</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_zJlWXYQ890o/R0MXxXeFnLI/AAAAAAAAAH0/n1WcR6v6xRs/s1600-h/rails.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_zJlWXYQ890o/R0MXxXeFnLI/AAAAAAAAAH0/n1WcR6v6xRs/s400/rails.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5134974137013738674" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Instalação do Ruby on Rails no Windows XP&lt;/strong&gt;&lt;br /&gt;&lt;blockquote&gt;"Ruby on Rails é um framework de desenvolvimento web de código aberto otimizado para a produtividade sustentável e a diversão do programador. Ele permite que você escreva código de forma elegante, favorecendo a convenção ao invés da configuração."&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Opções de download do Ruby &lt;a href="http://www.rubyonrails.com.br/down"&gt;http://www.rubyonrails.com.br/down&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Até a data deste post o site recomendava baixar Ruby 1.8.5&lt;br /&gt;download &lt;a href="http://rubyforge.org/frs/download.php/17647/ruby185-24.exe"&gt;ruby185-24.exe  Tam 22.75 MB (Windows executable)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Na instalação não esqueça de deixar selecionada a opção para instalar o “RubyGems”, como exibida na imagem abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_zJlWXYQ890o/R0Q3v3eFnQI/AAAAAAAAAIc/M0dV0g_MLJ0/s1600-h/install1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/R0Q3v3eFnQI/AAAAAAAAAIc/M0dV0g_MLJ0/s400/install1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5135290770592734466" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Na próxima tela, o instalador configura o diretório de destino para “C:\ruby”. Se você for um iniciante não modifique o diretório de destino, para evitar possíveis erros com scripts e endereço padrão, veja figura abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_zJlWXYQ890o/R0Q4UHeFnRI/AAAAAAAAAIk/hba4JICVTUs/s1600-h/install2.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_zJlWXYQ890o/R0Q4UHeFnRI/AAAAAAAAAIk/hba4JICVTUs/s400/install2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5135291393362992402" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Após a instalação abra o terminal do MSDOS/CMD e digite:&lt;br /&gt;&lt;strong&gt;ruby –v&lt;/strong&gt;&lt;br /&gt;Se tudo deu certo . . . deverá mostrar a versão do Ruby, veja figura abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_zJlWXYQ890o/R0Q4q3eFnSI/AAAAAAAAAIs/7-YvtSRpD58/s1600-h/prompt1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/R0Q4q3eFnSI/AAAAAAAAAIs/7-YvtSRpD58/s400/prompt1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5135291784205016354" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Agora vamos atualizar os pacotes do Ruby, digite:&lt;br /&gt;&lt;strong&gt;gem update&lt;/strong&gt;&lt;br /&gt;Você deverá escolher a versão para atualização, selecione a maior versão disponível com o sufixo (mswin32), veja figura abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_zJlWXYQ890o/R0Q5FneFnTI/AAAAAAAAAI0/RcMkqyWYWts/s1600-h/prompt3.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_zJlWXYQ890o/R0Q5FneFnTI/AAAAAAAAAI0/RcMkqyWYWts/s400/prompt3.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5135292243766517042" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Nota: Se ocorrer algum erro durante a atualização, digite novamente o comando:&lt;br /&gt;&lt;strong&gt;gem update&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Após a atualização do RubyGems, vamos instalar o rails e seus “sub” frameworks chamados de dependências.&lt;br /&gt;Digite o comando:&lt;br /&gt;&lt;strong&gt;gem install rails --include-dependencies&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/R0RZCXeFnUI/AAAAAAAAAI8/_z8amBKsjcQ/s1600-h/prompt7.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/R0RZCXeFnUI/AAAAAAAAAI8/_z8amBKsjcQ/s400/prompt7.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5135327372304031042" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Instalação finalizada. Veja figura Abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_zJlWXYQ890o/R0RZeneFnVI/AAAAAAAAAJE/PUWQhUp6kCM/s1600-h/prompt8.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_zJlWXYQ890o/R0RZeneFnVI/AAAAAAAAAJE/PUWQhUp6kCM/s400/prompt8.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5135327857635335506" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Após a instalação do rails ainda com o terminal aberto. Digite o seguinte comando:&lt;br /&gt;&lt;strong&gt;rails –v&lt;/strong&gt; &lt;br /&gt;. . . deverá mostrar a última versão estável do rails instalada&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_zJlWXYQ890o/R0RZu3eFnWI/AAAAAAAAAJM/_HuL_fXOorA/s1600-h/prompt9.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/R0RZu3eFnWI/AAAAAAAAAJM/_HuL_fXOorA/s400/prompt9.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5135328136808209762" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A instalação foi concluída. Agora vamos criar um projeto e testar.&lt;br /&gt;Digite:&lt;br /&gt;&lt;strong&gt;rails meuProjeto&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Será criado toda a estrutura de diretórios onde você começará a desenvolver seu sistema.&lt;br /&gt;Entre no diretório criado com o nome meuProjeto, digite:&lt;br /&gt;&lt;strong&gt;cd meuProjeto&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Agora que você está dentro do diretório meuProjeto digite o comando abaixo para iniciar o servidor WebRick:&lt;br /&gt;&lt;strong&gt;ruby script/server&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_zJlWXYQ890o/R0RfPneFnXI/AAAAAAAAAJU/qv-DDSQ01sI/s1600-h/executando.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_zJlWXYQ890o/R0RfPneFnXI/AAAAAAAAAJU/qv-DDSQ01sI/s400/executando.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5135334197007064434" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Agora confira no seu navegador a sua aplicação rodando:&lt;br /&gt;digite:&lt;br /&gt;http://localhost:3000&lt;br /&gt;&lt;br /&gt;Deverá aparecer a imagem abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_zJlWXYQ890o/R0Rh53eFnZI/AAAAAAAAAJk/Bi0oXPjbhEM/s1600-h/browserIE.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/R0Rh53eFnZI/AAAAAAAAAJk/Bi0oXPjbhEM/s400/browserIE.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5135337121879793042" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-3773842444806347719?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/3773842444806347719/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=3773842444806347719' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/3773842444806347719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/3773842444806347719'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/ruby-on-rails.html' title='Ruby on Rails'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_zJlWXYQ890o/R0MXxXeFnLI/AAAAAAAAAH0/n1WcR6v6xRs/s72-c/rails.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-292957826112648425</id><published>2007-11-19T00:00:00.001-08:00</published><updated>2007-12-04T08:47:53.638-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Atualização da Chave do Produto Windows</title><content type='html'>Se você tem um Windows pirata, mas comprou o software e agora quer regularizar o Windows e não quer instalar novamente o Sistema Operacional . . .&lt;br /&gt;&lt;br /&gt;Acesse o link &lt;a href="http://www.microsoft.com/genuine/selfhelp/XPPkuinst.aspx?displaylang=pt-br&amp;sGuid=9790e265-a347-4bc1-b77a-8aca6b652922"&gt;www.microsoft.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-292957826112648425?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/292957826112648425/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=292957826112648425' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/292957826112648425'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/292957826112648425'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/atualizao-da-chave-do-produto-windows.html' title='Atualização da Chave do Produto Windows'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-878544588189718331</id><published>2007-11-19T00:00:00.000-08:00</published><updated>2008-12-14T05:02:00.281-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Redes'/><title type='text'>35 soluções para problemas de rede</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_zJlWXYQ890o/R0gdbHeFncI/AAAAAAAAAJ8/hEdIcN2Ey7g/s1600-h/pcworld.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_zJlWXYQ890o/R0gdbHeFncI/AAAAAAAAAJ8/hEdIcN2Ey7g/s400/pcworld.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5136387726714969538" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;"Saiba como resolver entraves reais do dia-a-dia: dead spots, ameaças à segurança e interrupções de streaming de media.&lt;br /&gt;&lt;br /&gt;Redes são boas e funcionais quando servem de plano de fundo para o trabalho principal sem causar ruídos. Mas, mais freqüentemente do que o tolerável, elas costumam falhar (ou, no jargão da tecnologia, ‘cair’).&lt;br /&gt;&lt;br /&gt;Quando uma impressão é interrompida ou uma conversa no Skype apresenta falhas sempre que algum usuário na rede começa a assistir vídeos no YouTube, é hora então de entender o que faz a sua rede ‘soluçar’ e aplicar algumas estratégias e truques para ajudar o tráfego da rede fluir."&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;fonte  &lt;a href="http://pcworld.uol.com.br/reportagens/2007/03/30/idgnoticia.2007-03-30.3850625759/view"&gt;pcworld.uol.com.br :: Artigo: 35 soluções para problemas de rede&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-878544588189718331?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/878544588189718331/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=878544588189718331' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/878544588189718331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/878544588189718331'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/35-solues-para-problemas-de-rede.html' title='35 soluções para problemas de rede'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_zJlWXYQ890o/R0gdbHeFncI/AAAAAAAAAJ8/hEdIcN2Ey7g/s72-c/pcworld.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-1168951000724937609</id><published>2007-11-16T00:00:00.001-08:00</published><updated>2008-12-14T05:02:00.462-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Palm'/><title type='text'>Handheld Basic 2.50 Beta</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/RzhWNTWNinI/AAAAAAAAAHU/Y4e8UKEQN2k/s1600-h/hb_logo.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/RzhWNTWNinI/AAAAAAAAAHU/Y4e8UKEQN2k/s320/hb_logo.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5131946561920404082" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Disponivel para download a versão 2.50 beta do Handheld Basic (HB++), ferramenta de desenvolvimento que permite criar programas para Palm OS totalmente orientado à objetos, utilizando a linguagem Basic e em um ambiente (IDE) muito semelhante ao Visual Basic 6.0.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.handheld-basic.com/download.php?Fileid=11"&gt;download versão 2.50 beta Handheld Basic (HB++)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Ambiente de Desenvolvimento&lt;/strong&gt;&lt;br /&gt;&lt;li&gt;Compatibilidade com o Windows Vista;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Arquivos do projeto em formato XML em UTF-8 (Unicode) e conversor de projetos antigos;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Melhor integração com ferramentas de controle de versão;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Grandes melhorias na tradução de aplicações (Localization);&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Recurso de folding no editor, permitindo expandir ou contrair trechos de código;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Alteração de propriedades semelhates de múltiplos controles selecinados;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Importação de arquivos PNG e GIF, além de BMP, sem prejudicar a performance ou tamanho da aplicação.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Compilador&lt;/strong&gt;&lt;br /&gt;&lt;li&gt;O compilador HB++ agora pode ser executado via linha de comando;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Quebra de linhas de código utilizando caracter "_" (underscore), semelhante ao Visual Basic;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Chamada de métodos com parênteses, mesmo sem utilizar a instrução Call;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Métodos públicos Read and Write agora fazem parte da classe Stream;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Melhor verificação de conversões implicitas em objetos;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Definição do tipo de dados serão armazenados em objetos Collection em tempo de compilação;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Variáveis de ponto flutuante agora são consideradas como Double;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Possibilidade de compressão de resources binários;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Instrução Set passou a ser opcional para associação de objetos.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Biblioteca de Classes&lt;/strong&gt;&lt;br /&gt;&lt;li&gt;Nova classe XmlParser utilizada para leitura de arquivos XML;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Novo controle HtmlViewer utilizada para exibir documentos XHTML;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Utilização de Expressões Regulares no método StringMatcher.InStr;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Novas funções BuildURL e SplitURL para manipular URLs;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Nova classe StreamComposite para leitura de vários streams como se fossem um único stream;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Funções Format e CDate agora suportam ISO 8601, permitindo conversões independentes das definições das preferências do PDA;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;As propriedades DatabaseInfo.CardNumber e DatabaseInfo.LocalID agora estão disponíveis em modo de gravação;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;A antiga classe Telephony foi totalmente reconstruída, permitindo enviar e receber mensagens SMS, e obter informações do telefone. Foram adicionadas as classes PhoneBook e SMS que complementam a classe Telephony;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Nova função FilterAddress verifica se uma determinada sentença é uma combinação das iniciais de um nome, sobrenome ou empresa, na agenda de endereços.&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;Fonte &lt;a href="http://www.pdaexpert.net"&gt;PDAExpert&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-1168951000724937609?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/1168951000724937609/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=1168951000724937609' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1168951000724937609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1168951000724937609'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/handheld-basic-250-beta.html' title='Handheld Basic 2.50 Beta'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zJlWXYQ890o/RzhWNTWNinI/AAAAAAAAAHU/Y4e8UKEQN2k/s72-c/hb_logo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-7244786117854325766</id><published>2007-11-16T00:00:00.000-08:00</published><updated>2007-11-16T15:06:06.943-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>Gerar arquivo XML para ANVISA (SNGPC)</title><content type='html'>O SNGPC é constituído por um ambiente de recebimento de dados (XML) da ANVISA.&lt;br /&gt;Estes dados deverão ser enviados com estrutura e extensão XML.&lt;br /&gt;Estes conterão as movimentações diárias de medicamentos e substâncias sujeitas a controle especial que deverão ser enviadas eletronicamente pela internet para a ANVISA via SNGPC.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.anvisa.gov.br/hotsite/sngpc/index.asp"&gt;SNGPC :: Sistema Nacional de Gerenciamento de Produtos Controlados &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Segue abaixo um exemplo de exportação de dados para XML, em Delphi7&lt;br /&gt;Ainda não foi testado, serve apenas como ponto de partida para quem estiver com dificuldades.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;implementation&lt;br /&gt;&lt;br /&gt;{$R *.dfm}&lt;br /&gt;&lt;br /&gt;uses XMLIntf, XMLDoc;&lt;br /&gt;&lt;br /&gt;procedure TForm1.Button1Click(Sender: TObject);&lt;br /&gt;var&lt;br /&gt;  i,x: Word;&lt;br /&gt;  NCorpo,NMedicamento,NData: IXMLNode;&lt;br /&gt;  XMLDoc: TXMLDocument;&lt;br /&gt;begin&lt;br /&gt;  x:=1;&lt;br /&gt;  //x:=10;&lt;br /&gt;  // Cria o documento&lt;br /&gt;  XMLDoc:=TXMLDocument.Create(Application);&lt;br /&gt;  with XMLDoc do&lt;br /&gt;  begin&lt;br /&gt;    Active:=True;&lt;br /&gt;    Version:='1.0';&lt;br /&gt;    Encoding:='ISO-8859-1';&lt;br /&gt;    AddChild('mensagemSNGPC','urn:sngpc-schema');&lt;br /&gt;    with DocumentElement do&lt;br /&gt;    begin&lt;br /&gt;      AddChild('cabecalho');&lt;br /&gt;      ChildNodes.Last.AddChild('cnpjEmissor').NodeValue:='99999999000199';&lt;br /&gt;      ChildNodes.Last.AddChild ('cpfTransmissor').NodeValue:='00000000000';&lt;br /&gt;      ChildNodes.Last.AddChild('dataInicio').NodeValue:=FormatDateTime('yyyy-mm-dd',Date);&lt;br /&gt;      ChildNodes.Last.AddChild('dataFim').NodeValue:=FormatDateTime('yyyy-mm-dd',Date);&lt;br /&gt;    end;&lt;br /&gt;    NCorpo:=DocumentElement.AddChild('corpo');&lt;br /&gt;    // *************************** MEDICAMENTO *********************************&lt;br /&gt;    NMedicamento:=NCorpo.AddChild('medicamentos');&lt;br /&gt;    // Loop das [Entradas] :: MEDICAMENTO&lt;br /&gt;    for i:=1 to x do&lt;br /&gt;    begin&lt;br /&gt;      NData:=NMedicamento.AddChild('entradaMedicamentos');&lt;br /&gt;      with NData do&lt;br /&gt;      begin&lt;br /&gt;        ChildNodes['notaFiscalEntradaMedicamento'].ChildNodes['numeroNotaFiscal'].NodeValue:=IntToStr(i);&lt;br /&gt;        // [tipoOperacaoNotaFiscal]&lt;br /&gt;        // 1 Compra&lt;br /&gt;        // 2 Transferência&lt;br /&gt;        // 3 Venda&lt;br /&gt;        ChildNodes['notaFiscalEntradaMedicamento'].ChildNodes['tipoOperacaoNotaFiscal'].NodeValue:='1';&lt;br /&gt;        ChildNodes['notaFiscalEntradaMedicamento'].ChildNodes['dataNotaFiscal'].NodeValue:=FormatDateTime('yyyy-mm-dd',Date);&lt;br /&gt;        ChildNodes['notaFiscalEntradaMedicamento'].ChildNodes['cnpjOrigem'].NodeValue:='99999999000199';&lt;br /&gt;        ChildNodes['notaFiscalEntradaMedicamento'].ChildNodes['cnpjDestino'].NodeValue:='99999999000199';&lt;br /&gt;        ChildNodes['medicamentoEntrada'].ChildNodes['registroMSMedicamento'].NodeValue:='1010000750061';&lt;br /&gt;        ChildNodes['medicamentoEntrada'].ChildNodes['numeroLoteMedicamento'].NodeValue:='RV365';&lt;br /&gt;        ChildNodes['medicamentoEntrada'].ChildNodes['quantidadeMedicamento'].NodeValue:='12';&lt;br /&gt;        ChildNodes['dataRecebimentoMedicamento'].NodeValue:=FormatDateTime('yyyy-mm-dd',Date);&lt;br /&gt;      end;&lt;br /&gt;    end;&lt;br /&gt;    // Loop das [Saidas] :: MEDICAMENTO&lt;br /&gt;    for i:=1 to x do&lt;br /&gt;    begin&lt;br /&gt;      NData:=NMedicamento.AddChild('saidaMedicamentoVendaAoConsumidor');&lt;br /&gt;      with NData do&lt;br /&gt;      begin&lt;br /&gt;        // [tipoReceituarioMedicamento]&lt;br /&gt;        // 1 Receita de Controle Especial em 2 vias (Receita Branca)&lt;br /&gt;        // 2 Notificação de Receita B (Notificação Azul)&lt;br /&gt;        // 3 Notificação de Receita Especial (Notificação Branca)&lt;br /&gt;        // 4 Notificação de Receita A (Notificação Amarela)&lt;br /&gt;        ChildNodes['tipoReceituarioMedicamento'].NodeValue:='1';&lt;br /&gt;        ChildNodes['numeroNotificacaoMedicamento'].NodeValue:='213213';&lt;br /&gt;        ChildNodes['dataPrescricaoMedicamento'].NodeValue:=FormatDateTime('yyyy-mm-dd',Date);&lt;br /&gt;        ChildNodes['prescritorMedicamento'].ChildNodes['nomePrescritor'].NodeValue:='XFULANO';&lt;br /&gt;        ChildNodes['prescritorMedicamento'].ChildNodes['numeroRegistroProfissional'].NodeValue:='99999';&lt;br /&gt;        // [conselhoProfissional]&lt;br /&gt;        // CRM Conselho Regional de Medicina&lt;br /&gt;        // CRMV Conselho Regional de Medicina Veterinária&lt;br /&gt;        // CRO Conselho Regional de Odontologia&lt;br /&gt;        ChildNodes['prescritorMedicamento'].ChildNodes['conselhoProfissional'].NodeValue:='CRM';&lt;br /&gt;        ChildNodes['prescritorMedicamento'].ChildNodes['UFConselho'].NodeValue:='PR';&lt;br /&gt;        // [usoMedicamento]&lt;br /&gt;        // 1 Humano&lt;br /&gt;        // 2 Veterinario&lt;br /&gt;        ChildNodes['usoMedicamento'].NodeValue:='1';&lt;br /&gt;        ChildNodes['compradorMedicamento'].ChildNodes['nomeComprador'].NodeValue:='XCICLANO';&lt;br /&gt;        // [tipoDocumento]&lt;br /&gt;        // 1 CARTEIRA DE REGISTRO PROFISSIONAL&lt;br /&gt;        // 2 CARTEIRA DE IDENTIDADE . . . existem mais&lt;br /&gt;        ChildNodes['compradorMedicamento'].ChildNodes['tipoDocumento'].NodeValue:='1';&lt;br /&gt;        ChildNodes['compradorMedicamento'].ChildNodes['numeroDocumento'].NodeValue:='123';&lt;br /&gt;        ChildNodes['compradorMedicamento'].ChildNodes['orgaoExpedidor'].NodeValue:='SSP';&lt;br /&gt;        ChildNodes['compradorMedicamento'].ChildNodes['UFEmissaoDocumento'].NodeValue:='PR';&lt;br /&gt;        ChildNodes['medicamentoVenda'].ChildNodes['registroMSMedicamento'].NodeValue:='1010000430215';&lt;br /&gt;        ChildNodes['medicamentoVenda'].ChildNodes['numeroLoteMedicamento'].NodeValue:='RGJ0400';&lt;br /&gt;        ChildNodes['medicamentoVenda'].ChildNodes['quantidadeMedicamento'].NodeValue:='3';&lt;br /&gt;        ChildNodes['dataVendaMedicamento'].NodeValue := FormatDateTime('yyyy-mm-dd',Date);&lt;br /&gt;      end;&lt;br /&gt;    end;&lt;br /&gt;    // Loop das [Transferencias] :: MEDICAMENTO&lt;br /&gt;    for i:=1 to x do&lt;br /&gt;    begin&lt;br /&gt;      NData:=NMedicamento.AddChild('saidaMedicamentoTransferencia');&lt;br /&gt;      with NData do&lt;br /&gt;      begin&lt;br /&gt;        ChildNodes['notaFiscalTransferenciaMedicamento'].ChildNodes['numeroNotaFiscal'].NodeValue:=IntToStr(i);&lt;br /&gt;        // [tipoOperacaoNotaFiscal]&lt;br /&gt;        // 1 Compra&lt;br /&gt;        // 2 Transferência&lt;br /&gt;        // 3 Venda&lt;br /&gt;        ChildNodes['notaFiscalTransferenciaMedicamento'].ChildNodes['tipoOperacaoNotaFiscal'].NodeValue:='2';&lt;br /&gt;        ChildNodes['notaFiscalTransferenciaMedicamento'].ChildNodes['dataNotaFiscal'].NodeValue:=FormatDateTime('yyyy-mm-dd',Date);&lt;br /&gt;        ChildNodes['notaFiscalTransferenciaMedicamento'].ChildNodes['cnpjOrigem'].NodeValue:='99999999000199';&lt;br /&gt;        ChildNodes['notaFiscalTransferenciaMedicamento'].ChildNodes['cnpjDestino'].NodeValue:='99999999000199';&lt;br /&gt;        ChildNodes['medicamentoTransferencia'].ChildNodes['registroMSMedicamento'].NodeValue:='1058302590029';&lt;br /&gt;        ChildNodes['medicamentoTransferencia'].ChildNodes['numeroLoteMedicamento'].NodeValue:='153353';&lt;br /&gt;        ChildNodes['medicamentoTransferencia'].ChildNodes['quantidadeMedicamento'].NodeValue:='2';&lt;br /&gt;        ChildNodes['dataTransferenciaMedicamento'].NodeValue:=FormatDateTime('yyyy-mm-dd',Date);&lt;br /&gt;      end;&lt;br /&gt;    end;&lt;br /&gt;    // Loop das [Perdas] :: MEDICAMENTO&lt;br /&gt;    for i:=1 to x do&lt;br /&gt;    begin&lt;br /&gt;      NData:=NMedicamento.AddChild('saidaMedicamentoPerda');&lt;br /&gt;      with NData do&lt;br /&gt;      begin&lt;br /&gt;        // [motivoPerdaMedicamento]&lt;br /&gt;        // 1 Furto / Roubo&lt;br /&gt;        // 2 Avaria&lt;br /&gt;        // 3 Vencimento&lt;br /&gt;        // 4 Apreensão / Recolhimento pela Visa&lt;br /&gt;        ChildNodes['motivoPerdaMedicamento'].NodeValue:='3';&lt;br /&gt;        ChildNodes['medicamentoPerda'].ChildNodes['registroMSMedicamento'].NodeValue:='1010000750061';&lt;br /&gt;        ChildNodes['medicamentoPerda'].ChildNodes['numeroLoteMedicamento'].NodeValue:='RV365';&lt;br /&gt;        ChildNodes['medicamentoPerda'].ChildNodes['quantidadeMedicamento'].NodeValue:='2';&lt;br /&gt;        ChildNodes['dataPerdaMedicamento'].NodeValue := FormatDateTime('yyyy-mm-dd',Date);&lt;br /&gt;      end;&lt;br /&gt;    end;&lt;br /&gt;    // *************************************************************************&lt;br /&gt;    // ********************************* INSUMO ********************************&lt;br /&gt;    NMedicamento:=NCorpo.AddChild('insumos');&lt;br /&gt;    // Loop das [Entradas] :: INSUMO&lt;br /&gt;    for i:=1 to x do&lt;br /&gt;    begin&lt;br /&gt;      NData:=NMedicamento.AddChild('entradaInsumos');&lt;br /&gt;      with NData do&lt;br /&gt;      begin&lt;br /&gt;        ChildNodes['notaFiscalEntradaInsumo'].ChildNodes['numeroNotaFiscal'].NodeValue:=IntToStr(i);&lt;br /&gt;        // [tipoOperacaoNotaFiscal]&lt;br /&gt;        // 1 Compra&lt;br /&gt;        // 2 Transferência&lt;br /&gt;        // 3 Venda&lt;br /&gt;        ChildNodes['notaFiscalEntradaInsumo'].ChildNodes['tipoOperacaoNotaFiscal'].NodeValue:='1';&lt;br /&gt;        ChildNodes['notaFiscalEntradaInsumo'].ChildNodes['dataNotaFiscal'].NodeValue:=FormatDateTime('yyyy-mm-dd',Date);&lt;br /&gt;        ChildNodes['notaFiscalEntradaInsumo'].ChildNodes['cnpjOrigem'].NodeValue:='99999999000199';&lt;br /&gt;        ChildNodes['notaFiscalEntradaInsumo'].ChildNodes['cnpjDestino'].NodeValue:='99999999000199';&lt;br /&gt;        ChildNodes['substanciaInsumoEntrada'].ChildNodes['insumoEntrada'].ChildNodes['codigoInsumo'].NodeValue:='0075';&lt;br /&gt;        ChildNodes['substanciaInsumoEntrada'].ChildNodes['insumoEntrada'].ChildNodes['numeroLoteInsumo'].NodeValue:='788cpf';&lt;br /&gt;        ChildNodes['substanciaInsumoEntrada'].ChildNodes['insumoEntrada'].ChildNodes['insumoCNPJFornecedor'].NodeValue:='99999999000199';&lt;br /&gt;        ChildNodes['substanciaInsumoEntrada'].ChildNodes['quantidadeInsumoEntrada'].NodeValue:='40000.0';&lt;br /&gt;        ChildNodes['substanciaInsumoEntrada'].ChildNodes['tipoUnidadeEntrada'].NodeValue:='1';&lt;br /&gt;        ChildNodes['dataRecebimentoInsumo'].NodeValue:=FormatDateTime('yyyy-mm-dd',Date);&lt;br /&gt;      end;&lt;br /&gt;    end;&lt;br /&gt;    // Loop das [Saidas] :: INSUMO&lt;br /&gt;    for i:=1 to x do&lt;br /&gt;    begin&lt;br /&gt;      NData:=NMedicamento.AddChild('saidaInsumoVendaAoConsumidor');&lt;br /&gt;      with NData do&lt;br /&gt;      begin&lt;br /&gt;        // [tipoReceituarioInsumo]&lt;br /&gt;        // 1 Receita de Controle Especial em 2 vias (Receita Branca)&lt;br /&gt;        // 2 Notificação de Receita B (Notificação Azul)&lt;br /&gt;        // 3 Notificação de Receita Especial (Notificação Branca)&lt;br /&gt;        // 4 Notificação de Receita A (Notificação Amarela)&lt;br /&gt;        ChildNodes['tipoReceituarioInsumo'].NodeValue:='2';&lt;br /&gt;        ChildNodes['numeroNotificacaoInsumo'].NodeValue:='9897651';&lt;br /&gt;        ChildNodes['dataPrescricaoInsumo'].NodeValue:=FormatDateTime('yyyy-mm-dd',Date);&lt;br /&gt;        ChildNodes['prescritorInsumo'].ChildNodes['nomePrescritor'].NodeValue:='Dr. Antenor';&lt;br /&gt;        ChildNodes['prescritorInsumo'].ChildNodes['numeroRegistroProfissional'].NodeValue:='8888';&lt;br /&gt;        // [conselhoProfissional]&lt;br /&gt;        // CRM Conselho Regional de Medicina&lt;br /&gt;        // CRMV Conselho Regional de Medicina Veterinária&lt;br /&gt;        // CRO Conselho Regional de Odontologia&lt;br /&gt;        ChildNodes['prescritorInsumo'].ChildNodes['conselhoProfissional'].NodeValue:='CRM';&lt;br /&gt;        ChildNodes['prescritorInsumo'].ChildNodes['UFConselho'].NodeValue:='PR';&lt;br /&gt;        ChildNodes['usoInsumo'].NodeValue:='1';&lt;br /&gt;        ChildNodes['compradorInsumo'].ChildNodes['nomeComprador'].NodeValue:='Manuela Danta';&lt;br /&gt;        // [tipoDocumento]&lt;br /&gt;        // 1 CARTEIRA DE REGISTRO PROFISSIONAL&lt;br /&gt;        // 2 CARTEIRA DE IDENTIDADE . . . existem mais&lt;br /&gt;        ChildNodes['compradorInsumo'].ChildNodes['tipoDocumento'].NodeValue:='2';&lt;br /&gt;        ChildNodes['compradorInsumo'].ChildNodes['numeroDocumento'].NodeValue:='89786453';&lt;br /&gt;        ChildNodes['compradorInsumo'].ChildNodes['orgaoExpedidor'].NodeValue:='SSP';&lt;br /&gt;        ChildNodes['compradorInsumo'].ChildNodes['UFEmissaoDocumento'].NodeValue:='PR';&lt;br /&gt;        ChildNodes['substanciaInsumoVendaAoConsumidor'].ChildNodes['insumoVendaAoConsumidor'].NodeValue:='';&lt;br /&gt;        ChildNodes['substanciaInsumoVendaAoConsumidor'].ChildNodes['insumoVendaAoConsumidor'].ChildNodes['codigoInsumo'].NodeValue:='02904';&lt;br /&gt;        ChildNodes['substanciaInsumoVendaAoConsumidor'].ChildNodes['insumoVendaAoConsumidor'].ChildNodes['numeroLoteInsumo'].NodeValue:='123dzp';&lt;br /&gt;        ChildNodes['substanciaInsumoVendaAoConsumidor'].ChildNodes['insumoVendaAoConsumidor'].ChildNodes['insumoCNPJFornecedor'].NodeValue:='99999999000199';&lt;br /&gt;        ChildNodes['substanciaInsumoVendaAoConsumidor'].ChildNodes['quantidadeDeInsumoPorUnidadeFarmacotecnica'].NodeValue:='5.0';&lt;br /&gt;        // [unidadeDeMedidaDoInsumo]&lt;br /&gt;        // 1 Miligrama&lt;br /&gt;        // 2 Mililitro&lt;br /&gt;        // 3 Unidade (U)&lt;br /&gt;        ChildNodes['substanciaInsumoVendaAoConsumidor'].ChildNodes['unidadeDeMedidaDoInsumo'].NodeValue:='1';&lt;br /&gt;        // [unidadeFarmacotecnica]&lt;br /&gt;        // 1 Miligrama&lt;br /&gt;        // 2 Cápsula&lt;br /&gt;        // 3 Comprimido&lt;br /&gt;        // 4 Mililitro&lt;br /&gt;        ChildNodes['substanciaInsumoVendaAoConsumidor'].ChildNodes['unidadeFarmacotecnica'].NodeValue:='2';&lt;br /&gt;        ChildNodes['substanciaInsumoVendaAoConsumidor'].ChildNodes['quantidadeDeUnidadesFarmacotecnicas'].NodeValue:='60.0';&lt;br /&gt;        ChildNodes['dataVendaInsumo'].NodeValue:=FormatDateTime('yyyy-mm-dd',Date);&lt;br /&gt;      end;&lt;br /&gt;    end;&lt;br /&gt;    // Loop das [Transferencias] :: INSUMO&lt;br /&gt;    for i:=1 to x do&lt;br /&gt;    begin&lt;br /&gt;      NData:=NMedicamento.AddChild('saidaInsumoTransferencia');&lt;br /&gt;      with NData do&lt;br /&gt;      begin&lt;br /&gt;        ChildNodes['notaFiscalTransferenciaInsumo'].ChildNodes['numeroNotaFiscal'].NodeValue:=IntToStr(i);&lt;br /&gt;        // [tipoOperacaoNotaFiscal]&lt;br /&gt;        // 1 Compra&lt;br /&gt;        // 2 Transferência&lt;br /&gt;        // 3 Venda&lt;br /&gt;        ChildNodes['notaFiscalTransferenciaInsumo'].ChildNodes['tipoOperacaoNotaFiscal'].NodeValue:='2';&lt;br /&gt;        ChildNodes['notaFiscalTransferenciaInsumo'].ChildNodes['dataNotaFiscal'].NodeValue:=FormatDateTime('yyyy-mm-dd',Date);&lt;br /&gt;        ChildNodes['notaFiscalTransferenciaInsumo'].ChildNodes['cnpjOrigem'].NodeValue:='99999999000199';&lt;br /&gt;        ChildNodes['notaFiscalTransferenciaInsumo'].ChildNodes['cnpjDestino'].NodeValue:='99999999000199';&lt;br /&gt;        ChildNodes['substanciaInsumoTransferencia'].ChildNodes['insumoTransferencia'].ChildNodes['codigoInsumo'].NodeValue:='02904';&lt;br /&gt;        ChildNodes['substanciaInsumoTransferencia'].ChildNodes['insumoTransferencia'].ChildNodes['numeroLoteInsumo'].NodeValue:='15353';&lt;br /&gt;        ChildNodes['substanciaInsumoTransferencia'].ChildNodes['insumoTransferencia'].ChildNodes['insumoCNPJFornecedor'].NodeValue:='99999999000199';&lt;br /&gt;        ChildNodes['substanciaInsumoTransferencia'].ChildNodes['quantidadeInsumoTransferencia'].NodeValue:='20000.0';&lt;br /&gt;        ChildNodes['substanciaInsumoTransferencia'].ChildNodes['tipoUnidadeTransferencia'].NodeValue:='1';&lt;br /&gt;        ChildNodes['dataTransferenciaInsumo'].NodeValue :=FormatDateTime('yyyy-mm-dd',Date);&lt;br /&gt;      end;&lt;br /&gt;    end;&lt;br /&gt;    // Loop das [Perdas] :: INSUMO&lt;br /&gt;    for i:=1 to x do&lt;br /&gt;    begin&lt;br /&gt;      NData:=NMedicamento.AddChild('saidaInsumoPerda');&lt;br /&gt;      with NData do&lt;br /&gt;      begin&lt;br /&gt;        // [motivoPerdaInsumo]&lt;br /&gt;        // 1 Furto / Roubo&lt;br /&gt;        // 2 Avaria&lt;br /&gt;        // 3 Vencimento&lt;br /&gt;        // 4 Apreensão / Recolhimento pela Visa&lt;br /&gt;        ChildNodes['motivoPerdaInsumo'].NodeValue:='2';&lt;br /&gt;        ChildNodes['substanciaInsumoPerda'].ChildNodes['insumoPerda'].ChildNodes['codigoInsumo'].NodeValue:='02904';&lt;br /&gt;        ChildNodes['substanciaInsumoPerda'].ChildNodes['insumoPerda'].ChildNodes['numeroLoteInsumo'].NodeValue:='786dpz';&lt;br /&gt;        ChildNodes['substanciaInsumoPerda'].ChildNodes['insumoPerda'].ChildNodes['insumoCNPJFornecedor'].NodeValue:='99999999000199';&lt;br /&gt;        ChildNodes['substanciaInsumoPerda'].ChildNodes['quantidadeInsumoPerda'].NodeValue:='12345.0';&lt;br /&gt;        ChildNodes['substanciaInsumoPerda'].ChildNodes['tipoUnidadePerda'].NodeValue:='1';&lt;br /&gt;        ChildNodes['dataPerdaInsumo'].NodeValue:=FormatDateTime('yyyy-mm-dd',Date);&lt;br /&gt;        ChildNodes['cnpjFornecedorInsumo'].NodeValue:='99999999000199';&lt;br /&gt;      end;&lt;br /&gt;    end;&lt;br /&gt;    // *************************************************************************&lt;br /&gt;    SaveToFile(ExtractFileDir(Application.ExeName)+'\Sngpc_'+FormatDateTime('dd_mm_yyyy',Date)+'.xml');&lt;br /&gt;  end;&lt;br /&gt;  XMLDoc.Active:=False;&lt;br /&gt;  XMLDoc.Free;&lt;br /&gt;end;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-7244786117854325766?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/7244786117854325766/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=7244786117854325766' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/7244786117854325766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/7244786117854325766'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/gerar-arquivo-xml-para-anvisa.html' title='Gerar arquivo XML para ANVISA (SNGPC)'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-6334176231637915112</id><published>2007-11-11T00:00:00.000-08:00</published><updated>2008-12-14T05:02:00.679-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Java Script validando Formulário</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_zJlWXYQ890o/Rz7j8XeFnII/AAAAAAAAAHc/qdehlA3--6A/s1600-h/validacaoJS.JPG"&gt;&lt;img style="float:center; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/Rz7j8XeFnII/AAAAAAAAAHc/qdehlA3--6A/s320/validacaoJS.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5133791251480812674" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Fonte: &lt;a href="http://www.scriptbrasil.com"&gt;www.scriptbrasil.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;title&amp;gt;ScriptBrasil - Js&lt;br /&gt;Valida&amp;ccedil;&amp;atilde;o&amp;lt;/title&amp;gt;&lt;br /&gt;&amp;lt;script Language="JavaScript"&amp;gt;&lt;br /&gt;/*&lt;br /&gt;##############################&lt;br /&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;#&lt;br /&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;ScriptBrasil&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;#&lt;br /&gt;#http://www.scriptbrasil.com/#&lt;br /&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;#&lt;br /&gt;##############################&lt;br /&gt;*/&lt;br /&gt;function checa_formulario(icqlist){&lt;br /&gt;if (icqlist.nick.value == ""){&lt;br /&gt;alert("Por Favor Coloque Seu Nick !!!");&lt;br /&gt;icqlist.nick.focus();&lt;br /&gt;return (false);&lt;br /&gt;}&lt;br /&gt;if (icqlist.email.value == ""){&lt;br /&gt;alert("O Campo E-mail est&amp;aacute; Vazio !!!");&lt;br /&gt;icqlist.email.focus();&lt;br /&gt;return (false);&lt;br /&gt;}&lt;br /&gt;if (icqlist.email.value.indexOf('@', 0) == -1){&lt;br /&gt;alert("O E-mail &amp;eacute; Ivalido !!!");&lt;br /&gt;icqlist.email.focus();&lt;br /&gt;return (false);&lt;br /&gt;}&lt;br /&gt;if (icqlist.icq.value == ""){&lt;br /&gt;alert("O campo ICQ Est&amp;aacute; Vazio !!!");&lt;br /&gt;icqlist.icq.focus();&lt;br /&gt;return (false);&lt;br /&gt;}&lt;br /&gt;var ver_numero = "1234567890";&lt;br /&gt;var sk15 = icqlist.icq.value;&lt;br /&gt;var invalido = true;&lt;br /&gt;for (i = 0;&amp;nbsp; i &amp;lt; sk15.length;&amp;nbsp; i++){&lt;br /&gt;ch = sk15.charAt(i);&lt;br /&gt;for (j = 0;&amp;nbsp; j &amp;lt; ver_numero.length;&amp;nbsp; j++)&lt;br /&gt;if (ch == ver_numero.charAt(j))&lt;br /&gt;break;&lt;br /&gt;if (j == ver_numero.length){&lt;br /&gt;invalido = false;&lt;br /&gt;break;&lt;br /&gt;}}&lt;br /&gt;if (!invalido){&lt;br /&gt;alert("O Campo ICQ Deve Conter Apenas N&amp;uacute;meros !!!");&lt;br /&gt;icqlist.icq.focus();&lt;br /&gt;return (false);&lt;br /&gt;}&lt;br /&gt;if (icqlist.icq.value.length &amp;lt; 7){&lt;br /&gt;alert("O campo ICQ Deve Ter No Minimo 7 N&amp;uacute;meros !!!")&lt;br /&gt;icqlist.icq.focus();&lt;br /&gt;return (false);&lt;br /&gt;}&lt;br /&gt;if (icqlist.icq.value.length &amp;gt; 10){&lt;br /&gt;alert("O campo ICQ Deve Ter No Maximo 10 Numeros !!!")&lt;br /&gt;icqlist.icq.focus();&lt;br /&gt;return (false);&lt;br /&gt;}&lt;br /&gt;if (icqlist.senha.value == ""){&lt;br /&gt;alert("O campo senha Est&amp;aacute; Vazio !!!");&lt;br /&gt;icqlist.senha.focus();&lt;br /&gt;return (false);&lt;br /&gt;}&lt;br /&gt;if (icqlist.senha.value.length &amp;lt; 4){&lt;br /&gt;alert("O campo senha Deve Ter No Minimo 4 N&amp;uacute;meros !!!")&lt;br /&gt;icqlist.senha.focus();&lt;br /&gt;return (false);&lt;br /&gt;}&lt;br /&gt;if (icqlist.senha.value.length &amp;gt; 8){&lt;br /&gt;alert("O campo senha Deve Ter No Maximo 8 N&amp;uacute;meros !!!")&lt;br /&gt;icqlist.senha.focus();&lt;br /&gt;return (false);&lt;br /&gt;}&lt;br /&gt;if (icqlist.senha2.value == ""){&lt;br /&gt;alert("O campo Comfirma senha Est&amp;aacute; Vazio !!!");&lt;br /&gt;icqlist.senha2.focus();&lt;br /&gt;return (false);&lt;br /&gt;}&lt;br /&gt;if (icqlist.senha.value != icqlist.senha2.value){&lt;br /&gt;alert("A Senha do Comfirma Senha &amp;eacute; diferenete do 1&amp;ordm;&lt;br /&gt;Campo !!!");&lt;br /&gt;icqlist.senha2.focus();&lt;br /&gt;return (false);&lt;br /&gt;}&lt;br /&gt;if (icqlist.idade.value == ""){&lt;br /&gt;alert("O campo Idade Est&amp;aacute; Vazio !!!");&lt;br /&gt;icqlist.idade.focus();&lt;br /&gt;return (false);&lt;br /&gt;}&lt;br /&gt;if (icqlist.idade.value.length &amp;gt; 2){&lt;br /&gt;alert("O campo Idade Deve Ter No Maximo 2 N&amp;uacute;meros !!!")&lt;br /&gt;icqlist.idade.focus();&lt;br /&gt;return (false);&lt;br /&gt;}&lt;br /&gt;var ver_numero = "1234567890";&lt;br /&gt;var sk15 = icqlist.idade.value;&lt;br /&gt;var invalido = true;&lt;br /&gt;for (i = 0;&amp;nbsp; i &amp;lt; sk15.length;&amp;nbsp; i++){&lt;br /&gt;ch = sk15.charAt(i);&lt;br /&gt;for (j = 0;&amp;nbsp; j &amp;lt; ver_numero.length;&amp;nbsp; j++)&lt;br /&gt;if (ch == ver_numero.charAt(j))&lt;br /&gt;break;&lt;br /&gt;if (j == ver_numero.length){&lt;br /&gt;invalido = false;&lt;br /&gt;break;&lt;br /&gt;}}&lt;br /&gt;if (!invalido){&lt;br /&gt;alert("O Campo Idade Deve Conter Apenas N&amp;uacute;meros !!!");&lt;br /&gt;icqlist.idade.focus();&lt;br /&gt;return (false);&lt;br /&gt;}&lt;br /&gt;if (icqlist.sexo.value == "selecione"){&lt;br /&gt;alert("Por Favor Selecione Um Sexo !!!");&lt;br /&gt;icqlist.sexo.focus();&lt;br /&gt;return (false);&lt;br /&gt;}&lt;br /&gt;if (icqlist.cidade.value == ""){&lt;br /&gt;alert("O campo Cidade Est&amp;aacute; Vazio !!!");&lt;br /&gt;icqlist.cidade.focus();&lt;br /&gt;return (false);&lt;br /&gt;}&lt;br /&gt;if (icqlist.homepage.value == "http://"){&lt;br /&gt;alert("O campo Home-Page Est&amp;aacute; Vazio !!!");&lt;br /&gt;icqlist.homepage.focus();&lt;br /&gt;return (false);&lt;br /&gt;}&lt;br /&gt;return (true);&lt;br /&gt;}&lt;br /&gt;//--&amp;gt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;body bgcolor="#FFFFFF"&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;p align="center"&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;form onsubmit="return checa_formulario(this)" name="icqlist"&lt;br /&gt;action="cad.html" method="post"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div&lt;br /&gt;align="center"&amp;gt;&amp;lt;center&amp;gt;&lt;br /&gt;&amp;lt;table border="0" cellspacing="1" cellpading="0"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;font size="2" face="Verdana"&amp;gt;Nick:&lt;br /&gt;&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;input type="text" size="20"&lt;br /&gt;name="nick"&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;font size="2"&lt;br /&gt;face="Verdana"&amp;gt;E-mail:&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;input type="text" size="20"&lt;br /&gt;name="email"&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;font size="2"&lt;br /&gt;face="Verdana"&amp;gt;ICQ:&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;input type="text" size="20"&lt;br /&gt;name="icq"&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;font size="2"&lt;br /&gt;face="Verdana"&amp;gt;Senha:&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;input type="password" size="20"&lt;br /&gt;name="senha"&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;font size="2" face="Verdana"&amp;gt;Confirmar&lt;br /&gt;senha:&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;input type="password" size="20"&lt;br /&gt;name="senha2"&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;font size="2"&lt;br /&gt;face="Verdana"&amp;gt;Idade:&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;input type="text" size="20"&lt;br /&gt;name="idade"&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;font size="2"&lt;br /&gt;face="Verdana"&amp;gt;Sexo:&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;select name="sexo" size="1"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;option selected&lt;br /&gt;value="selecione"&amp;gt;Selecione&amp;lt;/option&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;option value="M"&amp;gt;Masculino&amp;lt;/option&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;option value="F"&amp;gt;Feminino&amp;lt;/option&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;/select&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;font size="2"&lt;br /&gt;face="Verdana"&amp;gt;Cidade:&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;input type="text" size="20"&lt;br /&gt;name="cidade"&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;font size="2"&lt;br /&gt;face="Verdana"&amp;gt;Home-Page:&amp;lt;/font&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;lt;input type="text" size="20" name="homepage"&lt;br /&gt;value="http://"&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;td colspan="2"&amp;gt;&amp;lt;input type="reset" name="limpa"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;value="Limpar"&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;lt;input&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;type="submit" name="cadastro"&lt;br /&gt;value="Cadastrar"&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/table&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;lt;/center&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&amp;lt;p align="center"&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;&amp;lt;/p&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-6334176231637915112?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/6334176231637915112/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=6334176231637915112' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/6334176231637915112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/6334176231637915112'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/java-script-validando-formulrio.html' title='Java Script validando Formulário'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_zJlWXYQ890o/Rz7j8XeFnII/AAAAAAAAAHc/qdehlA3--6A/s72-c/validacaoJS.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-2348237829764254801</id><published>2007-11-10T00:00:00.000-08:00</published><updated>2007-11-10T07:34:41.290-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Java Script que mostra o seu HD</title><content type='html'>&amp;lt;script language="JavaScript"&amp;gt;&lt;br /&gt;if (navigator.appName == 'Microsoft Internet Explorer'){&lt;br /&gt;document.write('&amp;lt;br&amp;gt;')&lt;br /&gt;document.write('&amp;lt;center&amp;gt;')&lt;br /&gt;document.write('&amp;lt;object id="browserIcons"&lt;br /&gt;classid="clsid:8856F961-340A-11D0-A96B-00C04FD705A2" align="baseline"&lt;br /&gt;border="0" width="90%" height="90%"&amp;gt;')&lt;br /&gt;document.write('&amp;lt;param name="Location" value="c:"&amp;gt;')&lt;br /&gt;document.write('&amp;lt;param name="AlignLeft" value="1"&amp;gt;')&lt;br /&gt;document.write('&amp;lt;param name="AutoSize" value="0"&amp;gt;')&lt;br /&gt;document.write('&amp;lt;param name="AutoSizePercentage"&lt;br /&gt;value="100"&amp;gt;')&lt;br /&gt;document.write('&amp;lt;param name="AutoArrange" value="0"&amp;gt;')&lt;br /&gt;document.write('&amp;lt;param name="NoClientEdge"&lt;br /&gt;value="false"&amp;gt;')&lt;br /&gt;document.write('&amp;lt;param name="ViewMode" value="4"&amp;gt;')&lt;br /&gt;document.write('&amp;lt;/object&amp;gt;')&lt;br /&gt;document.write('&amp;lt;/center&amp;gt;')&lt;br /&gt;document.write('&amp;lt;center&amp;gt;&amp;lt;font SIZE="2"&lt;br /&gt;face="Verdana,Arial"&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/center&amp;gt;')&lt;br /&gt;}&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.scriptbrasil.com.br"&gt;http://www.scriptbrasil.com.br&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-2348237829764254801?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/2348237829764254801/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=2348237829764254801' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2348237829764254801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2348237829764254801'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/java-script-que-mostra-o-seu-hd.html' title='Java Script que mostra o seu HD'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-2764375320906044470</id><published>2007-11-09T00:00:00.018-08:00</published><updated>2007-11-10T03:22:45.931-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>C# - Somente uma instância do aplicativo</title><content type='html'>Criando aplicações windows singleInstance&lt;br /&gt;&lt;br /&gt;Aplicações singleInstance são aplicações que podem ser rodadas uma única vez, o usuário não pode abrir diversas instancias da aplicação, rodando várias vezes o executável. &lt;br /&gt;&lt;br /&gt;O VB.NET, através dos recursos do MY, implementa facilmente aplicações singleInstance. Basta nas propriedades do projeto marcarmos a checkbox solicitando isso e ele gera o código para nós. &lt;br /&gt;&lt;br /&gt;No C#, porém, não temos o recurso do My, consequentemente precisamos nós mesmos programar isso. &lt;br /&gt;&lt;br /&gt;Para fazer isso devemos utilizar um Mutex. Um Mutex é um objeto do sistema operacional que permite criarmos uma sinalização entre nossas aplicações. Assim sendo, a primeira instância de nossa aplicação abre um Mutex e as instâncias seguintes, vendo que o Mutex já existe, não se iniciam. &lt;br /&gt;&lt;br /&gt;Devemos fazer isso na Main. Veja: &lt;br /&gt;&lt;br /&gt;static void Main() &lt;br /&gt;{ &lt;br /&gt;    Mutex mu = null; &lt;br /&gt;    try &lt;br /&gt;    { &lt;br /&gt;        mu = Mutex.OpenExisting("RUNMEONCE"); &lt;br /&gt;    } &lt;br /&gt;        catch (WaitHandleCannotBeOpenedException)     &lt;br /&gt;    {&lt;br /&gt;    } &lt;br /&gt;    if (mu == null) &lt;br /&gt;    { &lt;br /&gt;        mu = new Mutex(true, "RUNMEONCE"); &lt;br /&gt;    } &lt;br /&gt;    else &lt;br /&gt;    { &lt;br /&gt;        mu.Close(); &lt;br /&gt;        return; &lt;br /&gt;    } &lt;br /&gt;    Application.EnableVisualStyles(); &lt;br /&gt;    Application.SetCompatibleTextRenderingDefault(false); &lt;br /&gt;    Application.Run(new Form1()); &lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-2764375320906044470?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/2764375320906044470/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=2764375320906044470' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2764375320906044470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2764375320906044470'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/c-somente-uma-instncia.html' title='C# - Somente uma instância do aplicativo'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-628979127508959033</id><published>2007-11-09T00:00:00.017-08:00</published><updated>2007-11-09T05:52:17.813-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>C# - Disparando evento OnClick</title><content type='html'>Disparar evento OnClick de outro componente&lt;br /&gt;&lt;br /&gt;private void btnSalvar_Click(object sender, System.EventArgs e)&lt;br /&gt;{&lt;br /&gt;    this.btnSalvar.Click += new System.EventHandler(this.btnCancelar_Click);&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-628979127508959033?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/628979127508959033/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=628979127508959033' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/628979127508959033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/628979127508959033'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/c-disparando-evento-onclick.html' title='C# - Disparando evento OnClick'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-7187081392534746883</id><published>2007-11-09T00:00:00.016-08:00</published><updated>2007-11-09T05:51:29.746-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>C# - Manipulando DataSet</title><content type='html'>Em C# DataSet é um objeto que contém um conjunto de tabelas:&lt;br /&gt;&lt;br /&gt;Para acessar a primeira tabela &lt;br /&gt;ds.Tables[0]; &lt;br /&gt;Para acessar a segunda tabela &lt;br /&gt;ds.Tables[1]; &lt;br /&gt;Para acessar o primeiro registro da primeira tabela &lt;br /&gt;ds.Tables[0].Rows[0]; &lt;br /&gt;Para acessar o segundo registro da primeira tabela &lt;br /&gt;ds.Tables[0].Rows[1]; &lt;br /&gt;Para acessar o primeiro registro da segunda tabela &lt;br /&gt;ds.Tables[1].Rows[0]; &lt;br /&gt;Para acessar o segundo registro da segunda tabela &lt;br /&gt;ds.Tables[1].Rows[0]; &lt;br /&gt;Para acessar o primeiro registro da primeira tabela do campo "NOME" &lt;br /&gt;ds.Tables[0].Rows[0]["NOME"]; &lt;br /&gt;Para acessar o primeiro registro da primeira tabela  do quarto campo &lt;br /&gt;ds.Tables[0].Rows[0][3]; &lt;br /&gt;Para saber a quantidade de tabelas em um DataSet &lt;br /&gt;ds.Tables.Count; &lt;br /&gt;Para saber a quantidade de registros em uma tabela do DataSet &lt;br /&gt;ds.Tables[0].Rows.Count; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Percorrendo uma tabela do DataSet&lt;br /&gt;&lt;br /&gt;string s;&lt;br /&gt;for(i=0; i &lt;=ds.Tables["CLIENTE"].Rows.Count - 1; i++){&lt;br /&gt;    s = ds.Tables["CLIENTE"].Rows[i]["NOME"].ToString();&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-7187081392534746883?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/7187081392534746883/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=7187081392534746883' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/7187081392534746883'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/7187081392534746883'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/c-manipulando-dataset.html' title='C# - Manipulando DataSet'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-2683606670187880890</id><published>2007-11-09T00:00:00.015-08:00</published><updated>2007-11-09T05:50:18.576-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>C# - Manipulando linhas em um DataGrid</title><content type='html'>Se você trabalha com DataGrids no Visual Studio 2002 ou 2003, pode ser que precise adicionar, remover ou alterar valores em um DataGrid. Se já tentou fazer isso, viu que não é possível realizar essa tarefa no DataGrid. Para resolver esse problema, manipule os dados da DataGrid através da DataTable “interna” que guarda esses dados. Veja alguns exemplos:&lt;br /&gt;&lt;br /&gt;// Adiciona uma linha nova igual à primeira linha&lt;br /&gt; ((DataTable)(dgMeuGrid)).Rows.Add(((DataTable)(dgMeuGrid)).Rows(0));&lt;br /&gt;&lt;br /&gt;// Remove a segunda linha&lt;br /&gt; ((DataTable)(dgMeuGrid)).Rows.RemoveAt(1); &lt;br /&gt;&lt;br /&gt;// Alterar a terceira coluna da primeira linha&lt;br /&gt; ((DataTable)(dgMeuGrid)).Rows[0][2] = "Igor";&lt;br /&gt;&lt;br /&gt;Autor: Igor Alcantara&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-2683606670187880890?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/2683606670187880890/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=2683606670187880890' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2683606670187880890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2683606670187880890'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/c-manipulando-linhas-em-um-datagrid.html' title='C# - Manipulando linhas em um DataGrid'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-92130392784832858</id><published>2007-11-09T00:00:00.014-08:00</published><updated>2007-11-09T05:48:28.357-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>C# - Lendo um arquigo XML</title><content type='html'>Utilizaremos a classe XmlTextReader que irá ler o arquivo e separar as TAGs de seus valores. &lt;br /&gt;&lt;br /&gt;Exemplo de um arquivo XML: &lt;br /&gt;&lt;testnode&gt; &lt;br /&gt;&lt;element1&gt;Element1 Text&lt;/element1&gt; &lt;br /&gt;&lt;element2&gt;Element2 Text&lt;/element2&gt; &lt;br /&gt;&lt;element3&gt;Element3 Text&lt;/element3&gt; &lt;br /&gt;&lt;element4&gt;Element4 Text&lt;/element4&gt; &lt;br /&gt;&lt;element5&gt;Element5 Text&lt;/element5&gt; &lt;br /&gt;&lt;/testnode&gt; &lt;br /&gt;&lt;br /&gt;Exemplo do código em C# &lt;br /&gt;&lt;br /&gt;string filename = "test.xml"; &lt;br /&gt;XmlTextReader tr = new XmlTextReader(filename); &lt;br /&gt;while(tr.Read()) &lt;br /&gt;{ &lt;br /&gt;if(tr.NodeType == XmlNodeType.Text) &lt;br /&gt;System.Console.WriteLine(tr.Value); &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;Sáida no prompt&lt;br /&gt;Element1 Text &lt;br /&gt;Element2 Text &lt;br /&gt;Element3 Text &lt;br /&gt;Element4 Text &lt;br /&gt;Element5 Text &lt;br /&gt;&lt;br /&gt;Autor: Emmanuel&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-92130392784832858?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/92130392784832858/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=92130392784832858' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/92130392784832858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/92130392784832858'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/c-lendo-um-arquigo-xml.html' title='C# - Lendo um arquigo XML'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-4337773378427740386</id><published>2007-11-09T00:00:00.013-08:00</published><updated>2007-11-09T05:47:14.246-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>C# - Como criar um Hastable</title><content type='html'>Inicialmente, deveremos fazer a chamada ao namespace que contém a declaração da classe Hashtable: using System.Collections; &lt;br /&gt;&lt;br /&gt;Após a chamada, poderemos utilizar um objeto do tipo Hashtable. &lt;br /&gt;&lt;br /&gt;Agora, vamos criar o objeto e adicionar valores a minha nova Hashtable: &lt;br /&gt;&lt;br /&gt;Criação do objeto: &lt;br /&gt;&lt;br /&gt;// instanciando o objeto meuHash como do tipo Hashtable &lt;br /&gt;Hashtable meuHash = new Hashtable(); &lt;br /&gt;&lt;br /&gt;Vamos agora adicionar valores ao "meuHash": &lt;br /&gt;&lt;br /&gt;meuHash.Add("Codigos", "Seção que você encontrará diversos códigos para download"); &lt;br /&gt;meuHash.Add("Dicas", "Nesta seção você encontrará diversas dicas de nível básico ao avançado"); &lt;br /&gt;meuHash.Add("Serviços", "Diversos serviços gratuitos e de qualidade");&lt;br /&gt;&lt;br /&gt;Pronto. Já criamos nosso objeto Hashtable e adicionamos valores a ele. Agora vamos Lê-los. &lt;br /&gt;&lt;br /&gt;Você já deve ter utilizado arrays em C# ou em outra linguagem de programação, e para acessar um valor contido neles você deveria informar um 'index' que referencia ao desejado. &lt;br /&gt;&lt;br /&gt;No Hashtable funciona de forma parecida, mas sua diferença é que você pode acessar um valor passando também a sua chave. Veremos a seguir: &lt;br /&gt;&lt;br /&gt;Para pegar a 2ª linha utilizamos: &lt;br /&gt;&lt;br /&gt;// pegando o valor e convertendo para string &lt;br /&gt;meuHash["Dicas"].ToString(); &lt;br /&gt;&lt;br /&gt;Saída no prompt&lt;br /&gt;Nesta seção você encontrará diversas dicas de nível básico ao avançado &lt;br /&gt;&lt;br /&gt;Vamos utilizar agora uns comandos interessantes para manipulação de Hashtables: &lt;br /&gt;&lt;br /&gt;meuHash.ContainsKey("Codigos") - esta propriedade verifica se eu adicionei um valor ao meu Hashtable cuja chave é "Codigos". Retornando True se achar e False, caso contrário. &lt;br /&gt;&lt;br /&gt;Utilizando o comando anterior, podemos excluir um valor adicionado ao meu Hash, utilizando a propriedade Remove("Chave"); &lt;br /&gt;&lt;br /&gt;Exemplo: &lt;br /&gt;&lt;br /&gt;Console.WriteLine("Meu hash tem Códigos? - {0}", meuHash.ContainsKey("Codigos")); &lt;br /&gt;if(meuHash.ContainsKey("Codigos")) &lt;br /&gt;{ &lt;br /&gt;meuHash.Remove("Codigos"); &lt;br /&gt;} &lt;br /&gt;Console.WriteLine("Meu hash tem Códigos? - {0}", meuHash.ContainsKey("Codigos")); &lt;br /&gt;&lt;br /&gt;Saída no prompt &lt;br /&gt;&lt;br /&gt;Meu hash tem Códigos? - True &lt;br /&gt;Meu hash tem Códigos? - False &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;É importante lembrar que você pode utilizar a propriedade Contains* para verificar se existe algo definido a partir de uma chave no Hashtable ou através de um valor. Para isto, utilize a propriedade ContainsValue["Valor"]; &lt;br /&gt;&lt;br /&gt;Autor: Emmanuel&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-4337773378427740386?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/4337773378427740386/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=4337773378427740386' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4337773378427740386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4337773378427740386'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/c-como-criar-um-hastable.html' title='C# - Como criar um Hastable'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-5247732352495023232</id><published>2007-11-09T00:00:00.012-08:00</published><updated>2007-11-09T05:45:47.481-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>C# - Crie um arquivo TXT e acrescente valores usando C#</title><content type='html'>Os arquivos TXT's podem ser uma excelente forma de trafegar dados entre aplicações. &lt;br /&gt;&lt;br /&gt;Sabemos que agora estamos no mundo do XML, mas na condição de alocação do arquivo para uma futura importação, ou até na leitura / extração de informações de portas seriais, o TXT atende bem a demanda para uma futura importação a um banco de dados. &lt;br /&gt;&lt;br /&gt;1)Streams &lt;br /&gt;&lt;br /&gt;Um stream é uma representação abstrata de um dispositivo serial. Um dispositivo como uma impressora, um local da memória ou qualquer objeto que suporte a leitura e a escrita nele de modo linear. &lt;br /&gt;&lt;br /&gt;2) Classes File e Directory &lt;br /&gt;&lt;br /&gt;2.1 Métodos úteis da classe "File": &lt;br /&gt;&lt;br /&gt;Método - Descrição &lt;br /&gt;Create ( ) - Criar um arquivo em um determinado caminho &lt;br /&gt;Open ( ) - FileStrem no caminho especificado &lt;br /&gt;Copy( ) - Copiar arquivo em um local especifico &lt;br /&gt;&lt;br /&gt;2.2 Métodos úteis da classe "Diretory" &lt;br /&gt;&lt;br /&gt;Método - Descrição &lt;br /&gt;Delete ( ) - Exclui o diretório e todos os arquivos nele contido &lt;br /&gt;Move ( ) - Mover um diretório para um novo local. &lt;br /&gt;GetFiles( ) - Retorna uma array de objetos File &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3) Classe FileInfo &lt;br /&gt;&lt;br /&gt;A classe FileInfo não possui métodos estáticos e pode ser usada apenas em objetos instanciado. O objeto FileInfo é como se fosse um arquivo em um disco. OBS: Para escrevermos ou lermos um arquivo, é necessário criarmos um objeto Stream. Vamos criar um objeto FileInfo, indicando o nome do arquivo e seu diretório. &lt;br /&gt;&lt;br /&gt;FileInfo aFile = new FileInfo ("c:/raptors.txt"); &lt;br /&gt;&lt;br /&gt;Diferente da classe FileInfo, que não é uma classe estática, a classe File requer um parâmetro de string especificando a localização do arquivo para cada chamada de método. &lt;br /&gt;OBS: As duas chamadas abaixo efetuam o mesmo resultado. &lt;br /&gt;&lt;br /&gt;FileInfo aFile = new FileInfo("raptors.txt"); &lt;br /&gt;If (aFile.Exists) &lt;br /&gt;Console.WriteLine("Esse arquivo existe"); &lt;br /&gt;If (File.Exists("raptors.txt")) &lt;br /&gt;Console.WriteLine("Esse arquivo existe"); &lt;br /&gt;&lt;br /&gt;É sensato que você utilize a classe estática File se você estiver realizando uma única chamada de método do objeto. Caso a chamada o seu aplicativo estiver realizando várias operações em um arquivo, seria mais sensato instanciar o objeto FileInfo e usar os seus métodos, economizando mais tempo porque o objeto já estará referenciando o arquivo correto no sistema de arquivos, enquanto uma classe estática terá de encontrá-lo a cada vez. &lt;br /&gt;&lt;br /&gt;ATENÇÃO: A grande parte dos métodos FileInfo parecem com os métodos File. &lt;br /&gt;&lt;br /&gt;4) Vamos escrever dados em um arquivo TXT &lt;br /&gt;&lt;br /&gt;OBS: Todos esses passos foram realizados no Visual Studio.NET 2003, com o objetivo de apresentar como se cria um arquivo TXT e implementa valores dentro do mesmo. O exemplo é bem simples, mas pode ser explorado de acordo com a sua necessidade. &lt;br /&gt;&lt;br /&gt;4.1) Crie um projeto: C# Console Aplication &lt;br /&gt;&lt;br /&gt;4.2) Acrescente no topo do arquivo Class1.cs &lt;br /&gt;using System.IO; &lt;br /&gt;using System.Text; &lt;br /&gt;&lt;br /&gt;4.3) O código abaixo abre o arquivo e caso ele não exista o mesmo é criado. &lt;br /&gt;//Abrir o arquivo &lt;br /&gt;StreamWriter valor = new StreamWriter("D:\Inetpub\wwwroot\raptors.txt", true, Encoding.ASCII); &lt;br /&gt;&lt;br /&gt;4.4) Efetuamos um Loop para preencher o arquivo com valores numérios, de 1 a 9. &lt;br /&gt;//Loop para implementação dos numeros no TXT. &lt;br /&gt;for(i=0; i &lt; 10; i++) &lt;br /&gt;{ &lt;br /&gt;valor.Write(i); &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;4.5) Após o Loop fechamos o arquivo. &lt;br /&gt;//Fecha o arquivo &lt;br /&gt;valor.Close(); &lt;br /&gt;&lt;br /&gt;4.6) Após compilado o projeto, informamos que tudo encontra-se em perfeito estado, &lt;br /&gt;catch(Exception e) &lt;br /&gt;{ &lt;br /&gt;Console.WriteLine("Exception: " + e.Message); &lt;br /&gt;} &lt;br /&gt;finally &lt;br /&gt;{ &lt;br /&gt;Console.WriteLine("Parabéns, agora mais um arquivo dos Raptors."); &lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;Autor: Thiago Cruz&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-5247732352495023232?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/5247732352495023232/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=5247732352495023232' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/5247732352495023232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/5247732352495023232'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/c-crie-um-arquivo-txt-e-acrescente.html' title='C# - Crie um arquivo TXT e acrescente valores usando C#'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-4273488964738627088</id><published>2007-11-09T00:00:00.011-08:00</published><updated>2007-11-09T05:43:40.461-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>C# - Path de diretórios</title><content type='html'>using System;&lt;br /&gt;&lt;br /&gt;namespace ConsoleApplication1&lt;br /&gt;{&lt;br /&gt;    class Class1&lt;br /&gt;    {&lt;br /&gt;        [STAThread]&lt;br /&gt;        static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt;            Console.WriteLine();&lt;br /&gt;            // Path do diretório da aplicação&lt;br /&gt;            Console.WriteLine("Diretório da aplicação: {0}",&lt;br /&gt;                Environment.CurrentDirectory);&lt;br /&gt;            // Path do diretório do Sistema Operacional&lt;br /&gt;            Console.WriteLine("Diretório do S.O.: {0}",&lt;br /&gt;                Environment.GetFolderPath(Environment.SpecialFolder.System));&lt;br /&gt;            // Path da àrea de trabalho&lt;br /&gt;            Console.WriteLine("Path àrea de trabalho: {0}",&lt;br /&gt;                Environment.GetFolderPath(Environment.SpecialFolder.Desktop));&lt;br /&gt;            // Path Meus documentos&lt;br /&gt;            Console.WriteLine("Path Meus documentos: {0}",&lt;br /&gt;                Environment.GetFolderPath(Environment.SpecialFolder.Personal));&lt;br /&gt;            // Path Cookies&lt;br /&gt;            Console.WriteLine("Path Cookies: {0}",&lt;br /&gt;                Environment.GetFolderPath(Environment.SpecialFolder.Cookies));&lt;br /&gt;            // Path documentos abertos recentemente&lt;br /&gt;            Console.WriteLine("Path doctos recentes: {0}",&lt;br /&gt;                Environment.GetFolderPath(Environment.SpecialFolder.Recent));&lt;br /&gt;            Console.ReadLine();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-4273488964738627088?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/4273488964738627088/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=4273488964738627088' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4273488964738627088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4273488964738627088'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/c-path-de-diretrios.html' title='C# - Path de diretórios'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-8510677721626015511</id><published>2007-11-09T00:00:00.010-08:00</published><updated>2007-11-09T05:42:03.600-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>Versão do framework</title><content type='html'>Para verificar as versões do framework .NET que uma determinada máquina de desenvolvimento possui, siga este roteiro:&lt;br /&gt;&lt;br /&gt;· Clique no menu Iniciar e localize em Programas, o menu referente ao Visual Studio.&lt;br /&gt;&lt;br /&gt;· Clique no  prompt de comando do Visual Studio.&lt;br /&gt;&lt;br /&gt;· Digite o seguinte comando: aspnet_regiis -lv&lt;br /&gt;&lt;br /&gt;A saída desse comando apresenta as versões e se cada uma delas é válida ou não e o path da instalação.&lt;br /&gt;&lt;br /&gt;Autor: Cláudio Ralha&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-8510677721626015511?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/8510677721626015511/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=8510677721626015511' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/8510677721626015511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/8510677721626015511'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/verso-do-framework.html' title='Versão do framework'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-1195172335100558115</id><published>2007-11-09T00:00:00.009-08:00</published><updated>2007-11-09T05:29:43.539-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>C# - Obter todos os Data Providers instalados na máquina cliente</title><content type='html'>//Para obter todos os Data Providers instalados na máquina &lt;br /&gt;//e que tenham compatibilidadade com .NET 2 e ADO.NET 2 ou superior&lt;br /&gt;//use a função DbProviderFactories.GetFactoryClasses();&lt;br /&gt;//Exemplo:&lt;br /&gt;&lt;br /&gt;using System;&lt;br /&gt;using System.Collections.Generic ;&lt;br /&gt;using System.Text;&lt;br /&gt;using System.Data.Common;&lt;br /&gt;using System.Data;&lt;br /&gt;&lt;br /&gt;namespace ListarDataProviders&lt;br /&gt;{&lt;br /&gt;    class Program&lt;br /&gt;    {&lt;br /&gt;        static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt;            DataTable providers =  DbProviderFactories.GetFactoryClasses();&lt;br /&gt;&lt;br /&gt;            foreach (DataRow linha in providers.Rows)&lt;br /&gt;            {&lt;br /&gt;                foreach (DataColumn coluna in providers.Columns)&lt;br /&gt;                {&lt;br /&gt;                    Console.WriteLine("{0}:", coluna.ColumnName);&lt;br /&gt;                    Console.WriteLine(linha[coluna].ToString());&lt;br /&gt;                }&lt;br /&gt;                Console.WriteLine();&lt;br /&gt;            }&lt;br /&gt;            Console.ReadKey ();&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Autor:  Adriano Santos&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-1195172335100558115?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/1195172335100558115/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=1195172335100558115' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1195172335100558115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1195172335100558115'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/c-obter-todos-os-data-providers.html' title='C# - Obter todos os Data Providers instalados na máquina cliente'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-6496717215574434728</id><published>2007-11-09T00:00:00.007-08:00</published><updated>2007-11-09T05:24:12.103-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>C# - Capturando endereços IP</title><content type='html'>using System.Net; &lt;br /&gt;&lt;br /&gt;string s =""; &lt;br /&gt;IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList; &lt;br /&gt;for (int i = 0; i &lt; addressList.Length; i ++) s += addressList[i].ToString() + "\n"; &lt;br /&gt;txtBox1.Text = s; &lt;br /&gt;&lt;br /&gt;Autor: Alexandre Ruter Facione&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-6496717215574434728?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/6496717215574434728/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=6496717215574434728' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/6496717215574434728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/6496717215574434728'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/c-capturando-endereos-ip.html' title='C# - Capturando endereços IP'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-4938799942087211591</id><published>2007-11-09T00:00:00.006-08:00</published><updated>2007-11-09T05:21:27.464-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>C# - usando o using</title><content type='html'>Try/finaly ou using ?&lt;br /&gt;&lt;br /&gt;Sabemos que no final das contas, ambos fazem a mesma coisa.&lt;br /&gt;No entanto...&lt;br /&gt;&lt;br /&gt;Ao usar o try/finnaly o objeto instanciado por você, deverá ser liberado dentro de finnaly (você deverá fazer isso manualmente), mas quando usamos using, está liberação é feita automaticamente.&lt;br /&gt;&lt;br /&gt;O using atende a liberação de recursos. O objeto que será instânciado no comando “using”, é liberado automaticamente, ou seja, é chamado o “Dispose” deste objeto de forma totalmente automática.  &lt;br /&gt;&lt;br /&gt;O using é um tipo de atalho da liguagem. O compilador traduz o  using para um comando muito semelhante a instrução nativa  try/finaly.&lt;br /&gt;&lt;br /&gt;Na prática como funciona? Vejamos um exemplo simples:&lt;br /&gt;&lt;br /&gt;1- Aqui um código puro sem bloco de segurança.&lt;br /&gt;&lt;br /&gt;TextWriter writer = new StreamWriter(”texto.txt”);&lt;br /&gt;writer.WriteLine(”Aqui vem o texto.”);&lt;br /&gt;writer.Dispose();  &lt;br /&gt;&lt;br /&gt;2- Agora o mesmo código, só que em uma construção dentro de um bloco seguro e com a liberação do recurso do objeto.  &lt;br /&gt;&lt;br /&gt;TextWriter writer = null;&lt;br /&gt;try&lt;br /&gt;{&lt;br /&gt;writer = new StreamWriter(”texto.txt”);&lt;br /&gt;writer.WriteLine(”Aqui vem o texto.”);&lt;br /&gt;}&lt;br /&gt;finally&lt;br /&gt;{&lt;br /&gt;if (writer != null)&lt;br /&gt;writer1.Dispose();&lt;br /&gt;}  &lt;br /&gt;&lt;br /&gt;3- Aqui o equivalente ao código anterior com o comando “using”.&lt;br /&gt;&lt;br /&gt;using ( TextWriter writer = new StreamWriter(”texto.txt”) )&lt;br /&gt;{&lt;br /&gt;writer2.WriteLine(”Aqui vem o texto.”);&lt;br /&gt;}  &lt;br /&gt;&lt;br /&gt;Bom, agora segue a dica:  &lt;br /&gt;&lt;br /&gt;Nunca se esqueça de SEMPRE usar o “using” quando estiver trabalhando com recursos não gerenciados.&lt;br /&gt;&lt;br /&gt;Autor:  Francke Peixoto&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-4938799942087211591?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/4938799942087211591/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=4938799942087211591' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4938799942087211591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4938799942087211591'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/c-usando-o-using.html' title='C# - usando o using'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-7049665598537130689</id><published>2007-11-09T00:00:00.004-08:00</published><updated>2007-11-09T05:16:26.270-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>C# - Adicionando controle em tempo de execução</title><content type='html'>TextBox tb = new TextBox();&lt;br /&gt;&lt;br /&gt;tb.Location = new Point(10, 10);&lt;br /&gt;tb.Size = new Size(100, 20);&lt;br /&gt;tb.Text = "Olá Mundo!";&lt;br /&gt;&lt;br /&gt;this.Controls.Add(tb); &lt;br /&gt;&lt;br /&gt;Autor: Alexandre Ruter Facione&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-7049665598537130689?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/7049665598537130689/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=7049665598537130689' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/7049665598537130689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/7049665598537130689'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/c-adicionando-controle-em-tempo-de.html' title='C# - Adicionando controle em tempo de execução'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-4329616553434238802</id><published>2007-11-09T00:00:00.003-08:00</published><updated>2007-11-09T05:11:15.268-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>Função C# - Removendo caracteres especiais de um TextBox</title><content type='html'>Vamos supor que existe um TextBox em um Windows Form e você tem que entrar com uma senha, nome, endereço, etc. &lt;br /&gt;&lt;br /&gt;Se você deseja que alguns caracteres, como vírgula (,), ponto e vírgula (;), sinal de adição (+), etc sejam removidos do TextBox, por exemplo, após o clique de um botão, aqui vai um pequeno truque: &lt;br /&gt;&lt;br /&gt;Digamos que você digite no TextBox, a string "+Bo=n;d" e clique no botão. &lt;br /&gt;&lt;br /&gt;O método: &lt;br /&gt;&lt;br /&gt;private void button1_Click(object sender, System.EventArgs e) {&lt;br /&gt;      //Aqui você pode incluir os caracteres qeu deseja que sejam retirados &lt;br /&gt;      char[] trim = {'=', '\\', ';','.', ':',',','+','*'}; &lt;br /&gt;      int pos;&lt;br /&gt;      while ((pos = this.textBox1.Text.IndexOfAny (trim)) &gt;= 0) &lt;br /&gt;     {&lt;br /&gt;        this.textBox1.Text = this.textBox1.Text.Remove (pos, 1);&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Será invocado e o resultado da nova string sem os caracteres especiais na variável "trim" será mostrada no TextBox.&lt;br /&gt;&lt;br /&gt;Autor: Huseyin Altindag&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-4329616553434238802?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/4329616553434238802/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=4329616553434238802' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4329616553434238802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4329616553434238802'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/funo-c-removendo-caracteres-especiais.html' title='Função C# - Removendo caracteres especiais de um TextBox'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-5671661864611862167</id><published>2007-11-09T00:00:00.002-08:00</published><updated>2007-11-09T05:06:20.530-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>Função C# - Retirar acentos</title><content type='html'>Exemplo 01&lt;br /&gt;private string retiraAcentos(string texto)&lt;br /&gt;{&lt;br /&gt;    string comAcentos = "ÄÅÁÂÀÃäáâàãÉÊËÈéêëèÍÎÏÌíîïìÖÓÔÒÕöóôòõÜÚÛüúûùÇç";&lt;br /&gt;    string semAcentos = "AAAAAAaaaaaEEEEeeeeIIIIiiiiOOOOOoooooUUUuuuuCc";&lt;br /&gt;    for (int i = 0; i &lt; comAcentos.Length; i++)&lt;br /&gt;    {&lt;br /&gt;        texto = texto.Replace(comAcentos[i].ToString(),semAcentos[i].ToString());&lt;br /&gt;    }&lt;br /&gt;    return texto;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Exemplo 02&lt;br /&gt;private string retiraAcentos(string strcomAcentos)&lt;br /&gt;{&lt;br /&gt;    string strsemAcentos = strcomAcentos;&lt;br /&gt;    strsemAcentos = Regex.Replace(strsemAcentos, "[áàâãª]", "a");&lt;br /&gt;    strsemAcentos = Regex.Replace(strsemAcentos, "[ÁÀÂÃ]", "A");&lt;br /&gt;    strsemAcentos = Regex.Replace(strsemAcentos, "[éèê]", "e");&lt;br /&gt;    strsemAcentos = Regex.Replace(strsemAcentos, "[ÉÈÊ]", "e");&lt;br /&gt;    strsemAcentos = Regex.Replace(strsemAcentos, "[íìî]", "i");&lt;br /&gt;    strsemAcentos = Regex.Replace(strsemAcentos, "[ÍÌÎ]", "I");&lt;br /&gt;    strsemAcentos = Regex.Replace(strsemAcentos, "[óòôõº]", "o");&lt;br /&gt;    strsemAcentos = Regex.Replace(strsemAcentos, "[ÓÒÔÕ]", "O");&lt;br /&gt;    strsemAcentos = Regex.Replace(strsemAcentos, "[úùû]", "u");&lt;br /&gt;    strsemAcentos = Regex.Replace(strsemAcentos, "[ÚÙÛ]", "U");&lt;br /&gt;    strsemAcentos = Regex.Replace(strsemAcentos, "[ç]", "c");&lt;br /&gt;    strsemAcentos = Regex.Replace(strsemAcentos, "[Ç]", "C");&lt;br /&gt;    return strsemAcentos;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-5671661864611862167?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/5671661864611862167/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=5671661864611862167' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/5671661864611862167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/5671661864611862167'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/funo-c-retirar-acentos.html' title='Função C# - Retirar acentos'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-4929566478236023304</id><published>2007-11-09T00:00:00.001-08:00</published><updated>2007-11-09T05:04:22.615-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>Função C# - Calcular idade de uma pessoa</title><content type='html'>using System;&lt;br /&gt;&lt;br /&gt;namespace ConsoleApplication1&lt;br /&gt;{&lt;br /&gt;    class Class1&lt;br /&gt;    {&lt;br /&gt;&lt;br /&gt;        private static int calcIdade(DateTime dNasc)&lt;br /&gt;        {     &lt;br /&gt;            int idade = DateTime.Now.Year - dNasc.Year;     &lt;br /&gt;            if    (DateTime.Now.Month &lt; dNasc.Month || &lt;br /&gt;                (DateTime.Now.Month == dNasc.Month &amp;&amp; &lt;br /&gt;                DateTime.Now.Day &lt; dNasc.Day))        &lt;br /&gt;                idade--;     &lt;br /&gt;            return idade;&lt;br /&gt;        }&lt;br /&gt;        &lt;br /&gt;        [STAThread]&lt;br /&gt;        static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt;            DateTime data = new DateTime(1964,12,15);&lt;br /&gt;            Console.WriteLine("Idade: " + calcIdade(data) + " anos");&lt;br /&gt;            Console.ReadLine();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-4929566478236023304?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/4929566478236023304/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=4929566478236023304' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4929566478236023304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4929566478236023304'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/funo-c-calcular-idade-de-uma-pessoa.html' title='Função C# - Calcular idade de uma pessoa'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-106011496883819527</id><published>2007-11-09T00:00:00.000-08:00</published><updated>2007-11-09T05:03:58.542-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.net'/><title type='text'>Função C# - Validação de CNPJ</title><content type='html'>using System;&lt;br /&gt;&lt;br /&gt;namespace ClassLibrary1&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    public class valida&lt;br /&gt;    {&lt;br /&gt;        public valida()&lt;br /&gt;        {&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public bool ValidaCnpj(string cnpj)&lt;br /&gt;        {&lt;br /&gt;            int[] multiplicador1 = new int[12] {5,4,3,2,9,8,7,6,5,4,3,2};&lt;br /&gt;            int[] multiplicador2 = new int[13] {6,5,4,3,2,9,8,7,6,5,4,3,2};&lt;br /&gt;            int soma;&lt;br /&gt;            int resto;&lt;br /&gt;            string digito;&lt;br /&gt;            string tempCnpj;&lt;br /&gt;&lt;br /&gt;            cnpj = cnpj.Trim();&lt;br /&gt;            cnpj = cnpj.Replace(".", "").Replace("-", "").Replace("/", "");&lt;br /&gt;&lt;br /&gt;            if (cnpj.Length != 14)&lt;br /&gt;                return false;&lt;br /&gt;&lt;br /&gt;            tempCnpj = cnpj.Substring(0, 12);&lt;br /&gt;&lt;br /&gt;            soma = 0;&lt;br /&gt;            for(int i=0; i&lt;12; i++)&lt;br /&gt;                soma += int.Parse(tempCnpj[i].ToString()) * multiplicador1[i];&lt;br /&gt;&lt;br /&gt;            resto = (soma % 11);&lt;br /&gt;            if ( resto &lt; 2)&lt;br /&gt;                resto = 0;&lt;br /&gt;            else&lt;br /&gt;                resto = 11 - resto;&lt;br /&gt;&lt;br /&gt;            digito = resto.ToString();&lt;br /&gt;&lt;br /&gt;            tempCnpj = tempCnpj + digito;&lt;br /&gt;            soma = 0;&lt;br /&gt;            for (int i = 0; i &lt; 13; i++)&lt;br /&gt;                soma += int.Parse(tempCnpj[i].ToString()) * multiplicador2[i];&lt;br /&gt;&lt;br /&gt;            resto = (soma % 11);&lt;br /&gt;            if (resto &lt; 2)&lt;br /&gt;                resto = 0;&lt;br /&gt;            else&lt;br /&gt;                resto = 11 - resto;&lt;br /&gt;&lt;br /&gt;            digito = digito + resto.ToString();&lt;br /&gt;&lt;br /&gt;            return cnpj.EndsWith(digito);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-106011496883819527?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/106011496883819527/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=106011496883819527' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/106011496883819527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/106011496883819527'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/funo-c-validao-de-cnpj.html' title='Função C# - Validação de CNPJ'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-3230357879651909487</id><published>2007-11-07T00:00:00.000-08:00</published><updated>2008-12-14T05:02:00.967-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Sistema Operacional gOS</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/RzGZMoCDvyI/AAAAAAAAAGs/XxtJnyX9Xe0/s1600-h/gos.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/RzGZMoCDvyI/AAAAAAAAAGs/XxtJnyX9Xe0/s200/gos.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5130049892735237922" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;G&lt;/strong&gt;reen &lt;strong&gt;O&lt;/strong&gt;perating &lt;strong&gt;S&lt;/strong&gt;ystem é aconselhável para computadores com baixo desempenho, ou seja, não precisa de nenhum super-computador para rodá-lo.&lt;br /&gt;&lt;br /&gt;Feito em cima da distro do Ubuntu e adaptado para utilizar os vários recursos do Google:&lt;br /&gt;&lt;br /&gt;YouTube&lt;br /&gt;Procura Automatizado no Google &lt;br /&gt;Calendário Google&lt;br /&gt;Google Maps&lt;br /&gt;&lt;br /&gt;Outros . . .&lt;br /&gt;Wikipedia&lt;br /&gt;Facebook&lt;br /&gt;Xine &lt;br /&gt;Movie Player&lt;br /&gt;Skype&lt;br /&gt;OpenOffice (planinha,editor de texto . . .)&lt;br /&gt;&lt;br /&gt;Para baixar acesse &lt;a href="http://thinkgos.com/downloads.html"&gt;www.thinkgos.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-3230357879651909487?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/3230357879651909487/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=3230357879651909487' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/3230357879651909487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/3230357879651909487'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/sistema-operacional-gos.html' title='Sistema Operacional gOS'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zJlWXYQ890o/RzGZMoCDvyI/AAAAAAAAAGs/XxtJnyX9Xe0/s72-c/gos.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-2030739409878033949</id><published>2007-11-06T00:00:00.000-08:00</published><updated>2008-12-14T05:02:01.189-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tecnologia'/><title type='text'>Cartão de crédito com teclado</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_zJlWXYQ890o/RzG6tICDvzI/AAAAAAAAAG0/Rkld7GjlpIw/s1600-h/card.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/RzG6tICDvzI/AAAAAAAAAG0/Rkld7GjlpIw/s320/card.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5130086734964703026" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A próxima geração de cartões de crédito poderá incorporar teclado com 12 teclas, um microprocessador e uma tela alfanumérica embutida, como o protótipo chamado Dispositivo com Autenticação Embutida (Credit Card Embedded Authentication Device, originalmente em inglês), desenvolvido pelas companhias Innovative Card Technologies e eMue Technologies.&lt;br /&gt;&lt;br /&gt;Em formato padrão de cartão de crédito, o aparelho traz vários modos de autenticação para o uso em transações online, por telefone ou em caixas eletrônicos. Com ele, o usuário poderia entrar com seu PIN secreto a partir do teclado numérico do dispositivo para então receber um código numérico para usar uma vez, explicou o site The Red Ferret. Já para autorizar uma transação bancária, a senha é digitada na interface e validada instantaneamente por um servidor de autenticação.&lt;br /&gt;&lt;br /&gt;Os desenvolvedores acreditam que o cartão de crédito com teclado alfanumérico embutido evita que o usuário coloque seu PIN em risco ao digitá-lo pelo navegador de internet. O novo cartão oferece uma forma amigável de defender os clientes de fraudes eletrônicas no setor bancário - um problema que tem um custo anual para as instituições financeiras estimado em US$ 4 bilhões, acrescentou o site gizmag Art.&lt;br /&gt;&lt;br /&gt;O Dispositivo com Autenticação Embutida será apresentado ao consumidor durante o evento de segurança digital Cartes &amp; IDentification, entre os dias 13 e 15 de novembro, em Paris.&lt;br /&gt;&lt;br /&gt;Fontes &lt;br /&gt;&lt;a href="http://www.neoteam.com.br/index.php?mod=article&amp;cat=Segu&amp;article=1262"&gt;www.neotem.com.br&lt;/a&gt; &lt;br /&gt;&lt;a href="http://www.digitaldrops.com.br/drops/2007/10/cartao_de_credito_com_teclado.html"&gt;www.digitaldrops.com.br&lt;/a&gt; &lt;br /&gt;&lt;a href="http://www.geek.com.br/modules/noticias/ver.php?id=14486&amp;sec=3"&gt;www.geek.com.br&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-2030739409878033949?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/2030739409878033949/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=2030739409878033949' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2030739409878033949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2030739409878033949'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/carto-de-crdito-com-teclado.html' title='Cartão de crédito com teclado'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_zJlWXYQ890o/RzG6tICDvzI/AAAAAAAAAG0/Rkld7GjlpIw/s72-c/card.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-5214971039889003490</id><published>2007-11-05T00:00:00.000-08:00</published><updated>2008-12-14T05:02:01.492-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tecnologia'/><title type='text'>QR Codes</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/Ry9LbICDvwI/AAAAAAAAAGc/v7TaJUhwWKs/s1600-h/2d.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/Ry9LbICDvwI/AAAAAAAAAGc/v7TaJUhwWKs/s400/2d.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5129401429982953218" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;O QR Code (ou Código de Barras em 2D), é uma matriz ou código de barras bidimensional, criado pela empresa Japonesa Denso-Wave, em 1994. O QR vem de Quick Response, pois o código pode ser interpretado rapidamente, mesmo com imagens de baixa resolução, feitas por cameras digitais em formato VGA, como as de celulares. O QR Code é muito usado no Japão.&lt;br /&gt;&lt;br /&gt;Inicialmente usados para catalogar diferentes partes na construção de veículos, hoje o QR Code é usado no gerenciamento de inventário em uma grande variedade de indústrias. Desde 2003, estão sendo desenvolvidas aplicações direcionadas para ajudar os usuários na intediante tarefa de adicionar dados em telefones celulares. &lt;br /&gt;&lt;br /&gt;Os QR Codes são muito comuns também em revistas e propagandas, onde usam-se os códigos para guardar endereços e URLs, além de informações pessoais detalhadas, no caso de cartões de visitas, facilitando muito a inserção destes dados em agendas de telefones celulares. Consumidores com programas de captura ou PCs com interface RS-232C, podem usar um scanner para capturar as imagens.&lt;br /&gt;&lt;br /&gt;Por exemplo, meu blog em QR code ficaria assim:&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/Ry9PxICDvxI/AAAAAAAAAGk/-AHN0djBq4U/s1600-h/qrcode.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/Ry9PxICDvxI/AAAAAAAAAGk/-AHN0djBq4U/s400/qrcode.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5129406205986586386" /&gt;&lt;/a&gt;&lt;br /&gt;http://blogdoaudrey.blogspot.com&lt;br /&gt;&lt;br /&gt;Para criar uma url para seu site acesse &lt;a href="http://qrcode.kaywa.com/"&gt;http://qrcode.kaywa.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-5214971039889003490?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/5214971039889003490/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=5214971039889003490' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/5214971039889003490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/5214971039889003490'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/qr-code.html' title='QR Codes'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zJlWXYQ890o/Ry9LbICDvwI/AAAAAAAAAGc/v7TaJUhwWKs/s72-c/2d.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-2570101509292188822</id><published>2007-11-04T03:21:00.000-08:00</published><updated>2007-11-07T05:33:46.329-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Editar / Modificar o ficheiro Boot.ini no Windows XP</title><content type='html'>Cópia de segurança do arquivo Boot.ini&lt;br /&gt;&lt;br /&gt;1-Click em Iniciar, Executar, escreva sysdm.cpl e clique em OK.&lt;br /&gt;2-Na aba Avançado, clique em Configurações (Inicialização e Recuperação).&lt;br /&gt;3-Clique em Editar. Este procedimento abre o ficheiro no Bloco de notas.&lt;br /&gt;4-No Bloco de notas, click em Arquivo na barra de menus e click em Salvar como.&lt;br /&gt;5-Crie uma pasta com o nome de temp_boot_ini e salve o arquivo nesta pasta.&lt;br /&gt;&lt;br /&gt;Adicionar,remover e configurar o arquivo Boot.ini&lt;br /&gt;&lt;br /&gt;1-Click em Iniciar, Executar.&lt;br /&gt;2-Na caixa de texto escreva cmd&lt;br /&gt;3-Na linha de comandos, escreva bootcfg /?&lt;br /&gt;4-A ajuda e os parâmetros para BOOTCFG.exe serão apresentados.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;Adicionar um sistema operacional&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;Na linha de comandos, digite: &lt;br /&gt;bootcfg /copy /d Descrição do sistema operacional /ID#&lt;br /&gt;Em que Descrição do sistema operacional é uma descrição de texto (por exemplo Windows XP Home Edition) e em que # especifica o ID da entrada de arranque na secção dos sistemas operacionais do arquivo BOOT.INI a partir do qual tem de ser feita a cópia.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;Remover um sistema operacional&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;Na linha de comandos, escreva: &lt;br /&gt;bootcfg /delete /ID#&lt;br /&gt;Em que # especifica o ID da entrada de arranque que pretende ver eliminado da secção dos sistemas operacionais do arquivo BOOT.INI (por exemplo, 2 para o segundo sistema operacional apresentado).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;Configurar o sistema operacional predefinido&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;Na linha de comandos, escreva: &lt;br /&gt;bootcfg /default /ID#&lt;br /&gt;Em que # especifica o ID da entrada de arranque da secção dos sistemas operacionais do arquivo BOOT.INI que deve se tornar o sistema operacional predefinido.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;em&gt;Configurar o limite de tempo&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;Na linha de comandos, escreva: &lt;br /&gt;bootcfg /timeout# &lt;br /&gt;Em que # especifica o tempo em segundos depois do qual o sistema operacional predefinido será carregado.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-2570101509292188822?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/2570101509292188822/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=2570101509292188822' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2570101509292188822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2570101509292188822'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/editar-modificar-o-ficheiro-bootini-no.html' title='Editar / Modificar o ficheiro Boot.ini no Windows XP'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-6056488564705130547</id><published>2007-11-03T04:19:00.001-07:00</published><updated>2008-12-14T05:02:01.643-08:00</updated><title type='text'>blogdoAudrey no Google</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/RyxaK4CDvsI/AAAAAAAAAF4/VrVAd97_XHs/s1600-h/google.JPG"&gt;&lt;img style="float:center; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/RyxaK4CDvsI/AAAAAAAAAF4/VrVAd97_XHs/s400/google.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5128573218554363586" /&gt;&lt;/a&gt;&lt;br /&gt;Ahhhh . . . finalmente estou no indice de pesquisas do site do Google . . .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-6056488564705130547?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/6056488564705130547/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=6056488564705130547' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/6056488564705130547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/6056488564705130547'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/blogdoaudrey-no-google.html' title='blogdoAudrey no Google'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zJlWXYQ890o/RyxaK4CDvsI/AAAAAAAAAF4/VrVAd97_XHs/s72-c/google.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-3282652515342216669</id><published>2007-11-02T03:39:00.000-07:00</published><updated>2008-12-14T05:02:02.592-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Livros'/><title type='text'>Livros online - Guida do Hardware - Carlos E.Morimoto</title><content type='html'>O site Guia do hardware através de seu autor Carlos E.Morimoto disponibiliza livros online:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_zJlWXYQ890o/RyxTCoCDvmI/AAAAAAAAAFI/2vUfbetFXgg/s1600-h/livro1.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_zJlWXYQ890o/RyxTCoCDvmI/AAAAAAAAAFI/2vUfbetFXgg/s200/livro1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5128565380239048290" /&gt;&lt;/a&gt;&lt;br /&gt;:. Linux, Entendendo o Sistema (guia prático) &lt;br /&gt;&lt;br /&gt;* Publicado em 2006 &lt;br /&gt;Autor: Carlos E. Morimoto &lt;br /&gt;&lt;br /&gt;Este livro explica a estrutura do sistema, as diferenças entre as distribuições, os programas e utilitários disponíveis e fornece até mesmo noções de hardware, redes e programação, que são úteis no dia-a-dia. Ele é, enfim, um guia para entender como o Linux funciona e fazê-lo trabalhar a seu favor :). &lt;br /&gt;Ao longo do livro são abordados o Kurumin, Ubuntu e Slax. Uma das grandes preocupações é fornecer explicações aprofundadas, que sejam úteis ao lidar com várias distribuições diferentes. &lt;br /&gt;&lt;a href="http://www.guiadohardware.net/livros/entendendo/"&gt;:. Linux Entendendo o Sistema (leia online)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_zJlWXYQ890o/RyxTeICDvnI/AAAAAAAAAFQ/xBPXQtkJHNY/s1600-h/livro2.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_zJlWXYQ890o/RyxTeICDvnI/AAAAAAAAAFQ/xBPXQtkJHNY/s200/livro2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5128565852685450866" /&gt;&lt;/a&gt;&lt;br /&gt;:. Kurumin, desvendando seus segredos &lt;br /&gt;&lt;br /&gt;* Publicado em 2004 &lt;br /&gt;Autor: Carlos E. Morimoto &lt;br /&gt;&lt;br /&gt;Embora tenha começado como um projeto despretencioso, o Kurumin tornou-se rapidamente uma das distribuições Linux mais usadas no páis. Este livro é o guia oficial, que mostra em detalhes os recursos disponíveis no sistema, as opções de configuração e os recursos disponíveis. &lt;br /&gt;&lt;br /&gt;Dividido em 9 capítulos, o livro tem mais de 400 páginas, com dicas que são úteis também para quem usa outras distribuições Linux. No link abaixo você pode lê-lo online ou comprar a versão impressa. &lt;br /&gt;&lt;a href="http://www.guiadohardware.net/livros/kurumin/"&gt;:. Kurumin, desvendando seus segredos (leia online)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/RyxTw4CDvoI/AAAAAAAAAFY/o_n5zHThv9Y/s1600-h/livro3.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/RyxTw4CDvoI/AAAAAAAAAFY/o_n5zHThv9Y/s200/livro3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5128566174807998082" /&gt;&lt;/a&gt;&lt;br /&gt;:. Dicionário de termos técnicos de Informática&lt;br /&gt;&lt;br /&gt;* Este livro está em atualização constante&lt;br /&gt;Autor: Carlos E. Morimoto&lt;br /&gt;&lt;br /&gt;Um dos meus sonhos sempre foi escrever um dicionário de informática, com milhares de termos, ilustrações e tudo mais o que tivesse direito. Mas, quando se têm um trabalho tão grande em mente, muitas vezes o mais difícil é começar. Afinal, os dicionários costumam ser trabalhos para a vida toda, veja o caso do Aurélio, que tomou praticamente toda a vida do autor e hoje continua em desenvolvimento, atualizado por uma equipe de lingüistas. &lt;br /&gt;&lt;br /&gt;Os meus objetivos aqui são um pouco mais modestos, chegar a um dicionário com 4 ou 5 mil termos de informática, abordando Hardware, Redes, Sistemas Operacionais e vários tipos de jargões utilizados neste mundo que poucos conhecem bem. &lt;br /&gt;&lt;a href="http://www.guiadohardware.net/termos/"&gt;:. Dicionário de Termos Técnicos de Informática (leia online)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/RyxUy4CDvpI/AAAAAAAAAFg/nGiKYsUi8Uo/s1600-h/livro4.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/RyxUy4CDvpI/AAAAAAAAAFg/nGiKYsUi8Uo/s200/livro4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5128567308679364242" /&gt;&lt;/a&gt;&lt;br /&gt;:. Entendendo e Dominando o Linux &lt;br /&gt;&lt;br /&gt;* Atualizado em 2003&lt;br /&gt;Autor: Carlos E. Morimoto&lt;br /&gt;&lt;br /&gt;Com a rápida expansão que estamos vendo e rápida evolução do sistema, nunca é demais falar sobre o Linux. Este livro não tem como objetivo ser um guia altamente técnico, cheio de referências a scripts de configuração em Perl ou qualquer outra linguagem desconhecida muito menos um monte de RTFMs :-)&lt;br /&gt;&lt;br /&gt;Este é um Guia para quem está dando seus primeiros passos no Linux e deseja conhecer os recursos do sistema. Além dos processos de instalação e configuração, você conhecerá os principais aplicativos disponíveis, como configurar vídeo, som, impressora, rede e até mesmo os temíveis softmodems no Linux. &lt;br /&gt;&lt;br /&gt;Veremos ainda como interligar máquinas Linux e Windows em rede usando o Samba, como criar um poderoso servidor web com o Apache ou um servidor Proxy altamente configurável com o Squid. Você conhecerá ainda os vários serviços disponíveis no Linux, como configurar os principais arquivos de configuração, como acessar máquinas Linux remotamente via Telnet, SSH e VNC e ainda como configurar terminais leves e instalar o Linux em PCs antigos. &lt;br /&gt;&lt;br /&gt;O Linux é um mundo novo a ser explorado e espero que este livro possa ser um dos seus guias nesta jornada&lt;br /&gt;&lt;a href="http://www.guiadohardware.net/ebooks/linux/index.html"&gt;:. Entendendo e Dominando o Linux: (leia online)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_zJlWXYQ890o/RyxVRYCDvqI/AAAAAAAAAFo/4oSSgKm1zYs/s1600-h/livro5.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/RyxVRYCDvqI/AAAAAAAAAFo/4oSSgKm1zYs/s200/livro5.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5128567832665374370" /&gt;&lt;/a&gt;&lt;br /&gt;:. Hardware, Manual Completo&lt;br /&gt;&lt;br /&gt;* Atualizado em 2002 &lt;br /&gt;Autor: Carlos E. Morimoto&lt;br /&gt;&lt;br /&gt;Seja você um técnico especializado, ou simplesmente um usuário com curiosidade acima da média, encontrará neste livro uma fonte rica e atualizada de informações que lhe permitirão, não somente montar e configurar micros, mas entender todos os seus segredos, muitas vezes ocultados pela linguagem técnica dos manuais, ou pelas complicadas opções do CMOS Setup, tornando-se apto para facilmente deixar qualquer micro PC "em ponto de bala" solucionando qualquer problema de funcionamento e melhorando seu desempenho com configurações otimizadas. &lt;br /&gt;&lt;br /&gt;Estudaremos com detalhes neste livro desde cabos e conectores até as opções mais enigmáticas do CMOS Setup, passando pelo funcionamento e especificações técnicas de vários tipos de processadores, discos rígidos, memórias, chipsets, placas mães, placas de vídeo, monitores, e muitos outros periféricos. &lt;br /&gt;&lt;a href="http://www.guiadohardware.net/livros/hardware/"&gt;:. Hardware, Manual Completo (leia online)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/RyxVl4CDvrI/AAAAAAAAAFw/X5bLnoQJ4JU/s1600-h/livro6.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/RyxVl4CDvrI/AAAAAAAAAFw/X5bLnoQJ4JU/s200/livro6.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5128568184852692658" /&gt;&lt;/a&gt;&lt;br /&gt;:. Guia de Redes: cabeamento e configuração &lt;br /&gt;&lt;br /&gt;* Atualizado em 2002&lt;br /&gt;Autor: Carlos E. Morimoto&lt;br /&gt; &lt;br /&gt;As redes vem sendo cada vez mais utilizadas, não apenas em grandes empresas, mas em pequenos escritórios, ou mesmo em casa. A demanda por profissionais qualificados neste mercado vem tornando-se cada vez maior, e as remunerações não são nada ruins. Mesmo que você não pretenda tornar-se um especialista em redes, possuir pelo menos os conhecimentos básicos irá ajudar bastante sua carreira profissional. Se você já trabalha como técnico poderá agora oferecer mais um serviço a seus clientes. &lt;br /&gt;&lt;br /&gt;Montar e configurar redes pequenas e médias é uma tarefa surpreendentemente simples.O objetivo deste livro é lhe dar todo o conhecimento necessário para montar redes de pequeno porte, como as usadas em casas e escritórios, incluindo compartilhamento da mesma conexão à Internet, configuração de endereços IP, etc. Porém, também são abordados tópicos mais avançados, como a configuração de máscaras de sub-rede complexas, criação de redes virtuais, etc. que lhe darão uma boa idéia de como montar redes mais complexas. Apesar do assunto parecer bastante técnico, procurei usar uma linguagem os mais didática possível, abordando todos os detalhes, porém sem cair no tecnismo, a mesma linguagem que uso em meus outros livros. &lt;br /&gt;&lt;a href="http://www.guiadohardware.net/livros/redes/"&gt;:. Guia de Redes: cabeamento e configuração (leia online)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-3282652515342216669?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/3282652515342216669/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=3282652515342216669' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/3282652515342216669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/3282652515342216669'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/11/livros-online-guida-do-hardware-carlos.html' title='Livros online - Guida do Hardware - Carlos E.Morimoto'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_zJlWXYQ890o/RyxTCoCDvmI/AAAAAAAAAFI/2vUfbetFXgg/s72-c/livro1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-5749458356653064093</id><published>2007-10-31T14:12:00.000-07:00</published><updated>2008-12-14T05:02:02.749-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Por dentro'/><title type='text'>S.O. do Google para celulares</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_zJlWXYQ890o/RyjwHoCDvfI/AAAAAAAAAEU/Ic5JuGeZykk/s1600-h/sogoogle.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_zJlWXYQ890o/RyjwHoCDvfI/AAAAAAAAAEU/Ic5JuGeZykk/s200/sogoogle.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5127612189557112306" /&gt;&lt;/a&gt;&lt;br /&gt;O Google esta planejando anunciar seu primeiro Sistema Operacional para celulares em duas semanas, sendo disponibilizado no mercado em 2008.&lt;br /&gt;Os celulares equipados com software do Google devem trazer várias aplicações da companhia, incluindo o Google Maps, YouTube e Gmail.&lt;br /&gt;O Google tem o objetivo de deixar o software dos dispositivos abertos, incluindo o Sistema Operacional dos aparelhos. Isso permitirá aos desenvolvedores criarem recursos adicionais para os celulares. Acredita-se que essa abertura seja uma estratégia para lançamento do celular da Google. &lt;br /&gt;&lt;br /&gt;É esperar para ver . . .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-5749458356653064093?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/5749458356653064093/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=5749458356653064093' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/5749458356653064093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/5749458356653064093'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/10/so-do-google-para-portteis.html' title='S.O. do Google para celulares'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_zJlWXYQ890o/RyjwHoCDvfI/AAAAAAAAAEU/Ic5JuGeZykk/s72-c/sogoogle.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-4557985287216086576</id><published>2007-10-30T00:00:00.000-07:00</published><updated>2008-12-14T05:02:02.916-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Instalando o Ubuntu em um pendrive ou HD externo</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_zJlWXYQ890o/RyhcCYCDveI/AAAAAAAAAEM/BQnX7rohgRM/s1600-h/kubuntu.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/RyhcCYCDveI/AAAAAAAAAEM/BQnX7rohgRM/s200/kubuntu.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5127449371641888226" /&gt;&lt;/a&gt;&lt;br /&gt;A dica serve também para cartões, HD externos e outros dispositivos de armazenamento ligados à porta USB.&lt;br /&gt;&lt;br /&gt;Veja detalhes no &lt;a href="http://www.guiadohardware.net/dicas/ubuntu-pendrive.html"&gt;Guia do Hardware&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-4557985287216086576?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/4557985287216086576/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=4557985287216086576' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4557985287216086576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4557985287216086576'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/10/instalando-o-ubuntu-em-um-pendrive-ou.html' title='Instalando o Ubuntu em um pendrive ou HD externo'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_zJlWXYQ890o/RyhcCYCDveI/AAAAAAAAAEM/BQnX7rohgRM/s72-c/kubuntu.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-6779528413000705330</id><published>2007-10-28T13:02:00.000-07:00</published><updated>2007-10-28T13:10:56.449-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Por dentro'/><title type='text'>Furto ou roubo de carro: O que fazer ?</title><content type='html'>Se o seu veículo for roubado, entre em contato imediatamente com a Policia Militar (190). Em seguida, dirija-se à delegacia mais próxima para registrar um Boletim de Ocorrência (BO). Com o BO, além de tomar as providências referentes ao seguro, você pode solicitar a restituição do IPVA proporcional ao período em que você nâo fez uso do veículo. A requisição deve ser feita na Secretaria da Fazenda, no guichê do IPVA. Com o BO em mão também é possivel emitir um alerta para a Polícia Rodoviária Federal, que comunica para as viaturas com acesso via satélite. O sistema aceitará ocorrências nas últimas 72 horas. O alerta só pode ser feito via internet, através do endereço &lt;a href="http://www.dprf.gov.br"&gt;www.dprf.gov.br&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-6779528413000705330?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/6779528413000705330/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=6779528413000705330' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/6779528413000705330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/6779528413000705330'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/10/furto-ou-roubo-de-carro-o-que-fazer.html' title='Furto ou roubo de carro: O que fazer ?'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-5456269136645882249</id><published>2007-10-27T04:49:00.000-07:00</published><updated>2008-12-14T05:02:03.119-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Coisas que quase ninguém sabe sobre a MICROSOFT</title><content type='html'>&lt;a href="http://www.meiobit.com/artigo/coisas_que_quase_ningu_m_sabe_sobre_microsoft"&gt;Dennes do Blog MeioBit&lt;/a&gt; publicou um artigo interessante sobre coisas que quase ninguém sabe sobre a Microsoft, inclusive com links para comprovação.&lt;br /&gt;Veja abaixo algumas questões no estilo "você sabia . . ."&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/RyMtMICDvWI/AAAAAAAAACw/4DxX7wwuets/s1600-h/aspas.PNG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/RyMtMICDvWI/AAAAAAAAACw/4DxX7wwuets/s400/aspas.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5125990487215553890" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;li&gt;Que governos tem direito de acesso ao código fonte do Windows para garantir sua soberania nacional? &lt;br /&gt;Veja em&lt;br /&gt;&lt;a href="http://www.microsoft.com/resources/sharedsource/default.mspx"&gt;http://www.microsoft.com/resources/sharedsource/default.mspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/resources/sharedsource/Licensing/GSP.mspx"&gt;http://www.microsoft.com/resources/sharedsource/Licensing/GSP.mspx&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;li&gt;Que o Windows CE não é apenas um Windows para dispositivos móveis, mas possui uma ferramenta (Platform Builder) que permite que se monte um novo sistema operacional a partir da escolha de milhares de peças que formam o Windows CE, desta forma criando sistemas operacionais específicos para determinados hardwares (sistemas embarcados) sem o excesso de funcionalidades? Além disso o custo de licença da unidade do sistema operacional é &lt;br /&gt;adaptado a partir das partes escolhidas pelo desenvolvedor, podendo ficar um valor a partir de aproximadamente US$ 10,00 a unidade?&lt;br /&gt;Veja em &lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/embedded/aa731407.aspx"&gt;http://msdn2.microsoft.com/en-us/embedded/aa731407.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa448756.aspx"&gt;http://msdn2.microsoft.com/en-us/library/aa448756.aspx&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;li&gt;Que as urnas eletrônicas brasileiras foram criadas com base no Windows CE embarcado conforme a tecnologia citada no item 4?&lt;br /&gt;&lt;a href="http://www.unisys.com.br/news/imprensa/release99.htm"&gt;http://www.unisys.com.br/news/imprensa/release99.htm&lt;/a&gt; &lt;br /&gt;"A Unisys e a Diebold Procomp, fabricantes de urnas eletrônicas de São Paulo, tinham planos de exportar a tecnologia para os países vizinhos. Em vez de emprestar algumas poucas urnas para fazer propaganda, o governo Lula decidiu bancar as eleições alheias. Só para o Paraguai foram emprestadas 15.000 urnas para as eleições de 2005 e 2006. A empresa Vesta, de São Paulo, deixou de vender softwares de compras públicas on-line para a Bolívia porque Lula, em seu primeiro ano no poder, resolveu oferecer ao país, de graça, um programa com a mesma função. "O governo federal não só reinventou a roda com o software livre à custa do contribuinte, como prejudicou a competição no mercado de tecnologia", diz Paula Santos, sócia da Vesta. É a política do software livre contra o livre &lt;br /&gt;mercado. "&lt;br /&gt;&lt;a href="http://veja.abril.uol.com.br/170506/p_068.html"&gt;http://veja.abril.uol.com.br/170506/p_068.html&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;"O governo brasileiro e os partidos políticos brasileiros, por exemplo, realizaram auditoria do código de 50 mil urnas eletrônicas baseadas no sistema operacional Windows CE" &lt;br /&gt;Emilio Umeoka, Presidente da Microsoft Brasil &lt;br /&gt;&lt;a href="http://www.camara-e.net/newsletter/2004/newsletter02marco04.html"&gt;http://www.camara-e.net/newsletter/2004/newsletter02marco04.html&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_zJlWXYQ890o/RyMtMICDvWI/AAAAAAAAACw/4DxX7wwuets/s1600-h/aspas.PNG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_zJlWXYQ890o/RyMtMICDvWI/AAAAAAAAACw/4DxX7wwuets/s400/aspas.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5125990487215553890" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-5456269136645882249?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/5456269136645882249/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=5456269136645882249' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/5456269136645882249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/5456269136645882249'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/10/dennes-do-blog-meiobit-publicou-um.html' title='Coisas que quase ninguém sabe sobre a MICROSOFT'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zJlWXYQ890o/RyMtMICDvWI/AAAAAAAAACw/4DxX7wwuets/s72-c/aspas.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-5356532754498710962</id><published>2007-10-26T06:35:00.001-07:00</published><updated>2008-12-14T05:02:03.275-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><title type='text'>Página no Google</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_zJlWXYQ890o/RyJIF4CDvVI/AAAAAAAAACo/lwuVV-2Z0hs/s1600-h/google.PNG"&gt;&lt;img style="float:center; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/RyJIF4CDvVI/AAAAAAAAACo/lwuVV-2Z0hs/s320/google.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5125738591678610770" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Para colocar a sua página em mecanismos de busca do Google:&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Pode ser através de Links em outros sites já indexados pelo Google; &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Através do Google Webmaster (você precisa criar a conta no Google)&lt;a href="http://www.google.com/webmasters/sitemaps/"&gt;http://www.google.com/webmasters/sitemaps/&lt;/a&gt;;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Submetendo o link para &lt;a href="http://www.google.com/addurl/?continue=/addurl."&gt;http://www.google.com/addurl/?continue=/addurl.&lt;/a&gt;&lt;/li&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-5356532754498710962?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/5356532754498710962/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=5356532754498710962' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/5356532754498710962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/5356532754498710962'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/10/pgina-no-google.html' title='Página no Google'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_zJlWXYQ890o/RyJIF4CDvVI/AAAAAAAAACo/lwuVV-2Z0hs/s72-c/google.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-6236213202337919330</id><published>2007-10-26T06:05:00.000-07:00</published><updated>2008-12-14T05:02:03.484-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><title type='text'>Web Templates - free</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_zJlWXYQ890o/RyHm14CDvUI/AAAAAAAAACg/iBAT_xYfz4c/s1600-h/templates.PNG"&gt;&lt;img style="float:center; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_zJlWXYQ890o/RyHm14CDvUI/AAAAAAAAACg/iBAT_xYfz4c/s320/templates.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5125631664172809538" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Web templates free. São mais de 200 modelos de páginas para Web utilizando CSS.&lt;br /&gt;Vale a pena conferir no site:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.freecsstemplates.org/css-templates/"&gt;http://www.freecsstemplates.org/css-templates/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-6236213202337919330?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/6236213202337919330/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=6236213202337919330' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/6236213202337919330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/6236213202337919330'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/10/web-templates-free.html' title='Web Templates - free'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_zJlWXYQ890o/RyHm14CDvUI/AAAAAAAAACg/iBAT_xYfz4c/s72-c/templates.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-7989356932382326415</id><published>2007-10-24T06:28:00.000-07:00</published><updated>2008-12-14T05:02:03.639-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Ubuntu Linux 7.10 em Português</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_zJlWXYQ890o/Rx-dyvdjKFI/AAAAAAAAACM/7U62kmKB4ec/s1600-h/ubuntu-logo.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/Rx-dyvdjKFI/AAAAAAAAACM/7U62kmKB4ec/s200/ubuntu-logo.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5124988396030339154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;O blog Zumo publicou uma análise da nova versão do Ubuntu, 7.10. Comenta vários aspectos desta versão, novos recursos, instalação, suporte a hardware . . .&lt;br /&gt;&lt;br /&gt;Escrita por Rafael Rigues&lt;br /&gt;&lt;br /&gt;Considerações finais:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;O Ubuntu 7.10 não só é a melhor versão do Ubuntu que já testei, como uma das melhores distribuições Linux entre as muitas que já passaram pelas minhas mãos em vários anos lidando com o pinguim. O suporte a hardware é excelente (até mesmo Winmodems funcionam) e o recurso de instalação automática de codecs e a integração dos plugins do Firefox ao Synaptic praticamente dispensam o uso de software para “aparar as arestas”, como o popular (e recentemente controverso) Automatix.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://zumo.com.br/?p=1044"&gt;Leia o texto completo&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-7989356932382326415?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/7989356932382326415/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=7989356932382326415' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/7989356932382326415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/7989356932382326415'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/10/ubuntu-linux-710-em-portugus.html' title='Ubuntu Linux 7.10 em Português'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_zJlWXYQ890o/Rx-dyvdjKFI/AAAAAAAAACM/7U62kmKB4ec/s72-c/ubuntu-logo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-3909239357575023071</id><published>2007-10-23T09:23:00.000-07:00</published><updated>2008-12-14T05:02:03.769-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PHP'/><title type='text'>Firebird PHP Generator (free)</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_zJlWXYQ890o/Rx4icvdjKDI/AAAAAAAAACA/Ay7603Nsbso/s1600-h/phpfirebird.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_zJlWXYQ890o/Rx4icvdjKDI/AAAAAAAAACA/Ay7603Nsbso/s200/phpfirebird.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5124571303166289970" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Permite gerar scripts PHP para trabalhar com tabelas e consultas no banco de dados Firebird para Web. O script final tem todos os recursos poderosos que você esperaria de um aplicativo profissional de banco de dados:&lt;br /&gt;&gt;Navegação de dados&lt;br /&gt;&gt;Classificação&lt;br /&gt;&gt;Filtragem&lt;br /&gt;&gt;Modificação&lt;br /&gt;&gt;Adição &lt;br /&gt;&gt;Exclusão&lt;br /&gt;Personalização completa da aparência em resultado HTML e recursos de segurança são implementados para tornar o aplicativo Web realmente útil e flexível.&lt;br /&gt;Baixe aqui:&lt;br /&gt;&lt;a href="http://www.sqlmaestro.com/products/firebird/phpgenerator/download/"&gt;Firebird PHP Generator&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-3909239357575023071?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/3909239357575023071/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=3909239357575023071' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/3909239357575023071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/3909239357575023071'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/10/php-firebird.html' title='Firebird PHP Generator (free)'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_zJlWXYQ890o/Rx4icvdjKDI/AAAAAAAAACA/Ay7603Nsbso/s72-c/phpfirebird.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-8082702378910919412</id><published>2007-10-22T09:12:00.000-07:00</published><updated>2007-10-22T09:16:08.104-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Deixando o "Pesquisar" do Windows XP/2003 no modo clássico</title><content type='html'>Deixando o "Pesquisar" do Windows XP/2003 no modo clássico: mais leve e melhor! &lt;br /&gt;O "Pesquisar" do Windows XP ou 2003 é bonitinho (exibe um cachorrinho), mas é ruim e mais lento, consome recursos da máquina à toa.&lt;br /&gt;&lt;br /&gt;É possível no entanto ativar a pesquisa clássica.&lt;br /&gt;Faça o seguinte:&lt;br /&gt;Edite o registro do Windows conforme abaixo:&lt;br /&gt;&lt;br /&gt;Vá em "Iniciar &gt; Executar" e digite "regedit" (digite regedit sem aspas). Dê ok.&lt;br /&gt;&lt;br /&gt;Vá na chave (se não existir, crie-a):&lt;br /&gt;&lt;br /&gt;HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CabinetState&lt;br /&gt;&lt;br /&gt;Localize no lado direito do editor do registro o item "Use Search Asst".&lt;br /&gt;Se não tiver, crie um novo valor da seqüência.&lt;br /&gt;Edite-o, e deixe com o valor "no".&lt;br /&gt;Feche todas as janelas do Explorer e abra o pesquisar. Pronto . . .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-8082702378910919412?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/8082702378910919412/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=8082702378910919412' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/8082702378910919412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/8082702378910919412'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/10/deixando-o-pesquisar-do-windows-xp2003.html' title='Deixando o &quot;Pesquisar&quot; do Windows XP/2003 no modo clássico'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-1779052665097258457</id><published>2007-10-22T06:21:00.000-07:00</published><updated>2007-10-24T06:44:39.055-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Livros'/><title type='text'>Livro Asp.net por Alfredo Lotar</title><content type='html'>Como programar com ASP.NET e C#&lt;br /&gt;Editora: Novatec&lt;br /&gt;ISBN: 9788575221211&lt;br /&gt;Ano: 2007&lt;br /&gt;Edição: 1&lt;br /&gt;Número de páginas: 608&lt;br /&gt;Acabamento:  Brochura &lt;br /&gt;Formato: Médio&lt;br /&gt;&lt;br /&gt;Este livro apresenta muitos exemplos, códigos, tutoriais, dicas, truques e conceitos relacionados a aspectos básicos e avançados do C# e aos principais recursos do ASP.NET. Aos leitores mais experientes, é possível aprender novos recursos do ASP.NET 2.0, como: a pré-compilação, temas, skins, master pages, web parts, além de dezenas de novos controles do ASP.NET. ASP.NET é a plataforma da Microsoft que mais tem sido utilizada no desenvolvimento de web sites. C#, por sua vez, é uma linguagem de programação simples, mas eficaz, e de fácil aprendizado orientada a objetos. Juntas, além de facilitarem o trabalho do programador, proporcionam um ganho significativo de desempenho.Além dos aspectos já mencionados, Como programar com ASP.Net e C# ensina a:&lt;br /&gt;&lt;br /&gt;&gt;Criar e usar web user controls. &lt;br /&gt;&gt;Configurar e usar os controles de segurança do ASP.NET. &lt;br /&gt;&gt;Defender-se dos principais ataques sofridos por uma aplicação ASP.NET. &lt;br /&gt;&gt;Trabalhar com Ajax e ASP.NET AJAX. &lt;br /&gt;&gt;Criar gráficos numa página ASP.NET. &lt;br /&gt;&gt;Trabalhar com cache. &lt;br /&gt;&gt;Manipular documentos XML com ASP.NET e C#. &lt;br /&gt;&gt;Trabalhar com expressões regulares. &lt;br /&gt;&gt;Trabalhar com array e coleções. &lt;br /&gt;&gt;Manipular os arquivos e o registro. &lt;br /&gt;&gt;Enviar e-mails com ASP.NET. &lt;br /&gt;&gt;Manipular banco de dados com ADO.NET. &lt;br /&gt;&gt;Configurar uma aplicação com o arquivo web.config. &lt;br /&gt;&gt;Utilizar os recursos de globalização e localização. &lt;br /&gt;&gt;Validar um formulário com os controles de validação. &lt;br /&gt;&gt;Utilizar Javascript com ASP.NET.&lt;br /&gt;&lt;br /&gt;Capítulo de exemplo do livro aqui:&lt;br /&gt;&lt;a href="http://www.novateceditora.com.br/livros/aspnet2/capitulo9788575221211.pdf"&gt;http://www.novateceditora.com.br/livros/aspnet2/capitulo9788575221211.pdf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-1779052665097258457?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/1779052665097258457/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=1779052665097258457' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1779052665097258457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/1779052665097258457'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/10/livro-aspnet-por-alfredo-lotar.html' title='Livro Asp.net por Alfredo Lotar'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-3889831055454592634</id><published>2007-10-22T06:07:00.000-07:00</published><updated>2008-12-14T05:02:04.036-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Livros'/><title type='text'>Livro PHP por Pablo Dall'Oglio</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/_zJlWXYQ890o/RxyiwfdjKBI/AAAAAAAAABk/YXY7TadsWaI/s1600-h/bookphp.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_zJlWXYQ890o/RxyiwfdjKBI/AAAAAAAAABk/YXY7TadsWaI/s200/bookphp.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5124149430003640338" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;PHP: Programando com Orientação a Objetos&lt;br /&gt;(Inclui Design Patterns)&lt;br /&gt;ISBN: 978-85-7522-137-2&lt;br /&gt;Páginas: 576&lt;br /&gt;Autor: Pablo Dall'Oglio&lt;br /&gt;Ano: 2007&lt;br /&gt;&lt;br /&gt;O livro aborda desde os conceitos básicos de orientação a objetos como herança, encapsulamento, abstração, polimorfismo, associação, agregação, composição, interfaces, tratamento de exceções, manipulação de XML e Web Services, sempre através de exemplos 100% funcionais e comentados. &lt;br /&gt;&lt;br /&gt;O livro explica a utilização da biblioteca PDO para acesso a dados e aborda com profundidade técnicas de mapeamento objeto-relacional, explicando com detalhes a teoria e dando exemplos práticos que explicam cada uma das abordagens, que possibilitarão você a escolher a melhor forma de mapear os objetos para bases de dados relacionais. &lt;br /&gt;&lt;br /&gt;O livro explica passo-a-passo como criar uma aplicação de negócio 100% orientada a objetos em PHP, desde a camada de persistência dos dados até a construção de formulários e listagens, sendo que estas tarefas serão totalmente automatizadas, como nos exemplos a seguir: &lt;br /&gt;Criação de um formulário:&lt;br /&gt;&lt;a href="http://www.adianti.com.br/book/form.php"&gt;http://www.adianti.com.br/book/form.php&lt;/a&gt; &lt;br /&gt;Criação de uma listagem:&lt;br /&gt;&lt;a href="http://www.adianti.com.br/book/list.php"&gt;http://www.adianti.com.br/book/list.php&lt;/a&gt; &lt;br /&gt;Persistência de objetos:&lt;br /&gt;&lt;a href="http://www.adianti.com.br/book/model.php"&gt;http://www.adianti.com.br/book/model.php&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Conheça a resenha do livro e um capítulo de exemplo aqui:&lt;br /&gt;&lt;a href="http://www.adianti.com.br/phpoo"&gt;http://www.adianti.com.br/phpoo&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.adianti.com.br/book/form.php"&gt;&lt;/a&gt;&lt;a href="http://www.adianti.com.br/book/form.php"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-3889831055454592634?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/3889831055454592634/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=3889831055454592634' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/3889831055454592634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/3889831055454592634'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/10/livro-php-por-pablo-dalloglio.html' title='Livro PHP por Pablo Dall&apos;Oglio'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_zJlWXYQ890o/RxyiwfdjKBI/AAAAAAAAABk/YXY7TadsWaI/s72-c/bookphp.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-2936506750775469808</id><published>2007-10-20T06:32:00.000-07:00</published><updated>2008-12-14T05:02:04.300-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Por dentro'/><title type='text'>Urna eletrônica 2008</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_zJlWXYQ890o/RxoFxPdjKAI/AAAAAAAAABc/fgVSHD05IT0/s1600-h/urna.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_zJlWXYQ890o/RxoFxPdjKAI/AAAAAAAAABc/fgVSHD05IT0/s320/urna.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5123413869609560066" /&gt;&lt;/a&gt;&lt;br /&gt;O TSE vai lançar no ano que vem a &lt;strong&gt;urna biométrica&lt;/strong&gt;, na qual o eleitor poderá ser reconhecido pela digital e pela foto. O TSE já dispõe de 25 mil aparelhos que serão usados nas eleições em três cidades, nos Estados de Santa Catarina, Rondônia e Mato Grosso do Sul. Os municípios estão em processo de seleção.&lt;br /&gt;&lt;br /&gt;Bom também . . .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-2936506750775469808?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/2936506750775469808/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=2936506750775469808' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2936506750775469808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/2936506750775469808'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/10/urna-eletrnica-2008.html' title='Urna eletrônica 2008'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_zJlWXYQ890o/RxoFxPdjKAI/AAAAAAAAABc/fgVSHD05IT0/s72-c/urna.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-4839271028355112924</id><published>2007-10-20T04:00:00.000-07:00</published><updated>2007-10-20T04:38:55.038-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Access'/><title type='text'>Access 97, problemas com máquinas acima de 1GB</title><content type='html'>Na empresa onde trabalho ainda temos sistemas usando Access97. Há alguns dias instalei o Access97 em uma máquina com memória de 1GB e para minha surpresa quando iniciei o dito cujo veio a seguinte mensagem "Memória insuficiente" é mole . . . &lt;br /&gt;&lt;br /&gt;Se alguém tiver o mesmo problema . . . procure o arquivo &lt;strong&gt;sr1off97.exe&lt;/strong&gt; no site da Microsoft que contém uma atualização de vários arquivos .dll inclusos no Microsoft Access 97 . . . qualquer dúvida é só postar.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-4839271028355112924?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/4839271028355112924/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=4839271028355112924' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4839271028355112924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/4839271028355112924'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/10/access-97-problemas-com-mquinas-acima.html' title='Access 97, problemas com máquinas acima de 1GB'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-6057075527109230845</id><published>2007-10-19T06:27:00.000-07:00</published><updated>2007-10-20T04:39:32.997-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Internet Explorer'/><title type='text'>Microsoft liberou o Internet Explorer 7 para Windows pirata ??</title><content type='html'>A instalação pode ser feita por qualquer um manualmente a partir de &lt;a href="http://www.microsoft.com/ie"&gt;www.microsoft.com/ie&lt;/a&gt; . Os requisitos de sistema são os mesmos: Windows XP a partir do Service Pack 2, ou Windows Server 2003 SP1 ou superior.&lt;br /&gt;&lt;br /&gt;Por enquanto a versão que não requer validação é em inglês. Acredito que logo vão liberar para todas as versões.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-6057075527109230845?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/6057075527109230845/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=6057075527109230845' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/6057075527109230845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/6057075527109230845'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/10/microsoft-liberou-o-internet-explorer-7.html' title='Microsoft liberou o Internet Explorer 7 para Windows pirata ??'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7295252684585218438.post-888234293312437456</id><published>2007-10-19T03:31:00.001-07:00</published><updated>2007-10-19T06:52:38.812-07:00</updated><title type='text'>Bem Vindos</title><content type='html'>Hoje estou iniciando meu blog . . .&lt;br /&gt;Matérias sobre informática e tecnologia .net&lt;br /&gt;&lt;br /&gt;aguardem . . . será ???&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7295252684585218438-888234293312437456?l=blogdoaudrey.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdoaudrey.blogspot.com/feeds/888234293312437456/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7295252684585218438&amp;postID=888234293312437456' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/888234293312437456'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7295252684585218438/posts/default/888234293312437456'/><link rel='alternate' type='text/html' href='http://blogdoaudrey.blogspot.com/2007/10/bem-vindos.html' title='Bem Vindos'/><author><name>amdf</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
