Dominando Progress

download Dominando Progress

of 302

Transcript of Dominando Progress

  • 5/21/2018 Dominando Progress

    1/302

    Escrito por Mrcio Brener - http:/ / www.geocities.com/marcio-brener

    Dominando o ProgressEscrito por Mrcio Brener Costa

    Reviso Tcnica

    Fernanda Magalhes Favilla

    Paulo Afonso Israel Freire

    Patrcia Alves de Freitas

    Daniela Martino dos Santos

    Agradeo a todos os meus amigos da CASSI pelo insentivo ecompanheirismo que sempre recebi para realizao desta obra.

    Obrigado em especial aos meus Amigos da juventude, GiulerAlberto, Jlio Pacheco e Roberto Catanhede e a minha famlia pelaajuda nos meus primeiros passos na descoberta do Mundo daInformtica.

    Um grande abrao para todos amigos de Braslia!.

  • 5/21/2018 Dominando Progress

    2/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    Faa o que certo ainda que seja o mais difcil.

  • 5/21/2018 Dominando Progress

    3/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    Copyright2000 Mrcio Brener

    Todos os direitos reservados para o autor desta obra.

    Toda ou qualquer parte desta publicao poder serreproduzida ou transmitida por qualquer meio, seja esteeletrnico, mecnico, de fotocpia, de gravao ou outrossem prvia autorizao, desde que citado o Autor (MrcioBrener Costa [email protected]).

    Progress, Report Builder, AppServer e WebSpeed so Marcas

    Registradas da ProgressSoftware Corporation EUA.

    IBM/DB2 Marca Registra da International Bussines Machine -IBM.

    Oracle Marca Registrada da OracleInc.

    Windows 3.11, Windows 95, Windows 98, Windows NT, Windows

    2000 so Marcas Registradas da Microsoft.

    NetTerm Marca Registrada da InterSoft International Inc.

    KeaX! Marca Registrada da Attachmate

    Vipper e PCase so Marcas Registradas da 4Tool Software

    OpenLink Marca Registrada da OpenLink

  • 5/21/2018 Dominando Progress

    4/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    ndice

    Captulo 1 ............................................................ 20Apresentando o Progress........................................ 20

    O que o Progress? .......................................................20

    Como funciona?..............................................................21

    Instalando o software.....................................................22

    Apresentando os aplicativos............................................26Captulo 2 ............................................................ 33

    Configurao do Produto ........................................ 33Configurao do Progress no Windows ...........................33

    O arquivo progress.ini ...................................................35

    Listagem do Arquivo progress.ini .................................... 36Configurando o Progress para UNIX................................42

    Variveis de ambiente ....................................................42

    Arquivos .........................................................................47

    Arquivos comuns .......................................................... 47

    Arquivos temporrios .................................................... 47

    Banco de Dados............................................................48

    Sesso cliente ..............................................................49

    Protocolos disponveis.....................................................49

    Captulo 3 ............................................................ 50

    Criando & Definindo os Dados................................. 50

    Criando um banco de dados ...........................................50

  • 5/21/2018 Dominando Progress

    5/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    Como funciona o Banco de Dados...................................52

    Criando tabelas, campos, ndices, etc..............................53

    Criando uma tabela.........................................................55

    Criando os campos .........................................................59

    Validando os Campos......................................................61

    A propriedade Validation................................................62

    Triggers..........................................................................63

    O que um Trigger?........................................................63Criando ndices ...............................................................65

    Aparncia do Campo (View-As).......................................69

    Sequences ......................................................................70

    O que so Sequences?...................................................70

    Como usar um Sequence?..............................................70Metaschema ...................................................................71

    O que o Metaschema?.................................................71

    Captulo 4 .............................................................73

    Aprendendo a linguagem.........................................73Desenvolvendo o cdigo .................................................73

    O primeiro programa.....................................................73

    Como fazer a interface com o usurio? ............................73

    Conectando o banco de dados ........................................74

    Aprendendo a sintaxe .....................................................77

    Definindo variveis........................................................77

    View-As .......................................................................83Definindo Frames..........................................................86

  • 5/21/2018 Dominando Progress

    6/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    Definindo Queries ...........................................................95

    O qu uma Query?.....................................................95

    BROWSES.......................................................................97

    Utilizando a Query no Browse ....................................... 103

    OPEN QUERY ............................................................. 103

    ASSIGN ..................................................................... 105

    Comandos de Impresso e Manipulao de Arquivos .... 106

    OUTPUT .................................................................... 106PARMETROS............................................................. 106

    INPUT ....................................................................... 110

    Eventos ........................................................................ 114

    Lista de Eventos ......................................................... 114

    Preprocessadores ......................................................... 143

    O que so preprocessadores?....................................... 143

    Utilizao................................................................... 143

    &SCOPED-DEFINE....................................................... 143

    &GLOBAL-DEFINE....................................................... 144

    &UNDEFINE ............................................................... 145

    DIRETIVAS PREPROCESSADAS ..................................... 145Operadores................................................................... 146

    &IF, &THEN, &ELSEIF, &ELSE, &ENDIF ......................... 146

    MESSAGE ..................................................................... 147

    PARMETROS............................................................. 147

    Criando MENUS ............................................................ 150MENU........................................................................ 150

  • 5/21/2018 Dominando Progress

    7/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    BOTES........................................................................155

    PARMETROS...............................................................159

    Importao e Exportao de Dados ..............................162

    Limites do Progress.......................................................163

    Banco de Dados..........................................................163

    VARIVEIS ................................................................. 164

    NOMENCLATURAS.......................................................165

    Funes........................................................................166ABSOLUTE ................................................................. 166

    ACCUM ...................................................................... 166

    ALIAS ........................................................................ 167

    AMBIGUOUS............................................................... 167

    ASC........................................................................... 168

    AVAILABLE................................................................. 168

    CAN-DO.....................................................................169

    CAN-FIND ..................................................................169

    CAN-QUERY ...............................................................170

    CAN-SET....................................................................171

    ENCODE.....................................................................171CHR...........................................................................172

    CODEPAGE-CONVERT..................................................172

    CONNECTED...............................................................173

    COUNT-OF ................................................................. 173

    CURRENT-CHANGED ...................................................174

    CURRENT-LANGUAGE..................................................175

  • 5/21/2018 Dominando Progress

    8/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    CURRENT-RESULT-ROW.............................................. 175

    CURRENT-ROW-MODIFIED .......................................... 176

    CURRENT-VALUE ........................................................ 176

    DATASERVERS ........................................................... 176

    DATE......................................................................... 176

    DAY .......................................................................... 177

    DBCODEPAGE............................................................. 177

    DBCOLLATION............................................................ 178DBNAME.................................................................... 178

    DBPARAM .................................................................. 178

    DBRESTRICTIONS....................................................... 179

    DBTASKID.................................................................. 179

    DBTYPE..................................................................... 180

    DBVERSION ............................................................... 180

    DECIMAL ................................................................... 181

    DEFINED ................................................................... 181

    DYNAMIC-FUNCTION .................................................. 182

    ENTERED................................................................... 183

    ENTRY....................................................................... 183ETIME ....................................................................... 184

    EXP........................................................................... 184

    EXTENT..................................................................... 184

    FILL .......................................................................... 185

    FIRST........................................................................ 185

    FIRST-OF................................................................... 186FRAME-COL................................................................ 187

  • 5/21/2018 Dominando Progress

    9/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    FRAME-DB..................................................................187

    FRAME-DOWN ............................................................187

    FRAME-FIELD .............................................................188

    FRAME-FILE ...............................................................188

    FRAME-INDEX ............................................................188

    FRAME-LINE...............................................................189

    FRAME-NAME.............................................................189

    FRAME-ROW ..............................................................189FRAME-VALUE ............................................................190

    GATEWAYS ................................................................190

    GET-BYTE ..................................................................190

    GET-CODEPAGES........................................................190

    GET-COLLATIONS.......................................................191

    GET-DOUBLE..............................................................191

    GET-FLOAT ................................................................192

    GET-LONG..................................................................192

    GET-POINTER-VALUE .................................................. 192

    GET-SHORT................................................................192

    GET-SIZE...................................................................192GET-STRING...............................................................193

    GET-UNSIGNED-SHORT...............................................193

    INDEX .......................................................................193

    INTEGER....................................................................193

    IS-ATTR-SPACE ..........................................................194

    KBLABEL....................................................................194KEYCODE...................................................................195

  • 5/21/2018 Dominando Progress

    10/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    KEYFUNCTION............................................................ 195

    KEYLABEL.................................................................. 196

    KEYWORD.................................................................. 197

    KEYWORD-ALL ........................................................... 197

    LAST ......................................................................... 197

    LASTKEY.................................................................... 198

    LAST-OF .................................................................... 198

    LC............................................................................. 198LDBNAME .................................................................. 198

    LEFT-TRIM................................................................. 199

    LENGTH..................................................................... 199

    LINE-COUNTER .......................................................... 199

    LIST-EVENTS.............................................................. 199

    LIST-QUERY-ATTRS .................................................... 200

    LIST-SET-ATTRS......................................................... 200

    LIST-WIDGETS........................................................... 200

    LOCKED..................................................................... 201

    LOG .......................................................................... 201

    LOOKUP..................................................................... 201MAXIMUM.................................................................. 202

    MESSAGE-LINES......................................................... 202

    MINIMUM .................................................................. 202

    MONTH ..................................................................... 203

    NEW.......................................................................... 203

    NEXT-VALUE .............................................................. 203NOT ENTERED............................................................ 203

  • 5/21/2018 Dominando Progress

    11/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    NUM-ALIASES.............................................................204

    NUM-DBS...................................................................204

    NUM-ENTRIES ............................................................204

    NUM-RESULTS............................................................205

    OPSYS .......................................................................205

    OS-DRIVES.................................................................206

    OS-ERROR ................................................................. 206

    OS-GETENV................................................................206PAGE-NUMBER ...........................................................207

    PAGE-SIZE ................................................................. 207

    PDBNAME ..................................................................207

    PROGRAM-NAME.........................................................208

    PROGRESS................................................................. 208

    PROMSGS ..................................................................208

    PROPATH...................................................................209

    PROVERSION..............................................................209

    QUERY-OFF-END.........................................................209

    RANDOM....................................................................210

    RECID........................................................................211RECORD-LENGTH........................................................212

    REPLACE....................................................................212

    RETRY .......................................................................213

    RETURN-VALUE ..........................................................214

    RIGHT-TRIM...............................................................214

    R-INDEX ....................................................................214ROUND......................................................................215

  • 5/21/2018 Dominando Progress

    12/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    ROWID...................................................................... 215

    SCREEN-LINES ........................................................... 215

    SDBNAME .................................................................. 215

    SEARCH..................................................................... 216

    SEEK ......................................................................... 216

    SETUSERID................................................................ 216

    SQRT ........................................................................ 216

    STRING ..................................................................... 217SUBSTITUTE .............................................................. 217

    SUBSTRING................................................................ 218

    TERMINAL ................................................................. 219

    TIME......................................................................... 219

    TODAY ...................................................................... 220

    TO-ROWID................................................................. 220

    TRANSACTION ........................................................... 220

    TRIM......................................................................... 221

    TRUNCATE................................................................. 221

    USERID ..................................................................... 221

    VALID-EVENT............................................................. 222VALID-HANDLE........................................................... 222

    WEEKDAY .................................................................. 222

    WIDGET-HANDLE ....................................................... 223

    YEAR......................................................................... 223

    Captulo n ...........................................................224

    Utilitrios & Parmetros do Banco de Dados Progress 224

  • 5/21/2018 Dominando Progress

    13/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    Utilitrios do Banco de Dados Progress .........................224

    PARMETROS.............................................................226

    Parmetro..................................................................230

    Descrio...................................................................230

    -1..............................................................................230

    -a arquivo ..................................................................230

    -aibufs n ....................................................................230

    -aistall .......................................................................231-b..............................................................................231

    -basekey texto ............................................................ 231

    -B n...........................................................................232

    -bibufs n ....................................................................232

    -brl............................................................................233

    -Bt n..........................................................................233

    -C qualificador ............................................................233

    -c n ...........................................................................233

    -cache arquivo ............................................................ 234

    -charset Cdigo de Pgina............................................234

    -checkdbe ..................................................................234-convmap arquivo........................................................234

    -cp parmetros ou arquivo ........................................... 235

    -cpcase tabela.............................................................235

    -cpcoll coleo ............................................................ 235

    -cpdb Cdigo Pgina....................................................236

    -cpinternal Cdigo Pgina ............................................. 236

  • 5/21/2018 Dominando Progress

    14/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    -cpprint Cdigo Pgina ................................................ 236

    -cprcodein Cdigo Pgina............................................. 236

    -cprcodeout Cdigo Pgina ........................................... 237

    -cpstream .................................................................. 237

    -cpterm ..................................................................... 237

    -cs n, i ....................................................................... 237

    -ct n .......................................................................... 238

    -d mdy....................................................................... 238-D n .......................................................................... 238

    -db banco de dados .................................................... 239

    -debug ...................................................................... 239

    -decdtm..................................................................... 239

    -dictexps.................................................................... 239

    -directio..................................................................... 240

    -dt ............................................................................ 240

    -E ............................................................................. 240

    -esqllog ..................................................................... 241

    -esqlnopad................................................................. 241

    -evtlevel parmetro ..................................................... 241-F.............................................................................. 241

    -fc n .......................................................................... 241

    -fldisable.................................................................... 242

    -g arquivo.................................................................. 242

    -G n .......................................................................... 242

    -h n........................................................................... 242-H servidor................................................................. 243

  • 5/21/2018 Dominando Progress

    15/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    -H servidor ................................................................. 243

    -hardlimit ...................................................................243

    -hs s..........................................................................243

    -i...............................................................................244

    -ininame arquivo ......................................................... 244

    -inp n ........................................................................245

    -is .............................................................................245

    -k..............................................................................245-L n ...........................................................................246

    -ld nome ....................................................................246

    -lng linguagem............................................................247

    -logfile arquivo............................................................247

    -logname arquivo ........................................................ 247

    -m1...........................................................................247

    -m2...........................................................................247

    -m3...........................................................................248

    -Ma n.........................................................................248

    -maxport n................................................................. 248

    -Mf n ......................................................................... 248-Mi n..........................................................................249

    -minport n..................................................................249

    -Mm n........................................................................249

    -mmax n....................................................................249

    -Mn ...........................................................................249

    -Mp n ........................................................................250-Mpb n.......................................................................250

  • 5/21/2018 Dominando Progress

    16/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    -Mr n......................................................................... 250

    -Mv n ........................................................................ 250

    -Mxs n ....................................................................... 250

    -n n........................................................................... 251

    -N protocolo............................................................... 251

    -nb n......................................................................... 251

    -Nd device ................................................................. 251

    -NL............................................................................ 252-Nn Cliente................................................................. 252

    -Nv n......................................................................... 252

    -o impressora............................................................. 252

    -p procedure .............................................................. 253

    -P senha .................................................................... 253

    -param texto .............................................................. 253

    -pf arquivo ................................................................. 253

    -plm.......................................................................... 253

    -pls ........................................................................... 254

    -populate................................................................... 254

    -pp diretrio............................................................... 254-pwqdelay.................................................................. 254

    -pwqmin n ................................................................. 254

    -pwscan n .................................................................. 255

    -pwsdelay n ............................................................... 255

    -pwwmax n................................................................ 255

    -q ............................................................................. 255-Q............................................................................. 256

  • 5/21/2018 Dominando Progress

    17/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    -Q2 ...........................................................................256

    -r ..............................................................................256

    -rand n ......................................................................256

    -rg.............................................................................257

    -RO ...........................................................................257

    -rptint n .....................................................................257

    -rq.............................................................................257

    -rr .............................................................................257-s n ...........................................................................258

    -S servio...................................................................258

    -Sn servio................................................................. 259

    -spin n.......................................................................259

    -stream Cdigo Pgina.................................................259

    -stsh n.......................................................................259

    -SYBc n......................................................................259

    -SYBt n ......................................................................260

    -t ..............................................................................260

    -T diretrio.................................................................260

    -TB n......................................................................... 260-TM n ........................................................................260

    -tok n ........................................................................261

    -trig diretrio..............................................................261

    -tstamp......................................................................261

    -usrcount n ................................................................261

    -U usurio..................................................................261-vw ...........................................................................262

  • 5/21/2018 Dominando Progress

    18/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    -VO verso................................................................. 262

    -v6colon .................................................................... 262

    -v6q .......................................................................... 262

    -xc coleo................................................................. 262

    -y.............................................................................. 263

    -yc ............................................................................ 263

    -yd............................................................................ 263

    -yx ............................................................................ 264-yy ano...................................................................... 265

    Banco de Dados MultiVolumes..............................266

    O que o banco multi-volumes?................................... 266

    Por que usar Banco Multi-Volumes? .............................. 267

    Criando a estrutura multi-volumes ................................ 268

    Formao do arquivo de estrutura ................................ 268

    Criando o Banco ........................................................... 269

    MAGNUS.............................................................272

    Apresentao................................................................ 272

    Como o MAGNUS funciona? .......................................... 272

    Lista de Diretrios do MAGNUS (principais).................... 273

    Funcionamento do MENU.............................................. 274

    Validando o acesso ao Programa .................................. 276

    Bancos Histricos ......................................................... 277

    Desenvolver em Windows para usar no UNIX... ............ 279

    Criar Bancos para Testes/Desenvolvimento................... 284Criando os bancos....................................................... 284

  • 5/21/2018 Dominando Progress

    19/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    UNIX AIX ...................................................................286

    Windows NT...............................................................287

    Utilizando zoom de cadastro Datasul.............................289

    Captulo n ...........................................................293

    Softwares, Utilitrios & Sites diversos......................293NetTerm .......................................................................293

    Configure as teclas de acordo com o MAGNUS................ 294

    Kea!X............................................................................295PCase ...........................................................................296

    Viper.............................................................................297

    ERWin ..........................................................................297

    Sites sobre Progress .....................................................299

  • 5/21/2018 Dominando Progress

    20/302

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    Captulo 1

    Apresentando o Progress

    O que o Progress?A linguagem Progress foi desenvolvida pela empresa

    Progress Software Corporation em 1984, inicialmentepara sistema operacional UNIX com uso em mainframespara processamento de grande volume de dados, comoalternativa para outras linguagens da poca como Cobol,Adabas, Natural, Clipper, etc, que exigiam doprogramador escrever um cdigo muito extenso paraqualquer aplicao. Tambm uma alternativa como Bancode Dados Relacional de alta performance e segurana,embutido em um nico produto.

    A Progress Corporation tem sua sede em Bedford,Massachusetts USA, com filiais em diversos pases. NoBrasil sua representante a Progress do Brasil/SP.

    Uma das maiores atrativos do Progress suaportabilidade e independncia de plataforma. Ele funcionaem praticamente todos os sistemas operacionaisexistentes como DOS, Windows 3x,95,NT, UNIX, OS/2,Novell, VMS, Motif, Xenix, CTOS entre diversos outros,isso utilizando o mesmo cdigo fonte.

    Seu Banco de Dados Relacional de altssimaperformance e extrema segurana, igual ou at mesmo

  • 5/21/2018 Dominando Progress

    21/302

    Apresentando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    21superior ao bancos mais populares do mercado comoOracle, DB/2 IBM, Sybase, MS-SQL Server, entre outros.

    A perfeita integrao entre linguagem e banco dedados fazem do Progress uma excelente ferramenta paraconstruo de qualquer aplicao comercial. Isso porqueas camadas de desenvolvimento - regras de negcios,dados e interface esto totalmente interligadas, o queevita qualquer redundncia ou retrabalho em qualquercamada da aplicao.

    A atualizao e distribuio dos aplicativos emProgress tambm bastante simplificada. Um sistemapode ser totalmente centralizado para acesso de vriosclientes simultneos e atualizado a qualquer tempo,parcialmente ou completamente sem gerar qualquer erroou necessitar de uma parada momentnea do sistema.

    Como funciona o Progress?O funcionamento do Progress bastante simples. A

    configurao tpica e mais comum a instalao earmazenamento centralizado do Progress servidor ecliente, bancos de dados e aplicaes em um servidordisponvel para acesso de diversos clientes em rede.

    H tambm diversas outras configuraes possveis parauma aplicao Progress: mltiplos servidores, bancos dedados distribudos entre servidores e/ou plataformasdistintas, como ser visto no captulo Arquiteturas deaplicao. A figura a seguir exemplifica melhor umaconfigurao mais simples.

  • 5/21/2018 Dominando Progress

    22/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    22

    Arquitetura deaplicao

    Servidor de rede cominstalao do Progressserver e client;Sesso multi-usuriodos bancos de dados;

    Aplicativos em Progress

    Instalando o software

    Ser apresentada a instalao do Provision para Windows

    Os pr-requisitos para instalao so apenas mdia(s) elicena(s) para comear a usar.

    Tela inicial de instalaoEste a primeira tela para instalao

    do Progress verso 8.x para sistemaoperacional Microsoft Windows95/98/NT

  • 5/21/2018 Dominando Progress

    23/302

    Apresentando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    23Ser preciso especificar na tela de instalao o

    Nome da Empresa, o Nmero de Srie e Cdigos de

    Controle para validar o produto e prosseguir a instalao.

    Voc pode tambm acrescentar outros produtos mesma instalao, especificando os nmeros de sries e

    validadores.Informe os dados e clique no boto Additional

    Products para acrescentar lista de programas,conforme mostrado na figura acima destacado em azul

    A prxima tela solicita a localizao para instalaodo Progress, voc pode especificar o drive o diretrio

    aonde sero copiados os arquivos. Por padro o diretriosugerido "DLC", mas voc pode alter-lo para outro desua escolha. Todos os dados informados na instalaosero includos na configurao do Progress contida noarquivo DLC/progress.cfg, o qual validar a execuo detodos os aplicativos Progress.

    JJ Como padro do Progress o diretrio DLC toda sualiteratura o cita por padro tambm. Ento saiba que a

  • 5/21/2018 Dominando Progress

    24/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    24nomenclatura DLC sempre se refere localizao deinstalao do Progress.

    A prxima tela solicita o grupo de programas a sercriado no servidor e o diretrio padro aonde o Progresssalvar arquivos de programas, temporrios entre outros.

  • 5/21/2018 Dominando Progress

    25/302

    Apresentando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    25

    Aps o trmino da instalao sero criados essescones no grupo de programas informado na instalao,como a figura abaixo:

    A figura acima demonstra os utilitrios do Progress

    Provision, um tipo de licena full da Progress similar porexemplo ao Microsoft Visual Basic Professional ou DelphiClient/Server.

  • 5/21/2018 Dominando Progress

    26/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    26

    Apresentando os aplicativos

    Desktop

    um aplicativo desenvolvido em Progress 4GLmodo grfico que apresenta os botes dosaplicativos Progress disponveis.

    Arquivo:_desk.p

    Procedure Editor

    Aplicativo em Progress 4GL para escrita do cdigofonte, execuo de procedures, debuger, compilao equalquer procedimento por meio de cdigo.

    Arquivo_edit.p

  • 5/21/2018 Dominando Progress

    27/302

    Apresentando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    27

    Data Administration

    Aplicativo desenvolvido em Progress 4GL paraadministrao e manuteno dos bancos de dados.

    Com ele voc pode:

    Criar, conectar e alterar definies de bancos de dados;

    Visualizar relatrios de estruturas de tabelas, campos,ndices;

    Definir segurana dos dados, salvar definies e contedo

    dos dados, editar parmetros, etc.Arquivo:_admin.p

  • 5/21/2018 Dominando Progress

    28/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    28

    Data Dictionary

    Com Dicionrio de Dados voc pode modelar aestrutura de tabelas, campos, ndices, seqncias etriggers.

    Tambm um aplicativo totalmente em Progress 4GL

    Arquivo:_dict.p

  • 5/21/2018 Dominando Progress

    29/302

    Apresentando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    29

    Application Compiler

    Como o prprio nome diz um aplicativo paracompilao de procedures (programas).

    Ele possibilita compilar um diretrio ou uma rvorede diretrios, especificar arquivos iniciados por uma sub-

    palavra ou apenas extenso, confirmar sobreposio deprocedures j existentes, etc.

    Tambm desenvolvido em Progress 4GL

    Arquivo:_comp.p

  • 5/21/2018 Dominando Progress

    30/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    30

    User Configuration

    Utilitrio desenvolvido em Progress 4GL para criaoe edio de scripts de conexo e/ou de inicializao doProgress.

    Arquivo:_script.p

  • 5/21/2018 Dominando Progress

    31/302

    Apresentando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    31

    Report Builder

    Utilitrio do Progress para criao de relatriototalmente grficos em MS-Windows.

    Com ele voc pode usar tabelas, inserir grficos,usar e criar funes definidas pelo usurio.

    Este aplicativo Progress disponvel apenas paraambiente MS-Windows 3.x/95 ou NT.

  • 5/21/2018 Dominando Progress

    32/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    32

    UIB (User Interface Builder)

    O User Inteface Builder um utilitrio desenvolvidoem Progress 4GL para edio rpida e grfica deprogramas baseados no Windows.

    Ele foi introduzido a partir da verso 7 paraWindows trazendo consigo diversas inovaes e conceitos

    quanto orientao a objetos, encapsulamento,polimorfismo e hereditriedade, como um incio paraentrada da linguagem Progress na Quarta Gerao, daProgress 4GL.

    Arquivo:_uib.p

    Este utilitrio no far parte da abordagem deste livro.

  • 5/21/2018 Dominando Progress

    33/302

    Captulo 2

    Configurao do Software

    Configurao do Progress no WindowsO Progress por abranger diversos sistemas

    operacionais tem algumas diferenas quanto configurao do ambiente para funcionar adequadamente.Por exemplo, em UNIX, MS-DOS e Novell asparametrizaes so estabelecidas por meio de linha decomando e definies de variveis de ambiente, noWindows 95 ou NT os parmetros so registrados pormeio de arquivos INIs, ou ainda na Registry como onovo padro introduzido pela verso 8.2 e superiores.

    A instalao do Progress 8.x para Windows grava asinformaes relativas s propriedades do aplicativo naRegistry do Windows, e tambm em arquivo INI chamadoprogress.ini como na verso 7.x, localizado no diretrioDLC/bin.

    As entradas na Registry estaro nos diretriosHKEY_CURRENT_USER ou HKEY_LOCAL_MACHINE nestaseqncia, na pasta Software, em uma sub-pastachamada PSC(Progress Software Corporation), conformemostra a figura abaixo:

  • 5/21/2018 Dominando Progress

    34/302

    Dominando o Progress34

    Configurao na Registry

    As configuraes contidas na Registry tambmesto no arquivo INI e podem ser usada para definir aspropriedades para o funcionamento e aparncia dasaplicaes.

    Voc tambm pode registrar as configuraescontidas em um arquivo INI para a Registry do Windowsde uma mquina cliente, atravs do um aplicativo emDLC\bin\ini2reg.exe, veja a figura a seguir:

  • 5/21/2018 Dominando Progress

    35/302

    Configurao do 35

    Inclui um arquivo INI na Registry do Windows

    O arquivo progress.ini

    Os parmetros V6Display, V6Colon, V6Frame,V6FKeys, V6Keys, DefaultFont FixedSys,DefaultFixedFont FixedSys definem uma aparnciapara a aplicao igual a utilizada na verso Progress 6,com tela na dimenso de 80 linhas por 21 colunas, reade mensagens e rea de status e fonte proporcional, de

  • 5/21/2018 Dominando Progress

    36/302

    Dominando o Progress36acordo com a configurao para funcionamento doMAGNUSverso I.

    Caso voc no conhea, o MAGNUS um Sistema deGesto Empresarial, o mais popular no Brasil.Desenvolvido totalmente em Progress pela Datasul,uma empresa brasileira sediada em Joinvile SantaCatarina.

    Listagem do Arquivo progress.ini

    [Startup]

    V6Display=no

    V6Colon=no

    V6Frame=no

    V6FKeys=no

    V6Keys=no

    ImmediateDisplay=yesMultitaskingInterval=100

    DefaultFont=FixedSysDefaultFixedFont=FixedSys

    DLC=C:\DLCUse-3D-Size=YesPROBUILD=C:\DLC\PROBUILDPROPATH=.,D:\MAGNUS,C:\DLC\PROBUILD\EUCAPP\EUC.PL,C:\DLC\PROBUILD\EUCAPP,C:\DLC\gui,C:\DLC,C:\DLC\binOLD-PROPATH=.,C:\DLC\PROBUILD\EUCAPP\EUC.PL,C:\DLC\PROBUILD\EUCAPPPROCFG=C:\DLC\PROGRESS.CFGPROMSGS=C:\DLC\PROMSGS

    PROMON=C:\TEMP\ESTAT.LST

    [Colors];********************************************************************; THE DEFINITION OF COLOR 0 THROUGH 15 IS PRIVATE TO THE PROGRESS ADE.; MODIFYING COLORS 0 THROUGH 15 MAY PREVENT THE PROGRESS ADE FROM RUNNING.

    ; The following color definitions correspond to the ADE standards.; 0 to 15 - reservedcolor0=0,0,0color1=0,0,128color2=0,128,0

    color3=0,128,128color4=128,0,0color5=128,0,128

  • 5/21/2018 Dominando Progress

    37/302

    Configurao do 37color6=128,128,0color7=128,128,128color8=192,192,192

    color9=0,0,255color10=0,255,0color11=0,255,255color12=255,0,0color13=255,0,255color14=255,255,0color15=255,255,255color16=255,255,0

    NORMAL=0,15

    INPUT=15,0MESSAGES=15,1

    [Default Window]

    ;x=;y=;rows=;columns=

    [fonts]

    ;***********************************************************************; THE DEFINITION OF FONT 0 THROUGH 7 IS PRIVATE TO THE PROGRESS ADE.; MODIFYING FONTS 0 THROUGH 7 MAY PREVENT THE PROGRESS ADE FROM RUNNING.; The following fonts definitions correspond to the ADE standards.; ? - DefaultFont from Startup Section; 0 - DefaultFixedFont from Startup Section (1 char per PPU); 1 - Proportional System Font; 2 - Editor Font for 4GL program entry; 3 - TTY Simulator (should be fixed); 4 - Dynamically-sized widgets, eg status-line, selection-list; 5 - Static widgets, eg. combo-boxes; 6 - Dynamic, bold (TranMan2); 7 - Reserved

    font0=Courier New, size=8font1=MS Sans Serif, size=8font2=Courier New, size=8font3=Courier New, size=8font4=MS Sans Serif, size=8font5=MS Sans Serif, size=10font6=MS Sans Serif, size=8, boldfont7=MS Sans Serif, size=8font8=Courier New, size=12font9=MS Sans Serif, size=8

    font10=Garamond, size=20font11=MS Sans Serif, size=8

  • 5/21/2018 Dominando Progress

    38/302

    Dominando o Progress38[WinChar Startup]

    DLC=C:\DLCPROBUILD=C:\DLC\PROBUILD

    PROPATH=.,C:\DLC\PROBUILD\EUCAPP\EUC.PL,C:\DLC\PROBUILD\EUCAPP;DLC=;PROCFG=;PROMSGS=;PROPATH=

    [WinChar Colors]

    color0=WHITE/BLUE "NORMAL"color1=BLACK/GRAY "INPUT, UNDERLINE"color2=BLACK/GRAY "MESSAGES, REVERSE"

    color3=BLUE/WHITE "HIGHLITE, HELP"color4=BLINK-RED/WHITE "URGENT"

    ;NORMAL=WHITE/BLUE;INPUT=BLACK/GRAY;MESSAGES=BLACK/GRAY

    [WinChar Default Window]

    ;rows=25;rows=50

    [WinChar Keys]

    ;GO=F1,CTRL-X

    [Debug-Init];******************************************************************************; THE FOLLOWING INFORMATION IS PRIVATE TO THE DEBUGGER. IT SHOULD NEVER BE; MODIFIED EXCEPT BY THE DEBUGGER PROGRAM.

    Location=1,146,15,460,464Pane0=1,46," "Pane1=1,14,""

    Pane2=1,16,"Commands in Queue: 0"Pane3=1,25,""DebuggerName=PRODEBUG.EXE

    [Debug-Macros]

    Macro0=r, run &fileMacro1=c, continueMacro2=s, stepMacro3=n, nextMacro4=b, break &file &line

    Macro5=cb, cancel break &file &lineMacro6=sb, show breaksMacro7=ss, show stack

  • 5/21/2018 Dominando Progress

    39/302

    Configurao do 39Macro8=u, upMacro9=d, downMacro10=di, display &text

    Macro11=sm, show macros

    [Debug-Buttons]

    Button0=Run,run &fileButton1=Cont,continueButton2=Step,stepButton3=Next,nextButton4=Break,break &file &lineButton5=Stack,show stackButton6=Up,up

    Button7=Down,downButton8=Disp,display &textButton9=Exit,exit

    [ProADE]

    ;DividerFgColor=15;DividerBgColor=1;OKBoxFgColor=1;OKBoxBgColor=8;FillinFgColor=0

    ;FillinBgColor=8;Editor4GLFgColor=DEFAULT;Editor4GLBgColor=DEFAULT;Editor4GLFgSmallColor=0;Editor4GLBgSmallColor=8;FixedFont=0;StandardFont=1;Editor4GLFont=2;EditorTabStop=4

    [Proedit]SaveSettings=yesBufList=ExitWarning=yesSaveBufList=noMinimizeBeforeRun=noRestoreAfterRun=yesPauseAfterRun=yesAutoCleanup=yesEditorFont=8

    New=SHIFT-F3Open=F3Close=F8

  • 5/21/2018 Dominando Progress

    40/302

    Dominando o Progress40NewProcedureWindow=CTRL-F3Save=F6SaveAs=SHIFT-F6

    Undo=CTRL-ZCut=CTRL-XCopy=CTRL-CPaste=CTRL-VFind=CTRL-FFindNext=F9FindPrevious=SHIFT-F9Replace=CTRL-RGotoLine=CTRL-GList=CTRL-L

    NextBuffer=F7PreviousBuffer=SHIFT-F7Run=F1CheckSyntax=SHIFT-F2Debug=SHIFT-F4CompilerMessages=CTRL-E

    [RBStartup]

    ;RBSTARTUP=

    [ReportBuilderSaveList]ActionBar=1FormatBar=1FieldNames=0SortFieldNames=0ShowHiddenTables=0PasteArgs=1ShHzRul=1ShVtRul=1ShGrd=1

    Maximize=1NotFirstTime=1Library=Report=Teste

    [ReportBuilderPreferences]

    InstantRep=2PromptFields=1ScrBarHz=1ScrBarVt=1

    PromptConnection=0

    [ReportBuilderDefaults]

  • 5/21/2018 Dominando Progress

    41/302

    Configurao do 41DefMeas=1PgLM=1BotM=50

    LeftM=50RightM=50TopM=50RulPit=10VRulPit=10Pts=120SnapTo=1Color=0WidthRep=1WidthColor=8

    FaceName=ArialLogF=NoLogT=YesLibDir=DatabaseDir=ImgDir=UDFDirectory=MemExt=TXTImgExt=BMPImageQuality=0

    [uib]

    [Procomp]

    SaveSettings=yesFileSpec01=.,*.p *.wDefFileSpec=*.p *.wLogFile=compile.logShowStatus=yesRemoveOldRs=yes

    IfNoR=noSubDirs=yesSaveNewRs=yesXrefAppend=noListAppend=noPageLength=60PageWidth=80V6Frame=yesStreamIO=no

    A listagem acima a utilizada para o funcionamentodo MAGNUS verso I em Windows.

  • 5/21/2018 Dominando Progress

    42/302

    Dominando o Progress42

    Configurando o Progress para UNIX

    Aps a instalao por meio de fita ou CD, apenasedite a(s) profile(s) setando as variveis de ambiente.

    Exemplo de script

    TERM=vt220 ; export TERMDLC=/sistemas/dlc ; export DLCPATH=/usr/bin:$DLC:$DLC/bin:/sistemas/magnus ; export PATHPROCFG=$DLC/progress.cfg ; export PROCFG

    PROMSGS=$DLC/promsgs ; export PROMSGSPROPATH=$DLC,$DLC/bin,$DLC/tty,/sistemas/magnusexport PROPATH$DLC/bin/mpro pf magnus.pf

    Variveis de ambiente

    Varivel Definio

    ACCESS Especifica quem ter permisso noProControl em ambiente Windows NT

    Exemplo

    ACCESS=Administrator

    DLC Informa a localizao da instalao do

    ProgressExemplo

    SET DLC=C:\DLC (DOS/Windows)

    DLC=/app/dlc ; export DLC (UNIX)

    DLCRES Informa a localizao do aplicativoProgress Results

  • 5/21/2018 Dominando Progress

    43/302

    Configurao do 43

    Exemplo

    DLC=/usr/myres ; export DLCEVTLEVEL Especifica o nvel de informaes a serem

    gravadas no Event Log em Windows NT

    Parmetros

    NONE - nenhuma informao;

    BRIEF- apenas erros e alertas;

    NORMAL - erros, alertas e os mesmosgravados no arquivo .lg;

    FULL- todas mensagens

    Exemplo

    EVTLEVEL=BRIEF

    PATH Lista de diretrios para uso do SistemaOperacional

    Exemplo

    (UNIX)PATH=$PATH:$DLC:$DLC/bin:/magnus:/rhplus

    export PATH

    (DOS/Windows)SET PATH=%PATH%;%DLC%;%DLC%/bin;M:\MAGNUS;M:\RHPLUS

    PROAPSV Localizao do executvel do ProgressApplication Server

    Exemplo

    PROAPSV=/$DLC/bin/_proapsv (UNIX)

    PROAPSV=%$DLC%\bin\_proapsv.exe (Windows NT)

  • 5/21/2018 Dominando Progress

    44/302

    Dominando o Progress44

    PROCFG Localizao do arquivo de configuraodo Progress

    Exemplo

    PROCFG=C:\DLC\PROGRESS.CFG

    PROCONV Localizado arquivo de Cdigos dePginas a ser utilizado na sesso cliente

    Exemplo

    PROCONV=C:\DLC\CONVMAP.CP

    PROEXE Localizao do arquivo executvel doProgress

    Exemplo

    SET PROEXE=c:\dlc\prowin32.exe

    PROLOAD Localizao do diretrio de instalao doaplicativo ProBuild

    Exemplo

    SET PROLOAD=%DLC%\probuildPROMSGS Localizao do arquivo de mensagens

    Progress

    Exemplo

    PROMSGS=$DLC/prolang/promsgs.por

    (arquivo de mensagens em portugus)

  • 5/21/2018 Dominando Progress

    45/302

    Configurao do 45

    PROPATH Lista de diretrios a ser utilizado pelasesso Progress

    Exemplo

    (DOS/Windows)SET PROPATH=%PATH%;%DLC%;%DLC%\BIN;M:\MAGNUS

    (UNIX)PROPATH=/usr/bin:$PATH:$DLC:$DLC/bin:/magnusexport PROPATH

    PROSRV Localizao do arquivo executvel doservidor de dados

    Exemplo

    PROSVR=%DLC%\bin\_mprosrv.exe(DOS/Windows)

    PROSTARTUP Define o arquivo de parmetros (.pf) aser usado como padro pela sessoProgress, caso omitido o padroassumido ser o arquivo startup.pf dentrodo diretrio do Progress.

    Exemplo

    (DOS/Windows)

    PROSTARTUP=M:\magnus\magnus.pf

    (UNIX)PROSTARTUP=/magnus/magnus.pfexport PROSTARTUP

    PROTERMCAP Define o arquivo de configurao determinal para sesso em ambientecaracter. Caso omitido ser assumido

    como padro o arquivo proterm dentro dodiretrio do Progress

  • 5/21/2018 Dominando Progress

    46/302

    Dominando o Progress46

    Exemplo

    PROTERMCAP=$DLC/protermcap ; export PROTERMCAPTERM Define o tipo de terminal de uma sesso

    cliente

    Exemplo

    (UNIX)TERM=vt200 ; export TERM

    PROMON Define o arquivo para gravao deestatsticas de programas

    II Lembre-se que em UNIX as variveis so case-sensitive, isto , h distino entre maisculas eminscula, como tambm para o valores das variveis!

  • 5/21/2018 Dominando Progress

    47/302

    Configurao do 47

    Arquivos

    Arquivos comuns

    progress.cfg Configurao do Progress

    PROMSGS Mensagens do Progress

    .pf Parmetros sesso servidor/cliente

    .cp Definio de Cdigos de Pgina

    .df Definio de estrutura de bancos/tabelas

    .d Dados de tabelas

    .fd Descries do Bulk loader

    .csh Contedo ou cache do Metaschema

    .rpt Licena de uso de relatrios

    .v Validao

    .pl Biblioteca de procedures

    Arquivos temporrios

    .lbi Before-Image local de transaes

    .dbi Definies de tabelas temporrias

    .ped Procedures temporrias

    JJ Quando voc edita uma procedure,

  • 5/21/2018 Dominando Progress

    48/302

    Dominando o Progress48seja no Procedure Editor ou UIB asalteraes so salvas em um arquivo

    temporrio com extenso .PED nodiretrio temporrio definido nasesso a cada execuo da mesma.Ento se houver algum problema e asesso seja incerrada sem que antesvoc salve suas alteraes, procureno diretrio temporrio os arquivos.PED, um deles contm a procedure

    at o momento da ltima execuo.

    .srt Organizao de registros.

    Geralmente criado quando ordenadocampos que no sejam indexados.

    .trp Definies do Dicionrio de Dados

    temporrias, antes de serem confirmadas(Commit) no banco.

    Banco de Dados

    .db Banco de Dados

    .dn Arquivo extendido de bancomultivolumes

    .bi Before-Image

    .bn Arquivo extendido do Before-Imagemultivolumes

    .ai AfterImage

    .na Arquivo extendido do After-Image

  • 5/21/2018 Dominando Progress

    49/302

    Configurao do 49multivolumes

    .lg Log de eventos do Banco

    .lk Lock de conexo do Banco

    .tl Log de transaes

    .ds Descrio de estruturas

    Sesso cliente

    .p Procedure

    .w Procedure UIB (Windows)

    .i Arquivo include

    Protocolos disponveisNETBIOS TCP/IP

    SNA DECnet

    SPX TLI

    WIPC (Servidor/ClienteWindows) DDE

    CTOS

  • 5/21/2018 Dominando Progress

    50/302

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    Captulo 3

    Criando & Definindo osDados

    Criando um banco de dados

    Existem trs maneiras de criar um banco de dados emProgress, como ser mostrado baixo:

    1No Data Administrator menu Database opo Create,ento informe a localizao e o nome do novo bancode dados a ser criado.

  • 5/21/2018 Dominando Progress

    51/302

    Criando & Definindo os Dados

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    51Voc tem a opo criar um banco de dados vazio, umacpia do sports (um banco de exemplo do Progress)

    ou a partir de um outra j existente.2 Atravs de utilitrio de banco de dados ProDB, em

    linha de comando.

    Exemplo:

    C:\DLC\bin\prodb.exe cadastro

    Ento ser solicitado a partir de qual banco de dadosser criado, com as mesma opes do DataAdministration, conforme abaixo:

    C:\ARQUIVOS>C:\DLC\BIN\PRODB cadastrodemo to get the system demonstration database, orsports to get the sports demonstration database, orisportsto get the international sports database, orempty to get the system empty database, or

    anynameto get a copy of that database. :

    Lembre-se que a varivel de ambiente DLC deve estarconfigurada adequadamente para pode criar o novobanco de dados.

    3 Por cdigo fonte no Procedure Editor, conforme ocdigo abaixo:

    create database "c:\arquivos\cadastro" replace no-error.

  • 5/21/2018 Dominando Progress

    52/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    52

    Como funciona o Banco de Dados

    Em Progress o bancode dados constitudode, pelo menos, doisarquivos bsicos, oprprio Banco de Dadoscom extenso DB e oControle de Transaescom extenso BI(Before-Image).

    Estes dois arquivos funcionam em conjunto paragerenciar todos as solicitaes dos aplicativos a elesligados.

    O arquivo de "Image Anterior" (Before Image) tem um

    papel importantssimo de assegura a total e completaintegridade fsica e referencial dos dados, como porexemplo ndices, validaes, tipos e formatos atravs do"ENGINE DATABASE" e confirmar estas transaes paragravao e/ou deleo no banco de dados aps umacompleta consistncia dos dados existentes.

    Os mtodos para criao de um banco de dadosmostrados se aplicam apenas para Bancos de Volumenico ou Simples, existem tcnicas em Progress maissofisticadas para criao de bancos de dados emMltiplos Volumes, conforme ser mostrado no captuloPerformance.

  • 5/21/2018 Dominando Progress

    53/302

    Criando & Definindo os Dados

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    53

    Criando tabelas, campos, ndices, etc

    Para modelagem de dados utilizado o aplicativo DataDictionary que pode ser executado de diversos modos,por meio de linha de comando ou menu.

    Linha de comando: DLC/bin/prowin32.exe p _dict.p

    Sempre que informado uma localizao de aplicativopara o Progress esta ser apresentada com barrainvertida, como padro do UNIX e tambm padroProgress, ainda que em Windows.

    ProWin32 refere-se apenas ao Progress em ambientegrfico(MS-Windows, OSF/Motif e outros).

    No Procedure Editor escolha o menu Tools opo DataDictionary.A figura abaixo descreve cada detalhe doutilitrio.

  • 5/21/2018 Dominando Progress

    54/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    54

    Habilita a manipulaes dos bancos de dadosconectados, conforme a listagem Databases;

    Habilita a manipulao de tabelas, conforme o bancode dados selecionado na listagem Databases;

    Habilita a manipulao de SEQUENCESpara o bancode dados selecionado. Ser explicado o Sequenceneste captulo;

    Habilita a edio de tabelas conforme o banco dedados selecionado;

    Habilita a edio de ndices conforme a tabelaselecionada na listagem Tables;

    Disponibiliza as opes conforme os itens acimaescolhidos.

  • 5/21/2018 Dominando Progress

    55/302

    Criando & Definindo os Dados

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    55

    Criando uma tabela

    A figura abaixo mostra a janela de propriedades da tabelano Data Dictionary.

  • 5/21/2018 Dominando Progress

    56/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    56

    As propriedades abaixo definem cada opo da figuraanterior.

    Propriedade Descrio

    Table Name Define o nome da tabela a ser criada.

    Este nome deve ser iniciado por uma letrade A a Z, com no mximo 32 caracteres eno conter nenhum caracter invlido, tipo

    asterisco, vrgula, parnteses, entre outros

    II No Progress voc pode inserir "-"(hfen) para nomear tabelas, campos,variveis e outros.

    Dump File Informa o nome do arquivo de DUMP para

    exportao das definies e dos dados databela.

    Este nome poder ter at 8 caracteresalfanumricos e tambm no deveapresentar sinais invlidos noreconhecidos para o nome de arquivo, deacordo com os princpios dos Sistemas

    Operacionais em geral, exemplo(*,?,%,&,etc).

    Independente da plataforma oarquivo para DUMP ser sempretamanho 8 e por padro o Progressao exportar o arquivo definir aextenso D(arquivo de dados =

    dump.d) e DF(arquivo de definies =dum .df . Isso ara manter

  • 5/21/2018 Dominando Progress

    57/302

    Criando & Definindo os Dados

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    57compatibilidade do banco de dadoscaso seja mudado para outro sistema

    operacional.

    Hidden Oculta a tabela da listagem. Esta opono disponvel no momento de criao,mas pode ser selecionada aps aconfirmao de gravao da tabela nobanco.

    Frozen Voc pode congelar as definies da tabelaaps a concluso e gravao no banco dedados.

    Label Define um nome de at 30 caracteresquaisquer para exibio de informaes deavisos ou erros para a tabela em tempo deexecuo do aplicativo, como por exemplo

    a informao de travamento de umatabela por outro usurio, exemplo:

    Tabela customer tem o label Customer, oqual ser mostrado no aviso, conforme afigura abaixo:

    Description Texto descritivo para informaes ouanotaes a respeito da tabela.

  • 5/21/2018 Dominando Progress

    58/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    58

    Replication Informa uma outra tabela destino que ser

    espelho desta tabela.

  • 5/21/2018 Dominando Progress

    59/302

    Criando & Definindo os Dados

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    59

    Criando os campos

    A figura abaixo mostra as propriedades para a criao deum campo.

    Propriedade Descrio

    Field Name Nome do campo com at 32 caracteresalfanumricos, sem acentos ou sinaisinvlidos.

    Data Type Define o tipo de dado do campo em:INTEGER, DECIMAL, CHARACTER,LOGICAL, DATE, RAW ou RECID.

  • 5/21/2018 Dominando Progress

    60/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    60

    II Aps o campo ser criado o Tipo deDado no poder ser alterado,como tambm no poder serremovido caso exista algum ndiceda tabela a que partena.

    Format Define um formato ou mscara deacordo com o tipo de dado para entradae visualizao do campo.

    Exemplos:->>>,>>9.99 (DECIMAL)999 (INTEGER)99/99/9999 (DATE)Masculino/Feminino (LOGICAL yes/no)

    Label Define um texto informativo a serexibido com o campo, tanto para

    apresentao em coluna, lateral etambm em informaes como regrasde ndices e outros.

    Column Label Define um texto informativo paraapresentao quando em coluna.

    Initial Value Atribui um valor inicial para o campo

    aps o registro ser criado.

    Order Define ama ordem do campo dentro databela.

    Por padro esta ordem incrementadade 10 em 10 e no pode repetir, maspode ser alterada e conter qualquer

    intervalo de nmero inteiro.Decimals Define o nmero de casas decimais num

  • 5/21/2018 Dominando Progress

    61/302

    Criando & Definindo os Dados

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    61limite de 10 e mnimo de 0 para dadosdo tipo DECIMAL

    Description Texto descritivo ou informativo para ocampo.

    Help Text Informa um texto de Ajuda ouInformao sobre o campo para serexibido na rea de status da aplicaoquando este estiver sendo editado.

    Mandatory Define o preenchimento de um campocomo obrigatrio.

    Case-Sensitive Informa que um campo tipoCHARACTER far distino entre letrasmaisculas e minsculas se utilizado emum ndice ou para uma comparao.

    Extent Define o campo como um array de nelementos, nomendo-os como:

    CAMPO[n elemento]

    II Esta propriedade do campo nopoder ser alterada aps o campo

    criado!

    Validando os Campos

    Voc pode validar os dados e eventos para umcampo atravs da propriedade Validation ou por meio deTriggers.

  • 5/21/2018 Dominando Progress

    62/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    62

    A propriedade Validation

    O meio mais fcil e rpido para validao apropriedade Validation do campo.

    Voc especifica as clusulas de validao paravalores permitidos e uma mensagem de retorno a serinformada para o usurio caso as clusulas no sejamsatisfeitas, conforme a prxima figura demonstra.

    As verificaes so executadas durante aatualizao do campo com o "feedback" de mensagens ehelp deste para o usurio, mostrados na barra de statusna janela da aplicao.

    JJ Voc pode, tambm, incluir uma Include na validaodo campo. Exemplo: {inc/empresa.inc}, esta Includedeve retornar um erro para a validao do campo,

    RETURN ERROR, caso as condies no foremsatisfeitas!

  • 5/21/2018 Dominando Progress

    63/302

    Criando & Definindo os Dados

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    63

    Validao doCampo

    A validao permiteapenas a gravaose o usurio for Admou Super, casocontrrio informa aousurio "Usuarioinvalido! Apenaspermitido para Admou Super".

    Triggers

    O que um Trigger?

    Um Trigger, como na prpria traduo da palavra, um "gatilho" que disparado para eventos da tabela oucampo como CREATE, UPDATE e DELETE, e a partir daverso 8 do Progress estes mesmos eventos paraReplicao de dados.

    O Trigger um mecanismo mais sofisticado ecompleto para validao de CAMPOS ou TABELAS. Ele uma procedure em Progress, um arquivo a parte do bancode dados que disparado para os eventos de CRIAO,DELECO de uma tabela ou ATUALIZAO de um campo.

    II Os Triggers em Progress so arquivos no armazenadosno banco de dados. As informaes armazenadas soapenas localizao e verificao do contedo aocontrrio de outros bancos como MS-SQL Server, DB/2ou Oracle. Ento sempre mantenha os Trigger bemarmazenados e seguros!

    A prxima tela exemplifica a sintaxe de um Trigger.

  • 5/21/2018 Dominando Progress

    64/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    64

    Propriedades do Trigger

    Evento/Propriedade Descrio

    Event Define qual o evento executara otrigger: ASSIGN, DELETE ouUPDATE

    Procedure Informa o arquivo do Trigger

    JJ Use sempre a localizaodefinida pelo PROPATH combarra do ti o UNIX

  • 5/21/2018 Dominando Progress

    65/302

    Criando & Definindo os Dados

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    65exemplo: inc/cliente.p

    Check CRC Verifica se o Trigger foi alteradodepois de definido no banco dedados.

    Overridable Informe se o Trigger pode sereditado ou modificado mesmodurante utilizao.

    II A ordem de execuo dos procedimentos no banco dedados Progress : Validao do Campo (Validation),Trigger do Campo e Trigger da Tabela do banco dedados, respectivamente nesta ordem.

    Criando ndices

  • 5/21/2018 Dominando Progress

    66/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    66

    A criao, bem como a manuteno de ndices emProgress totalmente simplificada. Ao contrrio de outrosbancos de dados como MS-SQL Server, por exemplo, vocno precisa especificar diversos parmetros e atributoscomo taxa de crescimento, organizao fsica, e outrosapenas atributos bsicos.

    Propriedade Descrio

    Index Name Nome do ndice para identificao comat 32 caracteres alfanumricos. Deveiniciar por uma letra, no deve conter

    letras invlidas como , , , comotambm caracteres reservados.

  • 5/21/2018 Dominando Progress

    67/302

    Criando & Definindo os Dados

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    67

    Description Texto descritivo ou informativo para o

    ndicePrimary Define que o ndice ser o padro

    utilizado para procuras ou ordenao databela.

    Pode haver apenas um ndice primriopara a tabela, e esse ndice tambm nopode ser excludo.

    Para excluir um ndice primrio vocdeve definir qual outro ndice serprimrio antes de efetuar a excluso.

    Active Define o ndice como Ativo ou Inativo.

    Caso o ndice esteja inativo ele no ser

    atualizado automaticamente, comotambm no poder ser utilizado parapesquisa ou ordenao.

    Unique Informa que no ser aceita duplicaode valores no ndice.

    MMCaso voc defina um campo tipoCHARACTER como case-sensitive ecrie um ndice nico para estecampo, ele aceitar valoresduplicados, ainda que no idnticos,exemplo: Maria/maria, Joao/joao,etc

    Lembre-se que o ndice nico sempre a Chave Primria (PrimaryKe ara o relacionamento entre

  • 5/21/2018 Dominando Progress

    68/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    68tabelas!

    Word Index Define um ndice para campo do tipoCHARACTER organizado por palavrascontidas em cada registro.

    Este ndice consome bastanteespaos em disco, como tambmonera bastante a performance dobanco, sendo aconselhado apenasse realmente no houver uma outrasoluo.

    Abbreviated Cria um ndice abreviado para campo tipoCHARACTER utilizando apenas algumaspalavras ou caracteres iniciais docontedo do campo.

    Ascending ou

    Desceding

    Define a ordem para um campo dentrodo ndice.

    Como padro inicial todos os campos sodefinidos como ascendentes.

  • 5/21/2018 Dominando Progress

    69/302

    Criando & Definindo os Dados

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    69

    Aparncia do Campo (View-As)

    Em Progress os campos so objetos intrnsecos,com caractersticas como tipo de visualizao, ou emoutras palavras tipo de objeto.

    Voc pode definir por exemplo que o campo lgicosexo seja uma TOGGLE-BOX para exibio e atualizao,sem necessidade de nenhuma linha de cdigo para tal.

    Depois de definido o tipo de visualizao para ocampo faa o teste com o cdigo abaixo:

    Exemplo:

    create cliente.update cliente.sexo.

  • 5/21/2018 Dominando Progress

    70/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    70Tipos disponveis: COMBO-BOX, EDITOR, SELECTION-LIST, FILL-IN, TEXT e RADIO-SET

    Sequences

    O que so Sequences?

    Um Sequence nada mais que um contador quepode ser atribudo a um campo de uma tabela, igual a

    campo tipo IDENTY SQL ANSI.Como usar um Sequence?

    Utilize um Sequence em uma Trigger CREATEutilizando uma as funes NEXT-VALUE ou CURRENT-VALUE.

    Exemplo:

    TRIGGER PROCEDURE FOR Create OF Customer.

    /* Automaticamente define um novo cdigo para o cliente*/

    ASSIGN Customer.Cust-Num = NEXT-VALUE(Next-Cust-Num).

    JJ A modelagem dos dados uma das principais etapaspara o sucesso de qualquer aplicativo. Ento faa seumodelo da melhor maneira possvel afim de evitarproblemas ou retrabalho posterior!

  • 5/21/2018 Dominando Progress

    71/302

    Criando & Definindo os Dados

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    71

    Metaschema

    O que o Metaschema?

    Metaschema ou Metadados so tabelas de tabelas,isto , so tabelas intrnsecas do prprio banco de dadosque contm as definies de tabelas, ndices, campos,views, etc, como tambm para manipulao de dados do

    prprio funcionamento do banco de dados.

    Estas tabelas esto ocultas, mas podem serconsultadas facilmente atravs do Data Administration,opo Reports, Detailed Tables e marcando a opo ShowHidden.

    O funcionamento e relacionamento destas tabelasso facilmente manipulados para qualquer tipo deconsulta ou alterao de algumas informaes.

  • 5/21/2018 Dominando Progress

    72/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    72

    Tabelas do Metaschema

    _Db Informaes do Banco de Dados

    _Field Informaes sobre campos das tabelas

    _Field-Trig Informaes sobre triggers dos campos

    _File Informaes sobre as tabelas do banco

    _File-Trig Informaes sobre os triggers das tabelas_Index Informaes sobre os ndices das tabelas

    _Index-Field Informaes sobre os campos dos ndices

    _Sequence Informaes sobre os sequences

    _User Informaes sobre os usurios do banco

    _View Informaes sobre Views

    _View-Col Informaes sobre os campos das Views

    _View-Ref Informaes sobre as tabelas das Views

    Fluxograma

  • 5/21/2018 Dominando Progress

    73/302

    Criando & Definindo os Dados

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    73

    Captulo 4

    Aprendendo a linguagem

    Desenvolvendo o cdigoO primeiro programa

    Como tradio entre os programadores o nossoprimeiro programa ser o "HELLO WORLD!", escreva otexto de cdigo mostrado abaixo, escolha o menu Compile

    e opo Run.display "Hello World!".

    Para salvar o programa em linguagem Progresschamado procedure escolha o menu File opo Save As,coloque em um diretrio de trabalho e defina um nomecom a extenso P(procedure) como padro do Progress,

    isso salvar seu cdigo.

    Como fazer a interface com o usurio?

    Em Progress a interface com usurio bastanteinterativa, ele automaticamente lhe disponibilizamensagens de tela, formatos, validaes e visualizao

    que j foram previamente estabelecidas no banco dedados, o que lhe pouca um grande trabalho comotambm torna mais fcil a padronizao de um sistema.

  • 5/21/2018 Dominando Progress

    74/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    74Voc pode fazer um programa de insero apenas

    com uma linha de cdigo, exemplo: insert customer

    (pronto esta criado um programa de insero).Conectando o banco de dados

    Aps voc j ter criado o banco de dados a conexo bastante fcil.

    Voc tm dois modos de conexo em um banco,

    Progress ou No Progress: Mono-Usurio ou Multi-Usurio.

    Iniciaremos uma conexo mono-usurio, que maissimples e ideal para testes em geral.

    No Data Administration escolha o menu Databaseopo Connect, ento ser apresentada a tela abaixo:

    Especifique o banco de dados e clique em OK.

    Caso no seja especificado o nome lgico do banco(Logical Name) ser assumido o mesmo nome do bancofsico.

    Pode-se tambm conectar um banco por cdigo noProcedure Editor, exemplo:

    Sintaxe: CONNECT db [Localizao do banco] 1 ....

  • 5/21/2018 Dominando Progress

    75/302

    Criando & Definindo os Dados

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    75connect db c:\arquivos\sports.db -1

    criando um programa para incluso

    O cdigo abaixo exemplifica um programa bastantesimples para incluso de dados em uma tabela.

    Exemplo

    repeat:insert customer with 1 columns.

    end.

    O cdigo acima cria um loop habilitando a insero,INSERT, de dados na tabela, o complemento do comandoWITH SIDE-LABELS define que o texto dos campos estoalinhados ao lado esquerdo da rea de atualizao dosmesmo, utilizando tambm o formato, informao ouajuda no rodap da janela e validao j definidos.

  • 5/21/2018 Dominando Progress

    76/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    76Note que a aparncia da tela a devida

    configurao com aspecto do Progress verso 6,

    parmetros V6Frame, V6Colon, ...

  • 5/21/2018 Dominando Progress

    77/302

    Criando & Definindo os Dados

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    77

    Aprendendo a sintaxe

    Definindo variveis

    SINTAXE

    DEFINE[[NEW [GLOBAL]] SHARED] VARIABLE varivel{{AS Tipo}|{LIKE Campo}} {[NO-UNDO]

    [BGCOLOR n] [COLUMN-LABEL Texto] [DCOLOR n][DECIMALS n] [EXTENT n] [FONT n] [FGCOLOR n][FORMAT Texto][INITIAL constante | [constante[,constante]...]}}][LABEL Texto[, Texto]...][MOUSE-POINTER expresso][[NOT] CASE-SENSITIVE] [PFCOLOR n][VIEW-AS Tipo]} [TRIGGERS]

    A definio de uma varivel no Progress vai alm daespecificao do tipo de dado. Uma varivel para oProgress uma entidade como atributos e eventos, ouseja, um Objeto(Widget).

    Na varivel possvel configurar todos os atributosde um Objeto como por exemplo LABEL, COR, FORMATO,

    VISUALIZAO, EVENTOS, etc.

  • 5/21/2018 Dominando Progress

    78/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    78

    PARMETROS

    NEW SHARED VARIABLE Varivel

    Define uma varivel a ser compartilhada entreprocedures, diretamente ou indiretamente a partir dadeclarao atual. A procedure chamada tem que nomeara mesma varivel em informando que est j estpreviamente instanciada.

    NEW GLOBAL VARIABLE Varivel

    Define uma varivel a ser compartilhada entre todasas procedures previamente executadas

    SHARED VARIABLE Varivel

    Define um varivel que foi previamente criada por

    um procedure anterior com as clusulas DEFINE NEWSHARED VARIABLE ou DEFINE NEW GLOBAL SHAREDVARIABLE [Declaraes].

    VARIABLE Varivel

    Define uma varivel cujo valor s est disponveldentro da procedure atual.

    AS Tipo

    Indica o Tipo de Varivel a ser definida. Os tipos soCHARACTER, DATE, DECIMAL, HANDLE, INTEGER,LOGICAL, MEMPTR, RAW, RECID, ROWID e WIDGET-HANDLE.

  • 5/21/2018 Dominando Progress

    79/302

    Criando & Definindo os Dados

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    79

    LIKE Campo de Dado

    Indica que a varivel a ser definida herdar todas ascaractersticas do campo original escolhido. Osatributos/valores herdados so FORMAT, LABEL, COLUMN-LABEL, INITIAL, DECIMALS, EXTENT e VIEW-AS Opo.

    NO-UNDO

    Quando um valor de uma varivel mudada

    durante uma transao e est desfeita, o Progressrestaura o seu valor anterior. Caso voc a varivel noseja definida com esta atribuio o valor no serreiniciado caso seja desfeita a transao.

    Para melhor performance use esta opo apenasquando necessrio, porque no NO-UNDO adiciona umnovo elemento a ser manipulado na transao o que

    onera mais a aplicao.

    BGCOLOR n

    Especifica a cor de fundo da varivel para umambiente grfico. Esta opo ignorada em ambientecaracter.

    [NOT] CASE-SENSITIVE

    Indica que a varivel faz distino entre Maisculase Minsculas em uma comparao que a utilize. Porpadro a varivel no distingue a caixa da letra.

    Para trocar o atributo de sensibilidade caixa dotexto use NOT CASE-SENSITIVE.

  • 5/21/2018 Dominando Progress

    80/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    80

    COLUMN-LABEL Texto

    Texto do identificao a ser exibido com a varivel.Caso voc queira usar mais de uma linha na exibiodeste use uma exclamao (!) antes do texto a serexibido na linha inferior.

    define variable nome as charactercolumn-label "Nome do!Cliente".

    update nome.

    DCOLOR n

    Especifica a cor dos caracteres da varivel para umambiente grfico. Esta opo ignorada em ambientecaracter.

    DECIMALS n

    Especifica o nmero de casas decimais de 0 a 10para uma varivel do tipo decimal. Como padro oProgress atribui automaticamente 10 casas decimais seesta declarao for omitida.

    EXTENT n

    Declara uma varivel com um Array e define o seu

    tamanho no limite de 28000 elementos. Para remover oatributo de Array de uma varivel defina seu tamanhocomo 0.

    FGCOLOR n

    Especifica a cor de fundo da varivel para umambiente grfico. Esta opo ignorada em ambiente

    caracter.

  • 5/21/2018 Dominando Progress

    81/302

    Criando & Definindo os Dados

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    81

    FONT n

    Especifica a fonte de apresentao da varivel.

    FORMAT Expresso

    Especifica o formato para a aprensentao e uso davarivel.

    INITIAL Expresso

    Especifica o valor inicial de uma varivel. No podeser atribudo o valor de uma funo ou constanteProgress.

    LABEL Texto

    Define o texto de exibio da varivel. Use & para

    sublinhar a letra usada na tecla de acelerao utilizadapelo MS-Windows(ALT Letra). Se necessrio utilizar um &literalmente no texto de exibio use && para inclui-lo.

    MOUSE-POINTER Expresso

    Especifica o ponteiro do mouse padro usado naatualizao ou exibio da varivel.

    PFCOLOR n

    Especifica a cor da varivel na atualizao pordeclarao PROMPT-FOR. Esta opo ignorada eminterfaces grficas.

    VIEW-AS Expresso

    Define o tipo de visualizao ou objeto da varivel.

  • 5/21/2018 Dominando Progress

    82/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    82

    TRIGGER

    Define os eventos utilizados na atualizao davarivel.

    define variable nome as charactertriggers:

    on return message 'Fim da atualizacao'view-as alert-box.

    end.update nome.

    Exemplo

    /* ex0031.p */

    define variable dia as integer format "9" initial 1triggers:

    on entry message 'Escolha as datas'.end.

    define variable ano as integer format "9999" initial 2000.define variable ndias as character format "x(12)"extent 7 initial ['Domingo','Segunda','Terca',

    'Quarta','Quinta','Sexta','Sabado'].

    define variable mes as character format "x(12)"view-as combo-box list-items

    'Janeiro', 'Fevereiro', 'Marco','Abril', 'Maio', 'Junho',

    'Julho', 'Agosto', 'Setembro','Outubro', 'Novembro', 'Dezembro'mouse-pointer 'glove' no-undo initial 'Novembro'.

    update diaanomes.

  • 5/21/2018 Dominando Progress

    83/302

    Criando & Definindo os Dados

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    83

    View-As

    Define o tipo do objeto da varivel mostrada natela.

    SINTAXE

    VIEW-AS{Combo-Box|Editor|{FILL-IN [NATIVE] [Tamanho]}|Radio-Set|

    Selection-List|Slider|{TEXT [Tamanho]}|{TOGGLE-BOX [Tamanho]}} [Tooltip Texto]

    PARMETROS

    COMBO-BOX

    Especifica que um campo ou varivel serapresentada como um Combo-Box. Pode conter valorestipo Caracter, Inteiro, Decimal, Lgico e Data.

    EDITOR

    Visualizao tipo Editor de Texto para um campo ouvarivel. Suporta funes de Copia, Colar, Deletar,

    Quebra de Palavras, Auto-Identao, Barras de Rolagem,Sub-Menu, etc.

    FILL

    Caixa de Texto para valores de qualquer tipo. otipo de visualizao/objeto padro para atualizao de umcampo ou varivel no Progress.

  • 5/21/2018 Dominando Progress

    84/302

  • 5/21/2018 Dominando Progress

    85/302

    Criando & Definindo os Dados

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    85initial 'Maio'.

    define variable salvar as logical label 'Salva Informacao'

    view-as toggle-box initial yes format "Sim/Nao".

    define variable dia as characterview-as selection-listinner-lines 7 inner-chars 12list-items 'Domingo','Segunda','Terca','Quarta',

    'Quinta','Sexta','Sabado'initial 'Terca'.

    define variable ano as integer

    view-as radio-setradio-buttons "1998", 1998, "1999", 1999.

    form textomesesdiaanosalvarwith frame f-editor

    title "Edicao de Texto"

    row 2 centered overlayview-as dialog-boxside-labels.

    assign input frame f-editor texto:tooltip = 'Edite seu texto'input frame f-editor meses:tooltip = 'Escolha um mes'input frame f-editor dia:tooltip = 'Escolha um dia'input frame f-editor ano:tooltip = 'Escolha um ano'input frame f-editor salvar:tooltip = 'Salva informacao'.

    update textomesesdiaanosalvarwith frame f-editor.

    message "Voce escolheu..." skip(1)"Dia:" dia:screen-value skip"Mes:" meses:screen-value skip"Ano:" ano skip"Salvar:" salvar skip"Observacao:" textoview-as alert-box.

  • 5/21/2018 Dominando Progress

    86/302

    Dominando o Progress

    Escrito por Mrcio Brener - http:/ / www.geocities.com/ marcio-brener

    86

    Definindo Frames

    SINTAXEDEFINE [[NEW] SHARED] FRAME Nome do Frame

    [Item1, Item2, Item n, ...][{HEADER|BACKGROUND} Item1, Item2, Item n, .