﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.howtodothings.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>HowToDoThings.com Delphi</title>
 <link>http://www.howtodothings.com/pt/delphi</link>
 <description>A list of recent articles by category as Teasers.</description>
 <language>pt</language>
<item>
 <title>Como Capturar Ecrã com Delphi</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/como-capturar-ecr%C3%A3-com-delphi</link>
 <description></description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/como-capturar-ecr%C3%A3-com-delphi#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Mon, 22 Dec 2008 09:40:31 -0600</pubDate>
 <dc:creator>Zamrony P535</dc:creator>
 <guid isPermaLink="false">35049 at http://www.howtodothings.com</guid>
</item>
<item>
 <title>Como ligar um aplicativo Delphi para acessar</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/como-ligar-um-aplicativo-delphi-para-acessar</link>
 <description></description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/como-ligar-um-aplicativo-delphi-para-acessar#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Fri, 19 Dec 2008 11:41:03 -0600</pubDate>
 <dc:creator>m_s</dc:creator>
 <guid isPermaLink="false">34302 at http://www.howtodothings.com</guid>
</item>
<item>
 <title>Linhas de encomenda</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/linhas-de-encomenda</link>
 <description>&lt;p&gt;Ao criar uma associação na ECO não estiver garantida a ordem em que os objetos no final da associação, será apresentado. Por esta razão ECO fornece um Boolean &amp;quot;ordenada&amp;quot; propriedade em associação termina. &lt;/p&gt;
&lt;p&gt; Quando você define Pedida = True no seu modelo e, em seguida, gerar o seu banco de dados, ECO irá criar mais uma coluna no seu banco de dados para identificar a seqüência dos objetos. &lt;/p&gt;
&lt;p&gt;Acabei de criar SalesInvoice / SalesInvoiceLine classes e optaram por uma associação ordenada, basicamente porque é prática padrão da indústria para identificar cada linha de uma fatura / Despacho com um número seqüencial, tornando-o facilmente ela identifyable quando se discutem. &lt;/p&gt;
&lt;p&gt; Teria sido legal se eu pudesse ter usado um atributo com uma resultantes OCL expressão semelhante a esta: &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt; this.SalesInvoice.lines-&amp;gt; indexOf (auto)&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.howtodothings.com/pt/computadores-e-internet/linhas-de-encomenda&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/linhas-de-encomenda#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Sun, 30 Nov 2008 03:40:40 -0600</pubDate>
 <dc:creator>Peter5</dc:creator>
 <guid isPermaLink="false">28298 at http://www.howtodothings.com</guid>
</item>
<item>
 <title>Application.ProcessMessages substituição</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/applicationprocessmessages-substitui%C3%A7%C3%A3o</link>
 <description>&lt;p&gt;Não só é muito longa para Application.ProcessMessages tipo, muitas vezes a funcionalidade extra tem de ser chamado quando a sua utilização. Para este efeito criada Tenho dois invólucros básico, que pode ser usado em seu lugar: &lt;/p&gt;
&lt;p&gt; ... &lt;/p&gt;
&lt;p&gt; procedimento ProcessMsg (); sobrecarga; &lt;br /&gt; procedimento ProcessMsg (const SleepFor: Word); sobrecarga; &lt;/p&gt;
&lt;p&gt; execução &lt;/p&gt;
&lt;p&gt; procedimento ProcessMsg (); &lt;br /&gt; começo &lt;br /&gt; ProcessMsg (0); &lt;br /&gt; final; &lt;/p&gt;
&lt;p&gt;procedimento ProcessMsg (const SleepFor: Word); sobrecarga; &lt;br /&gt; começo &lt;br /&gt; Application.ProcessMessages (); &lt;br /&gt; Sono (SleepFor); &lt;br /&gt; final; &lt;/p&gt;
&lt;p&gt; ... &lt;/p&gt;
&lt;p&gt; Agora, em vez de escrever Application.ProcessMessages (); no seu código, você pode escrever ProcessMsg (); vez. E, no futuro, pode prorrogar o que acontece ao redor Application.ProcessMessages chamadas sem visitar os lotes de diferentes áreas do seu código. &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.howtodothings.com/pt/computadores-e-internet/applicationprocessmessages-substitui%C3%A7%C3%A3o&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/applicationprocessmessages-substitui%C3%A7%C3%A3o#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Sun, 30 Nov 2008 03:26:08 -0600</pubDate>
 <dc:creator />
 <guid isPermaLink="false">28296 at http://www.howtodothings.com</guid>
</item>
<item>
 <title>Como recuperar AutoInc Valores com BDP no Delphi 2005</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/como-recuperar-autoinc-valores-com-bdp-no-delphi-2005</link>
 <description>&lt;p&gt;Neste artigo, vou usar o termo &amp;quot;Identidade&amp;quot; indiferentemente a nota gerada automaticamente (a partir de RDMS) valores geralmente de uma coluna que representam a chave primária de uma tabela. Estes são chamados de &amp;quot;sequências&amp;quot;, em Oracle e &amp;quot;geradores&amp;quot; no Interbase. &lt;br /&gt; Na verdade, existem 3 opções para obter o valor de volta identidade usando ADO. NET em geral:
&lt;ol&gt;
&lt;li&gt; Use um lote consulta (o banco de dados tem, obviamente, de apoio a este) &lt;/li&gt;
&lt;li&gt;Use um procedimento armazenado (como o comando Insert) tendo como parâmetro a saída de uma &amp;quot;identidade&amp;quot; valor (esse é o método mais rápido e, portanto, recomendável) &lt;/li&gt;
&lt;li&gt; Manipular Adapter&amp;#39;s RowUpdated / RowUpdating evento e emitir um &amp;quot;SELECT @ @ IDENTIDADE&amp;quot; (no caso do SQL Server) consulta no código neste evento manipulador (mais lento) &lt;/li&gt;
&lt;/ol&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.howtodothings.com/pt/computadores-e-internet/como-recuperar-autoinc-valores-com-bdp-no-delphi-2005&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/como-recuperar-autoinc-valores-com-bdp-no-delphi-2005#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Sun, 30 Nov 2008 03:25:55 -0600</pubDate>
 <dc:creator />
 <guid isPermaLink="false">28295 at http://www.howtodothings.com</guid>
</item>
<item>
 <title>Parâmetro existe</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/par%C3%A2metro-existe</link>
 <description>&lt;p&gt;Você vai precisar da função neste artigo (&lt;a href=&quot;http://www.howtodothings.com/ViewArticle.aspx?Article=760&quot; title=&quot;http://www.howtodothings.com/ViewArticle.aspx?Article=760&quot;&gt;http://www.howtodothings.com/ViewArticle.aspx?Article=760&lt;/a&gt;) para obter esta funcionando corretamente &lt;/p&gt;
&lt;p&gt; função ParamExists (const ParamName: string): Boolean; &lt;br /&gt; var &lt;br /&gt; S: string; &lt;br /&gt; começo &lt;br /&gt; Resultado: = GetParameterValue (ParamName, [&amp;#39;/&amp;#39;,&amp;#39;-&amp;#39;], &amp;#39;:&amp;#39;, S); &lt;br /&gt; final; &lt;/p&gt;
</description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/par%C3%A2metro-existe#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Sun, 30 Nov 2008 03:25:35 -0600</pubDate>
 <dc:creator />
 <guid isPermaLink="false">28294 at http://www.howtodothings.com</guid>
</item>
<item>
 <title>Obter parâmetros de linha de comando</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/obter-par%C3%A2metros-de-linha-de-comando</link>
 <description>&lt;p&gt;(* GetParameterValue &lt;/p&gt;
&lt;p&gt; GetParameterValue irá retornar o valor associado a um parâmetro nome na forma de &lt;/p&gt;
&lt;p&gt; / paramname: paramvalue &lt;br /&gt; -paramname: paramvalue &lt;/p&gt;
&lt;p&gt; e &lt;/p&gt;
&lt;p&gt; / paramname &lt;br /&gt; -paramname &lt;/p&gt;
&lt;p&gt; ParamName - Nome do parâmetro (paramname) &lt;br /&gt; SwitchChars - Parâmetro alternar identificadores (/ ou -) &lt;br /&gt; SEPERATOR - O char que se sente entre paramname e paramvalue (:) &lt;br /&gt;Valor - O valor do parâmetro (paramvalue), se existir &lt;/p&gt;
&lt;p&gt; Retorna - Booleano, verdade se o parâmetro foi encontrado, falso se não existe parâmetro &lt;/p&gt;
&lt;p&gt; típicos de utilização &lt;/p&gt;
&lt;p&gt; Parâmetro &lt;br /&gt; -P = c: \ temp \ &lt;br /&gt; -S &lt;/p&gt;
&lt;p&gt; GetParameterValue ( &amp;#39;p&amp;#39;, [&amp;#39;/&amp;#39;,&amp;#39;-&amp;#39;], &amp;#39;=&amp;#39;, sValue); &lt;/p&gt;
&lt;p&gt; sValue irá conter c: \ temp \ &lt;/p&gt;
&lt;p&gt; *) &lt;br /&gt; função GetParameterValue (const ParamName: string; SwitchChars: TSysCharSet; &lt;br /&gt;SEPERATOR: Char; var Valor: string): Boolean; &lt;br /&gt; var &lt;br /&gt; Eu, Set: Longint;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.howtodothings.com/pt/computadores-e-internet/obter-par%C3%A2metros-de-linha-de-comando&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/obter-par%C3%A2metros-de-linha-de-comando#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Sun, 30 Nov 2008 03:25:24 -0600</pubDate>
 <dc:creator />
 <guid isPermaLink="false">28293 at http://www.howtodothings.com</guid>
</item>
<item>
 <title>Obter o tamanho de um arquivo</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/obter-o-tamanho-de-um-arquivo</link>
 <description>&lt;p&gt;função GetFileSize (const FileName: string): Integer; &lt;br /&gt; var &lt;br /&gt; sr: TSearchRec; &lt;br /&gt; começo &lt;br /&gt; Resultado: = 0; &lt;/p&gt;
&lt;p&gt; se FindFirst (FileName, faAnyFile, sr) = 0 então &lt;br /&gt; começo &lt;br /&gt; Resultado: = sr.Size; &lt;br /&gt; FindClose (sr); &lt;br /&gt; final; &lt;br /&gt; final; &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
</description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/obter-o-tamanho-de-um-arquivo#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Sun, 30 Nov 2008 03:25:11 -0600</pubDate>
 <dc:creator />
 <guid isPermaLink="false">28292 at http://www.howtodothings.com</guid>
</item>
<item>
 <title>BaseForm classe</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/baseform-classe</link>
 <description>&lt;p&gt;Você já enfrentou acrescentando o mesmo código para diferentes formas? E agora você pode usar o seguinte como uma classe base para todas as formas. &lt;/p&gt;
&lt;p&gt; =============== BEGIN CODE ====================== &lt;br /&gt; BaseForm unidade; &lt;/p&gt;
&lt;p&gt; interface &lt;/p&gt;
&lt;p&gt; usa SysUtils, Classes, Forms, o Windows; &lt;/p&gt;
&lt;p&gt; tipo &lt;br /&gt; TBaseForm = class (TForm) &lt;br /&gt; protegida &lt;br /&gt; IsModal função (): Boolean; &lt;br /&gt;procedimento KeyDown (var Key: Word; Shift: TShiftState); override; &lt;br /&gt; procedimento showError (E: Exception); &lt;br /&gt; função MsgBox (Msg: string; &lt;br /&gt; uType: Integer = MB_OK ou MB_ICONSTOP): Integer; sobrecarga; &lt;br /&gt; função MsgBox (Msg, MsgCaption: string; &lt;br /&gt; uType: Integer = MB_OK ou MB_ICONSTOP): Integer; sobrecarga; &lt;br /&gt; final; &lt;/p&gt;
&lt;p&gt;execução &lt;/p&gt;
&lt;p&gt; usa controles; &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.howtodothings.com/pt/computadores-e-internet/baseform-classe&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/baseform-classe#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Sun, 30 Nov 2008 03:10:59 -0600</pubDate>
 <dc:creator />
 <guid isPermaLink="false">28291 at http://www.howtodothings.com</guid>
</item>
<item>
 <title>MsgBox função</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/msgbox-fun%C3%A7%C3%A3o</link>
 <description>&lt;p&gt;Pessoalmente acho ambos os WinAPI MessageBox e Application.MessageBox e MessageDlg funções cludgy semper e adicionar a seguinte função para cada aplicativo. &lt;/p&gt;
&lt;p&gt; função MsgBox (const Msg: string; &lt;br /&gt; MsgType: Integer = MB_OK ou MB_ICONSTOP): Integer; &lt;br /&gt; começo &lt;br /&gt; Resultado: = MessageBox (Application.Handle, PChar (MSG), &lt;br /&gt; PChar (Application.Title), MsgType); &lt;br /&gt; final; &lt;/p&gt;
&lt;p&gt; Forms.pas exige que se utiliza na cláusula. &lt;/p&gt;
</description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/msgbox-fun%C3%A7%C3%A3o#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Sun, 30 Nov 2008 03:10:46 -0600</pubDate>
 <dc:creator />
 <guid isPermaLink="false">28290 at http://www.howtodothings.com</guid>
</item>
<item>
 <title>Remover ReadOnly bandeira de arquivo</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/remover-readonly-bandeira-de-arquivo</link>
 <description>&lt;p&gt;A seguinte função tentará remover o sinalizador só de ler um arquivo, você terá a função neste artigo (&lt;a href=&quot;http://www.howtodothings.com/ViewArticle.aspx?Article=755&quot; title=&quot;http://www.howtodothings.com/ViewArticle.aspx?Article=755&quot;&gt;http://www.howtodothings.com/ViewArticle.aspx?Article=755&lt;/a&gt;). &lt;/p&gt;
&lt;p&gt; função RemoveReadOnly (const FileName: string): Boolean; &lt;br /&gt; começo &lt;br /&gt; (* Assumir Sucesso *) &lt;br /&gt; Resultado: = True; &lt;/p&gt;
&lt;p&gt; (* Verifique se o arquivo é somente leitura antes &lt;br /&gt; e vamos tentar mudar os atributos *) &lt;br /&gt; if (IsReadOnly (FileName)) então &lt;br /&gt;começo &lt;br /&gt; SetFileAttributes (PChar (FileName), FILE_ATTRIBUTE_NORMAL); &lt;/p&gt;
&lt;p&gt; Resultado: não IsReadOnly = (FileName); &lt;br /&gt; final; &lt;br /&gt; final; &lt;/p&gt;
</description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/remover-readonly-bandeira-de-arquivo#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Sun, 30 Nov 2008 03:10:36 -0600</pubDate>
 <dc:creator />
 <guid isPermaLink="false">28289 at http://www.howtodothings.com</guid>
</item>
<item>
 <title>Detectar se o arquivo estiver ReadOnly</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/detectar-se-o-arquivo-estiver-readonly</link>
 <description>&lt;p&gt;A seguinte função retornará True se um arquivo é somente leitura. &lt;/p&gt;
&lt;p&gt; função IsReadOnly (const FileName: string): Boolean; &lt;br /&gt; var &lt;br /&gt; sr: TSearchRec; &lt;br /&gt; começo &lt;br /&gt; (* Considere-se não somente leitura *) &lt;br /&gt; Resultado: = False; &lt;/p&gt;
&lt;p&gt; se FindFirst (FileName, faAnyFile, sr) = 0 então &lt;br /&gt; começo &lt;br /&gt; Resultado: = (sr.Attr e faReadOnly) &amp;lt;&amp;gt; 0; &lt;br /&gt; FindClose (sr); &lt;br /&gt; final; &lt;br /&gt; final; &lt;/p&gt;
</description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/detectar-se-o-arquivo-estiver-readonly#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Sun, 30 Nov 2008 03:10:25 -0600</pubDate>
 <dc:creator />
 <guid isPermaLink="false">28288 at http://www.howtodothings.com</guid>
</item>
<item>
 <title>Como funciona BoldTreeView</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/como-funciona-boldtreeview</link>
 <description>&lt;p&gt;Este é apenas um conjunto de instruções rápidas em vez de uma abrangente artigo. Trata-se de uma cópia de um destacamento, em Fiz um Borland notícias ... &lt;/p&gt;
&lt;p&gt; Vou te dar um exemplo do que fiz recentemente um .... &lt;/p&gt;
&lt;p&gt; 01) Defina a propriedade BoldHandle ao seu BoldSystemHandle &lt;br /&gt; 02) Dê um duplo clique no treeview para abrir o editor &lt;br /&gt; 03) Clique no botão &amp;quot;raiz&amp;quot; elemento &lt;br /&gt; 04) Se não o tiver já tenho um filho, clique em &amp;quot;Adicionar Lista Fragment&amp;quot; &lt;br /&gt;05) Em ElementExpression entra o principal OCL, por exemplo &lt;br /&gt; &amp;quot;Customer.allInstances&amp;quot; &lt;br /&gt; 06) Definir InterpretAsList para True &lt;br /&gt; 07) Definir ControllerExpression a &amp;#39;Cliente&amp;#39; (incluindo as aspas) &lt;/p&gt;
&lt;p&gt; O que você tem agora é uma raiz que agarra uma lista de clientes. A BTV sabe que precisa de um &amp;quot;nó controlador&amp;quot; chamado &amp;quot;Cliente&amp;quot; para representar cada item da lista (que é por isso que InterpretAsList = True). &lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.howtodothings.com/pt/computadores-e-internet/como-funciona-boldtreeview&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/como-funciona-boldtreeview#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Sun, 30 Nov 2008 03:10:15 -0600</pubDate>
 <dc:creator>Peter5</dc:creator>
 <guid isPermaLink="false">28287 at http://www.howtodothings.com</guid>
</item>
<item>
 <title>Armazenar e recuperar um bitmap no ECO</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/armazenar-e-recuperar-um-bitmap-no-eco</link>
 <description>&lt;p&gt;Este artigo mostra as noções básicas sobre como armazenar e recuperar um bitmap em uma variável ECO. &lt;/p&gt;
&lt;p&gt; ECO primeiro criar uma variável na classe que pretende segurar o bitmap, como por exemplo: &lt;/p&gt;
&lt;p&gt; &lt;strong&gt;FCanvas: Byte&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt; Note que nós realmente queremos um byte array, então clique em FCanvas direito e selecione &amp;quot;Ir para a Definição&amp;quot;. &lt;br /&gt; Agora você pode alterar a definição de byte [] como segue: &lt;/p&gt;
&lt;p&gt; &lt;strong&gt;privado byte [] FCanvas&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;Para escrever o bitmap para FCanvas utilizar os seguintes: &lt;/p&gt;
&lt;p&gt; &lt;strong&gt;ImageConverter ic = new ImageConverter (); &lt;/p&gt;
&lt;p&gt; System.Byte [] ba = (System.Byte []) ic.ConvertTo (bmp, typeof (System.Byte [])); &lt;/p&gt;
&lt;p&gt; FCanvas = ba;&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt; Para recuperar o bitmap de FCanvas utilizar os seguintes: &lt;/p&gt;
&lt;p&gt; &lt;strong&gt;System.IO.Stream str = new System.IO.MemoryStream (FCanvas); &lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.howtodothings.com/pt/computadores-e-internet/armazenar-e-recuperar-um-bitmap-no-eco&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/armazenar-e-recuperar-um-bitmap-no-eco#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Sun, 30 Nov 2008 02:25:55 -0600</pubDate>
 <dc:creator />
 <guid isPermaLink="false">28285 at http://www.howtodothings.com</guid>
</item>
<item>
 <title>Duas funções para avaliar OCL</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/duas-fun%C3%A7%C3%B5es-para-avaliar-ocl</link>
 <description>&lt;div&gt; Com a ajuda de Jonas Hogstrom e Jan Norden eu ter escrito 2 funções para avaliar OCL. &lt;/div&gt;
&lt;p&gt;
&lt;div&gt; Em primeiro lugar está a avaliar em EcoSpace OCL: &lt;/div&gt;
&lt;div&gt;
&lt;blockquote&gt; público objeto EvaluateOclInEcoSpace (IElement rootValue, string OCL) &lt;br /&gt; ( &lt;br /&gt; objeto resultado = null; &lt;br /&gt; IElement e = ((IOclService) &lt;br /&gt; this.GetEcoService (typeof (IOclService))). EvaluateAndSubscribe (rootValue, OCL, &lt;br /&gt; null, null); &lt;br /&gt;if (e! = null) &lt;br /&gt; resultado = e.AsObject; &lt;br /&gt; return resultado; &lt;br /&gt; ) &lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt; Segunda-se a avaliar no PS OCL: &lt;/p&gt;
&lt;blockquote&gt;&lt;div&gt; público objeto EvaluateOclInDB (IElement rootValue, string OCL) &lt;br /&gt; ( &lt;br /&gt; objeto resultado = null; &lt;br /&gt; IElement InternalElement = null; &lt;/div&gt;
&lt;div&gt; IOclService oclService = (IOclService) &lt;br /&gt; this.GetEcoService (typeof (IOclService));&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.howtodothings.com/pt/computadores-e-internet/duas-fun%C3%A7%C3%B5es-para-avaliar-ocl&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/duas-fun%C3%A7%C3%B5es-para-avaliar-ocl#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Sun, 30 Nov 2008 02:25:32 -0600</pubDate>
 <dc:creator />
 <guid isPermaLink="false">28283 at http://www.howtodothings.com</guid>
</item>
<item>
 <title>TableStyles dinâmica baseada no tipo de objecto</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/tablestyles-din%C3%A2mica-baseada-no-tipo-de-objecto</link>
 <description>&lt;div&gt; Aqui está um exemplo de como usar TableStyles diferentes dependendo do tipo do objeto selecionado atualmente em um DataGrid. Tenho 2 grandes redes, cada um agarrado ao ExpressionHandles. Quero mostrar um conjunto diferente de colunas, dependendo do tipo de objeto no topo da grelha. &lt;/div&gt;
&lt;p&gt;
&lt;div&gt;Em primeiro lugar, a aplicação precisa de saber quando um novo objeto foi selecionado. Aqui um CurrencyManager está sendo ligado. DgStock é uma DataGrid, ehRoot é um ExpressionHandle contendo os objetos Stock. &lt;/div&gt;
&lt;p&gt;
&lt;div&gt;
&lt;blockquote&gt;
&lt;div&gt; privado &lt;/div&gt;
&lt;div&gt; cmStock: CurrencyManager; &lt;/div&gt;
&lt;p&gt;
&lt;div&gt; .... &lt;/div&gt;
&lt;p&gt;
&lt;div&gt; procedimento TfrmStock.TfrmStock_Load (remetente: System.Object; e: System.EventArgs); &lt;br /&gt; começo &lt;br /&gt;cmStock: = CurrencyManager (dgStock.BindingContext [Self.ehRoot]); &lt;br /&gt; Include (cmStock.PositionChanged, Self.StockGridRowChanged); &lt;br /&gt; final; &lt;/div&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;http://www.howtodothings.com/pt/computadores-e-internet/tablestyles-din%C3%A2mica-baseada-no-tipo-de-objecto&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/tablestyles-din%C3%A2mica-baseada-no-tipo-de-objecto#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Sun, 30 Nov 2008 01:56:00 -0600</pubDate>
 <dc:creator />
 <guid isPermaLink="false">28276 at http://www.howtodothings.com</guid>
</item>
<item>
 <title>Lendo uma tagged valor</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/lendo-uma-tagged-valor</link>
 <description>&lt;p&gt;ECO permite que você adicione TaggedValues (par nome / valor) para o seu modelo em desenho momento. Aqui é como recuperar o valor de uma TaggedValue no momento da execução. &lt;/p&gt;
&lt;p&gt; obj.AsIObject () dá IObject &lt;br /&gt; IObject.UmlType dá uma IClassifier &lt;br /&gt; IClassifier é um IModelElement, por isso .... &lt;br /&gt; IClassifier.TaggedValues [ &amp;#39;Olá&amp;#39;] dá ITaggedValue &lt;br /&gt; ITaggedValue.Value dá a corda &lt;/p&gt;
&lt;p&gt;
&lt;blockquote&gt; ClassDisplayName: = &lt;br /&gt;obj.AsIObject (). UmlType.TaggedValues [ &amp;#39;EcoExtensions.DisplayName&amp;#39;]; &lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt; IProperty é também um IElement, assim você pode obter valores de propriedades marcou exatamente da mesma maneira. &lt;/p&gt;
&lt;p&gt;
&lt;blockquote&gt; obj.AsIObject (). Properties [ &amp;#39;nome&amp;#39;]. UmlType ....... &lt;/p&gt;&lt;/blockquote&gt;
</description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/lendo-uma-tagged-valor#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Sun, 30 Nov 2008 01:55:45 -0600</pubDate>
 <dc:creator>Peter5</dc:creator>
 <guid isPermaLink="false">28275 at http://www.howtodothings.com</guid>
</item>
<item>
 <title>Ou reavaliar novamente?</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/ou-reavaliar-novamente</link>
 <description>&lt;p&gt;Este artigo irá explicar, em ECO derivados membros. É a principal finalidade é descrever a diferença entre o ReEvaluateSubscriber e ReSubscribeSubscriber parâmetros quando você derivar membros no código. &lt;/p&gt;
&lt;p&gt;Um dos excelentes recursos do Negrito que fizeram durante a transição em ECO é derivado membros. Derivadas Um membro é um pouco como um campo calculado sobre um conjunto de dados, exceto, é calculada apenas a primeira vez que você solicitar o seu valor e, em seguida, esse valor é cache para processamento tempo. &lt;/p&gt;
&lt;p&gt; Tome FullName da pessoa como um exemplo. Nome completo seria calculada como &lt;/p&gt;
&lt;p&gt;
&lt;blockquote&gt; Resultado: = Título + &amp;#39;&amp;#39; + FirstName + &amp;#39;&amp;#39; + LastName; &lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;O primeiro passo importante no sentido de criar esse tipo de ECO é um atributo para marcar o atributo derivado. É realmente possível indicar alguns &amp;quot;Derivation OCL&amp;quot; e têm o sistema ECO derivar tudo para você &lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt; title + &amp;#39;&amp;#39; firstname + + &amp;#39;&amp;#39; + LastName&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.howtodothings.com/pt/computadores-e-internet/ou-reavaliar-novamente&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/ou-reavaliar-novamente#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Sun, 30 Nov 2008 01:41:23 -0600</pubDate>
 <dc:creator>Peter5</dc:creator>
 <guid isPermaLink="false">28270 at http://www.howtodothings.com</guid>
</item>
<item>
 <title>A Multi-Client-ECO aplicação exemplo.</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/a-multi-client-eco-aplica%C3%A7%C3%A3o-exemplo</link>
 <description>&lt;div&gt; A aplicação que vamos construir pode ser usado para capturar worktime e pausas durante o worktime. O worktime pode ser capturada com vários clientes do servidor de aplicação e fornece uma visão de todos os dados capturados. &lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div align=&quot;left&quot;&gt; &lt;strong&gt;[O cliente parte] &lt;br /&gt;&lt;/strong&gt; &lt;/div&gt;
&lt;div align=&quot;left&quot;&gt; Você começa com a criação de um eco winform pedido. Este pedido deverá ser o cliente. Eu dei um nome que WorkTimeClient. 
&lt;div&gt;
&lt;div&gt;Você precisa ter as classes UML em um pacote para que você possa adicioná-los mais tarde, a pedido do servidor. &lt;/div&gt;
&lt;div&gt;&lt;img src=&quot;/MemberData/43c71de27db04617ad26bc4af68b46ec/eco1.png&quot; alt=&quot;New File - ECO UML Package&quot; title=&quot;Nova Lima - ECO pacote UML&quot; hspace=&quot;0&quot; align=&quot;middle&quot; /&gt;&lt;/div&gt;
&lt;div&gt; Crie o seguinte modelo: &lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/MemberData/43c71de27db04617ad26bc4af68b46ec/eco2.png&quot; alt=&quot;WorkTime Model&quot; title=&quot;Modelo WorkTime&quot; hspace=&quot;0&quot; align=&quot;middle&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.howtodothings.com/pt/computadores-e-internet/a-multi-client-eco-aplica%C3%A7%C3%A3o-exemplo&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/a-multi-client-eco-aplica%C3%A7%C3%A3o-exemplo#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Sun, 30 Nov 2008 01:40:55 -0600</pubDate>
 <dc:creator />
 <guid isPermaLink="false">28269 at http://www.howtodothings.com</guid>
</item>
<item>
 <title>Passando on / off ECO logging</title>
 <link>http://www.howtodothings.com/pt/computadores-e-internet/passando-on-off-eco-logging</link>
 <description>&lt;p&gt;ECO II possui um novo recurso no Update 2 o que torna mais fácil ver o que ele está fazendo nos bastidores. &lt;/p&gt;
&lt;p&gt; Quando você executar o aplicativo, pode-se ver as mensagens na janela do IDE do Delphi e ver o que está acontecendo. Você pode ativar / desativar opções para diferentes áreas da ECO incluindo OCL, PMapper, etc, fixando as seguintes opções. &lt;/p&gt;
&lt;p&gt; Borland.Eco. &lt;strong&gt;Logging.&lt;/strong&gt; EcoLogSwitches.LogOcl: = falso / verdadeiro; &lt;br /&gt; Borland.Eco. &lt;strong&gt;Logging&lt;/strong&gt;. EcoLogSwitches.LogPMapper: = falso / verdadeiro; &lt;br /&gt; Borland.Eco. &lt;strong&gt;Logging.&lt;/strong&gt; EcoLogSwitches.LogRegions: = falso / verdadeiro; &lt;br /&gt; Borland.Eco. &lt;strong&gt;Logging.&lt;/strong&gt; EcoLogSwitches.LogSql: = falso / verdadeiro; &lt;br /&gt; Borland.Eco. &lt;strong&gt;Logging.&lt;/strong&gt; EcoLogSwitches.LogSqlMeta: = falso / verdadeiro; &lt;br /&gt; Borland.Eco. &lt;strong&gt;Logging.&lt;/strong&gt; EcoLogSwitches.LogValidation: = falso / verdadeiro; &lt;/p&gt;
</description>
 <comments>http://www.howtodothings.com/pt/computadores-e-internet/passando-on-off-eco-logging#comments</comments>
 <category domain="http://www.howtodothings.com/pt/delphi">Delphi</category>
 <pubDate>Sun, 30 Nov 2008 01:40:29 -0600</pubDate>
 <dc:creator>Peter5</dc:creator>
 <guid isPermaLink="false">28268 at http://www.howtodothings.com</guid>
</item>
</channel>
</rss>
