tag:blogger.com,1999:blog-30263395371888485492023-09-17T17:35:42.522-03:00Є & VBlog de tecnologia e desenvolvimentookhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.comBlogger48125tag:blogger.com,1999:blog-3026339537188848549.post-23433603051254011692014-12-03T09:42:00.000-02:002014-12-03T09:43:11.746-02:00Delphi - The action must be retried <br />
<br />
<br />
Ao fazer uma requisição SOAP, onde o tamanho de uma string enviada na requisição é muito grande, é gerada uma exceção do tipo "<span id="MainContentUserControl_ctl00_DescriptionLabel">The action must be retried</span>". Isso ocorre devido ao tamanho do blocksize que no Delphi é limitado a 32kB por padrão.<br />
<br />
Uma solução não muito elegante para contornar esse problema, é aumentar o tamanho da propriedade MaxSinglePostSize do HTTPRIO.HTTPWebNode quando o evento HTTPRIOBeforeExecute for chamado:<br />
<br />
<br />
<pre class="delphi" name="code">
procedure TForm1.HTTPRIOTotvsBeforeExecute(const MethodName: string;<br />
var SOAPRequest: WideString);<br />
begin<br />
HTTPRIO.HTTPWebNode.MaxSinglePostSize := 999999999;<br />
end;
</pre>
<br />
<br />
<br />
Dessa forma, é possível enviar uma string longa na requisição SOAP.okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-25318317754870550222013-09-06T13:18:00.001-03:002013-09-06T13:22:56.978-03:00Como Evitar Pegar Vírus e Bloquear Propagandas na Internet<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="background-color: white; clear: left; color: #222222; float: left; font-size: 13px; margin-bottom: 1em; margin-right: 1em;">
<a href="http://paulrouget.com/assets/posts/firefox-256-noshadow.png" imageanchor="1" style="background-color: transparent; clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" height="200" src="http://paulrouget.com/assets/posts/firefox-256-noshadow.png" width="200" /></span></a><span style="font-family: Arial, Helvetica, sans-serif;"><img height="200" src="http://matemedia.com/wp-content/uploads/2012/11/adblock-plus.png" style="background-color: transparent;" width="200" /><img height="200" src="https://si0.twimg.com/profile_images/1281767185/product_logo_256.png" width="200" /></span></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://paulrouget.com/assets/posts/firefox-256-noshadow.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></a></div>
<div style="background-color: white; color: #222222; font-size: 13px;">
<a href="http://paulrouget.com/assets/posts/firefox-256-noshadow.png" imageanchor="1" style="clear: left; float: left; font-size: medium; margin-bottom: 1em; margin-right: 1em; text-align: center;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></a></div>
<div style="background-color: white; color: #222222;">
<h4>
<span style="font-family: Arial, Helvetica, sans-serif; font-weight: normal;">Tanto no Firefox, como no Google Chorme, você consegue instalar extensões que melhoram o navegador, como tradutores, dicionários, etc.<br /><span style="color: #222222;">Existe uma extensão para os dois navegadores que se chama </span><span style="color: #222222;">AdBlock Plus.</span></span></h4>
<h4>
<span style="font-family: Arial, Helvetica, sans-serif; font-weight: normal;"><span style="color: #222222;"></span><span style="color: #222222;">Essa extensão, bloqueia janelas pop-ups que abrem sem você clicar em neças, além de que, bloqueia scripts que possam conter link para vírus e Malwares e também bloqueai a maioria das propagandas em todos sites que você possa acessar. </span><span style="color: #222222;">Usando essa ferramenta, evita em 90% a chance de ter o pc contaminados por pragas virtuais.</span></span></h4>
<h4>
<span style="font-family: Arial, Helvetica, sans-serif; font-weight: normal;"><span style="color: #222222;"><br /></span>Para quem usa Firefox é só abrir o link e clicar em Download. <br /><a href="https://addons.mozilla.org/en-US/android/addon/adblock-plus/?src=category" style="color: #1155cc;" target="_blank">https://addons.mozilla.org/en-<wbr></wbr>US/android/addon/adblock-plus/<wbr></wbr>?src=category</a><br /></span></h4>
<h4>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-weight: normal;">Para quem usa Chorme, abrir o link abaixo e clicar em "Adicionar para Chrome".<br /><a href="https://chrome.google.com/webstore/detail/adblock-plus/cfhdojbkjhnklbpkdaibdccddilifddb" style="color: #1155cc;" target="_blank">https://chrome.google.com/<wbr></wbr>webstore/detail/adblock-plus/<wbr></wbr>cfhdojbkjhnklbpkdaibdccddilifd<wbr></wbr>db</a></span><span style="font-weight: normal;"><span style="color: #222222;">O </span><span style="color: #222222;">AdBlock Plus </span><span style="color: #222222;">está disponível também para o firefox mobile no Android, e funciona da mesma forma que o desktop.</span></span></span></h4>
</div>
<div style="color: #222222; font-family: arial, helvetica, sans-serif; font-size: 13.3333px;">
</div>
okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-24722150672365478942013-08-28T13:52:00.002-03:002013-08-28T13:55:02.168-03:00Delphi + Zeos: Não foi possível conectar ao Oracle 11g<br />
Depois de perder meu HD, tive que reinstalar todo meu ambiente de desenvolvimento, e no meio dele estava o Oracle. Depois reinstalar todos os softwares, fui compilar um projeto e pra minha surpresa, o Delphi mostrava a seguinte mensagem de erro em tempo de execução:<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://1.bp.blogspot.com/-Eh2s0rADpsY/Uh4obj-yRPI/AAAAAAAAEik/dioRgP3f4D4/s1600/Exception.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="102" src="http://1.bp.blogspot.com/-Eh2s0rADpsY/Uh4obj-yRPI/AAAAAAAAEik/dioRgP3f4D4/s400/Exception.jpg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><b style="font-size: medium; text-align: start;">None of Dynamic library can be found: OCI.dll</b></td></tr>
</tbody></table>
<br />
No começo pensei que fosse algo com a zeos library (componente de acesso a dados), mas ao executar o aplicativo pelo windows, nenhum erro era gerado e o sistema funcionava normalmente.<br />
<br />
Explorando o ambiente, encontrei a solução:<br />
<br />
Com o Delphi aberto, acesse o menu <b>Tools > Options...</b><br />
<br />
E em Options, acesse a opção<b> Envirionment Variables:</b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-xYReNXIHB2I/Uh4o4c3LzxI/AAAAAAAAEis/8iMr5-eW3Os/s1600/Delphi+options.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="257" src="http://1.bp.blogspot.com/-xYReNXIHB2I/Uh4o4c3LzxI/AAAAAAAAEis/8iMr5-eW3Os/s400/Delphi+options.jpg" width="400" /></a></div>
<br />
Em User Overrides, clique na variable <b>PATH </b>e em<b> Edit...</b><br />
<br />
Uma caixa para edição da variavel de ambiente irá aparecer. Observe que o diretório de instalação do Oracle não consta entre os demais diretórios.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-dnHct5LLvIw/Uh4peNIGrOI/AAAAAAAAEi4/FV6K3Ap7uaE/s1600/Edit+path.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-dnHct5LLvIw/Uh4peNIGrOI/AAAAAAAAEi4/FV6K3Ap7uaE/s1600/Edit+path.jpg" /></a></div>
<br />
O que precisamos fazer é adicionar o diretório de instalação do Oracle, separando-os com ponto e virgula:<br />
<br />
;C:\app\Oracle;C:\app\Oracle\product\11.2.0\dbhome_1;C:\app\Oracle\product\11.2.0\dbhome_1\BIN<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Pronto! Agora basta salvar clicar em ok e Compilar o projeto :)<br />
<br />
<br />okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com1tag:blogger.com,1999:blog-3026339537188848549.post-84994384777513642512012-11-13T09:30:00.004-02:002012-11-13T09:30:56.380-02:00Como mudar o idioma do NetBeansO Inglês é a linguagem mais usada para se comunicar no mundo todo. Também é a linguagem natural da programação, a maioria das linguagens de programação, tem suas declarações escritas em inglês. Então porque usar uma IDE traduzida para o português? Na minha opinião isso só atrapalha. A maioria dos exemplos e tutoriais disponíveis na web, estão em inglês. É muito muito mais pratico pesquisar uma mensagem de erro em inglês do que em Português.<br />
<br />
Bem, para alterar o idioma do NetBeans, vá até o diretório de instalação, e abra a pasta "etc":<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-96SInvwqWzU/UKIthoJ5-JI/AAAAAAAAB6A/fdpIAJhY5Y0/s1600/diretorio.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="99" src="http://1.bp.blogspot.com/-96SInvwqWzU/UKIthoJ5-JI/AAAAAAAAB6A/fdpIAJhY5Y0/s320/diretorio.jpg" width="320" /></a></div>
<br />
Nesta pasta, vai constar três arquivos. Localize e abra o arquivo netbeans.conf. Dentro do arquivo, procure pela linha que começa com netbeans_default_options:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-wmFuvXaWzRA/UKItxGP8pqI/AAAAAAAAB6I/inNFhUjjJo4/s1600/config.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="185" src="http://3.bp.blogspot.com/-wmFuvXaWzRA/UKItxGP8pqI/AAAAAAAAB6I/inNFhUjjJo4/s320/config.jpg" width="320" /></a></div>
<br />
Ao final dessa linha acrescente:<br />
<br />
<b>-J-Duser.language=en -J-Duser.region=US</b><br />
<br />
Ficando:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.zip.disableMemoryMapping=true -J-Duser.language=en -J-Duser.region=US"</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
Salve o arquivo e abra o NetBeans com o novo idioma:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-p2jhY-Zad2Y/UKIucxjCweI/AAAAAAAAB6Q/CdYHcxN4-6I/s1600/netbeans.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="255" src="http://1.bp.blogspot.com/-p2jhY-Zad2Y/UKIucxjCweI/AAAAAAAAB6Q/CdYHcxN4-6I/s320/netbeans.jpg" width="320" /></a></div>
<br />
Este mesmo método pode ser usado para mudar para outros idiomas.<br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com9tag:blogger.com,1999:blog-3026339537188848549.post-52865087337651166992012-05-28T09:17:00.001-03:002012-05-28T09:58:08.686-03:00Milestone 3 XT860:Rom Steel Droid 4.5<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="line-height: 150%;"><b>Conhecendo a ROM</b></span></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="line-height: 150%;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="line-height: 150%;">A
Motorola já avisou que o Milestone 3 esta fora dos planos de atualização para o </span><span style="line-height: 24px;"> ICE CREAM Sandwich</span><span style="line-height: 150%;">,</span><span style="line-height: 150%;">então nos, infelizes proprietários, ficaremos chupando dedo.</span></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="line-height: 150%;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></span></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="line-height: 150%;">
Mas graças à comunidade - viva o software livre! - nos podemos usar as </span><span style="line-height: 24px;">custom roms</span><span style="line-height: 150%;">.</span> <span style="line-height: 150%;">E uma das melhores disponíveis para o </span>
<span style="line-height: 24px;">Milestone 3</span> é<span style="line-height: 150%;"> a <a href="http://steeldroid.weebly.com/droid-3.html">Steel Droid</a>.</span> <span style="line-height: 150%;">Esta rom é baseada na rom original do Droid 3, por isso, ela vem com android
2.3.7 e com o MotoBlur.</span></span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://3.bp.blogspot.com/-HxkUfPbJe4U/T8KbK651I3I/AAAAAAAABjM/cpyh66dAO00/s1600/shot_000010.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-HxkUfPbJe4U/T8KbK651I3I/AAAAAAAABjM/cpyh66dAO00/s320/shot_000010.png" width="181" /></a><a href="http://4.bp.blogspot.com/-0FapLNuaDlw/T8KbB9ECJqI/AAAAAAAABi8/QViOvBs-4Jo/s1600/shot_000008.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-0FapLNuaDlw/T8KbB9ECJqI/AAAAAAAABi8/QViOvBs-4Jo/s320/shot_000008.png" width="181" /></a><a href="http://1.bp.blogspot.com/-k0xfn9jGGMw/T8KalUMHuxI/AAAAAAAABiE/DkHwFoK1yz8/s1600/shot_000001.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-k0xfn9jGGMw/T8KalUMHuxI/AAAAAAAABiE/DkHwFoK1yz8/s320/shot_000001.png" width="181" /></a></span></div>
<span style="line-height: 150%;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></span><br />
<span style="line-height: 150%;"><span style="font-family: Arial, Helvetica, sans-serif;">A rom permite uma grande customização na aparência do telefone graças ao
Go-Lancher EX.</span></span><br />
<span style="line-height: 150%;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://3.bp.blogspot.com/-3uyuoMr-nQg/T8Ka1FNbigI/AAAAAAAABik/OjAnYOe_OQ0/s1600/shot_000005.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-3uyuoMr-nQg/T8Ka1FNbigI/AAAAAAAABik/OjAnYOe_OQ0/s320/shot_000005.png" width="181" /></a><a href="http://4.bp.blogspot.com/--nL66waN-7E/T8Ka4sUP7OI/AAAAAAAABis/j2oeuGOqK4I/s1600/shot_000006.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/--nL66waN-7E/T8Ka4sUP7OI/AAAAAAAABis/j2oeuGOqK4I/s320/shot_000006.png" width="181" /></a></span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both;">
<a href="http://4.bp.blogspot.com/-jpWasvONJHM/T8KbwvCLpsI/AAAAAAAABkU/8uUCUxw5VRg/s1600/shot_000019.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-jpWasvONJHM/T8KbwvCLpsI/AAAAAAAABkU/8uUCUxw5VRg/s320/shot_000019.png" width="181" /></a><a href="http://1.bp.blogspot.com/-I8ldNPlwCkc/T8KbNEMoWKI/AAAAAAAABjU/fEFLFq5cf9o/s1600/shot_000011.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-I8ldNPlwCkc/T8KbNEMoWKI/AAAAAAAABjU/fEFLFq5cf9o/s320/shot_000011.png" width="181" /></a></div>
<div style="text-align: -webkit-auto;">
<br /></div>
<br />
<span style="font-family: Arial, Helvetica, sans-serif;"> <span style="line-height: 150%;">Dentre
os efeitos legais do lanucher, esta a opção de desbloquear o aparelho
apenas sacudindo. </span></span><span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;">Também são varias as opções de scroller do desktop, como formato cubo e
cilíndrico.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://2.bp.blogspot.com/-vWQNwF0rf5k/T8KfScdyzjI/AAAAAAAABm0/zkxgw3gI3xA/s1600/shot_000039.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-vWQNwF0rf5k/T8KfScdyzjI/AAAAAAAABm0/zkxgw3gI3xA/s320/shot_000039.png" width="181" /></a><a href="http://4.bp.blogspot.com/-_Vm3DGpWPIk/T8KfckFOEmI/AAAAAAAABm8/_5FAhhAdqYI/s1600/shot_000040.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-_Vm3DGpWPIk/T8KfckFOEmI/AAAAAAAABm8/_5FAhhAdqYI/s320/shot_000040.png" width="181" /></a></span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://1.bp.blogspot.com/-HiFlYdbhXl4/T8KbZxetpaI/AAAAAAAABjs/I8YOMJnQe8M/s1600/shot_000014.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-HiFlYdbhXl4/T8KbZxetpaI/AAAAAAAABjs/I8YOMJnQe8M/s320/shot_000014.png" width="181" /></a><a href="http://2.bp.blogspot.com/-zICXec-ORv8/T8KbU54jV2I/AAAAAAAABjk/ibxLCtZLq1M/s1600/shot_000013.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-zICXec-ORv8/T8KbU54jV2I/AAAAAAAABjk/ibxLCtZLq1M/s320/shot_000013.png" width="181" /></a></span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://4.bp.blogspot.com/-jURJnSTQlO8/T8KbkJxqE3I/AAAAAAAABj8/8Tt_488ocZ8/s1600/shot_000016.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-jURJnSTQlO8/T8KbkJxqE3I/AAAAAAAABj8/8Tt_488ocZ8/s320/shot_000016.png" width="181" /></a><a href="http://2.bp.blogspot.com/-3c6yzlFA1c8/T8KbfophPXI/AAAAAAAABj0/HZTRgjs_fPI/s1600/shot_000015.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-3c6yzlFA1c8/T8KbfophPXI/AAAAAAAABj0/HZTRgjs_fPI/s320/shot_000015.png" width="181" /></a></span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://4.bp.blogspot.com/-GKW3YMjxkyc/T8KdScnxq5I/AAAAAAAABk8/vTWIyOCZ2C4/s1600/shot_000024.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-GKW3YMjxkyc/T8KdScnxq5I/AAAAAAAABk8/vTWIyOCZ2C4/s320/shot_000024.png" width="181" /></a><a href="http://3.bp.blogspot.com/-xgoDmM8Y04g/T8Kbo7RVhiI/AAAAAAAABkE/Z-GVssESVj4/s1600/shot_000017.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-xgoDmM8Y04g/T8Kbo7RVhiI/AAAAAAAABkE/Z-GVssESVj4/s320/shot_000017.png" width="181" /></a></span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://2.bp.blogspot.com/-kA-XYoYe6i0/T8Kdmsi3nHI/AAAAAAAABlE/NSCcjSilS4Q/s1600/shot_000025.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-kA-XYoYe6i0/T8Kdmsi3nHI/AAAAAAAABlE/NSCcjSilS4Q/s320/shot_000025.png" width="181" /></a><a href="http://3.bp.blogspot.com/-VzAYVksUeQE/T8Kd_ZZfA-I/AAAAAAAABlM/AY0S8CgzkBk/s1600/shot_000026.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-VzAYVksUeQE/T8Kd_ZZfA-I/AAAAAAAABlM/AY0S8CgzkBk/s320/shot_000026.png" width="181" /></a></span></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;">A
barra de notificação traz os atalhos para as principais funções do aparelho
como desligar e ligar o wifi, o brilho, bluetooth e dados moveis. destaque para o medidor de bateria,
um circulo animado que se movimenta quando o aparelho esta carregando.</span><br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-Wvl5S4jVP6U/T8Kgbn3Qk7I/AAAAAAAABnk/n8qopqEXx5o/s1600/shot_000045.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" height="320" src="http://3.bp.blogspot.com/-Wvl5S4jVP6U/T8Kgbn3Qk7I/AAAAAAAABnk/n8qopqEXx5o/s320/shot_000045.png" width="181" /></span></a></div>
<div>
<span style="line-height: 150%;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="line-height: 150%;"><b>Pontos Negativos</b></span></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="line-height: 150%;"><b><br /></b></span></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="line-height: 150%;">A rom também tem alguns pontos negativos, como a saída HDMI que não funcionou. E</span><span style="line-height: 150%;"> da mesma forma que a rom Eclipse, a Steel Droid não suporta o idioma
português, apenas o Espanhol e o inglês. </span></span><span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;">Mas você pode, minimizar isso com o aplicativo </span><span style="font-family: Arial, Helvetica, sans-serif;"> </span><a href="https://market.android.com/details?id=jp.co.c_lis.ccl.morelocale" style="font-family: Arial, Helvetica, sans-serif;">MoreLocale</a><span style="font-family: Arial, Helvetica, sans-serif;">, mas ele só traduz parte do sistema :</span></div>
<div>
<div class="separator" style="background-color: white; clear: both; color: #333333; line-height: 19px; text-align: center;">
<a href="http://2.bp.blogspot.com/-d2owrFmLfOg/TyQ0P-Oh0PI/AAAAAAAABJU/530PKGCxcS8/s1600/shot_000022.png" imageanchor="1" style="color: #a91b33; margin-left: 1em; margin-right: 1em; text-decoration: none;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" height="320" src="http://2.bp.blogspot.com/-d2owrFmLfOg/TyQ0P-Oh0PI/AAAAAAAABJU/530PKGCxcS8/s320/shot_000022.png" style="border: 0px none; margin: 0px; padding: 10px;" width="181" /></span></a></div>
</div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;">Também não ha como configurar o layout do teclado físico, que
segue o padrão americano.</span></div>
<div>
<span style="line-height: 150%;"><span style="font-family: Arial, Helvetica, sans-serif;">
Falta ainda alguns aplicativos do Google como o youtube, gtalk, music,
car-driver que já vem por padrão em outras roms. </span></span><span style="font-family: Arial, Helvetica, sans-serif; line-height: 24px;">O uso da bateria ficou um pouco abaixo da rom eclipse, mas não houve muita diferença.</span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="line-height: 150%;"><br />
</span><a href="http://1.bp.blogspot.com/-CbCEunkLJcs/T8Kex2WD4pI/AAAAAAAABmM/XuDOVPptJho/s1600/shot_000034.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="320" src="http://1.bp.blogspot.com/-CbCEunkLJcs/T8Kex2WD4pI/AAAAAAAABmM/XuDOVPptJho/s320/shot_000034.png" width="181" /></a>
<a href="http://3.bp.blogspot.com/-MBK5GS0kOX8/T8KaspHaDYI/AAAAAAAABiU/tQZxX9u6UFI/s1600/shot_000003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="320" src="http://3.bp.blogspot.com/-MBK5GS0kOX8/T8KaspHaDYI/AAAAAAAABiU/tQZxX9u6UFI/s320/shot_000003.png" width="181" /></a> <span style="line-height: 150%;"><br /></span></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="line-height: 150%;"><b>Instalação:</b></span></span></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;"><br /></span></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;"><a href="http://d-h.st/lafgatd0w1du" target="_blank">Baixe os arquivo de instalação</a> da rom e salve em algum lugar no telefone, de preferencia na raiz do cartão da memória interna ou externa. Faça o mesmo para </span><span style="font-family: Arial, Helvetica, sans-serif; line-height: 24px;">instalar o </span><a href="http://goo-inside.me/gapps/gapps-gb-20110828-signed.zip" style="font-family: Arial, Helvetica, sans-serif; line-height: 24px;" target="_blank">Google apps</a><span style="font-family: Arial, Helvetica, sans-serif; line-height: 24px;">,</span><span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;"> </span></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;"><br /></span></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="line-height: 150%;">Se
você usa a rom original da Motorola, </span><a href="http://evaldoavelar.blogspot.com.br/2012/01/rom-eclipse-no-milestone-3droid-3-xt860_9795.html" style="line-height: 150%;" target="_blank">siga esses passos para habilitar o root</a><span style="line-height: 150%;">, </span><span style="line-height: 24px;">necessário</span><span style="line-height: 150%;"> para instalar o </span></span><a href="http://bit.ly/wwqy6y" style="font-family: Arial, Helvetica, sans-serif; line-height: 24px;" target="_blank">Safestrap 2.0</a><span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;">.</span><span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;"> Caso</span><span style="font-family: Arial, Helvetica, sans-serif;"><span style="line-height: 150%;"> você já possui uma custom rom instalada com um bootstrap, remova-o e instale </span><a href="http://bit.ly/wwqy6y" style="line-height: 150%;" target="_blank">Safestrap 2.0</a><span style="line-height: 150%;">. O </span></span>
<a href="http://bit.ly/wwqy6y" style="font-family: Arial, Helvetica, sans-serif; line-height: 24px;" target="_blank">Safestrap 2.0</a> <span style="line-height: 150%;"><span style="font-family: Arial, Helvetica, sans-serif;">é
cheio de recursos e permite que você troque de rom facilmente e alem de
reconhecer o cartão externo, onde pode você pode colocar o zip de instalação da rom.</span></span></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-V2u3LZZnbK0/TyaXIzrFCII/AAAAAAAABQw/P_X90P-MABg/s1600/IMG_2673.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-V2u3LZZnbK0/TyaXIzrFCII/AAAAAAAABQw/P_X90P-MABg/s320/IMG_2673.JPG" width="320" /></a></div>
<span style="line-height: 150%;"><span style="font-family: Arial, Helvetica, sans-serif;">A primeira coisa a se fazer é o backup dos aplicativo para que você não perca as suas configurações. Para isso, use o </span></span><span style="font-family: Arial, Helvetica, sans-serif;"><a href="https://market.android.com/details?id=com.keramidas.TitaniumBackup&hl=pt_BR" style="background-color: white; color: #a91b33; line-height: 19px; text-align: justify; text-decoration: none;" target="_blank">Titanium Backup</a>, um poderoso gerenciador de backups para o Android</span><span style="line-height: 150%;"><span style="font-family: Arial, Helvetica, sans-serif;">. Na internet existem vários tutoriais de como usar o app. Para fazer backup de sms, pode-se usar o aplicativo <a href="https://play.google.com/store/apps/details?id=com.riteshsahu.SMSBackupRestore&hl=pt_BR" target="_blank">sms backup restore.</a></span></span><span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;">Logo apos os backups, e de ter instado o </span>
<a href="http://bit.ly/wwqy6y" style="font-family: Arial, Helvetica, sans-serif; line-height: 24px;" target="_blank">Safestrap 2.0</a>, <span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;">reinicie o aparelho. Quando surgir o
menu do boot aperte menu no teclado do celular e navegue nas opções com as teclas de volume e confirme com a tecla
de desligar. </span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;"><br /></span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;">O primeiro paso é ir no menu <i>wipe data factory reset. </i>Aperte o botão de desligar<i> para entrar no menu</i> e nas opções, selecione yes. </span><span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;">Assim que terminar o processo, acesse a opção </span><i style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;">wipe data cache partition</i><span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;"> e também confirme com yes.</span></div>
<div>
<span style="line-height: 150%;"><span style="font-family: Arial, Helvetica, sans-serif;">
<br />
Nesse ponto, já é possível iniciar a instalação da rom. Vá no menu <i>install zip
from sdcard</i> e I<i>nternal sd-card</i> se você colocou na memória interna do telefone
ou <i>External sdcard</i> se você colocou no cartão. navegue ate o diretório onde esta
o zip da rom, selecione-a e confirme.<br />
<br />
O </span></span>
<a href="http://bit.ly/wwqy6y" style="font-family: Arial, Helvetica, sans-serif; line-height: 24px;" target="_blank">Safestrap 2.0</a> <span style="line-height: 150%;"><span style="font-family: Arial, Helvetica, sans-serif;">começara a instalação. Se você quiser instalar <a href="http://goo-inside.me/gapps/gapps-gb-20110828-signed.zip" target="_blank">Google apps</a> repita o processo acima, escolhendo o arquivo zip que você baixou. Ao final desta etapa, clique em go back para
voltar ao menu raiz e em seguida reebot para reinicializar o aparelho.<br />
<br />
A instalação leva de 5 a 6 minutos. No final um dialogo lhe ajudara a configurar
o aparelho.<br />
</span><a href="http://1.bp.blogspot.com/-XzfbE3zDu58/TyahJJAyf3I/AAAAAAAABR0/uJdEpPtbjkc/s1600/IMG_2688.JPG" imageanchor="1" style="line-height: normal; margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="240" src="http://1.bp.blogspot.com/-XzfbE3zDu58/TyahJJAyf3I/AAAAAAAABR0/uJdEpPtbjkc/s320/IMG_2688.JPG" width="320" /></a> <span style="font-family: Arial, Helvetica, sans-serif;"><br /><br />
</span></span><br />
<span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;">A rom traz um app para rádio que não é compativel com o Milestone 3, mas você pode instalar o</span> <a href="http://downloadandroidrom.com/file/DroidBionic/apk/MotoFMRadio.apk">Moto FM Radio</a><span style="line-height: 150%;"> </span><span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;">que funciona bem.</span><br />
<br />
<div class="separator" style="background-color: white; clear: both; color: #333333; font-size: 12px; line-height: 19px;">
</div>
<div class="separator" style="clear: both; font-family: Arial, Tahoma, Verdana; text-align: center;">
<a href="http://2.bp.blogspot.com/-JPhug97tybM/Tyah3eINJhI/AAAAAAAABSE/bn921YPhufk/s1600/shot_000018.png" imageanchor="1" style="color: #a91b33; margin-left: 1em; margin-right: 1em; text-decoration: none;"><img border="0" height="320" src="http://2.bp.blogspot.com/-JPhug97tybM/Tyah3eINJhI/AAAAAAAABSE/bn921YPhufk/s320/shot_000018.png" style="border: 0px none; margin: 0px; padding: 10px;" width="181" /></a></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-size: 12px; line-height: 19px;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="color: #191919;"><span style="font-size: 15px; line-height: 24px;">Para usar o 3G é preciso configurar a apn. Acesse Menu -></span></span><span style="font-size: 15px; line-height: 24px; text-align: left;"><span style="color: #191919;">Settingns-> Wireless & Network-> Mobile Network->Accsess Point Names-> Menu -> New Apn e preencha os campos de acordo com sua operadora:</span></span></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><span style="font-size: 15px; line-height: 24px;"></span></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<br /></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><b>TIM Dados</b></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Name = TIM Dados</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN = tim.br</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Port = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Username = tim</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Password = tim</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Server = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMSC = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMS proxy = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMS port = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MCC = 724</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MNC = 02</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN type = default</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><b>TIM </b> <b>MMS</b></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><b><br /></b></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Name = TIM MMS</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN = tim.br</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Port = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Username = tim</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Password = tim</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Server = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMSC = http://mms.tim.br</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMS proxy = 200.179.66.242</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMS port = 8080</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MCC = 724</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MNC = 04</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN type = mms</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><b>Claro Dados</b></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Name = Claro Dados</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN = claro.com.br</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Port = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Username = claro</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Password = claro</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Server = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMSC = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMS proxy = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMS port = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MCC = 724</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MNC = 05</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN type = default</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><b>Claro </b> <b>MMS</b></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Name = Claro Foto</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN = mms.claro.com.br</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Port = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Username = claro</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Password = claro</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Server = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMSC = http://mms.claro.com.br</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMS proxy = 200.169.126.10</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMS port = 8799</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MCC = 724</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MNC = 05</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN type = mms</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">OI Dados</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"> Nome = Oi Dados</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN = gprs.oi.com.br</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Porta = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Usuário = oi</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Senha = oi</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Servidor = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMSC = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy de MMS = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Porta MMS = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MCC = 724</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MNC = 31</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Tipo autenticação = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Tipo APN = default</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><b>OI MMS</b></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"> Nome = Oi MMS</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN = mmsgprs.oi.com.br</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Porta = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Usuário = oimms</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Senha = oimms</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Servidor = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMSC = http://200.222.42.204:8002</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy de MMS = 192.168.10.50</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Porta MMS = 3128</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MCC = 724</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MNC = 31</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Tipo autenticação = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Tipo APN = mms</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><b>Vivo Dados</b></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"> Nome = VIVO Internet</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN = zap.vivo.com.br</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Porta = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Usuário = vivo</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Senha = vivo</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Servidor = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMSC = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy de MMS = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Porta MMS = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MCC = 724</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MNC = 10</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Tipo autenticação = pap ou chap</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Tipo APN = default</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><b>Vivo MMS</b></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Nome = VIVO MMS</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN = mms.vivo.com.br</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Porta = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Usuário = vivo</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Senha = vivo</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Servidor = Não definido</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMSC = http://termnat.vivomms.com.br:8088/mms</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy de MMS = 200.142.130.104</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Porta MMS = 80</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MCC = 724</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MNC = 10</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Tipo autenticação = pap ou chap</span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Tipo APN = mms </span></div>
<div class="separator" style="background-color: white; clear: both; color: #333333; font-family: Arial, Tahoma, Verdana; font-size: 12px; line-height: 19px; text-align: left;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-AvpwLAHiuIk/T8KeUVietlI/AAAAAAAABls/-llnzxtljoQ/s1600/shot_000030.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-AvpwLAHiuIk/T8KeUVietlI/AAAAAAAABls/-llnzxtljoQ/s320/shot_000030.png" width="181" /></a><a href="http://4.bp.blogspot.com/-w3yumnetDjc/T8KeKWbeNMI/AAAAAAAABlc/mpA5eN48fKM/s1600/shot_000028.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-w3yumnetDjc/T8KeKWbeNMI/AAAAAAAABlc/mpA5eN48fKM/s320/shot_000028.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-pWe1GJHLX9I/T8KeWwHvUlI/AAAAAAAABl0/88oUsk8GZ74/s1600/shot_000031.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-pWe1GJHLX9I/T8KeWwHvUlI/AAAAAAAABl0/88oUsk8GZ74/s320/shot_000031.png" width="181" /></a><a href="http://2.bp.blogspot.com/-M6_0MfwCAIk/T8Keh3QWHsI/AAAAAAAABl8/wCJjqCGgSuU/s1600/shot_000032.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-M6_0MfwCAIk/T8Keh3QWHsI/AAAAAAAABl8/wCJjqCGgSuU/s320/shot_000032.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-rrEBNrys4bg/T8Kek_KRMxI/AAAAAAAABmE/FM4hSPhRVIo/s1600/shot_000033.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-rrEBNrys4bg/T8Kek_KRMxI/AAAAAAAABmE/FM4hSPhRVIo/s320/shot_000033.png" width="181" /></a><a href="http://4.bp.blogspot.com/-70hZ0FIKtbk/T8Ke3H1ZXpI/AAAAAAAABmU/UR_eik8YKjQ/s1600/shot_000035.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-70hZ0FIKtbk/T8Ke3H1ZXpI/AAAAAAAABmU/UR_eik8YKjQ/s320/shot_000035.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-0n3uINIyEWY/T8KfEXhn40I/AAAAAAAABmk/6Fh4f0ReKYo/s1600/shot_000037.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-0n3uINIyEWY/T8KfEXhn40I/AAAAAAAABmk/6Fh4f0ReKYo/s320/shot_000037.png" width="181" /></a><a href="http://2.bp.blogspot.com/-VVaHO36jWPA/T8KfQK_avXI/AAAAAAAABms/hH4a0FkJ50E/s1600/shot_000038.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-VVaHO36jWPA/T8KfQK_avXI/AAAAAAAABms/hH4a0FkJ50E/s320/shot_000038.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-A_A1AN7dAtg/T8KgGbD2SXI/AAAAAAAABnU/l2g-MvT6rH4/s1600/shot_000043.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-A_A1AN7dAtg/T8KgGbD2SXI/AAAAAAAABnU/l2g-MvT6rH4/s320/shot_000043.png" width="181" /></a><a href="http://4.bp.blogspot.com/-wzVPsuHRBcw/T8KfyaKEqFI/AAAAAAAABnE/UUa7agqECF0/s1600/shot_000041.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-wzVPsuHRBcw/T8KfyaKEqFI/AAAAAAAABnE/UUa7agqECF0/s320/shot_000041.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-0_ndnNPf-98/T8KgJnq9ENI/AAAAAAAABnc/g6e1me_-LXI/s1600/shot_000044.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-0_ndnNPf-98/T8KgJnq9ENI/AAAAAAAABnc/g6e1me_-LXI/s320/shot_000044.png" width="181" /></a><a href="http://1.bp.blogspot.com/-ql5WGmJLunA/T8Kb0fRda5I/AAAAAAAABkk/xRjENHoh4y4/s1600/shot_000021.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-ql5WGmJLunA/T8Kb0fRda5I/AAAAAAAABkk/xRjENHoh4y4/s320/shot_000021.png" width="181" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif; line-height: 150%;">Chegamos ao final. Fique a vontade para personalizar sua rom com as dezenas de
opções oferecidas e não deixe de comentar o que achou. =)</span></div>
<span style="line-height: 150%;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></span><br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<span style="line-height: 150%;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></span></div>okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-13916881838045293242012-05-03T13:59:00.001-03:002012-05-03T13:59:06.147-03:00Eclipse - Waiting for xdebug sessionNada pior que instalar o <span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; text-align: left;">Eclipse PDT</span><span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; text-align: left;"> e na hora de debugar peceber que o eclipse nunca comleta a requisição pelo xdebug. Isso pode ocorrer por configuração errada do debug, no eclipse ou no arquivo php.ini ou xdebug.ini.</span><br />
<span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; text-align: left;"><br /></span><br />
<span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; text-align: left;">Para tentar resolver tente o seguinte:</span><br />
<span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; text-align: left;"><br /></span><br />
<span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; text-align: left;">1) Verifique se o xdebug está instalado (você usar o phpinfo() para verificar)</span><br />
<span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; text-align: left;">2) Verifique se não está editando o arquivo php.ini errado </span><span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; text-align: left;">(você usar o phpinfo() para verificar)</span><br />
<span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; text-align: left;">3) Reinicie o apache </span><br />
<span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; text-align: left;">4) verifique se está usando o </span>
<span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; text-align: left;">executável</span><span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; text-align: left;"> </span> <span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; text-align: left;">correto do php no Eclipse</span><br />
<span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; text-align: left;">5) Verifique se o xdebug está com as configurações corretas </span><span style="background-color: white; text-align: left;"><span style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"><span style="font-size: 14px; line-height: 18px;">no Eclipse (porta, executável php,server)</span></span></span><br />
<span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; text-align: left;">6) Verifique se o path para a lib ou dll do xdegub está correto no php.ini</span><br />
<span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; text-align: left;">7) verifique se a opção </span><span style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"><span style="font-size: 14px; line-height: 18px;"> xdebug.remote_enable está ativa no</span></span><span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; text-align: left;"> </span><span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; text-align: left;">php.ini</span><br />
<span style="background-color: white; font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; text-align: left;"><br /></span><br />
<div style="text-align: left;">
<span style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"><span style="font-size: 14px; line-height: 18px;">Como referencia para seu teste, pode usar este arquivo de configuração que funciona bem no windows com o wamp e no Linux:</span></span></div>
<div style="text-align: left;">
<span style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"><span style="font-size: 14px; line-height: 18px;"><br /></span></span></div>
<div style="text-align: left;">
<span style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"><span style="font-size: 14px; line-height: 18px;"></span></span></div>
<span style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif;"><br /></span>
<br />
<pre class="php" name="code">zend_extension = "c:/wamp/bin/php/php5.3.10/zend_ext/php_xdebug-2.1.2-5.3-vc9.dll"
[xdebug]
xdebug.remote_enable = On
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "c:/wamp/tmp"
; General
xdebug.show_local_vars=On
xdebug.dump.SERVER=HTTP_HOST, SERVER_NAME
xdebug.dump_globals=On
xdebug.collect_params=4
xdebug.auto_trace=off
xdebug.collect_includes=on
xdebug.collect_return=off
xdebug.default_enable=on
xdebug.extended_info=1
xdebug.manual_url=http://www.php.net
xdebug.show_mem_delta=1
xdebug.max_nesting_level=100
xdebug.idekey=xdebug
xdebug.collect_params = On
xdebug.collect_vars = On
xdebug.dump_globals = On
; Trace options
xdebug.trace_format=0
xdebug.trace_output_dir=/tmp/xdebug/trace
xdebug.trace_options=0
xdebug.trace_output_name=tracelog
; mostra retornos GET do browser
xdebug.dump.GET=*
;mostra retornos do campos username e password
xdebug.dump.POST=username,password
</pre>okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-1889004663608120782012-04-24T13:12:00.001-03:002012-04-24T13:12:52.982-03:00Delphi - Exibindo diálogos no estilo jqueryO jquery é um Framework Javascript que facilita o trabalho do desenvolvedor web. Uma dessas funcionalidades é a opção de exibir um dialogo modal em uma página web:
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-JlBq5bfDVV8/T5a6o0rEElI/AAAAAAAABgM/lELire8boS0/s1600/estilojquery.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="169" src="http://1.bp.blogspot.com/-JlBq5bfDVV8/T5a6o0rEElI/AAAAAAAABgM/lELire8boS0/s320/estilojquery.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
Graças a duas propriedades inseridas no Delphi 2006, nos podemos criar esse efeito nas nossas aplicações. São elas:AlphaBlend e AlphaBlendValue.<br />
<br />
AlphaBlend define se a propriedade estará ativada e AlphaBlendValue define o nível de opacidade que se deseja usar.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-ZkTT1r2U3Oc/T5a8J84EyQI/AAAAAAAABgU/WHS6bQ9eUvs/s1600/AlphaBlend.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-ZkTT1r2U3Oc/T5a8J84EyQI/AAAAAAAABgU/WHS6bQ9eUvs/s320/AlphaBlend.jpg" width="215" /></a></div>
<br />
Vamos criar uma aplicação de teste. Abra o Delphi e crie uma nova aplicação.<br />
Agora adicione um novo formulário e<br />
Ative a propriedade AlphaBlend e coloque 200 na propriedade AlphaBlendValue.<br />
Mude a cor de fundo do formulário para clBlack.<br />
Retire as bordas do formulário na propriedade BorderStyle colocando bsNone.<br />
Em Positition coloque poOwnerFormCenter.<br />
e WidowsState deixe como wsMaximized.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-Ryci1u-ALr8/T5a9Ulyg8qI/AAAAAAAABgc/liK7HWjNDXs/s1600/formulario.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="172" src="http://3.bp.blogspot.com/-Ryci1u-ALr8/T5a9Ulyg8qI/AAAAAAAABgc/liK7HWjNDXs/s320/formulario.jpg" width="320" /></a></div>
<br />
Adicione uma propriedade do tipo Form ao formulário:<br />
<br />
<br />
<pre class="delphi" name="code">type
TFrmDestaque = class(TForm)
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Formulario: TForm;
end;
</pre>
<br />
No evento OnActivate digite o código:<br />
<br />
<pre class="delphi" name="code">procedure TFrmDestaque.FormActivate(Sender: TObject);
begin
Formulario.ShowModal;
PostMessage(Handle, WM_CLOSE, 0, 0);//Fecha o formulário
end;
</pre>
<br />
Salve o formulário com o nome de FrmDestaque.<br />
<br />
Crie um terceiro formulário como abaixo e salve como FrmDialogo:<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-1NONaMjkenI/T5bADCBi3TI/AAAAAAAABgk/OtoHlYWRkHE/s1600/formulario3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="203" src="http://1.bp.blogspot.com/-1NONaMjkenI/T5bADCBi3TI/AAAAAAAABgk/OtoHlYWRkHE/s320/formulario3.jpg" width="320" /></a></div>
<br />
<br />
Não esqueça de retirar os formulário da opção de autocreate do Delphi:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-vCrW1G9mV58/T5bBY7woYyI/AAAAAAAABgs/BvOi7SSkJ8I/s1600/formularios+disponiveis.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-vCrW1G9mV58/T5bBY7woYyI/AAAAAAAABgs/BvOi7SSkJ8I/s320/formularios+disponiveis.jpg" width="320" /></a></div>
<br />
<br />
Agora no formulário principal adicione a função:<br />
<br />
<br />
<pre class="delphi" name="code">procedure DestacarForm(frmOwner ,frmDestaque :TForm );
var
frmTransparente : TFrmDestaque;
begin
frmTransparente := TFrmDestaque.Create(nil);
try
frmTransparente.ClientHeight := frmOwner.ClientHeight;
frmTransparente.ClientWidth := frmOwner.ClientWidth;
frmTransparente.Formulario := frmDestaque;
frmTransparente.ShowModal;
frmTransparente.Formulario := nil;
finally
frmTransparente.Free;
end;
end;
</pre>
<br />
<br />
<br />
Coloque um botão e no Onclick chame a função destaque:<br />
<br />
<pre class="delphi" name="code">procedure TFrmPrincipal.btn1Click(Sender: TObject);
begin
frmDialogo := TFrmDialogo.Create(self);
try
DestacarForm(Self,frmDialogo);
finally
frmDialogo.Free;
end;
end;
</pre>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-ZYgqONTAE74/T5bOSnz65jI/AAAAAAAABg0/bb7PmQDoPXc/s1600/formulario+principal.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="172" src="http://2.bp.blogspot.com/-ZYgqONTAE74/T5bOSnz65jI/AAAAAAAABg0/bb7PmQDoPXc/s320/formulario+principal.jpg" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
Execute a aplicação e click no botão:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-d0rNAtSowX8/T5bObA8_l-I/AAAAAAAABg8/WQnJXWMD5fM/s1600/formulario+destaque.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="179" src="http://4.bp.blogspot.com/-d0rNAtSowX8/T5bObA8_l-I/AAAAAAAABg8/WQnJXWMD5fM/s320/formulario+destaque.jpg" width="320" /></a></div>
<br />
Agora é só chamar a função "DestacarForm" para qualquer formulário que você deseja destacar.okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-51638504710936294222012-04-05T10:14:00.000-03:002012-04-05T10:28:50.601-03:00jQueryUI - Cahe Auto Complete com Jsonu<br />
A jQuery é um framework fantástico, utilizada por várias empresas no mundo e pelas gigantes da internet. E em complemento a jQuery, existe a biblioteca jQueryUI que possui widgets que facilitam o desenvolvimento de aplicações web. Um desses o widget é o "autocomplete" que ajuda o usuário dando sugestões de tags, termos entre outros.<br />
<br />
O autocomplete pode ser alimentado por array de termos , uma página php,jsp,asp, etc ou por um webservise. O exemplo abaixo é uam modificação da documentação do <a href="http://jqueryui.com/demos/autocomplete/#remote-jsonp">jQueryUI</a>.<br />
<br />
Aqui ele faz uma requisição ajax ao <a href="http://geonames.org/" style="background-color: white; color: #1b75bb; font-family: 'Trebuchet MS', Helvetica, Arial, Verdana, sans-serif; font-size: 12px; font-style: italic; text-decoration: none;">geonames.org webservice</a> que retorna um arquivo json. Esse arquivo é tratado e repassado ao widget. A cada consulta realizada ele armazena em cache, os termos retornados:<br />
<br />
<pre class="javascript" name="code">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-9" />
<title>jQueryUI - Auto Complete</title>
<meta name="author" content="Evaldo" />
<!-- Date: 2012-04-04 -->
<style type="text/css">
div {
margin: 15px;
position: relative;
}
.ui-autocomplete-loading {
background: url("ajax-loader.gif");
background-repeat: no-repeat;
background-position: right;
}
</style>
<link href="/css/base.css" media="all" rel="stylesheet" type="text/css"></link>
<link href="http://code.jquery.com/ui/1.8.18/themes/base/jquery-ui.css" media="all" rel="stylesheet" type="text/css"></link>
<link href="http://static.jquery.com/ui/css/demo-docs-theme/ui.theme.css" media="all" rel="stylesheet" type="text/css"></link>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript">
</script>
<script src="http://code.jquery.com/ui/1.8.18/jquery-ui.min.js" type="text/javascript">
</script>
<script src="http://jquery-ui.googlecode.com/svn/tags/latest/external/jquery.bgiframe-2.1.2.js" type="text/javascript">
</script>
<script src="http://jquery-ui.googlecode.com/svn/tags/latest/ui/minified/i18n/jquery-ui-i18n.min.js" type="text/javascript">
</script>
<script type="text/javascript" >
$(function() {
//Armazenar o cahe da busca
var cache = [];
$("#city").autocomplete({
source : function(request, response) {
// verifica se termo de busca está no cache
if(request.term in cache) {
//Termo encontrado, Repassa os resulktados para o widget
response(cache[request.term]);
return;
}
//Termo não encontrado, faz a requisição
$.ajax({
url : "http://ws.geonames.org/searchJSON", //endereço do webservice
dataType : "jsonp", //tipo de requisição
data : {
featureClass : "P", //dados do webservice
style : "full", //dados do webservice
maxRows : "12", //dados do webservice
name_startsWith : request.term //dados do webservice
},
success : function(data) {
//mapeia o array de resultados da busca para o cache
cache[request.term] = $.map(data.geonames, function(item) {
return {
label : item.name,
value : item.name
}
});
//Repassa os resultados para o widget
response(cache[request.term]);
}
})
}
})
})
</script>
</head>
<body>
<div>
<label>Digite o nome de uma cidade</label>
<input type="text" id="city"/>
</div>
</body>
</html>
</pre>okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-53184701780981616732012-03-09T11:01:00.000-03:002012-03-28T14:03:32.440-03:00ACBR Exibindo o MD5 No campo de Informações Complementares do Danfe<br />
Para Exibir o MD5 do PAF-ECF no campo de informações complementares do Danfe no componente ACBR é muito simples, basta informar na propriedade <i>InfAdic </i>da Nfe<i>.</i><br />
<i><br /></i><br />
ACBrNFe1.NotasFiscais.Items[0].NFe.InfAdic.infAdFisco := MD5; <i><br /></i><br />
<br />
Veja no exemplo abaixo:<br />
<br />
<pre class="delphi" imprimirnota(numero:string);<br="" name="code" procedure="">var
Nfe: string;
begin
Nfe := DirNFeXMLs + '\' +
Numero + '.xml';
if not FileExists(Nfe) then
raise Exception.Create('XML da Nota não encontrado');
ACBrNFe1.NotasFiscais.Clear;
ACBrNFe1.NotasFiscais.LoadFromFile(Nfe);
if ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.tpEmis = teDPEC then
begin
ACBrNFe1.WebServices.ConsultaDPEC.NFeChave := ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID;
ACBrNFe1.WebServices.ConsultaDPEC.Executar;
ACBrNFe1.DANFE.ProtocoloNFe := ACBrNFe1.WebServices.ConsultaDPEC.nRegDPEC + ' ' + DateTimeToStr(ACBrNFe1.WebServices.ConsultaDPEC.dhRegDPEC);
end;
ACBrNFe1.NotasFiscais.Items[0].NFe.InfAdic.infAdFisco :=
MD5 ;
ACBrNFe1.NotasFiscais.Imprimir;
end;</pre>
<br />
E a impressão no Danfe:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-G-xD28HwX3Q/T1oLpHzKLPI/AAAAAAAABS0/QHPK45-cIAs/s1600/danfe.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="107" src="http://1.bp.blogspot.com/-G-xD28HwX3Q/T1oLpHzKLPI/AAAAAAAABS0/QHPK45-cIAs/s640/danfe.jpg" width="640" /></a></div>
<br />okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-69943614931844748642012-02-26T11:09:00.001-03:002012-03-28T14:02:51.918-03:00Preparando o Mint/Ubuntu para desenvolver com Pyqt4<h1 style="text-align: center;">
<span style="font-size: large;">Instalando o PyQt4 no Linux Mint/Ubuntu</span></h1>
<div>
<span style="font-size: large;">Introdução</span></div>
<div>
<span style="font-size: large;"><br /></span></div>
<div>
O PyQt4 é mais uma alternativa para desenvolver aplicações desktop com interface gráfica amigável ao usuário. Suporta Linux e outros sistemas Unix, bem como Mac OS X e Microsoft Windows. </div>
<div>
O PyQt é desenvolvido por British firm Riverbank Computing e está disponível sob termos similares aos Qt 4,5. Isto significa uma variedade de licenças, incluindo GNU General Public License (GPL) e licença comercial, mas não o GNU Lesser General Public License (LGPL). </div>
<div>
<br /></div>
<div>
A melhor versão do Python atualmente para se trabalhar com PyQt4 é a 2.7 devido a algumas questões de compatibilidade, mas nada impede de se a usar uma versão acima desta.<br />
<br />
Neste tutorial foi usado o Linux Mint 12 com Kde 4.8 rodando sobre o kernel 3.0.0-16-generic em um hardware com processador intel pentium(R) dual CPU @240 Ghz com 4 Gb DDR 3.</div>
<div>
<br /></div>
<div>
<div>
<span style="font-size: large;">Instalando o Python 2.7</span></div>
<div>
<span style="font-size: large;"><br /></span></div>
<div>
Geralmente as distribuições Linux já trazem o Python instalado por padrão, você pode verificar a versão do python com o comando:</div>
</div>
<div>
<br /></div>
<div>
<i>evaldo@TUX ~ $ python -vV</i></div>
<div>
<div>
<i>Python 2.7.2+</i></div>
</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Se você não possuir a versão 2.7 pode instala-la assim:</div>
<div>
<br /></div>
<div>
<i>TUX evaldo # aptitude install python2.7</i></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<div>
<span style="font-size: large;">Instalando as dependências</span></div>
<div>
<span style="font-size: large;"><br /></span></div>
<div>
Com o Python instado, agora precisamos instalar as dependias do PyQt4:</div>
</div>
<div>
<i><b><br /></b></i></div>
<div>
<i>TUX evaldo # </i><i>aptitude install python-pip python2.7-dev libxext-dev python-qt4 qt4-dev-tools build-essential qt4-designer qt4-dev-tools libqt4-dev ibXext</i></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<div>
<span style="font-size: large;">Instando o PyQt4</span></div>
<div>
<span style="font-size: large;"><br /></span></div>
<div>
Vá no site <a href="http://www.riverbankcomputing.co.uk/software/pyqt/download">http://www.riverbankcomputing.co.uk/software/pyqt/download</a> e baixe a última versão do PyQt4 e do Sip. (SIP é uma ferramenta de software de código aberto usado para conectar programas de computador ou bibliotecas escritas em C ou C + + com a linguagem Python).</div>
<div>
<br /></div>
<div>
Descompacte os arquivos em algum diretório:</div>
<div>
<br /></div>
<div>
<div>
<i>TUX python # tar -xvf PyQt-x11-gpl-4.9.1.tar.gz </i></div>
</div>
<div>
<i><br /></i></div>
<div>
<div>
<i>TUX python # tar -xvf sip-4.13.2.tar.gz </i></div>
</div>
<div>
<br /></div>
<div>
Precisamos instalar primeiro o sip. Entre o diretório onde foi descompactado o arquivo:</div>
<div>
<br /></div>
<div>
<div>
<i>TUX python # cd sip-4.13.2/</i></div>
<div>
<br /></div>
<div>
Se você tiver mais de uma versão do python instalada, especifique com qual versão quer compilar com o seguinte comando:</div>
<div>
<br /></div>
<div>
<i>TUX sip-4.13.2 # python2.7 configure.py ; make ; make install</i></div>
</div>
<div>
<br /></div>
<div>
<div>
A instalação do sip é rápido pouco mais de 30~60 segundos dependendo do seu pc.</div>
</div>
</div>
<div>
<br /></div>
<div>
Após instalar o sip podemos instalar o PyQt4. Acesse o diretório onde descompactou o arquivo e execute o mesmo comando acima:</div>
<div>
<br /></div>
<div>
<div>
<i>TUX sip-4.13.2 # cd ../PyQt-x11-gpl-4.9.1</i>/</div>
</div>
<div>
<i><br /></i></div>
<div>
<i>TUX sip-4.13.2 # python2.7 configure.py ; make ; make install</i></div>
<div>
<i><br /></i></div>
<div>
A instalação do PyQt4 leva em torno de 40 minutos então pode deixar rodando e ir tomar um café :) </div>
<div>
<br /></div>
<div>
<div>
<span style="font-size: large;">Rodando um teste</span></div>
<div>
<span style="font-size: large;"><br /></span><br />
Para comprovar que o PyQt4 foi instalado podemos rodar rodar um teste. Salve o codigo abaixo como teste.py:</div>
<pre class="delphi" name="code">
#!/usr/bin/python
# teste.py
import sys
from PyQt4 import QtGui
app = QtGui.QApplication(sys.argv)
widget = QtGui.QWidget()
widget.resize(250, 150)
widget.setWindowTitle('simple')
widget.show()
sys.exit(app.exec_())
</pre>
</div>
<div>
Agora execute:<br />
<i>evaldo@TUX ~ $ chmod +x teste.py </i><br />
<i>evaldo@TUX ~ $ ./teste.py </i><br />
<i><br /></i><br />
Resultado:<br />
<i><br /></i><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-y5y9GiFeoSo/T0o5FNIBf4I/AAAAAAAABSo/T1IWkVUSlHs/s1600/teste.jpg" imageanchor="1"><img border="0" src="http://2.bp.blogspot.com/-y5y9GiFeoSo/T0o5FNIBf4I/AAAAAAAABSo/T1IWkVUSlHs/s1600/teste.jpg" /></a></div>
<br />
A documentação do PyQt4 pode ser encontrada <a href="http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/classes.html" target="_blank">aqui</a> .</div>
<h1>
</h1>okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-63055012470952560782012-01-30T13:22:00.001-02:002012-03-27T09:11:22.002-03:00Rom Eclipse no Milestone 3/Droid 3 (XT860) - Parte 1<div style="text-align: center;">
<b><span style="font-size: x-large;">Rom Eclipse no Milestone 3/Droid 3 (XT860)</span></b></div>
<div style="text-align: center;">
<br />
<div style="text-align: left;">
<b style="text-align: center;"><span style="font-size: large;">Parte 1 - </span></b><span style="font-size: large;"><b>Conhecendo a Rom</b></span></div>
<br /></div>
<div style="text-align: justify;">
Roms customizadas são o melhor do mundo Android, assim como as distribuições são no mundo linux, onde você é livre para escolher a distribuição que mais se adequá a você. Além do que, usando Roms customizadas você não precisa ficar esperando atualização de operadora e boa vontade dos fabricantes para usar una versão do Android mais atual. Nesse cenário a rom <a href="http://dl.dropbox.com/u/4448146/Eclipse-2.0-D3.zip" target="">Eclipse</a> é uma das melhores para se instalar. Combinando elegância e simplicidade com muita leveza, deixa o telefone mais agradável de usar:<br />
<br />
Baseada no Android 2.3.4, o Eclipse roda muito bem no Motorola Miletone 3, apesar de não ser suportada oficialmente pelos desenvolvedores:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-XYoJ6K-VxFg/TyQz67BEiyI/AAAAAAAABHM/9JqEG7U87rs/s1600/shot_000005.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="320" src="http://3.bp.blogspot.com/-XYoJ6K-VxFg/TyQz67BEiyI/AAAAAAAABHM/9JqEG7U87rs/s320/shot_000005.png" width="181" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-14Qk-6YoWkw/TyQvP2DFOCI/AAAAAAAABF0/b2AL4l1A2kk/s1600/shot_000033.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-14Qk-6YoWkw/TyQvP2DFOCI/AAAAAAAABF0/b2AL4l1A2kk/s320/shot_000033.png" width="181" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-V7XcyuhJboU/TyQz8WwTJxI/AAAAAAAABHU/lTiGhmLKEyQ/s1600/shot_000006.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-V7XcyuhJboU/TyQz8WwTJxI/AAAAAAAABHU/lTiGhmLKEyQ/s320/shot_000006.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-Il2AU0dXFIk/TyQz-_vHdAI/AAAAAAAABHk/uwYiS32acx8/s1600/shot_000008.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-Il2AU0dXFIk/TyQz-_vHdAI/AAAAAAAABHk/uwYiS32acx8/s320/shot_000008.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-uR7HtUNv71E/TyQz9UKqMJI/AAAAAAAABHc/Y8fG-ZCxPb8/s1600/shot_000007.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-uR7HtUNv71E/TyQz9UKqMJI/AAAAAAAABHc/Y8fG-ZCxPb8/s320/shot_000007.png" width="181" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-7J8WwL9QjdQ/TyQ0Ibf2QTI/AAAAAAAABIc/DXMnuau2jys/s1600/shot_000015.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-7J8WwL9QjdQ/TyQ0Ibf2QTI/AAAAAAAABIc/DXMnuau2jys/s320/shot_000015.png" width="181" /></a></div>
<br />
<br />
A versão do Android que veio no Milestone 3 que adquiri foi a 2.3.4 da Vivo. Nessa rom, lotada de aplicativos inúteis de operadora e com o motoblur, a bateria durava cerca de 14 hrs. Com o Eclipse está durando de 24 a 30 horas! (Usando o wifi cerca de 30 minutos por dia, rádio FM 1h30 e sem usar a internet móvel).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-IdjLiaDY5OM/TyQ0jal__1I/AAAAAAAABLI/B9PtX613RlQ/s1600/shot_000036.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-IdjLiaDY5OM/TyQ0jal__1I/AAAAAAAABLI/B9PtX613RlQ/s320/shot_000036.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-I_Sm01aaeWA/TyQ0j9R_WJI/AAAAAAAABLQ/W6VE0K_HGTo/s1600/shot_000037.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-I_Sm01aaeWA/TyQ0j9R_WJI/AAAAAAAABLQ/W6VE0K_HGTo/s320/shot_000037.png" width="181" /></a></div>
<br />
<br />
O Eclipse é simplesmente rápido, nem foi preciso fazer overclock no processador. Todos os aplicativos rodam bem no aparelho, inclusive a renderização de paginas web no navegador:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-MQGoLmMybPc/TyQ0MLguAFI/AAAAAAAABIs/pdPFpsvz5Qc/s1600/shot_000017.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-MQGoLmMybPc/TyQ0MLguAFI/AAAAAAAABIs/pdPFpsvz5Qc/s320/shot_000017.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-t1AN3ADu0PU/TyQ0nBSguwI/AAAAAAAABLg/DlijebaMsII/s1600/shot_000039.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-t1AN3ADu0PU/TyQ0nBSguwI/AAAAAAAABLg/DlijebaMsII/s320/shot_000039.png" width="181" /></a></div>
<br />
O Eclipse proporciona um acesso rápido e fácil aos controles do sistema ao disponibilizar os botões na barra de notificação. O que não acontece na rom oficial da Motorola. Basta deslizar a barra para baixo:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-iYvenOHDBww/TySXXuhul-I/AAAAAAAABMk/JYfMV_eOyRA/s1600/shot_000010.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-iYvenOHDBww/TySXXuhul-I/AAAAAAAABMk/JYfMV_eOyRA/s320/shot_000010.png" width="181" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Também há um widget para a área de trabalho:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-n9TA8_cgHzA/TySXk4YsoDI/AAAAAAAABMs/7kidfIonkfI/s1600/shot_000009.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-n9TA8_cgHzA/TySXk4YsoDI/AAAAAAAABMs/7kidfIonkfI/s320/shot_000009.png" width="181" /></a></div>
<br />
<br />
<br />
Uma das coisa que a valem a pena a instalação dessa rom é a galeria de imagens que tem efeitos muito legais:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-IlCyKYWnlC8/TyR014eJjKI/AAAAAAAABL4/XFgJNk03cvk/s1600/shot_000040.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-IlCyKYWnlC8/TyR014eJjKI/AAAAAAAABL4/XFgJNk03cvk/s320/shot_000040.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-G7aVSh4S8sA/TyR03QIjt3I/AAAAAAAABMA/lSnLPohOxok/s1600/shot_000041.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-G7aVSh4S8sA/TyR03QIjt3I/AAAAAAAABMA/lSnLPohOxok/s320/shot_000041.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-W9n2KpPlCNw/TyR043WR6RI/AAAAAAAABMI/eD0fWbcZnyk/s1600/shot_000042.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-W9n2KpPlCNw/TyR043WR6RI/AAAAAAAABMI/eD0fWbcZnyk/s320/shot_000042.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-seItgLPrBKs/TyR07NlYtLI/AAAAAAAABMY/0LVJewvQnXM/s1600/shot_000044.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-seItgLPrBKs/TyR07NlYtLI/AAAAAAAABMY/0LVJewvQnXM/s320/shot_000044.png" width="181" /></a></div>
<br />
O Eclipse também traz belos papeis de parede além dos papeis de pardes padrão do Android:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-uW0mXYuk9Y4/TyQ0DDrCmSI/AAAAAAAABH8/Xfxp5VgxPso/s1600/shot_000011.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="320" src="http://4.bp.blogspot.com/-uW0mXYuk9Y4/TyQ0DDrCmSI/AAAAAAAABH8/Xfxp5VgxPso/s320/shot_000011.png" width="181" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-2gZ29oS_cI0/TyQ0Fko1azI/AAAAAAAABIE/7J0K2SzF1rc/s1600/shot_000012.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-2gZ29oS_cI0/TyQ0Fko1azI/AAAAAAAABIE/7J0K2SzF1rc/s320/shot_000012.png" width="181" /></a>
</div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-Onm_Q5PF3Cs/TyQ0fCVgi5I/AAAAAAAABKo/wYLjweAKQBY/s1600/shot_000032.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-Onm_Q5PF3Cs/TyQ0fCVgi5I/AAAAAAAABKo/wYLjweAKQBY/s320/shot_000032.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-OHOZ_HjBWbg/TyQ0dJ3M2FI/AAAAAAAABKg/RIAlwzO3UI4/s1600/shot_000031.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-OHOZ_HjBWbg/TyQ0dJ3M2FI/AAAAAAAABKg/RIAlwzO3UI4/s320/shot_000031.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-huF59qVwf_M/TyQ0bcsf50I/AAAAAAAABKY/IXtrZdPdpEU/s1600/shot_000030.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-huF59qVwf_M/TyQ0bcsf50I/AAAAAAAABKY/IXtrZdPdpEU/s320/shot_000030.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-LCxCTO7mMXY/TyQ0ZarhONI/AAAAAAAABKQ/0pbdSjxH0Bs/s1600/shot_000029.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-LCxCTO7mMXY/TyQ0ZarhONI/AAAAAAAABKQ/0pbdSjxH0Bs/s320/shot_000029.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-ORBw6pfBDYw/TyQ0XXo3mhI/AAAAAAAABKI/AHTwzlLbvWE/s1600/shot_000028.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-ORBw6pfBDYw/TyQ0XXo3mhI/AAAAAAAABKI/AHTwzlLbvWE/s320/shot_000028.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-vVkDSeQY_W4/TyQ0HCUs-iI/AAAAAAAABIM/oUmm2yafPt4/s1600/shot_000013.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-vVkDSeQY_W4/TyQ0HCUs-iI/AAAAAAAABIM/oUmm2yafPt4/s320/shot_000013.png" width="181" /></a></div>
<br />
Alem dos aplicativos tradicionais do Android o eclipse traz instalado o <i>Google Music</i> e o <i>Car Home</i><br />
<i><br /></i><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-y8Bg-z7z2ls/TyZ-FTv6taI/AAAAAAAABM4/1wbRzxx7mb0/s1600/screenshot_000002.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-y8Bg-z7z2ls/TyZ-FTv6taI/AAAAAAAABM4/1wbRzxx7mb0/s320/screenshot_000002.bmp" width="181" /></a></div>
<i><br /></i><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-mW6ZeBrmRbw/TyQ0RWkUtfI/AAAAAAAABJg/6_LCJYDEDwc/s1600/shot_000023.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-mW6ZeBrmRbw/TyQ0RWkUtfI/AAAAAAAABJg/6_LCJYDEDwc/s320/shot_000023.png" width="181" /></a></div>
<i><br /></i><br />
<br />
Uma coisa que talvez poderia ser um problema para alguns usuários Brasileiros é que o eclipse não suporta o idioma Português, apenas o Espanhol e o Inglês.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-dqvxbrz8JxM/TyQ0iWaWdpI/AAAAAAAABLA/c1bDkbJfuxY/s1600/shot_000035.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-dqvxbrz8JxM/TyQ0iWaWdpI/AAAAAAAABLA/c1bDkbJfuxY/s320/shot_000035.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
Podemos minimizar isso com o app <a href="https://market.android.com/details?id=jp.co.c_lis.ccl.morelocale" target="_blank">MoreLocale</a>, mas ele só traduz parte do sistema :<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-d2owrFmLfOg/TyQ0P-Oh0PI/AAAAAAAABJU/530PKGCxcS8/s1600/shot_000022.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-d2owrFmLfOg/TyQ0P-Oh0PI/AAAAAAAABJU/530PKGCxcS8/s320/shot_000022.png" width="181" /></a></div>
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">Gostou? Então baixe os arquivos necessários para instalar o Eclipse:</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://depositfiles.com/files/n0dcxce3t" target="_blank">SuperOneClick v2.3.3</a>: Habilita o Usuário Root no Android de maneira muito simples.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://www.filesonic.com/file/4050073654/p2b_solana_umts_solana_retail_br-user-2.3.5-5.5.1-112_SLU-39M-110926-release-keys-Brasil-BR.xml.zip" target="_blank">Fastboot package for UMTS XT860 Retail Brasil - Android 2.3.5</a> : O ClockworkMod será instalado sobre essa versão do Android.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://forum.xda-developers.com/attachment.php?attachmentid=784077&d=1321414457">RSD Lite 5.5</a> : Instala a rom no telefone</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://dl.dropbox.com/u/4448146/Eclipse-2.0-D3.zip">Eclipse 2.0</a> : Eclipse Rom </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://downloadandroidrom.com/file/DroidBionic/rooting/BionicBootstrap.apk" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 24px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;" target="_blank">Bionic ClockworkMod Recovery/Bootstrap</a>: Para fazer <span class="hps" style="background-color: whitesmoke; text-align: -webkit-auto;">backup</span><span style="background-color: whitesmoke; text-align: -webkit-auto;"> </span><span class="hps" style="background-color: whitesmoke; text-align: -webkit-auto;">/ restore</span><span style="background-color: whitesmoke; text-align: -webkit-auto;"> e</span><span class="hps" style="background-color: whitesmoke; text-align: -webkit-auto;"> instalar</span><span style="background-color: whitesmoke; text-align: -webkit-auto;"> </span><span class="hps" style="background-color: whitesmoke; text-align: -webkit-auto;">ROMs</span><span style="background-color: whitesmoke; text-align: -webkit-auto;"> </span></span><br />
<span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; line-height: 24px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;"><a href="http://downloadandroidrom.com/file/DroidBionic/apk/MotoFMRadio.apk" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 24px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;" target="_blank">Moto FM Radio</a>: </span><span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; line-height: 24px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;">Aplicativo para funcionar o rádio FM que não vem por padrão na rom</span><br />
<span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; line-height: 24px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;"><br /></span><br />
<div style="text-align: -webkit-auto;">
<span style="background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 24px;">Faça o Download dos arquivos e no <a href="http://evaldoavelar.blogspot.com/2012/01/rom-eclipse-no-milestone-3droid-3-xt860_9795.html" target="_blank">próximo post</a> vamos iniciar a preparação. Todo o processo leva em torno de 30 minutos. Você ira precisar também de um cartão de memória, onde sera colocada a rom. Se seu Milestone não veio com cartão arranje um.</span></div>
<span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; line-height: 24px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;"><br /></span><br />
<span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; line-height: 24px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;"><br /></span><br />
<span style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; line-height: 24px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;"><br /></span></div>okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com7tag:blogger.com,1999:blog-3026339537188848549.post-29382605140084926252012-01-30T13:20:00.001-02:002012-01-30T13:20:38.812-02:00Rom Eclipse no Milestone 3/Droid 3 (XT860) - Parte 2<div style="text-align: center;">
<b><span style="font-size: x-large;">Rom Eclipse no Milestone 3/Droid 3</span></b><b><span style="font-size: x-large;"> (XT860)</span></b></div>
<div style="text-align: center;">
<div style="text-align: left;">
<b><span style="font-size: large;"><br /></span></b></div>
<div style="text-align: left;">
<b style="text-align: center;"><span style="font-size: large;">Parte 2 - </span></b><b><span style="font-size: large;">Habilitando o Root</span></b></div>
<div style="text-align: left;">
<span style="font-size: large;"><b><br /></b></span></div>
</div>
<div style="text-align: justify;">
Faça este hack por sua conta e responsabilidade, esteja ciente que fazendo isso você estará perdendo a garantia do seu aparelho. O processo funcionou muito bem para mim, mas pode não funcionar para você.<br />
<br />
Antes de iniciar, talvez você queira fazer backup das suas apps para restaurar na nova rom. Isso é perfeitamente possível graças ao <a href="https://market.android.com/details?id=com.keramidas.TitaniumBackup&hl=pt_BR" target="_blank">Titanium Backup</a>! Existem dezenas de tutoriais pela web ensinado o procedimento. Mas antes é preciso habilitar o root no telefone.<br />
<br />
Para o hack funcionar é preciso que o <a href="http://www.motorola.com/staticfiles/Support/Experiences/Global_Drivers/MotoHelper_2.1.32_Driver_5.4.0.exe" target="_blank">Motorola USB Driver</a> esteja atualizado. Faça a atualização antes de continuar o processo.
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-28PNvCQGP-0/TyQzyDoqCbI/AAAAAAAABGU/v75zzvKEmtg/s1600/MotoHelp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="169" src="http://2.bp.blogspot.com/-28PNvCQGP-0/TyQzyDoqCbI/AAAAAAAABGU/v75zzvKEmtg/s320/MotoHelp.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-8PAxAftCPnY/TyQz0coABUI/AAAAAAAABGk/uZc3lFjR6iA/s1600/MotoHelp3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="213" src="http://3.bp.blogspot.com/-8PAxAftCPnY/TyQz0coABUI/AAAAAAAABGk/uZc3lFjR6iA/s320/MotoHelp3.png" width="320" /></a></div>
<br />
<br />
O aplicativo <a href="http://depositfiles.com/files/n0dcxce3t" style="font-family: Arial, Helvetica, sans-serif;" target="_blank">SuperOneClick v2.3.3</a> faz todo o trabalho para nos. Para isso precisamos apenas habilitar a opção de
o Usb Debugging no sistema. Acesse Menu -> Configurações -> Aplicativos -> Desenvolvimento e marque a opção Depuração USB.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-QlgfyLn9YFY/TyaBQOXBdfI/AAAAAAAABNE/EruNrOBY73U/s1600/shot_000049.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-QlgfyLn9YFY/TyaBQOXBdfI/AAAAAAAABNE/EruNrOBY73U/s320/shot_000049.png" width="181" /></a></div>
<br />
Feito isso, conecte o telefone ao computador pelo cabo usb no modo de carregar a bateria - Nenhum, abra o <a href="http://depositfiles.com/files/n0dcxce3t" style="font-family: Arial, Helvetica, sans-serif;" target="_blank">SuperOneClick v2.3.3</a> e clique em root. O telefone vai reiniciar durante o processo:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-uhTn8-w2bQE/TyaBvoeJLLI/AAAAAAAABNM/1bj4Tz3kghY/s1600/One+Click.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="178" src="http://3.bp.blogspot.com/-uhTn8-w2bQE/TyaBvoeJLLI/AAAAAAAABNM/1bj4Tz3kghY/s320/One+Click.png" width="320" /></a></div>
<br />
Ao final responda sim as duas perguntas:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-ZRL5WjvnZmY/TyaCcO_t5pI/AAAAAAAABNU/ZWFWAbdJ1pw/s1600/One+Click+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="133" src="http://2.bp.blogspot.com/-ZRL5WjvnZmY/TyaCcO_t5pI/AAAAAAAABNU/ZWFWAbdJ1pw/s320/One+Click+2.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-mRfLmhOmJRc/TyaCcoAEmcI/AAAAAAAABNc/K7VH-GprCl0/s1600/One+Click+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="141" src="http://1.bp.blogspot.com/-mRfLmhOmJRc/TyaCcoAEmcI/AAAAAAAABNc/K7VH-GprCl0/s320/One+Click+3.png" width="320" /></a></div>
<br />
A parti daqui o root já está habilitado e você já pode instalar o <a href="https://market.android.com/details?id=com.keramidas.TitaniumBackup&hl=pt_BR" target="_blank">Titanium Backup</a> e realizar o backup da suas aplicações:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-6tNdh76_jrM/TyaERARe1SI/AAAAAAAABNw/uyWphct6HQ4/s1600/shot_000046.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-6tNdh76_jrM/TyaERARe1SI/AAAAAAAABNw/uyWphct6HQ4/s320/shot_000046.png" width="181" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-UsnNw3TTqB4/TyaFwJ77yEI/AAAAAAAABN8/Ku7wD2pcQ5M/s1600/shot_000019.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-UsnNw3TTqB4/TyaFwJ77yEI/AAAAAAAABN8/Ku7wD2pcQ5M/s320/shot_000019.png" width="181" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-8qzPqEBezSE/TyaCwXlWyVI/AAAAAAAABNk/gQcs8A0XoJw/s1600/shot_000057.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-8qzPqEBezSE/TyaCwXlWyVI/AAAAAAAABNk/gQcs8A0XoJw/s320/shot_000057.png" width="181" /></a></div>
<br />
Na <a href="http://evaldoavelar.blogspot.com/2012/01/rom-eclipse-no-milestone-3droid-3-xt860_9538.html" target="_blank">próxima estapa</a> vamos prepara o ambiente para instalar o Eclipse.</div>okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-88461718777080626982012-01-30T13:19:00.000-02:002012-01-30T13:22:44.028-02:00Rom Eclipse no Milestone 3/Droid 3 (XT860) - Parte 3<br />
<div style="text-align: center;">
<b><span style="font-size: x-large;">Rom Eclipse no Milestone 3/Droid 3</span></b><b><span style="font-size: x-large;"> (XT860)</span></b></div>
<div style="text-align: center;">
<div style="text-align: left;">
<b><span style="font-size: large;"><br /></span></b></div>
<div style="text-align: left;">
<b style="text-align: center;"><span style="font-size: large;">Parte 3 - </span></b><b><span style="font-size: large;">Preparando o Ambiente</span></b><br />
<br />
<div style="text-align: justify;">
Não se esqueça de fazer backup dos seus arquivos no pc, pois eles podem ser perdidos! Verifique também a carga da bateria, se estiver abaixo de 60%, recarregue-a antes de iniciar o processo, pois o telefone vai precisar realizar algum processamento e isso consome energia.</div>
<div style="text-align: justify;">
</div>
<br />
O primeiro passo é plugar o telefone no cabo USB (No modo de carregar a bateria - Nenhum ) e conecta-lo ao pc (Esse hack foi feito no windows 7).<br />
<br />
Com o telefone plugado, abra o RSD Lite. Ele irá reconhecer o telefone conectado:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-uv_Wh8_vF7U/TyQ_-qa50mI/AAAAAAAABLs/iLYMMmY_Q0s/s1600/RSDLite.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="198" src="http://2.bp.blogspot.com/-uv_Wh8_vF7U/TyQ_-qa50mI/AAAAAAAABLs/iLYMMmY_Q0s/s320/RSDLite.png" width="320" /></a></div>
<br />
Agora vamos instalar a rom <a href="http://www.filesonic.com/file/4050073654/p2b_solana_umts_solana_retail_br-user-2.3.5-5.5.1-112_SLU-39M-110926-release-keys-Brasil-BR.xml.zip" target="_blank">Fastboot package for UMTS XT860 Retail Brasil - Android 2.3.5</a> que você baixou. Clique no botão ao lado do campo Filename e procure pelo arquivo. O nome padrão é <i>p2b_solana_umts_solana_retail_br-user-2.3.5-5.5.1-112_SLU-39M-110926-release-keys-Brasil-BR.xml.zip.</i><br />
<br />
Não descompacte este arquivo, prefira que o RSD Lite faça isso para você. Clique em <i>Uncompress And Start Flashing </i>para iniciar<i>:</i><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-SXQXmWxS9XQ/TyaGjvTWZ7I/AAAAAAAABOE/qOcUiGl8bNw/s1600/RSD+Lite+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="189" src="http://4.bp.blogspot.com/-SXQXmWxS9XQ/TyaGjvTWZ7I/AAAAAAAABOE/qOcUiGl8bNw/s320/RSD+Lite+2.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-MBE_WjOsNkk/TyaGj4ji8UI/AAAAAAAABOM/XVQd4UCefb0/s1600/RSD+Lite+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="190" src="http://2.bp.blogspot.com/-MBE_WjOsNkk/TyaGj4ji8UI/AAAAAAAABOM/XVQd4UCefb0/s320/RSD+Lite+3.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-06cjO-4YDaU/TyaGkccPwNI/AAAAAAAABOU/s11YnVAji48/s1600/RSD+Lite+4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="190" src="http://2.bp.blogspot.com/-06cjO-4YDaU/TyaGkccPwNI/AAAAAAAABOU/s11YnVAji48/s320/RSD+Lite+4.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-gWxEgUcExXQ/TyaGk3vi4aI/AAAAAAAABOY/yAHz7tC0pJM/s1600/RSD+Lite+5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="198" src="http://3.bp.blogspot.com/-gWxEgUcExXQ/TyaGk3vi4aI/AAAAAAAABOY/yAHz7tC0pJM/s320/RSD+Lite+5.png" width="320" /></a></div>
<br />
Ao terminar de enviar os arquivos o <a href="http://forum.xda-developers.com/attachment.php?attachmentid=784077&d=1321414457" style="font-family: Arial, Helvetica, sans-serif;">RSD Lite 5.5</a> vai reiniciar o telefone:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-mIqHx7wAfH8/TyaGlZshvuI/AAAAAAAABOg/vyKesYxdBzE/s1600/RSD+Lite+6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="198" src="http://4.bp.blogspot.com/-mIqHx7wAfH8/TyaGlZshvuI/AAAAAAAABOg/vyKesYxdBzE/s320/RSD+Lite+6.png" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-yn4JNFMmP64/TyaIS3QwtGI/AAAAAAAABPI/rjRs-3VHtOY/s1600/IMG_2666.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="240" src="http://4.bp.blogspot.com/-yn4JNFMmP64/TyaIS3QwtGI/AAAAAAAABPI/rjRs-3VHtOY/s320/IMG_2666.JPG" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-x-IBDO9fC2k/TyaKhCM97mI/AAAAAAAABPc/kcmznwC98js/s1600/IMG_2651.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://3.bp.blogspot.com/-x-IBDO9fC2k/TyaKhCM97mI/AAAAAAAABPc/kcmznwC98js/s320/IMG_2651.JPG" width="320" /></a></div>
<br />
Neste momento, a rom começara a ser instalada. Isso leva em torno de 5~6 minutos:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-w9zdK-tgQME/TyaIL8tH-RI/AAAAAAAABPA/PpEC1vs0S9g/s1600/IMG_2660.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-w9zdK-tgQME/TyaIL8tH-RI/AAAAAAAABPA/PpEC1vs0S9g/s320/IMG_2660.JPG" width="320" /></a></div>
<br />
Quando o telefone voltar ele já estará pronto para podermos continuar:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-bRVipIi8dok/TyaLkhB-smI/AAAAAAAABPo/TBp4gxK_6c4/s1600/shot_000051.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-bRVipIi8dok/TyaLkhB-smI/AAAAAAAABPo/TBp4gxK_6c4/s320/shot_000051.png" width="181" /></a></div>
<br />
Se tudo ocorrer bem o <a href="http://forum.xda-developers.com/attachment.php?attachmentid=784077&d=1321414457" style="font-family: Arial, Helvetica, sans-serif;">RSD Lite 5.5</a> vai exibir a mensagem de <i>Finished</i><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-XL1Zs10X67E/TyaGl5xdcJI/AAAAAAAABOs/BQnCL3n5skA/s1600/RSD+Lite+7.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="198" src="http://1.bp.blogspot.com/-XL1Zs10X67E/TyaGl5xdcJI/AAAAAAAABOs/BQnCL3n5skA/s320/RSD+Lite+7.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Terminado essa parte, copie o <a href="http://rootzwiki.com/topic/10906-romport-eclipse-20/" style="font-family: Arial, Helvetica, sans-serif; text-align: justify;">Eclipse 2.0</a><span style="font-family: Arial, Helvetica, sans-serif; text-align: justify;"> para a raiz do cartão de memória:</span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif; text-align: justify;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-4n93vBAbznY/TyaS8QwwsyI/AAAAAAAABQY/xfq2Pn_3ZYw/s1600/shot_000055.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-4n93vBAbznY/TyaS8QwwsyI/AAAAAAAABQY/xfq2Pn_3ZYw/s320/shot_000055.png" width="181" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif; text-align: justify;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif; text-align: justify;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Arial, Helvetica, sans-serif; text-align: justify;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
Na <a href="http://evaldoavelar.blogspot.com/2012/01/rom-eclipse-no-milestone-3droid-3-xt860_1881.html" target="_blank">próxima etapa</a> vamos instalar o <a href="http://downloadandroidrom.com/file/DroidBionic/rooting/BionicBootstrap.apk" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; line-height: 24px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;" target="_blank">Bionic ClockworkMod Recovery/Bootstrap</a>.</div>
<br />
<br /></div>
</div>okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-43626408369770368292012-01-30T13:17:00.002-02:002012-01-30T13:22:53.264-02:00Rom Eclipse no Milestone 3/Droid 3 (XT860) - Parte 4<br />
<div style="text-align: center;">
<b><span style="font-size: x-large;">Rom Eclipse no Milestone 3/Droid 3</span></b><b><span style="font-size: x-large;"> (XT860)</span></b></div>
<div style="text-align: center;">
<div style="text-align: left;">
<b><span style="font-size: large;"><br /></span></b></div>
<div style="text-align: left;">
<div style="text-align: center;">
</div>
<div style="text-align: left;">
<b style="text-align: center;"><span style="font-size: large;">Parte 4 - </span></b><b><span style="font-size: large;">Bootstrap Recovery</span></b></div>
<div style="text-align: left;">
<b><span style="font-size: large;"><br /></span></b></div>
<div style="text-align: left;">
</div>
<div style="text-align: justify;">
Depois de instalar o <a href="http://www.filesonic.com/file/4050073654/p2b_solana_umts_solana_retail_br-user-2.3.5-5.5.1-112_SLU-39M-110926-release-keys-Brasil-BR.xml.zip" style="font-family: Arial, Helvetica, sans-serif;" target="_blank">Fastboot package for UMTS XT860 Retail Brasil - Android 2.3.5</a> precisamos habilitar o root para podermos instalar o
<a href="http://downloadandroidrom.com/file/DroidBionic/rooting/BionicBootstrap.apk" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; line-height: 24px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;" target="_blank">Bootstrap Recovery</a> . </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Vamos usar o <a href="http://depositfiles.com/files/n0dcxce3t" style="font-family: Arial, Helvetica, sans-serif;" target="_blank">SuperOneClick v2.3.3</a> novamente. Precisamos apenas habilitar a opção de o Usb Debugging no sistema. Acesse Menu -> Configurações -> Aplicativos -> Desenvolvimento e marque a opção Depuração USB.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-QlgfyLn9YFY/TyaBQOXBdfI/AAAAAAAABNE/EruNrOBY73U/s1600/shot_000049.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-QlgfyLn9YFY/TyaBQOXBdfI/AAAAAAAABNE/EruNrOBY73U/s320/shot_000049.png" width="181" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Feito isso, conecte o telefone ao computador pelo cabo usb no modo de carregar a bateria - Nenhum, abra o <a href="http://depositfiles.com/files/n0dcxce3t" style="font-family: Arial, Helvetica, sans-serif;" target="_blank">SuperOneClick v2.3.3</a> e clique em root. O telefone vai reiniciar durante o processo:</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-uhTn8-w2bQE/TyaBvoeJLLI/AAAAAAAABNM/1bj4Tz3kghY/s1600/One+Click.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="178" src="http://3.bp.blogspot.com/-uhTn8-w2bQE/TyaBvoeJLLI/AAAAAAAABNM/1bj4Tz3kghY/s320/One+Click.png" width="320" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Ao final responda sim as duas perguntas:</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-ZRL5WjvnZmY/TyaCcO_t5pI/AAAAAAAABNU/ZWFWAbdJ1pw/s1600/One+Click+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="133" src="http://2.bp.blogspot.com/-ZRL5WjvnZmY/TyaCcO_t5pI/AAAAAAAABNU/ZWFWAbdJ1pw/s320/One+Click+2.png" width="320" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-mRfLmhOmJRc/TyaCcoAEmcI/AAAAAAAABNc/K7VH-GprCl0/s1600/One+Click+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="141" src="http://1.bp.blogspot.com/-mRfLmhOmJRc/TyaCcoAEmcI/AAAAAAAABNc/K7VH-GprCl0/s320/One+Click+3.png" width="320" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
A parti daqui o root já está habilitado e podemos instalar o
<a href="http://downloadandroidrom.com/file/DroidBionic/rooting/BionicBootstrap.apk" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; line-height: 24px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;" target="_blank">Bootstrap Recovery</a> :</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-6tNdh76_jrM/TyaERARe1SI/AAAAAAAABNw/uyWphct6HQ4/s1600/shot_000046.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-6tNdh76_jrM/TyaERARe1SI/AAAAAAAABNw/uyWphct6HQ4/s320/shot_000046.png" width="181" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="text-align: justify;">
Habilite a opção de instalar aplicativos de fontes desconhecidas: Acesse Menu -> Configurações -> Aplicativos.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-gcUiKd6slpc/TyaSN40_hvI/AAAAAAAABQQ/Q3t8AWYfZjo/s1600/shot_000056.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-gcUiKd6slpc/TyaSN40_hvI/AAAAAAAABQQ/Q3t8AWYfZjo/s320/shot_000056.png" width="181" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Coloque o <a href="http://downloadandroidrom.com/file/DroidBionic/rooting/BionicBootstrap.apk" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; line-height: 24px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;" target="_blank">Bootstrap Recovery</a> em algum lugar do seu cartão de memória (crie uma pasta app por exemplo ) e em seguida instale-o. Ao abrir o app instalado você vera seguinte tela.</div>
<br />
<br />
<b><span style="font-size: large;"><br /></span></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-CPwaqOglVUE/TyaQ0tP4PaI/AAAAAAAABP0/pB4MP9DOCfw/s1600/shot_000021.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-CPwaqOglVUE/TyaQ0tP4PaI/AAAAAAAABP0/pB4MP9DOCfw/s320/shot_000021.png" width="181" /></a></div>
<br />
Clique em "Boot Strap Recovery" e dê a permissão de root para o app executar:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-QfYiE3WOgsw/TyaQ1XhiehI/AAAAAAAABP8/QHuPenLFLRs/s1600/shot_000057.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-QfYiE3WOgsw/TyaQ1XhiehI/AAAAAAAABP8/QHuPenLFLRs/s320/shot_000057.png" width="181" /></a></div>
<br />
Ao termino da execução uma mensagem de sucesso será exibida:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-Rayd8XrjuhY/TyaQ3sycGTI/AAAAAAAABQE/r5II0PHZVgQ/s1600/shot_000058.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-Rayd8XrjuhY/TyaQ3sycGTI/AAAAAAAABQE/r5II0PHZVgQ/s320/shot_000058.png" width="181" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Na <a href="http://evaldoavelar.blogspot.com/2012/01/rom-eclipse-no-milestone-3droid-3-xt860_30.html" target="_blank">próxima etapa</a>vamos instalar o eclipse.</div>
<div style="text-align: justify;">
<span style="font-size: x-small;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></span></div>
</div>
</div>okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-89402507254751284892012-01-30T13:16:00.000-02:002012-01-30T13:23:02.968-02:00Rom Eclipse no Milestone 3/Droid 3 (XT860) - Parte 5<br />
<div style="text-align: center;">
<b><span style="font-size: x-large;">Rom Eclipse no Milestone 3/Droid 3</span></b><b><span style="font-size: x-large;"> (XT860)</span></b></div>
<div style="text-align: center;">
<div style="text-align: left;">
<b><span style="font-size: large;"><br /></span></b></div>
<div style="text-align: left;">
<div style="text-align: center;">
</div>
<b style="text-align: center;"><span style="font-size: large;">Parte 5 - </span></b><b><span style="font-size: large;">Instalando o Eclipse</span></b><br />
<br />
<div style="text-align: justify;">
</div>
Se você já tiver copiado o<span style="text-align: left;"> </span><a href="http://rootzwiki.com/topic/10906-romport-eclipse-20/" style="font-family: Arial, Helvetica, sans-serif;">Eclipse 2.0</a><span style="font-family: Arial, Helvetica, sans-serif;"> para a raiz do cartão de memória estaremos prontos para iniciar a instalação.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Novamente no </span> <a href="http://downloadandroidrom.com/file/DroidBionic/rooting/BionicBootstrap.apk" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; line-height: 24px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto; vertical-align: baseline;" target="_blank">Bootstrap Recovery</a>, <span style="font-family: Arial, Helvetica, sans-serif;">Clique em <i>"Reboot Recovery"</i>:</span><br />
<br />
<div style="text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-CPwaqOglVUE/TyaQ0tP4PaI/AAAAAAAABP0/pB4MP9DOCfw/s1600/shot_000021.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-CPwaqOglVUE/TyaQ0tP4PaI/AAAAAAAABP0/pB4MP9DOCfw/s320/shot_000021.png" width="181" /></a></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">O telefone irá reiniciar com a seguinte tela:</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-np-kNRSBisY/TyaUnlx50RI/AAAAAAAABQk/WNk4OlTancg/s1600/IMG_2668.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-np-kNRSBisY/TyaUnlx50RI/AAAAAAAABQk/WNk4OlTancg/s320/IMG_2668.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: justify;">
Usando as teclas de volume, escolha a opção <span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px; text-align: -webkit-auto;"> </span><span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px; text-align: -webkit-auto;">“wipe data/factory reset”</span><span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px; text-align: -webkit-auto;"> (espero que tenha feito backup, pois isso aga todos os arquivos no telefone) e aperte o botão de ligar/desligar para confirmar. Agora procure pelo </span><span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px; text-align: -webkit-auto;"> </span><span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px; text-align: -webkit-auto;">“Yes” no meio dos "NO" e aperte o botão de </span><span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px; text-align: -webkit-auto;"> </span><span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px; text-align: -webkit-auto;">ligar/desligar para confirmar.</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px; text-align: -webkit-auto;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-V2u3LZZnbK0/TyaXIzrFCII/AAAAAAAABQw/P_X90P-MABg/s1600/IMG_2673.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-V2u3LZZnbK0/TyaXIzrFCII/AAAAAAAABQw/P_X90P-MABg/s320/IMG_2673.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px; text-align: -webkit-auto;"><br /></span></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><span style="line-height: 24px;">Feito isso, vá até <i>"go-back"</i> e retorne ao menu anterior. Navegue até a opção </span></span><span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px;"><i> “install zip from sdcard”</i> depois em<i> </i></span><span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px;"><i>“choose zip from sdcard”</i></span><span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px;"> </span><span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px;"> e procure pela rom do Eclipse </span><span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px;">e aperte o botão de ligar/desligar para confirmar. Nesse momento a instalação do Eclipse vai começar, isso pode levar de 5~6 minutos.</span></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-b4SFWibwTXc/TyabVJJUhlI/AAAAAAAABQ8/47CWWqg_E_I/s1600/IMG_2674.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-b4SFWibwTXc/TyabVJJUhlI/AAAAAAAABQ8/47CWWqg_E_I/s320/IMG_2674.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><span style="line-height: 24px;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px;"> Quanto terminar escolha a opção<i> "power-off"</i> para desligar o telefone. Assim que o telefone desligar, desconecte o cabo usb e em seguida segure ao mesmo tempo os dois botões de volume e ligue o aparelho. Você vai cair na tela de boot de telefone. </span></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="text-align: justify;"><br /></span></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="text-align: justify;">Com o botão de aumentar volume, escolha <i>"Recovery Mode" </i>e com o botão de diminuir volume, confirme:</span></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><span style="line-height: 24px;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-idFRQpV1G4Q/Tyab9iJfQQI/AAAAAAAABRE/le4hiw3HzU0/s1600/IMG_2678.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-idFRQpV1G4Q/Tyab9iJfQQI/AAAAAAAABRE/le4hiw3HzU0/s320/IMG_2678.JPG" width="320" /></a></div>
<br />
O Telefone vai iniciar e parar aqui:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-n-iIbmRMte0/TyacEzGqUvI/AAAAAAAABRM/OTgCkt-2hMw/s1600/IMG_2679.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-n-iIbmRMte0/TyacEzGqUvI/AAAAAAAABRM/OTgCkt-2hMw/s320/IMG_2679.JPG" width="320" /></a></div>
<br />
Aperte<span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px; text-align: -webkit-auto;"> </span><span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px; text-align: -webkit-auto;">ao mesmo tempo os dois botões de volume para exibir o menu:</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-CDJQWemmfi4/TyacLR7Rx9I/AAAAAAAABRU/SQLWr1RkBe0/s1600/IMG_2683.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://4.bp.blogspot.com/-CDJQWemmfi4/TyacLR7Rx9I/AAAAAAAABRU/SQLWr1RkBe0/s320/IMG_2683.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><span style="line-height: 24px;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px;">Selecione </span><span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px;"><i>“wipe data/factory reset” </i> e aguarde... Depois</span><span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><span style="line-height: 24px;"> </span></span><span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px;"> </span><span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px;">“reboot system now”</span><span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px;"> </span></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><span style="line-height: 24px;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><span style="line-height: 24px;">O telefone vai demorar um pouco para iniciar:</span></span></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><span style="line-height: 24px;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-jMnoINSTLfM/TyahC1Vo3SI/AAAAAAAABRs/lm7uLf4b1n4/s1600/IMG_2686.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://2.bp.blogspot.com/-jMnoINSTLfM/TyahC1Vo3SI/AAAAAAAABRs/lm7uLf4b1n4/s320/IMG_2686.JPG" width="320" /></a></div>
<br />
Se você visualizar a seguinte tela parabéns! O Eclipse esta instalado!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-XzfbE3zDu58/TyahJJAyf3I/AAAAAAAABR0/uJdEpPtbjkc/s1600/IMG_2688.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="http://1.bp.blogspot.com/-XzfbE3zDu58/TyahJJAyf3I/AAAAAAAABR0/uJdEpPtbjkc/s320/IMG_2688.JPG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="background-color: white; color: #191919; font-family: Arial, Verdana, sans-serif; line-height: 24px;"><br /></span></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><span style="line-height: 24px;">Agora toque no robozinho para iniciar a configuração do sistema! Uma assistente lhe ajudará no processo.</span></span></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><span style="line-height: 24px;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-oCWsUAQ0-Ro/Tyah2T69MFI/AAAAAAAABR8/is3VTyWqG_Y/s1600/shot_000002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://1.bp.blogspot.com/-oCWsUAQ0-Ro/Tyah2T69MFI/AAAAAAAABR8/is3VTyWqG_Y/s320/shot_000002.png" width="181" /></a></div>
<br />
<br />
Na <a href="http://evaldoavelar.blogspot.com/2012/01/rom-eclipse-no-milestone-3droid-3-xt860.html" target="_blank">próxima etapa</a> vamos para as configurações finais</div>
</div>okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-46964351222934019892012-01-30T13:13:00.000-02:002012-01-30T13:33:12.688-02:00Rom Eclipse no Milestone 3/Droid 3 (XT860) - Parte 6<br />
<div style="text-align: center;">
<b><span style="font-size: x-large;">Rom Eclipse no Milestone 3/Droid 3</span></b><b><span style="font-size: x-large;"> (XT860)</span></b></div>
<div style="text-align: center;">
<div style="text-align: left;">
<b><span style="font-size: large;"><br /></span></b></div>
<div style="text-align: left;">
<div style="text-align: center;">
</div>
<b style="text-align: center;"><span style="font-size: large;">Parte 6 - </span></b><b><span style="font-size: large;">Configurando o Eclipse</span></b><br />
<b><span style="font-size: large;"><br /></span></b><br />
<br />
<div style="text-align: justify;">
</div>
Depois do contato inicial com a rom é hora de configurar algumas coisas básicas e restuarar o backup dos apps.<br />
<br />
O Eclipse já traz o root habilitado, então você pode restaurar seus backups sem problemas,<span style="color: #191919; font-family: Arial, Verdana, sans-serif; text-align: -webkit-auto;"><span style="font-size: 15px; line-height: 24px;"> basta instalar o </span></span><a href="https://market.android.com/details?id=com.keramidas.TitaniumBackup&hl=pt_BR" style="text-align: justify;" target="_blank">Titanium Backup</a><span style="text-align: justify;">! Existem dezenas de tutoriais pela web ensinado o procedimento. </span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-DT28w8f9yy4/TyQ0OmfK1uI/AAAAAAAABJE/dQn6AaioBjc/s1600/shot_000020.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-DT28w8f9yy4/TyQ0OmfK1uI/AAAAAAAABJE/dQn6AaioBjc/s320/shot_000020.png" width="181" /></a></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="text-align: left;"><br /></span></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="text-align: left;">Para usar o rádio é preciso instalar o app </span><a href="http://downloadandroidrom.com/file/DroidBionic/apk/MotoFMRadio.apk" style="background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; line-height: 24px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;" target="_blank">Moto FM Radio</a><span style="text-align: left;">. Coloque o apk em algum diretório e instale:</span></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-JPhug97tybM/Tyah3eINJhI/AAAAAAAABSE/bn921YPhufk/s1600/shot_000018.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://2.bp.blogspot.com/-JPhug97tybM/Tyah3eINJhI/AAAAAAAABSE/bn921YPhufk/s320/shot_000018.png" width="181" /></a></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><span style="font-size: 15px; line-height: 24px;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><span style="font-size: 15px; line-height: 24px;">Para usar o 3G é preciso configurar as apn. Acesse Menu -></span></span><span style="font-size: 15px; line-height: 24px; text-align: left;"><span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Settingns-> Wireless & Network-> Mobile Netowoek->Accsess Point Names-> Menu -> New Apn e preencha os campos de acordo com sua operadora:</span></span></div>
<div class="separator" style="clear: both; text-align: -webkit-auto;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><span style="font-size: 15px; line-height: 24px;"></span></span></div>
<div class="separator" style="clear: both;">
<br /></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><b>TIM Dados</b></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Name = TIM Dados</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN = tim.br</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Port = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Username = tim</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Password = tim</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Server = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMSC = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMS proxy = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMS port = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MCC = 724</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MNC = 02</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN type = default</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><b>TIM </b> <b>MMS</b></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><b><br /></b></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Name = TIM MMS</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN = tim.br</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Port = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Username = tim</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Password = tim</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Server = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMSC = http://mms.tim.br</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMS proxy = 200.179.66.242</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMS port = 8080</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MCC = 724</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MNC = 04</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN type = mms</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><b>Claro Dados</b></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Name = Claro Dados</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN = claro.com.br</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Port = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Username = claro</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Password = claro</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Server = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMSC = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMS proxy = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMS port = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MCC = 724</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MNC = 05</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN type = default</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><b>Claro </b> <b>MMS</b></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Name = Claro Foto</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN = mms.claro.com.br</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Port = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Username = claro</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Password = claro</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Server = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMSC = http://mms.claro.com.br</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMS proxy = 200.169.126.10</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMS port = 8799</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MCC = 724</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MNC = 05</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN type = mms</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">OI Dados</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"> Nome = Oi Dados</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN = gprs.oi.com.br</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Porta = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Usuário = oi</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Senha = oi</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Servidor = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMSC = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy de MMS = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Porta MMS = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MCC = 724</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MNC = 31</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Tipo autenticação = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Tipo APN = default</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><b>OI MMS</b></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"> Nome = Oi MMS</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN = mmsgprs.oi.com.br</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Porta = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Usuário = oimms</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Senha = oimms</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Servidor = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMSC = http://200.222.42.204:8002</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy de MMS = 192.168.10.50</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Porta MMS = 3128</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MCC = 724</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MNC = 31</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Tipo autenticação = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Tipo APN = mms</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><b>Vivo Dados</b></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"> Nome = VIVO Internet</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN = zap.vivo.com.br</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Porta = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Usuário = vivo</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Senha = vivo</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Servidor = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMSC = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy de MMS = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Porta MMS = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MCC = 724</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MNC = 10</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Tipo autenticação = pap ou chap</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Tipo APN = default</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><b>Vivo MMS</b></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Nome = VIVO MMS</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">APN = mms.vivo.com.br</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Porta = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Usuário = vivo</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Senha = vivo</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Servidor = Não definido</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MMSC = http://termnat.vivomms.com.br:8088/mms</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Proxy de MMS = 200.142.130.104</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Porta MMS = 80</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MCC = 724</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">MNC = 10</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Tipo autenticação = pap ou chap</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Tipo APN = mms </span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Então é isso! Você agora é livre! Não depende mais da Motorola para usar uma rom leve e bonita. Com o tempo você vera que vale a pena usar o Eclipse, você ganhará em performance e bateria além de aprender Inglês :).</span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="color: #191919; font-family: Arial, Verdana, sans-serif;">Obrigado por ler este tutorial, deixe nos comentários a sua opinião sobre Eclipse. </span></div>
<br />
Referencias:<br />
<a href="http://droidbionicroot.com/droid-bionic-hacks/how-to-install-clockworkmod-recoverybootstrap-on-the-droid-bionic/">http://droidbionicroot.com/droid-bionic-hacks/how-to-install-clockworkmod-recoverybootstrap-on-the-droid-bionic/</a>
<br />
<a href="http://droidmodderx.com/bionic/234-2/">http://droidmodderx.com/bionic/234-2/</a><br />
<a href="http://forum.xda-developers.com/showthread.php?t=1384676">http://forum.xda-developers.com/showthread.php?t=1384676</a>
<br />
<br />
<br /></div>
</div>okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-56986597671809934092011-09-21T11:36:00.004-03:002011-09-21T11:38:40.676-03:00Python: Download File from webBaixando um arquivo com pyhon de uma servidor web que requer controle por cookie.<br />
<br />
Como exemplo vamos baixar o arquivo com todos os resultados da mega sena <br />
<br />
<pre class="python" name="code">'''
Created on 20/09/2011
@author: Evaldo
'''
import cookielib,urllib2,urllib
class Downloads(object):
'''
classdocs
'''
def FileFromUrl(self,url, localFileName = None):
''' Realiza a requisição'''
request = urllib2.Request( url)
response = urllib2.urlopen( request )
''' Salvar o arquivo'''
output = open(localFileName,'wb')
output.write(response.read())
output.close()
def __init__(self):
'''
Define o cookie para a conexao
'''
self._logged_in = False
self._cookies = cookielib.CookieJar()
self._opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self._cookies))
urllib2.install_opener(self._opener)
if __name__ == '__main__':
try:
print 'Baixando'
d = Downloads()
d.FileFromUrl('http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_megase.zip','m.zip')
print 'Concluido'
except Exception as e:
print 'Erro' , e
</pre>
<br />
Se você precisar passar algum parâmetro no cookie pode faze-lo assim<br />
<br />
<br />
<pre class="python" name="code">'''
Created on 20/09/2011
@author: Evaldo
'''
import cookielib,urllib2,urllib
class Downloads(object):
'''
classdocs
'''
def FileFromUrl(self,url, localFileName = None):
'''Parametros do cookie'''
post = urllib.urlencode({"security" : "false"})
''' Realiza a requisição'''
request = urllib2.Request( url, post)
response = urllib2.urlopen( request )
''' Salvar o arquivo'''
output = open(localFileName,'wb')
output.write(response.read())
output.close()
def __init__(self):
'''
Define o cookie para a conexao
'''
self._logged_in = False
self._cookies = cookielib.CookieJar()
self._opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self._cookies))
urllib2.install_opener(self._opener)
if __name__ == '__main__':
try:
print 'Baixando'
d = Downloads()
d.FileFromUrl('http://www1.caixa.gov.br/loterias/_arquivos/loterias/D_megase.zip','m.zip')
print 'Concluido'
except Exception as e:
print 'Erro' , e
</pre>
Isso também resolve o erro gerado pela urllib2:<br />
<br />
<b>
<i>HTTP Error 302: The HTTP server returned a redirect error tha t would lead to an infinite loop.
</i></b>okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-27301613379392584742011-08-26T18:54:00.002-03:002011-09-02T11:23:11.624-03:00Desenvolvimento de sistemas de Informação nas organizações<br />
<h1 align="center" style="margin-left: 0cm; tab-stops: 0cm; text-align: center; text-indent: 0cm;">
INTRODUÇÃO</h1>
<div align="center" class="MsoBodyText" style="text-align: center;">
<span style="font-family: "Arial","sans-serif";"></span></div>
<div align="center" class="MsoBodyText" style="text-align: center;">
<br /></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric; text-indent: 35.4pt;">
<span style="font-family: "Arial","sans-serif";">O
mundo atual é totalmente dependente de sistemas de software em todos os ramos
da sociedade. O funcionamento efetivo da economia e da política modernas estão
intimamente ligados a nossa capacidade, enquanto desenvolvedores, de criar
softwares de qualidade. O desenvolvimento de sistemas constitui a atividade de
criação ou de modificação de uma sistemática de negócio já existente, que
abrange desde a identificação de problemas ou oportunidades a serem solucionados
até o aproveitamento da implementação e do refinamento da solução escolhida.
Isto afeta todos os aspectos do desenvolvimento do projeto, utilizando modelos
para os processos e metodologias de desenvolvimento.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric; text-indent: 35.4pt;">
<span style="font-family: "Arial","sans-serif";">A
combinação de partes coordenadas, de modo que concorram para a realização de um
conjunto de objetivos é um sistema.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric; text-indent: 35.4pt;">
<span style="font-family: "Arial","sans-serif";">Neste
projeto, iremos apresentar algumas considerações sobre o objetivo da utilização
e desenvolvimento dos Sistemas de Informação nas Organizações, exibindo
informações sobre as necessidades do desenvolvimento e utilização dos sistemas,
os objetivos totais do sistema, o ambiente do sistema, recursos, componentes e
administração do sistema.</span></div>
<br />
<h1 align="center" style="margin-left: 0cm; tab-stops: 0cm; text-align: center; text-indent: 0cm;">
FUNDAMENTAÇÃO TEÓRICA</h1>
<div align="center" class="MsoBodyText" style="text-align: center;">
<br /></div>
<div align="center" class="MsoBodyText" style="text-align: center;">
<br /></div>
<h2 style="line-height: 150%; margin-bottom: .0001pt; margin: 0cm; mso-list: l1 level2 lfo2; tab-stops: 0cm; text-indent: 0cm;">
1.1 <span style="font: 7pt "Times New Roman";">
</span>Organização Empresarial no Contexto de um SI</h2>
<div class="MsoBodyText" style="line-height: 150%; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: justify;">
<br /></div>
<div class="MsoBodyText" style="line-height: 150%; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: justify;">
<br /></div>
<div class="MsoBodyText" style="line-height: 150%; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: justify;">
<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"><span style="font-family: "Arial","sans-serif";">2.1.1
Vantagens para a Organização</span></i></b></div>
<div class="MsoBodyText" style="line-height: 150%; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: justify;">
<br /></div>
<div class="MsoBodyText" style="line-height: 150%; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: justify;">
<br /></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric; text-indent: 35.45pt;">
<span lang="PT" style="font-family: "Arial","sans-serif";">A transformação dos dados em informação é a principal
função de um SI. Dentro de uma orientação de SI, os dados se tornam informação
quando são a base sobre a qual possam ser tomada decisões eficientes e
eficazes. A informação é usada para aumentar a probabilidade de que a decisão
correta seja tomada. No contexto empresarial, o SI orienta a tomada de decisão
nos 3 diferentes níveis: operacional, tático e estratégico. A informação deve
ser recebida em tempo hábil para proporcionar as representações desejadas. Pode
ser que haja informações que não são mais necessárias após certo tempo.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric; text-indent: 35.45pt;">
<span lang="PT" style="font-family: "Arial","sans-serif";">Em uma empresa, os sistemas se desenvolvem em 2
dimensões:</span></div>
<div class="MsoNormal" style="line-height: 200%; text-autospace: ideograph-numeric;">
<b style="mso-bidi-font-weight: normal;"><span lang="PT" style="font-family: "Arial","sans-serif";">Vertical:</span></b><span lang="PT" style="font-family: "Arial","sans-serif";"> componentes da empresa.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<b style="mso-bidi-font-weight: normal;"><span lang="PT" style="font-family: "Arial","sans-serif";">Horizontal:</span></b><span lang="PT" style="font-family: "Arial","sans-serif";"> níveis
de decisão na empresa.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<b style="mso-bidi-font-weight: normal;"><span lang="PT" style="font-family: "Arial","sans-serif";">Nível Estratégico:</span></b><span lang="PT" style="font-family: "Arial","sans-serif";"> gerência
de alto nível e planejamento a longo prazo pela organização. Decisões
estratégicas: ocorrem nos altos escalões da empresa, geram atos cujos efeitos
são duradouros e difíceis de serem modificadas.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<b style="mso-bidi-font-weight: normal;"><span lang="PT" style="font-family: "Arial","sans-serif";">Presidente da
companhia de petróleo:</span></b><span lang="PT" style="font-family: "Arial","sans-serif";"> que novas fontes nossa companhia pode utilizar?
Deveríamos desenvolver linhas alternativas em nossas negociações</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span lang="PT" style="font-family: "Arial","sans-serif";">para ficarmos menos dependentes do setor de energia?</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<b style="mso-bidi-font-weight: normal;"><span lang="PT" style="font-family: "Arial","sans-serif";">Secretário de
Estado:</span></b><span lang="PT" style="font-family: "Arial","sans-serif";"> que tipo de aliança produzirá melhores resultados,
assegurando uma defesa forte contra nossos concorrentes? O que significa o
último movimento militar no país X em termos de estratégia global? </span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span lang="PT" style="font-family: "Arial","sans-serif";">Informações para planejamento estratégico e alto
controle, são obtidas dos outros níveis de tomada de decisão.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<b style="mso-bidi-font-weight: normal;"><span lang="PT" style="font-family: "Arial","sans-serif";">Nível tático: </span></b><span lang="PT" style="font-family: "Arial","sans-serif";">supervisão
e planejamento de atividades rotineiras (atividades de gerência por um
determinado período).</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<b style="mso-bidi-font-weight: normal;"><span lang="PT" style="font-family: "Arial","sans-serif";">Decisões táticas:</span></b><span lang="PT" style="font-family: "Arial","sans-serif";"> ocorrem
nos escalões intermediários da empresa e geram atos de efeito a prazo mais
curto, tendo menos impacto no funcionamento da empresa.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<b style="mso-bidi-font-weight: normal;"><span lang="PT" style="font-family: "Arial","sans-serif";">Nível Operacional:</span></b><span lang="PT" style="font-family: "Arial","sans-serif";">
atividades de trabalho ou tarefas de rotina da organização.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<b style="mso-bidi-font-weight: normal;"><span lang="PT" style="font-family: "Arial","sans-serif";">Decisões
operacionais:</span></b><span lang="PT" style="font-family: "Arial","sans-serif";"> ligadas ao controle operacional da empresa, visando
alcançar os padrões de funcionamento pré-estabelecidos.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<br /></div>
<div class="MsoBodyText" style="line-height: 150%; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: justify;">
<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"><span style="font-family: "Arial","sans-serif";">2.1.2
Processo de Software nas Organizações</span></i></b></div>
<div class="MsoBodyText" style="line-height: 150%; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: justify;">
<br /></div>
<div class="MsoBodyText" style="line-height: 150%; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: justify;">
<br /></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">Um processo
de software é um conjunto de atividades e resultados associados que geram um
produto de software. Essas atividades são, em sua maioria, executadas por
desenvolvedores sistemas.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">Há 4
atividades fundamentais no processo de software:</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">1.
Especificação do Software – definição de requisitos e análise de requisitos – a
funcionalidade do software e as restrições em sua operação devem ser definidas.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">2.
Desenvolvimento do Software – projeto e implementação - o software deve ser
produzido de modo que atenda a suas especificações.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">3. Validação
do software – integração e teste - o software tem de ser validado para garantir
que ele faz o que o cliente deseja.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">4. Evolução
do software – o software deve evoluir para atender às necessidades mutáveis do
cliente.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<br /></div>
<div class="MsoBodyText" style="line-height: 150%; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: justify;">
<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"><span style="font-family: "Arial","sans-serif";">2.1.3
Organização</span></i></b></div>
<div class="MsoBodyText" style="line-height: 150%; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: justify;">
<br /></div>
<div class="MsoBodyText" style="line-height: 150%; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: justify;">
<br /></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">É uma
estrutura social estável e formal que retira recursos do ambiente e os processa
para processa para produzir resultados. Essa definição foca três elementos:
capital e trabalho são os fatores primários de produção fornecidos pelo
ambiente. A organização</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">(empresa)
transforma essas entradas em produtos e serviços por meio de uma função de
produção. Os produtos e serviços são consumidos pelos ambientes, que os
devolvem como entradas de suprimento.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">Características
Estruturais de todas as Organizações: clara divisão de trabalho, hierarquia,
regras e procedimentos explícitos, julgamentos imparciais, qualificações
técnicas para cargos, máxima eficiência organizacional.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">As
organizações podem influenciar o uso de tecnologia de informação (TI)de diversas
maneiras:</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">a) por meio
de decisões sobre as configurações técnicas e organizacionais dos sistemas.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">b) Pelas
decisões sobre quem irá projetar, montar e manter a sua infra-estrutura de TI –
essas decisões determinam como os serviços de TI serão entregues.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">Departamento
de Sistemas de Informação – é o responsável pelos serviços tecnológicos –
manutenção de equipamentos (hardware), programas (software), armazenagem de
dados e redes que compreendem a infra-estrutura de TI da empresa. Esse
departamento é composto por especialistas como: programadores, analistas de
sistemas, lideres de projeto, gerentes de</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">SI. Muitas
empresas têm um executivo-chefe de informática no comando de um departamento de
SI.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">Usuários
finais – são representantes de departamentos externos ao grupo de sistemas de
informação para quem as aplicações são desenvolvidas. </span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">Há dois tipos
de Organização:</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">a) Informal:
surge naturalmente como fruto da interação social dos seus membros. Podem
existir muitas dentro da empresa. A liderança está ligada mais às qualidades
pessoais do indivíduo do que à posição hierárquica dentro da empresa.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">b) Formal
Estrutura Organizacional é concebida como o agrupamento das atividades
necessárias para realizar objetivos e planos, a atribuição dessas atividades e
setores especializados, a delegação e coordenação da autoridade.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<br /></div>
<div class="MsoBodyText" style="line-height: 150%; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: justify;">
<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"><span style="font-family: "Arial","sans-serif";">2.1.4
Recursos envolvidos no desenvolvimento de SI nas organizações</span></i></b></div>
<div class="MsoBodyText" style="line-height: 150%; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: justify;">
<br /></div>
<div class="MsoBodyText" style="line-height: 150%; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: justify;">
<br /></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">Todos os
sistemas têm ciclo de vida bem definido, ou seja, todos eles passam pelos
estágios de:</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">• Concepção:
enfoca a questão “o que?” – o que é o sistema.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric; text-indent: 35.4pt;">
<span style="font-family: "Arial","sans-serif";">Engloba:
análise do sistema</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric; text-indent: 35.4pt;">
<span style="font-family: "Arial","sans-serif";">Planejamento
do projeto de software</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric; text-indent: 35.4pt;">
<span style="font-family: "Arial","sans-serif";">Análise
de requisitos</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">• Desenvolvimento:
enfoca a questão “como” – como implementar o sistema</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric; text-indent: 35.4pt;">
<span style="font-family: "Arial","sans-serif";">Engloba:
projeto de software</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric; text-indent: 35.4pt;">
<span style="font-family: "Arial","sans-serif";">Codificação</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric; text-indent: 35.4pt;">
<span style="font-family: "Arial","sans-serif";">Testes</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">• Manutenção:
enfoca “mudanças” – no sistema e no ambiente</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric; text-indent: 35.4pt;">
<span style="font-family: "Arial","sans-serif";">Engloba:
correção</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric; text-indent: 35.4pt;">
<span style="font-family: "Arial","sans-serif";">Adaptação</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric; text-indent: 35.4pt;">
<span style="font-family: "Arial","sans-serif";">Expansão</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<br /></div>
<div class="MsoBodyText" style="line-height: 150%; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: justify;">
<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"><span style="font-family: "Arial","sans-serif";"><br /></span></i></b></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-autospace: ideograph-numeric;">
<br /></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<b style="mso-bidi-font-weight: normal;"><span lang="PT" style="font-family: "Arial","sans-serif"; font-size: 16pt;">3- Desenvolvimento</span></b></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<br /></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"><span lang="PT" style="font-family: "Arial","sans-serif"; font-size: 14pt;">3.1 - Ferramenta
Case</span></i></b></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"><span lang="PT" style="font-family: "Arial","sans-serif"; font-size: 14pt;">3.1.1 –
Surgimento</span></i></b></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="line-height: 200%; mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: justify; text-autospace: ideograph-numeric;">
<span lang="PT" style="font-family: "Arial","sans-serif";">Na década
de </span><span style="font-family: "Arial","sans-serif";">1950, um grupo de engenheiros
mecânicos e elétricos utilizavam ferramentas manuais rudimentares na elaboração
de seus projetos, como calculadoras mecânicas, réguas de cálculo, lápis, entre
outros. Uma década após, esse grupo começou a experimentar a engenharia baseada
em computador, mas ainda com a relutância de alguns membros. Já na década de
1970, todos as fórmulas matemáticas e algoritmos de que o engenheiro
necessitava estavam num grande conjunto de programas de computador, onde se
tornou inevitável a adoção de tais ferramentas por essas pessoas, atraídas pela
eficiência de seus resultados. Assim nasceram as Ferramentas CAD (Computer -
Aided Design), utilizadas até hoje no campo da engenharia. Ainda na mesma
década, uma variante dessas ferramentas emergiria para abalar o processo de
desenvolvimento de software. As ferramentas CASE (Computer-Aided Software
Engineering), como foram denominadas, tinham como objetivo automatizar
atividades manuais pré-codificação, como Diagramas de
Entidade-Relacionamento(DER) e Diagramas de fluxo de dados (DFD).</span></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"><span lang="PT" style="font-family: "Arial","sans-serif"; font-size: 14pt;">3.1.2 –
Características</span></i></b></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify;">
<span lang="PT" style="font-family: "Arial","sans-serif";">Uma ferramenta
case possui como base as seguintes características:</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 18.0pt; text-align: justify;">
<span lang="PT" style="font-family: "Arial","sans-serif";">- Armazenamento não redundante de objetos do projeto.</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 18.0pt; text-align: justify;">
<span lang="PT" style="font-family: "Arial","sans-serif";">- Acesso de alto nível.</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 18.0pt; text-align: justify;">
<span lang="PT" style="font-family: "Arial","sans-serif";">- Independência dos dados físicos.</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 18.0pt; text-align: justify;">
<span lang="PT" style="font-family: "Arial","sans-serif";">- Controlo de transações.</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 18.0pt; text-align: justify;">
<span lang="PT" style="font-family: "Arial","sans-serif";">- Segurança.</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 18.0pt; text-align: justify;">
<span lang="PT" style="font-family: "Arial","sans-serif";">- Consultas e relatórios ad-hoc.</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 18.0pt; text-align: justify;">
<span lang="PT" style="font-family: "Arial","sans-serif";">- Mecanismos de exportação/ importação.</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 18.0pt; text-align: justify;">
<span lang="PT" style="font-family: "Arial","sans-serif";">- Suporte multi-utilizador.</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 18.0pt; text-align: justify;">
<span lang="PT" style="font-family: "Arial","sans-serif";">- Armazenamento de estruturas de dados sofisticadas.</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 18.0pt; text-align: justify;">
<span lang="PT" style="font-family: "Arial","sans-serif";">- Imposição de integridade.</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 18.0pt; text-align: justify;">
<span lang="PT" style="font-family: "Arial","sans-serif";">- Interface de ferramentas ricas em termos semânticos.</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 18.0pt; text-align: justify;">
<span lang="PT" style="font-family: "Arial","sans-serif";">- Gestão de processos e projetos.</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 18.0pt; text-align: justify;">
<span lang="PT" style="font-family: "Arial","sans-serif";">- Versões, gestão de dependências, controle das mudanças.</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 18.0pt; text-align: justify;">
<span lang="PT" style="font-family: "Arial","sans-serif";">- Acompanhamento de requisitos.</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 18.0pt; text-align: justify;">
<span lang="PT" style="font-family: "Arial","sans-serif";">- Auditorias.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"><span lang="PT" style="font-family: "Arial","sans-serif"; font-size: 14pt;">3.1.3 –
Classificação</span></i></b></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="line-height: 200%; mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">As ferramentas CASE podem ser classificadas:</span></div>
<div class="MsoNormal" style="line-height: 200%; mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: justify; text-autospace: ideograph-numeric; text-indent: 35.4pt;">
<span style="font-family: "Arial","sans-serif";">- pelo seu uso nas várias etapas do processo de
Engenharia de Software;</span></div>
<div class="MsoNormal" style="line-height: 200%; mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: justify; text-autospace: ideograph-numeric; text-indent: 35.4pt;">
<span style="font-family: "Arial","sans-serif";">- por função, ou seja, por seus papéis como
instrumentos para os profissionais da área de informática;</span></div>
<div class="MsoNormal" style="line-height: 200%; mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">- pela arquitetura do ambiente que as suporta;</span></div>
<div class="MsoNormal" style="line-height: 200%; mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">- pelo seu preço</span></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"><span lang="PT" style="font-family: "Arial","sans-serif"; font-size: 14pt;">3.1.4 –
Requisitos</span></i></b></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-indent: 35.4pt;">
<span style="font-family: "Arial","sans-serif";">A captura dos requisitos
do sistema junto ao usuário é um pouco diferenciada pois, os usuários de ferramentas CASE são
desenvolvedores sendo assim não são tão
bem definidos quanto os usuários de um aplicação comum.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify;">
<span style="font-family: "Arial","sans-serif";">Membros de equipes de marketing também
auxiliam no processo, pois se trata de um produto dirigido a “mercado”.</span></div>
<div class="MsoNormal" style="line-height: 200%; text-align: justify; text-indent: 35.4pt;">
<span style="font-family: "Arial","sans-serif";">O processo desta fase se
dá basicamente por meio de atividades macro:</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 54.0pt; text-align: justify;">
<span style="font-family: "Arial","sans-serif";">- Análise do mercado</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 54.0pt; text-align: justify;">
<span style="font-family: "Arial","sans-serif";">- Análise de documentação
de ferramentas similares existentes</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 54.0pt; text-align: justify;">
<span style="font-family: "Arial","sans-serif";">- Testes sobre as
ferramentas similares existentes</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 54.0pt; text-align: justify;">
<span style="font-family: "Arial","sans-serif";">- Elaboração e aplicação
de questionários (na forma de ciclo de questões) que deverão ser respondidos
pelos desenvolvedores e pessoal de marketing</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"><span lang="PT" style="font-family: "Arial","sans-serif"; font-size: 14pt;">3.1.5 – Arquitetura</span></i></b></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal" style="line-height: 200%; text-indent: 35.4pt;">
<span style="font-family: "Arial","sans-serif";">Uma ferramenta CASE deve ser flexível,
com arquitetura modular para facilitar sua configuração para diferentes
propósitos. A arquitetura deve ser baseada em:</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 54.0pt;">
<span style="font-family: "Arial","sans-serif";">- Componentes: que representam os
subsistemas principais e objetos da ferramenta;</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 54.0pt; tab-stops: 72.0pt;">
<span style="font-family: "Arial","sans-serif";">- Mecanismos de interação (tecnologia
de integração): que representam a forma como os componentes interagem, trocam
informações e afetam uns aos outros;</span></div>
<div class="MsoNormal" style="line-height: 200%; margin-left: 54.0pt; tab-stops: 72.0pt;">
<br /></div>
<div class="MsoNormal" style="tab-stops: 54.0pt;">
<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"><span style="font-family: "Arial","sans-serif"; font-size: 14pt;">3.1.6 Custos</span></i></b></div>
<div class="MsoNormal" style="line-height: 200%; mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: justify; text-autospace: ideograph-numeric;">
<br /></div>
<div class="MsoNormal" style="line-height: 200%; mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";">Aquisição de produtos CASE (hardware, software e recursos
de rede).</span></div>
<div class="MsoNormal" style="line-height: 200%; mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";"> Treinamento
da equipe no uso de ferramentas CASE e no uso da metodologia de engenharia de
software.</span></div>
<div class="MsoNormal" style="line-height: 200%; mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";"> Adaptação
das ferramentas CASE para atender aos padrões e procedimentos existentes.</span></div>
<div class="MsoNormal" style="line-height: 200%; mso-hyphenate: auto; mso-pagination: widow-orphan; text-align: justify; text-autospace: ideograph-numeric;">
<span style="font-family: "Arial","sans-serif";"> Custos
contínuos para a aquisição e instalação de novos releases do software.</span></div>
<div class="MsoNormal" style="tab-stops: 54.0pt;">
<br /></div>
<div class="MsoNormal" style="tab-stops: 54.0pt;">
<br /></div>
<div class="MsoNormal" style="tab-stops: 54.0pt;">
<br /></div>
<div class="MsoNormal" style="tab-stops: 54.0pt;">
<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"><span style="font-family: "Arial","sans-serif"; font-size: 14pt;">3.1.7 Benefícios</span></i></b></div>
<div class="MsoNormal" style="line-height: 200%; tab-stops: 54.0pt; text-align: justify;">
<br /></div>
<div class="MsoNormal" style="line-height: 200%; tab-stops: 54.0pt; text-align: justify;">
<span style="font-family: "Arial","sans-serif";"> Este
tipo de ferramenta possui como benefícios um aumento na capacidade das pessoas
de garantir a qualidade com a continua melhoria do processo de desenvolvimento,
além da produção de sistemas com maior
qualidade, de fácil manutenção, com uma documentação melhor e uma
redução nos custos.</span></div>
<div class="MsoNormal" style="tab-stops: 54.0pt;">
<span style="font-family: "Arial","sans-serif";"> </span></div>
<div align="center" class="MsoNormal" style="tab-stops: 54.0pt; text-align: center;">
<br /></div>
<div align="center" class="MsoNormal" style="tab-stops: 54.0pt; text-align: center;">
<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"><span style="font-family: "Arial","sans-serif"; font-size: 16pt;">4 – Conclusão</span></i></b></div>
<div align="center" class="MsoNormal" style="tab-stops: 54.0pt; text-align: center;">
<br /></div>
<div class="MsoNormal" style="line-height: 200%; tab-stops: 54.0pt; text-align: justify;">
<span style="color: black; font-family: "Arial","sans-serif";"> Os Sistemas de Informação são peça fundamental para
as empresas, não apenas na elaboração de relatórios, mas fazem parte de todos
os departamentos e atividades da companhia, desde o simples controle até a
confecção de planos estratégicos complexos. Tudo que acontece, todos processos,
são regidos por um sistema, que pode ou não ser informatizado. Mais uma vez,
deve ser considerada a importância do administrador nesse processo, que é nada
menos que vital para a corporação. </span></div>
<div class="MsoNormal" style="line-height: 200%; tab-stops: 54.0pt; text-align: justify;">
<span style="color: black; font-family: "Arial","sans-serif";"> Mais do que um modismo, a tecnologia deve ser
compreendida como uma ferramenta, um dos diversos métodos para assegurar
qualidade, competitividade, redução de custos e principalmente, satisfazer os
desejos e anseios dos clientes, que são a verdadeira razão de ser das empresas.</span></div>
<div class="MsoNormal" style="line-height: 200%; tab-stops: 54.0pt; text-align: justify;">
<br /></div>
<div align="center" class="MsoNormal" style="tab-stops: 54.0pt; text-align: center;">
<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"><span style="font-family: "Arial","sans-serif"; font-size: 16pt;">Bibliografia:</span></i></b>
</div>
<div align="center" class="MsoNormal" style="tab-stops: 54.0pt; text-align: center;">
<br /></div>
<div class="MsoNormal" style="tab-stops: 54.0pt;">
<span style="font-family: "Arial","sans-serif";">Anacleto,
Junia Coutinho. </span><a href="http://www.ufscar.br/">Universidade Federal de
São Carlos</a><span style="font-family: "Arial","sans-serif";">. Disponível em: </span><span style="font-family: "Arial","sans-serif";">http://www.dc.ufscar.br/~junia/index-isi.htm.</span><span style="font-family: "Arial","sans-serif";"> Acesso em 13/10/2006</span></div>
<div class="MsoNormal" style="tab-stops: 54.0pt;">
<br /></div>
<div class="MsoNormal" style="tab-stops: 54.0pt;">
<span style="font-family: "Arial","sans-serif";">Anquetil,
Nicolas. Disponível em htt://mestradoinfo.ucb.br/prof/anquetil/disciplinas.html</span></div>
<div class="MsoNormal" style="tab-stops: 54.0pt;">
<span style="font-family: "Arial","sans-serif";">Acesso em
13/10/2006</span></div>
<div class="MsoNormal" style="tab-stops: 54.0pt;">
<br /></div>
<div class="MsoNormal" style="tab-stops: 54.0pt;">
<span style="font-family: "Arial","sans-serif";">Moresi,
Eduardo Amadeu. Disponível em </span><span style="font-family: "Arial","sans-serif";">http://www.scielo.br/scielo.php?script=sci_arttext&pid=S01009652000000100002&lng=es&nrm=iso</span></div>
<div class="MsoNormal" style="tab-stops: 54.0pt;">
<span style="font-family: "Arial","sans-serif";">Acesso em
13/10/2006</span></div>
okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-55350483928255076682011-08-06T12:16:00.000-03:002011-08-26T19:05:47.573-03:00Criando um tipo de dado Avançado em Delphi - Parte 5Dando sequência a serie de artigos <b><i>Criando um tipo de dado Avançado em Delphi</i> </b>(confira aqui a <a href="http://evaldoavelar.blogspot.com/2011/08/criando-um-tipo-de-dados-avancado-em.html">parte1</a> a <a href="http://evaldoavelar.blogspot.com/2011/08/delphilazarus2.html">parte 2</a> a <a href="http://evaldoavelar.blogspot.com/2011/08/criando-um-tipo-de-dado-avancado-em.html">parte 3</a> e a <a href="http://evaldoavelar.blogspot.com/2011/08/criando-um-tipo-de-dado-avancado-em_1961.html">parte 4 </a>)<b><i>, </i></b>iremos implementar hoje a unit <b>untTEAMSystem </b>que ira conter um tipo de dado que executa operações do sistema, como retornar a versão do executável, abrir um diretório com o explorer, abrir um arquivo com o notepad.<br />
<br />
Abra o Delphi (neste artigo fora utilizado o Delphi 2007) e adicione uma nova unit e salve-a como <b>untTEAMSystem </b>:<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-s8F2LorIji4/TjmDpHvnJ4I/AAAAAAAABAU/_R8ZmSPBSQ0/s1600/Nova+Unit.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="217" src="http://1.bp.blogspot.com/-s8F2LorIji4/TjmDpHvnJ4I/AAAAAAAABAU/_R8ZmSPBSQ0/s320/Nova+Unit.jpg" width="320" /></a></div>
<br />
Adicione os tipos a seguir:<br />
<br />
<pre class="delphi" name="code">TEAMAplication = record
private
public
function GetVersionInfo: string;
function FileVersionInfo(Arquivo: string): string;
procedure AbrirArquivoComNotePad(path: string);
procedure AbrirExplorer(path: string);
function DiretorioAplicacao: string;
function ExecAndWait(const FileName, Params: string; const WindowState:
Word): boolean;
function ListarArquivos(Diretorio, Extencao: string; SubDiretorio: Boolean): TStringList;
function ListarNomesArquivos(Diretorio, Extencao: string; SubDiretorio: Boolean): TStringList;
function AppIsRunning(ActivateIt: boolean): Boolean;
function CriaSubDiretorios(const NomeSubDir: string): boolean;
function GetLocalUserName: string;
function LastModify: string;
end;
</pre>
<br />
Como você pode observar não temos nenhum campo value, por que este dado ira agrupar apenas métodos para operações da aplicação.<br />
vamos a implementação:<br />
<br />
<pre class="delphi" name="code">unit untTEAMSystem;
interface
uses untTEAMString, Windows, SysUtils, dialogs, Forms, Graphics,
Controls, ShellApi, Classes;
type
{$REGION 'Tipos'}
SizeInt = Integer;
TStatusControle = (Editar, Navegar);
{$ENDREGION}
{$REGION 'Aplicação - TEAMAplication'}
TEAMAplication = record
private
public
function GetVersionInfo: string;
function FileVersionInfo(Arquivo: string): string;
procedure AbrirArquivoComNotePad(path: string);
procedure AbrirExplorer(path: string);
function DiretorioAplicacao: string;
function ExecAndWait(const FileName, Params: string; const WindowState:
Word): boolean;
function ListarArquivos(Diretorio, Extencao: string; SubDiretorio: Boolean): TStringList;
function ListarNomesArquivos(Diretorio, Extencao: string; SubDiretorio: Boolean): TStringList;
function AppIsRunning(ActivateIt: boolean): Boolean;
function CriaSubDiretorios(const NomeSubDir: string): boolean;
function GetLocalUserName: string;
function LastModify: string;
end;
{$ENDREGION}
const
strWindowsNotepade: string = 'c:\windows\notepad.exe';
implementation
{ TCSTSystemExecute }
{-------------------------------------------------------------------------------
Procedure: TEAMAplication.GetLocalUserName
Arguments: None
Result: string
Objetivo: Retornar o usuario logado no windows
-------------------------------------------------------------------------------}
function TEAMAplication.GetLocalUserName: string;
procedure StrResetLength(var S: AnsiString);
var
I: SizeInt;
begin
for I := 1 to Length(S) do
if S[I] = #0 then
begin
SetLength(S, I);
Exit;
end;
end;
var
Count: DWORD;
begin
Count := 256 + 1; // UNLEN + 1
// set buffer size to 256 + 2 characters
{ TODO : Win2k solution }
SetLength(Result, Count);
if GetUserName(PChar(Result), Count) then
StrResetLength(Result)
else
Result := '';
end;
{-------------------------------------------------------------------------------
Procedure: TEAMAplication.AbrirArquivoComNotePad
Arguments: path: string
Result: None
Objetivo: Abrir um arquivo usando o notepad
-------------------------------------------------------------------------------}
procedure TEAMAplication.AbrirArquivoComNotePad(path: string);
begin
ShellExecute(0, 'open', pchar(Strwindowsnotepade), pchar(path), nil, SW_MAXIMIZE);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMAplication.AbrirExplorer
Arguments: path: string
Result: None
Objetivo: Abrir o Explorer mostrando uma pasta
-------------------------------------------------------------------------------}
procedure TEAMAplication.AbrirExplorer(path: string);
begin
ShellExecute(Application.Handle, PChar('open'), PChar('explorer.exe'),
PChar(path), nil, SW_NORMAL);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMAplication.AppIsRunning
Arguments: ActivateIt: boolean
Result: Boolean
Objetivo: Verificar se há uma instancia da aplicação rodando
-------------------------------------------------------------------------------}
function TEAMAplication.AppIsRunning(ActivateIt: boolean): Boolean;
var
hSem: THandle;
hWndMe: HWnd;
AppTitle: string;
begin
Result := False;
AppTitle := Application.Title;
hSem := CreateSemaphore(nil, 0, 1, pChar(AppTitle));
if ((hSem <> 0) and (GetLastError() = ERROR_ALREADY_EXISTS)) then
begin
CloseHandle(hSem);
Result := True;
end;
if Result and ActivateIt then
begin
Application.Title := 'zzzzzzz';
hWndMe := FindWindow(nil, pChar(AppTitle));
if (hWndMe <> 0) then
begin
if IsIconic(hWndMe) then
begin
ShowWindow(hWndMe, SW_SHOWNORMAL);
end
else
begin
SetForegroundWindow(hWndMe);
end;
end;
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMAplication.CriaSubDir
Arguments: const NomeSubDir: string
Result: boolean
Objetivo: Criar um ou vários sub-diretórios
-------------------------------------------------------------------------------}
function TEAMAplication.CriaSubDiretorios(const NomeSubDir: string): boolean;
begin
if DirectoryExists(NomeSubDir) then
Result := true
else
Result := ForceDirectories(NomeSubDir);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMAplication.DiretorioAplicacao
Arguments: None
Result: string
Objetivo: Retornar o diretório da aplicação
-------------------------------------------------------------------------------}
function TEAMAplication.DiretorioAplicacao: string;
begin
result := ExtractFilePath(Application.ExeName);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMAplication.ExecAndWait
Arguments: const FileName, Params: string; const WindowState: Word
Result: boolean
Objetivo: Execultar e esperar o termino da execução de um exe
-------------------------------------------------------------------------------}
function TEAMAplication.ExecAndWait(const FileName, Params: string;
const WindowState: Word): boolean;
var
SUInfo: TStartupInfo;
ProcInfo: TProcessInformation;
CmdLine: string;
begin
{ Coloca o nome do arquivo entre aspas. Isto é necessário devido aos espaços contidos em nomes longos }
CmdLine := '"' + Filename + '"' + Params;
FillChar(SUInfo, SizeOf(SUInfo), #0);
with SUInfo do
begin
cb := SizeOf(SUInfo);
dwFlags := STARTF_USESHOWWINDOW;
wShowWindow := WindowState;
end;
Result := CreateProcess(nil, PChar(CmdLine), nil, nil, false,
CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil,
PChar(ExtractFilePath(Filename)), SUInfo, ProcInfo);
{ Aguarda até ser finalizado }
if Result then
begin
WaitForSingleObject(ProcInfo.hProcess, INFINITE);
{ Libera os Handles }
CloseHandle(ProcInfo.hProcess);
CloseHandle(ProcInfo.hThread);
end;
end;
function TEAMAplication.FileVersionInfo(Arquivo: string): string;
begin
end;
{-------------------------------------------------------------------------------
Procedure: TEAMAplication.GetVersionInfo
Arguments: None
Result: string
Objetivo: Retornar a versao da aplicação
-------------------------------------------------------------------------------}
function TEAMAplication.GetVersionInfo: string;
type
PFFI = ^vs_FixedFileInfo;
var
F: PFFI;
Handle: Dword;
Len: Longint;
Data: Pchar;
Buffer: Pointer;
Tamanho: Dword;
Parquivo: Pchar;
Arquivo: string;
begin
Arquivo := Application.ExeName;
Parquivo := StrAlloc(Length(Arquivo) + 1);
StrPcopy(Parquivo, Arquivo);
Len := GetFileVersionInfoSize(Parquivo, Handle);
Result := '';
if Len > 0 then
begin
Data := StrAlloc(Len + 1);
if GetFileVersionInfo(Parquivo, Handle, Len, Data) then
begin
VerQueryValue(Data, '\', Buffer, Tamanho);
F := PFFI(Buffer);
Result := Format('%d.%d.%d.%d',
[HiWord(F^.dwFileVersionMs),
LoWord(F^.dwFileVersionMs),
HiWord(F^.dwFileVersionLs),
Loword(F^.dwFileVersionLs)]
);
end;
StrDispose(Data);
end;
StrDispose(Parquivo);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMAplication.LastModify
Arguments: None
Result: string
Objetivo: Retornar a data da ultima modificação do execultavel
-------------------------------------------------------------------------------}
function TEAMAplication.LastModify: string;
var
FileH: THandle;
LocalFT: TFileTime;
DosFT: DWORD;
LastAccessedTime: TDateTime;
FindData: TWin32FindData;
begin
Result := '';
FileH := FindFirstFile(PChar(Application.ExeName), FindData);
if FileH <> INVALID_HANDLE_VALUE then
begin
// Windows.FindClose(nil);
if (FindData.dwFileAttributes and
FILE_ATTRIBUTE_DIRECTORY) = 0 then
begin
FileTimeToLocalFileTime(FindData.ftLastWriteTime, LocalFT);
FileTimeToDosDateTime(LocalFT, LongRec(DosFT).Hi, LongRec(DosFT).Lo);
LastAccessedTime := FileDateToDateTime(DosFT);
Result := DateTimeToStr(LastAccessedTime);
end;
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMAplication.ListarArquivos
Arguments: Diretorio, Extencao: string; SubDiretorio: Boolean
Result: TStringList
Objetivo: Listar os arquivo contidos em um diretório e/ou Subdiretório
-------------------------------------------------------------------------------}
function TEAMAplication.ListarArquivos(Diretorio, Extencao: string;
SubDiretorio: Boolean): TStringList;
function TemAtributo(Attr, Val: Integer): Boolean;
begin
Result := (Attr and Val = Val);
end;
var
F: TSearchRec;
Ret: Integer;
TempNome: string;
begin
Result := TStringList.Create;
Ret := FindFirst(Diretorio + '\*.*', faAnyFile, F);
try
while Ret = 0 do
begin
if TemAtributo(F.Attr, faDirectory) then
begin
if (F.Name <> '.') and (F.Name <> '..') then
if SubDiretorio then
begin
TempNome := Diretorio + '\' + F.Name;
Result.AddStrings(ListarArquivos(TempNome, Extencao, True));
end;
end
else
begin
if Pos(Extencao, LowerCase(f.Name)) > 0 then
Result.Add(Diretorio + '\' + F.Name);
end;
Ret := FindNext(F);
end;
finally
begin
FindClose(F);
end;
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMAplication.ListarNomesArquivos
Arguments: Diretorio, Extencao: string; SubDiretorio: Boolean
Result: TStringList
Objetivo: Lista todos os arquivos de um diretório de acordo com a extenção
-------------------------------------------------------------------------------}
function TEAMAplication.ListarNomesArquivos(Diretorio, Extencao: string;
SubDiretorio: Boolean): TStringList;
var
I: Integer;
Arq: TEAMString;
begin
result := self.ListarArquivos(Diretorio, Extencao, SubDiretorio);
for I := 0 to result.Count - 1 do
begin
Arq.text := Result[i];
Result[i] := Arq.SubString(arq.SearchRigth('\') + 1, arq.Count + 1);
end;
end;
{$ENDREGION}
end.
</pre>
<br />
Adicione alguns edits e um TlistBox para o formulário de teste como abaixo:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-SdhDs7AWGAA/Tjv3ycQFYyI/AAAAAAAABBc/NDhcxUtKiTo/s1600/Formulario+system.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://3.bp.blogspot.com/-SdhDs7AWGAA/Tjv3ycQFYyI/AAAAAAAABBc/NDhcxUtKiTo/s320/Formulario+system.jpg" width="265" /></a></div>
<br />
Adicione o seguinte código no onCLick do botão "ok" :<br />
<br />
<pre class="delphi" name="code">procedure TForm1.btn1Click(Sender: TObject);
var
APP : TEAMAplication;
begin
edtGetVersionInfo.Text := APP.GetVersionInfo;
edtDiretorioAplicacao.Text := APP.DiretorioAplicacao;
edtGetLocalUserName.Text := APP.GetLocalUserName;
lstListarArquivos.Items.Text := APP.ListarArquivos('c:\windows\system32','.dll',False).Text;
end ;
</pre>
<br />
Execute a aplicação e observe o resultado:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-1Uij9nSGLlA/Tjv3y0G4l0I/AAAAAAAABBg/3vdMEb3OV2c/s1600/Resultado+System.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://4.bp.blogspot.com/-1Uij9nSGLlA/Tjv3y0G4l0I/AAAAAAAABBg/3vdMEb3OV2c/s320/Resultado+System.jpg" width="264" /></a></div>
<br />
<br />
Assim finalizamos está série de posts. Analisamos e apreciamos todo o poder do record em pascal, organizamos mais o nosso código e ganhamos em produtividade. Aprendemos que não precisamos de dezenas de units com várias funções em vários lugares, podemos centralizar tudo em uma unica unit organizada, salva-la em um diretório e apenas adiciona-la ao projeto em que estamos trabalhando e usar.<br />
<br />
Agora aproveite para exercitar o seu poder de programador para melhorar alguns métodos e adicionar novos e não deixe de nos enviar o seu código. "Compartilhar atrai amigos. Competir atrai inimigos"<br />
<br />
<script src="http://widgets.amung.us/tab.js" type="text/javascript">
</script><script type="text/javascript">
WAU_tab('hxq4ocjwkckf', 'left-middle')
</script>okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com1tag:blogger.com,1999:blog-3026339537188848549.post-26635670753011164552011-08-05T11:19:00.000-03:002011-08-05T15:18:15.684-03:00Criando um tipo de dado Avançado em Delphi - Parte 4Dando sequência a serie de artigos <b><i>Criando um tipo de dado Avançado em Delphi</i> </b>(confira aqui a <a href="http://evaldoavelar.blogspot.com/2011/08/criando-um-tipo-de-dados-avancado-em.html">parte1</a> a <a href="http://evaldoavelar.blogspot.com/2011/08/delphilazarus2.html">parte 2</a> e a <a href="http://evaldoavelar.blogspot.com/2011/08/criando-um-tipo-de-dado-avancado-em.html">parte 3</a> )<b><i>, </i></b>iremos implementar hoje a unit <b>untTEAMDateTime </b>que ira conter os tipos para se trabalhar com Date, Time e DateTime.<br />
<br />
Abra o Delphi (neste artigo fora utilizado o Delphi 2007) e adicione uma nova unit e salve-a como <b>untTEAMDateTime</b>:<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-s8F2LorIji4/TjmDpHvnJ4I/AAAAAAAABAU/_R8ZmSPBSQ0/s1600/Nova+Unit.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="217" src="http://1.bp.blogspot.com/-s8F2LorIji4/TjmDpHvnJ4I/AAAAAAAABAU/_R8ZmSPBSQ0/s320/Nova+Unit.jpg" width="320" /></a></div>
<br />
Adicione os tipos a seguir:<br />
<br />
<pre class="delphi" name="code">unit untTEAMDateTime;
interface
uses untTEAMString, untTEAMNumeric, DateUtils, SysUtils, Controls;
type
{$REGION 'TCSTDate '}
TCSTDate = record
public
Value: TDateTime;
end;
{$ENDREGION}
{$REGION 'TCSTTime'}
TEAMTime = record
public
Value: TDateTime;
end;
{$ENDREGION}
implementation
end.
</pre>
<br />
O campo "Value" nos dois records ira armazenar o conteúdo do nosso dado para que possamos aplicar as operações.<br />
Como fizemos na unit untTEAMNumeric, vamos aproveitar aqui também os tipos TEAMString da <a href="http://evaldoavelar.blogspot.com/2011/08/delphilazarus2.html">untTEAMString </a>e o TEAMInteger da<a href="http://evaldoavelar.blogspot.com/2011/08/criando-um-tipo-de-dado-avancado-em.html"> untTEAMNumeric</a> em alguns métodos. Vamos a listagem:<br />
<br />
<pre class="delphi" name="code">$REGION ' TEAMDate'}
TEAMDate = record
public
Value: TDateTime;
function ToString: TEAMString;
function ToSqlServerFormat: TEAMString;
function Date: TDate;
function Formatar(Formato: string): TEAMString;
function ToExtenco: TEAMString;
function MesToExtenco: TEAMString;
function DiaDaSemanaExtenco: TEAMString;
function GetDia: TEAMinteger;
function GetMes: TEAMinteger;
function GetAno: TEAMinteger;
function GetDiaSemana: TEAMinteger;
function GetPrimeiroDiaMes: TEAMinteger;
function GetUltimoDiaMes: TEAMinteger;
procedure ADDMes(Meses: Integer);
function DiasNoMes: TEAMinteger;
function isAnoBiSexto: Boolean;
function isFimDeSemana: Boolean;
function INDates(DataInicial, DataFinal: Tdate): Boolean;
procedure AddDias(NumDias: Integer);
procedure SubDias(NumDias: Integer);
procedure Encode(Dia, mes, ano: Word);
procedure EncodeFromString(Data: string);
procedure ReplaceTimer;
procedure SetDateNow;
end;
{$ENDREGION}
{$REGION ' TEAMTime'}
TEAMTime = record
public
Value: TDateTime;
function ToString: TEAMString;
function DataHoraString: TEAMString;
function Formatar(Formato: string): TEAMString;
function GetHora: TEAMString;
function GetMinutos: TEAMString;
function GetSegundos: TEAMString;
function ToExtenco: TEAMString;
function ToMinutos: Integer;
end;
{$ENDREGION}
</pre>
<br />
A maioria dos métodos para Data/Hora estão presentes. Alguns muitos úteis como retornar o último dia do mês, adicionar dias a data, verificar se a data é final de semana, etc. Sinta-se a vontade para adicionar outros que achar nescessário. O próximo passo é a implementação dos métodos.<br />
Veja a listagem completa da nossa unit:<br />
<br />
<pre class="delphi" name="code">unit untTEAMDateTime;
interface
uses untTEAMString, untTEAMNumeric, DateUtils, SysUtils, Controls;
type
{$REGION ' TEAMDate'}
TEAMDate = record
public
Value: TDateTime;
function ToString: TEAMString;
function ToSqlServerFormat: TEAMString;
function Date: TDate;
function Formatar(Formato: string): TEAMString;
function ToExtenco: TEAMString;
function MesToExtenco: TEAMString;
function DiaDaSemanaExtenco: TEAMString;
function GetDia: TEAMinteger;
function GetMes: TEAMinteger;
function GetAno: TEAMinteger;
function GetDiaSemana: TEAMinteger;
function GetPrimeiroDiaMes: TEAMinteger;
function GetUltimoDiaMes: TEAMinteger;
procedure ADDMes(Meses: Integer);
function DiasNoMes: TEAMinteger;
function isAnoBiSexto: Boolean;
function isFimDeSemana: Boolean;
function INDates(DataInicial, DataFinal: Tdate): Boolean;
procedure AddDias(NumDias: Integer);
procedure SubDias(NumDias: Integer);
procedure Encode(Dia, mes, ano: Word);
procedure EncodeFromString(Data: string);
procedure ReplaceTimer;
procedure SetDateNow;
end;
{$ENDREGION}
{$REGION ' TEAMTime'}
TEAMTime = record
public
Value: TDateTime;
function ToString: TEAMString;
function DataHoraString: TEAMString;
function Formatar(Formato: string): TEAMString;
function GetHora: TEAMString;
function GetMinutos: TEAMString;
function GetSegundos: TEAMString;
function ToExtenco: TEAMString;
function ToMinutos: Integer;
end;
{$ENDREGION}
implementation
{$REGION 'TEAMDate'}
{ TEAMDate }
{-------------------------------------------------------------------------------
Procedure: TEAMDate.AddDias
Arguments: NumDias: Integer
Result: None
Objetivo: Adicionar dias para a data
-------------------------------------------------------------------------------}
procedure TEAMDate.AddDias(NumDias: Integer);
begin
Self.Value := IncDay(Self.Value, NumDias);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.INDates
Arguments: DataInicial, DataFinal: Tdate
Result: Boolean
Objetivo: Testar se uma data está em um intervalo
-------------------------------------------------------------------------------}
function TEAMDate.INDates(DataInicial, DataFinal: Tdate): Boolean;
begin
Result := ((CompareDate(Self.Value, DataInicial) >= 0)
and (CompareDate(Self.Value, DataFinal) <= 0));
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.DiaDaSemanaExtenco
Arguments: None
Result: TEAMString
Objetivo: Retornar o dia em extenço
-------------------------------------------------------------------------------}
function TEAMDate.DiaDaSemanaExtenco: TEAMString;
const
semana: array[1..7] of string = ('Domingo', 'Segunda-feira', 'Terça-feira', 'Quarta-feira', 'Quinta-feira', 'Sexta-feira', 'Sábado');
begin
Result.Text := semana[DayOfWeek(Self.Value)]
end;
function TEAMDate.Date: TDate;
begin
result := Self.Value;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.DiasNoMes
Arguments: None
Result: Integer
Objetivo: Retornar o numero de dias no mes
-------------------------------------------------------------------------------}
function TEAMDate.DiasNoMes: TEAMinteger;
const
DaysInMonth: array[1..12] of Integer = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
begin
Result.Value := DaysInMonth[Self.GetMes.Value];
if (Self.GetMes.Value = 2) and Self.isAnoBiSexto then
Inc(Result.Value);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.Encode
Arguments: Ano mes e dia
Result: nenhum
Objetivo: Transforma o dia,mes e ano em uma data
-------------------------------------------------------------------------------}
procedure TEAMDate.Encode(Dia, mes, ano: Word);
begin
Self.Value := EncodeDate(ano, mes, dia);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.EncodeFromString
Arguments: Data: string
Result: None
Objetivo: Conveter uma string para uma data
-------------------------------------------------------------------------------}
procedure TEAMDate.EncodeFromString(Data: string);
begin
Self.Value := StrToDate(data);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.Formatar
Arguments: Formato: string
Result: TEAMString
Objetivo: Retornar a data formatada de acordo com o parametro passado
-------------------------------------------------------------------------------}
function TEAMDate.Formatar(Formato: string): TEAMString;
begin
Result.Text := FormatDateTime(Formato, Self.Value);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.GetAno
Arguments: None
Result: Integer
Objetivo: Retornar o ano
-------------------------------------------------------------------------------}
function TEAMDate.GetAno: TEAMinteger;
var
ano, mes, dia: Word;
begin
DecodeDate(Self.Value, ano, mes, dia);
Result.Value := ano;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.GetDia
Arguments: None
Result: Integer
Objetivo: Retornar o dia
-------------------------------------------------------------------------------}
function TEAMDate.GetDia: TEAMinteger;
var
ano, mes, dia: Word;
begin
DecodeDate(Self.Value, ano, mes, dia);
Result.Value := dia;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.GetDiaSemana
Arguments: None
Result: Integer
Objetivo: Retornar o dia da semana
-------------------------------------------------------------------------------}
function TEAMDate.GetDiaSemana: TEAMinteger;
begin
Result.Value := DayOfTheWeek(Self.Value)
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.GetMes
Arguments: None
Result: Integer
Objetivo: Retornar o mes da data
-------------------------------------------------------------------------------}
function TEAMDate.GetMes: TEAMinteger;
var
ano, mes, dia: Word;
begin
DecodeDate(Self.Value, ano, mes, dia);
Result.Value := mes;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.GetPrimeiroDiaMes
Arguments: Nenhum
Result: Nenhum
Objetivo: Retornar o primeiro dia do mes
-------------------------------------------------------------------------------}
function TEAMDate.GetPrimeiroDiaMes: TEAMinteger;
begin
Result.Value := 1;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.GetUltimoDiaMes
Arguments: Nenhum
Result: Nenhum
Objetivo: Retornar o ultimo dia do mes
-------------------------------------------------------------------------------}
function TEAMDate.GetUltimoDiaMes: TEAMinteger;
var
ano, mes, dia: word;
temp: TDate;
begin
DecodeDate(Self.Value, ano, mes, dia);
mes := mes + 1;
if mes = 13 then
begin
mes := 1;
ano := ano + 1;
end;
temp := EncodeDate(ano, mes, 1) - 1;
Result.Value := DayOf(temp);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.ADDMes
Arguments: Meses: Integer
Result: None
Objetivo: Adicionar um numero de meses a data
-------------------------------------------------------------------------------}
procedure TEAMDate.ADDMes(Meses: Integer);
begin
Self.Value := IncMonth(Self.Value, Meses);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.isAnoBiSexto
Arguments: None
Result: Boolean
Objetivo: Retornar se o ano é bissexto
-------------------------------------------------------------------------------}
function TEAMDate.isAnoBiSexto: Boolean;
begin
Result := (Self.GetAno.Value mod 4 = 0) and ((Self.GetAno.Value mod 100 <> 0) or (Self.GetAno.Value mod 400 = 0));
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.isFimDeSemana
Arguments: None
Result: Boolean
Objetivo: Retorna se a data é um fim de semana
-------------------------------------------------------------------------------}
function TEAMDate.isFimDeSemana: Boolean;
{Verifica se uma data informada cai em um final de semana}
begin
if DayOfWeek(Self.Value) in [1, 7] then
result := true
else
result := false;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.MesToExtenco
Arguments: None
Result: TEAMString
Objetivo: Retornar o mês por extenco
-------------------------------------------------------------------------------}
function TEAMDate.MesToExtenco: TEAMString;
begin
case Self.GetMes.Value of
1: Result.Text := 'Janeiro';
2: Result.Text := 'Fevereiro';
3: Result.Text := 'Março';
4: Result.Text := 'Abril';
5: Result.Text := 'Maio';
6: Result.Text := 'Junho';
7: Result.Text := 'Julho';
8: Result.Text := 'Agosto';
9: Result.Text := 'Setembro';
10: Result.Text := 'Outubro';
11: Result.Text := 'Novembro';
12: Result.Text := 'Dezembro';
else
Result.Text := '';
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.ReplaceTimer
Arguments: None
Result: None
Objetivo: Apaga a hora
-------------------------------------------------------------------------------}
procedure TEAMDate.ReplaceTimer;
var
newTime: TDateTime;
begin
newTime := EncodeTime(0, 0, 0, 0);
ReplaceTime(self.Value, newTime);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.SetDateNow
Arguments: None
Result: None
Objetivo: seta a dataHora para o horario atual
-------------------------------------------------------------------------------}
procedure TEAMDate.SetDateNow;
begin
Self.Value := Now;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.SubDias
Arguments: NumDias: Integer
Result: None
Objetivo: Subtrair um numero de dias da data
-------------------------------------------------------------------------------}
procedure TEAMDate.SubDias(NumDias: Integer);
begin
NumDias := (NumDias * -1);
Self.AddDias(NumDias);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.ToExtenco
Arguments: None
Result: TEAMString
Objetivo: Retornar a data por extenço
-------------------------------------------------------------------------------}
function TEAMDate.ToExtenco: TEAMString;
begin
Result.Text := FormatDateTime('dddddd', Self.Value);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.ToString
Arguments: None
Result: TEAMString
Objetivo: Retornar a data em string
-------------------------------------------------------------------------------}
function TEAMDate.ToString: TEAMString;
begin
Result.Text := DateToStr(Self.Value);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDate.ToSqlServerFormat
Arguments: None
Result: TEAMString
Objetivo: Converter para o formato de data do sqlServer
-------------------------------------------------------------------------------}
function TEAMDate.ToSqlServerFormat: TEAMString;
begin
Result.Text := FormatDateTime('YYYY-MM-DD', Self.Value);
end;
{$ENDREGION}
{$REGION 'TEAMTime'}
{ TEAMTime }
{-------------------------------------------------------------------------------
Procedure: TEAMTime.DataHoraString
Arguments: None
Result: TEAMString
Objetivo: Retorna a data e a hora em uma string
-------------------------------------------------------------------------------}
function TEAMTime.DataHoraString: TEAMString;
begin
Result.Text := DateTimeToStr(Self.Value);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMTime.Formatar
Arguments: Formato: string
Result: TEAMString
Objetivo: Formata a hora de acordo com o formato passado
-------------------------------------------------------------------------------}
function TEAMTime.Formatar(Formato: string): TEAMString;
begin
Result.Text := FormatDateTime(Formato, Self.Value);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMTime.GetHora
Arguments: None
Result: TEAMString
Objetivo: Retorna a hora
-------------------------------------------------------------------------------}
function TEAMTime.GetHora: TEAMString;
var
hora, minutos, segundos, mcsegundos: Word;
begin
Decodetime(Self.Value, hora, minutos, segundos, mcsegundos);
Result.Text := intToStr(hora);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMTime.GetMinutos
Arguments: None
Result: TEAMString
Objetivo: Retorna os minutos
-------------------------------------------------------------------------------}
function TEAMTime.GetMinutos: TEAMString;
var
hora, minutos, segundos, mcsegundos: Word;
begin
Decodetime(Self.Value, hora, minutos, segundos, mcsegundos);
Result.Text := intToStr(minutos);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMTime.GetSegundos
Arguments: None
Result: TEAMString
Objetivo: Retorna os segundos
-------------------------------------------------------------------------------}
function TEAMTime.GetSegundos: TEAMString;
var
hora, minutos, segundos, mcsegundos: Word;
begin
Decodetime(Self.Value, hora, minutos, segundos, mcsegundos);
Result.Text := intToStr(segundos);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMTime.ToString
Arguments: None
Result: TEAMString
Objetivo: Converte para string
-------------------------------------------------------------------------------}
function TEAMTime.ToString: TEAMString;
begin
Result.Text := TimeToStr(Self.Value);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMTime.ToExtenco
Arguments: None
Result: TEAMString
Objetivo: Retorna a hora em extenço
-------------------------------------------------------------------------------}
function TEAMTime.ToExtenco: TEAMString;
var
Hora, Minuto, Segundo: TEAMinteger;
begin
Hora.Value := self.GetHora.ToInt;
Minuto.Value := self.GetMinutos.Toint;
Segundo.Value := self.GetSegundos.Toint;
Result.Text := Hora.ToExtenco.Text + ' hora';
if Hora.Value > 1 then
Result.Text := Result.Text + 's';
if Minuto.Value > 0 then
begin
Result.Text := Result.Text + ', ' + Minuto.ToExtenco.Text + ' minuto';
if Minuto.Value > 1 then
Result.Text := Result.Text + 's'
end;
if Segundo.Value > 0 then
begin
Result.Text := Result.Text + ' e ' + Segundo.ToExtenco.Text + ' segundo';
if Segundo.Value > 1 then
Result.Text := Result.Text + 's'
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMTime.ToMinutos
Arguments: None
Result: Integer
Objetivo: Converte Para Minutos
-------------------------------------------------------------------------------}
function TEAMTime.ToMinutos: Integer;
begin
Result := (StrToInt(Copy(Self.ToString.Text, 1, 2)) * 60) + StrToInt(Copy(Self.ToString.Text, 4, 2));
end;
{$ENDREGION}
end.
</pre>
<br />
Agora podemos iniciar o testes. Adione a unit untTEAMDateTime ao formulário:<br />
<pre class="delphi" name="code">unit untTEAMDateTime;
</pre>
<br />
Adicione alguns edits e um botão como abaixo:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-vY59H4XmVeY/TjvrdSrpRbI/AAAAAAAABBQ/Q7emiLLHeaI/s1600/Formulario+DateTime.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="219" src="http://3.bp.blogspot.com/-vY59H4XmVeY/TjvrdSrpRbI/AAAAAAAABBQ/Q7emiLLHeaI/s320/Formulario+DateTime.jpg" width="320" /></a></div>
<br />
No ovento onClick do botão escreva o seguinte código:<br />
<br />
<pre class="delphi" name="code">procedure TForm1.btn1Click(Sender: TObject);
var
EAMDateTime: TEAMDate;
EAMTime: TEAMTime;
begin
EAMDateTime.SetDateNow;
edtValue.Text := EAMDateTime.ToString.Text;
edtToExtenco.Text := EAMDateTime.ToExtenco.Text;
edtGetDia.Text := EAMDateTime.GetDia.ToString.Text;
edtGetMes.Text := EAMDateTime.GetMes.ToString.Text;
edtGetAno.Text := EAMDateTime.GetAno.ToString.Text;
edtGetUltimoDiaMes.Text := EAMDateTime.GetUltimoDiaMes.ToString.Text;
edtHashDateTime.Text := EAMDateTime.ToString.Hash;
EAMTime.Value := Now;
edtTimeValue.Text := EAMTime.Formatar('HH:MM:SS').Text;
edtTimeToExtenco.Text := EAMTime.ToExtenco.Text;
edtGetSegundos.Text := EAMTime.GetSegundos.Text;
edtGetHora.Text := EAMTime.GetHora.Text;
edtGetMinutos.Text := EAMTime.GetMinutos.Text;
edtHashTime.Text := EAMTime.ToString.Hash;
end
</pre>
<br />
Execute e confira o resultado:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-Ct4trEW2wnk/Tjvrd1rpiuI/AAAAAAAABBU/uHj7F9ZyN-M/s1600/Resultado+DateTime.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="221" src="http://1.bp.blogspot.com/-Ct4trEW2wnk/Tjvrd1rpiuI/AAAAAAAABBU/uHj7F9ZyN-M/s320/Resultado+DateTime.jpg" width="320" /></a></div>
<br />
Todos os métodos da listagem foram documentados para facilitar o entendimento da sua finalidade. Fique a vontade para adicionar novos métodos e procedures. :)<br />
<br />
<a href="http://evaldoavelar.blogspot.com/2011/08/criando-um-tipo-de-dado-avancado-em_05.html">Confira aqui o próximo post</a><br />
<br />
<div style="color: red;">
<b><i>Observação: Algumas das procedure e functions usadas neste artigo são uma compilação de códigos encontrados na internet. se você encontrar aqui algum código de sua autoria, entre em contato para que possamos dar-lhe o devido crédito.</i></b></div>
<br />
<script src="http://widgets.amung.us/tab.js" type="text/javascript">
</script><script type="text/javascript">
WAU_tab('hxq4ocjwkckf', 'left-middle')
</script>okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-49184701169217815092011-08-04T19:53:00.000-03:002011-08-05T15:18:04.072-03:00Criando um tipo de dado Avançado em Delphi - Parte 3Dando sequência a serie de artigos <b><i>Criando um tipo de dado Avançado em Delphi</i> </b>(confira aqui a <a href="http://evaldoavelar.blogspot.com/2011/08/criando-um-tipo-de-dados-avancado-em.html">parte1</a> e a <a href="http://evaldoavelar.blogspot.com/2011/08/delphilazarus2.html">parte 2</a> )<b><i>, </i></b>vamos implementar dois tipos numéricos: o <b>TEAMDouble</b> e o <b>TEAMInteger</b> (o nome é sugestivo) . Estes tipos vão nos ajudar a trabalhar com os tipos inteiro e Double.<br />
<br />
Abra o Delphi (neste artigo fora utilizado o Delphi 2007) e adicione uma nova unit e salve-a como <b>untTEAMNumeric</b>:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-s8F2LorIji4/TjmDpHvnJ4I/AAAAAAAABAU/_R8ZmSPBSQ0/s1600/Nova+Unit.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="217" src="http://1.bp.blogspot.com/-s8F2LorIji4/TjmDpHvnJ4I/AAAAAAAABAU/_R8ZmSPBSQ0/s320/Nova+Unit.jpg" width="320" /></a></div>
<br />
Adicione os dois tipos a seguir:<br />
<br />
<pre class="delphi" name="code">unit untTEAMNumeric;
interface
uses SysUtils, Math, Graphics, Classes, UniTEAMString, WinTypes;
type
TEAMDouble = record
Value: Double;
end;
TEAMInteger = record
Value: Integer;
end;
implementation
end.</pre>
<br />
O campo <b>"Value"</b> nos dois records ira armazenar o conteúdo do nosso dado para que possamos aplicar as operações. Repare no uses a unit <b>untTEAMNumeric</b>, iremos<b> </b>usar o tipo <b>TEAMString </b>em alguns campos. veja a listagem:<br />
<br />
<br />
<pre class="delphi" name="code">TEAMDouble = record
Value: Double;
function Arredonda(inCasas: Integer): Double;
function Trunca(inCasas: Integer): Double;
function CalcularPercentual(Percent: Real): real;
function CalculaProporcao(Valor: Real): Real;
procedure CodigoBarras(Imagem: TCanvas);
function ToString: TEAMString;
function ToSqlServerFormat: TEAMString;
function ToExtenco: TEAMString;
function ToExtencoReais: TEAMString;
function ToReias: TEAMString;
procedure ADD(valor: Double);
procedure inc;
procedure Dec;
procedure Clear;
procedure Eval(Num: string);
end;
TEAMInteger = record
Value: Integer;
function ToString: TEAMString;
function ToExtenco: TEAMString;
procedure inc;
procedure ADD(valor: integer);
function NextValue: integer;
function PriorValue: integer;
procedure Dec;
procedure Clear;
end;
</pre>
<br />
Retornar um TCSTString nos dara mais flexibilidade como veremos mais adiante. O próximo passo é a implementação dos métodos.<br />
Veja a listagem completa da nossa unit:<br />
<br />
<pre class="delphi" name="code">unit untTEAMNumeric;
interface
uses SysUtils, Math, Graphics, Classes, untTEAMString, WinTypes;
type
TEAMDouble = record
Value: Double;
function Arredonda(inCasas: Integer): Double;
function Trunca(inCasas: Integer): Double;
function CalcularPercentual(Percent: Real): real;
function CalculaProporcao(Valor: Real): Real;
procedure CodigoBarras(Imagem: TCanvas);
function ToString: TEAMString;
function ToSqlServerFormat: TEAMString;
function ToExtenco: TEAMString;
function ToExtencoReais: TEAMString;
function ToReias: TEAMString;
procedure ADD(valor: Double);
procedure inc;
procedure Dec;
procedure Clear;
procedure Eval(Num: string);
end;
TEAMInteger = record
Value: Integer;
function ToString: TEAMString;
function ToExtenco: TEAMString;
procedure inc;
procedure ADD(valor: integer);
function NextValue: integer;
function PriorValue: integer;
procedure Dec;
procedure Clear;
end;
implementation
resourcestring
strNumeroForaIntervalo = 'TEAMDouble: O valor está fora do intervalo' +
' permitido.';
const
Unidades: array[1..9] of string = ('Um', 'Dois', 'Tres', 'Quatro', 'Cinco', 'Seis', 'Sete', 'Oito', 'Nove');
Dez: array[1..9] of string = ('Onze', 'Doze', 'Treze', 'Quatorze', 'Quinze', 'Dezesseis', 'Dezessete', 'Dezoito', 'Dezenove');
Dezenas: array[1..9] of string = ('Dez', 'Vinte', 'Trinta', 'Quarenta', 'Cinquenta', 'Sessenta', 'Setenta', 'Oitenta', 'Noventa');
Centenas: array[1..9] of string = ('Cento', 'Duzentos', 'Trezentos', 'Quatrocentos', 'Quinhentos', 'Seiscentos', 'Setecentos', 'Oitocentos', 'Novecentos');
MoedaSigular = 'Real';
MoedaPlural = 'Reais';
CentSingular = 'Centavo';
CentPlural = 'Centavos';
Zero = 'Zero';
{ TEAMDouble }
{-------------------------------------------------------------------------------
Procedure: TEAMDouble.ADD
Arguments: valor: Double
Result: None
Objetivo: Adicioonar um valor
-------------------------------------------------------------------------------}
procedure TEAMDouble.ADD(valor: Double);
begin
Self.Value := Self.Value + valor;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDouble.Arredonda
Arguments: inCasas: Integer
Result: Double
Objetivo: Arrendondar o valor de accordo com o numero de casas decimais
-------------------------------------------------------------------------------}
function TEAMDouble.Arredonda(inCasas: Integer): Double;
var
stValor: string;
dlValor: Double;
begin
dlValor := Value + (5 * Power(10, -(inCasas + 1)));
stValor := Floattostr(dlValor);
if pos(',', stvalor) = 0 then
stValor := stValor + ',';
stvalor := stvalor + '0000';
stValor := Copy(stValor, 1, pos(',', stValor) + inCasas);
Result := StrToFloat(stValor);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDouble.CalculaProporcao
Arguments: Valor: Real
Result: Real
Objetivo: Calcular a proporção do valor no numero passado
-------------------------------------------------------------------------------}
function TEAMDouble.CalculaProporcao(Valor: Real): Real;
begin
Result := ((Self.Value * 100) / Valor);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDouble.CalcularPercentual
Arguments: Percent: Real
Result: real
Objetivo: Calcular o percent do
-------------------------------------------------------------------------------}
function TEAMDouble.CalcularPercentual(Percent: Real): real;
begin
percent := percent / 100;
result := value * Percent;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDouble.Clear
Arguments: None
Result: None
Objetivo: inicializa valor
-------------------------------------------------------------------------------}
procedure TEAMDouble.Clear;
begin
Self.Value := 0;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDouble.CodigoBarras
Arguments: var Imagem: TCanvas
Result: None
Objetivo: Gerar o código de Barras do valor passado
-------------------------------------------------------------------------------}
procedure TEAMDouble.CodigoBarras(Imagem: TCanvas);
const
digitos: array['0'..'9'] of string[5] = ('00110', '10001', '01001', '11000',
'00101', '10100', '01100', '00011', '10010', '01010');
var
s, codigo: string;
i, j, x, t: Integer;
begin
codigo := Self.ToString.Text;
// Gerar o valor para desenhar o código de barras
// Caracter de início
s := '0000';
for i := 1 to length(codigo) div 2 do
for j := 1 to 5 do
s := s + Copy(Digitos[codigo[i * 2 - 1]], j, 1) + Copy(Digitos[codigo[i * 2]], j, 1);
// Caracter de fim
s := s + '100';
// Desenhar em um objeto canvas
// Configurar os parâmetros iniciais
x := 0;
// Pintar o fundo do código de branco
Imagem.Brush.Color := clWhite;
Imagem.Pen.Color := clWhite;
Imagem.Rectangle(0, 0, 2000, 79);
// Definir as cores da caneta
Imagem.Brush.Color := clBlack;
Imagem.Pen.Color := clBlack;
// Escrever o código de barras no canvas
for i := 1 to length(s) do
begin
// Definir a espessura da barra
t := strToInt(s[i]) * 2 + 1;
// Imprimir apenas barra sim barra não (preto/branco - intercalado);
if i mod 2 = 1 then
Imagem.Rectangle(x, 0, x + t, 79);
// Passar para a próxima barra
x := x + t;
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDouble.Dec
Arguments: None
Result: None
Objetivo: Decementa o valor em 1
-------------------------------------------------------------------------------}
procedure TEAMDouble.Dec;
begin
self.Value := Self.Value - 1;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDouble.Eval
Arguments: Num: string
Result: None
Objetivo: Converte uma string para um double
-------------------------------------------------------------------------------}
procedure TEAMDouble.Eval(Num: string);
begin
if Trim(num) <> '' then
Self.Value := StrToFloat(Num)
else
self.value := 0;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDouble.inc
Arguments: None
Result: None
Objetivo: Incrementa o valor
-------------------------------------------------------------------------------}
procedure TEAMDouble.inc;
begin
self.Value := Self.Value + 1;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDouble.ToExtenco
Arguments: None
Result: TEAMString
Objetivo: Converte o valor para extenço
-------------------------------------------------------------------------------}
function TEAMDouble.ToExtenco: TEAMString;
var
Texto, Milhar, Centena, Centavos: string;
function ifs(Expressao: Boolean; CasoVerdadeiro, CasoFalso: string): string;
begin
if Expressao then
Result := CasoVerdadeiro
else
Result := CasoFalso;
end;
function MiniExtenso(trio: string): string;
var
Unidade, Dezena, Centena: string;
begin
Unidade := '';
Dezena := '';
Centena := '';
if (trio[2] = '1') and (trio[3] <> '0') then
begin
Unidade := Dez[strtoint(trio[3])];
Dezena := '';
end
else
begin
if trio[2] <> '0' then
Dezena := Dezenas[strtoint(trio[2])];
if trio[3] <> '0' then
Unidade := Unidades[strtoint(trio[3])];
end;
if (trio[1] = '1') and (Unidade = '') and (Dezena = '') then
Centena := 'Cem'
else if trio[1] <> '0' then
Centena := Centenas[strtoint(trio[1])]
else
Centena := '';
Result := Centena + ifs((Centena <> '') and ((Dezena <> '') or (Unidade <> '')), ' e ', '')
+ Dezena + ifs((Dezena <> '') and (Unidade <> ''), ' e ', '') + Unidade;
end;
begin
if (self.value > 999999.99) or (self.value < 0) then
begin
raise Exception.Create(strNumeroForaIntervalo);
end;
if self.value = 0 then
begin
Result.Text := '';
Exit;
end;
Texto := formatfloat('000000.00', self.value);
Milhar := MiniExtenso(Copy(Texto, 1, 3));
Centena := MiniExtenso(Copy(Texto, 4, 3));
Centavos := MiniExtenso('0' + Copy(Texto, 8, 2));
Result.Text := Milhar;
if Milhar <> '' then
begin
Result.Text := Result.Text + ' Mil ';
end;
if (((copy(texto, 4, 2) = '00') and (Milhar <> '') and (copy(texto, 6, 1) <> '0'))) or (centavos = '') and (milhar <> '') then
Result.Text := Result.Text + ' e ';
if (Milhar + Centena <> '') then
Result.Text := Result.Text + Centena;
if Centavos = '' then
begin
Exit;
end
else
begin
if Milhar + Centena = '' then
Result.Text := Centavos
else
Result.Text := Result.Text + ' e ' + Centavos;
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDouble.ToExtencoReais
Arguments: None
Result: TEAMString
Objetivo: Converte o valor para extenço em reais
-------------------------------------------------------------------------------}
function TEAMDouble.ToExtencoReais: TEAMString;
var
Texto, Milhar, Centena, Centavos: string;
////////////////////////////////fucao auxiliar extenso////////////////////////////////
function ifs(Expressao: Boolean; CasoVerdadeiro, CasoFalso: string): string;
begin
if Expressao then
Result := CasoVerdadeiro
else
Result := CasoFalso;
end;
////////////////////////////funcao auxiliar extenso/////////////////////////
function MiniExtenso(trio: string): string;
var
Unidade, Dezena, Centena: string;
begin
Unidade := '';
Dezena := '';
Centena := '';
if (trio[2] = '1') and (trio[3] <> '0') then
begin
Unidade := Dez[strtoint(trio[3])];
Dezena := '';
end
else
begin
if trio[2] <> '0' then
Dezena := Dezenas[strtoint(trio[2])];
if trio[3] <> '0' then
Unidade := Unidades[strtoint(trio[3])];
end;
if (trio[1] = '1') and (Unidade = '') and (Dezena = '') then
Centena := 'Cem'
else if trio[1] <> '0' then
Centena := Centenas[strtoint(trio[1])]
else
Centena := '';
Result := Centena + ifs((Centena <> '') and ((Dezena <> '') or (Unidade <> '')), ' e ', '')
+ Dezena + ifs((Dezena <> '') and (Unidade <> ''), ' e ', '') + Unidade;
end;
begin
if (self.value > 999999.99) or (self.value < 0) then
begin
raise Exception.Create(strNumeroForaIntervalo);
end;
if self.value = 0 then
begin
Result.Text := '';
Exit;
end;
Texto := formatfloat('000000.00', self.value);
Milhar := MiniExtenso(Copy(Texto, 1, 3));
Centena := MiniExtenso(Copy(Texto, 4, 3));
Centavos := MiniExtenso('0' + Copy(Texto, 8, 2));
Result.Text := Milhar;
if Milhar <> '' then
begin
if copy(texto, 4, 3) = '000' then
Result.Text := Result.Text + ' Mil Reais'
else
Result.Text := Result.Text + ' Mil ';
end;
if (((copy(texto, 4, 2) = '00') and (Milhar <> '') and (copy(texto, 6, 1) <> '0'))) or (centavos = '') and (milhar <> '') then
Result.Text := Result.Text + ' e ';
if (Milhar + Centena <> '') then
Result.Text := Result.Text + Centena;
if (Milhar = '') and (copy(texto, 4, 3) = '001') then
Result.Text := Result.Text + ' Real'
else if (copy(texto, 4, 3) <> '000') then
Result.Text := Result.Text + ' Reais';
if Centavos = '' then
begin
Result.Text := Result.Text + '.';
Exit;
end
else
begin
if Milhar + Centena = '' then
Result.Text := Centavos
else
Result.Text := Result.Text + ' e ' + Centavos;
end;
if (copy(texto, 8, 2) = '01') and (Centavos <> '') then
Result.Text := Result.Text + ' Centavo.'
else
Result.Text := Result.Text + ' Centavos.';
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDouble.ToReias
Arguments: None
Result: TEAMString
Objetivo: Formata o valor para dinheiro
-------------------------------------------------------------------------------}
function TEAMDouble.ToReias: TEAMString;
begin
Result.Text := FormatFloat('R$ 0.,00', Self.Value);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDouble.ToString
Arguments: None
Result: string
Objetivo: Converter para no formato para ser garvado no sqlsrever
-------------------------------------------------------------------------------}
function TEAMDouble.ToSqlServerFormat: TEAMString;
var
Aux: TEAMString;
begin
Aux.Text := FloatToStr(Self.Value);
Result.Text := Aux.ReplaceChar(',', '.');
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDouble.ToString
Arguments: None
Result: TEAMString
Objetivo: Converte o Valor para uma string
-------------------------------------------------------------------------------}
function TEAMDouble.ToString: TEAMString;
begin
Result.Text := FloatToStr(Self.Value);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMDouble.Trunca
Arguments: inCasas: Integer
Result: Double
Objetivo: Truncar o valor com determinado numero de casas decimais
-------------------------------------------------------------------------------}
function TEAMDouble.Trunca(inCasas: Integer): Double;
var
stValor: string;
begin
stValor := Floattostr(Value);
if pos(',', stvalor) = 0 then
stValor := stValor + ',';
stvalor := stvalor + '0000';
stValor := Copy(stValor, 1, pos(',', stValor) + inCasas);
Result := StrToFloat(stValor);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMInteger.ADD
Arguments: valor: integer
Result: None
Objetivo: Incrementa o valor em 1
-------------------------------------------------------------------------------}
procedure TEAMInteger.ADD(valor: integer);
begin
Self.Value := self.Value + valor;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMInteger.Clear
Arguments: None
Result: None
Objetivo: Apaga o conteudo
-------------------------------------------------------------------------------}
procedure TEAMInteger.Clear;
begin
Self.Value := 0;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMInteger.Dec
Arguments: None
Result: None
Objetivo: Decrementa o valor em 1
-------------------------------------------------------------------------------}
procedure TEAMInteger.Dec;
begin
Self.Value := Self.Value - 1;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMInteger.inc
Arguments: None
Result: None
Objetivo: incrementa o valor em 1
-------------------------------------------------------------------------------}
procedure TEAMInteger.inc;
begin
Self.Value := Self.Value + 1;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMInteger.NextValue
Arguments: None
Result: integer
Objetivo: Retorna qual será o próximo valor
-------------------------------------------------------------------------------}
function TEAMInteger.NextValue: integer;
begin
Result := self.Value + 1;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMInteger.PriorValue
Arguments: None
Result: integer
Objetivo: Retorna qual será o valor anterior
-------------------------------------------------------------------------------}
function TEAMInteger.PriorValue: integer;
begin
result := self.value - 1;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMInteger.ToExtenco
Arguments: None
Result: TEAMString
Objetivo: Converte o valor para extenço
-------------------------------------------------------------------------------}
function TEAMInteger.ToExtenco: TEAMString;
var
Num: TEAMDouble;
begin
Num.Value := Self.Value;
Result := Num.ToExtenco;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMInteger.ToString
Arguments: None
Result: TEAMString
Objetivo: Converte o valor para string
-------------------------------------------------------------------------------}
function TEAMInteger.ToString: TEAMString;
begin
Result.Text := IntToStr(Self.Value);
end;
end.
</pre>
Vamos aos teste: adicione alguns edits e um botão como abaixo<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-lnA1bxvcCvk/TjrhOxzI0nI/AAAAAAAABA8/oRDu7Qi_0mc/s1600/Formulario+Numeric.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="219" src="http://1.bp.blogspot.com/-lnA1bxvcCvk/TjrhOxzI0nI/AAAAAAAABA8/oRDu7Qi_0mc/s320/Formulario+Numeric.jpg" width="320" /></a></div>
<br />
Adicione a unit untTEAMNumeric ao formulário:<br />
<pre class="delphi" name="code">unit untTEAMNumeric;</pre>
<br />
No ovento onClick do botão escreva o seguinte código:<br />
<br />
<pre class="delphi" name="code">procedure TForm1.btn1Click(Sender: TObject);
var
EAMDouble:TEAMDouble;
EAMInteger:TEAMInteger;
begin
EAMDouble.Value := 99.989;
EAMInteger.Value := 88;
edtValorDouble.Text := EAMDouble.ToString.Text;
edtArredonda.Text := FloatToStr(EAMDouble.Arredonda(1));
edtTrunca.Text := FloatToStr(EAMDouble.Trunca(2));
edtSqlServerFormat.Text := EAMDouble.ToSqlServerFormat.Text;
edtExtencoReias.Text := EAMDouble.ToExtencoReais.Text;
edtCalculaPercentual.Text := FloatToStr(EAMDouble.CalcularPercentual(50));
edtValorInteger.Text := EAMInteger.ToString.Text;
edtToString.Text := EAMInteger.ToString.Text;
edtPriorValue.Text := IntToStr(EAMInteger.PriorValue);
edtNextValue.Text := IntToStr(EAMInteger.NextValue);
edtToExtencoInteger.Text := EAMInteger.ToExtenco.Text;
end;
</pre>
<br />
Execute e confira o resultado:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-Cm0yCEA-650/TjrhPXSeueI/AAAAAAAABBA/PpIy5ISDZoY/s1600/Resultado+Numeric.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="219" src="http://2.bp.blogspot.com/-Cm0yCEA-650/TjrhPXSeueI/AAAAAAAABBA/PpIy5ISDZoY/s320/Resultado+Numeric.jpg" width="320" /></a></div>
<br />
Adicionar o tipo TEAMString nos novos tipos que criamos, nos fez poupar algum tempo nas conversões dos dados, isso sem mencionar que poderíamos realizar outras operações como realizar um hash.<br />
Como exemplo adicone mais 2 edits no formulário de teste e o seguinte código no evento onClick do botão :<br />
<br />
<pre class="delphi" name="code">edtHashInteger.Text := EAMInteger.ToString.Hash;
edtHashDouble.Text := EAMDouble.ToString.Hash;
</pre>
<br />
Execute e confira o resultado:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-Way4Kc1okMg/TjrjyHcyA3I/AAAAAAAABBI/JHvxywUbegM/s1600/hash.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="256" src="http://4.bp.blogspot.com/-Way4Kc1okMg/TjrjyHcyA3I/AAAAAAAABBI/JHvxywUbegM/s320/hash.jpg" width="320" /></a></div>
<br />
Todos os métodos da listagem foram documentados para facilitar o entendimento da sua finalidade. Fique a vontade para adicionar novos métodos e procedures. :)<br />
<br />
<div style="color: red;">
<i>Observação: Algumas das procedure e functions usadas neste artigo são uma compilação de códigos encontrados na internet. se você econtrar aqui algum código de sua autoria, entre em contato para que possamos dar-lhe o devido crédito.</i></div>
<br />
<a href="http://evaldoavelar.blogspot.com/2011/08/criando-um-tipo-de-dado-avancado-em_1961.html">Confira aqui o próximo post</a><br />
<script src="http://widgets.amung.us/tab.js" type="text/javascript">
</script><script type="text/javascript">
WAU_tab('hxq4ocjwkckf', 'left-middle')
</script>okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-64456599039004513402011-08-04T12:23:00.000-03:002011-09-02T11:23:02.691-03:00Criando um tipo de dado Avançado em Delphi - Parte 2No <a href="http://evaldoavelar.blogspot.com/2011/08/criando-um-tipo-de-dados-avancado-em.html">post anterior</a> você conferiu como podemos usar o <b>record</b> do pascal apartir do <a href="http://delphi.about.com/od/adptips2006/qt/newdelphirecord.htm">Delphi 2006</a> para criar um tipo de dado mais avançado, que nos permitia agrupar as principais operações com string em um único tipo. <br />
Agora vamos dar sequência ao artigo adicionando novas operações para o nosso dado:<br />
<br />
<pre class="delphi" name="code">TEAMString = record
Text: string;
{ Substituição}
function ReplaceChar(Caracter, Subst: char): string;
{Remove os Espaços em branco }
function Alltrim: string;
function LTrim: string;
function RTrim: string;
{Conversão}
function Lower: string;
function Upper: string;
function CaixaMista: string;
{Pesquisa um caractere }
function SearchLeft(Caracter: string): integer;
function SearchRigth(Caracter: string): integer;
{Variaveis}
function Count: integer;
function IsEmpty: Boolean;
function Wordcount: integer;
{Operações}
function QuebraString(APosicao: Integer; ASeparador: string): string;
function ReverseStr: string;
function ToFloat: Double;
function ToDateTime: TDateTime;
function ToPChar: PChar;
function ToFloatExtended: Extended;
function ToCurrency: Currency;
function ToCurrencyString: string;
function ToInt: Integer;
function ToCNPJCpf: string;
function ToAspas: string;
function ToCustomFormat(Mask: string): string;
function Empty: string;
function RemoveAcento: string;
function RemoveChar(Caracter: char): string;
function ReplicaChar(const Ch: Char; const Len: integer): string;
function StrIntComZero(const Value, Len: integer): string;
function Explode(const Ch: Char): TStringList;
function ExplodeTrim(const Ch: Char): TStringList;
function ExisteInt: Boolean;
procedure StrResetLength(var S: AnsiString);
function SubString(PosInicial, PosFinal: Integer): string;
procedure Concate(Separador, Valor: string);
procedure DeleteFinalText(Tam: Integer);
function HashMD5: string;
procedure ADD(s: string);
procedure Clear;
function ContemString(s: string): Boolean;
procedure SetTextLength(Tam: integer);
procedure ADDQuote(Separador, valor,Quote : string);
function IsNumeric: Boolean;
function IsFloat: Boolean;
function IsInteger: Boolean;
function IsDateTime: Boolean;
{ Operações PAD}
function PadC(const Len: integer; const Ch: Char): string;
function PadL(const Len: integer; const Ch: Char): string;
function PadR(const Len: integer; const Ch: Char): string;
end;
</pre>
<br />
Repare que na nossa listagem temos funções para os mais variados fins, deste funções simples como apagar o conteúdo da string até uma função hash MD5 pronta pra ser usada. Dessa forma agrupamos as operações com string em um só lugar, organizando melhor o nosso código e deixando-o muito mais legível!<br />
<br />
Vamos a implementação dos métodos:<br />
<br />
<br />
<pre class="delphi" name="code">unit untTEAMString;
unit untTEAMString;
interface
uses Classes,SysUtils, IdGlobal, IdHash, IdHashMessageDigest;
type
TEAMString = record
Text: string;
{ Substituição}
function ReplaceChar(Caracter, Subst: char): string;
{Remove os Espaços em branco }
function Alltrim: string;
function LTrim: string;
function RTrim: string;
{Conversão}
function Lower: string;
function Upper: string;
function CaixaMista: string;
{Pesquisa um caractere }
function SearchLeft(Caracter: string): integer;
function SearchRigth(Caracter: string): integer;
{Variaveis}
function Count: integer;
function IsEmpty: Boolean;
function Wordcount: integer;
{Operações}
function QuebraString(APosicao: Integer; ASeparador: string): string;
function ReverseStr: string;
function ToFloat: Double;
function ToDateTime: TDateTime;
function ToPChar: PChar;
function ToFloatExtended: Extended;
function ToCurrency: Currency;
function ToCurrencyString: string;
function ToInt: Integer;
function ToCNPJCpf: string;
function ToAspas: string;
function ToCustomFormat(Mask: string): string;
function Empty: string;
function RemoveAcento: string;
function RemoveChar(Caracter: char): string;
function ReplicaChar(const Ch: Char; const Len: integer): string;
function StrIntComZero(const Value, Len: integer): string;
function Explode(const Ch: Char): TStringList;
function ExplodeTrim(const Ch: Char): TStringList;
function ExisteInt: Boolean;
function SubString(PosInicial, PosFinal: Integer): string;
procedure Concate(Separador, Valor: string);
procedure DeleteFinalText(Tam: Integer);
function HashMD5: string;
procedure ADD(s: string);
procedure Clear;
function ContemString(s: string): Boolean;
procedure SetTextLength(Tam: integer);
procedure ADDQuote(Separador, valor,Quote : string);
function IsNumeric: Boolean;
function IsFloat: Boolean;
function IsInteger: Boolean;
function IsDateTime: Boolean;
{ Operações PAD}
function PadC(const Len: integer; const Ch: Char): string;
function PadL(const Len: integer; const Ch: Char): string;
function PadR(const Len: integer; const Ch: Char): string;
end;
{ TEAMString }
{$ENDREGION}
implementation
{$REGION 'TEAMString'}
{ TEAMString }
function TEAMString.SubString(PosInicial, PosFinal: Integer): string;
begin
Result := Copy(Self.Text, PosInicial, PosFinal - PosInicial);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.Concate
Arguments: Separador, Valor: string
Result: None
Objetivo: Concatenar uma valor passado a string separado por um caracter
-------------------------------------------------------------------------------}
procedure TEAMString.Concate(Separador, Valor: string);
begin
if Self.Text = '' then
Self.Text := Self.Text + Valor
else
Self.Text := Self.Text + Separador + Valor;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.ContemString
Arguments: s: string
Result: Boolean
Objetivo: verifica se existe uma substring
-------------------------------------------------------------------------------}
function TEAMString.ContemString(s: string): Boolean;
begin
Result := (Pos(s, Self.Text) > 0);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.Count
Arguments: None
Result: integer
Objetivo: Retornar o tamanho da string
-------------------------------------------------------------------------------}
function TEAMString.Count: integer;
begin
Result := Length(Self.Text);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.DeleteFinalText
Arguments: Tam: Integer
Result: None
Objetivo: Apagar a ultima posicao da string
-------------------------------------------------------------------------------}
procedure TEAMString.DeleteFinalText(Tam: Integer);
begin
Delete(Self.Text, (self.Count - Tam) + 1, Tam);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.CaixaMista
Arguments: None
Result: None
Objetivo: Transforma a primeira letra dos nomes em Maiúscula
-------------------------------------------------------------------------------}
function TEAMString.CaixaMista: string;
var
tam, pos1, pos2: integer;
stPal, stTmp, stAux: string;
begin
stAux := Self.Text;
tam := Length(stAux);
stAux := TrimRight(stAux) + ' ';
stAux := AnsiUpperCase(stAux);
while True do
begin
pos1 := POS(' ', stAux);
if pos1 = 0 then
break;
stPal := Copy(stAux, 1, pos1);
pos2 := pos(stPal, ' DA - DAS - DE - DO - DOS ');
if pos2 > 0 then
stPal := AnsiLowerCase(stPal)
else
stPal := Copy(stPal, 1, 1) + AnsiLowerCase(Copy(stPal, 2, tam));
stTmp := stTmp + stPal;
stAux := copy(stAux, pos1 + 1, tam)
end;
Result := stTmp;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.Clear
Arguments: None
Result: None
Objetivo: Apagar o conteudo da string
-------------------------------------------------------------------------------}
procedure TEAMString.Clear;
begin
Self.Text := '';
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.ToCNPJ
Arguments: None
Result: string
Objetivo: formata Cpf/Cnpj sem q o usuario tenha q digitar os pontos, traços e barra
-------------------------------------------------------------------------------}
function TEAMString.ToCNPJCpf: string;
var
vTam, xx: Integer;
vDoc: string;
begin
vTam := Length(Self.Text);
for xx := 1 to vTam do
if (Copy(Self.Text, xx, 1) <> '.') and (Copy(Self.Text, xx, 1) <> '-') and (Copy(Self.Text, xx, 1) <> '/') then
vDoc := vDoc + Copy(Self.Text, xx, 1);
Self.Text := vDoc;
vTam := Length(Self.Text);
vDoc := '';
vDoc := '';
for xx := 1 to vTam do
begin
vDoc := vDoc + Copy(Self.Text, xx, 1);
if vTam = 11 then
begin
if (xx in [3, 6]) then
vDoc := vDoc + '.';
if xx = 9 then
vDoc := vDoc + '-';
end;
if vTam = 14 then
begin
if (xx in [2, 5]) then
vDoc := vDoc + '.';
if xx = 8 then
vDoc := vDoc + '/';
if xx = 12 then
vDoc := vDoc + '-';
end;
end;
Result := vDoc;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.Empty
Arguments: None
Result: string
Objetivo: Retornar uma string Vazia
-------------------------------------------------------------------------------}
function TEAMString.Empty: string;
begin
result := '';
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.ExisteInt
Arguments: None
Result: Boolean
Objetivo: Testar se na string existe um numero inteiro valido ou não
-------------------------------------------------------------------------------}
function TEAMString.ExisteInt: Boolean;
begin
try
StrToInt(Text);
Result := True;
except
Result := False;
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.Explode
Arguments: const Ch: Char
Result: TStringList
Objetivo: Explodir a string em uma TStringList de acordo com o carater separador
-------------------------------------------------------------------------------}
function TEAMString.Explode(const Ch: Char): TStringList;
var
c: word;
Source: string;
begin
Result := TStringList.Create;
c := 0;
Source := Self.Text;
while source <> '' do
begin
if Pos(CH, source) > 0 then
begin
Result.Add(Copy(Source, 1, Pos(CH, source) - 1));
Delete(Source, 1, Length(Result[c]) + Length(CH));
end
else
begin
Result.Add(Source);
Source := '';
end;
inc(c);
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.Explode
Arguments: const Ch: Char
Result: TStringList
Objetivo: Explodir a string em uma TStringList de acordo com o carater separador
removendo os espaços em branco
-------------------------------------------------------------------------------}
function TEAMString.ExplodeTrim(const Ch: Char): TStringList;
var
I: Integer;
begin
Result := Self.Explode(ch);
for I := 0 to Result.Count - 1 do
begin
Result.Strings[i] := Trim(Result.Strings[i]);
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.IsDateTime
Arguments: self.value: string
Result: Boolean
Objetivo: Verificar se a string é do tipo DateTime
-------------------------------------------------------------------------------}
function TEAMString.IsDateTime: Boolean;
var
i: Integer;
begin
if (self.Text = '') then
begin
Result := False;
Exit;
end;
Result := True;
for i := 1 to Length(self.Text) do
if not (self.Text[i] in ['0'..'9', DateSeparator]) then
begin
Result := False;
Break;
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.IsEmpty
Arguments: inString: string
Result: Boolean
Objetivo: Verificar se a string está vazia
-------------------------------------------------------------------------------}
function TEAMString.IsEmpty: Boolean;
begin
Result := (self.Text = '');
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.IsFloat
Arguments: None
Result: Boolean
Objetivo: Verificar se a string é um float
-------------------------------------------------------------------------------}
function TEAMString.IsFloat: Boolean;
var
Value: Extended;
begin
Result := TextToFloat(Self.ToPChar, Value, fvExtended);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.IsInteger
Arguments:
Result: Boolean
Objetivo: Verificar se a string é um inteiro
-------------------------------------------------------------------------------}
function TEAMString.IsInteger(): Boolean;
begin
if (Pos('.', Self.Text) > 0) or not IsNumeric then
begin
Result := False;
Exit;
end;
try
StrToInt(Self.Text);
Result := True;
except
Result := False;
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.IsNumeric
Arguments: None
Result: Boolean
Objetivo: Verificar se a string contem caracteres numericos
-------------------------------------------------------------------------------}
function TEAMString.IsNumeric: Boolean;
var
i: Integer;
begin
if (Self.Text = '') then
begin
Result := False;
Exit;
end;
Result := True;
for i := 1 to Length(Self.Text) do
if not (self.Text[i] in ['0'..'9', '.', ',']) then
begin
Result := False;
Break;
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.Lowercase_S
Arguments: None
Result: None
Objetivo: Converter a string para minusculo
-------------------------------------------------------------------------------}
function TEAMString.Lower: string;
begin
Result := LowerCase(self.Text);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.LTrim
Arguments: None
Result: None
Objetivo: Remove os Espaços em branco à esquerda da string
-------------------------------------------------------------------------------}
function TEAMString.LTrim: string;
var
I: Integer;
begin
I := 0;
while True do
begin
inc(I);
if I > length(self.Text) then
break;
if self.Text[I] <> #32 then
break;
end;
Result := Copy(self.Text, I, length(self.Text));
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.MD5
11/2/2011
Arguments: None
Result: string
Objetivo: Retorna o Md5 da string
-------------------------------------------------------------------------------}
function TEAMString.HashMD5: string;
begin
with TIdHashMessageDigest5.Create do
try
Result := TIdHash128.AsHex(HashValue(Self.Text));
finally
Free;
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.QuebraString
Arguments: APosicao: Integer; ASeparador: string
Result: string
Objetivo: Retornar o que está após o separador
-------------------------------------------------------------------------------}
function TEAMString.QuebraString(APosicao: Integer; ASeparador: string): string;
var
i, cont: integer;
begin
cont := 0;
if (APosicao <= 0) then
exit;
for i := 0 to length(self.Text) do
begin
if self.Text[i] = ASeparador then
begin
inc(cont);
end;
if cont = APosicao then
begin
Result := self.Text[i];
end;
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.RemoveAcento
Arguments: None
Result: None
Objetivo: Remover os acentos da string
-------------------------------------------------------------------------------}
function TEAMString.RemoveAcento: string;
const
ComAcento = 'àâêôûãõáéíóúçüÀÂÊÔÛÃÕÁÉÍÓÚÇÜ';
SemAcento = 'aaeouaoaeioucuAAEOUAOAEIOUCU';
var
x: Integer;
begin
Result := Self.Text;
for x := 1 to Length(Self.Text) do
begin
if Pos(Self.Text[x], ComAcento) <> 0 then
Result[x] := SemAcento[Pos(Text[x], ComAcento)]
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.RemoveChar
Arguments: Caracter: char
Result: string
Objetivo: Remove o caracter passado da string
-------------------------------------------------------------------------------}
function TEAMString.RemoveChar(Caracter: char): string;
var
i: integer;
begin
Result := '';
for i := 1 to length(self.Text) do
begin
if self.Text[i] <> Caracter then
begin
Result := Result + Self.Text[i];
end;
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.ReplaceChar
Arguments: Caracter, Subst: char
Result: None
Objetivo: Substiuir um caracter dentro da string
-------------------------------------------------------------------------------}
function TEAMString.ReplaceChar(Caracter, Subst: char): string;
var
i: integer;
begin
Result := Self.Text;
for i := 0 to length(self.Text) do
begin
if self.Text[i] = Caracter then
begin
Result[i] := Subst;
end;
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.ReplChar
Arguments: const Ch: Char; const Len: integer
Result: string
Objetivo: Replica um caractere n vezes formando uma string
-------------------------------------------------------------------------------}
function TEAMString.ReplicaChar(const Ch: Char; const Len: integer): string;
var
I: integer;
begin
SetLength(Result, Len);
for I := 1 to Len do
Result[I] := Ch;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.ReverseStr
Arguments: None
Result: string
Objetivo: Retornar o inverso da string
-------------------------------------------------------------------------------}
function TEAMString.ReverseStr: string;
var
I: Integer;
begin
Result := '';
for I := Length(self.Text) downto 1 do
Result := Result + self.Text[I];
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.RTrim
Arguments: None
Result: None
Objetivo: Remover os espaços em branco a direita da string
-------------------------------------------------------------------------------}
function TEAMString.RTrim: string;
var
I: Integer;
begin
I := length(self.Text) + 1;
while True do
begin
Dec(I);
if I <= 0 then
break;
if self.Text[I] <> #32 then
break;
end;
Result := Copy(self.Text, 1, I);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.SearchLeft
Arguments: Caracter: string; PosInicial: integer
Result: integer
Objetivo: Pesquisa um caractere à esquerda da string, retornando sua posição
-------------------------------------------------------------------------------}
function TEAMString.SearchLeft(Caracter: string): integer;
var
i: integer;
begin
result := -1;
for i := 0 to length(self.Text) do
begin
if self.Text[i] = Caracter then
begin
Result := i;
exit;
end;
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.SearchRigth
Arguments: Caracter: string; PosInicial: integer
Result: integer
Objetivo: Pesquisa um caractere à direita da string, retornando sua posição
-------------------------------------------------------------------------------}
function TEAMString.SearchRigth(Caracter: string): integer;
var
i: integer;
begin
result := -1;
for i := length(self.Text) downto 0 do
begin
if self.Text[i] = Caracter then
begin
Result := i;
exit;
end;
end;
end;
procedure TEAMString.SetTextLength(Tam: integer);
begin
Self.Text := StringOfChar(' ', Tam);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.StrIntComZero
Arguments: const Value, Len: integer
Result: string
Objetivo: Forma um número inteiro com zeros à esquerda
-------------------------------------------------------------------------------}
function TEAMString.StrIntComZero(const Value, Len: integer): string;
var
I: integer;
begin
Result := IntToStr(Value);
I := Length(Result);
if I < Len then
Result := Self.ReplicaChar('0', Len - I) + Result
else if I > Len then
Result := ReplicaChar('*', Len);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.ToAspas
Author: Evaldo
DateTime: 04/08/2011
Arguments: None
Result: string
Objetivo: Retornar uma string com aspas
-------------------------------------------------------------------------------}
function TEAMString.ToAspas: string;
begin
Result := QuotedStr(Self.Text);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.ToCurrency
DateTime: 10/6/2010
Arguments: None
Result: Currency
Objetivo: Converter para Currency
-------------------------------------------------------------------------------}
function TEAMString.ToCurrency: Currency;
begin
Result := StrToCurr(Self.Text);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.ToCurrencyString
Arguments: None
Result: string
Objetivo: Formatar um valor double em monetário
-------------------------------------------------------------------------------}
function TEAMString.ToCurrencyString: string;
begin
Result := 'R$ ' + FormatCurr('0.,00', Self.ToCurrency);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.ToCustomFormat
Author: Evaldo
DateTime: 04/08/2011
Arguments: Mask: string
Result: string
Objetivo: Mascara customizada
-------------------------------------------------------------------------------}
function TEAMString.ToCustomFormat(Mask: string): string;
begin
result := Format(Mask, [Self.Text])
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.ToDateTime
Author: Evaldo
DateTime: 04/08/2011
Arguments: None
Result: TDateTime
Objetivo: Converte para DataHora
-------------------------------------------------------------------------------}
function TEAMString.ToDateTime: TDateTime;
begin
Result := StrToDateTime(Self.Text);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.ToFloat
Arguments: None
Result: Extended
Objetivo: Filtra uma string qualquer, convertendo as suas partes
numéricas para sua representação decimal, por exemplo:
'R$ 1.200,00' para 1200,00 '1AB34TZ' para 134
-------------------------------------------------------------------------------}
function TEAMString.ToFloat: Double;
var
Aux: string;
begin
Aux := self.ReplaceChar('.', ',');
Result := StrToFloat(aux);
end;
function TEAMString.ToFloatExtended: Extended;
var
i: Integer;
stAux: string;
blSeenDecimal, blSeenSgn: Boolean;
begin
stAux := '';
blSeenDecimal := False;
blSeenSgn := False;
{Percorre os caracteres da string:}
for i := Length(Self.Text) downto 0 do
{Filtra a string, aceitando somente números e separador decimal:}
if (Self.Text[i] in ['0'..'9', '-', '+', DecimalSeparator]) then
begin
if (Self.Text[i] = DecimalSeparator) and (not blSeenDecimal) then
begin
stAux := Self.Text[i] + stAux;
blSeenDecimal := True;
end
else if (Self.Text[i] in ['+', '-']) and (not blSeenSgn) and (i = 1) then
begin
stAux := Self.Text[i] + stAux;
blSeenSgn := True;
end
else if Self.Text[i] in ['0'..'9'] then
begin
stAux := Self.Text[i] + stAux;
end;
end;
Result := StrToFloat(stAux);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.ToInt
DateTime: 7/6/2010
Arguments: None
Result: Integer
Objetivo: Converter para inteiro
-------------------------------------------------------------------------------}
function TEAMString.ToInt: Integer;
begin
Result := StrToInt(Self.Text);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.ToPChar
Arguments: None
Result: PChar
Objetivo: Retornar um ponteiro para char
-------------------------------------------------------------------------------}
function TEAMString.ToPChar: PChar;
{Converte String em Pchar}
type
TRingIndex = 0..7;
var
Ring: array[TRingIndex] of PChar;
RingIndex: TRingIndex;
Ptr: PChar;
begin
Ptr := @self.Text[Length(self.Text)];
Inc(Ptr);
if Ptr^ = #0 then
begin
Result := @self.Text[1];
end
else
begin
Result := StrAlloc(Length(self.Text) + 1);
RingIndex := (RingIndex + 1) mod (High(TRingIndex) + 1);
StrPCopy(Result, self.Text);
StrDispose(Ring[RingIndex]);
Ring[RingIndex] := Result;
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.Alltrim
Arguments: None
Result: None
Objetivo: Remover os espaços em branco a direita e a esquerda da string
-------------------------------------------------------------------------------}
procedure TEAMString.ADD(s: string);
begin
Self.Text := Self.Text + s;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.ADDQuote
Author: Evaldo
DateTime: 04/08/2011
Arguments: Separador, valor,Quote:string
Result: None
Objetivo: Retorna uma string com um separador e um Quote
-------------------------------------------------------------------------------}
procedure TEAMString.ADDQuote(Separador, valor,Quote:string);
begin
if Self.IsEmpty then
Self.Text := Self.Text + Quote + valor + Quote
else
Self.Text := Self.Text + Separador + Quote + valor + Quote;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.Alltrim
Arguments: None
Result: string
Objetivo: Remove os espaços em Branco de uma string
-------------------------------------------------------------------------------}
function TEAMString.Alltrim: string;
begin
Result := Trim(Text);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.UpperCase_s
Arguments: None
Result: None
Objetivo: Converter a string para maiúsculo
-------------------------------------------------------------------------------}
function TEAMString.Upper: string;
begin
Result := UpperCase(self.Text);
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.wordcount
Arguments: None
Result: integer
Objetivo: Retorna o número de palavras que contem em uma string
-------------------------------------------------------------------------------}
function TEAMString.Wordcount: integer;
var
i: integer;
len: integer;
begin
len := length(Self.Text);
Result := 0;
i := 1;
while i <= len do
begin
while ((i <= len) and ((Self.Text[i] = #32) or (Self.Text[i] = #9) or
(Self.Text[i] = ';'))) do
inc(i);
if i <= len then
inc(Result);
while ((i <= len) and ((Self.Text[i] <> #32) and (Self.Text[i] <> #9) and
(Self.Text[i] <>
';'))) do
inc(i);
end;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.PadC
Arguments: const Len: integer; const Ch: Char
Result: string
Objetivo: Completa a string com caracter passado a esquerda e a direita da string
de acordo com o tamanho indicado
-------------------------------------------------------------------------------}
function TEAMString.PadC(const Len: integer; const Ch: Char): string;
var
I, J: integer;
Pad: string;
Impar: boolean;
begin
I := Length(self.Text);
if I < Len then
begin
J := Len - I;
Impar := J mod 2 = 1;
J := J div 2;
Pad := self.ReplicaChar(Ch, J);
Result := Pad + Self.Text + Pad;
if Impar then
Result := Result + Ch;
end
else if I > Len then
begin
J := I - Len;
Impar := J mod 2 = 1;
J := J div 2;
Result := Self.Text;
Delete(Result, I - J + 1, J);
Delete(Result, 1, J);
if Impar then
begin
Dec(I, J * 2);
Delete(Result, I, 1);
end;
end
else
Result := Self.Text;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.PadL
Arguments: const Len: integer; const Ch: Char
Result: string
Objetivo: Completa a string com caracter passado a esquerda da string de acordo com o tamanho indicado
-------------------------------------------------------------------------------}
function TEAMString.PadL(const Len: integer; const Ch: Char): string;
var
LenS: integer;
begin
LenS := Length(Self.Text);
if LenS < Len then
Result := self.ReplicaChar(Ch, Len - LenS) + self.Text
else if LenS > Len then
Result := Copy(self.Text, LenS - Len + 1, Len)
else
Result := self.Text;
end;
{-------------------------------------------------------------------------------
Procedure: TEAMString.PadR
Arguments: const Len: integer; const Ch: Char
Result: string
Objetivo: Completa a string com caracter passado a direita da string de acordo com o tamanho indicado
-------------------------------------------------------------------------------}
function TEAMString.PadR(const Len: integer; const Ch: Char): string;
var
LenS: integer;
begin
LenS := Length(self.Text);
if LenS < Len then
Result := self.Text + self.ReplicaChar(Ch, Len - LenS)
else if LenS > Len then
Result := Copy(self.Text, 1, Len)
else
Result := self.Text;
end;
{$ENDREGION}
end. </pre>
<br />
<br />
Adicione alguns edits para o formulário de teste como abaixo:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-XkEP5mWcMAE/TjqzWVeKT-I/AAAAAAAABAw/5bNNPD2K2Io/s1600/Formulario2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="164" src="http://3.bp.blogspot.com/-XkEP5mWcMAE/TjqzWVeKT-I/AAAAAAAABAw/5bNNPD2K2Io/s320/Formulario2.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Adicione o seguinte código no onCLick do botão "ok" :<br />
<br />
<pre class="delphi" name="code">procedure TForm1.btn1Click(Sender: TObject);
var
EAMString:TEAMString;
begin
EAMString.Text := ' Teste ';
edtTexto.Text := EAMString.Text;
edtTrimALL.Text := EAMString.Alltrim;
edtTrimL.Text := EAMString.LTrim;
edtTrimR.Text := EAMString.RTrim;
edtHash.Text := EAMString.HashMD5;
edtPADL.Text := EAMString.PadL(10,'0');
edtReverseStr.Text := EAMString.ReverseStr;
edtToAspas.Text := EAMString.ToAspas;
end;
</pre>
<br />
Execute a aplicação e observe o resultado:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-kR7e-2bQPtk/TjqzW1ZPofI/AAAAAAAABA0/05Y7fM12ht4/s1600/Resultado2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="164" src="http://1.bp.blogspot.com/-kR7e-2bQPtk/TjqzW1ZPofI/AAAAAAAABA0/05Y7fM12ht4/s320/Resultado2.jpg" width="320" /></a></div>
<br />
Todos os métodos da listagem foram documentados para facilitar o entendimento da sua finalidade. Fique a vontade para adicionar novos métodos e procedures. :)<br />
<br />
<a href="http://evaldoavelar.blogspot.com/2011/08/criando-um-tipo-de-dado-avancado-em.html">Confira aqui o próximo post</a> <br />
<br />
<div style="color: red;">
<i>Observação: Algumas das</i><i><b> procedure</b> e </i><i><b>functions</b> usadas neste artigo são uma compilação de códigos encontrados na internet. se você econtrar aqui algum código de sua autoria, entre em contato para que possamos dar-lhe o devido crédito.</i></div>
<script src="http://widgets.amung.us/tab.js" type="text/javascript">
</script><script type="text/javascript">
WAU_tab('hxq4ocjwkckf', 'left-middle')
</script>okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-513715068748611542011-08-03T15:42:00.000-03:002011-08-05T15:17:44.196-03:00Criando um tipo de dado Avançado em Delphi - Parte 1<b>Criando um tipo de dado Avançado em Delphi:</b><br />
<br />
Talvez você não saiba, mas o tipo record em pascal pode conter em sua estrutura <i><b>functions</b></i> e <i><b>procedures</b></i> desde o <a href="http://delphi.about.com/od/adptips2006/qt/newdelphirecord.htm">Delphi 2006,</a> Sendo assim nos podemos tirar proveito disso para criar um tipo de dado mais avançado.<br />
Vamos tomar como exemplo o tipo string. O que você consegue fazer com um dado do tipo string? Nada, apenas usar para guardar o seu conteúdo. Qualquer operação que você precise realizar nesse dado terá que usar alguma função externa.<br />
Para contornar isso, podemos usar o record para criar um tipo de dado mais avançado e como exemplo vamos criar um tipo <b>TEAMString</b> (o nome é sugestivo) :<br />
<br />
Abra o delphi (neste artigo fora utilizado o Delphi 2007) e crie um novo projeto para aplicação:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-vup80LiAo54/TjmDU0IGBfI/AAAAAAAABAQ/T_3S7a435n8/s1600/Delphi.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="172" src="http://2.bp.blogspot.com/-vup80LiAo54/TjmDU0IGBfI/AAAAAAAABAQ/T_3S7a435n8/s320/Delphi.jpg" width="320" /></a></div>
<br />
Agora adicione uma nova unit e salve-a como untTEAMString:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-s8F2LorIji4/TjmDpHvnJ4I/AAAAAAAABAU/_R8ZmSPBSQ0/s1600/Nova+Unit.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="217" src="http://1.bp.blogspot.com/-s8F2LorIji4/TjmDpHvnJ4I/AAAAAAAABAU/_R8ZmSPBSQ0/s320/Nova+Unit.jpg" width="320" /></a></div>
<br />
Agora estamos pronto para começar! Vamos criar o record: <br />
<br />
<pre class="delphi" name="code">unit untTEAMString;
interface
uses Classes,SysUtils;
type
TEAMString = record
Text: string;
end;
implementation
end.
</pre>
<br />
Repare que o nosso Tipo <b>TEAMString </b>possui um campo "<b>Text</b>" esse campo nós vamos usar para guardar uma string e posteriormente aplicar operações nesse dado.<br />
<br />
Agora vamos adicionar algumas operações mais comuns com strings para deixar esse nosso tipo mais parrudo. Para começar vamos utilizar as operações para remover espaços em branco no inicio, no final e no inicio e no final de uma string. Então vamos adiciona-las:<br />
<br />
<pre class="delphi" name="code">TEAMString = record
Text: string;
{Remove os Espaços em branco }
function Alltrim: string;
function LTrim: string;
function RTrim: string;
end;
</pre>
<br />
Agora a implementação:<br />
<br />
<pre class="delphi" name="code">uses Classes,SysUtils;
type
TEAMString = record
Text: string;
{Remove os Espaços em branco }
function Alltrim: string;
function LTrim: string;
function RTrim: string;
end;
implementation
{ TEAMString }
// Objetivo: Remove os Espaços em branco
function TEAMString.Alltrim: string;
begin
Result := Trim(Text);
end;
// Objetivo: Remove os Espaços em branco à esquerda da string
function TEAMString.LTrim: string;
var
I: Integer;
begin
I := 0;
while True do
begin
inc(I);
if I > length(self.Text) then
break;
if self.Text[I] <> #32 then
break;
end;
Result := Copy(self.Text, I, length(self.Text));
end;
//Objetivo: Remover os espaços em branco a direita da string
function TEAMString.RTrim: string;
var
I: Integer;
begin
I := length(self.Text) + 1;
while True do
begin
Dec(I);
if I <= 0 then
break;
if self.Text[I] <> #32 then
break;
end;
Result := Copy(self.Text, 1, I);
end;
end.</pre>
<br />
Agora já temos alguma funcionalidade para esse nosso tipo. Vamos Fazer um pequeno teste.<br />
No formulário da aplicação adicione um botão e 4 edits. Também não se esqueça de adcionar <br />
a untTEAMString no USES do formulário:<br />
<br />
<pre class="delphi" name="code">uses Classes,SysUtils;</pre>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-utrd8f980L4/TjmNDZ8ynQI/AAAAAAAABAc/kfghvi05Fiw/s1600/Formulario.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="293" src="http://1.bp.blogspot.com/-utrd8f980L4/TjmNDZ8ynQI/AAAAAAAABAc/kfghvi05Fiw/s320/Formulario.jpg" width="320" /></a></div>
<br />
Codificando o botão:<br />
Declare uma variável do tipo <b>TEAMString </b>e<b> </b>atribua a ela o valor do Edit texto<b>. </b>Em seguida, atribua os aos outros edits o resultado das operações:<br />
<br />
<br />
<pre class="delphi" name="code">procedure TForm1.btn1Click(Sender: TObject);
var
EAMString:TEAMString;
begin
EAMString.Text := edtTexto.Text;
edtTrimALL.Text := EAMString.Alltrim;
edtTrimL.Text := EAMString.LTrim;
edtTrimR.Text := EAMString.RTrim;
end; </pre>
<br />
<br />
Rode a aplicação insira um texto com espaços a esquerda e a direita e clique no botão Ok:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-FJM6-lSYyXM/TjmP5ZqDoVI/AAAAAAAABAk/vcJnr3Q6wBk/s1600/Resultado.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="270" src="http://3.bp.blogspot.com/-FJM6-lSYyXM/TjmP5ZqDoVI/AAAAAAAABAk/vcJnr3Q6wBk/s320/Resultado.jpg" width="320" /></a></div>
<br />
Se você selecionar o texto com o mouse podera observar que o espaço em branco foi removido no Edit "Trim ALL" e removido a esquerda no Edit "Trim Left" e a direita no "Edit Trim Right".<br />
Repare que realizamos algumas operações no dado sem ter o seu conteúdo alterado e sem precisar usar funções externas, deixando o nosso código muito mais limpo e legível! Isso sem falar na produtividade que aumentara consideravelmente.<br />
Já imaginou no que da para fazer? Nos próximos posts vamos adicionar novas funcionalidades e criar novos tipos avançados.<br />
<br />
<a href="http://evaldoavelar.blogspot.com/2011/08/delphilazarus2.html">Confira aqui a segunda parte desse Artigo</a><br />
<script src="http://widgets.amung.us/tab.js" type="text/javascript">
</script><script type="text/javascript">
WAU_tab('hxq4ocjwkckf', 'left-middle')
</script>okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-37599866159453150482011-07-26T10:25:00.000-03:002011-08-03T12:01:42.374-03:00Instalando o Driver USB das Impressoras Fiscais da Bematech no Windows 7<div style="text-align: center;">
<span id="internal-source-marker_0.22346365528271217" style="background-color: transparent; color: black; font-family: Arial; font-size: 18pt; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">Instalando o Driver USB das Impressoras Fiscais da Bematech no Windows 7</span></div>
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 18pt; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span><br />
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Primeiro baixe o Driver </span><a href="http://www.bematech.com.br/suporte/downloads/fisc_win/bemafi32.zip"><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;">aqui</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">. Em seguida descompacte o instalador em um diretório em seu computador:</span><br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><img height="188" src="https://lh4.googleusercontent.com/CSnVRMAVqcyY_Mb3tu1_rVJHuFi_qSEpnH1BKXovC3Q8azQ2CgcqwQvHRAIaxVg5Bk2_3kGN52i_gIJ_SonZh_HB8fSzkYjZaf84zY0W4jgC9epyiP8" width="320" /><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> </span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Após a extração, execute o arquivo “bemafi32.exe”:</span></div>
<div style="margin-left: 1em; margin-right: 1em;">
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><img height="212" src="https://lh6.googleusercontent.com/S1n3_SMMhdw2fQP2pWOLxZLsML77K8FmFl9wNwxVVPIIqkqW8hOMFf_j0uJGM6a3Mx7wInoOBQLBFeqyoWzi0OkqYERjtv8BS-kCuh0_mCXKiTMBj4o" width="320" /><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Escolha um diretório para salvar os arquivos e clique em instalar:</span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="margin-left: 1em; margin-right: 1em;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span></div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
<img height="239" src="https://lh6.googleusercontent.com/G22gitg9KKTHibpDoF5Z9e2WdQ_JlQp7IDN3rl0GiUubGXGPe50o_yQW1468e97KfjpJB-_SnRxzDBKHxFodK4pqt1uRrzF80oH4LjyfahgcLWhlY6s" width="320" /></div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
<br /></div>
<div style="margin-left: 1em; margin-right: 1em;">
Verifique os arquivos extraidos:</div>
<div style="margin-left: 1em; margin-right: 1em;">
<br /></div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span></div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span><img height="238" src="https://lh3.googleusercontent.com/PqIbwO0Ie_PbrsSSg9S7dUJ6NN4FIIrolvKVzQIe0m0DZ3Fy-I865eSF41IhZRc1o7tzmrAUsTegi8u2B64H46eklZnlJmVURKbfW195iietcn--RSg" width="320" /></div>
<div style="margin-left: 1em; margin-right: 1em;">
<br /></div>
<div style="margin-left: 1em; margin-right: 1em;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Agora vá em "meu computador-> Gerenciador de dispositivo" e localize o dispositivo USB relativo a impressora:</span></div>
<div style="margin-left: 1em; margin-right: 1em;">
<br /></div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span><img height="233" src="https://lh6.googleusercontent.com/ifW--6NweYkkMT6Ij4v2XvrbTQ-KOVfLuzF59YhhetQpDPv-sZLTMvcaSQgYPUIHeVgidB9Sm0-rNrCkCUNZZVgJH8sin0epprhFP4L3fM2ejHjTZgc" width="320" /><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Agora clique com o botão direito sobre o dispositivo desconhecido e escolha propriedades:</span></div>
<div style="margin-left: 1em; margin-right: 1em;">
<br /></div>
<div style="margin-left: 1em; margin-right: 1em;">
<br /></div>
<div style="margin-left: 1em; margin-right: 1em;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> </span><img height="152" src="https://lh6.googleusercontent.com/TsXsqi5JLKRCOD-lxwoaFQh3bZS-tqkxO_YR1bzD8ayn6fVD8uKW97qSgNnhUXUvkwSktpFGH5bsxNKUYcGvTZz76zRQfkZPa9i6MGRgHEPS7H7Lp1o" width="320" /><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Agora vá na aba Driver e clique em Atualizar Driver:</span></div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><img height="320" src="https://lh3.googleusercontent.com/9D8gn9WbU1fSi5xWH6pbxThNoE8GBpXQ-RXcK3i8nJ3fwN0XKPiIb8WM_E7_4STfR5nyFLWL4IpvbmF2yIqECTzMoYQoK7pUwqWIhzKICrTRyI_lPS4" width="287" /><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span></div>
<div style="margin-left: 1em; margin-right: 1em;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Na tela seguinte, clique em procurar no meu computador:</span></div>
<div style="margin-left: 1em; margin-right: 1em;">
<br /></div>
<div style="margin-left: 1em; margin-right: 1em;">
<br /></div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-ql4_K-ZK5-4/Ti6_gVkbBKI/AAAAAAAAA_E/YETjrQhiJp0/s1600/Procurar++Driver.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="234" src="http://1.bp.blogspot.com/-ql4_K-ZK5-4/Ti6_gVkbBKI/AAAAAAAAA_E/YETjrQhiJp0/s320/Procurar++Driver.jpg" width="320" /></a></div>
<div style="margin-left: 1em; margin-right: 1em;">
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span></div>
<div style="margin-left: 1em; margin-right: 1em;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Agora clique em procurar em uma lista de drivers:</span></div>
<div style="margin-left: 1em; margin-right: 1em;">
<br /></div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><img height="234" src="https://lh3.googleusercontent.com/c-Z3HxSr4WXk4_FVtUNP5JIiCHYkUb08IY9zOrz3RIGT3ObZg3MeU1s_Nbb3lclPI0-Br_jJrxxxLf1B_idKvc-eYj9uZp0kjXelSwpaHhJwjsc0o2I" width="320" /><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Agora clique no botão Disco para procurar o driver:</span></div>
<div style="margin-left: 1em; margin-right: 1em;">
<br /></div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><img height="234" src="https://lh4.googleusercontent.com/5fyKFwlFpzweKS2onFcftsmpoGOyns0E1Rvp6WiYXCPWaeICoquDiQfBYdF8k1ZB9nYF4YWNiAUaXqadHwuO8a5SY96cEekuUt0fsTF2cfaqOQJtEI4" width="320" /><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span></div>
<div style="margin-left: 1em; margin-right: 1em;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Navegue até a pasta onde você extraiu os arquivos:</span></div>
<div style="margin-left: 1em; margin-right: 1em;">
<br /></div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><img height="173" src="https://lh6.googleusercontent.com/Cw00rz1Wos5eIfCE1X_ZLBv7RTjW4iFl2KgWjgL8lqi7gLdK9lOboj7IYyHDmYZLml_vgSb_Rn__DHrZEpvOA2qSN_jgi5TE5KOe1th6Q1IUOOL5QWc" width="320" /><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">E escolha o arquivo UsbioR1.inf e clique em ok:</span></div>
<div style="margin-left: 1em; margin-right: 1em;">
<br /></div>
<div style="margin-left: 1em; margin-right: 1em;">
<br /></div>
<div style="margin-left: 1em; margin-right: 1em;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> </span><img height="237" src="https://lh6.googleusercontent.com/XzI2VWBVJGPUYTMAzjb787pIShIta7RPJy5lzgQuzRFV5siZYye5gFbWjKvN3AGpaRCyjdWnw22hr1hAWDqy7uEMV_1q_BpY6hK7wj5CPiHPB0lb1e0" width="320" /><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Selecione o driver da Bematech e clique em Próximo:</span></div>
<div style="margin-left: 1em; margin-right: 1em;">
<br /></div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><img height="234" src="https://lh5.googleusercontent.com/ynYcSpah1p8c7UldnQlSwSScY4cDQ0EdYnOUSINoEkRuaDKn14DEuoBtyYDaFOxggKYD6Cso2mBbTj7vAq775mlcEqocPxkFq1csd9qYGNpqNF0-3H8" width="320" /><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span></div>
<div style="margin-left: 1em; margin-right: 1em;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Ignore o aviso de segurança do windows e clique em instalar o driver:</span></div>
<div style="margin-left: 1em; margin-right: 1em;">
<br /></div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><img height="191" src="https://lh4.googleusercontent.com/HGne-NykNrOoqD9ZdU6RngAPsSamrKSUKquELenZYUIZYbllzvR9x6LloPNZuo9buEc23hmiSusem7KcUVdNKEuPPdTyTrBCGzhnLTfqNNqVdUnO8XU" width="320" /><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span></div>
<div style="margin-left: 1em; margin-right: 1em;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Se tudo ocorreu bem o driver será instalado com sucesso:</span></div>
<div style="margin-left: 1em; margin-right: 1em;">
<br /></div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span></div>
<div style="margin-left: 1em; margin-right: 1em;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span></div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
<img height="234" src="https://lh3.googleusercontent.com/4uP-gqoZ3viZkzFbtPsXyVolUgJm01kBxRb2Tty3bI-wRr2MgNQDI8whCmW7U6soO6sulCTXgdGJ0zpGYacqy2WEdfFLBF-mRC5nvsEab7toMfVqeec" width="320" /></div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><img height="232" src="https://lh3.googleusercontent.com/_E85C00gHaEuDPIVGNsLzAsMwEuRU5nhU4qrG1jScBQ1m_Kx-t9yFOYMkpvJl1x-JeNKe0Q3NV_wgUH8N4UXDqhJulvymBsxpWak0veMCryCIcJ8NSo" width="320" /><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span></div>
<div style="margin-left: 1em; margin-right: 1em;">
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Agora acesse o arquivo bemafi32.ini (geralmente fica no diretório c:\windows\system32) e modifique a chave "porta" para USB:</span></div>
<div style="margin-left: 1em; margin-right: 1em;">
<br /></div>
<div style="margin-left: 1em; margin-right: 1em;">
</div>
<div style="margin-left: 1em; margin-right: 1em;">
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><img height="208" src="https://lh3.googleusercontent.com/JFCBcUBjHMWw_OCW3KKI1VL9kqurKbLz5TGjplch8iPx6xTYZfSm-Y5uLvwTEtqUv1GukgD7k4nMGRyuWoxLCEQy5nqlNr7QbtJdPGT1reMBTj_ia98" width="320" /><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Depois destes passos a impressora estará pronta para funcionar pela porta USB no Windows 7.</span></div>
<br />
<br />
<div class="fr" id="get_tab_widget" style="margin-top: -10px;">
<div class="codebox" id="codebox">
<div id="tab_widget_code">
<script>
var
_wau = _wau || []; _wau.push(["tab", "95tr09md7zaw", "vu2",
"left-middle"]);(function() { var s=document.createElement("script");
s.async=true;
s.src="http://widgets.amung.us/tab.js";document.getElementsByTagName("head")[0].appendChild(s);})();
</script></div>
</div>
</div>
okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0tag:blogger.com,1999:blog-3026339537188848549.post-86739200421746327752011-05-19T22:14:00.000-03:002011-05-19T22:14:37.630-03:00<div class="separator" style="clear: both; text-align: left;"></div><div style="margin-left: 1em; margin-right: 1em;"><span id="internal-source-marker_0.33304216976301537" style="background-color: transparent; color: black; font-family: Arial; font-size: 18pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">FreeRapid Downloader em dual boot</span><br />
<br />
<span id="internal-source-marker_0.33304216976301537" style="background-color: transparent; color: black; font-family: Arial; font-size: 18pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"> </span><img border="0" height="173" src="http://i446.photobucket.com/albums/qq190/SoulReaverflame/freerapid3.jpg" width="320" /></div><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">O </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">FreeRapid Downloader</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> é um excelente gerenciador de downloads </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">de servidores de hospedagem </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">open source</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">. Atualmente ele suporta mais de 230 servidores de hospedagem, dentre os quais estão:</span><br />
<ul><li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">MediaFire.com</span></li>
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Megaupload.com</span></li>
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Hotfile.com</span></li>
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">FileFactory.com</span></li>
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Filebase.to</span></li>
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Uploaded.to</span></li>
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">DepositFiles.com</span></li>
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Share-online.biz</span></li>
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Storage.to</span></li>
<li style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; list-style-type: disc; text-decoration: none; vertical-align: baseline;"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Uploading.co</span></li>
</ul><div class="separator" style="clear: both; text-align: center;"><a href="http://3.bp.blogspot.com/-oNXcUJylKBM/TdWg0-8ALtI/AAAAAAAAA9g/zRV2rHPm17k/s1600/servidores.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="214" src="http://3.bp.blogspot.com/-oNXcUJylKBM/TdWg0-8ALtI/AAAAAAAAA9g/zRV2rHPm17k/s320/servidores.jpg" width="320" /></a></div><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">O </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">FreeRapid Downloader </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">permite também salvar vídeos do youtube, basta copiar a url com o aplicativo aberto que ele detecta automaticamente que é um vídeo e oferece a opção de download. </span><br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-9MGBKS64mKI/TdWgIgjUk-I/AAAAAAAAA9U/x52eegXguwo/s1600/copioar+link+video.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="252" src="http://1.bp.blogspot.com/-9MGBKS64mKI/TdWgIgjUk-I/AAAAAAAAA9U/x52eegXguwo/s320/copioar+link+video.jpg" width="320" /></a></div><br />
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">O mesmo vale para os todos os servidores suportados: Ele detecta de qual servidor é a url e se for preciso inserir <b>captcha</b>, ele irá exibir um campo com a imagem. O aplicativo permite incluir várias urls de diferentes servidores ao mesmo tempo, pausar os downloads, calcular o tempo restante até o termino, exibir a velocidade da conexão, dentre outros.</span><br />
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-p_J2iGButAk/TdWgOFvZ2pI/AAAAAAAAA9Y/q0x-sQc43mk/s1600/Link+do+youtube.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="185" src="http://1.bp.blogspot.com/-p_J2iGButAk/TdWgOFvZ2pI/AAAAAAAAA9Y/q0x-sQc43mk/s320/Link+do+youtube.jpeg" width="320" /></a></div><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<br />
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">O português está incluído na galeria de idiomas suportados, o que facilita muito para usuários brasileiros.</span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-HM0L7eQ-buQ/TdWgbm2wSII/AAAAAAAAA9c/_IBYfGg6uWg/s1600/Portugues.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="214" src="http://1.bp.blogspot.com/-HM0L7eQ-buQ/TdWgbm2wSII/AAAAAAAAA9c/_IBYfGg6uWg/s320/Portugues.jpg" width="320" /></a></div><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<br />
<br />
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">O </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">FreeRapid Downloader </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> é muti-plataforma, o que nos permite usá-lo em dual boot. Para começar escolha um diretório compartilhado com os 2 sistemas operacionais onde ficararam os arquivos do aplicativo. Para este artigo foi escolhido</span> o diretório montado no linux:<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">/home/dados/frd</span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Para executar no linux você pode usar o arquivo</span><a href="http://frd.sh/"><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> </span><span style="background-color: transparent; color: #000099; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: underline; vertical-align: baseline;">frd.sh</span></a><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"> disponível no diretório do </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">FreeRapid Downloader </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">ou então digitar no console:</span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">java -jar frd.jar</span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://pplware.sapo.pt/wp-content/images2009/imagem_freerapid_downloader01.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="164" src="http://pplware.sapo.pt/wp-content/images2009/imagem_freerapid_downloader01.jpg" width="320" /></a></div><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Para que ele funcione em dual boot no Windows vamos precisar criar um arquivo bat com o seguinte comando:</span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;"></span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">frd.exe -p</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-tLGbKBx1g4w/TdWhKD0mvkI/AAAAAAAAA9k/4iAu6sxIS7M/s1600/bat.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="193" src="http://1.bp.blogspot.com/-tLGbKBx1g4w/TdWhKD0mvkI/AAAAAAAAA9k/4iAu6sxIS7M/s320/bat.jpeg" width="320" /></a></div><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span><br />
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">O -p diz para o </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">FreeRapid Downloader </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">ser <b>portabel</b>, ou seja, usar o diretório de configuração local, a pasta </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">config.</span> Em seguida é só executar o arquivo bat.<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span><br />
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span><br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://1.bp.blogspot.com/-OG4qJqGva48/TdWhdMLwKeI/AAAAAAAAA9o/agn-Kfmjdjk/s1600/pasta+config.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="245" src="http://1.bp.blogspot.com/-OG4qJqGva48/TdWhdMLwKeI/AAAAAAAAA9o/agn-Kfmjdjk/s320/pasta+config.jpg" width="320" /></a></div><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span><br />
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">È recomendado também que ao escolher o diretório para salvar os arquivos, você escolha um que esteja acessível aos dois sistemas operacionais, assim ao começar o download em um sistema, você pode terminar no outro.</span><br />
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Está técnica também pode ser usada para fazer backup dos downloads ainda em andamento do </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">FreeRapid Downloader </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline;">no windows</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">. </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline;"></span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline;">Bastando</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline;"> apenas salvar o diretório onde o aplicativo está salvo</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline;"> e copia-lo para um lugar seguro</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">. </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; text-decoration: none; vertical-align: baseline;">No linux, ele já salva no diretório local.</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span><br />
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">Obs: </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Para que o </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">FreeRapid Downloader </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">funcione corretamente é preciso ter instalado o Java no computador.</span><br />
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">Abaixo, um vídeo de que da mais detalhes do uso do </span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;">FreeRapid Downloader</span><span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: normal; text-decoration: none; vertical-align: baseline;">: </span><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span><br />
<br />
<div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/mix6fOw0WoM?feature=player_embedded' frameborder='0'></iframe></div><br />
<br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span><br />
Mais informações na página oficial do projeto :<br />
<br />
<i><b>http://wordrider.net/freerapid/download.html</b></i><br />
<span style="background-color: transparent; color: black; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: bold; text-decoration: none; vertical-align: baseline;"></span>okhttp://www.blogger.com/profile/08864571097079427977noreply@blogger.com0