O documento fornece um tutorial extenso sobre como utilizar o WinDev para desenvolver aplicativos. Ele explica como criar janelas, adicionar controles, escrever código, gerenciar variáveis, criar menus e distribuir aplicativos. Além disso, discute tópicos como procedimentos, strings, tipos de dados e como trabalhar com datas e horas.
2. Code editor (Editor de codigos)....................................................................................................................18
Data model editor (Editor de modelagem de dados)....................................................................................18
Query editor..................................................................................................................................................18
Report editor (Editor de Relatorios)..............................................................................................................20
Help editor (editor de ajuda).........................................................................................................................20
Setup editor (editor de instalações)..............................................................................................................20
-$1(/$6
RPR FULDU XP SURMHWR
Criando sua primeira window.......................................................................................................................22
6XD SULPHLUD DSOLFDomR
Criando um botão usado para sair de uma window ......................................................................................23
RQWURODQGR HQWUDGDV GH WH[WR
Controlando entrada de valores numericos...................................................................................................27
Layout da window ........................................................................................................................................28
ULDQGR XPD ZLQGRZ FRP LPDJHQV
Como animar uma imagem? .........................................................................................................................31
Usando uma imagem como background de uma window.............................................................................32
Criando uma window com um menu ............................................................................................................32
Criando o menu.............................................................................................................................................33
Para configurar o menu:................................................................................................................................33
Inserindo codigos nas opções do menu.........................................................................................................33
Configurando parametros do menu...............................................................................................................34
ULDQGR XP SURJUDPD H[HFXWDYHO
'LVWULEXLQGR VXD DSOLFDomR
Instalação padrão ..........................................................................................................................................35
Instalação com atualizações automaticas......................................................................................................35
Editor de instalação: WDINST (Setup editor: WDINST)............................................................................36
9$5,È9(,6
26 ',)(5(17(6 7,326 '( 9$5,È9(,6
'HFODUDQGR YDULiYHLV
Variaveis locais.............................................................................................................................................37
Variáveis globais...........................................................................................................................................37
Variáveis globais do projeto .........................................................................................................................37
Variáveis globais de uma window................................................................................................................37
Variáveis de uma window accessiveis por outras windows..........................................................................37
3. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
2
Comandos da W-Language...........................................................................................................................37
Comandos Condicionais ...............................................................................................................................38
Comandos de Loop .......................................................................................................................................38
A palavra chave MySelf................................................................................................................................39
3URFHGXUHV H IXQo}HV
Procedures Locais.........................................................................................................................................39
Procedures Globais e Coleção de procedures ...............................................................................................39
Como decidir se uma procedure deve ser local ou global?...........................................................................39
Como usar procedures ..................................................................................................................................40
Sobre passagem de parametros .....................................................................................................................40
Chamando uma procedure ............................................................................................................................40
Criando uma procedure (ou função) .............................................................................................................40
Quando usar procedures?..............................................................................................................................41
86$1'2 $5$7(5(6 675,1*6
7UDEDOKDQGR FRP XPD VWULQJ
7UDEDOKDQGR FRP WLSRV QXPpULFRV
Sobre tipo de controles numéricos................................................................................................................43
Tipo de dado Currency (Currency data type)...............................................................................................43
Misturando tipos numericos e strings ..........................................................................................................44
7UDEDOKDQGR FRP GDWDV H KRUDV GDWD DQG WLPH
4. Variáveis do tipo Date, Time, DateTime and Duration ................................................................................45
-$1(/$6 ( 21752/(6
Barras de ferramentas (Toolbars)..................................................................................................................47
3DLQHO GR :LQGHY :LQ'HY 3DQH
6. 21752/(6
6HOHFLRQDQGR YiULRV FRQWUROHV
0RYHQGR XP RX PDLV FRQWUROHV GHQWUR GH XPD ZLQGRZ
'HOHWDQGR XP FRQWUROH
RSLDQGR FRQWUROHV
0RGLILFDQGR DV FDUDFWHULVWLFDV GH XP RX PDLV FRQWUROHV
2 (GLWRU GH -DQHODV
Preferencias do editor (Editor preferences)...................................................................................................51
Help do Editor de Janelas(Window editor)...................................................................................................51
Chamando o assistente de criação de janelas................................................................................................51
8. Administração do tempo...............................................................................................................................53
Gerenciador de Tasks management( tarefas ) ...............................................................................................53
Digitando códigos.........................................................................................................................................53
Glossário de funções (Functions glossary ) ..................................................................................................54
Marcador de tempo (Time stamp).................................................................................................................54
Ponto de pausa (Break point )......................................................................................................................55
Adicionando marcas no seu código ..............................................................................................................55
Checando o código (Code checking ) ...........................................................................................................55
Algumas combinações de teclas úteis...........................................................................................................55
8VDQGR FRQWUROHV
Resumo .........................................................................................................................................................57
Detalhe..........................................................................................................................................................57
Resumo .........................................................................................................................................................57
Detalhe..........................................................................................................................................................58
Resumo .........................................................................................................................................................60
Detalhes ........................................................................................................................................................60
Resumo .........................................................................................................................................................61
Detalhes...............................................................................................................................................61
Resumo .........................................................................................................................................................62
Detalhes ........................................................................................................................................................62
Preenchedo um list box no editor..................................................................................................................63
Preenchendo um list box usando um file ou query ......................................................................................63
Preenchendo um list box por programação...................................................................................................63
Resumo ........................................................................................................................................................64
Detalhes ........................................................................................................................................................64
Preenchedo um combo box no editor............................................................................................................65
Preenchendo um combo box de um arquivo ou query..................................................................................65
Preenchendo um combo box por programação.............................................................................................65
Combo box com edit.....................................................................................................................................65
Combo box sem edit .....................................................................................................................................66
Resumo .........................................................................................................................................................66
Detalhe..........................................................................................................................................................66
Caracteristicas...............................................................................................................................................67
Resumo .........................................................................................................................................................69
Resumo .........................................................................................................................................................69
Detalhes ........................................................................................................................................................69
Resumo .........................................................................................................................................................70
Detalhes ........................................................................................................................................................70
Tabela em memória (preenchida por programação) ....................................................................................70
Tabela ligada a um arquivo ou query............................................................................................................71
ActiveX.........................................................................................................................................................72
Resumo .....................................................................................................................................................72
Detalhes ....................................................................................................................................................72
OLE ..............................................................................................................................................................72
Resumo .....................................................................................................................................................72
Detalhe......................................................................................................................................................72
Resumo .....................................................................................................................................................73
Detalhes ....................................................................................................................................................73
Resumo .....................................................................................................................................................73
Detalhe......................................................................................................................................................74
Resumo .....................................................................................................................................................74
Resumo .....................................................................................................................................................74
Detalhe......................................................................................................................................................74
Resumo .........................................................................................................................................................75
9. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
4
Detalhes ........................................................................................................................................................75
Resumo .........................................................................................................................................................75
Detalhes ........................................................................................................................................................75
Criando um tab..........................................................................................................................................75
Criando os controles associados com os tabs................................................................................................76
Criando controles fora dos tabs .................................................................................................................76
Resumo .........................................................................................................................................................76
Resumo .........................................................................................................................................................77
Resumo .........................................................................................................................................................77
Detalhes ........................................................................................................................................................77
Resumo ........................................................................................................................................................77
Detalhes ........................................................................................................................................................78
Resumo .........................................................................................................................................................78
Notas:............................................................................................................................................................79
2UGHQDQGR FRQWUROHV
Ordem dos controles (Control navigation order) ..........................................................................................79
Estado dos controles (Control’s state ) .........................................................................................................79
0RGLILFDQGR R WDPDQKR GD ZLQGRZ
Ancorar (Anchoring) um controle da window.............................................................................................80
Ajuda dos controles (Control help )..............................................................................................................81
Mensagem de ajuda (Help message).............................................................................................................81
Help tooltip ...................................................................................................................................................82
Trocando tipos de controles..........................................................................................................................82
Clonando um controle através de programação............................................................................................82
Folha de estilos (Style sheet) e estilos (styles)..............................................................................................82
Independente do tipo de controle, o estilo selecionado é associado ao controle.......................................82
Modificando o estilo de umcontrole ............................................................................................................82
'HVFUHY HQGR XPD :LQGRZ MDQHOD
10. Os tabs de descrição da window (window description tabs)........................................................................83
Tab General ...............................................................................................................................................83
Tab Details.................................................................................................................................................84
Tab Image..................................................................................................................................................84
Tab Language ............................................................................................................................................84
Tab Note....................................................................................................................................................84
Tab Help...................................................................................................................................................84
Tab Style....................................................................................................................................................84
Os planos de uma window............................................................................................................................85
Processos associados com a window ............................................................................................................85
Global declarations .......................................................................................................................................85
Initialization..................................................................................................................................................85
Closing..........................................................................................................................................................85
Taking focus .................................................................................................................................................85
Losing focus..................................................................................................................................................85
Size modification ..........................................................................................................................................86
:'06* H :',17
%$12 '( '$'26 ( $1È/,6(
Os diferentes modos de acesso a banco de dados .........................................................................................86
Acesso nativo (Native access ) .................................................................................................................86
Acesso direto ODBC (ODBC direct access )................................................................................................87
Acesso OLE DB (OLE DB access )..............................................................................................................87
11. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
5
Acesso ODBC via OLE DB (ODBC access via OLE DB)...........................................................................87
Que tipo de acesso você deve usar?..............................................................................................................87
Oque é uma aplicação e uma analise?...........................................................................................................87
Hyper File .....................................................................................................................................................88
Itens dos arquivos .........................................................................................................................................88
Definindo chaves ..........................................................................................................................................89
2V GLIHUHQWHV PRGRV GH DFHVVR D EDQFR GH GDGRV
Acesso nativo................................................................................................................................................89
Acesso direto ODBC (ODBC direct access )................................................................................................89
Acesso OLE DB (OLE DB access )..............................................................................................................90
Acesso ODBC via OLE DB (ODBC access via OLE DB)...........................................................................90
4XH WLSR GH DFHVVR YRFr GHYH XVDU
Oque é uma aplicação e uma analise?...........................................................................................................90
Hyper File .....................................................................................................................................................91
Itens dos arquivos .....................................................................................................................................91
Definindo chaves ......................................................................................................................................91
Definindo relacionamentos (integridades)................................................................................................91
352-(726
ULDQGR XP SURMHWR
Análise e arquivos.........................................................................................................................................92
Criando arquivos...........................................................................................................................................93
Qual é a razão de um item ser ligado a um item de arquivo?........................................................................97
ULDQGR XP DUTXLYR ILVLFDPHQWH
Adicionando um registro...............................................................................................................................98
Ver os dados digitados..................................................................................................................................99
%URZVHV
Pesquisando um registro .............................................................................................................................101
0RGLILFDQGR H H[FOXLQGR XP UHJLVWUR
9LVXDOL]DQGR RV UHJLVWURV GLJLWDGRV
2 TXH LUHPRV DSUHQGHU QD OLomR VHJXLQWH
(QFULSWDomR GH GDGRV
RQFHLWR GH XVR
Configurando a encriptação de arquivos:....................................................................................................107
Suporte à encriptação na W-Language. ......................................................................................................108
75$16$d®(6
2 TXH p XPD WUDQVDomR
Transações em Hyper Files.........................................................................................................................109
RQFHLWR GH XVR GH 7UDQVDo}HV
Configurando o Gerenciador de Transações...............................................................................................110
Usando registros durante uma transação, regras a serem seguidas:............................................................110
12. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
6
O que fazer se uma transação for interrompida?.........................................................................................111
23(5$d®(6 '( /2*
2 TXH p XPD RSHUDomR GH ORJ
Operações de Log, o que elas fazem?.........................................................................................................111
Como configurar os arquivos de log...........................................................................................................112
Como o arquivo de log opera fisicamente?.................................................................................................112
Como configurar com sucesso as operações de log? ..................................................................................113
5(3/,$d2 '( '$'26
2 TXH p UHSOLFDomR GH GDGRV
Conceitos de uso da replicação de dados....................................................................................................114
Replicação em Rede....................................................................................................................................114
Replicação usando mídia removível. ..........................................................................................................115
$(662 5(0272
Quando usar o acesso remoto com Hyper File?..........................................................................................116
Características que diferenciam um acesso remoto de uma conexão de acesso de rede.............................117
75$%$/+$1'2 20 %$126 '( '$'26 (;7(5126 25$/( 64/
6(59(5 (7
14. H SDUD TXH p XVDGD
6HWXS
Passo2 – Criando uma procedure global linkada à uma trigger..............................................................121
5$'
3DVVR D SDVVR SDUD XVDU R SURMHWR 5$'
Executando o módulo RAD........................................................................................................................122
Clique no botão Next......................................................................................................................122
Opções de Interface ....................................................................................................................................122
Tipo de código gerado. ...............................................................................................................................123
Tipo de programa gerado............................................................................................................................123
Tipo de Código ...........................................................................................................................................123
Template utilizado pela janela ....................................................................................................................124
Configurando a janela.................................................................................................................................124
15. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
7
Arquivos manipulados pela aplicação.........................................................................................................125
Testando o projeto. .....................................................................................................................................125
-DQHODV JHUDGDV SHOR 5$'
Visão Geral .................................................................................................................................................126
Janela Menu................................................................................................................................................126
Janela em modo Form.................................................................................................................................127
Código fonte para abrir uma janela.............................................................................................................128
Código dos botões de navegação ................................................................................................................129
Botão “First”...............................................................................................................................................129
Botão “Previous” ........................................................................................................................................129
Botão “Last” ...............................................................................................................................................129
Botão “New”...............................................................................................................................................129
Botão “Delete”............................................................................................................................................130
Botão “Print” ..............................................................................................................................................130
Botão Apply................................................................................................................................................130
Janela em modo Table ................................................................................................................................130
Código da Tabela........................................................................................................................................131
Código dos botões de navegação ................................................................................................................132
Botão “New”...............................................................................................................................................132
Botão “Modify” ..........................................................................................................................................133
5HODWyULRV JHUDGRV SHOR 5$'
Visão geral..................................................................................................................................................133
Relatório de Tabela.....................................................................................................................................133
Relatório tipo Formulário. ..........................................................................................................................134
64/ 5$'
-DQHODV *HUDGDV
Janelas em Modo form................................................................................................................................135
Código de Inicialização...............................................................................................................................135
RQFOXVmR
202 86$5 2 (',725 '( 48(5,(6
,QWURGXomR
6XD SULPHLUD TXHU
Vamos construir uma lista de fornecedores baseados na Florida........................................................137
Inicie o Editor de queries ....................................................................................................................137
202 86$5 2 (',725 '( 48(5,(6
RQVWUXLQGR XPD TXHU FRP FRQWDGRU
86$1'2 2 48(5 (',725
RQVWUXLQGR XP 6RPDWyULR VXP
17. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
8
yGLJR IRQWH GH XPD TXHU
RPDQGRV 64/
RPDQGR )520
RPDQGR :+(5(
*5283 %
RPDQGR 25'(5 %
8VDQGR XPD TXHU D SDUWLU GH XP UHODWyULR
8VDQGR XPD TXHU D SDUWLU GH XP FRQWUROH WDEHOD WDEOH
18. 8VDQGR XPD TXHU D SDUWLU GD :/DQJXDJH
5(/$7Ï5,26
9RFDEXOiULR EiVLFR
Typeface: ....................................................................................................................................................147
Style............................................................................................................................................................147
)RQW
5HVROXomR GD LPSUHVVRUD
7DPDQKR SURSRULFRQDO RX IL[R
5HSRUW RX UHODWyULR
9LVmR JHUDO GH UHODWyULRV
Alguns exemplos de relatórios....................................................................................................................149
Relatórios a serem criados ..........................................................................................................................150
Criando seu primeiro relatório....................................................................................................................150
Criando o relatório: Lista de Clientes classificados por estado...............................................................150
Destino da impressão:.................................................................................................................................155
Selecionando um nível diferente de zoon a partir dos ícones .....................................................................156
Passo a passo...............................................................................................................................................156
ULDQGR 7DEHODV FUX]DGDV
Passo a Passo ..............................................................................................................................................162
8VDQGR FKHFN ER[HV HP UHODWyULRV
Montando o relatório ..................................................................................................................................164
5(/$7Ï5,26 86$1'2 352*5$0$d2 : ± /$1*8$*(
)XQomR L3UHYLHZ
)XQomR L3ULQW5HSRUW
19. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
9
352*5$0$d2
9LVmR *HUDO
8VDQGR XPD MDQHOD HP :/DQJXDJH
Abrindo e fechando uma janela. .................................................................................................................167
Abertura Modal...........................................................................................................................................168
Abertura não modal ....................................................................................................................................168
Minimizando uma janela.............................................................................................................................169
Uma janela em diversos estados de apresentação.......................................................................................169
Posicionando uma janela em relação a uma outra.......................................................................................170
([HPSORV
Programando exemplos de manipulaçãpo de múltiplas janelas livres (Não MDI). ....................................170
Detalhes do processo ..................................................................................................................................171
O que é um aliás..........................................................................................................................................171
Exemplo de programas de manipulação de Janelas MDI ...........................................................................172
$FHVVDQGR FRQWUROHV SURFHGXUHV H SURFHVVRV
7UDEDOKDQGR FRP DUTXLYRV H[WHUQRV
Operações em arquivos externos.................................................................................................................175
A respeito dos carcteres acentuados............................................................................................................175
Exemplos ....................................................................................................................................................175
,PSUHVVmR SHOR :/DQJXDJH
Capacidades de impressão da W-Language................................................................................................176
)(55$0(17$6 3$5$ *(5$5 *5È),26
Desenhando dentro de uma janela ..............................................................................................................178
Exemplos ....................................................................................................................................................179
Exemplo de um gráfico de pizza.................................................................................................................179
Quando usar list boxes gráficos ..................................................................................................................180
Programando list boxes gráficos.................................................................................................................180
Desenhando dentro de um list box gráfico..................................................................................................181
Mostrando uma imagem .............................................................................................................................181
Atualizando texto a partir de gráficos no List Box .....................................................................................182
,QGLUHFWLRQ
7LPHUV
Configurando um timer...............................................................................................................................184
3URJUDPDQGR HYHQWRV GH MDQHOD
Exemplos: ...................................................................................................................................................185
Detectando um click em uma lista..............................................................................................................186
Abra o projeto “ DEMO_Programming.WDP” localizado no diretório “ TutorialProgramming”. ....186
7UDEDOKDQGR FRP IXQo}HV GH GDWD H KRUD
Datas ...........................................................................................................................................................187
Em que dia estamos?...........................................................................................................................187
Que dia é este? comparando dia e mês .......................................................................................................187
Para comparar a saída de uma data, você deve usar as funções IntegertoDayInAlpha e
IntegertoMonthInAlpha . ....................................................................................................................187
Info(“ Julio 4th
1876 caiu em um(a) “ + Day)..............................................................................................188
20. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
10
Horas (Times) .............................................................................................................................................188
Que horas são?........................................................................................................................................188
Quanto tempo decorreu entre duas unidades de tempo?.............................................................................188
20321(17(6
9LVmR JHUDO
Time de Desenvolvedores (Desenvlvimento em grupo).............................................................................189
Grandes projetos .........................................................................................................................................189
Bancos de dados acessados por diversos projetos.......................................................................................189
Processamentos usados em diversos projetos .............................................................................................190
Possibilidade de se distribuir (free ou não) uma função ou um conjunto de funções. ................................190
Passo a passo...............................................................................................................................................190
2) Usando o componente ............................................................................................................................193
Distribuindo componentes ..........................................................................................................................195
Distribuição Simples...................................................................................................................................195
Distribuição profissional.............................................................................................................................195
352*5$0$d2 25,(17$'$ $ 2%-(726
ODVVHV
Objetos........................................................................................................................................................197
0HPEHUV
0pWRGR
Noções de Herança .....................................................................................................................................197
RQVWUXWRUHV H GHVWUXWRUHV
(QFDSVXODPHQWR
2 HQFDSVXODPHQWR DVVHJXUD TXH XPD SURSULHGDGH GR REMHWR QmR VHMD DFLGHQWDOPHQWH PRGLILFDGD SHODV
IXQo}HV PpWRGRV
21. TXH VmR H[WHUQRV SDUD R REMHWR
ULDQGR XP SURJUDPD 2ULHQWDGR D 2EMHWRV
'HFODUDQGR XPD FODVVH
Descrevendo métodos.................................................................................................................................199
Declarando e usando objetos ......................................................................................................................200
80/
'LDJUDPD GH ODVVHV
8VDQGR GLDJUDPV
;0/
([HPSOR
Usando um documento XML......................................................................................................................202
Lendo um documento XML........................................................................................................................203
22. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
11
Detectando o final do documento ...............................................................................................................203
Posicionando-se no nível do primeiro tag...................................................................................................204
Posicionando em um tag de um nível diferente. .........................................................................................204
5HFXSHUDQGR YDORUHV
Recuperando o nome da tag atual ...............................................................................................................205
Recuperanado o nome da tag atual .............................................................................................................205
Realizando buscas.......................................................................................................................................205
08/7, 7+5($',1*
'HILQLomR
2081,$d®(6
RPXQLFDo}HV FRP R :LQGHY
*HUHQFLDQGR HPDLOV
3URWRFROR 3236073
$EULQGR XPD VHVVmR GH (PDLO
(QYLDQGR XP HPDLO
/HQGR XP (PDLO
Como recuperar um anexo..........................................................................................................................210
'HVFRQHWDQGR
Outras póssibilidade....................................................................................................................................210
352722/2 '( 75$16)(5Ç1,$ '( $548,926 ± )73
RQH[DQGR D XP VHUYLGRU )73
(QYLDQGR XP DUTXLYR
5HFXSHUDQGR XP DUTXLYR D SDUWLU GH XP VHUYLGRU )73
Desconectando............................................................................................................................................212
6(59,d26 '$ :(%
$VSHFWRV WHyULFRV
SOAP padrão ..............................................................................................................................................212
3DVVR D SDVVR SDUD LPSRUWDU XP VHUYLoR GD :HE
Passo 1 ........................................................................................................................................................213
Passo 2 – Importando um serviço da Web..................................................................................................213
Usando a coleção de procedures.................................................................................................................216
Explorando os serviços da Web..................................................................................................................217
Criando um Serviço Web XML..................................................................................................................219
23. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
12
7Ï3,26 $9$1d$'26 '( 352*5$0$d2
,PSRUWDQGR HOHPHQWRV GH XP SURMHWR SDUD RXWUR SURMHWR
Exportando elementos.................................................................................................................................221
8VDQGR GLFLRQiULRV
Usando o dicionário....................................................................................................................................223
Criando e abrindo um dicionário ................................................................................................................223
Adicionando elementos do dicionário.........................................................................................................223
Gerenciando subscrições.............................................................................................................................223
Casos especiais: conflitos ...........................................................................................................................224
Reutilização dos elementos do dicionário...................................................................................................224
RQFHLWR GH GHVHQYROYLPHQWR HP JUXSR
8VDQGR GHVHQYROYLPHQWR HP JUXSR
Abrindo um elemento do projeto (janela, relatório e etc...) ........................................................................226
Localizando o estado de “ reservado” um elemento de projeto ...................................................................226
Finalizando as modificações de um elemento. Desfazendo a reserva.........................................................226
Testando um projeto ou criando um executável. ........................................................................................227
Diretos dos desenvolvedores.......................................................................................................................227
DVRV HVSHFLDLV
Desenvolvimento em equipe e moficação das análises...............................................................................228
Desenvolvimento em equipe e o salvamento de Projetos (opção Tools...Save) .........................................228
0yGXOR GH WHVWH
Usando restrições........................................................................................................................................229
8VDQGR R :'7HVW
Gravando um Script de Teste......................................................................................................................229
Execuntado um script..................................................................................................................................231
RQWUROHV GH MDQHODV
Como podemos duplicar um controle de janela no meu programa? ...........................................................232
Como trabalhar com os planos de uma janela.............................................................................................232
Como manipular os cliques em tabs de painéis ..........................................................................................233
Como mostrar o processamento de uma operação? ....................................................................................233
Como mostrar um site da Internet em uma janela?.....................................................................................233
Como alterar a cor do Título.......................................................................................................................233
Como tornar um botão invisível?................................................................................................................234
Como eu crio o menu principal de minha aplicação? .................................................................................234
Como posso ligar uma janela ao meu Menu principal? ..............................................................................234
Como posso fechar automaticamente uma janela depois de um certo tempo? ...........................................235
Como criar menus Popup?..........................................................................................................................235
Como posso modificar a aparência do mouse quando ele passa sobre um controle?..................................235
Como passar parâmetros para uma Janela?.................................................................................................236
Como passar parâmetros para para um programa executável usando a linha de comando? .......................236
Como agrupar controles que podem ter suas propriedades modificadas via programação? .......................236
Como transformar um controle do tipo check box em um botão de rádio? ................................................237
Como alinhar os controles?.........................................................................................................................237
Como deixar todos os botões do mesmo tamanho ao mesmo tempo..........................................................237
Como configurar uma imaem como fundo de uma janela?.........................................................................237
$PELHQWH GH 'HVHQYROYLPHQWR :LQGHY
24. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
13
Como mostrar ou esconder o painel Windev e o Kouglof? .......................................................................238
Oque são as janelas de ancoragem que aparecem no ambiente do Windev e para que são usadas?...........238
Como visualizar os elementos correspondentes ao processo que está sendo executado?...........................238
Como imprimir o meu código fonte?..........................................................................................................238
Como imprimir a documentação da análise? ..............................................................................................238
Como imprimir toda a documentação do meu projeto?..............................................................................238
Como importar uma janela para um projeto?..............................................................................................238
Como posso cirar um template?..................................................................................................................239
Como localizar e substituir uma variável no meu código? .........................................................................239
Como obter uma imagem da lista de tarefas do meu projeto? ....................................................................239
Como encontrar a lista de elementos de saída de meu projeto?..................................................................239
Como posso alterar a ordem de navegação dos controles da minha janela?...............................................239
Como visualizar a ordem de navegação dos controles de minha janela?....................................................240
Como posso setar ou cancelar o previw automatico de dados (live data)? .................................................240
Como mostrar o painel do Windev? ...........................................................................................................240
Como adicionar o suporte à idiomas estrangeiros no meu projeto?............................................................240
Como posso modificar as opções do Windev? ...........................................................................................240
0LVFHOkQHD
Como criar um site da internet dinâmico linkado aos meus dados? ..........................................................241
Como posso acessar o Word ou o Excell através dos recursos de automação OLE?..................................241
Como imprimir uma “ Hardcopy”?..............................................................................................................241
Como digitalizar um documento no Windev? ............................................................................................241
Como realizar compactação de dados com o Windev?...............................................................................242
Como ler e gravar no banco de dados do Registro do Windows?...............................................................242
Como ler e gravar em um arquivo .INI? .....................................................................................................242
Como desinstalar uma aplicação que foi construída usando o Windev?.....................................................242
Como criar um CD de Instalação do meu Sistema?....................................................................................242
Como criar um executável? ........................................................................................................................243
Como instalar uma aplicação desenvolvida com o Windev?......................................................................243
Como associar um icone ao meu executável?.............................................................................................243
Como associar um tela de splash ao meu executável..................................................................................243
Como colocar a minha aplicação na bandeja do Windows (Systray) .........................................................243
Como instalar um atalho na área de trabalho para a minha aplicação?.......................................................243
*HUHQFLDQGR DUTXLYRV H GLVFRV
Como listar todos os arquivos encontrados em um diretório? ....................................................................244
Como descobrir um tipo de hardware de armazenamento de dados? .........................................................244
Como copiar um arquivo?...........................................................................................................................244
Como criar um diretório?............................................................................................................................244
Como ler um arquivo de texto?...................................................................................................................244
Exemplo de uso fLoadText.........................................................................................................................245
FileContent is string............................................................................................................................245
Como posso usar o Windev para encriptr ou decriptar um arquivo de texto eficentemente? .....................245
Como construir um gráfico. ........................................................................................................................245
Como posso modificar as cores das seções de um gráfico..........................................................................245
Como modificar as fontes do título de um gráfico?....................................................................................245
Como habilitar um tooltip que mostrar os dados no gráfico? .....................................................................246
7DEOHV 7DEHODV
25. Como modificar a chave do bvrowse de uma tabela ligada um arquivo.....................................................246
Como imprimir o conteúdo de uma tabela? ................................................................................................246
Como modificar os itens armazenados em uma tabela ligada a um arquivo?.............................................246
Como enviar o conteúdo de uma tabela para o Excel? ...............................................................................247
Como enviar o conteúdo da tabela atual para o Word?...............................................................................247
Como exportar o conteúdo de uma tabela para um arquivo no formato XML?..........................................247
26. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
14
+SHU )LOH
Como posso desativar um integridade referencial ......................................................................................247
Como manipular um erro de duplicação quando estiver gravando para um arquivo..................................248
Como gerenciar um erro de integridade quando gravar ou excluir dados de um arquivo?.........................248
Como preencher um controle Treeview (árvore relacional) usando um arquivo? ......................................248
Como gerenciar uma chave composta quando realizar uma operação de busca? .......................................249
4XHULHV RQVXOWDV
27. Como adicionar ou modificar uma condição em uma Query?....................................................................250
Como adicionar ou modificar a ordem de classificação em uma query?....................................................250
Como preencher uma Treeview usando uma Query? .................................................................................250
Casos especiais para uma Query em linguagem SQL.................................................................................250
CustomerQuery is data source ............................................................................................................250
,PSUHVVmR
Como imprimir em formato HTML............................................................................................................251
RPXQLFDomR
Podemos enviar Faxes com o Windev? ......................................................................................................251
Como acessar dados em um Pal Pilot?........................................................................................................251
Como transferir arquivos usando FTP? ......................................................................................................252
Como enviar um email para alguém. ..........................................................................................................252
Como recuperar dados do meu Palm?.........................................................................................................252
3RUWDV
Como ler um código de barras? ..................................................................................................................252
Como ler os dados enviados por uma leitora de cartões magnéticos? ........................................................252
Como gerenciar uma Porta Serial?..............................................................................................................252
Como gerenciar uma porta Paralela? ..........................................................................................................252
RQFOXVmR
*ORVViULR
28. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
15
:LQ'HY TXDO VXD XWLOL]DomR
O WinDev 7.5 permite a voce criar, passo a passo, da concepção ao
desenvolvimento, todo o ciclo de vida de uma aplicação.
O ambiente do WinDev é semelhante à tela abaixo:
O WinDev 7.5 permite a voce criar aplicações que manipulem dados. As
aplicações feitas com WinDev acessam todos os bancos de dados, relacionais ou
não, disponiveis hoje. Todos os bancos de dados são suportados. O WinDev 7.5
vem com o Hyper File 7, um poderoso banco de dados relacional, já usado por
milhões de pessoas.
O WinDev7.5 oferece o mais poderoso, amigavel e integrado ambiente de
desenvolvimento disponivel no mercado.
O WinDev 7.5 window editor (editor de janelas) é 100% WYSIWYG. Ele permite a
voce criar facilmente janelas totalmente ligadas a seus dados.
$QWHV GH FRPHoDU
DUDFWHUtVWLFDV GR :LQ'HY
Nesta lição, voce fará sua primeira operação (não se preocupe, não sera dificil) no
WinDev.
Inicie o WinDev 7.5:
Selecione a opção Open an example.
31. Voce pode ver varios controles nesta window.
Para selecionar um texto ou imagem (controle) simplesmente clique nele com o
botao esquerdo do mouse.
Voce pode ver que a informação sobre o controle é mostrada na message bar
(barra de mensagens).
Esta informação corresponde ao nome do controle selecionado, sua localização
bem como o zoom do window editor.
Clicando duas vezes nesse controle, voce pode acessar todas as suas
characteristics: name, label, link to data file, etc.
32. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
18
Agora selecione o botão SQL code para ver o codigo associado a ele. Para fazer
isso:
Clique no controle SQL code . Este controle é chamado SQLCODE
Pressione a tecla [F2]. O codigo associado ao controle é mostrado no code editor
(editor de codigos).
RGH HGLWRU (GLWRU GH FRGLJRV
33. Todos os eventos são manipuláveis: click, double-click, key-pressed, mouse roll-
over, etc.
Para deixar a programação mais facil e legivel, cada palavra tem uma cor baseada
em seu tipo.
Por exemplo, na code window que voce acabou de abrir
• A palavra Open esta em azul: é uma funçao da W-Language.
• A palavra DEMO_InfoWin esta em verde: é um elemento do projeto.
• A frase SQL code generated esta em roxo: é o texto que sera mostrado na tela.
Tambem a um assistente para programação: quando o nome de uma função é
digitado, o tipo de parametro esperado para essa função é mostrado.
Cada controle, editor e função ou propriedade da W-Language esta na ajuda do
Windev.
'DWD PRGHO HGLWRU (GLWRU GH PRGHODJHP GH GDGRV
34. A analise é um importante
passo da aplicação. O
objetivo da analise é
descrever a estrutura dos
dados utilizados na
aplicação.
O data model editor
permite a voce criar seu
banco de dados, os
arquivos e os links entre
esses arquivos.
Vamos abrir a analise do
examplo WD7 Query.
Para fazer isso , selecione
a opção do menu Project
.. Load analysis.
Varios arquivos, com varios links, são mostrados nessa analise.
WinDev 7.5 permite a voce criar aplicações ligadas os dados usando o RAD tool
(menu: Project .. Rapid Application Development).
4XHU HGLWRU
O query editor permite que sejam criadas automaticamente queries simples e
complexas, basedas em arquivos. Isto simplicifica a programação: windows,
tables, combo boxes, reports, etc, podem ser baseadas em queries.
35. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
19
Vamos abrir uma query do exemplo DEMO_WD7 Query. Para fazer isso:
Selecione a opção File .. Open ...,
Selecione DEMO_CalculationQuery.WDR file.
Clique em Open.
O query editor é aberto:
Esta query mostra a renda total de uma companhia.
A base de dados para a query pode ser um banco de dados Hyper File ou outro
banco de dados: Oracle, MySQL, SQL Server, DB2, AS/400, Access, etc.
Apenas escolha os itens para integração, e coloque a condição de seleção usando
a “query creation wizard” (assistente para criação de queries). A query é
automaticamente criada.
Queries são manipuladas através de uma linguagem simples, o que torna as
futuras modificações muito mais fáceis.
Você não precisa conhecer
SQL para criar queries: o
codigo SQL é gerado
automaticamento pelo WinDev
Selecione o menu “option:
Query .. SQL code.
O codigo SQL gerado pelo WinDev é mostrado no query editor:
37. Vamos abrir um relatório do exemplo DEMO_WD7 Query. Para fazer isso:
Selecione a opção File .. Open ....
Selecione o arquivo DEMO_CalculationQueryReport.WDE .
Clique Open.
O report editor é aberto:
ULDU UHODWyULRV p WmR IDFLO TXDQWR FULDU ZLQGRZV
Voce pode utilizar a W-Language em todos os elementos do relatório: dessa
forma voce pode criar seus relatórios sem quaisquer problemas.
Voce tambem pode gerar relatórios em arquivos HTML, XML ou RTF!
+HOS HGLWRU HGLWRU GH DMXGD
38. O WinDev vem com um Help editor que permite a voce criar arquivos de ajuda
associados as suas aplicações. Você pode criar o help ao mesmo tempo em que
desenvolve sua aplicação.
6HWXS HGLWRU HGLWRU GH LQVWDODo}HV
39. O setup editor cria programas de instalação para CD‘s’ ou disketes, bem como
arquivos auto-extrativos (úteis para serem colocados para download na Internet).
A intalação desses arquivos é muito rapida.
Instalações na rede são automaticamente gerenciadas. Isto faz com que cada
esteja estação esteja sempre utilizando a ultima versão da aplicação.
Agora voce pode deu uma rapida olhada no ambiente do Windev 7.5. Voce esta
apto a explorar as caracteristicas do WinDev com mais detalhes lendo os
próximos capítulos desse tutorial.
40. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
21
-DQHODV
Para voce ter uma ideia do que vai ser feito , abra o WinDev 7.5, e clique na
opção ? no menu, então selecione Tutorial. No menu que será aberto
selecione a opção Getting familiar. No restante desse tutorial, as diferentes
opções de menu serão representadas por: Main menu .. Sub menu .. Option.
O programa inicia. A seguinte janela aparece
Observe as varias windows e menus desse programa.
Nessa lição voce verá como:
•Controlar um contador e um botão (Windows .. Counter)
•Digitar e mostrar um pedaço de texto (Windows .. Edit)
•Fazer calculo (Windows .. Edit)
•Mostrar uma imagem (Windows .. Image)
Nós iremos ver agora como criar esses elementos.
RPR FULDU XP SURMHWR
Para criar um projeto, selecione a opção File .. New .. Project. O assistente de
criação de projetos é
iniciado.
Clique Next.
Digite o nome do
projeto:
DEMO_Getting
Familiar. O nome do
projeto sera o nome com
o qual o arquivo do
projeto será salvo (com a
extensão .WDP).
O diretório default dos
projetos é: My
ProjectsDEMO_Getting
Familiar.
Este projeto será criado sem análise. Selecione No Analysis.
Clique Next
Clique Next
41. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
22
Voce agora escolhera a aparencia da aplicação. Selecione o template DEMO_
Citrus Fruit.
Clique Done
Selecione Go to WinDev Editor e confirme.
ULDQGR VXD SULPHLUD ZLQGRZ
Voce vai criar a seguinte window:
O contador será incrementado e decrementado usando-se os botões [ + ] e [ - ].
Você pode pensar que isso é muito simples, básico, mas nós recomendamos que
você crie essa window. Você pode se surpreender ao ver o quão fácil é usar o
WinDev editor. Além do mais, esta window vai ajudá-lo a conhecer alguns
princípios que são fundamentais no restante do tutorial
Para criar um window:
Clique no botão na barra de ferrementas do WinDev:
Selecione Window e clique no botão OK. O assistente para criação de
windows é iniciado.
Selecione Blank e escolha um template.
O WinDev 7.5 oferece uma grande opção de templates. Isso possibilita uma
grande variedade de visuais para sua aplicação.
Quase sempre, as aplicações feitas para serem rodadas no Windows são iguais;
uma window retangular, um fundo cinza, etc !
Com o WinDev, você pode selecionar o template de sua escolha entre vários
modelos. Suas windows, seus botões e seus relatórios são todos modificados
em poucos segundos!
42. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
23
Você pode inclusive criar seus próprios templates. Está é uma opção avançada do
WinDev. Para mais detalhes de uma olhada no help (palavra chave: Template).
6XD SULPHLUD DSOLFDomR
Selecione o template DEMO_ Citrus Fruit e clique no botão OK.
Agora vamos preencher as informações da window (nome, titulo, descrição).
Clique com o botão direito na window e selecione a opção Description .
Digite as seguintes informações:
2 QRPH OyJLFR GD :indow: Counter.
A descrição da window: Counter example.
O título da window: Counter.
O nome da window é o nome com o qual será salvo o arquivo dela em disco (com
a extensão WDW). Este nome tambem será usado em seus programas quando
trabalhando com a window.
Clique em OK para confirmar. O titulo sera mostrado na barra de titulos.
ULDQGR XP ERWmR XVDGR SDUD VDLU GH XPD ZLQGRZ
Para criar um botão para sair
Na barra de ferrementas
Clique no ícone
Mova o cursor do mouse através de sua window, o
desenho do botão aparece.
2. Clique na posição onde você quer criar o botão.
Digite a descrição do botão:
Clique no botão.
Digite a descrição Close.
Pressione a tecla [Enter].
43. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
24
Agora, tudo o que voce tem que fazer , é associar o codigo para fechar a window
ao botão. Este código é escrito na liguagem de programação do WinDev: a W-
Language.
Para digitar o código no botão:
Clique com o botão direito no botão e selecione a opção Code .
Digite o código Close em Click on Button1.
Close é a função da W-Language usada para fechar windows.
Código escrito em Inglês pode ser traduzido para francês e vice-versa. (Code ..
Code Language).
Como você pode ver a cor das letras vai mudando em quanto você digita. Isto
acontece por que o code editor muda as cores das palavras de acordo com a sua
natureza (azul para funções do WinDev, etc). Você pode mudar essas cores
usando a opção Display .. Code edit options.
Feche a code window (option File .. Close) e confirme a modificação.
Você pode facilmente mover o botão:
Clique com o botão esquerdo do mouse. Enquanto você pressiona o botão do
mouse, mova o mouse (e o controle) para a localizaçao que você deseja.
ULDQGR R FRQWDGRU
Para configurar o contador numérico, você criara:
•um controle onde o valor numerico será mostrado.
•Dois botões que serão utilizados para somar e subtrair do contador.
Para criar o edit control:clique em e mova o cursor do mouse pela window.
Clique duplo no
controle. A seguinte
window aparecerá.
Digite a informação
necessária:
Digite o nome Counter.
2. Digite a descrição Counter.
3. Modifique o tipo de controle para numérico.
4. O formato (Mascara de entrada e display na tela) é 999 999:
'
()0
44. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
25
• Este número pode ter até 6 digítos,
• mas sem casas decimais.
Nós queremos inicializar o contador. Para fazer isso, nós precisamos o conteúdo
do controle com o valor que nos desejamos. (Contents tab).
Muitos desenvolvedores tem que programar está operação, eles precisam
escrever uma linha de código para adicionar um valor a esse controle.
Com o WinDev não é necessário escrever nenhum código, este tipo de informação
é parte das caracteristicas do controle. Este controle pode ser inicializado usando
o tab Contents.
Clique no tab Contents e digite o valor inicial, por exemplo, 100.
É claro, como todos os controles do WinDev, você pode usar o método tradicional
e digitar a seguinte linha de código no controle “initialization code section”.
Counter = 100
Clique OK .
No editor, você ver que o controle contem o valor 100. Nos chamamos este
conceito de live data – “Dados diretos”: Você enxerga os dados em tempo real!
Você verá esse conceito novamente mais tarde quando ver operações com
arquivos.
Para criar o botão
Clique no ícone
Mova o cursor do mouse através da window para posicionar o controle.
Digite as informações do botão:
Clique com o botão direito no botão e selecione a opção Descrição .
Digite no nome do controle PLUSBUTTON.
Digite + na descrição.
Digite esse no código no processo click on PLUSBUTTON :
Counter = Counter + 1
Com está linha de código nós estamos adicionando 1 ao valor do controle counter.
O controle counter é controlado como uma variável.
1RWD TXDQGR YRFr FRPHoD D GLJLWDU RV SULPHLURV FDUDFWHUHV R :LQ'HY RIHUHFH
WRGRV RV WHUPRV GD :/DQJXDJH TXH FRPHFHP FRP DTXHOHV
FDUDFWHUHV $ DVVLVWHQFLD DR GHVHQYROYLPHQWR p PXLWR
VRILVWLFDGD 9RFH QmR FRPHWHUD HUURV TXDQGR GLJLWDU R QRPH GH
XP HOHPHQWR HUURV GH VQWD[ VmR UHGX]LGRV DR PLQLPR
SRVVtYHO 9RFH VLPSOHVPHQWH VHOHFLRQD D SDODYUD TXH TXHU H
SUHVVLRQD (QWHU@ 'HVVD IRUPD YRFH SRGH VH FRQFHQWUDU
WRWDOPHQWH QR DOJRULWLPR
E mais, o compilador detecta erros em tempo real e os mostra a você:
Fãs da linguagem C podem digitar:
RXQWHU
45. 7XWRULDO :LQGHY
3HGURVR ,QIRUPiWLFD
26
Para aqueles que não conhecem C, ++ indica o incremento de 1 unidade. Você
também pode digitar da seguinte maneira:
RXQWHU
O principio é o mesmo para o botão [ - ]. Coloque o nome do controle como
MINUSBUTTON. Digite esse código:
RXQWHU RXQWHU ±
Com está linha de código você está subtraindo 1 do controle Counter.
Vamos testar essa window:
Salve essas modificações clicando em (ou use a opção File ..
Save, ou na combinação [Ctrl]+[S]).
Clique no ícone GO (na opção Code .. Test window ou [F9]).
Teste os botões,e veja como os edit control mudam. Qualquer
desenvolvedor sabe que testar um programa pode ser uma tarefa longa.
Com o WinDev, você precisa de apenas UM CLIQUE para testar a window (ou
relatório) que você esta desenvolvendo. De maneira simples e rapida.
Clique no botão Close para fechar a window. O WinDev editor reaparece.
Nós terminamos nosso contador!
RQWURODQGR HQWUDGDV GH WH[WR
Agora vamos ver como trabalhar com um edit control.
Em uma nova janela, você criará um edit control, que será usado para se digitar
um nome, e um botão, que será usado para mostrar o nome digitado.
Para criar uma nova window:
Clique no icone
Selecione Window e clique no botão OK.
Selecione Blank, e o template DEMO_ Citrus Fruit e clique OK.
Clique com o botão direito na window e selecione a opção Description.
Nomeia a window e sua descrição como InputExample.
Salve a window.
Para criar o edit control:
Clique em
E o posicione na window
2.Clique com o botão direito no controle e selecione a opção “Description .
Nomeie o edit control como: INPUT1.
Especifique o tipo de texto.
Coloque a descrição como Firstname.