119 novas características. comuns. Virtualize os seus projectos



Documentos relacionados
119 novas características. comuns. Virtualize os seus projectos

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO

Ambiente de trabalho. Configurações. Acessórios

Pesquisa e organização de informação

Microsoft PowerPoint 2003

Aplicações de Escritório Electrónico

Guia de Início Rápido

OneDrive: saiba como usar a nuvem da Microsoft

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

O AMBIENTE DE TRABALHO DO WINDOWS

Guia de Início Rápido

UNIDADE 2: Sistema Operativo em Ambiente Gráfico

Microsoft Office PowerPoint 2007

02 - Usando o SiteMaster - Informações importantes

Manual de Utilização. Site Manager. Tecnologia ao serviço do Mundo Rural

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

Explorar os comandos no friso Cada friso tem grupos e cada grupo tem um conjunto de comandos relacionados.

Guia de Início Rápido

Painel de Navegação Para ver o Painel de Navegação, prima CTRL+F. Pode arrastar os cabeçalhos dos documentos neste painel para reorganizá-los.

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

gettyimages.pt Guia do site área de Film

ÍNDICE... 2 INTRODUÇÃO... 4

Office 365 Manual Outlook 365 Web Application

Dicas para usar melhor o Word 2007

Informática Aplicada

Clique no menu Iniciar > Todos os Programas> Microsoft Office > Publisher 2010.

Educação Digital

Informática Básica. Microsoft Word XP, 2003 e 2007

Tema UFPel 2.0 WP Institucional Guia de Opções de Personalização

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011

MICROSOFT ACCESS MICROSOFT ACCESS. Professor Rafael Vieira Professor Rafael Vieira

Manual Brother Image Viewer para Android

Apostilas OBJETIVA Escrevente Técnico Judiciário TJ Tribunal de Justiça do Estado de São Paulo - Concurso Público Caderno 1.

Manual de Administração Intranet BNI

LeYa Educação Digital

Guia de Início Rápido

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

Centro de Competência Entre Mar e Serra. Guia

UNIDADE 2: Sistema Operativo em Ambiente Gráfico

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico

Planejando o aplicativo

Manual do Usuário Nextel Cloud. Manual do Usuário. Versão Copyright Nextel

Novell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela

Banco de Dados BrOffice Base

Os elementos básicos do Word

Aplicações de Escritório Electrónico

Sistema Operativo em Ambiente Gráfico

Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado.


AULA TEÓRICA 9. Tema 4. Introdução ao Microsoft Excel (cont). Funções Organização de dados Gráficos Recursos adicionais Impressão

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

Google Drive. Passos. Configurando o Google Drive

Formador: Carlos Maia

7.3. WINDOWS MEDIA PLAYER 12

Power Point. Autor: Paula Pedone

Sumário. Conteúdo Certificação OFFICE 2010

Cartilha. Correio eletrônico

Seu manual do usuário EPSON LQ-630

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Informática Básica para o PIBID

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR

Configuração do Ambiente de Trabalho

MICROSOFT POWERPOINT

Portal AEPQ Manual do utilizador

Outlook Apresentação

Migrar para o Access 2010

Guia de Início Rápido

2ºCiclo (5º e 6º Anos de escolaridade) 3ºCiclo (7º e 8º Anos de escolaridade)

Utilizar o Microsoft Offi ce OneNote 2003: Iniciação rápida

Oficina de Construção de Páginas Web

edirectory ios / Android Plataforma

Manual Vivo Sync. Manual do Usuário. Versão Copyright Vivo

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com

Manual do Usuário Android Neocontrol

edirectory Plataforma ios / Android

Como funciona? SUMÁRIO

Google Sites. A g r u p a m e n t o C a m p o A b e r t o /

BEM-VINDO AO dhl PROVIEW

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

Planificação Anual da disciplina de TIC 9ºANO

Smart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário

PROJ. Nº LLP NL-ERASMUS-ECUE

Iniciação à Informática

Manual Captura S_Line

DHL PROVIEW MANUAL O DHL PROVIEW DÁ-LHE TOTAL CONTROLO SOBRE OS SEUS ENVIOS.

Manual de Configuração

Microsoft Office FrontPage 2003

internet internet... abrir o programa... pag.. 6 ecrã do internet explorer... ligações... escrever um endereço de internet...

MANUAL DO USUÁRIO SORE Sistema Online de Reservas de Equipamento. Toledo PR. Versão Atualização 26/01/2009 Depto de TI - FASUL Página 1

MANUAL DO SISTEMA GT WEB CALL. Teledata

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

CGA Directa. Manual do Utilizador. Acesso, Adesão e Lista de Subscritores

Manual de Utilização das Funções Básicas do Sistema ClinicWeb

WINDOWS. O Windows funciona como um Sistema Operativo, responsável pelo arranque do computador.

Microsoft Windows. Aspectos gerais

Múltiplos Estágios processo com três estágios Inquérito de Satisfação Fase II

MANUAL DE UTILIZADOR Aplicativo: Análise do Estudo da Lição da Escola Sabatina. 0. INTRODUÇÃO ARRANQUE DO APLICATIVO Início...

Acronis Servidor de Licença. Manual do Utilizador

Transcrição:

119 novas características comuns Virtualize os seus projectos HFSQL ACID Editores 64-bit Novo campo gráfico de Gantt Novo campo Dashboard WEBDEV estático Fácil referenciamento 81 novas funções de WLanguage 167 novas funções ios 111 novas funções Android 19 novas funções Java 10 novas funções PHP 65 novas funções Linux...

A Versão 19 traz-lhe divertimento e incomparável eficiência Esta nova versão traz novidades para que as suas equipas sejam mais efecientes nesta constante evolução do mundo. NOVOS CAMPOS A configuração do Dashboard pode ser salvaguardada pelo utilizador e automaticamente restaurada na próxima vez que for aberto. ENCOMENDE HOJE MESMO A SUA VER- SÃO 19! Projectos em Cloud, novos campos, editores a 64 bits, performance aumentada, todas estas evoluções são parte destas 919 novidades que poderá encontrar nesta versão 19. Construir sobre a sua experiência aproveitando inevitávelmente as existentes novas tecnologias: este é o benefício proveniente desta versão 19. Basta apenas alterar as suas aplicações para a versão 19, que estas ganham automaticamente velocidade, qualidade e todo o suporte às mais recentes evoluções tecnológicas. 001 Novo campo dashboard Software dashboard é fortemente procurado por executivos que necessitam de tomar decisões: CEO, CIO, chefes de departamento, gestores... O campo Dashboard em WINDEV 19 permite-lhe criar facilmente dashboards que o utilizador final pode adaptá-los de acordo com as suas especificidades: eles serão capazes de mover elementos, ou mesmo escolher os que querem ver. A apresentação do painel dos elementos é gerido pelo utilizador. Os dados são apresentados nos elementos Estes elementos podem ser movidos, escondidos e automaticamente redimensionados pelo utilizador final. Widgets são criados facilmente: estas apenas são janelas internas. Exemplos Dashboard WINDEV 19, WEBDEV 19 e o WINDEV Mobile 19 são as suas ferramentas de trabalho. Torna-se mais eficiente e as suas criações, mais rápidas e robustas. O objetivo constante da nossa equipa é bastante claro: A sua satisfação e o seu sucesso, em todos os ambientes e hardware. Estamos orgulhosos em apresentar a versão 19: a melhor das versões. D Documentação das Novidades. Este documento destina-se a leitores que já se encontram familiarizados com a versão 18 do WINDEV, WEBDEV e WINDEV Mobile. Se você não estiver familiarizado, não hesite em pedir a sua documentação completa (grátis). Legenda Nos quadros de fundo amarelo, os nossos peritos chamam à atenção para certas características especiais. WD WB : A legenda indica em qual produto a novidade se encontra disponível 3

O código deste processo será chamado em intervalos de tempo definidos ou mediante solicitação. Para forçar uma actualização a qualquer momento, encontra-se disponível uma nova função WLanguage, o DashDisplay, para todo o painel ou para widgets específicos. Apresente o que quiser no dashboard. 003 Os seus Clientes sonham com isso: adicionar Dashboards facilmente nas suas aplicações! Um recurso de configuração automática permite à aplicação, criar uma aparência padrão: por exemplo, se um widget é excluído pelo utilizador final, devemos mover os outros ou manter o local vazio? Funcionalidades do campo Dashboard O utilizador final pode: movimentar os widgets para onde deseje redimensionar um ou mais widgets adicionar um ou mais widgets eliminar um ou mais widgets guardar e reutilizar modelos de configuração Disponibilizar dashboards nas suas aplicações torna-se extremamente fácil. 002 Programando um campo Dashboard Os widgets da Dashboard são apenas janelas internas. Os widgets são criados e programados como janelas internas. A Dashboard vem também com funcionalidades avançadas WLanguage para um melhor controlo da sua configuração: é possível programar vários layouts diferentes e alterar o respectivo layout a ser utilizado tendo em conta a sua utilização. A função WLanguage DashLoadConfiguration permite ao utilizador carregar uma configuração pré-programada. A função WLanguage DashSaveConfiguration permite ao utilizador salvar a configuração atual. Para que cada widget actualize automaticamente, um novo processo foi apresentado no editor de código: o processo Refresh Widget. Aqui o utilizador encerrou um widget (gráfico Donut s), moveu alguns widgets e redimensionou outro widget (gráfico de barras) Todas estas operações foram aplicadas de forma amigável, com o rato, pelo utilizador final. Não existe nada a programar para que o utilizador final beneficie destas funcionalidades. isto faz parte dos recursos automáticos da aplicação, AAF (Automatic Application Features). Os Utilizadores finais personalizam os seus Dashboards 004 Crie facilmente dashboards para as suas aplica es com WINDEV 19 Novo campo gráfico de Gantt O gráfico de Gantt permite visualizar graficamente o estado de um projecto. Um gráfico Gantt é muitas vezes utilizado para gestão de projectos ou no controle de produção, para visualizar tarefas e dependências de um projecto ao longo do tempo: dependência de uma tarefa em cima de outras tarefas. As tarefas são organizadas em linhas e as unidades de tempo, em colunas. As dependências entre tarefas são materializadas por setas que apontam tarefas relacionadas. Novo na versão 19, o campo do gráfico de Gantt que permite ao utilizador criar facilmente programas de planificação. Um gráfico Gantt pode ser facilmente criado. Está contido dentro de uma tabela. Basta especificar que a tabela clássica ou treeview tem uma coluna tipo Gantt. Apresenta facilmente uma sequência de tarefas! 005 Recursos avançados A função «Gráfico de Gantt» recurso da versão 19, permite ao utilizador gerir: a duração das tarefas o progresso das tarefas as dependências entre tarefas a cor das tarefas os marcadores o detalhe do resultado, em minutos, horas, dias, semanas o período de tempo exibido (início, fim) a exibição, ou não, dos números da semana. a máscara de edição dos dias e horas... É possível personalizar por completo o display da tarefa «bar», utilizando uma janela interna. Gerar um Gráfico de Gantt personalizado e eficiente é muito fácil. Um gráfico eficiente, muito simples. 4 5

006 007 009 3 exemplos de gráficos Gantt Como preencher um gráfico de Gantt Programar um gráfico de Gantt é muito simples. O novo código WLanguage GanttTask permite facilmente ao utilizador preencher colunas do tipo Gantt. Basta especificar a duração, o status de conclusão, as dependências, e assim por diante, nas tarefas. O display de tarefas de acordo com as suas dependências é feito automaticamente. Um gráfico Gantt pode ser impresso automaticamente através do editor de relatórios (ver mais adiante neste documento). Você já sabe como programá-lo... Criar campos de programação: nova função ControlCreate Gráfico de Gantt para a gestão de projectos 008 AAF de um gráfico Gantt O campo Gráfico de Gantt oferece AAF, Automatic Application Features (Recursos Automáticos de Aplicação): Estas são características que o utilizador não precisa de programar... Quando um gráfico Gantt é exibido, o utilizador final pode mover uma tarefa. As tarefas dependentes são atualizadas automaticamente. O utilizador final também pode: alterar a duração de uma tarefa mudar a situação de conclusão de uma tarefa alterar a ordem das tarefas eliminar e criar uma tarefa e suas dependências imprimir um Gráfico de Gantt A potencial barra de deslocamento é suportada automaticamente neste campo. A criação do campo é feito visualmente no editor de GUI (janela ou página) A função ControlClone permite duplicar dinamicamente campos existentes, visíveis ou ocultos. Na versão 19, a nova função ControlCreate permite ao utilizador criar dinamicamente campos, exclusivamente através de programação. Assim, na versão 19, é possível criar campos de programação. A função ControlCreate permite ao utilizador criar qualquer tipo de campo. Uma vez o campo criado, as suas características são definidas através de propriedades (nota: há várias centenas de propriedades por campo, cada um com um valor padrão!) Gráfico de Gantt para um arquitecto: tabela com 2 colunas, 1 coluna para os nomes das tarefas, 1 coluna com o gráfico de Gantt Zoom» nos sentidos das dependências Aqui um exemplo de um gráfico de Gantt numa tabela Treeview Pode adicionar colunas, do tipo Gantt ou de outro tipo mais clássico, à esquerda ou direita de uma coluna Gantt. O campo Tabela onde o gráfico de Gantt está presente, comportase e é programado como qualquer outro campo de tabela. Note-se que os gráficos de Gantt já são suportados pelo editor do relatório. poderá imprimir gráficos numa ou mais páginas. Crie os tipos de gráficos de Gantt que desejar! O campo está pronto para o utilizador final utilizar, você não tem quase nada a programar. Henri Gantt (1861? 1919 ) o engenheiro que inventou este dia? grama ho? m nimo c is control c <- CreateControl(«BUTTON_1», typbutton) c..x = 30 c..y = 40 c..largura = 140 c..altura = 20 c..legenda = «Click me» Criar campos por programação permite interfaces altamente personalizáveis. Por razões de segurança, o utilizador pode desactivar a criação de campos ou códigos de controle ao nível do projecto Torna-se assim possível a criação de campos a partir do zero através de programação. 6 7

010 WLanguage tipo «Control» A fim de facilitar a criação e o manuseamento dos campos através de programação, um novo tipo está a ser introduzido na versão 19 do WLanguage: O tipo Control. A inicialização de uma variável tipo control é feita pelo a utilização da função ControlCreate, ou por leitura do resultado de uma indireção ou mesmo através de um campo já existente na janela. Também é possível usar um tipo de variável control como um parâmetro de um procedimento Simplificação do uso genérico de campos por programação: não se perca mais! 011 Manipulação de um campo através de programação:.. Propriedade do processo Depois de um campo ser criado através de programação, o utilizador necessita de ser capaz de atribuir código a este! A nova propriedade..process permite atribuir um ou mais processos a um campo. c..process[trtclick] = MyProcedure1 Esta propriedade espera um procedimento. Este procedimento pode ser um procedimento já existente no projecto, um procedimento tipo variável ou um resultado de uma compilação dinâmica. É fácil atribuir código a um campo. 013 a 024 Tabela Pivot Dinâmica (cubo de rolap) 12 evoluções A Tabela Dinâmica Cruzada (TDC) é um campo fantástico. O resultado é exibido automaticamente economizando semanas de programação. Novas opções de armazenamento de dados (AAF) Entre os novos recursos introduzidos em torno da TDC, na versão 19, os utilizadores finais também beneficiam de: classificar por data descendente, mas com trimestres ascendentes detalhe adicional semanal AAF para omissão de uma ou mais colunas AAF para a expansão de subníveis a partir de um determinado nível melhorado o desempenho de exibição protecção por senha da cópia de segurança do TDC alteração da largura da primeira coluna (nome) com o rato adicionar um título a uma coluna ou uma linha definir uma cor de fundo de uma célula ou conjunto de células (e encontrá-los facilmente de novo quando se navega através da tabela). tiondimension devolve-lhe a lista de todas as categorias de produtos exibidos num determinado país: Position is pvtposition Position.country=»FR» ProductCategory is array of pvtpositions ProductFamily=PVTListPositionDimension(PVT_Product,Position) A nova função PVTSelect(pos) devolve-lhe a posição das células selecionadas na TDC. A TDC está ainda mais forte. 025 Opções em campos estáticos de várias linhas: reticências Quando um texto de várias linhas é muito grande de forma a caber no seu campo estático, o final do texto é representado por três pontos. A isto chamamos de «reticências». O texto não cabe dentro do seu campo? Os «...» indica ao utilizador que o texto está cortado As reticências também estão disponíveis para as linhas da tabela multi-linha. Textos de várias linhas que são muito longos para o campo são indicados ao utilizador final 026 Associar um campo a vários separadores Na versão 19, um campo pode ser associado a vários separadores. Por exemplo, se um botão de «Aplicar» for encontrado em todos os separadores de uma janela, é possível criá-lo uma única vez e especificar que o mesmo estará presente em todos os separadores. Evite a duplicação de código. 027 associar um campo com vários planos Na versão 19, é também possível associar um campo com vários planos. Simplificação do uso de planos. 028 Posicionamento personalizado de texto e imagens dentro de botões Na versão 19, torna-se possível posicionar livremente, ao pixel, texto e imagens dentro de botões. Botões tornam-se muito mais elegantes, muito facilmente. 3 exemplos de posicionamento de texto e imagem dentro de um botão 012 acções de campo: adicionar ou substituir código a um campo existente A nova propriedade..process também permite ao utilizador substituir ou adicionar processos a um campo existente. c..process[trtclick] = MyProcedure1 O operador = substitui o código existente com a do procedimento indicado c..process[trtclick] += MyProcedure2 O operador += adiciona uma chamada a um procedimento após código existente. Também pode adicionar um ou mais procedimentos antes do código existente. Fica mais fácil modificar o código e o comportamento dos campos existentes. Possibilidade de definir uma cor de fundo na célula por forma a encontrá-la de novo facilmente ao navegar através do TDC (Cubo de rolap) Na edição nos 7 tabs, o utilizador pode especificar o display padrão de uma dimensão: minimizadas ou expandidas. No seu código: para obter a posição de uma célula específica numa tabela (o seu valor em todas as dimensões) uma nova variável foi introduzida: pvtposition. Exemplo: x é pvtposition do PVTControl escolha uma barra de progresso personalizada A propriedade..visible encontra-se disponível para operações de calculo (soma, média,...). Por exemplo, valores sem significado podem não ser mostrados, iluminando assim a apresentação e tornando a tabela mais legível. A nova função PVTListPositionDimension permite-lhe listar todas as posições de uma dimensão. Por exemplo, numa dimensão «categoria de produto», a nova função PVTListPosition- Dimension devolve-lhe a lista de categorias de produtos exibidos na TDC. Por exemplo, na dimensão «país», a nova função PVTListPosi- Eu confio na minha versão 19 para tudo 8

Criar botões sofisticados é agora ainda mais simples. 029 Exibição mais rápida de tabelas hierárquicas e TreeView Uma navegação em TreeView pode conter um grande número de elementos e subelementos. Preenchê-lo na totalidade pode requerer algum tempo. Na versão 19, preencher o elemento clicado da treeview com o conteúdo do ficheiro associado é efectuado «a pedido», quando se clica para expandir o nível. O preenchimento é distribuído ao longo do tempo e, portanto, parece mais rápido. Para uma treeview preenchida por programação, a nova propriedade..addscheduledchild permite adicionar sub-elementos apenas quando esse nível é expandido. O preenchimento inicial do Treeview é muito mais rápido, o utilizador final não terá de esperar. mente o item exibido) ser capaz de mudar a altura do cabeçalho através de programação o novo processo Column resize, que pode ser utilizado quando o utilizador final redimensiona uma coluna a capacidade de lidar com a barra de deslocamento horizontal das tabelas por programação Novos AAF também estão disponíveis para os seus utilizadores finais: definir um filtro numa coluna tipo check box definir um filtro de found between numa data esconder um calendário num cabeçalho de uma coluna do tipo data para filtrar a tabela por data ou por um intervalo de datas... O campo tabela evoluiu na versão 19 tornando-se assim muito mais configurável e personalizável. 039 GRÁFICO Isto um gr fico! Este um gr fico de barras WINDEV que se baseia em alguns dos novos recursos da vers o 19. 030 a 038 Campo Tabela: 9 novidades O campo Tabela é utilizado em diversas aplicações. Evolui e melhora na versão 19. Entre as novidades oferecidas, o utilizador beneficiará da: capacidade para exibir um botão de calendário em células do tipo data Novo tipo de Gráfico: cascata Um novo tipo de gráfico foi introduzido na versão 19 do WINDEV, aumentando assim a já longa lista de gráficos que podem ser usados nas suas aplicações. Este é um gráfico do tipo «Cascata». O gráfico tipo Cascata é um gráfico de barras que lhe permite representar adições (positivas ou negativas) de várias séries: Usado principalmente em finanças, permite, por exemplo, para ver a evolução de um valor ao longo do tempo, ou para ver o impacto que vários elementos têm sobre este valor. A cor para os valores positivos e negativos podem ser diferentes. O resultado das barras pode ser apresentado numa posição específica: no início, no final, após o surgir da informação... Novo campo Gráfico Cascata Mais um novo tipo de Gráfico! move-se progressivamente até ao seu novo valor. Estas animações estão disponíveis para os seguintes tipos de gráficos: gráfico de barras, gráfico de linhas, gráfico aéreo, gráfico de bolhas O resultado é realmente sedutor para o utilizador final! 040 novidade WD WB Calendário numa célula da tabela Animações nos Gráficos O gráfico é construído dinamicamente (opcional), o que produz um grande efeito! capacidade para exibir uma calculadora em células do tipo numérico Outras novas funcionalidades nos gráficos na versão 19: o utilizador pode «animar» o seu display. A primeira vez que o gráfico é exibido, cada barra parece saltar fora do eixo de X. Quando um valor é alterado, a barra (ou o ponto sobre a curva) Possibilidades suplementares para a configuração e efeitos visuais, são sempre apreciados pelos utilizadores finais. Novo campo Gráfico Cascata Calculadora numa célula da tabela a possibilidade de ordenar uma rubrica linkado (e não necessaria- 10 11

041 Possibilidade de remover os eixos de X e Y requerida).desta forma, poderá aceder aos seus projectos a partir de qualquer computador, em qualquer momento, em qualquer lugar. Desde que esteja autorizado a tal, claro! Nenhum equipamento, nenhum servidor para configurar, manter ou gerir. Trabalhar com equipas dispersas é muito mais fácil. Aceda aos seus projectos a partir de qualquer lugar do mundo. menu pessoal, os botões personalizados, os últimos projectos abertos, até a lista dos mais recentes ficheiros atualizados! Por razões estéticas, por vezes, pode não querer mostrar os eixos de um gráfico. A versão 19 permite-lhe omitir um ou ambos os eixos. (veja na página anterior a imagem do ecrã no canto superior direito: os eixos foram removidos). 046 Centros de Controlo na nuvem A cor de cada barra num gráfico de barras pode ser definido. Na versão 19, a cor de cada barra num gráfico de barras pode ser definida por programação. A função grcolorcategory permite-lhe colorir directamente as barras com base no seu índice no gráfico. Ajustes detalhados nos gráficos de barras. A versão 19 oferece-lhe a possibilidade de armazenar e compartilhar dados nos Centros de Controlo, na nuvem: Centro de Monitorização de Projectos, Centro de Controlo de Qualidade, Centro de Mensagens. A partir da nuvem, pode gerir colaboradores, grupos, requisitos, tarefas, mensagens, erros, sugestões... Acompanhe os seus projectos a partir de qualquer parte do Mundo. Trabalhar em movimento nunca foi tão fácil! O gráfico de barras não apresenta nenhuns eixos! Exiba gráficos mais leves. 042 Imagem como fundo de um gráfico Uma imagem pode ser usada como fundo de um gráfico Um wizard (assistente) ajuda-o a seleccionar uma imagem de fundo. «Vista» elegantemente os seus gráficos! AMBIENTE: DESENVOLVA NA NUVEM 047 A configuração do ambiente segue-o para todo o lado graças à nuvem Altere de computador e vai encontrar a configuração exata do seu ambiente de trabalho no seu WINDEV (ou WEBDEV ou WINDEV Mobile); agora é possível graças ao armazenamento da sua configuração na nuvem (assinatura requerida). Abra o WINDEV, digite seu login e senha, e estará, de imediato, em casa. A posição do ambiente, o tamanho e a localização das janelas, o 048 SCM Otimizado SCM (Source Code Manager) é a pedra angular do trabalho em equipe. Como sabe, o WINDEV, WEBDEV e o SCM da WINDEV Mobile vão muito mais longe do que qualquer outra ferramenta de terceiros, gerindo não só o seu código-fonte, mas também janelas, relatórios, análises, consultas... O SCM também é usado para armazenar e compartilhar projectos na nuvem. Na versão 19, o SCM é optimizado para oferecer um modo de operação simples e de rápida recuperação dos dados. Para grandes projetos, a velocidade de abertura do projecto pela 043 TOTALMENTE COMPATÍVEL COM AS VERSÕES ANTERIORES Desenhar um gráfico numa variável do tipo de imagem Normalmente, um gráfico é exibido no campo que lhe é destinado. Na versão 19, pode solicitar a apresentação do gráfico numa variável do tipo Image A variável Image pode ser tratada em programação, como um webservice, por exemplo. Capacidade de manipular a imagem de um gráfico na memória. 044 Histograma: cores diferentes para cada barra Na versão 19, é possível definir uma cor específica para cada uma das barras, mesmo dentro de um conjunto. 045 Os seus projectos na nuvem: desenvolva em todos os lugares, desenvolva em equipas distribuídas A versão 19 oferece-lhe a capacidade de armazenar e compartilhar os seus projectos diretamente na nuvem (assinatura WINDEV 19 respeita os seus activos existentes. A migração entre as versões WINDEV 7.5, 8, 9, 10, 11, 12, 14, 15, 16, 17 ou 18 e WINDEV 19 não é necessária: Para trabalhar com a versão 19. apenas necessita de recompilar a sua aplicação. Mudar do WEBDEV 7, 9,10, 11, 12, 14, 15, 16, 17 ou 18 para WEBDEV 19 é também muito fácil. Componentes existentes (versão 8, 9, 10, 11, 12, 14, 15, 16, 17 ou 18) trabalham directamente (sem ser necessário recompilar) com aplicações na versão 19. A versão 19 abre directamente projectos criados na versão 7.5, 8, 9, 10, 11, 12, 14, 15, 16, 17 or 18. Projectos antigos (5.5,...) terão de ser migrados. E, claro, podem coexistir no seu PC diferentes versões dos seus ambientes, a licença da versão 19 permite a utilização de versões antigas (18, 17, 16, 15, 14, 12, 11, 10, 9, 8, 7.5, 5.5,...) 12 13

primeira vez melhorou em 80%. Na versão 19, o SCM tornou-se mais simples e mais rápido. 049 AMBIENTE Já muito agradável e muito eficiente, o ribbon torna-se ainda mais atraente na versão 19! As poucas opções que ainda faltavam nos ribbons, foram adicionadas: código de barras, gráfico, splitter (barra separadora)... Um largo número de opções foram simplificadas e tornaram-se mais intuitivas. O acesso aos tradicionais menus continua disponível, claro. Graças ao ribbon, o acesso às funcionalidades dos editores nunca tinha sido tão rápido. DASHBOARD DO PROJECTO Editores 64-bit: memória ilimitada Os editores WINDEV, WEBDEV e WINDEV Mobile estão disponíveis tanto em versões 32-bit e 64-bit. A versão de 64 bits oferece mais memória para gerir com calma projectos de grande tamanho. Projectos maiores que 2.000 janelas e 1.000 páginas são mais fáceis de editar. 052 Ribbon: botões «atalho» personalizados Aproveite a memória ilimitada no modo de 64-bits. À esquerda, os meus ícones de atalho Nos editores, o ribbon permite-lhe personalizar os botões (no canto superior esquerdo do ribbon) para acesso imediato às suas escolhas favoritas. Antes da versão 19, o número de botões de «atalho» estava limitado a 9. Na versão 19, o número destes sobre para 18. Cada programador será capaz de personalizar o seu ribbon. 050 Velocidade de arranque de grandes projectos: ganho de 90% A abertura de projectos é mais rápida na versão 19, e em projectos de grande envergadura e num grande número de casos, como a partilha do mesmo computador entre vários programadores, a presença de referências quebradas (como uma consulta que utiliza ficheiros de dados (table) excluídos da análise), a presença de mais de 100.000 ficheiros no directório do projecto (backups), etc... Os ganhos registados em projectos de grande tamanho são superiores a 90%. Estes ganhos também transitam para a fase de compilação. Diga-nos quanto tempo ganhou num e-mail para projectopening19@windev.com O seu ambiente abre mais rápido e compila igualmente mais rápido. 053 Dashboard do projecto como widgets 051 Ribbon: código de barras, gráfico, barra separadora Na versão 19, os ribbon dos editores atingiram a sua maturidade. O dashboard do projecto: totalmente personalizável O dashboard do ambiente evoluiu drasticamente. (Atenção: Não confundir este novo recurso com o novo campo Dashboard que está disponível para suas aplicações WINDEV). Para melhor satisfação, o seu aspecto foi virado de cabeça para baixo na versão 19. 14

DASHBOARD DO PROJECETO COM 4 WIDGETS PORMENORIZADOS VISÃO GERAL DO PROJECTO SCM AUDITORIA ESTÁTICA PROFILER 055 EDITOR DE JANELA Maior facilidade na edição de campos numéricos Na versão 19, a edição de campos numéricos torna-se mais visual. A máscara é definida através da selecção de uma lista de opções, ou digitando o número de casas decimais antes e depois do separador, ou digitando o tamanho da variável, ou usando uma máscara específica (tamanho do ficheiro,...) 057 novidade WD WB Prevenindo as alterações do «Master» em edição No editor, um novo parâmetro permite-lhe especificar que determinado campo não pode ser associado a outro (uma tabela, supercampo,...). Isso impede que um campo seja inadvertidamente associado a outro, quando se muda. Prevenção na associativa de campos que podem originar erros. 058 novidade WD WB Visualização da sobrecarga de utilização dos estilos A propriedade de um estilo de um campo pode agora ser sobreposto. A lista de estilos utilizados por uma janela indicam o número de sobreposições para cada estilo na janela. Permite-lhe verificar se o número razoável da sobreposições de estilos A edição de máscaras em campos numéricos tornou-se mais fácil Definir uma máscaara de edição num campo numérico é agora mais fácil. WINDEV 19 e nada mais! 056 novidade WD WB Os elementos do dashboard são agora apresentados como widgets, os quais pode facilmente configurar, mover, redimensionar ou eliminar. Desta forma apenas a informação que lhe interessa será apresentada O dashboard permite-lhe apresentar widgets sobre: visão geral do projecto estatísticas do projecto: número de janelas, linhas de código por programador,... incidentes tarefas o estado actual dos testes automáticos do projecto a auditoria de código, auditoria estática o resultado da última auditoria dinâmica do último GO a lista de elementos com saída registada de SMC o resultado dos planos de acção para a integração contínua pré-visualização rápida dos últimos perfis a análise ao tamanho do executável estado dos componentes utilizados pelo projecto a visualização dos comandos do menu personalizado links para documentos a data da última extracção e reintegração para WDMSG... Na versão 19, o painel do projecto oferece uma exibição personalizada de cada projecto. 054 Diversos Entre os novos recursos para os editores, os programadores que usam a versão 19 beneficíam ao: converter um texto em maiúsculas: a combinação de teclas Ctrl + SHIFT + M permite-lhe converter um texto de letras minúsculas em maiúsculas, respeitando a acentuação. componente interno: uma opção no explorador de Projectos permite-lhe esconder os «ramos» vazios. Os editores são mais amigáveis na versão 19. Geração de protótipo de janela. «MyWindow Procedure» Protótipo gerado nas «declarações globais» Ao criar uma janela, o editor gera automaticamente uma declaração do protótipo janela. O protótipo encontra-se localizado nas «Declarações globais» do processo da janela. Este protótipo é usado para definir os potenciais parâmetros que a janela terá. Inserir parâmentros na janela é agora mais rápido e os principiantes irão saber onde os digitar! 16 17

059 EDITOR DE RELATÓRIOS Ancoragem em relatórios 060 Molduras sofisticadas As molduras evoluíram no editor de relatórios. Um grande número de novas configurações está sendo introduzido. Você pode definir uma espessura diferente para cada moldura, bem como a cor e estilo diferente. Cantos arredondados também podem ser definidos. papel, o utilizador poderá imprimi-lo ao longo de várias páginas que podem ser posteriomente montadas (como faria para uma folha de cálculo). Na versão 19, imprimir «tabelas treeview» torna-se bastante mais simples. 064 Imprima o relatório no idioma de sua escolha O conceito de ancoragem começa agora a ser introduzido no editor de relatórios Agora é possível mudar um relatório do modo «Horizontal» para «Vertical» sem que este tenha que ser reescrito! O relatório adapta-se automaticamente ao tipo de orientação e tamanho do papel graças à ancoragem Defina um canto arredondado no editor Se a cor de cada canto arredondado for diferente, é criado automaticamente um gradiente para a moldura. Os limites, são editados quer através da tecnologia 7-tab ou mesmo através do editor WYSIWYG. Mantendo a tecla SHIFT pressionada permite criar cantos arredondados simétricamente. Gantt: fácil de criar, fácil de imprimir! 062 Relatório: impressão em várias páginas Um relatório de tabela (por exemplo) pode ser muito grande, e, nomeadamente, maior do que uma folha de papel. Agora pode especificar que um relatório será impresso em várias páginas. O utilizador final só terá que reunir as páginas. A pré-visualização da impressão é WYSIWYG. Antes da versão 19, quando um relatório necessitava de ser impresso num idioma diferente do que a aplicação, necessitava de alterar a própria linguagem da aplicação! Isto pode ser aborrecido... A partir da versão 19, pode alterar a linguagem de impressão de um ou mais relatórios (por exemplo, imprimir uma fatura em francês a partir de uma aplicação com o idioma em Inglês). A função iprintingnation foi introduzida para este propósito. É mais fácil imprimir relatórios noutro idioma que não o da aplicação. 065 Indentação interna de campo, configurável para cada campo. A identação interna de um campo pode agora ser definida individualmente para cada campo, e não apenas ao nível global do relatório. Isto proporciona um visual mais limpo nos seus relatórios. Um relatório com um rebordo sofisticado (os 4 cantos podem naturalmente ser sempre arredondados!) Um relatório de duas páginas Grande variedade visual! Tabelas grandes são legíveis! O mesmo relatório, impresso na Horizontal e na Vertical graças à ancoragem dos campos A ancoragem nos relatórios permitem-lhe alterar o formato ou a orientação da página mantendo o layout certo sem ter que criar várias versões para o mesmo relatório. 061 Novo campo gráfico de Gantt nos relatórios O novo gráfico de Gantt na versão 19 (ver novidades 004 a 008) pode ser impresso nos relatórios. Se o relatório for muito grande para caber em uma única folha de 063 Tabela treeview Na versão 19, o relatório da «tabela treeview» encontra-se disponível no editor de relatórios. Este funciona como o relatório de tabela, pode ser impresso em várias folhas de papel. Sofisticadas molduras em torno do endereço na versão 19, os campos de relatório são ainda mais personalizáveis. 18 19

066 070 073 074 Quanto mede o meu pé em centímetros? imprima usando unidades de medição Inglesas Os relatórios podem ser impressos utilizando o sistema de unidade métrica comum ou o sistema métrico Inglês: polegadas, pés,... Não necessita mais de efectuar conversões, polegadas ou centímetros, a escolha é sua! Visualização de pares de blocos Em relatórios sofisticados, pode ser difícil distinguir entre o início e o fim de um bloco: quebra.. O editor da versão 19 oferece em destaque, o início e o fim do bloco selecionado. Torna-se mais fácil compreender a estrutura do relatório após este facto (por exemplo, rever o código de outra pessoa). 071 PDF como imagem de fundo: definição melhorada Estados: imagem e gráficos transparentes A versão 19 do editor de relatórios suporta transparência no tipo de campo image. A imagem tem simplesmente de estar no formato PNG. Quando um campo chart não tem um fundo, a transparência também está ativa. Agora com a versão 19 é possível sobrepor uma imagem cortada vinda de uma base de dados, com um fundo. Imprimir um gráfico com uma imagem de fundo O editor de relatórios suporta imagens de fundo em gráficos. Podem ser impressos sofisticados gráficos. 075 Menor consumo de memória A execução de relatórios nas suas aplicações foi otimizada e consome menos memória. Reduz a quantidade de memória utilizada o que é sempre útil em modo de 32 bits. 067 Planos em relatórios A noção de «Plano» é agora apresentado no editor de relatórios Isto evita ter que criar blocos de substituição. A versão 19 leva-o para onde quiser! 068 Um relatório pode utilizar uma imagem de fundo. O caso mais comum é utilizar um PDF como um pré-impresso institucional. Na versão 19, a qualidade de impressão da imagem foi notavelmente melhorada. EDITOR DO MODELO DE DADOS (ESQUEMA DE DADOS) Suporte para o formato de imagem vetorial SVG O suporte a formatos de imagem SVG começou agora com a versão 19. Este formato permite-lhe redimensionar a imagem sem perder definição. Antes: a forma podia ser difusa Os Layouts podem ser ainda mais sofisticados. 076 Hierarquia dos grupos de ficheiros de dados As descrições de ficheiros (tabela) podem ser agrupadas no editor do modelo de dados. Na versão 19, pode-se unir grupos entre si, criar uma estrutura de árvore de ficheiros (tabelas). Agora, na versão 19: a forma é nítida Melhor qualidade de impressão, graças ao formato vectorial. Relatórios com imagem de fundo em PDF estão mais nítidos. Nunca sem o meu WINDEV 19 072 069 Valor inicial para o código de barras Pequenos e úteis detalhes, um código de barras pode ser inicializado diretamente a partir do «7 tab». Um endereço de Internet num código QRC pode por exemplo, ser inserido diretamente a partir do editor. Menos código, menos riscos de erro! Gestão de «alta qualidade» em PDF Na versão 19, a função iparameterpdf aceita um novo parâmetro que permite gerar PDF de alta qualidade; não há nenhuma otimização, portanto, sem perda de qualidade para as imagens. Os relatórios em PDF são agora mais nítidos. 20

Algumas funções WLanguage podem agora ser aplicadas a grupos de ficheiros: HCreationIfNotFound, HChangeConnection, etc... Ao editar um grupo, os links para os ficheiros de dados (tabelas) externos ao grupo são mostrados. Agrupando ficheiros na versão 19 torna-se mais fácil para trabalhar com estes, tanto no editor como no seu código. 077 Assistentes modernizados A facilidade de uso do editor do modelo de dados foi revisto. Mais de 70 planos foram modernizados, simplificados. Definir estruturas de dados nunca foi tão fácil. Os assistentes foram revistos 078 Modo de encriptação automático Foi introduzido um novo modo de encriptação de dados nos ficheiros HFSQL (tabela): o modo «automático» encontra-se definido por defeito ao descrever um novo ficheiro. A Encriptação é assegurada ao chamar a função hpass. DLNA: CONTROLO DE TELEVISORES (UPnP) 080 Evolução do WLanguage para DLNA WLanguage evolui para suportar DLNA nativo. Foram introduzidos novos tipos e novas funções UPNPSearchDevice Localiza um dispositivo com base no seu nome exclusivo (UDN). UPNPExecuteAction Executa uma acção UPnP. UPNPListContent Lista os ficheiros e directórios de um dispositivo UPnP. UPNPListDevice Lista os dispositivos UPnP disponíveis de uma rede. UPNPMediaStop Interrompe a leitura do mídia no dispositivo UPnP. UPNPMediaPlay Inicia a leitura do mídia actual no dispositivo UPNP. UPNPMediaOpen Abre um mídia num dispositivo UPnP. UPNPMediaPause Interrompe a leitura do mídia actual no dispositivo UPnP. UPNPModifyContrast Modifica o contraste de um dispositivo UPnP. UPNPModifyBrightness Modifica o brilho de um dispositivo UPNP. UPNPModifyMute Modifica o estado Mute de um dispositivo UPnP. UPNPModifySharpness Modifica a nitidez de um dispositivo UPNP. UPNPModifyVolume Modifica o volume de um dispositivo UPNP. UPNPGetContrast Obtém o nível de contraste de um dispositivo UPnP. UPNPGetBrightness Obtém o brilho de um dispositivo UPNP. UPNPGetMute Obtém o estado Mute de um dispositivo UPNP. UPNPGetSharpness Obtém a nitidez de um dispositivo UPnP. UPNPGetVolume Obtém o volume de um dispositivo UPNP. Estão disponíveis 3 novos tipos WLanguage: upnpdevice Novo tipo WLanguage que descreve um dispositivo UPnP UPNPService Novo tipo WLanguage que descreve um serviço UPNP UPNPImage Novo tipo WLanguage que descreve uma imagem de UPnP SCM (TRABALHO EM EQUIPA) manecer actualizadas facilmente. Acesso constante para toda a equipa, independentemente de onde se encontrem. Backups automáticos. 082 Otimização do SCM para a nuvem A utilização do SCM na nuvem é feita através de uma conexão à Internet. A velociade da conexão à Internet pode variar. Com o objectivo de tornar o trabalho mais atractivo remotamente, a versão 19 do SCM melhora e optimiza os acessos remotos. Na versão 19 o SCM é mais rápido durante os acessos remotos. Um acesso mais rápido ao SCM permite maior rapidez no acesso ao código-fonte da aplicação. 083 Favoritos Na versão 19, o SCM finalmente suporta «favoritos». Quando existem centenas de projetos armazenados no SCM, estes favoritos são os «salva-vidas» reais para encontrar facilmente o seu projeto! Selecção rápida do projecto desejado. Definição e modificação das estruturas de dados mais fácil. WLANGUAGE 079 WINDEV 19, elegante... DLNA na versão 19 DLNA significa Digital Living Network Alliance, que é uma organização de comércio colaborativo, responsável por definir as diretrizes de interoperabilidade na partilha de meios digitais entre dispositivos multimídia. DLNA baseia-se em métodos de conexão de redes existentes: Ethernet e Wi-Fi. Em WINDEV 19, e graças ao suporte desta tecnologia, é fácil criar aplicações que comuniquem com uma TV ou um frigorífico! DLNA é um subconjunto de UPnP. Entre as acções possíveis, o programador tem a capacidade de: Listar os dispositivos à sua volta Listar os serviços de um dispositivo DLNA Começar a reproduzir um vídeo num televisor Ajustar o brilho, o volume, o contraste, a focagem Desencadear acções específicas para o dispositivo Comunique! 081 SCM na nuvem SCM proporciona segurança e facilidade de trabalho em equipa A Versão 19 permite facilmente colocar a base de dados SCM diretamente na nuvem (assinatura requerida). Todos os programadores da equipa têm acesso constante aos projetos, independentemente de onde estes estejam localizados fisicamente. O programador simplesmente necessita de uma conexão à Internet para ler e escrever no SCM. Se não existir conexão à Internet, o programador pode sempre trabalhar localmente no seu computador. O repositório do código-fonte pode ser sempre actualizado mais tarde, quando existir uma conexão com a Internet. O programador nunca está preso. Com SCM na nuvem, as equipas distribuídas podem sempre per- 084 Novo tipo «Registo» O novo tipo Record permite-lhe lidar com registos do ficheiro de dados (table rows). Torna-se mais fácil de armazenar registros (rows) na memória, para compará-los, etc. PROCEDURE WIN_VIPCustomerManagement() CurrentCustomer is Record of Customer CurrentCustomer = Customer IF CurrentCustomer.VIP = True THEN ProcessSpecialCustomer(CurrentCustomer) END Poder e facilidade de uso na manipulação de registos (linhas). 22 23

085 088 090 Criando ícones, Modificando ícones Na versão 19, a nova função dsaveimageico permite gravar um ficheiro no formato.ico, que é o formato de ícones. O novo tipo WLanguage Icon permite-lhe descrever as informações necessárias para definir um ícone. Aqui estão as propriedades que descrevem um ícone: Image: Array contendo as imagens para cada formato do ícone. As dimensões ou as imagens fornecidas são mantidas. Por predefinição o sistema irá escolher a imagem mais adequadas tendo por base as suas dimensões e o número de cores. Formato: formato de cada imagem do ícone. Os formatos suportados são BMP (icoformatbmp constant) e PNG (icoformatpng constant). TransparencyColor: cor da transparência de cada imagem do ícone. Foi adicionado um texto à direita do ícone. Exemplos de Ícones Torna-se fácil criar novos ícones, como também carregar ícones existentes, modificá-los e salvaguardá-los novamente. Criar e modificar ícones é agora uma brincadeira de criança. 086 JSON nativo em WLanguage JSON é um formato de troca de dados, usado principalmente com o navegador de Internet, onde JavaScript interpreta este formato nativamente. As funções Serialize e Deserialize permitem serializar e desserializar estruturas e classes em formato JSON sem necessitar de aceder a código de serialização. WLanguage agora interpreta JSON nativamente, o que lhe permite ler diretamente a resposta de um web service REST. Serialização JSON nativo em WLanguage Evite dezenas de linhas de código, apenas REST! 087 Enumerações e combinações, novas possibilidades Enumerações e combinações permitem-lhe usar um conjunto de valores numa ou mais variáveis, e restringir a variável a apenas estes valores. Um adicional em termos de segurança, aumentado com o preenchimento automático no editor de código. A Versão 19 oferece-lhe úteis e novos recursos: o uso de enumerações e combinações como valores de retorno da janela capacidade de declarar uma constante e atribuir-lhe um valor de uma enumeração ou a combinação capacidade para recuperar directamente o valor associado com uma enumeração ou uma combinação..name propriedade para obter o nome original do valor de uma enumeração, ou todos os nomes das opções de uma combinação separados por «+» EnumerationFromName recupera um valor de enumeração conhecido pelo seu nome a função CombinationFromName constrói uma combinação de opções de nomes de opções separadas por «+» A função EnumerationCheckName verifica se uma string é utilizada numa enumeração A função EnumerationFromValue recupera um valor de enumeração conhecido por seu valor associado A função CombinationFromValue constrói uma combinação de opções a partir dos valores associados das opções combinadas A função EnumerationCheckValue verifica se existe um valor de enumeração conhecido pelo seu valor associado A função CombinationCheckName verifica se uma combinação de opções pode ser construída a partir dos nomes de opção separados por «+» Capacidade para armazenar o nome de uma enumeração ou combinação, num ficheiro de dados. Salvando imagens no formato TIFF O formato TIFF é um formato comum para armazenar imagens. A versão 19 permite-lhe salvaguardar imagens directamente no formato Tiff. Uma imgem Tiff pode conter inúmeras páginas (inúmeros frames): este tipo de imagens é suportado. O novo tipo WLanguage Tiff permite-lhe descrever os vários parâmetros para a imagem. Lendo uma imagem Tiff existente, Tiff fornece-lhe vários tipos de informação. A gestão do formato Tiff torna-se extremamente fácil! 089 Inicialização do buffer Na versão 19, um buffer pode ser diretamente inicializado quando este é declarado: buf is buffer=[0x01,0x02,0x03] A inicialização de uma variável de tipo buffer numa única linha, reduz o número total de linhas de código. Menor número de linhas de código. A versão 19 abre portas a novos mundos Execução automática do código «continue» numa interacção em loop O código WLanguage Continue permite-lhe abandonar a iteração atual e voltar para o início do loop. O código localizado após a palavra-chave Continue não é executado. O novo código Continue permite-lhe definir uma quantidade de código que será sempre executado no loop, quando a iteração for totalmente executada o código Continue é chamado. HReadFirst(CUSTOMER,CustomerNum) WHILE NOT HOut(CUSTOMER) // processo... //... IF NOT CUSTOMER.CurrentAuthorized THEN CONTINUE END // processo... //... CONTINUE: HReadNext(CUSTOMER) END Sintaxe compacta para personalização do código de loop. 24

091 Execução automática do código «break» na saída de um loop A código WLanguage BREAK permite interromper a execução de um loop. Por vezes é necessário interromper a execução de um ciclo em diferentes partes do código no decorrer da execução de código comum. Na versão 19 o novo código BREAK: permite-lhe definir o código comum a todos os casos de saída de um loop. Este código apenas será executado caso a saída do loop seja realizada por uma declaração BREAK e não através de uma saída normal de loop. Exemplo: LastName is string FirstName is string FOR ALL Customer // first search condition IF CheckCondition1(Customer) THEN PAUSA END // second search condition IF CheckCondition2(Customer) THEN PAUSA END PAUSA: LastName = Customer.LastName FirstName = Customer.FirstName END Não necessita de mais acrobacias a escrever código comum para abandonar um loop. 092 Abandonando vários níveis de loop Vários If ou loops agrupados? Como sair de vários níveis apenas com uma instrução? Break(3), e já está, abandonei 3 níveis... Algoritmo simplificado. 093 OOP: «Método abstrato» Um método abstrato é um método que deve absolutamente ser redefinido nas classes derivadas. WLanguage permite-lhe definir este tipo de método para melhorar o design e a programação orientada a objetos. Exemplo: PROCEDURE ABSTRACT AMethod() Melhoria do design e da programação orientada a objetos 094 OOP: «Classe abstrata» Uma classe abstrata é uma classe base que agrupa comportamentos comuns a várias classes. A classe é abstrata quando é declarada como tal, ou se um dos seus métodos é abstrato. AClass is Class, abstract Uma classe abstrata não pode ser instanciada. Este tipo de classe também permite implementar «Interface» padrões de design. Maior detalhe na Hierérquia de classes. 095 OOP: «Atributo serialize» Na versão 19 este novo atributo permite-lhe definir os membros que não devem ser serializados. A vantagem é que ele reduz o tamanho do bloco de dados serializados e do tempo que leva para serializar / desserializar evitando a serialização de elementos que não necessitam. Exemplo prático: Person is Class LastName is string FirstName is string DateOfBirth is date Age is int <Serialize=False> END Otimiza o tamanho e a velocidade das serializações ao eliminar elementos desnecessários. 096 Evolução da opção Compilar A função Compile permite-lhe compilar dinamicamente código nas suas aplicações. Historicamente a função aceita dois parâmetros: o nome do procedimento e o código do procedimento a compilar. Uma nova sintaxe, muito mais legível e que não leva um nome de procedimento como parâmetro, e devolve uma variável do tipo procedimento. Iniciar um processo é muito mais simples. Formula is Procedure Formula=Compile(«RETURN COL2+3*COL5») Formula() Adicionalmente, e uma vez que este procedimento é referenciado pelo tipo de variável Procedure, este tem acesso a todos os recursos da linguagem para a manipulação de procedimentos: callback, property..process (ver novidade 011),... A função de compilação está mais poderosa e fácil de usar. 097 contém e operadores de finalização: ex acto ou flexível? [=] [~] [~~] =] ~] ~~] A Versão 19 introduziu dois novos operadores para complementar ao «starts with» (já disponível): «contains»e «ends with». Estes operadores permitem testar se uma string é encontrada na seqüência analisada ou se uma string termina a seqüência analisada. O teste pode ser mais preciso (exatamente), ou mais ou menos flexível... O primeiro nível de flexibilidade é: não diferencia maiúsculas de minúsculas e ignorar título e espaços à direita. O segundo nível é: não é sensível às maiúsculas e minúsculas, acentos e pontuação... Comparar strings tornou-se ainda mais fácil. 098 «for each» numa cadeia de caracteres, com vários separadores O comando For each numa cadeia de caracteres (um ficheiro de texto...) permite-lhe separar uma cadeia de caracteres com base num determinado separador: por exemplo CR. Na versão 19, pode especificar vários separadores: CR, TAB, comma,... FOR EACH STRING sline OF sbuffer SEPARATED BY [CR,TAB] END Maior manuseio das cadeias de caracteres 099 On... do A nova sintaxe, On... Do da versão 19, permite que os programadores se juntem à grande comunidade de programadores WLanguage e mantenham alguns de seus velhos hábitos! A instrução On aplica-se a ficheiros de dados, estruturas e classes. Não necesita de utilizar o prefixo do ficheiro nos nomes dos items, os nomes dos membros com o nome da variável, etc ON Customer DO LastName = EDT_LastName FirstName = EDT_FirstName END Compatibilildade com os velhos hábitos de programação. 100 Parâmetro de procedimento: usar diretamente os elementos do projecto Este nova capacidade do WLanguage na versão 19 permite-lhe criar funções que utilizam nomes de elementos do projecto, sem a necessidade de passar estes elementos como uma cadeia de caracteres. O elemento é reconhecido pelo compilador, sintaticamente colorido e beneficia de renomeação automática. Capacidade de criar um procedimento que leva um nome de uma janela, um nome campo. o nome ficheiro,... como parâmetro. 101 novidade WD WB Sobrecarregar a função de abertura Graças ao novo recurso anterior, pode agora na versão 19 sobrecarregar a função Open de WLanguage. Pode por exemplo, armazenar rastreios de janelas abertas, contar o número de janelas abertas, gerir contextos específicos de janelas, etc.. Capacidade de personalizar a função Open. 102 Múltiplas inicializações de variáveis Esta nova sintaxe da versão 19 permite declarar e inicializar várias variáveis numa única linha de código. X,Y,Z are int = (1,2,3) Reduz o número de linhas de código. 103 Múltiplas atribuições a variáveis. Na versão 19, diversas variáveis podem ser atribuídas ao mesmo tempo. (X,Y,Z) = (1,2,3) Reduz o número de linhas de código. 26 27

104 108 111 Na versão 19 são suportadas as novas versões de geração de PDF (nomeadamente as versões 1.5). Suporte de novas versões PDF. Múltiplos valores de retorno Na versão 19, um procedimento pode agora enviar vários valores de retorno. PROCEDURE RetrieveOrderInformation() RESULT (Orders.Total, Orders.TotalWTaxes, Orders.OrderDate) Os valores de retorno são obtidos graças a uma atribuição múltipla. (Price, PriceWTaxes, Date) = RetrieveOrderInformation() Este tipo de programação é mais fácil de ler do que passar os resultados através de diversos parâmetros; menor risco de erros. 105 Nova função DateTimeValid A nova função DateTimeValid permite-lhe certificar-se que uma data ou hora são válidas numa única operação. Código mais simples. 106 modificar um campo de controlo através de programação A nova propriedade..process (ver também a novidade 011) permite modificar processos a executar durante um evento de um campo. O código pode ser definido através de programação e ser integrado no processo escolhido do campo em questão. Isto permite criar processos genéricos através de programação. 107 Novas funções de fuso horário digitalizar um documento e salvá-lo (em PDF ou TIFF) numa única linha WLanguage As novas funções WLanguage TwainToPDF e TwainToTiff permitem digitalizar e salvaguardar uma ou várias páginas de um documento apenas numa única linha de código. O documento digitalizado por ser salvo como PDF ou como uma imagem TIFF (página única ou múltiplas páginas). Digitalizar torna-se assim mais fácil. 109 Aumentar... uma cadeia de texto The StringIncrement function lets you increment a number located at the end (or beginning) of a string. Por exemplo, «File001» para «File002». Prático! 110 Email: facilmente adicione/leia informações avançadas constantes no cabeçalho Na versão 19, torna-se fácil recuperar ou acrescentar informações de correio graças ao novo tipo avançado do WLanguage, emailheader. Por exemplo: informações de spam (etiquetas anti-spam), informações sobre o percurso feito pelo e-mail quando enviado, informações personalizadas, como etiquetas personalizadas etc.. Exemplo de código para listar todas as entradas no cabeçalho: ordenar arrays associativos A versão 19 permite classificar um array associativo de acordo com a sua chave ou valor contido no array. A leitura da matriz pode ser ordenada. 112 SocketConnectSSL com certificação cliente Ao conectar-se a um servidor socket, o servidor pode pedir ao cliente para autenticar-se com um certificado. Isto permite ao servidor autenticar a conexão do cliente e verificar se o acesso ao servidor está autorizado. Esta verificação é feita através do novo parâmetro Certificação de Cliente da função SocketConnectSSL. Conexão segura. 113 PDF: fusão melhorada A função pdfmerge de WLanguage permite-lhe fundir documentos PDF independentemente se estes foram ou não criados em WINDEV. WINDEV, um sonho 114 Evolução da função «Now» A função Now devolve automaticamente a informação de que o processo está à espera. Por exemplo, se o processo espera uma data, Now devolve uma data. Se o processo espera uma data-hora,now devolve uma «data e hora». Código simplificado. 115 Evolução das funções fcopyfile e fcopydir As funções fcopyfile and fcopydir aceitam um parâmetro adicional: um procedimento em «call back». Se o procedimento de «call back» devolver fcignore, a cópia do elemento atual não será efectuada. Possibilidade de filtrar facilmente por cópias de ficheiros e directórios. Como seu nome sugere estas duas novas funções DateTimeTime- ZoneToLocal and DateTimeLocalToTimeZone permitem converter datas e horas locais em datas e horários de um outro fuso horário, e vice-versa. Programação simplificada. header is EmailHeader FOR ECH header OF MyEmail..Header TableAddLine(TABLE_Headers,header.Name,header.Value) END Gestão de e-mail mais detalhado. 28

116 Nova função URLExtractPath A nova função URLExtractPath extrai as várias seções a partir de uma cadeia de caracteres que contém a URL: protocolo, domínio, recursos, utilizador, password... Prático! 117 constante adicional para SysDir A função SysDir leva um grande número de novos parâmetros na versão 19. É agora possível obter os directórios que contêm os seguintes dados: dados a gravar, história, recursos locais, atalhos de rede, atalhos de impressora, diretório de instalação de aplicativos x86, diretório dos elementos comuns às aplicações x86, músicas partilhadas, imagens partilhadas, vídeos partilhados, recursos, diretório de sistema x86, imagens da conta do utilizador, atalhos de aplicação, contatos, informação hardware, biblioteca de documentos, tarefas de jogo, atalhos de aplicativos, bibliotecas, links, regras de dados de aplicativos, biblioteca de músicas, imagens originais, álbuns de fotos, biblioteca de imagens, listas de leitura, diretório de instalação de aplicativos de 64 bits, diretório de instalação dos elementos comuns para aplicativos de 64 bits, dados públicos, downloads, atalhos da barra de inicialização, biblioteca de gravação de TV, anéis, imagens para itinerários, dados das imagens para itinerários, exemplos de música, exemplos de imagens, leitura de exemplos de lista, exemplos de vídeo, jogo de backups, backups de busca, prints de ecrã, gadgets, atalhos fixados pelo utilizador, diretório de instalação de aplicativos do utilizador, diretório dos elementos comuns para aplicações de utilizadores, videoteca, perfis de utilizadores de instalação... A função SysDir está muito mais poderosa. 258 RECURSOS ADICIONAIS! 226 novas constantes, 22 novas propriedades e 10 novos modelos não foram contados quando listámos os novos recursos. Dê uma olhadela nestes 258 recursos na ajuda online, disponível na Internet assim que a versão 19 for lançada. 118 FTP: novas funcoes As três novas funções FTPExist, FTPDateTime, FTPParameter permitem simplificar o seu código. Menos linhas de código. 119 Nova função ThreadEnd A nova função ThreadEnd permite interromper o processo onde este é chamado, em qualquer lugar do mesmo. É fácil interromper um processo! 120 personalização de um processo de erro na fase de depuração A nova função dbgonerror permite-lhe personalizar o processamento do erro para executar quando um erro é acionado no código de debug (funções dbgassert, dbgerror, dbgcheck). Melhore suas técnicas de programação defensiva! 121 Dividindo ficheiros As novas funções fsplit, fmerge permitem-lhe dividir, fundir e agrupar ficheiros. Operações em ficheiros? 122 SERVIÇOS WEB Web service: facilidade na passagem de parâmetros. Simplificação do uso de Web servies na versão 19. Como opção, os parâmetros esperados pelos procedimentos do Web service não necessitam de ser encapsulados numa estrutura. Os parâmetros são passados directamente durante a chamada. Usar Web services em WLanguage é mais simples. 123 Suporte de autenticações SPNEGO Um Web service pode requesitar uma autenticação. A fim de não transmitir o nome de utilizador e a password em claro (com http), o cliente deve obter um token de autenticação do directório de rede (Active Directory). A nova propriedade..domain permite-lhe especificar o diretório de rede a ser utilizado para a obtenção automatica deste token, sem qualquer codificação adicional. Autenticação NTLM ou Kerberos em Web services. 125 EDITOR DE CODIGO Histórico linha de Código, o que foi modificado, aqui e em que lugares? O editor de código guarda a data e autor da última modificação de cada linha de código. A versão 19 vai muito mais longe. Esta versão apresenta um «diff» na linha: conteúdo actual e conteúdo antes das modificações. Atenção que o projecto deve estar localizado no SCM. A exibição deste «diff» é feita através de um menu pop-up ou pressionando F6. Pode facilmente consultar o histórico de modificações. É também possível ver as modificações realizadas pelo autor no mesmo dia. Porque é que foi modificado? Correcção de um erro? Evolução do programa? O menu pop-up exibe automaticamente os erros e as tarefas executadas durante a verificação das alterações feitas! Um programador pode assim ver o que foi modificado em cada linha de código do seu projecto. 126 OOP: criação fácil de propriedades de classe 124 POLÍTICAS AMBIENTAIS. Quando a PC SOFT imprime manuais (em papel), PC SOFT, o fornecedor de papel ou da impressora, (certificação FSC - «Forest Stewardship Council» e «PEFC - Program for the Endorsement of Forrest Certification»), replanta tantas árvores quantas as utilizadas na impressão. A etiqueta FSC foi criada pela ONG FSC, entre outras que inclui a Greenpeace, Amigos da Terra e WWF. Por exemplo, a impressão de 100 mil exemplares, de uma documentação de 68 páginas, em papel brilhante, consome 10 árvores: A PC SOFT ou a gráfica replanta de forma imediata as respetivas 10 árvores. Para além disso, a preferência incide sobre a utilização de pasta de papel extraída a partir de madeira reciclada (de fábricas de móveis, por exemplo) e das limpezas contralados das florestas. Em relação aos nossos produtos, também estes se encontram disponíveis sem embalagem ou documentação em papel, mediante pedido. As licenças de grupo (por exemplo, 10 postos de desenvolvimento) podem ser fornecidas apenas com dois conjuntos de documentação em papel. Acesso Sharepoint Fácil aceso ao Sharepoint com os serviços Web de versão 19. Acesso Sharepoint Agora a criação de propriedades de classe é feita diretamente através de uma interface visual intuitiva. O Menu oferece-lhe uma «Nova propriedade» de comando que permite criar propriedades. 30 31

Esta opção permite-lhe definir que a propriedade criada é de leitura / escrita, de leitura ou de escrita. Esta opção permite-lhe escolher o membro no qual irá basear a propriedade, a visibilidade da propriedade (pública, privada, protegida). O código necessário para implementar a propriedade é gerado automaticamente. É fácil criar propriedades. 127 129 Comprimir uma parte do código Um programador por vezes necessita de «comprimir» uma parte específica de código. Os novos comandos //Block e //End permitem definir as suas próprias seções de código comprimido. Uma apresentação de código à sua medida... 132 Depuração: visualização de um item Os itens (columns) do registro atual (row) para os ficheiros de dados (tables) e consultas são agora diretamente visíveis no depurador. Não necessita mais de abrir a janela do código fonte. Depuração rápida nas leituras e pesquisas da base de dados AUDIT PARA OPTIMIZAÇÃO Erro de compilação? conclusão sempre activa! Antes da versão 19, um erro de sintaxe em tempo de compilação parava o preenchimento automático no editor de código. Isto pode ser irritante. Na versão 19, mesmo em caso de um erro de compilação, o preenchimento automático continua. O programador pode continuar digitando seu código com o apoio esperado, sem a necessidade de corrigir o erro de compilação de imediato. Erro? sim, mas a conclusão ficará activa! Evitam-se operações desnecessárias! 130 DEPURACAO Depuração: eliminação automática de duplicados Durante a fase de depuração, se a mesma variável aparece várias vezes na visualização do depurador, é exibida apenas uma vez. Apresentação mais clara. 131 Depuração: capacidade para definir a instrução a ser executada movendo a seta amarela Durante uma fase de depuração, pode definir a instrução a ser executada: pode sempre voltar atrás porque passou rapidamente o código em análise («F8» é muito rápido, por exemplo!). Quando o depurador está em modo de espera, posicione a seta amarela com o rato, e já está! 133 Depuração: visualização da consulta Na versão 19, em modo depuração, pode visualizar directamente o conteúdo de uma consulta Aplicação mais sintonizada. 134 Pesquisa: evoluções O recurso de pesquisa dentro do projecto está agora muito forte e poderoso. Na versão 19, a pesquisa permite-lhe encontrar elementos adicionais: procedimentos automáticos acções pré-definidas processos que contenham erros e/ou excepções automáticas Eu procuro, o WINDEV 19 encontra! XML 136 Auditoria dinâmica sistemática (ou não) Para cada GO (janela ou teste do projecto), por defeito, é executado em segundo plano uma auditoria automática da execução do programa, sem abrandar a execução. O relatório de estado é apresentado no painel do projeto (ver novidade 053). E claro, é possível desactivar esta possibilidade. Esta incrível funcionalidade já não se perde num canto do ambiente. 137 128 conclusão sobre as fontes de dados Na versão 19, o editor de código oferece o preenchimento automático da fontes de dados: ficheiros de dados (tabela) e consultas. 135 Suporte para inclusões xsd Auditoria estática A auditoria estática agora detecta consultas a ficheiros de dados (tables) que não existem mais na análise (data schema), ou nos relatórios. Este também reporta sinalizadores com código integrado, mesmo que não seja necessário: a compilação será mais rápida. Detecta consultas obsoletas. Digitar sem erros. Basta mover a seta amarela para indicar qual a instrução a executar operações mais fáceis. As tags «import» e «include» dos esquemas XSD são suportados. Estas tags permitem fazer referência a outros esquemas no esquema corrente. Facilidade de referência a outros esquemas XSD no esquema corrente. 32 33

138 HYPERFILESQL HFSQL HyperFileSQL passa a ser HFSQL HyperFileSQL mudou de nome e passa a HFSQL. O que é uma evolução desde a primeira versão em 1989! Para simplificar o seu nome, a base de dados passou a HFSQL, um nome já utilizado por muitos programadores e gestores de base de dados. HFSQL e HyperFileSQL são completamente compatíveis, em modo Clássico, rede, Cliente/Servidor, cloud e modos embebidos. Lembre-se que HFSQL é a única base de dados no mundo compatível com Windows, Linux, ios, MacOS, Android, independentemente do modo de uso: clássico, embebido, cloud, cliente/servidor. Para mover uma base de dados a partir de um servidor Windows para Android (por exemplo), tudo que tem de fazer de imediato é copiar a base de dados, os seus índices e o restante que se encontra a funcionar! Simplificação do nome para esta poderosa base de dados multiplataforma. 139 HFSQL é «ACID» ACID é acrónimo para Atomicidade, Consistência, Isolamento e Durabilidade. Graças aos novos recursos apresentados a seguir, a versão 19 do HFSQL torna-se «ACID»! HFSQL oferece um maior suporte para os padrões industriais. 141 HFSQL: transações revolucionadas HFSQL Client/Server 19 oferece 4 modos de isolamento para transações. Dados não validados (READ UNCOMMITTED) Dados validados (READ COMMITTED) Fotografia instantânea da transação (REPEATABLE READ) Transação serializável (SERIALIZABLE). Estes 4 modos de transação permitem definir o nível de isolamento. Estas encontram-se detalhadas nos próximos parágrafos. Cada computador decide o tipo de transação a utlizar para cada transação. Para os dados modificados por vários computadores ao mesmo tempo, os dados lidos pelo computador depende do modo de operação que este computador tenha escolhido, e não sobre os modos de transacção escolhidos pelos computadores que modificam os dados. Cada cliente tem apenas uma transação activa num determinado momento, para uma determinada conexão e contexto HFSQL. O criador da aplicação escolhe o método que corresponderá melhor ao processo a executar e que dados quer expor a outros processos durante a transação. 142 HFSQL: «leitura não confirmada» transação (ler os dados ainda não confirmados) No modo «leitura não confirmada», quando um computador inicia uma transação, os outros computadores lêem logo os dados após serem modificados, sem esperar pela validação final da transação. Apesar de a transação não ter sido ainda validada pelo seu processo, os outros computadores e processos lêem a versão modificada dos dados. Se a transação for cancelada, os outros computadores terão dados inválidos. Este modo é normalmente apelidado de «modo dirty-read». Leitura de dados invalidados ISOLAMENTO DE TRANSAÇÕES HFSQL Um computador A modifica um registo (uma linha) numa transação. Nesta transação, Anne torna-se Juliette. A transação não está aindavalidada. Outro computador B lê o mesmo registo (linha). Em modo «Read uncommitted», ele lê Juliette Um computador A modifica o registo (uma linha) de uma transação. Nesta transação, Anne torna-se Juliette. A transação não está ainda validada. Outro computador B lê o mesmo registo (linha). Em modo «Read committed», ele vai ler Anne Dois computadores A e Biniciam a transação. Na primeira transação do computador A, Anne torna-se Juliette. A transação é validada. O outro computador, B irá ler o mesmo registo (linha). Enquanto ele não validar a sua própria transação, no modo «repeatable read», ainda vai ler Anne. 140 Isolamento de transações HFSQL O isolamento de transações segue o padrão estabelecido na versão 19 do HFSQL. Novos modos de transação estão disponíveis e permitem ao utilizador escolher o comportamento que HFSQL cliente / servidor deve seguir quando uma transação está a acontecer ou a terminar. As transações passam a ser mais fortes. 143 HFSQL: «leitura confirmada» transação No modo «Leitura confirmada», desde que o processo de transação não seja validado, os outros computadores e processos acedem à versão original dos dados (antes da alteração). As modificações só estarão visíveis para os outros computadores depois da transação ser validada. Leitura de dados validados. 144 HFSQL: «leitura repetível» transação Esta transação é espetacular, e está direccionada a necessidades especiais. No modo «Leitura repetível», se o computador, o qual originou a transação, ler novamente a base de dados, este vai ver os dados no estado em que estavam aquando a transação foi iniciada. mesmo que outros computadores tenham validado transações que modificaram os dados. Durante toda a transação, o computador lê um «instantâneo» da base de dados que foi alocada quando a transação iniciou, e não os dados validados pelos outros computadores que utilizaram a base de dados. Leitura de dados num momento específico. 145 HFSQL: «serializável» transação O nível de isolamento «serializável» é o nível de isolamento mais alto. É suportado pela versão 19. Este tipo de operação simula uma execução sequencial das consultas 34 35

O modo de transação mais rigoroso. 146 HFSQL: agendar O agendamento de uma tarefa diretamente no Centro de Controle HFSQL ou por programação, pode requer a utilização de hora local do servidor. Por exemplo, o backup deve ser executado num servidor em São Paulo quando for 03:00 em São Paulo. Utilize a hora local do servidor. 147 Servidor HFSQL: redução do consumo de memória O servidor HFSQL foi optimizado na versão 19. Consome menos memória. Optimização da memória. 148 Windows de 64-bit: liberte memória O padrão de gestão de caches de disco do Windows no modo 64 bits (totalmente independente HFSQL) pode criar saturação de memória. Na versão 19, os servidores HFSQL definem os parâmetros do sistema especificamente para a versão de 64-bit do Windows, de modo a que a memória do servidor nunca fique saturada. Os servidores de 64 bits do Windows administram a sua memória mais eficazmente com esta configuração. 149 Android e ios: replicação universal assistida automaticamente Para além do Windows e Linux, a replicação universal assistida automaticamente está agora também disponível para o ios (iphone e ipad) e ambientes móveis Android. Replicação disponível em mobile 150 Cluster: «hot backup» O «hot backup» de um cluster está disponível na versão 19. Não necessita de parar um ponto de conexão para executar um backup. 151 Centro de Controlo HFSQL: optimização de abertura A partir do centro de controle HFSQL, listar uma bases de dados e ficheiros de dados, quando conectado a um servidor, é muito mais rápida agora. O ganho pode ir até 90%! Benefício proporcionado por esta novidade da versão 19: Maior velocidade. 152 Centro de Controlo HFSQL: compactação de backups Ao criar backups através do Centro de Controle HFSQL o utilizador pode especificar que o backup deve ser compactado (zipado). Redução do tamanho do backup. 153 64-bit HFSQL ODBC driver O driver ODBC do HFSQL encontra-se disponível no modo 32-bit e 64-bit, para o HFSQL Classic e Cliente/Servidor. Acesso externo a HFSQL em 64 bits. 154 FUNÇÕES SQL DE HFSQL Selecção: capacidade de colocar condições na saída dos itens da selecção. A nova sintaxe utilizada pelo comando SQL SELECT permite colocar uma ou mais condições nos itens (colunas). SELECT CustomerName, Age>18 AS Major FROM CUSTO- MER>>>> Consultas mais potentes. SELECT TO_CHAR(12, RN ) Ou utilizando uma tabela dupla. Esta tabela virtual contém apenas um item (chamado «dummy») e um único registo (row). Exemplo: SELECT CURRENT_DATE FROM DUAL Maior compatibilidade. 156 Suporte a CHARACTER VARYING e CHAR VARYING CHARACTER VARYING e CHAR VARYING são novas sintaxes para a definição de itens do tipo cadeia de caracteres (colunas). Estes são sinónimos com VARCHAR. Esta sintaxe permite-lhe aumentar a interoperabilidade de seu código com outras bases de dados que usam esta sintaxe. Exemplo: CREATE TABLE MyTable ( LastName CHARACTER VA- RYING(10), FirstName CHAR VARYING (10) ) Aumenta a interoperabilidade com outras bases de dados. 157 Novos comandos SQL 6 novos comandos SQL são introduzidos nesta versão 19: to_char: permite-lhe formatar um número ou data overlay: substitui uma sub-cadeia de caracteres btrim: elimina uma sequência de caracteres, quer no início ou no final de uma cadeia de caracteres find_in_set: encontra uma cadeia de caracteres numa lista do mesmo initcap: define a primeira letra em maiúscula e o restante em minúsculas operador: concatena 2 strings. Novos comandos SQL. BASES DE DADOS DE TERCEIROS 158 Torne-se mais flexível com a versão 19 155 Consulta de selecção sem «from» ou com tabela dupla Pode executar consultas que não dependem de ficheiros de dados (tables). Ou, usando a sintaxe sem a cláusula «from». Exemplo: Nova versão do acesso nativo SQL Server, compatibilidade assegurada O acesso nativo SQL Server (disponível separadamente) evolui e adapta-se a novos protocolos suportados pelas novas versões do SQL Server (SQL Server 2014). Independentemente da versão do SQL Server, velho ou novo, os 36 37

acessos nativos da PCSOFT na versão 19 estão operacionais. O seu código fonte é idêntico, independentemente da versão. Ao contrário de outras ferramentas, o utilizador não precisa realizar nenhuma modificação, nem reescrever mais nada. Melhor suporte para SQL Server. 161 Acesso Nativo Progress: melhor suporte para a versão 11 do «client layer» O suporte para a versão 11 do «client layer» da base de dados Progress via acesso nativo PC SOFT (disponível separadamente) foi melhorada. Melhor suporte para Progress. 159 Acesso nativo Informix 64-bit O conector de acesso nativo para Informix (disponível separadamente) está agora disponível em modo de 64 bits ou de 32 bits. A programação é idêntica, independentemente do modo de execução. Suporte para acesso nativo a 64 bits para Informix. 160 Acesso nativo DB2 64-bit O conector de acesso nativo para DB2 (disponível separadamente) está agora disponível em modo de 64 bits ou de 32 bits. A programação é idêntica, independentemente do modo de execução. Suporte para acesso nativo a 64 bits para DB2. (durante a disponibilidade da versão comercial). Cada actualização para a versão 19 confere o direito a 15 consultas gratuitas junto do suporte técnico da PC SOFT. Na versão 19, as suas equipas beneficiam do suporte técnico gratuito! Você está seguro. 162 BIG DATA Utilizando big data, NoSQL Gestão de dados Big Data pode ser feito com WINDEV ou WEB- DEV. É fornecido um exemplo de uso de Big Data através da base de dados NoSQL MongoDB. Este exemplo ilustra como programar o acesso à informação encontrada na base de dados do tipo NoSQL Big Data. Com WINDEV 19 você está pronto para Big Data. 163 WINDEV 19 Tire partido das 119 novidades da versão 19 Quase todos os novos recursos que encontrou nas páginas anteriores estão disponíveis em WINDEV 19. Além desta impressionante lista de novos recursos, WINDEV 19 também oferece novos recursos detalhados neste capítulo. A versão 19 do WINDEV está realmente muito rica! Benefício proporcionado por esta novidade da versão 19: Centenas de novidades para WINDEV na versão 19. 164 WD WB Virtualização: os seus projectos WINDEV na nuvem O WINDEV 19 permite-lhe armazenar os seus projectos na nuvem. Isso permite que suas equipas geograficamente distribuídas, ou mesmo quando necessitar de aceder a um site remoto, possa ter acesso à versão actualizada do projeto. Os projetos mantêm-se atualizados automaticamente, sem quaisquer restrições adicionais, sem ter que administrar fisicamente todos os servidores. Todos os ficheiros presentes na nuvem são automaticamente encriptados. Um detalhe interessante: a configuração da máquina de desenvolvimento é armazenada na nuvem: quando um programador abre um editor WINDEV num computador temporário, este tem acesso imediato à sua própria configuração. Note-se que os Centros de Controle também são acessíveis através da PCSCloud. Veja as novidades 045 a 047. Virtualize a gestão dos seus projectos em WINDEV 19. 165 CAMPOS WD WB 166 Criando campos por programação Na versão 19, é possível criar campos através de programação. A nova função CreateControl permite-lhe executar essas criações. Torna-se possível criar interfaces ou partes de interface dinamicamente, sem necessidade de clonar os campos. Também é possível especificar os seus próprios processos. Esta nova função permite gerir casos especiais. Ver novidades 009 a 012. Benefício proporcionado por esta novidade da versão 19: Novo método de criação de campos. WD WB Novo campo gráfico de Gantt O novo campo gráfico de Gantt permite-lhe exibir as tarefas com sua sequência. O novo tipo WLanguage TaskGantt permite descrever as tarefas e suas sequências. A nova família de funções Gantt permitem-lhe preencher o campo e usá-lo. Ver novidades 004 a 008. 38

169 Campo Camera: evoluções 172 novidade WD WB Campo de Edição e combo box: nova propriedade..captionwidth INSTALLER A nova propriedade..captionwidth nos campos de edição ou nas combo boxes, permitem modificar dinamicamente a posição da área do campo de edição ou combo box. Refinação dinâmica dos campos. O novo campo «Gráfico de Gantt» 173 Semanas de programação são evitadas graças a este novo campo: imagine se tivesse que programá-lo à mão! 167 Crie facilmente os seus dashboards O novo campo Dashboard permite-lhe apresentar várias partes de conteúdo encapsulados na mesma janela. Dashboard são simplesmente criados utilizando widgets. Ver novidades 001 to 003 O dashboard é criado utilizando campos «Widget». Criação fácil de Dashboards. O campo câmera permite a utilização da webcam do computador. Na versão 19, o campo câmera evoluiu para trabalhar com todas as versões do Windows, independentemente dos drivers instalados. O campo câmera trabalha com todas as versões mais recentes do Windows. 170 Diversas evoluções para os campos Na versão 19, evoluiu um grande número de campos: tabela dinâmica tabelas campo estático: elipse multilinha botão: livre posicionamento da legenda e do ícone capacidade de posicionar um campo sobre vários separadores capacidade de posicionar um campo em vários planos atribuir um campo a um grupo ( propriedade..group) imagem de fundo num gráfico animação do gráfico... Estas evoluções permitem-lhe criar interfaces cada vez mais poderosos e sofisticados. O interface das suas aplicações é ponto forte do WINDEV, evoluem e melhoram constantemente. 171 Novo visual do scrollbar Nova propriedade..captionwidth O tipo scrollbar é definido pelo seu estilo. Funções IW A família de funções iw é para «Janela Interna». Esta família de funções permite definir e modificar a lista de janelas internas que devem ser abertas num campo «Janela Interna». A simplificação da programação. 174 AnimationPlay A função AnimationPlay permite-lhe animar o conteúdo de um campo entre 2 estados definidos. Esta função oferece duas novas animações: Vertical e Horizontal Flip. Novas capacidades de animação. 175 LDAP SSL-secure LDAP São suportadas passwords de Servidor LDAP Agora é possível comunicar com um servidor LDAP através de uma conexão segura (SSL-secure). 176 Um caminho padrão diferente para a referência de instalação e instalador da Aplicação Na versão 19, agora é possível especificar um caminho padrão diferente para a referência de instalação e para instalar o aplicativo no computador do utilizador. Melhor configuração do instalador. 177 instalação multi-site simplificada WINDEV oferece 3 tipos de instalação: instalação num único computador, instalação de rede e instalação multi-site. A instalação multi-sitio utiliza servidores de retransmissão. Este tipo de instalação é geralmente reservada para instalações de grande escala: um grande número de utilizadores finais são actualizados ao mesmo tempo. Na versão 19, a criação de instalações multi-sitio são mais simples. Criação simplificada de instalações multi-sitios. 178 Compressão melhorada A taxa de compressão para instalações pode ser aumentada pela escolha da compressão 7z. 168 novidade WD WB Instalaçoes mais compactas Gráficos WINDEV 19 beneficia do novo tipo de gráfico «Waterfall», bem como das evoluções efectuadas à apresentação gráfica: animação, eliminação de eixos, imagem de fundo, desenhando numa variável do tipo imagem, coloração do gráfico de barras... Gráficos cada vez mais potentes. Novos tipos de barras de rolagem Vá para cima ou para baixo com estilo! Melhor segurança LDAP. 179 Aumento da velocidade A velocidade com que instalações são criados com WINDEV 19 aumentou. A criação do instalador é mais rápida. Rápida criação do instalador 40 41

AAF 183 a 187 5 novos AAF LINUX 180 AAF: pesquisa no google (menu pop-up) O menu de pop-up AAF oferece a opção «pesquisa Google» na versão 19. Isso permite-lhe num clique inicar uma pesquisa no Google! O motor de busca oferecido pelo AAF pode ser modificado através da função WLanguage ConfigureAAF. Pesquisas na Internet são agora mais fáceis para os utilizadores finais, sem ter nada para programar! 181 AAF: Tabela treeview: minimizar/expandir A AAF pode ser desativada a partir do ambiente ou por programação. Esta AAF não beneficiava desta opção: Agora é possível usando a constante aafexpandcollapseall. Um descuido reparado! 182 Um elevado número de AAF são apresentados no parágrafo correspondente à nova característica. Sobre a Tabela Pivot Dinâmica: AAF permite que uma ou mais colunas possam ser escondidas AAF permite sub-níveis para expandir a partir de um determinado nível. Sobre o campo tabela: criação de um filtro num campo check box definição do tipo de filtro «encontrado entre 2 datas» trazendo à tona o calendário no cabeçalho de uma coluna do tipo data. Os utilizadores finais beneficiam de um número sempre crescente de recursos automáticos. 188 NOVOS MODELOS DE TEMPLATES WINDEV 19 oferece 2 novos modelos de templates Um modelo de ecrã define o estilo gráfico de uma aplicação. Os gostos e os hábitos dos utilizadores evoluíram com as tendências e no tempo. Por isso, é importante ter acesso a novos modelos de aplicação. 189 WD WB Novo campo Potenciómetro em Linux O campo potenciómetro foi um dos raros campos indisponíveis para criação de interface no Linux. Ele está disponível na versão 19, e, claro, suporta estilos. Benefício proporcionado por esta novidade da versão 19: Disponível novo campo. 190 WD WB Linux: EXE com interface gráfica em modo 64 bits Já era possível compilar EXE no modo linha de comando e daemon de 64 bits em Linux. Na versão 19, torna-se possível compilar os executáveis com interfaces gráficas no modo 64 bits. São suportados os seguintes campos: barra de rolagem, Botão, Calendário, Código de Barras, Combo box, Gráfico, Grupo de campos, Imagens, Check Box, Barra de progressão, Etiqueta, List Box, Menu, Campo Template, Janela Template, Pasta, Potenciómetro, Input, Radio Button, Splitter, Super Campo, Tabelas, Looper,... O executável Linux suporta todos os modos 64-bits. 191 Processos Linux Na programação WLanguage foi introduzida a gestão de processos em Linux. Processamentos paralelos são agora muito mais fáceis de programar em Linux. A programação paralela no Linux IWListNext IWListDelete IWListDeleteAll FTPDateTime FTPFileExist graxisvisible grcolorcategory grdestinationimage grwaterfallcolor grwaterfallcategorytype HTMLToText HTMLToRTF HTransactionIsolation iprintingnation MutexCreate MutexStart MutexDestroy MutexEnd NationRightToLeft OpenMobileWindow RTFToHTML RTFToText CriticalSectionStart CriticalSectionEnd SemaphoreCreate SemaphoreStart SemaphoreDestroy SemaphoreEnd EventWait EventCreate EventDestroy EventChange ArrayMix TextToHTML TextToRTF ThreadStop ThreadWait ThreadWaitSignal ThreadCurrent ThreadSendSignal ThreadState ThreadExecute ThreadEnd ThreadMode URLExtractPath JAVA Esta uma aplica o NATIVA em Linux. Sim, mas criada com WINDEV 19! AAF de um gráfico de Gantt O utilizador final tem acesso a uma grande quantidade de AAF s num gráfico de Gantt (ver novidade 008). Quando um gráfico Gantt é exibido, o utilizador final pode mover uma tarefa. Todas as tarefas relacionadas são actualizadas automaticamente. O utilizador final pode também alterar a duração de uma tarefa, o status de conclusão da tarefa, a ordem das tarefas, excluir uma tarefa ou mesmo criar uma tarefa e suas dependências. Os utilizadores finais podem gerir as suas tarefas. 192 a 256 As novas funções Linux para WINDEV WLanguage ganha 65 novas funções Linux: StringIncrement ControlCreate ChangeSeparator CombinationFromName CombinationFromValue CombinationCheckName DateTimeValid dbgonerror EnumerationFromName EnumerationFromValue EnumerationCheckNameEnumerationCheckValue ExecuteMainThread WinStatus IWListDisplay IWListAdd IWListInsert IWListCount IWListPosition IWListPrevious 257 Java: Impressão PDF A família de funções em Java iprint, agora permite-lhe enviar o resultado de uma impressão para um documento PDF em vez de uma impressora. Imprimindo em PDF a partir de uma aplicação Java. 42 43

258 Java: ShellExecute A função ShellExecute permite-lhe iniciar o aplicativo associado com o tipo de ficheiro passado como parâmetro para a função. Iniciar facilmente a aplicação apropriada. 259 Java: «Duração Relativa» máscara A «duração relativa» de exibição de uma máscara já se encontra disponível para Java. As suas aplicações podem exibir uma data usando o formato «em 2 dias» ou «à 3 horas atrás»! Interface de linguagem natural. 260 Java: Suporte para procedimentos automáticos Esta nova funcionalidade permite-lhe evitar a criação manual de processos e temporizadores na sua aplicação Java. Programação simplificada. 261 Java: Reindex ação HFSQL Aplicações geradas em Java podem usar a poderosa base de dados HFSQL. (lembrete: HFSQL é o novo nome do HyperFileSQL). Na versão 19, as aplicações geradas em Java podem solicitar a reindexação dos ficheiros de dados (tabelas) diretamente no computador cliente. Desempenhos optimizados. 262 a 280 As novas funções WLanguage para Java WLanguage ganha 19 novas funções para Java StringIncrement Contains DateTimeTimeZoneToLocal DateTimeLocalToTimeZone DateTimeValid fsep HLockFile HRecordDate HUnlockFile HDeclareExternal HState HIndex HDeleteFile HDeleteDirectory ilastfile idestination iprintpdf ShellExecute OpenMobileWindow 281 MAC Novidades Mac O desenvolvimento de aplicações para Mac beneficia de todos os novos recursos de desenvolvimento Java. Na versão 19, por exemplo, o suporte da família WLanguage iprint, permite-lhe facilmente imprimir em PDF. Melhoria do desenvolvimento Mac. 282.NET.Net: simplificação na utilização do delegate Já não é mais necessário chamar a função DotNetDelegate. Agora já pode evocar o delegate diretamente num membro de um evento graças ao operador +=. Consegue mais rapidamente implementar assemblagens.net. Simplificação na utilização de Delegates em WLanguage. 283.Net: projetos abertos com assemblagens mais rápida A velocidade de carregamento para projectos que contenham assemblagens.net foi visivelmente aumentada, especialmente se estas contiverem um grande número de métodos. Rápido carregamento do projeto. WINDOWS 8 (WINDOWS STORE APPS) 284 novidade WD WB Campo barra de progressão O campo Progress Bar é suportado nas aplicações Windows 8 (PC e Tablets), com todos os seus estilos. Campos adicionais. 285 novidade WD WB Campo Potenciómetro O campo Potenciómetro é suportado nas aplicações Windows 8 (PC e Tablets), com todos os seus estilos. Possibilidades de personalização 286 novidade WD WB Suporte Windows 8.1 As compilações das aplicações em Windows 8.1 são suportadas. Suporte para as versões mais recentes. 287 novidade WD WB Funções Zip em Windows 8 A família de funções zip é suportada no Windows 8 Maior facilidade na compactação de ficheiros. 288 a 338 novidade WD WB Novas funções Windows 8 WLanguage ganha 51 novas funções para Windows 8 e 8.1 Rápido, a minha versão 19! A Windows 8 Store app StringIncrement ControlCurrent ControlPrevious ChangeSeparator CombinationFromName CombinationFromValue CombinationCheckNameDateTimeValid dbgonerror dcircle EnumerationFromName EnumerationFromValue EnumerationCheckName EnumerationCheckValue graxisvisible grcolorcategory grdestinationimage grwaterfallcolor grwaterfallcategorytype HTransactionIsolation iprintingnation NationRightToLeft Occurrence OpenMobileWindow ArrayMix ThreadStop ThreadEnd URLExtractPath zipaddfile zipaddfilelist zipadddirectory zipfindfile zipcreate zipexistzipextractpath zipextractfile zipextractfilelist zipextractall zipclose zipcurrentfile zipinfofile ziplistfile zippassword zipmsgerror zipcompressionlevel zipopen zipdeletefile zipdeletefilelist zipdeleteall zipsize zipfilesize 45

339 WLANGUAGE Iniciando o programa de e-mail WINDEV 19 oferece a possibilidade de iniciar o programa de e-mail do seu PC, e abrir uma nova janela de mensagem. Os campos Para, Assunto e o corpo da Mensagem, podem ser pré-preenchidos pela aplicação. A função a utilizar é EmailRunApp. Habilitar o envio de e-mail pelo utilizador final dentro de sua aplicação. 340 Automação: array de parâmetros na saída dos eventos Agora é possível preencher um array passando-o como parâmetro para um evento de automação. Melhor suporte para o array em ActiveX. 341 a 421 Novas funções WLanguage disponíveis em WINDEV WLanguage ganha 81 novas funções para WINDEV CertificateLoad Carrega um certificado a partir de um ficheiro ou de um buffer. StringIncrement Incrementa uma cadeia de caractres. ControlCreate Cria um novo campo de qualquer tipo. CombinationFromName Devolve uma combinação de opções a partir dos seus nomes separados por +. CombinationFromValue Devolve uma combinação de opções de uma combinação de valores associados. CombinationCheckName Devolve Verdadeiro se uma combinação de opções for válida. DateTimeTimeZoneToLocal Transforma uma data e hora de um determinado fuso horário numa data e hora local. DateTimeLocalToTimeZone Transforma uma data e hora local numa data e hora de um determinado fuso horário. DateTimeValid Testa a validade se data / hora. dbgonerror Especifica o procedimento WLanguage utilizado para gerir os erros provocados pelas funções dbgcheckx. DnDCacheDashElement Permite adicionar um elemento a um campo Dashboard com um arrastar / soltar. dsaveimageico Salvaguarda uma imagem no formato ICO num ficheiro ou em memória. dsaveimagetiff Salvaguarda uma imagem no formato TIFF num ficheiro ou em memória. EmailRunApp Inicia o envio de e-mails através da aplicação nativa. EmailOpenMail Abre o software de mensagens padrão do utilizador da Internet no browser do computador. EnumerationFromName Retorna um valor de enumeração com base no seu nome. EnumerationFromValue Retorna um valor de enumeração com base no seu valor. EnumerationCheckName Devolve Verdadeiro se um valor de enumeração conhecido pelo seu nome for válido. EnumerationCheckValue Devolve Verdadeiro se um valor de enumeração conhecido pelo seu valor associado for válido. fsplit Divide um ficheiro grande em vários ficheiros menores. WinSlidingVisible Exibe ou oculta uma janela deslizante. IWListDisplay Atualiza a exibição de um campo «janela interna» com leitura automática de um ficheiro de dados ou consulta. IWListAdd IWListInsert IWListCount IWListPosition IWListPrevious IWListNext IWListDelete IWListDeleteAll fmerge FTPDateTime FTPFileExist GanttAddTask GanttOrganizeTasks GanttDeleteTask GanttDeleteAll graxisvisible grcolorcategory grdestinationimage grwaterfallcolor grwaterfallcategorytype HTransactionIsolation iprintingnation NationRightToLeft NotifPushSend NotifPushListInvalidIdentifiers OpenMobileWindow ArrayMix PVTListPositionDimension DashDisplay DashAdd DashLoadConfiguration DashDeclareWidget DashInfoXY DashMode DashSaveConfiguration DashDelete DashDeleteAll ThreadEnd TwainToPDF TwainToTIFF UPNPSearchDevice UPNPExecuteAction UPNPListContent UPNPListDevice UPNPMediaStop UPNPMediaPlay UPNPMediaOpen UPNPMediaPause UPNPModifyContrast UPNPModifyBrightness UPNPModifyMute UPNPModifySharpness UPNPModifyVolume UPNPGetContrast UPNPGetBrightness UPNPGetMute UPNPGetSharpness UPNPGetVolume URLExtractPath Adiciona uma nova janela interna para a lista de janelas internas apresentadas por um campo de Janela Interna. Insere uma nova janela interna na lista de janelas internas utilizadas por um campo de Janela Interna. Devolve o número de janelas internas atualmente encontradas na lista de janelas internas visualizáveis por um campo de Janela Interna. Exibe a janela interna correspondente para a posição especificada ou devolve a posição da janela interna exibida actualmente. Exibe a janela interna anterior na lista de janelas internas visualizáveis por um campo de Janela Interna. Exibe a próxima janela interna na lista de janelas internas visualizáveis por um campo de Janela Interna. Elimina uma janela interna encontrada na lista de janelas internas visualizáveis por um campo de Janela Interna. Elimina todas as janelas internas encontradas na lista de janelas internas visualizáveis por um campo de Janela Interna. Combina num único ficheiro vários ficheiros criados pela função fsplit. Devolve a data e a hora de um ficheiro localizado num servidor FTP. Testa a existência de um ficheiro num servidor FTP. Adiciona uma tarefa num campo Gráfico de Gantt. Reorganiza as tarefas de um campo Gráfico de Gantt de acordo com as restrições (dependências e / ou recursos). Elimina uma tarefa num campo Gráfico de Gantt. Elimina todas as tarefas de um campo Gráfico de Gantt. Indica se os eixos de um gráfico devem ser visíveis ou não. Indica a cor de uma categoria num gráfico de pizza ou gráfico de barras. Define o destino de um gráfico. Especifica a cor de um tipo de categoria para um gráfico Cascata. Indica o tipo de categoria de um gráfico Cascata. Configura o nível de isolamento de transação para uma ligação a um determinado servidor HFSQL. Modifica o idioma actual de impressão. Permite-lhe perceber se a linguagem actual é escrita da direita para a esquerda. Envia uma notificação para um dispositivo móvel (ios ou Android). Devolve a lista de identificadores inválidos ao serviço de APN da Apple. Abre uma janela não modal, dependente, numa aplicação mobile. Mistura o conteúdo de um array. Devolve um array de PvtPosition. Actualiza a exibição dos elementos num campo Dashboard. Adiciona e exibe uma janela interna num campo Dashboard. Restaura a configuração de um campo Dashboard. Permite adicionar uma janela interna através da Application Automatic Features a um campo Dashboard. Permite identificar os elementos presentes numa determinada posição X e Y num campo Dashboard. Permite-lhe alterar o modo de utilização num campo Dashboard. Guarda a configuração de um campo Dashboard. Elimina uma janela interna exibida num campo Dashboard. Apaga por completo o conteúdo de uma janela interna exibida num campo Dashboard. Termina a execução de um processo. Guarda directamente um documento proveniente de um dispositivo Twain num arquivo PDF. Guarda directamente um documento proveniente de um dispositivo Twain num arquivo TIFF. Pesquisa um dispositivo pelo seu nome (UDN). Executa uma acção UPnP. Lista os arquivos e diretórios de um dispositivo UPNP. Lista os dispositivos UPNP disponíveis na rede. Interrompe a leitura do mídia atual no dispositivo UPNP. Inicia a leitura do mídia actual no dispositivo UPNP. Abre arquivos multimédia no dispositivo UPNP. Interrompe a leitura do mídia actual no dispositivo UPnP. Modifica o contraste de um dispositivo UPnP. Modifica o brilho de um dispositivo UPNP. Modifica o estado Mute de um dispositivo UPNP. Modifica a nitidez de um dispositivo UPNP. Modifica o volume de um dispositivo UPNP. Obtém o contraste de um dispositivo UPNP. Obtém o brilho de um dispositivo UPNP. Obtém o estado Mute de um dispositivo UPNP. Obtém a nitidez do dispositivo UPNP. Obtém o volume de um dispositivo UPNP. Extrai os elementos de uma sequência de caracteres contendo um URL. 422 WINDEV MOBILE Tire partido das 119 novidades da versão 19 O WINDEV Mobile 19 beneficia de todas estas novidades comuns apresentadas no início deste documento. Novos campos, evoluções de campos, novos recursos nos editores, novos recursos em WLanguage, em HFSQL: as suas equipas instantaneamente mais eficientes. 423 WD WB OpenChild e OpenMobile- Window No mobile, as janelas são abertas em modo não-modal. Tradicionalmente em WINDEV utilizamos a função WLanguage OpenChild nesta situação. Essencialmente, a fim de tornar o produto mais acessível aos novos programadores, a nova função OpenMobileWindow tem o mesmo efeito. A função antiga Open- Child é, obviamente, ainda suportada. A função Open- MobileWidnow também será reconhecida numa aplicação WINDEV como função OpenChild. A WLanguage torna-se ainda mais clara. 424 Lembrete: Crie aplicações Mobile profissionais em poucas horas. Já tem aplicações WINDEV? Mesmo que essas aplicações tenham poucos anos de vida são compatíveis com dispositivos móveis! As suas aplicações existentes podem ser transferidas para Mobile em apenas algumas horas ou alguns dias. As suas equipas estão confortáveis com WLanguage? se sim, então elas estão confortáveis em desenvolver para dispositivos móveis. As suas aplicações existentes são compatíveis: o código, assim como as janelas (embora estas necessitem de ser redimensionadas como é evidente), análise de dados,... A base de dados HFSQL (novo nome da HyperFileSQL) é nativamente compatível com dispositivos móveis: pode inserir os dados (e os índices) instantaneamente... Fez a escolha certa com WINDEV! Benefício proporcionado por esta novidade da versão 19: É garantida a portabilidade do seu código existente. 46

425 Diferente posicionamento no campo dependendo da orientação (retrato/paisagem) Observe a posição diferente dos campos com base na orientação do ecrã. O programador define cada posição. Por exemplo, em Android, os utilizadores esperam uma barra de acção no topo das suas janelas. Em ios, os utilizadores esperam uma barra de navegação com um botão de «Voltar». A versão 19 do WINDEV Mobile agora permite-lhe criar janelas que respeitam automaticamente os padrões de Android e ios, deixando o WINDEV Mobile 19 gerir as diferenças de interface do utilizador. não existe nada para programar. Edite e mantenha uma única janela para ios e Android. A posição dos campos muitas vezes varia de acordo com a orientação do dispositivo. Por exemplo, em modo retrato os textos encontram-se localizados abaixo da imagem, no entanto, e em modo paisagem, estes ficam localizados à direita da imagem. Na versão 19, é possível posicionar campos de maneira diferente na mesma janela, com base na orientação, directamente no Retrato editor e sem ter de codificar nada. Benefício proporcionado por esta novidade da versão 19: Código desnecessário e/ou janelas eliminadas. 426 Comum em ios & android são janelas padrão de cada sistema Paisagem Nota: a Barra de Acção Android é substituída por uma barra de navegação no ios: a troca é automática. O mesmo para a barra de rodapé. 427 Edição instântanea tablet <> telefone, modo retrato <> modo paisagem, ios <> Android Ao criar ou modificar uma janela, torna-se possível visualizar em tempo real o layout da janela noutras configurações: noutro sistema, em modo retrato ou paisagem, no telefone ou tablet. Telemóveis de diferentes fabricantes não têm o mesmo tamanho de ecrã, os tablets estão disponíveis em vários tamanhos de ecrã, etc. Esta visão múltipla também pode ser útil no desenvolvimento de um sistema único, um único dispositivo para ver o resultado para 3 tamanhos de ecrã de telefones diferentes. Esta visão múltipla é muito útil para verificar o resultado das âncoras que vão sendo definidas. Tablet, paisagem Durante a execução, a aplicação selecciona automaticamente a orientação do ecrã a usar, com base, primeiro, na resolução do equipamento e, em seguida, na sua orientação Tablet, retrato Nas versões mais antigas do WINDEV Mobile já era possível criar janelas multiplataforma, compatíveis com Android e ios, utilizando uma única parte do código. Mas isso obrigava a alguma gestão das diferenças de interface utilizador através de programação e / ou janelas internas. Os utilizadores finais exigem, o que é compreensível, que as janelas das suas aplicações respeitem o padrão do seu telefone! ANDROID Galaxy S3 iphone 5 Benefício proporcionado por esta novidade da versão 19: Você vê imediatamente o impacto de uma modificação noutros alvos. Telefone, retrato Telefone, paisagem Neste modo de edição múltipla, ao adicionar um campo a uma janela de edição, ele aparecerá automaticamente em todos os outros modos de exibição... Tudo é dinâmico. 48 49

428 Replicação móvel com o servidor HFSQL Por um lado, a replicação universal entre Android e ios, por outro HFSQL Cliente/Servidor e Bases de dados de terceiros (Oracle, SQL Server,...) tudo disponível na versão 19. Estas novidades permitem aos dispositivos móveis utilizar dados mais recentes e, de seguida, actualizá-los sem necessitar de uma conexão persistente e sem risco de perda de dados. As suas aplicações estão ligadas ao sistema de informação da empresa, em qualquer circunstância. Por exemplo, as pessoas de vendas estão no terreno, utilizam o seu tablet para apresentar produtos e recebem encomendas diretamente dos seus clientes. Como uma conexão 3G ou 4G pode não estar disponível numa zona mais restrida do edifício, ou uma conexão Wi-Fi, a aplicação utiliza a base de dados existente no tablet. Quando o vendedor terminar o seu trabalho e este estiver a dirigirse para o seu carro, pode activar uma replicação com a base de dados da empresa, por exemplo.. O pessoal de vendas pode trabalhar quase em tempo real sem ter que depender de uma má conexão ou mesmo inexistente o que afectaria negativamente a sua interacção com o cliente. Manter os dados sincronizados sem conexão constante é mais fácil. IOS NATIVO: IPHONE, IPAD Ao pressionar um dedo no gráfico vai exibir o valor dessa área ou activa um processo programado. Gráficos em ios: o utilizador final pode clicar com um dedo e exibir um pormenor de uma imagem em miniatura Lembre-se que o seu código WINDEV existente, as suas janelas, mesmo com 5 ou 10 anos, são compatíveis com iphone ou ipad. Redimensione as suas janelas, ajuste algumas coisas e já está, em algumas horas ou dias terá brilhantes aplicações para iphone e ipad. As suas equipas não terão que aprender uma nova linguagem: A WLanguage é uma linguagem universal: ios, Windows, Linux, veja as novidades para Android, Web, Mac, Windows Phone... 429 novidade WD WB Gráficos nas pontas dos dedos! 432 gráficos Os gráficos ios aceitam uma decoração como fundo. As barras num gráfico de barras podem incluir uma imagem. Os gráficos, quando criados podem conter animações. Edição de janelas comuns ios <> android & modo retrato <> modo paisagem A documentação das 919 novidades que está neste momento a ler, estará em breve disponível no seu idioma! (dispon vel quando sair a vers o internacional do WINDEV 19) O desenvolvimento de aplicações ios tira proveito da novidade Janela Comum com Android (ver novidade 426) e também do reposicionamento automático dos campos de acordo com a orientação do ecrã (novidade 425) A edição de janelas ganha em poder e simplicidade. 430 Espanhol Francês Português Chinês Alemão Italiano Suporte para ios 7, iphone 5C e iphone 5S ios 7 é suportado pelo WINDEV Mobile 19. Disponível um novo modelo de ecrã adaptado ao ios7. Suporte para todos os dispositivos e versões do sistema. 431 Gestos em gráficos Em ios, o gesto nos gráficos é suportado. Com os dois dedos, o utilizador por aumentar ou reduzir o tamanho de um gráfico. Gráficos no iphone: é desenhado rapidamente, mesmo em frente aos olhos do utilizador: as barras num gráfico sobem até ao topo Os gráficos são agora ainda mais interactivos. 50 51

433 ter uma barra de sistema transparente com texto em branco, ter uma barra de sistema transparente com texto em preto, 440 444 Campo Potenciómetro O campo Potenciómetro é agora suportado nas aplicações ios. Um estilo pode ser aplicado no Slider, ou pode ser o Slider padrão do ios. 3 exemplos de barras de sistema Personalização da barra de sistema. Campo Barra de Progresso em ios O campo Barra de Progresso está disponível para ios. Este campo utiliza o modelo actual, mas pode definir os seus próprios estilos Compras inapp em ios 436 Possibilidade de escolher a barra de navegação A barra de navegação de uma aplicação ios possa adoptar um skin template do projecto. Compra InApp através de uma aplicação (o texto do pop-up é exibido pela AppStore) Fácil potenciómetro. 434 Campo Combo Box em ios O tipo de campo Combo box é suportado em ios. Quando expandido pelo utilizador o tambor é apresentado para o utilizador executar a sua seleção. 3 exemplos de barras de navegação Personalização da barra de navegação. 437 bússola: posicione-se! As funções WLanguage de gestão da bússola estão a ser introduzidas em ios. Localize-se no mapa em ios! Excelentes barras de progresso. 441 Campo classificação em ios O campo de classificação é suportado em ios. Boa classificação para esta nova funcionalidade. A compra de aplicações a partir de um iphone ou ipad é normalmente feita via AppStore. Dentro de uma aplicação é por vezes possível adquirir mais opções para essa mesma aplicação. Esta aquisição é feita também via AppStore e é denominada por «Compra InApp». Na versão 19, agora é possível oferecer esta opção de pagamento para as aplicações desenvolvidas e oferecidas na loja. As opções que uma aplicação poderá oferecer devem ser introduzidas previamente na loja. A função inapplistproductinfo permite listar as opções disponibilizadas. A função inapppurchaseproduct desencadeia a compra de uma ou mais opções seleccionadas pelo utilizador na loja. A loja devolve um recibo pela transação. Se a transação for aceite, a aplicação executa o processo esperado: desbloquear uma função, descarregar um mapa, descarregar dados,... Controlo por gesto. 435 Possibilidade de escolher a barra de sistema Em ios7, o WINDEV Mobile 19 permite à aplicação escolher para cada janela: não ter uma barra de sistema, 438 Acelerómetro O acelerómetro do iphone e ipad é agora suportado em WINDEV Mobile 19. Ganhe alguma velocidade com a versão 19! 439 JSON em ios JSON é suportado por ios. Veja a novidade 907. Programação simplificada. 442 Campo separador em ios O campo separador encontra-se diponível em ios. Ao navegar entre separadores, os efeitos de transição aparecem automaticamente. O gesto de Deslizar também se encontra disponível para movimentos entre separadores. Agrupamento fácil de campos. 443 Gestão de planos em ios Nas janelas, a gestão de múltiplos planos é suportado em ios. Gestão de planos em ios. Rentabilização facilitada através das opções de uma aplicação. 445 Capacidade de avaliar a aplicação na AppStore A nova função OpenApplicationForm permite-lhe solicitar ao utilizador que classifique a aplicação. Esta função abre a página da AppStore solicitando a classificação da aplicação. Mantenha as suas aplicações no top! 446 LoadParameter, SaveParameter, e InitParameter As funções SaveParameter e LoadParameter permitem-lhe salvar e restaurar o conteúdo de variáveis entre várias execuções da aplicação. 52 53

A função InitParameter permite-lhe personalizar o local onde a informação é guardada. 449 453 O utilizador final é notificado. Facilidade em salvar e restaurar parâmetros. 447 Notificações push Um dispositivo móvel pode receber notificações push. A notificação é uma mensagem que surge (e se mantém) no dispositivo, no centro de notificação do dispositivo. A de notificação pode deixá-lo iniciar um processo. Uma notificação é enviada a partir de uma aplicação remota, normalmente situada num servidor. A aplicação de envio das notificações pode por exemplo ser criada com o WINDEV 19, WEBDEV 19 ou WINDEV Mobilel 19. Esta também pode ser escrita por programas de outros fabricantes. A aplicação de envio pode ficar alojada em PCSCloud, na nuvem por exemplo. Enconta-se disponível gratuitamente, um exemplo de servidor de aplicações que pode ser modificado e utilizado. Apresentação de uma notificação Push num iphone Criação fácil de notificações a enviar por modo Push. 448 Suporte a formatos de imagens SVG vectoriais O formato de imagem SVG é um formato vectorial. É agora suportado para ios em WINDEV Mobile19. Formato gráfico adicional. Chamada de retorno nativo em WLanguage Em ios, na versão 19, é agora possível chamar APIs que utilizam chamadas de retorno. Maior poder de programação personalizada. 450 Https seguros e Web services O uso de conexões seguras e serviços web torna-se possível em ios com a versão 19. Melhor segurança. 451 Pacote de gestão de recursos Novas funções permitem-lhe gerir os recursos incorporados no pacote (o pacote é a instalação para o aplicativo ios para instalar). A aplicação pode listar os recursos e extrair vários deles numa única operação. Fácil manipulação de recursos. 452 Fontes nativas ios ios usa fontes de caracteres, incluindo algumas específicas para a Apple: AppleGothic,... Estas fontes são propriedade da Apple. WINDEV Mobile 19 permite-lhe usar estas fontes no editor. Se esta fonte não estiver disponível no Windows e for selecionada para um campo numa janela ios, a fonte substituida será utilizada temporariamente para exibir no editor e no simulador do computador de desenvolvimento. Quando a aplicação estiver em execução, a fonte Apple será utilizada. O editor está ainda mais WYSIWYG e permite utilizar fontes específicas do ios. função SMSRunApp Uma segurança do ios é a de não permitir o envio de SMS directamente de uma aplicação. Em contrapartida, uma aplicação pode abrir a janela de envio de SMS, já com o texto a enviar e o respectivo destinatário. O utilizador final só tem de validar o envio. Prepare uma SMS, o utilizador final só terá de validar o envio! 454 Matrizes, Finanças: novas funções para ios Todas as funções WLanguage para gerir matrizes e funções financeiras estão disponíveis para ios na versão 19. Programação mais fácil, compatibilidade superior. 455 HFSQL: replicação ios Está disponível a replicação automática universal assistida para ios. Esta replicação permite-lhe replicar informação oriunda de diferentes bases de dados O servidor de replicação é fornecido com o software. A replicação torna-se mais fácil nos dispositivos móveis. 456 Controlo de persistência Quando a opção de controle de «persistência» se encontra seleccionada, o conteúdo do controle é armazenado entre 2 inicíos do aplicativo. Isto previne o utilizador final de reescrever as mesmas informações repetidas vezes. Pré-preenchimento automático de campos de edição. 457 Ampulheta de transferência de dados Na barra de sistema de um aparelho Apple, aparece um ícone de forma de circular quando uma aplicação envia dados através de uma rede sem fios: Wi-Fi, 3G,... A função NetworkHourglass permite trazer este ícone para cima ou para baixo. 458 Escrever um número num ícone de uma aplicação. A função SysIconBadge permite incluir um número entre 1 e 99 no ícone da aplicação. A apresentação é gerida pelo ios. Isto é útil para exibir o número de mensagens recebidas ou informação para processar, por exemplo. Aqui, escreve o número 19 de forma dinâmica O utilizador final está sempre informado. 459 Janelas e Menus deslizantes Uma janela pode surgir do lado direito ou esquerdo do ecrã. A janela que surge pode ser exibida parcialmente no topo da janela anterior ou pode deslocar essa mesma janela. A utilização mais comum para este tipo de display é a exibição de uma lista de opções ou a configuração de uma aplicação. A janela pode surgir através de um gesto do utilizador, ou por programação, usando a função WLanguage WinSlidingVisible. Operação standard possível sem qualquer programação. 460 Acesso a bases de dados de terceiros O acesso a bases de dados de terceiros (Oracle, SQL Server,...) através de dispositivos móveis é feito através da família de funções SQLExec. Basta instalar um serviço web (fornecido) que acede a bases de dados de terceiros. Aceda a bases de dados de terceiros a partir de um dispositivo móvel. 461 Processos ios Os processadores de dispositivos móveis estão cada vez mais poderosos e vêm com vários núcleos. Programação multi-processo agora disponível para ios. 54 55

A família de funções Thread, que entre outras contém a função ThreadExecute já está disponível. 464 Programação paralela facilitada. Novas funções ios IWListInsert 462 DLNA em ios Suporte para DLNA está disponível para ios. Controle a TV e eletrodomésticos com DLNA. 463 A família de funções IW aplica-se a «Janelas Internas». Uma lista de janelas internas especifica a ordem em que as janelas serão exibidas durante um gesto de para a esquerda/direita numa janela itnerna (o utilizador final move-se entre janelas deslizando o seu dedo) A nova função IWListInsert permite inserir uma janela interna numa lista de janelas. A simplificação da programação. Processo para a perda de conexão e reconexão. Num dispositivo móvel, pode facilmente perder-se a conexão actual (GPRS, 3G, 4G), ao entrar num edifício, por exemplo. Para tornar mais fácil a gestão da perca de conexão (e reconexão), novas funções foram introduzidas para gerir mais eficazmente esta situação. Por exemplo, a aplicação pode voltar aos dados locais, em caso de perda de conexão, e iniciar uma sincronização instantânea assim que a conexão for restabelecida. Na versão 19, o utilizador pode especificar qual o procedimento a tomar em caso de perda de conexão ou reconexão. Esta função também lhe permite perceber qual é o tipo de conexão: Wi-Fi ou 3G/4G. A programação é mais fácil. 465 a 631 Novas funções WLanguage orientadas para ios Na versão19 foram introduzidas 167 novas funções WLanguage para ios. AddColumn ArcTan2BufferToHexa SensorDetectChangeAcceleration SensorDetectChangeOrientation SensorGetOrientation StringIncrement ControlClone ControlNoSpace ControlDelete ChangeSeparator LoadParameter CombinationFromName CombinationFromValue CombinationCheckName WinSlidingVisible ComboClose ComboOpen Conversion DateTimeValid dbgenableassert dbgenablelog dbgassert dbgwritecommentaudit dbgwritewarningaudit dbgerror dbgauditstatus dbglogstatus dbgauditoption dbglogoption dbgonerror dbgcheckdifferent dbgcheckequal dbgcheckfalse dbgchecknotnull dbgchecknull dbgchecktrue MoveColumn Dialog GetGUID InVGAMode EnumerationFromName EnumerationFromValue EnumerationCheckName EnumerationCheckValue ErrorBuild ExecuteMainThread Factorial WinChangeAlias IWListInsert FTPDateTime FTPFileExist graxisvisible grtooltip grcolorcategory grdestinationimage grwaterfallcolor grwaterfallcategorytype HCreateSubscriberReplica HCreateMasterReplica HCreateMoveableReplica HSetReplication HSetTransaction HRecreateSubscriberReplica HRplDeclareLink HRplManageFile HRplManageItem HRplPass HSynchronizeReplica HTransactionIsolation HTTPProgressBar HTTPResetForm HTTPTimeOut HVersion iroundborder iellipse inapppurchaseproduct inapplistproductinfo inapprestorepurchases iprintingnation InfoBuild InitParameter InsertColumn iparameter ireset MatStack MutexCreate MutexStart MutexDestroy MutexEnd NationRightToLeft NotifAdd NotifPushEnable NotifPushDisable NotifPushProcedure NotifDelete Occurrence ControlTab OpenMobileWindow ReplicInfo ReplicInitialize ReplicOpen ReplicSynchronize NetworkHourglass NetworkMonitorConnectionStatus SaveParameter CriticalSectionStart CriticalSectionEnd SemaphoreCreate SemaphoreStart SemaphoreDestroy SemaphoreEnd EventWait EventCreate EventDestroy EventChange SMSRunApp SMSReset StatCorrelation StatCovariance StatAverageDeviation StatStandardDeviation StatStandardDeviationP StatError StatMax StatMin StatAverage StatSum StatVariance StatVarianceP DeleteColumn DeleteParameter SysIconBadge SysScreenOrientation ArrayMix ThreadStop ThreadWait ThreadWaitSignal ThreadCurrent ThreadSendSignal ThreadState ThreadExecute ThreadEnd ThreadMode UPNPSearchDevice UPNPExecuteAction UPNPListContent UPNPListDevice UPNPMediaStop UPNPMediaPlay UPNPMediaOpen UPNPMediaPause UPNPModifyContrast UPNPModifyBrightness UPNPModifyMute UPNPModifySharpness UPNPModifyVolume UPNPGetContrast UPNPGetBrightness UPNPGetMute UPNPGetSharpness UPNPGetVolume URLExtractPath VariantConvert WiFiStatus WiFiListNetwork LooperSelectCount ANDROID O desenvolvimento Android nunca foi tão poderoso como com WINDEV Mobile 19. Pode tirar todo proveito dos novos e poderosos recursos para além de todos os que já possui. 632 Edição de janelas comuns ios <> android & modo retrato <> modo paisagem O desenvolvimento de aplicações Android benefícia dos comuns e novos recursos Android / ios (ver novidade 426) e das capacidades comuns de orientação retrato / paisagem (novidade 425). Pode ver os resultados apenas num piscar de olhos. 633 Imprima documentos PDF através de Android Crie documentos PDF em Android A versão 19 do WINDEV Mobile permite-lhe criar documentos PDF com a família de funções iprint. A família de funções iprint encontra-se disponível no Android na versão 19. 56 57

Use fontes Android nativas O editor está ainda mais WYSIWYG e permite-lhe a utilização de fontes Android específicas. 636 Programe o seu relógio Android Você pode criar aplicações especificamente para o Galaxy Samsung O WINDEV Mobile 19 oferece-lhe modelos de janelas do tamanho certo. As Aplicações também podem controlar relógios Android. As estrelas são fornecidas em vetor base, o que significa que estas podem ser redimensionadas sem pixelização. Para além das estrelas, encontram-se disponíveis muitos outros símbolos visuais. Campos adicionais Android. 638 Crie aplicações Android de grande dimensão. Você pode enviar o resultado directamente para um ficheiro PDF. Impressão PDF está disponível em Android. 634 Compra inapp A compra App num dispositivo móvel Android é feito geralmente a partir da loja «Google Play». Dentro de uma aplicação é por vezes possível adquirir mais opções para essa mesma aplicação. Esta aquisição é feita também via AppStore e é denominada por «Compra InApp». Na versão 19, agora é possível oferecer esta opção de pagamento para as aplicações desenvolvidas e oferecidas na loja. A função inapplistproductinfo permite listar as opções disponibilizadas. A função inapppurchaseproduct desencadeia a compra de uma ou mais opções seleccionadas pelo utilizador na loja. A loja devolve um recibo pela transação. Se a transação for aceite, a aplicação executa o processo esperado: desbloquear uma função, descarregar um mapa, descarregar dados,... Rentabilização facilitada através das opções de uma aplicação. 635 Fontes Android nativas O Android utiliza tipos de letra que não estão necessariamente disponíveis por predefinição no Windows. A versão 19 instala automaticamente essas fontes Android no computador de desenvolvimento, se necessário. Desta forma, e durante o desenvolvimento, as janelas estão totalmente WYSIWYG no editor. Aqui um Galaxy da Samsung O Android é fácil de utilizar. 637 Campo Classificação (Ranking) O campo Classificação está disponível no Android. O número máximo de estrelas (ou outro ícone) podem ser configuradas (1-100 estrelas). As estrelas podem também mostrar classificações decimais. O Android limita o número de «referências» numa aplicação. Quando este número máximo é atingido, surge um erro de compilação acionado aquando a geração da aplicação. Na versão 19, a nova arquitectura interna permite multiplicar o limite anterior por 3. Desta forma torna-se possível criar aplicações 3 vezes maiores. Crie aplicações de grandes dimensões. 639 HFSQL: replicação em android (Lembrete: HFSQL é o novo nome do HyperFileSQL). A replicação universal assistida automaticamente encontra-se disponível em Android. Esta replicação permite-lhe replicar informação oriunda de diferentes bases de dados O servidor de replicação é fornecido com o software. A replicação torna-se mais fácil em dispositivos Android. 640 HFSQL: reindex ação no dispositivo (Lembrete: HFSQL é o novo nome do HyperFileSQL). Na versão 19, é possível, por programação, desencadear uma reindexação da base de dados HFSQL diretamente no dispositivo. 58 59

Recalcular os índices permite-lhe, por exemplo, otimizar os tempos de acesso. Operação efectuada directamente no dispositivo. A janela pode surgir através de um gesto do utilizador, ou por programação, usando a função WLanguage WinSlidingVisible. Sobrepondo janelas. 647 Controlo de Gráficos em Android 641 Geração de aplicações mais rápida 644 funções para formulários HTTP A versão 19 do WINDEV Mobile permite criar gráficos automáticos no Android. Na versão 19, estão disponíveis os seguintes tipos de gráficos: gráficos de barras, gráficos de linhas, gráficos circulares, gráficos de área, donuts. A velocidade de geração de aplicações Android melhorou. Na média, o factor de melhoria é de 3, mas quanto maior a aplicação, maior o ganho. Geração rápida. 642 Um formulário HTML devolve como resultado, uma vez validado pelo utilizador, um formulário Http que contém os dados dos vários campos do formulário HTML. A família de funções Http, específicas para formulários está disponível para Android na versão 19. Suporte automático de formulários HTTP. Vários gráficos num Android Quem disse «Até que enfim!»? campo potenciómetro O campo potenciómetro encontra-se disponível no Android. Pode ser um campo slider utilizando um estilo WINDEV Mobile ou utilizando um modelo, ou mesmo um campo potenciómetro em Android nativo. Fácil potenciómetro em Android 643 Janelas e Menus deslizantes 645 Notificações push Um dispositivo móvel pode receber notificações push. A notificação push é uma mensagem que surge (e se mantém) no dispositivo, no centro de notificações deste. A notificação pode deixá-lo iniciar um processo, actualizar um programa,... A notificação por push é enviada a partir de uma aplicação remota, normalmente encontrada num servidor. A aplicação de envio da notificação pode, por exemplo, ser criada com com o WINDEV 19 ou WEBDEV 19. Esta também pode ser escrita por programas de outros fabricantes. A aplicação de envio pode ser hospedada na PCSCloud por exemplo. Enconta-se disponível gratuitamente, um exemplo de servidor de aplicações que pode ser modificado e utilizado. Gráficos num dispositivo Android 648 função fextractresource Novas funções permitem gerir os recursos incorporados no pacote APK de forma mais detalhada (o pacote APK é o instalador de aplicações Android). A aplicação pode listar os recursos e extrair vários deles numa única operação. Fácil manipulação de recursos. Notificações push num dispositivo Android Suporte para mensagens push em Android. 646 Janela deslizante A janela por baixo aparece esbatida Uma janela pode surgir do lado direito ou esquerdo do ecrã. A janela que surge pode ser exibida parcialmente no topo da janela anterior ou pode deslocar essa mesma janela. A utilização mais comum para este tipo de display é a exibição de uma lista de opções ou a configuração de uma aplicação. Acesso a serviços web nativo em ios e android O acesso a bases de dados de terceiros (Oracle, SQL Server,...) através de dispositivos móveis é feito através da família de funções SQLExec. Simplesmente instale um (fornecido) web service num dispositivo que tenha acesso a base de dados de outros fabricantes. Acesso a bases de dados de terceiros a partir de uma aplicação Android. 19 é uma boa base... 60 Novidades WINDEV

649 Novidade 652 WD WB 656 O formato de imagem SVG é um formato vectorial. E é agora suportado em Android com o WINDEV Mobile 19. Formato gráfico adicional. afirmações As funções dbgenableassert e dbgassert são agora introduzidas no Android. Estas funções permitem-lhe uma programação defensiva. Faça as suas aplicações mais robustas. 650 Função NetworkHourglass Na barra de sistema de um ecrã Android, e quando uma aplicação envia dados através de uma rede sem fios, surge um ícone circular giratório: Wi-Fi, 3G,... A função NetworkHourglass permite (ou não) exibir este ícone. Benefício proporcionado por esta novidade da versão 19: O utilizador final é notificado. 651 WD WB função SMSRunApp Uma aplicação pode abrir a janela de envio de SMS, já contendo o texto a enviar e o respectivo destinatário. O utilizador final só tem de validar o envio. Benefício proporcionado por esta novidade da versão 19: Novas possibilidades para o utilizador final. Barra de progresso dentro das notificações de estado Uma aplicação Android pode acionar a exibição de uma barra de progresso do sistema dentro da barra de notificação. Barra de progresso dentro da barra de notificação Android Os utilizadores podem verificar um processo em segundo plano. 653 Classificar uma aplicação no Google Play A nova função OpenApplicationForm permite-lhe solicitar ao utilizador que classifique a aplicação. Esta função abre a página do Google Play solicitando a classificação da aplicação.. Esta função também permite aceder a outras aplicações através da abertura do seu formulário de loja. Obtenha para as suas aplicações classificações de topo! 654 temporizadores e processos automáticos A implementação de temporizadores e processos pode ser feito através de pura programação ou através de automações no editor de código: botões na parte superior direita da faixa de procedimento. Na versão 19, torna-se possível a utilização destes mecanismos automáticos em Android. Gestão automática de temporizadores e processos. Perda de conexão e gestão da reconexão Nos telemóveis, a perda de conexão acontece muitas vezes: passando um túnel... Na versão 19, o utilizador pode especificar qual o procedimento a tomar em caso de perda de conexão ou reconexão. Esta função também lhe permite perceber qual é o tipo de conexão: Wi-Fi ou 3G/4G. Gestão da perda de conexão 657 Suporte para imagens em formato vectorial SVG 658 a 768 novas funções WLanguage agora suportadas em Android 111 novas funções WLanguage estão agora a ser introduzidas para Android na versão 19: StringIncrement Contains DateTimeTimeZoneToLocal DateTimeLocalToTimeZone DateTimeValid IWListInsert flistresource fsep gradddata graxisvisible grcolor grcolorcategory grseriescolor grgradient grdraw grlinethickness grcategorylabel grserieslabel grgraduate grcolumnspacing grincreasedata grinfopoint grinfoxy grlegend grlabel grautorefreshcategorylabel grautorefreshseries grmask grorigin grgridlines grpiestartangle grpiepullout grsourcecategorylabel grsourceseries grdeleteseries grtitle graxistitle grtype HLockFile HCreateSubscriberReplica HCreateMasterReplica HCreateMoveableReplica HRecordDate HUnlockFile HDeclareExternal HState HSetReplication HRecreateSubscriberReplica HIndex HRplDeclareLink HRplManageFile HRplManageItem HRplPass HDeleteFile HDeleteDirectory HSynchronizeReplica HTTPAddFile HTTPAddParameter HTTPCancelForm HTTPCreateForm HTTPSendForm HTTPResetForm iborder iroundborder icreatefont ilastfile idestination iellipse iendprinting iimageheight ipageheight itextheight izoneheight idocumentcanceled iprint iprintimage iprintword iprintpdf iprintzone iimagewidth ipagewidth itextwidth inewline imargin inapppurchaseproduct inappconsumeproduct inapplistpurchase inapplistproductinfo ipagenum iparameter ifont ixpos iypos ireset iskipline iskippage iline ihline ivline NotifPushEnable NotifPushDisable NotifPushProcedure OpenMobileWindow OpenApplicationForm ReplicInfo ReplicInitialize ReplicOpen ReplicSynchronize NetworkHourglass NetworkMonitorConnectionStatus SMSRunApp 655 WD WB Nunca sem o meu WINDEV Mobile 19 «Duração Relativa» máscara A máscara para durações relativas ( «em 2 dias», «em 3 horas», «3 meses atrás»...) podem agora ser utilizadas em aplicações Android. Benefício proporcionado por esta novidade da versão 19: A referência temporal é agora mais intuitiva.

WINDOWS MOBILE E CE Windows Mobile, Windows CE e o Windows integrado são bastante utilizados nas atividades industriais. A versão 19 do WINDEV Mobilo oferece novas funções WLanguage. 769 a 812 Novas funções WLanguage para Windows Mobile e CE 44 novas funções estão agora a ser introduzidas para Windows Mobile e Windows CE na versão 19 CharactTypeOccurrence CharactType StringIncrement StringInsert StringReverse StringDelete CombinationFromName CombinationFromValue CombinationCheckName DateTimeValid dbgerror dbgonerror SwapLine EnumerationFromName EnumerationFromValue EnumerationCheckName EnumerationCheckValue ExecuteMainThread FTPDateTime FTPFileExist graxisvisible grcolorcategory grdestinationimage grwaterfallcolor grwaterfallcategorytype HTransactionIsolation iprintingnation LineToPosition WordOccurrence WordToArrayAverage OpenMobileWindow PositionToLine NoRightCharacter NoLeftCharacter Sum ArraySeekByProcedure ArraySwapLine ArrayReverse ArrayMix ThreadEnd Truncate URLExtractPath UTF8ToAnsi UTF8ToUnicode 813 WINDOWS PHONE Vários pontos de vista de uma mesma janela O desenvolvimento de aplicações Windows Phone beneficia das múltiplas visões de uma mesma janela, em diferentes ambientes (ver novidade 426) e com base na sua orientação (ver novidade 425). Rápido desenvolvimento UI. 814 Suporte de planos em WP Os planos são suportados em Windows Phone. Suporte de Planos no Windows Phone. 815 Suporte para grupos de campos em WP Campos podem ser associados a grupos. Estes grupos de campos podem ser tratados directamente, para modificar as suas propriedades, por exemplo..visible, numa única linha de código. Agrupamento de campos para fins de programação. 816 a 834 Novas funções WLanguage para Windows Phone 19 novas funções WLanguage estão agora a ser introduzidas para Windows Phone na versão 19. CurrentYear StringStartsWith StringEndsWith StringReverse ChronoReset SysDateTime LastDayOfWeek LastDayOfMonth fseparator GeneratePassword InternetConnected Reverse CurrentMonth OpenMobileWindow FirstDayOfWeek FirstDayOfMonth NoRightCharacter NoLeftCharacter Truncate 835 WEBDEV NOVIDADES COMUNS 119 novas características comuns A versão 19 de WEBDEV beneficia das 119 novidades comuns na versão 19, nomeadamente, a possibilidade de alojamento de projectos na nuvem, de forma a facilitar o acesso de toda a equipa aos mesmos, a qualquer altura e em qualquer lugar, gráficos, JSON nativo,... O WEBDEV 19 beneficia, obviamente, da evolução do ambiente de desenvolvimento e da sua compatibilidade com WINDEV e WIN- DEV Mobile. 836 WD WB 837 O estático é dinâmico! O sites estão divididos em 2 famílias: sites dinâmicos, que realizam operações num servidor de aplicações remoto, normalmente acedem a uma base de dados e necessitam tanto de um servidor web como de um servidor de aplicações. sites estáticos que apenas necessitam de um servidor web. Mas as coisas mudam. Um site estático pode também ser programado se o programador conseguir chegar onde quer através de código JavaScript, que será apenas executado no navegador e não necessita de um servidor de aplicações. Exemplo: programar uma animação específica. Apesar de permitir a criação de sites estáticos, até agora WEBDEV estava especializado na criação de sites dinâmicos. Na versão 19 abraçamos o mundo «estático». É importante lembrar que normalmente um site dinâmico também usa recursos e funcionalidades de um site estático. As novas características na área «Estática» beneficiam também da área «Dinâmica». WEBDEV duplica a diversão na versão 19. WEBDEV é agora um especialista tanto em sites estáticos como em sites dinâmicos. SITES ESTÁTICOS FINALMENTE FÁCEIS! Viva o estático (quando é dinâmico) O WEBDEV já era imbatível na criação de sites dinâmicos, seja para Intranet ou Internet. Com esta nova versão 19, WEBDEV também se torna um excelente ambiente para a criação sites estáticos sofisticados. WEBDEV 19 é compatível com os padrões de sites WEB estáticos. Estilos CSS3 código HTML 5 mais limpo fácil criação de gráficos posicionamento ao pixel editor WYSI- WYG editor de estilo modelos de pá- 64

gina modelos de campo modelos e paletes de cores interação navegador graças ao WLanguage campos avançados (tabelas, gráficos,...) ancoragem atomática. Sites estáticos podem executar código JavaScript. WEBDEV 19 permite-lhe gerar o código JavaScript necessário para executar num navegador, portanto, não precisará de um servidor de aplicações para o executar. De lembrar que todos os novos recursos da versão 19 relativos ao modo estático também se aplicam ao modo dinâmico. O cliente beneficia da facilidade WEBDEV na criação de poderosos sites estáticos. 838 Geração de HTML5 padrão. O WEBDEV 19 gera por defeito sites que respeitam o HTML5 padrão. A geração em HTML 5 permite o acesso aos recursos dos mais recentes dos navegadores. Claro que pode sempre gerar «HTML 4 transitório» Código para assegurar a compatibilidade com os navegadores mais antigos: Os seus sites beneficiam do HTML5 por defeito. 839 841 Isto torna mais fácil o trabalhar com imagens. Benefício proporcionado por esta novidade da versão 19: As imagens mantêm o seu nome real. Páginas com o mesmo nome no mesmo site Um site estático criado com WEBDEV 19 pode conter várias páginas com o mesmo nome físico. as páginas só necessitam de estar presentes em diferentes sub-diretórios. Aqui, no mesmo site, existem tantas páginas de índice como as que pretender Páginas com o mesmo nome no mesmo site. 842 844 RTA: RICH TEXT AREA LAYOUT FLUÍDO «control Rich Text Area» (RTA): nova característica da moda na versão 19 Registo e utilização WYSIWYG para rich text. 845 RTA: formatar o texto propriamente dito O campo de RTA permite-lhe, naturalmente, especificar as características de cada pedaço de texto, ao nível do caractere: fonte, tamanho da fonte, negrito, cor, riscado, sublinhado, sobrescrito, subscrito... A formatação do texto é «lógica» em termos de HTML. Por exemplo, um atributo «negrito» será automaticamente traduzido pelo o código HTML «Strong», tornando mais fácil a referenciação nos motores de busca (Google...) As etiquetas necessárias são inseridas em formato HTML antes e depois do texto. Por exemplo: Hello será armazenado como <strong> Hello </strong>. A tag <strong>,, que é reconhecida e interpretada pelo navegador, indica que é uma palavra «importante». O navegador irá normalmente exibir o texto entre as tags a negrito, dependendo das preferências do navegador definidas pelo utilizador. O browser reconhece estas tags e interpreta-as. Os motores de busca também utilizam este tipo de tags para referenciar páginas. A utilização destas tags num texto aumenta a sua referenciação natural. Melhor interpretação do texto dos navegadores e motores de busca. Site estático: organização standard Um site estático criado com WEBDEV 19 é organizado de forma padrão como uma árvore de diretórios. Cada diretório pode conter sua própria homepage, páginas e recursos. Esta árvore corresponde à organização física do site, uma vez que será implementado num servidor de hospedagem. A página de índice é denominada... index. Em WEBDEV 19, é fácil de gerir os seus sites estáticos. 840 Nomenclatura da Imagem A página de um site, muitas vezes contém imagens. Num site WEBDEV, uma imagem tem um nome lógico, como qualquer ou campo. Ao usar uma imagem num site estático do WEBDEV, o nome físico da imagem é atribuído a partir do nome lógico. Explorador do site A nova organização dos sites estáticos em WEBDEV 19 permite ao programador ou ao web designer trabalhar diretamente com o site «real» a partir do explorador de sites. Web designers com experiência de «sites estáticos» e com esta organização, instantâneamente se familiarizam com os seus hábitos. Sites estáticos utilizam a estrutura de árvore no editor. 843 Melhor referenciamento natural de página O referenciamento natural de sites com os motores de busca tornase mais fácil, especialmente graças à utilização lógica do layout dos textos e parágrafos do campo «Área de texto» (ver «Rich Text Area» novo recurso abaixo e novidades 866 a 868). O referenciamento de páginas melhorou substancialmente. Esta é a apresentação de um único campo «Rich Text Area» em WEBDEV 19 A versão 19 do WEBDEV oferece um novo e extremamente poderoso tipo de campo: é o campo «Rich Text Area» (abreviado para RTA). O campo Rich Text Area é fundamental para a criação de páginas web estáticas e dinâmicas: o registo de texto enriquecido torna-se assim uma brincadeira de crianças. O texto e os seus atributos enriquecidos são inseridos como num processador de texto: inserir imagens com legendas, inserir links, adicionar atributos ao texto... Tudo é WYSIWYG. No editor, quando se regista a informação, o campo expande-se automaticamente se necessário. Não é necessário criar vários campos para posicionar um ao lado do outro como antigamente. Tal como com todos os outros campos, o código HTML é gerado automaticamente pelo WEBDEV. Este código HTML é standard, optimizado e alterável. 846 RTA: formatação lógica de parágrafos O campo RTA permite-lhe formatar parágrafos: título, subtítulo, sub-subtítulo, rodapé, endereço de e-mail, nota, cabeçalho... A formatação é lógica: por exemplo, um título será automaticamente armazenado no seu formato HTML como <h1> <h1> é uma etiqueta HTML que define o título da página. O navegador reconhece estas tags e interpreta-as: normalmente, o texto será exibido em letras grandes e a negrito! Os motores de busca também utilizam este tipo de tags para referenciar páginas: para um motor de busca, um título terá mais peso que um texto simples. Melhor interpretação da estrutura da página por navegadores e motores de busca. 66 67

847 RTA: formatação física de um parágrafo Em adição a esta formatação lógica, uma formatação física está também disponível: alinhamento de parágrafo, recuo, cor,... A apresentação do texto é simplificada. 848 RTA: indentação utomática Os parágrafos podem ser recuados, automaticamente, com ou sem pontos. Os pontos podem ou não ser numerados. Sites à prova de bala <OL> <LI> 849 RTA: Estilos CSS É possível aplicar um estilo existente no projeto numa seleção de texto de uma RTA. Seja estilístico... As modificações propagam-se por conta própria. 850 RTA: inserção de campo Campos WEBDEV no centro do seu texto. 851 RTA: Inserção de um link Um RTA pode conter mais do que um campo «Link» Existem várias formas de inserir um campo num RTA: Transformar uma selecção de texto num link Criar um campo link dentro do texto Copiar um campo link já existente. O campo encontrado no RTA pode ser editado utilizando a tecnologia «7-tab». As funcionalidades oferecidas pela tecnologia «7- tab» são simplificadas para se adaptarem ao contexto RTA. Misturar texto e links facilmente. 852 RTA: inserção de imagem A inserção de uma imagem num campo RTA pode assumir várias formas. A imagem pode ser colada, ou inserida. A imagem em si pode ser copiada para o projeto ou utilizar a sua ligação sem copiar a imagem para o projecto, é consigo.. As imagens nunca são alteradas pelo WEBDEV. As imagens mantêm o seu nome e tamanho original. O estilo do projecto pode ser aplicado à imagem. A imagem é posicionada em linha com o texto. Parâmetros de composição disponíveis: esquerda, direita, parágrafo, no texto,... Componha os seus textos ricos. EDITAR O CAMPO RICH TEXT AREA (ÁREA DE TEXTO) Um RTA em modo criação no editor de páginas Em qualquer lugar de um texto RTA pode realmente inserir em WEBDEV os seguintes tipos de campo: link imagem. O campo é posicionado em linha relativamente ao texto O campo é «ancorado» ao texto. Esta é uma novidade («em linha») no layout de uma página em WEBDEV! Um exemplo de campo RTA, fácil de criar com WEBDEV 19 68 69

PARA PARA OS OS ESPECIALISTAS... ESPECIALISTAS... POSSŒVEL POSSŒVEL GERAR GERAR C DIGO C DIGO HTML HTML ATRAV S ATRAV S DE DE RTA. RTA. PODE PODE SER SER ALTERADO! ALTERADO! 853 Revolução RTA: aceda ao código HTML, salve as alterações em código HTML puro Revolucione com WEBDEV! Por um lado, pode aceder ao código HTML do RTA, por outro, o código HTML gerado pelo WEBDEV no RTA é voluntariamente claro e legível, em vez de ser comprimido. Um programador que domine HTML pode modificar o código HTML gerado para o campo RTA, não só no modo de edição, mas também através de programação, enquanto o site estiver a ser executado. O que foi alterado no próprio código HTML também será visualizado no editor. As modificações efectuadas serão mantidas para as gerações futuras. Acesso ao código HTML, alterações fáceis e persistentes. <cabeçalho> <h1 class=»collectiontitle»>the new collection has arrived!</h1>>>>> <div class=»dza2» id=»dza2»> <img src=»thumbnail_collection.jpg» alt=»» id=»a2» class=»padding»> </div> <p class=»collectioncomment»> <img src=»bubble.png» alt=»» style=» width:16px; height:16px;» id=»a11» class=»padding»> Comments (<span class=»nbofcomments»>24</span>)>>>>>>>> </p> <h2>the new collection will arrive soon in our stores and online: 100 % new. </h2>>>>> </cabeçalho> <section> <p> <img src=»arrow.png» alt=»» style=» width:16px; height:16px;» id=»a3» class=»padding»> <a href=»trendy.htm» target=»_self» id=»a9» class=»padding CollectionLink»> Be the first to discover the <strong>new trends </strong>for the year!>>>>>>>> </a> </p> <p> And this is not all, as a newsletter subscriber, you benefit from an<strong> exclusive discount of 10%</strong> on the entire <em>new collection</em>, as of today.>>>>>>>>>>>> </p> <ul> <li>10 % discount for the newsletter subscribers</li>>>>> <li>instant and exclusive access to the new collection</li>>>>> </ul> </section> <footer>...</footer>>>>> Exemplo de uma alteração em código HTML: adicione o código do tracker Adwords abaixo do código do link para contar os cliques. onclick=»_gaq.push([ _trackevent, Click from new collection announcement ]);» 854 CSS3 Criação de Estilo: CSS sem saber CSS Para criar um estilo com o WEBDEV 19, o programador ou o Web designer não necessita de conhecer CSS3: O WEBDEV 19 gera o estilo criado visualmente graças à tecnologia 7-tab. Os estilos WEBDEV são guardados como estilos standard CSS3. Os estilos podem ser modificados a qualquer momento no editor, as modificações são, naturalmente, aplicadas a todas as páginas e campos que utilizam o estilo modificado. Crie estilos CSS3 sem saber CSS3. 857 855 Importação de estilos CSS existentes, um por um CSS3 existente também pode, a partir das suas folhas de estilo, ser importado para o WEBDEV 19. O recurso de importação agora permite selecionar os estilos a serem importados, e aqueles a ignorar. Você não tem mais de importar a folha de estilo inteira No ambiente WEBDEV 19, os estilos importados são disponibilizados em conjunto com os estilos criados em WEBDEV. Você já tem o estilo certo? Não mude nada! 856 Adicionando uma animação externa a um campo O ambiente WEBDEV disponibiliza automaticamente efeitos de animação de campos: intermitente, fade in, zoom, rotação, Flip 3D, Há outros efeitos especiais, disponíveis no mercado como animações CSS. Por exemplo: pêndulo, flutuação, explosão... Para aplicar este tipo de animação a um campo, basta importar a folha de estilo CSS que contém a descrição da animação e especificar no estilo do campo, o nome da animação a utilizar, a sua extensão, e a sua repetição. Fácil utilização de recursos externos PARA PARA OS OS ESPECIALISTAS... ESPECIALISTAS... ADICIONE ADICIONE C DIGO C DIGO CSS3 CSS3 NUM NUM ESTILO ESTILO WEBDEV WEBDEV Alteração dos estilos WEBDEV directamente em CSS Os estilos criados em WEBDEV são armazenados em folhas de estilo CSS3 standard. Na versão 19, o estilo CSS3 pode ser modificado directamente, se necessário, no código.css. O estilo CSS3 criado pelo WEBDEV e alterado externamente continua a ser reconhecido pelo editor. O modelo alterado pode ser aplicado da mesma maneira que um modelo WEBDEV é aplicado sobre os campos ou as páginas. Esta abertura é oferecida de modo a permitir que os especialistas em CSS3 reutilizem as suas competências nesta área. Esta abertura permite a criação de estilos muito complexos ou muito específicos, pedindo recursos avançados de CSS3. Se souber fazê-lo em CSS3, pode fazê-lo directamente em WEBDEV 19..MyEmailAddress { font-family:arial, Helvetica, sans-serif; font-size:9pt; color:#2d2d2d; text-align:center; vertical-align:middle; background-color:#f1c494; ms-border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px; -o-border-radius:5px; border-radius:5px; /* modificação */ width:7em; } /* add */.MyEmailAddress::before { content: info ; }.MyEmailAddress::after { content: windev.com ; } Exemplo código CSS3 gerado por um estilo WEBDEV (cor azul) ao qual o programador adicionou código CSS3 específico. Por oposição, o código adicionado aparece a encarnado Aqui, a adição de código CSS3 torna o link não referenciável e não-seleccionável. 70 71

858 Associe scripts de JS ou JQuery aos seus campos A versão 19 do WEBDEV permite-lhe anexar manualmente uma ou mais «classes CSS» adicionais (falamos do atributo class=) para um campo. A «classe CSS» pode ser referida num JavaScript externo ou num script JQuery para aplicar modificações no campo ao qual está atribuído. Isto permite modificar dinamicamente as propriedades e o comportamento de campo. Por exemplo: para poder mover um campo com o rato, mudar o seu estilo, efectuar um movimento em reação a alguns eventos, fazê-lo interagir com outros campos... Estilo e classes, cada vez melhor. 861 Editor de estilos CSS O ambiente WEBDEV permite editar graficamente os estilos CSS através de uma janela de descrição de estilo CSS. Esta janela evoluiu na versão 19 para se tornar num editor de estilo CSS de pleno direito. 862 BOTÃO, UMA NOVA RIQUEZA Campo botão: O poder de um final de clique 864 Campo botão: imagem ou CSS? Quando criar um botão são possíveis dois tipos: Botão CSS3. Botão de imagem Um botão CSS3 é feito de um estilo CSS que define a sua aparência. O texto do botão é sobreposto. Um botão de imagem também é feito de uma imagem de fundo em que o texto pode ser sobreposto ou embutido. Normalmente, um botão CSS3 é mais leve durante a execução. Crie botões atraentes. 865 859 novas propriedades em estilos CSS O Suporte para edição de estilos CSS no WEBDEV torna-se mais detalhado na versão 19. Novas e intuitivas possibilidades encontram-se à sua disposição para todos os campos: fundo de gradiente linear opacidade de cor (RGBA) texto sombreado margens arredondadas O estado «acinzentado» pode ser definido diretamente no nível do estilo CSS para todos os campos (pseudo «acinzentado»). Atreva-se com estilos refinados. 860 Escolha o intervalo da cor de fundo ou a imagem de fundo de um campo Um campo pode ter uma cor de fundo. O intervalo desta cor de fundo pode variar: apenas o conteúdo conteúdo + margem interna todo o campo até à moldura. O WEBDEV 19 permite agora refinar a cor de fundo no editor de estilo CSS de cada campo. Para os especialistas, estas são as propriedades <backgroundclip> e <background-origin>. O WEBDEV 19 também lhe permite definir o intervalo da imagem de fundo para cada campo Requinte! Edite facilmente os estilos. WEBDEV 19 não me dá dores de cabeça... Botão com 5 estados (pairar, para baixo,...), com animação (halo, flicker em movimento)... O campo «botão estático» evoluiu significativamente em WINDEV 19. (Lembre-se: como todos os outros campos estáticos, o campo «botão estático» também pode ser utilizado em locais dinâmicos.) O campo botão pode texto enriquecido no seu conteúdo. O campo botão pode ser criado por elementos de estilo CSS3, que permite criar botões sofisticados sem ter que usar imagens. A exibição de um botão destes torna-se mais rápida no navegador. Botões de texto agora aceitam texto enriquecido: fonte, tamanho negrito, sublinhado, itálico, riscado sobrescrito, subscrito, sublinhado, cor do texto, cor do parágrafo (com paleta de cores) alinhamento (esquerda, direita, centro, justificado) inserção de imagens com suporte para melhorias de texto identação de parágrafo marcadores e marcadores numerados Estilo CSS Os botões elevaram-se na versão 19. 863 Criação do campo botão: liberdade adicional A versão 19 oferece imensa liberdade na criação de botões. Um ícone pode ser facilmente inserido na parte de texto do botão e posicionado em relação ao texto graças às funções de composição. Atenção que, se o texto dos botões for multilingual, os ícones ficarão sempre bem posicionados, mesmo que exista mudanças de comprimento do texto. Facilmente cria botões. Campo botão de imagem Exemplos de botões gráficos fornecidos com WEBDEV 19 (de utilização gratuita no seu site criado com o WEBDEV) Como o seu nome sugere, botões de imagem são baseados numa imagem. Um botão pode ser definido por 5 imagens diferentes no máximo, cada uma correspondendo a um estado do botão: inactivo rolagem clique foco desactivado. As imagens para os vários estados podem ser localizadas numa folha de imagens, geridas automaticamente. Isso optimiza a visualização, a mudança de estado de um botão é muito mais suave porque não existe nova transferência da imagem. Botões elegantes! 72 73

866 Esticar botões de imagem A edição de um botão de imagem evoluiu na versão 19. A partir de uma simples imagem, pode redimensionar a imagem sem distorcer os seus cantos... Basta utilizar o modo de 9 imagens, e esta imagem vai ser capaz de esticar em qualquer direcção (utilize o modo de 3 imagens para esticar apenas numa dimensão). Graças ao modo de 9 imagens um botão pode ser ampliado sem distorção. Botões estendem sem distorção. 867 botão animado, imagem Botões de imagem também podem ser animados. A folha de imagens utilizada para definir o botão animado pode conter uma série de imagens verticais que definem os vários passos da animação. No navegador, essas imagens surgem automaticamente. Pode por exemplo, criar facilmente um halo piscando para atrair a atenção do utilizador para o botão. 868 CSS3 campo botão O botão CSS3 é um novo recurso da versão 19 do WEBDEV. Este botão é completamente definido tendo por base um estilo CSS. Este não requer qualquer imagem, mas o próprio estilo CSS pode conter (ou não) uma ou mais imagens. Um botão CSS pode oferecer até 5 estados, os quais são elementos dos estilos CSS (pseudo-estilos). Exemplo de botões CSS3 O estilo CSS permite definir várias propriedades, entre as quais (lista não exaustiva): cor de fundo com gradiente e opacidade texto sombreado configurações de margem margens arredondadas... O botão CSS3 adapta-se automaticamente ao navegador. Botões acionáveis! 870 TABELA NAVEGADOR, COM OU SEM DADOS Campo Tabela Navegador: ordenação, pesquisa,... Estático, dinâmico O novo campo «Tabela Navegador» foi introduzido na versão 19. O campo «Tabela Navegador» é um campo completamente autónomo no navegador. Não existe fluxo de tráfego com o servidor de aplicações. O seu conteúdo pode ser inicializado diretamente no editor WEB- DEV, inserindo os dados para exibir! Este tipo de campo pode ser utilizado tanto em sítios estáticos como dinâmicos! O campo «Tabela Navegador» oferece recursos automáticos, tais como: filtro, pesquisa, mover coluna, redimensionar coluna, cabeçalho da coluna, coluna de sub-cabeçalho... O campo «Tabela Navegador» pode ser utilizado e preenchido por programação utilizando código de navegador. Benefícios do poder do campo tabela antes mesmo de fazer um «GO». Tabela Navegador: recursos avançados de edição intuitiva A Tabela de Browser beneficia das novidades avançadas dos campos do WEBDEV. Notavelmente, a Tabela de Browser beneficia de: estilos (linhas de cor alternadas,...) margens e separadores scrollbars automáticos, se necessário máscara de exibição Selecção de linha modelos e paletes de cores Durante a sua criação já pode inserir o conteúdo da «Tabela de Browser» (aqui: tabela de preços) A Tabela de Browser é poderosa para sites estáticos e dinâmicos. O CAMPO TABELA DE VISUALIZAÇÃO EM MODO DE EXECUÇÃO 871 Botão animado: em linha os estados dos botões (rolagem,...) e nas colunas as imagens para os passos de animação de cada estado Torne-se um animador... de botões! 869 Botão referenciável (ou não) Um botão numa página pode ser referenciável ou não. Por exemplo, num site de vendas existe pouca necessidade de um botão «Pagamento» ser referenciado num motor de busca. WEBDEV 19 permite-lhe especificar se um botão pode ou não ser referenciado. (Para profissionais de HTML: corresponde a tags <a> ou <button> Suporte para referenciar botões. 74 75

872 Tabela Navegador: Programação possível melhor referência ao conteúdo. Por exemplo, um título será detectado como tal e não apenas como texto a negrito. Uma palavra a negrito será detectada como tal graças ao atributo <strong> utilizado automaticamente pela área de texto. Sem EPO, sem comprar palavras-chave, pode automaticamente melhorar o desempenho de referenciação da sua página. MOBILIDADE WEB A Tabela Browser trabalha diretamente nas páginas estáticas e sites, sem necessidade de qualquer servidor de aplicações, e sem necessidade de qualquer código. Mas pode modificar uma tabela de visualização por programação. A programação de uma tabela de browser é feita em código «Browser»: não existe interação com o servidor. A programação é feita em WLanguage, claro. A Tabela Browser pode ser inicializada digitando dados no editor, mas também pode ser preenchida utilizando a função TableAddLine no código do navegador. Como todos as funções de «browser» em WLanguage, esta função será automaticamente traduzida para o código JavaScript correspondente, e armazenados na página. A Tabela Browser é tanto um campo de exibição muito simples como se pode tornar muito sofisticado graças aos processos do navegador. Tal como os campos estáticos, a Tabela Browser funciona também em sites dinâmicos. Visualização sim, estáticas sim, mas programável se necessário! 874 Melhor referenciamento de sites multilingual em cada idioma Em WEBDEV 19, pode ser especificado o nome de cada página de um site multilingue: pode ser escrito na sua língua! Cada nome de página é então referenciada na sua língua. A página «Order» do site em Inglês será «Commande» em francês e «Bestellschein» em alemão. Os motores de busca de cada país serão capazes de referênciar naturalmente o site... 876 Detecção de movimento num site Um site WEBDEV exibido num dispositivo móvel pode ser movido com os dedos. Suporte de gestos em sites Web MELHOR REFERENCIAMENTO NATURAL Melhor referenciamento natural em cada idioma Os sites são cada vez mais frequentemente vistos em dispositivos móveis. Nesta óptica, a nova família de funções SensorDetect, disponíveis em WEBDEV 19, permite-lhe interagir com o dispositivo móvel. Um largo número de movimentos podem ser detectados: vibração, orientação, aceleração... A família de funções SensorDetect é executada em código do navegador, o que significa que também está disponível para sites estáticos. Agite! 878 NOVOS CAMPOS E EVOLUÇÕES DE CAMPOS RTA: Rich Text Area 873 formatação lógica da área de texto: referenciação vincada A nova área de texto (ver novidade 844-853) é de importância primordial na versão 19. Esta área permite a formatação lógica do texto e do parágrafo. Os motores de busca podem analisar melhor o conteúdo da página, organizar as informações de forma hierárquica, logo, fazer 875 links multilíngua Num site multilingual, as ligações tornam-se multilingual. Estes vão ser melhor referenciados em cada país. Esta novidade encontra-se disponível em modo AWP e nos sites estáticos. Referenciamento natural dos links. 877 Gestos numa página Web Graças ao WEBDEV 19, agora pode responder a ações de gestos num site. Isto abre novas capacidades de interação ao usar um tablet, smartphone ou a outros ecrãs tácteis ao navegar na web. Novos processos estão sendo introduzidos no campo imagem para tratar estes novos movimentos: processos swipe. processo de rolagem processos zoom. A variável WLanguage Swipe também lhe permite obter informações sobre gestos: Direcção, Distância, Velocidade. As funções GesturePosX e GesturePosY WLanguage permitemlhe obter as coordenadas do ponto tocado. O novo campo Rich Text Area revoluciona a entrada e a gestão de fluxos, textos, imagens e links em WEBDEV. O campo RTA encontra-se disponível no modo dinâmico e estático. O campo RTA é detalhado nas novidades 844 a 853 O campo que revolucionou o layout da página. 879 Campo botao As novas funcionalidades deste campo Botão (ver novidade 862-869) fornecem recursos avançados que vão satisfazer em pleno os webmasters e web designers! Por exemplo, graças ao suporte de folhas de imagens de Botão, o número de acessos ao servidor é reduzido. Botões sofisticados com um comportamento fluido. 76 77