Mostrando postagens com marcador TeamDeveloper. Mostrar todas as postagens
Mostrando postagens com marcador TeamDeveloper. Mostrar todas as postagens

sexta-feira, 9 de abril de 2021

 Olá pessoal,

Informo que estou fazendo umas aulas em vídeo de Team Developer 7 e disponibilizando no meu canal no Youtube

Convido a visitarem lá e aguardo os comentários e perguntas de vocês.

https://www.youtube.com/watch?v=svMIFQ0Ode0



Download do Livro de Team Developer 

 

Abraço!

quinta-feira, 23 de julho de 2015

Ferramenta SQLCmdWriter

 

Estou compartilhando uma ferramenta que fiz para ajudar na escrita de comandos SQL (Select, Insert, Update e Delete) principalmente quando a tabela possuir muitas colunas. Basta escolher a tabela e as colunas que deseja usar que o programa gera os comandos. A ideia é evitar que o desenvolvedor perca tempo escrevendo e procurando bug de digitação em comandos SQL imensos.

Numa visão resumida, use-o assim:

Login

Por enquanto o aplicativo só está funcionando com Oracle. Para usar com outro SGBD é preciso fazer algumas alterações na aplicação.

SCW-login

Se você deseja salvar as informações de login, marque o checkbox apropriado nesta janela. E se não quiser que a senha seja salva marque o outro checkbox. Aviso …. a senha não é criptografada. Portando…. pense bem se pode expor assim sua senha de banco.

Janela principal

É nesta janela onde as coisas acontecem, onde você pode configurar como seus comandos serão montados. Primeiramente escolha a tabela que deseja trabalhar. Algumas colunas serão meramente informativas. Mas duas delas são importantes e interferem na geração dos comandos. As colunas Select e Where são checks e quando selecionadas indicam que a coluna da linha correspondente será incluída na geração dos comandos. Quando a célula da coluna Select estiver marcada a coluna correspondente à linha será utilizada para manipulação dos dados, ou seja, será usada nos comandos Select, Insert e Update. Quando a célula da coluna Where estiver selecionada, a coluna correspondente à linha será utilizada nos filtros de dados dos comandos Select, Update e Delete.

SCW-janelaPrincipal

As colunas “Utilizar no INTO” e “Utilizar no Where” são preenchidas automaticamente pelo SQLCmdWriter com sugestões de nomes das variáveis, datafields e colunas. São sugestões que serão usadas nos comandos montados. Eu me refiro a estas colunas como sendo o local onde se especifica os nomes dos objetos da aplicação.

Os nomes dos objetos da aplicação variam de acordo com a seleção que estiver feita na faixa de opções. Se você quiser usar variáveis como objetos da aplicação usados nos Where dos comandos, deixe selecionado o botão “usar como variáveis” no grupo Filtragem da faixa de opções. Se quiser que os objetos da aplicação sejam nomeados como data fields, deixe selecionado o botão “usar como Data Fields”. Da mesma forma caso queira usar as colunas da table window.

Siga o mesmo padrão para os objetos da aplicação usados na manipulação dos dados selecionando os botões da faixa de opções Manipulação dos dados.

Há um menu de contexto escondido nas colunas Select e Where para ajudar na seleção de múltiplas linhas. Para acioná-lo efetue um clique duplo nessas colunas e experimente.

SCW-menuContexto

Você pode eventualmente escrever o nome dos objetos da aplicação da forma como desejar.

Quando quiser gerar os comandos, clique no botão Gerar comandos. Os comandos serão mostrados em uma janela que permite que sejam editados e copiados para o seu aplicativo.

SCW-janelaComandos

A idéia deste aplicativo é ajudar na montagem de comandos SQL para manipulação de uma unica tabela. Quanto mais colunas a tabela tiver, maior seja a ajuda.

 

Estou estudando a possibilidade de numa próxima versão fazer com que o SQLCmdWriter escreva no código fonte as colunas, variáveis e data fields caso não existam. Mas vai depender de tempo e se a comunidade vai achar essa ferramenta útil.

Divirtam-se.

Link para o download do SQLCmdWriter no OneDrive.

quarta-feira, 13 de maio de 2015

Lançamento do Team Developer 6.3

Foi lançado o Team Developer 6.3 e a Computer Machine fez um ótimo material para os interessados em conhecer os principais pontos de destaque dessa versão. Tomo a liberdade de reproduzir aqui neste post esta documentação feita pela Computer Machine.

GUPTA TECHNOLOGIES
Lançamento do Team Developer 6.3!

No ínicio de Abril a Gupta Technologies lançou a versão 6.3 do Team Developer, trazendo ainda mais recursos para os desenvolvedores.

Abaixo seguem algumas das evoluções e para visualizar ainda melhor as novidades, acesse nosso vídeo no YouTube e faça o Download da nova versão.

Agora conseguimos criar os Menus RibbonBar ainda mais poderosos, tendo total controle dos objetos internos

  • Novo Componente RibbonBar Galery
  • Incluir ou Excluir Itens (Tabs, Botões, CheckBox, Combos e etc)
  • Exibir ou Não o Menu Completo
  • Carregar um Item através de Query
  • Definir Imagens, visibilidade ou itens habilitados

Algumas novidades e melhorias para os desenvolvedores:

  • Construtor e Destrutor para as Classes
  • Suporte a Imagens JPG e PNG
  • SalMail agora possibilita Cópia Oculta
  • Maior controle da ToolBar do objeto Rich Text
  • Botão Close e Refresh para o objeto TabBar
  • Melhorias na Criação de Tasks e novo Bookmarks
  • Cores para Constantes e Includes

Mais evoluções para as Grids

  • Sumarizadores para colunas Agrupadas
  • Métodos para retornar Valor e a Coluna Sumarizada
  • Justificar coluna sumarizada
  • Novas propriedades para células do tipo Picture
  • Importar dados de arquivos XML, CSV, Text e Excel

Nova ferramenta Report Designer para erar relatórios HTML ou PDF para o usuário final.

Possibilidade de colorir datas e recuperar quais são as datas selecionadas (permite selecionar multiplas datas)

 

Assista o vídeo para conhecer melhor o Team Developer 6.3

Conheça nossos Produtos, Serviços e Treinamentos

Para saber mais sobre os produtos da Gupta Technologies e serviços oferecidos pela da Computer Machine, acesse: http://www.computermachine.com.br

quarta-feira, 11 de dezembro de 2013

Novo produto da familia Team Developer

A Gupta está preparando uma ferramenta totalmente nova para criação de aplicações mobile e eu testei uma aplicação exemplo e gostaria de compartilhar aqui.

A aplicação exemplo é uma interface para o banco de dados de exemplo que acompanha o Team Developer há alguns anos, o banco ISLAND.

A aplicação é bem simples e funcionou rápida e sem problemas num acesso através de wi-fi.

Abaixo segue algumas imagens da navegação através do site:


Página de login na aplicação





















 

A sequencia abaixo mostra as páginas de uso da aplicação após a navegação ter sido iniciada escolhendo uma empresa cliente.


  Relação de clientes

  Detalhes do cliente

Cada cliente possui invoices associadas a ele e cada invoice possui algumas informações de cadastro. Estas duas páginas são mostradas abaixo:

  Relação de invoices   Detalhes de uma invoice

A página abaixo mostra os itens que compoem uma invoice





















A página abaixo mostra o nível maior de detalhe, onde é possível ver a imagem da estampa da camiseta.

wp_ss_20131209_0012

A aplicação foi testada com sucesso num smartphone rodando Windows Phone 8.

links

página do TD Mobile: http://guptatechnologies.com/Products/App_Dev/TDMobile/default.aspx

página da aplicação: 
https://tdmobile.guptatechnologies.com/Island/Login

sábado, 25 de maio de 2013

Livro de Centura para Download Free

ATUALIZADO em Abril-2021

Link para Download 

 

 

Em junho de 2000 eu publiquei um livro de Centura no Brasil e até hoje as pessoas ainda me procuram tentando obter um exemplar do livro. Como não tenho mais exemplares físicos do livro tomei a decisão de converter o livro para PDF e disponibilizar o livro para download free no blog. Então, qualquer pessoa interessada no livro por favor, pode fazer o download free no link abaixo:

Este link o levará ao meu onedrive onde eu compartilhei o livro e os arquivos fonte dos exercícios citados no livro. Quem tiver algum problema em acessar esta pasta me avise.

Lembro que o livro é sobre a versão 2.0 do Team Developer porém, como a linguagem e muito da IDE não sofreram grandes mudanças, o livro pode ser usado para aprender praticamente qualquer versão do Team Developer.

Espero que assim mais pessoas possam encontrar recursos para aprender o Team Developer.

Bom estudo!

domingo, 17 de abril de 2011

Gerenciamento de Projetos no Team Developer

Muitas atenções estão voltadas para o Team Developer 6 e isso é normal, ainda mais agora que o TD 6 está inserido no contexto .NET. Muita informação sobre isso está disponível no site da Unify, blog, twitter e tudo o mais...

 

Inicio aqui a escrita de alguns artigos sobre gerenciamento de projetos utilizando como ferramenta o Team Developer, que acompanha o pacote do Team Developer. Pretendo mostrar um pouco de como esta ferramenta funciona.

TOM_01

O TOM ( Team Object Manager ) é uma ferramenta para gerenciamento de projetos envolvendo código fonte, equipe e normas de projeto.  Todas as atividades do TOM são baseadas num repositório, nele são inseridos não apenas os arquivos que compõem o projeto mas também é montada a estrutura das equipes e as regras de trabalho em equipe. Não há limites para a quantidade de projetos bem como tamanho das equipes que o TOM pode gerenciar.

 

Basicamente o que precisa ser feito para usar o TOM para gerenciar seus projetos é:

- instalar e configurar um repositório

- inserir no TOM dados sobre sua equipe, projetos e os arquivos do projeto

- iniciar o uso

 

Primeiro passo para usar o TOM e gerenciar um projeto é a criação de um repositório caso este ainda não exista. O repositório é uma estrutura criada num banco de dados usada pelo TOM para o gerenciamento dos projetos. Use o Repository Setup Wizard para criar seu repositório.

TOM_RepositorySetupWizard

Janela inicial do Repository Setup Wizard

Após criar o repositório execute o Team Object Manager para finalizar o restante das configurações iniciais do repositório. Será criado um projeto padrão, chamado #STARTER. As personalizações feitas neste projeto serão levadas aos demais projetos criados neste repositório. Portanto, vale a pena passar um tempo configurando o projeto #STARTER. (isso será mostrado aqui em breve)

Dentro do TOM

 

Existem muitos componentes dentro de um projeto do TOM e que são todos explicados no manual em pdf que acompanha o produto (books\team.pdf na pasta de instalação do Team Developer).

TOM_login

Janela de login do Team Object Manager 6.0

 

O TOM oferece uma interface similar à interface do Windows facilitando muito o uso, ao lado esquerdo temos a janela de folders onde seus detalhes, após escolhido um item, é mostrado na janela na lateral direita.

 

Para usar um projeto vamos iniciar com a criação de alguns usuários que farão parte da equipe que usará o TOM.

TOM_CreateUser

Etapas para criação de usuários no TOM

Devem ser criados no TOM um login para cada usuário que de fato participa do projeto. Não apenas desenvolvedores mas toda a equipe que normalmente é composta por desenvolvedores, líderes de projeto, toda a equipe de testes, documentação atendimento aos clientes etc.

Abaixo uma pequena equipe montada para dar suporte aos exemplos que se seguirão.

TOM_Team

Uma vez a equipe criada o próximo passo é criar o projeto. Você pode fazer isso rapidamente e escolher se deseja herdar as características de algum projeto anterior ou se o projeto recém-criado será baseado no projeto #STARTER.

TOM_CreateProject

Siga as instruções solicitadas pelo wizard para criação do novo projeto. Há uma decisão muito importante a ser tomada e que deve ser informada no momento de execção do wizard que diz respeito ao local onde os arquivos do projeto serão armazenados. Por questões de segurança podem ser armazenados no banco de dados ou numa pasta de rede por exemplo, em algum servidor. Isso fica a critério de cada um mas eu tenho usado armazenamento em banco de dados e nunca tive problemas.

Uma vez criado o projeto é hora de preparar a estrutura do seu projeto no TOM, adicionar alguns arquivos e configurar as regras. Neste ponto a equipe de gestão da configuração entra em ação e descarrega aqui suas normas e padrões a serem seguidos.

Como idéia simples para um projeto, segue abaixo uma sugestão:

TOM_ProjectTree

Exemplo de estrutura de um projeto

Projeto criado, algumas configurações básicas que recomendo para o projeto são:

Armazenamento dos arquivos do projeto em repositório

TOM_StorageInRepository

Esta opção diz para o TOM armazenar todos os arquivos que compoem o projeto no banco de dados. As tabelas do TOM serão usadas e mantidas por ele mesmo, nenhum trabalho de gestão do banco é necessário, os DBAs não necessitarão gerenciar aquivos por conta dessa opção. No máximo, em alguns casos, deverão apenas preocupar-se com questões de espaço alocado para armazenamento.

Local para extração dos arquivo de trabalho

TOM_PropDefaultProjectFolder

Esta opção indica a pasta onde os arquivos permanecerão durante o período em que o usuário trabalha com os arquivos do repositório. Normalmente uma pasta para uma área reservada para o usuário é a opção mais coerente.

Próximos passos:

- adicionar arquivos ao projeto

- associar arquivos a grupos de segurança

- check-in e check-out

quarta-feira, 21 de julho de 2010

TD6.0 - Novidades sobre o suporte a WPF.

Como já foi citado aqui neste blog em artigo especial sobre o TD6.0, falei dos tipos de builds e do suporte a WPF e que o Team Developer 6 terá como opção ao gerar o build das aplicações, o padrão WPF. Isso por si só já é muito bom pois poderemos tornar nossas aplicações TD6.0 visualmente ricas.

A novidade anunciada pela Unify hoje é que além disso, teremos a possibilidade de utilizar componentes WPF de terceiros em nossas aplicações Team Developer 6.0.

Isso abre um leque praticamente absurdo de opções, de recursos que poderemos incorporar aos nossos aplicativos gerados com o Team Developer 6 pois a biblioteca de controles WPF disponíveis na web é imensa.

Todos os métodos, eventos e atributos do Controle WPF estarão disponíveis para uso aos desenvolvedores no TD6.0.

Para que tenham uma real idéia do que se trata ... sugiro a visitação aos links abaixo:
XCEED - Professional Themes for WPF
Component One

The Code Project - Windows Presentation Fundation

DotNetBar For WPF

É bom ir se acostumando (e preparando seus usuários) pois, esta será a aparência das aplicações geradas no Team Developer 6.0 for .NET que será lançado em breve.

domingo, 18 de julho de 2010

Serialização de objetos - Parte 2

Segunda parte do artigo sobre serialização de objetos UDV em arquivos XML.
Neste artigo concluo a idéia que queria passar sobre este assunto com um exemplo de aplicação de manutenção usando objetos de negócios salvos através deste recurso. Mais detalhes sobre a serialização são mostrados.

Aviso: Para leitura direto no monitor, sugiro que seja lido em tela cheia (clique em fullscreen ). Salvar em PDF ou imprimir também estão disponíveis.

Artigo - UDVSerialize - Parte 2

domingo, 4 de julho de 2010

Serialização de objetos - Parte 1

Artigo sobre Serialização de objetos usando o Team Developer.
Este artigo é a parte inicial, ainda escreverei outro mais profundo e interessante, porém, aqui está a parte principal desta tecnologia.

Artigo - UDVSerialize - Parte 1

quarta-feira, 30 de junho de 2010

Evento: Team Developer 6.0: New Tree Control

Hoje temos evento na Unify.
Estará sendo exposto o novo controle Tree Control presente no Team Developer 6.0

O evento necessita um breve registro e após isso há um redirecionamento para a transmissão ao vivo do apresentador ... mostrando slides e na prática o uso da ferramenta.

Tree control é o objeto mostrado abaixo, em dois tipos de execução: Windows e Browser.




















O Link para acesso do evento é
 https://unify.webex.com/unify/onstage/g.php?t=a&d=339442511

Até lá !
Lairton N de Almeida Jr.

sábado, 1 de maio de 2010

Resumo do evento Unify DevCon 2010 em São Paulo - Brasil.

kay eu sei que já faz muitos dias que o evento aconteceu e esse tópico já deveria ter sido publicado, mas devido a diversos projetos que estou envolvido ainda não havia encontrado tempo suficiente para escrever e a cabeça focada nisso. Então aqui vai um resumo sobre o que aconteceu em São Paulo, no dia 15 de abril, no Unify DevCon 2010.

Evento 5a DevCon Unify 2010 - SaoPaulo

terça-feira, 6 de abril de 2010

Evento Unify em São Paulo.

A Unify chega ao Brasil para mostrar a mais nova versão do Team Developer (ou Centura como alguns ainda o chamam) que está sendo aguardada para ser a solução da Unify para que possamos ingressar no ambiente Microsoft .NET. Todo nosso legado e nosso know-how será perservado e o ingresso na plataforma .NET será feito sem traumas, sem conversão, sem custo de migração com o Unify Team Developer 6.0 para .NET.

Vale a pena dar uma olhada na solução, conhecer e avaliar.
Convido a todos que possam estar presentes...

detalhes do envento...

5º DevCon Unify Brasil


Data: 15 de Abril de 2010 - Horário: das 8:30 as 17:30
Local: AMCHAM – Câmara Americana de Comércio de São Paulo
Rua da Paz 1431 - São Paulo /SP      Telefone (11) 3011-6000
c /Estacionamento no local

A G E N D A    D O    E V E N T O


08:30 hr - Boas Vindas
09:00 hr - Welcome, agenda – Victor Espinal (Unify)
         Corporate Presentation
                Triad Systems– Silvio Rodrigues (Triad Systems);
                Unify – Frank Verardi (Unify – USA)
09:30 hr - Team Developer 5.2 – Revisão sobre a usabilidade
                        Ana Paula Bonani (Unify)
                Q/A
10:15 hr – Break
10:45 hr - Q – ( a nova versão do Quest Centura )
                       Carlos Calegari (Computer Machine)
                Team Developer 6.0 - Demonstrando do novo TD 6.0 .Net
                       Ana Paula Bonani (Unify)
12:30 hr - Almoço
13:30 hr - SQLBase 11.5
                       Carlos Calegari
                Road Map Unify Products
                       Ana Paula Bonani
14:30 hr - Exodus – Como Migrar Oracle Forms para JAVA
                       Nicolas Cerron (Consult Soft - Colombia)
15:30 hr – Break
16:00 hr - Composer Lotus Notes – Migrar Lotus Notes para plataforma .Net
                        Sandro Zamarioli (Triad Systems)
16:45 hr - Case Study – Carlos Calegari
                Q/A

Mais informações, solicite através do e-mail contatounify@triadsystems.com.br ou pelo telefone 11 3054-6626 / 11 7543-6079 com Wilson Ometto.

segunda-feira, 31 de agosto de 2009

Problemas com relatório não encontrado

Normalmente colocamos os qrps e imagens na mesma pasta do executável para que, quando o aplicativo precisar usar esses arquivos, eles sejam encontrados facilmente por estarem na mesma pasta do executável. Fazemos isso devido a um comportamento do Windows que podemos denominar de Current Directory, ou Diretório Atual. Quando executamos um aplicativo, Current Directory aponta para a pasta em que o executável está, pois o Windows, por default, configura a propriedade “iniciar em” do atalho, para apontar para a mesma pasta onde o executável está. Para ver isso clique com o botão direito em qualquer atalho no seu Windows.

É graças a esse comportamento do Windows que encontramos os qrps e imagens quando estão na mesma pasta do executável. Mesmo que dentro das aplicações nós não informamos o path, apenas o nome do arquivo.

Porém, a execução de algumas ações podem fazer com que Current Directory seja modificado em run-time sem que percebamos isso. Por exemplo, qualquer aplicação que permitir que o usuário escolha uma pasta para salvar um arquivo gerado pela aplicação. Um exemplo muito prático disso é uma aplicação que salve algum arquivo txt ou pdf e abra a caixa de diálogo para o usuário escolher onde ele deseja salvar o arquivo gerado. Após escolher a pasta e salvar o arquivo, Current Directory passa a apontar para o local escolhido pelo usuário. Devido a isso, caso a aplicação necessite de algum qrp, ela passa a não encontrar mais nenhum qrp, imagem ou outro arquivo que esteja na pasta do executável. Alguns clientes implementaram uma rotina que verifica a existência do qrp e a própria SalReport*** informa que o qrp não foi encontrado. Porém, o qrp encontra-se no diretório do executável. Todo o problema é “resolvido” saindo do sistema e entrando novamente.

Para resolver de fato, sem que seja necessário fechar e entrar novamente o sistema, recomendo que coloquemos em nossas aplicações uma linha de código que determina o valor que desejarmos para Current Directory.

Call SalFileSetCurrentDirectory( sNewDirectory )

Minha sugestão é utilizarmos essa linha de código antes de fazer qualquer chamada a SalReportView(), SalReportPrint(), SalReportTableView() ou SalReportTableCreate() . Porém, sNewDirectory precisa conter o caminho correto do local onde o executável está localizado. (pois é lá que estão os qrps). Esta informação é uma das informações presentes numa variável global do SQLWindows chamada strArgArray. Como esta variável possui mais informações do que precisamos, precisamos excluir dela apenas o caminho e então setar CurrentDirectory corretamente. Para determinarmos o valor de Current Directory para o local onde o executável que está sendo executado está, devemos fazer o seguinte:



Dessa forma este problema não acontecerá novamente.

um abraço
Lairton N de Almeida Jr.

sexta-feira, 28 de agosto de 2009

Menu ou RibbonBar ?

Um dos recursos novos do TD 5.1 e que continua firme e forte no TD 5.2 é a nova forma de mostrar os menus dos aplicativos. A Ribbon Bar é aquela forma nova introduzida aos usuários Windows através do MS Office 2007.

Como uma imagem vale mais que mil palavras, vou direto ao assunto:

Abaixo você pode ver uma estrutura de outline normal, com a definição de um menu típico de aplicativo. Um MDI com diversos pop-up menus e menu items.





Esta estrutura irá gerar um menu bem comum aos usuários de aplicativos feitos com o SQLWindows, porém, a partir da versão 5.1 esta história muda. Os menus podem ser mostrados como RibbonBar, conforme imagens abaixo:





O ideal é que seja feito no processo de migração uma análise de como você deseja que seus usuários visualizem o menu dos aplicativos, já que agora uma área maior da janela passará a ser utilizada. Você terá que buscar ícones (se já não usa) e estudar seriamente a possibilidade de retirar a barra de ferramentas da janela onde o RibbonBar ira aparecer (para manter-se no padrão de aplicações que usam este recurso). Explorar o uso de Windows Menu e modernizar o visual dos menus da sua aplicação.

As duas formas de visualização estão disponiveis. Você pode manter os menus como eles aparecem hoje, se desejar. Ou pode modernizar os menus das suas aplicações tornando-as similares ao Office2007, imagino que os usuários irão adorar a novidade.

Já ia me esquecendo um detalhe, para informar ao SQLWindows que é para mostrar os menus como Ribbon Bar, o esforço de programação necessário é o seguinte:

On SAM_AppStartup
Set bMenuBarAsRibbonBar = TRUE

É isso mesmo, você não terá que modificar nada no outline, onde seus menus são definidos. Imagino que não dará muito trabalho migrar este recurso não é mesmo !

:)

um abraço,
Lairton N de Almeida Jr.

sábado, 25 de julho de 2009

Dicas de Programação

Prosseguindo com as dicas ...

11- Construa (ou modifique) seus menus através de uma interface amigável e de fácil utilização. Em modo de Design coloque o foco no objeto top level que você deseja configurar o menu, clique com o botão direito do mouse e acione o menu chamado Menu Editor. Na versão 5.2 você terá um incentivo a mais para utilizar o Menu Editor, através dele é possível adicionar imagem (ícone ou bitmap) a um item de menu, que, a propósito, no TD5.2 poderá ser mostrado também como Ribbon Bar.

12- Procure não utilizar as funções SqlImmediate () e SqlExists () em laços (while e loop) pois estas funções utilizam um handle sql interno de forma padrão, ou seja, não otimizada. Vindo a ser responsáveis pela maioria dos problemas de performance em sistemas.

13- Antes de imprimir seu programa fonte, configure as opções de impressão no menu File/Page Settings. Certifique-se de que selecionou o radio button Selection Only, caso contrário todo o seu outline será impresso.

14- Cuidado ao utilizar a função SalPostMsg () - a sua utilização exagerada pode fazer o aplicativo "sentar", ou seja, ficar muito lento.

15- Quando estiver em modo Design e quiser configurar o Grid basta acionar o menu Tools / Preferences e selecionar a guia Presentation. Lá você poderá configurar se o Grid estará ativo ou não além de especificar sua altura e largura.

16- Para pegar o handle de um objeto que não possua handle, como background text e group box, utilize a função SalGetFirstChild (hWndForm, TYPE_BackgroundText) que retornará o handle do primeiro background encontrado na sua tela. Utilize a função SalGetNextChild para obter o próximo background e para saber que encontrou o objeto correto utilize SalGetWindowText. Lembre-se de setar bStaticAsWindow = TRUE no App_Startup da sua aplicação.

17- Sempre que você for alterar um componente COM previamente registrado lembre-se de desregistrá-lo do seu servidor. É muito simples, basta acionar o menu Project Un-register Server.

18- Utilize a função GetUserDefaultLangID( ), definida na biblioteca kernel32.dll, para identificar o idioma default do Windows em que o aplicativo está sendo executado. Assim você pode facilmente identificar o idioma e carregar o seu aplicativo devidamente "traduzido" para o idioma nativo. Consulte o capítulo 13 do livro Programando com o CTD2000 para maiores detalhes e exemplos.

19- Lembre-se que o comando de busca do SQLWindows, menu Edit/Find, baseia-se na parte do outline que está atualmente carregada na janela Detail, ou seja, na janela mostrada do lado direito do mdi principal do SQLWindows. Por exemplo: Se você procura por um determinado datafield mas a janela Detail do SQLWindows esta mostrando o conteúdo da seção Internal Funcions, o SQLWindows não encontrará o objeto.

terça-feira, 7 de julho de 2009

Como começar?

Como fazer um bom início de publicações num blog de tecnologia que buscará focar suas postagens em problemas, soluções e dicas envolvendo a ferramenta Team Developer?

Talvez, eu pudesse começar escrevendo sobre o nome do produto e toda confusão que hoje existe devido ao próprio nome não ser bem definido na visão dos seus usuários. O que parece inadmissível em termos de marketing acontece com o Team Developer, pois, seus próprios usuários são os primeiros a ter dúvidas sobre como é hoje o nome da ferramenta. Gupta SQLWindows? SQLWindows 32? Centura? Centura SQLWindows? Team Developer? TD? Unify ?

Poderia utilizar como primeiro artigo algo que falasse sobre a situação do produto hoje, sobre como está o suporte a ActiveX. Não sei se seria bom iniciar falando sobre seu suporte a WebServices ou talvez fosse melhor iniciar falando sobre como pode ser usado o XML em nossas aplicações. Talvez já iniciar falando sobre os novos controles visuais do produto, o date picker, grid window, e sobre o fantástico controle RichText! Ou talvez seria melhor já iniciar explicando como funciona o novo controle TabChild e suas características que diferem do QuickTab. Meu assunto preferido no aspecto GUI seria escrever sobre Themes, porém, nossos usuários adoraram poder eles mesmo arrastarem suas barras de ferramentas para onde bem desejam. Mas não acho que seria bom o suficiente para uma abertura de postagem num blog.

Ao meu ver Ribbon Bar seria muito mais útil pois é um recurso que praticamente já está pronto em todas as aplicações em produção hoje, (inclusive a sua!) bastando adicionar uma única linha de código para que toda a sua aplicação já tenha o visual de barras de menu presentes nas ferramentas do MS Office 2007. Este sim seria um ótimo assunto pra iniciar devido a seu impacto positivo na modernização das aplicações dos usuários. Mas iniciar o blog com um artigo que no total teria uma linha de código ... não, não me parece boa idéia.

Talvez a publicação inicial pudesse tomar outro sentido, poderia tentar explicar o porque de versão atual estar no SP6 (que já foi chamado de PTF) mas aí vou ter que falar que uma das versões mais estáveis, veloz e mais usadas no Brasil seja a versão 1.5 também avançou em termos de PTF até o PTF 6. Isso seria talvez uma feliz coinciência!

Bem, são tantos assuntos que dariam um ótimo primeiro post que fiquei na dúvida e acabei não escrevendo sobre nenhum deles e sobre todos ao mesmo tempo. Uma coisa é certa, foi possível perceber que há muito pano pra manga e muita coisa pra ser falada, muita coisa para ser mostrada e muito a ser desmitificado.

É justamente isso que pretendo fazer neste espaço, conversar sobre essa tecnologia e mostrar como utilizar o Team Developer e seus recursos avançados sempre tentando focar nos principais recursos da ferramenta e nos questionamentos feitos pelos clientes e visitantes.


Um abraço,
Lairton N. de Almeida Jr.