Escolar Documentos
Profissional Documentos
Cultura Documentos
magazine
www.ecode10.com
Aprenda a
programar com C#.NET, desenvolver web site ASP.NET, mobile, micro terminais, veja as dicas, notcias de informtica, promoes de vdeos, podcasts e muito mais sem gastar dinheiro.
4 5 6 7 8
Nova maneira de usar cache com .NET Dell lanado e a venda com Windows Phone 7 O segredo de utilizar ModalPopupExtender Pegando IP da mquina com CSharp
9 10 11 12
Plataforma Web ou Windows Forms? Adicionando tecla ESC no formulrio WebApp no mercado Programando para Micro Terminais com C# e Windows Embedded
A Revista
A ecode10 Magazine veio com o objetivo de ajudar voc leitor com artigos de informtica, programao, notcias, promoes e vdeos especiais. Se voc precisa aprender a programar, precisa de dicas importantes de segurana na programao e no tem muito tempo para ficar lendo livros de 500 ou 1000 pginas; ento leia a nossa revista.
Editorial
Seja patrocinador
Seja um patrocinador da nossa revista e promova o seu negcio de forma simples, especial e com grande oportunidade de retorno. Para ser um patrocinador, no sempre precisa investir dinheiro, voc pode investir o seu tempo mandando artigos, mandando vdeos feitos, divulgando o nosso trabalho no seu Twitter, mandando e-mail e muito mais. Se voc quiser investir dinheiro, e colocar o seu negcio dentro da revista enviada para mais de 8 mil pessoas gratuitamente; basta colocar o valor de R$ 50,00 (cinquenta reais) para tal. O valor serve apenas para nos ajudar a manter o site no ar e com segurana. No temos at o momento o objetivo de lucro como outras existentes no mercado.
A revista possui mais artigos tcnicos do que te tericos, isso porque somos feitos de programadores, isto , a revista feita com ajuda dos programadores.
A revista grtis para download, basta ter apenas cadastro nos sites www.ecode10.com ou no www.aspneti.com. Se voc quer nos ajudar publicando artigo na revista, ento escreva para ns ou entre no site, v ao menu fale conosco e nos mande uma informao. Estamos tambm no Twitter divulgando informaes sorteando promoes de vdeos, ebooks e artigos.
problema o Length >=2, isso porque no momento, j existe um programa aberto e ao clicar novamente, dois processos sero abertos (quando falo em processos, digo o prprio programa .exe). Note que, uma mensagem mostrada na tela e
o passo seguinte nalizar o aplica?vo com o Applica=on.Exit(); e return. Segunda maneira A segunda maneira de pegar processos da
if (System.Diagnostics.Process.GetProcessesByN ame("nome-projeto").Length >= 2) { MessageBox.Show("Ateno: O Aplicativo j est aberto no seu computador.", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Stop, MessageBoxDefaultButton.Button1); Application.Exit(); return; }
mquina e vericar se existe algum processo funcionando, u?lizando for. Para isso, gerei um array e percorri o mesmo. (Code 1.2)
System.Diagnostics.Process[] processos; processos = System.Diagnostics.Process.GetProcesses(); // Faz um FOR (busca) em todos os processos for (int i = 0; i < processos.Length; i++) { // Verifica se um processo em especifico est sendo executado if (processos[i].ProcessName == "nome- projeto") { MessageBox.Show("Nome: " + processos[i].ProcessName.ToString()); } }
1.1, pego diretamente pelo nome usando o mtodo do framework chamado GetProcessesByName. A vericao feita logo no incio do aplica?vo, geralmente no Load do primeiro formulrio. Todo o processo existente na mquina, o
programa pode pegar passando apenas o nome do programa ou projeto. Geralmente o nome do projeto
Code 1.2
uma mo na roda. Voc pode pegar o id, pode matar o processo, pode vericar se est sendo executado e muito mais. O framework da Microso^ possibilita essa programao simples e tranqila. Bom, espero que tenha gostado e qualquer
foi preenchido e de acordo com a regra do sistema, precisa ser preenchido pelo usurio. Foi usado o ScriptManager.RegisterClientScriptBlock passando alguns parmetros par?culares para exibio da mensagem mantendo ainda os dados da tela aspx. (Code 1)
<UpdatePanel> e o <ContentTemplate>, aquelas mensagens que funcionam deixam de funcionar apresentando apenas um erro na tela. Todo esse processo mostrado quando a mensagem javascript est dentro do cdigo VB.NET ou C#.NET. O obje?vo mostrar uma forma simples e fcil
de como deixar funcionando os comandos javascripts dentro do C#.NET. Usado: Linguagem C#.NET, ferramenta Visual Studio 2010, plataforma ASP.NET (web). A mensagem deve vir de dentro do cdigo de
mensagem, apenas um controle como se fosse um id de objeto de tela, ou seja, no deve ser repe?do na mesma pgina. No necessrio passar o <script>javascript:</script>, basta colocar o alert ou conrm para quem usa. Para exibir uma mensagem na tela pegando
String situacao = meu nome; ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "mensagem-1", "alert('" + situacao + "');", true);
Code 2
pgina. Em resumo, todo cdigo javascript que quiser colocar dentro do C#.NET pode ser colocado de acordo com os exemplos acima. Espero que tenha gostado, qualquer dvida pode entrar em contato pelo site.
Montando estrutura de um site MVC 2 com Visual Studio .NET 2010 - Parte 2
Primeiro
ar2go
mostrado
na
primeira
edio
da
revista.
<asp:Content
ID="Content1"
ContentPlaceHolderID="TitleContent"
runat="server">
Contato </asp:Content> <asp:Content
ID="Content2"
ContentPlaceHolderID="MainContent"
runat="server">
<h2>Contato</h2>
<%
using
(Html.BeginForm())
{
%>
<%:
Html.ValidationSummary(true,
"A
mensagem
falhou
a
ser
enviada!
Tente
novamente!")
%>
<fieldset>
<legend>Entre
em
contato</legend>
<div>
<%:
Html.Label("Nome:
")
%>
</div>
<div>
<%:
Html.TextBox("txtNome",
null,
new
{
@class="campo_form"
})
%>
</div>
<div><%:
Html.Label("Email:
")
%></ div>
<div>
<%:
Html.TextBox("txtEmail",
null)
%>
</div>
<div><%:
Html.Label("Descrio:
")
%></div>
<div>
<%:
Html.TextArea("txtDescricao")
%>
</div>
<input
type="submit"
value="Enviar"
/>
</fieldset>
<%
}
%> </asp:Content>
MVC 2 u?lizando o Visual Studio .NET 2010,tenho o obje?vo de mostrar como criar um formulrio para envio de e-mail com a nova ferramenta e arquitetura. um pouco diferente da forma an?ga de fazer, porm ca bem mais organizado para quem gosta de organizao e no tem nenhuma. Para quem no leu o ar?go anterior, segue o link para melhor entendimento. Este ar?go realmente con?nuao do anterior. Usado: Ferramenta: Visual Studio .NET 2010 Linguagem: C#.NET Plataforma: Web Arquitetura: MVC No ar?go anterior, foi colocado uma descrio
simples na View Contato.aspx criada. Agora eu vou mostrar uma forma diferente de colocar os campos TextBox com validao de dados. Code 2.1
Montando estrutura de um site MVC 2 com Visual Studio .NET 2010 - Parte 2
Estou
usando
o
HTML.BeginForm()
para
dar
<div>
<%:
Html.TextBox("txtNome",
null,
new
{
@class="campo_form"
})
%> </div>
incio ao formulrio, aquela tag que usamos <form...> para colocar os campos. Veja que os campos so totalmente diferentes, isso porque est sendo usado scrip-led (um nome dado por usar as tags <% dentro da pgina HTML. Para label eu uso: (Code 2.2)
input
submit
igual
ao
HTML.
Mas
dentro
da
tag
formulrio.
Code
2.6
<div>
<%:
Html.Label("Nome:
")
%> </div>
Code
2.6
<div>
<%:
Html.TextBox("txtEmail",
null)
%> </div>
<%: Html.ValidationSummary(true, "A mensagem falhou a ser enviada! Tente novamente!") %>
Code 2.7 Bom, tudo isso foi apenas a parte da View Contato que precisei colocar. Agora necessrio fazer a Model e a Controller. Criando Model
Code 2.4 Para u?lizar oformulrio com algum es?lo Agora eu preciso criar uma Model que tem a
especco, basta acrescentar alguns dados no script da tela. Veja o Code 2.5.
regra de validao e envio de e-mail com interface e service. O primeiro passo foi criar uma nova classe chamada Contato.cs. Cliquei com o boto direito em cima da pasta Models, escolhi a opo Add e depois
Montando estrutura de um site MVC 2 com Visual Studio .NET 2010 - Parte 2
New
Item...
(Figura
1)
public
class
Contato
{
[Required]
[DataType(DataType.MultilineText)]
public
string
txtDescricao
{
get;
set;
}
[Required]
[DataType(DataType.Text)]
public
string
txtNome
{
get;
set;
}
[Required]
[ValidatePasswordLength]
[DataType(DataType.EmailAddress)]
public
string
txtEmail
{
get;
set;
}
}
Code 2.8 A primeira linha [Required] mostra que o campo requerido, ou seja, obrigatrio para digitao. A segunda linha o DataType, o ?po do campo, note que o primeiro e o segundo so diferentes. Um mul?lineText e o outro Text. O prximo passo gerar outra classe que envia o email e depois gerar a interface. Isso tudo dentro do mesmo arquivo Contato.cs. Abaixo public class Contato, depois de fechar a chave gero outro public class. (Code 2.9)
Referncia: Figura 2 Como eu tenho campos para serem digitados, preciso gerar get e set, interface e um service. O mtodo ContatoService o local onde o e-mail ser enviado. Vamos para a pr?ca. Code 2.8
Montando estrutura de um site MVC 2 com Visual Studio .NET 2010 - Parte 2
public
class
ContatoService
{
public
bool
enviarEmail(string
descricao,
string
nome,
string
email)
{
try
{
MailMessage
mailMsg
=
new
MailMessage();
mailMsg.To.Add("mauriciojunior@mauriciojunior.o rg");
MailAddress
mailAd
=
new
MailAddress(email);
mailMsg.From
=
mailAd;
mailMsg.Subject
=
"envio
de
email
pelo
site";
mailMsg.Body
=
descricao;
SmtpClient
smtpClient
=
new
SmtpClient("mail.service.net",
25);
System.Net.NetworkCredential
cred
=
new
System.Net.NetworkCredential("usuario",
"senha");
smtpClient.Credentials
=
cred;
smtpClient.Send(mailMsg);
return
true;
}
catch
(Exception)
{
return
(false);
}
}
} public
interface
IContatoService
{
bool
enviarEmail(string
descricao,
string
nome,
string
email);
}
Code 2.10 A interface d-se o incio por public interface IContatoService. O mesmo nome, mas com o I na frente. A interface chama o mtodo de enviar e-mail com os dados e assim termina o mtodo da Model Contato. S que ainda no terminei de fazer tudo que precisava para deixar funcionando a funcionalidade de enviar email. Como a View Contato est dentro da p a s t a H o m e , p r e c i s o a l t e r a r o a r q u i v o HomeController.cs que est dentro da pasta Controllers. Preciso criar um Ac?onResult com o mesmo nome da View passando como parmetro os dados criados da Model. Figura 3.
Code 2.9 Esse public classe ContatoService, ou seja, um servio de contato cujo recebe como parmetro trs dados e retorna um ?po bool. Antes de terminar esta classe existe a interface que precisa ser acrescentada dentro do mesmo arquivo. Code 2.10
Montando estrutura de um site MVC 2 com Visual Studio .NET 2010 - Parte 2
[HttpPost]
public
ActionResult
Contato(Contato
model)
{
if
(ModelState.IsValid)
{
ContatoService
cs
=
new
ContatoService();
if
(cs.enviarEmail(model.txtDescricao,
model.txtNome,
model.txtEmail))
{
return
View("ContatoSucesso");
}
else
ModelState.AddModelError("",
"Erro
ao
enviar
a
mensagem");
}
else
ModelState.AddModelError("",
"Erro
ao
enviar
a
mensagem");
return
View();
}
Code 2.11 Referncia: Figura 3. A HomeController.cs est selecionada mostrada na gura 3. Dentro da classe acrescentei um mtodo Contato informando que um hyp Post. Code 2.11 Dessa forma, caram dois mtodos com o mesmo nome, porm um recebe parmetro de entrada e o outro no. Na primeira linha coloquei HypPost para informar que um mtodo para dar submit. Dentro do mtodo, veriquei se a ModelState est vlida, ou seja, se todos os parmetros foram preenchidos. Gerei uma instncia de ContatoService chamda cs que chama o mtodo enviarEmail passando os parmetros usando a model. Caso o resultado for ok, a View chama outra View com a mensagem que foi enviada com sucesso. Figura 4.
Montando estrutura de um site MVC 2 com Visual Studio .NET 2010 - Parte 2
Figura 4. Dentro da View Home existe outra view que criei chamada ContatoSucesso.aspx. Para chamar eu coloquei o cdigo (return View("ContatoSucesso");). Caso o retorno for false, eu mando uma mensagem para a tela. Bem simples e fcil de entender. Concordo que diferente do que fazamos anteriormente, porm ca mais organizado. Segue na pr?ca depois de clicar F5. Ao iniciar a pgina, cliquei no boto Enviar da Contato. (Figura 5) Referncia: Figura 6 A mensagem que escrevi na View de Sucesso apareceu na tela e o e-mail chegou. Bom, espero que tenha gostado e qualquer dvida pode entrar em contato pelo site. Obrigado. Referncia: Figura 5. Veja que os campos caram de outra cor e a
mensagem foi exibida. Agora eu vou preencher os dados e clicar no boto. Depois de preencher e enviar, veja o que mostrou na tela. Figura 6.
Desde a primeira verso do .NET, muitas coisas foram mudadas. Muitos desenvolvedores usam ainda a maneira an?ga sem saber que existe uma maneira nova de se fazer e mais ecaz. Hoje o que queria informar e mostrar a maneira de habilitar cache dentro do aplica?vo, tudo isso dentro do cdigo C#.NET ou VB.NET sem precisar colocar nada dentro do arquivo .ASPX. Usado: Ferramenta: Visual Studio .NET 2010 Linguagem: C#.NET Plataforma: ASP.NET (web) Todo o teste pode ser feito usando a plataforma da Microso^ no seu prprio computador. Existem tambm vrias maneiras de fazer uma mesma coisa, vou tentar mostrar algumas maneiras. Para quem no sabe, o cache uma maneira de evitar que a pgina seja atualizada no servidor buscando dados, ou a busca de informaes j con?das na memria do browser. Dessa maneira, as
Exemplo feito O exemplo que z, mostra que o tempo no atualizado mesmo clicando no boto refresh. Aps terminar o tempo, a pgina atualizada no clique. Tirando o Cache O m a i s c l s s i c o Response.CacheControl. (Code 1). u s a r o
Code
1
Outra
maneira
colocar
cdigo
dentro
do
arquivo
de
congurao:
Web.cong.
(Code
2).
<system.web>
<!--
Remove
o
cache-->
<httpRuntime
sendCacheControlHeader="false"/>
...
Code 2
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication3_Cashe._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/ DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="lblTempo" runat="server"></asp:Label> </div> </form> </body> </html>
Code
3
No
Code
3,
foi
atribudo
o
cache
de
1
hora
para
a
pgina.
O
segundo
zero
equivale
a
minutos
e
o
terceiro
a
segundos.
Outra
maneira
adicionar
o
tempo
antes
de
habilitar
o
public.
(Code
4).
Response.Cache.SetExpires(DateTime.Now.AddS econds(60)); Response.Cache.SetCacheability(HttpCacheabi lity.Public);
Code 4 Note que no Code 4, depois de 60 segundos o cache expira. Segue o Code 5 que mostra o exemplo real feito para mostrar que funciona. Code 5
Hoje me surpreendi vendo um Venue Pro sendo anunciado no site por $99 (doletas) bloqueado e $299,00 (doletas) desbloqueado. O melhor de tudo, o aparelho vem com o Windows Phone 7 pronto para atualizao. O de $99 precisa cumprir contrato de 2 anos pela T-Mobile. O modelo desbloqueado alm de sem contrato, pode ser colocado chip de qualquer operadora do mundo. O aparelho possui duas verses, de 16 GB e 32 GB. Para aparelho de 16GB o valor ca mais barato $49,99. A verso desbloqueada de 32GB ca $500,00 (doletas). Ser que no Brasil pode chegar a esse preo? R$ 500,00 reais seria ?mo no acha?
em seu Toolbox. Criei uma nova aba e adicionei a dll que z download no site asp.net. (Imagem 1)
ajudar os desenvolvedores na criao de web sites e aplica?vos web. Voc pode fazer download da dll ou cdigo fonte neste site: Site: hyp://www.asp.net/ajax/ajaxcontroltoolkit/ samples/ No ano de 2009, publiquei um ar?go mostrando
como usar o ModalDialogExtender, falei de css e o cdigo para chamar a tela. O problema maior foi que, a tela mostrada sem que acesse diretamente o cdigo para qualquer processamento antes de aparecer. Ar?go: hyp://ecode10.com/ar?go/695/ modaldialogextender.aspx Neste ar?go, vou mostrar primeiro o
processamento dentro da linguagem e no nal, o resultado ser mostrado dentro da tela modal. Dessa maneira ca muito mais fcil usar essa grande funcionalidade que evita abrir popup que muitas vezes so bloqueados pelos browsers. Qualquer dvida sobre css, pode recorrer ao primeiro ar?go escrito em 2009, funciona muito bem. Imagem 1
Clique dentro da aba com o boto direito e escolha a opo chamada Choose Items. Uma tela nova aberta para a indicao da dll. (Imagem 3)
desenvolver uma pgina de exemplo. Arraste o componente da Toolbox chamado ModalPopupExtender para a pgina .aspx. Automa?camente o componente coloca no incio da pgina uma indicao. (Code 1)
Code 1
chamada BackgroundCSSClass=modalBackground indicando a parte do css, foi adicionado tambm um boto para fechar a tela CancelControlID=cmdFechar localizado dentro do painel (code 2), foi colocado tambm a propriedade PopupControlID=pnlImagem q u e o n o m e d o p a i n e l c r i a d o e a TargetControlID=lblTeste indicando a label. Aps o processamento de um clique qualquer,
pnlImage, o CssClass coloquei o modalPopup criado no ar?go anterior e um Style=display:none para no aparecer na tela, s quando eu chamar. Depois de criar o Painel criei um label normal
o cdigo passa pelos mtodos e depois mostra o popup. No meu exemplo, no clique da grid ele deve mostrar uma imagem de acordo com o registro. (Imagem 5)
Code 3 Ainda falta colocar o modal indicando o painel e Imagem 5 Usei o RowCommand para fazer essa
funcionalidade. No vou detalhar muito porque no o nosso foco falar dessa propriedade do grid.
ModaPopupExtender1, assim basta chamar o Show. O segredo est no componente label adicionado na pgina e indicado no TargetControlID. No ar?go an?go, o que era indicado nessa propriedade era um boto e no clique dele aparecia o popup sem que passasse pelo cdigo .cs. Agora o processamento feito primeiro para depois aparecer o popup. (Imagem 6)
contato.
nmero de ip da mquina para gravar no banco de dados usando Windows Forms e C#.NET. O meu problema foi que nunca precisei fazer isso, a no ser usando a plataforma ASP.NET (web). Pra isso ?ve que estudar um pouco e achar uma
GetHostAddresses passando o nome do computador pego anteriormente. O mtodo retorna um array de IPAddress, ou seja, pode ser pego vrios ips no caso da no passada de parmetro (nome). O passo seguinte exibir o nmero em tela.
melhor maneira de pegar IP sem digitar muitas linhas de cdigos. O resultado foi interessante, achei vrias maneiras de fazer, porm escolhi a que melhor para o meu caso. Ento resolvi divulgar como ar?go do site as 3 linhas de cdigos. Usado: Windows Forms, Visual Studio 2010, C#.NET, System.Net. O que quei mais surpreso foi que o framework
MessageBox.Show(ip[1].ToString());
da Microso^ possui classes especcas para ajudar os desenvolvedores com isso. O primeiro passo foi fazer o importe da classe
Imagem: Tela 2 Na tela de propriedades, a propriedade chamada KeyPreview foi atribuda para TRUE. Ela vem com o valor padro FALSE. Mudei para TRUE. Tela 3. O prximo passo foi clicar em EVENTS, veja na
quiser sair da mesma basta clicar no boto SAIR ou clicar ESC. Para que o ESC funcione perfeitamente programa?camente, vou abrir as propriedades do formulrio e atribuir alguns dados. Imagem (Tela 2)
Code 1. muito simples e fcil, basta prestar ateno nas partes anteriores do cdigo. Falado acima. A tecla 27 corresponde a tecla ESC. Fico por aqui e espero ter gostado.
WebApp no Mercado
Ol
pessoal,
ontem
foi
marcado na
internet
vrias
mensagens
falando
sobre
o
aplica?vo
Oce da
Microso^
funcionando
na
Web
para
a
Amrica
La?na.
Antes
de
sair
para
Amrica
La?na,
j
estava
funcionando
perfeitamente
para
os
Estados
Unidos.
Para
testar
antes
de
chegar
no
Brasil,
bastava
mudar
o
seu
pas
nas
conguraes
do
webmail
(HotMail).
Para
usar
o
aplica?vo,
basta
ter
uma
conta
no
do
mercado.
Hoje
pode
ser
funcione
em
todos
os
celulares
com
acesso
a
internet.
Para
isso,
necessrio
u?lizar
um
padro
especco e deixar de usar algumas apis redirecionadas ao browser do computador como o Flash. Alguns aparelhos como o iOS da Apple no funcionam com esse componente. No meu ponto de vista, vale a pena fazer
Hotmail, Live, Windows Live ou MSN. L no menu topo existe uma opo chamada Oce, com sub menus seus documentos, novo documento Word e outros. Quanto custa usar esse aplica?vo diretamente pelo browser? Nada, no se paga nada para usar o Word, Excel, PowerPoint ou OnNote. No s isso, alm de ter as mesmas caracters?cas do Word 2010 instalado na mquina, voc pode compar?lhar o documento com algum do seu grupo de e-mail ou amigos, com segurana. O WebApp tem tomado conta do mercado no
aplica?vo webapp para mobile, j que usando o padro correto pode ser usado em todos os mveis. O que acha, vale a pena?
mundo, o Google por exemplo j possui o seu editor a um bom tempo, mas no tem toda essa intera?vidade do Word que a Microso^ lanou via browser. D para perceber a diferena quando voc usa um ou outro. No apenas em browsers ou nos computadores,
Figura 1. Emulador de Teclado, Display, Cdigo de Barras e Leitor de Banda Magn?ca, todos os perifricos que compes um Micro Terminal que hoje roda Windows XP Embedded Aps baixar os emuladores, pasme! Voc j esta com 50% do caminho traado para comear a realizar a primeira comunicao em C# com o M icro Terminal. Mas antes disso necessito passar a vocs o conceito de Tags, Tags de comunicao com o Display, que disposi?vo pelo qual o operador e usurio de nosso sistema embedded ir se comunicar e inputar os dados necessrios e solicitados pelo sistema. TAGS A comunicao com o display d-se por meio de TAGS, tags inteligentes que passadas como parmetro de uma DLL (UnManageCode e que pode ser chamada em C#) voc consegue obter o resultado que voc necessita de display. A Lista completa das tags, o que cada uma delas fazem e exemplos em C# voc poder e n c o n t r a r a q u i n e s t e l i n k h y p : / / www.desenvolvedoresdaruma.com.br/home/ downloads/Site_2009/HelpOnline/ Daruma_Framework.htm . Para entender o potencial que um Micro Terminal que roda Windows pode agregar em sua soluo de so^ware, vamos fazer o seguinte: Neste ar?go de inovao vamos criar um aplica?vo que se comunica com o Display e assim d a possibilidade de voc testar toda e qualquer TAG de acesso ao display, possibilitando assim que voc escolha qual TAG usar para implementar em sua regra de negcio.
Figura 2. Execuo da TAG que limpa apenas a segunda linha do display A TAG <limpar>0</limpar><imprimir><texto>Ola Mundo .NET</texto></imprimir> produzir o seguinte resultado no display conforme gura 3
Figura 3. Execuo da TAG que limpa as duas linhas do Display e imprime um texto solicitado pela TAG U2lizando a Inovao, Colocando a mo na massa!! Bem, agora que voc j esta familiarizado com o potencial e facilidade de acesso ao display, e neste momento no tenho duvidas que voc entendeu a lgica de funcionamento das tags, vamos coloca a mo na massa e construir nossa aplicao em C# para interpretar todo e qualquer tag enviada para o display. Conforme gura 3 criei um form bem simples onde possumos dois TextBox onde chamei o primeiro de Comando e o segundo de resposta, na propriedade Name de ambos os TextBox. Logo aps inseri um Boto simples, para que o comando seja enviado ao Display. Aps isso apenas ampliei para 18 o tamanho da letra de Ambos os textbox habilitando o Negrito. Como a comunicao como display acontece atravs de uma falsa porta atravs da DLL DarumaFrameWork.DLL, e uma comunicao baixo nvel, u?lizaremos aqui no
{ /// <summary> /// Classe para uso dos produtos DARUMA FRAMEWORK -- DarumaFramework.dll-- /// FrameWork de comunicacao que interliga todos os produtos DARUMA Automacao /// </summary> public class Declaracao_TA2000 { public int iRetorno; [DllImport("DarumaFrameWork.dll")] // Declaracao da Variavel por Referencia public extern int iEnviarDadosFormatados_TA2000_Daruma(System.String szTexto, [MarshalAs(UnmanagedType.VBByRefStr)] ref string szRetorno); #endregion } }